This is a rewriting of history that I don't really like. Back before LLMs and before that again, it was very hard to write code. That's why so many people asked questions and figuring out how to write a piece of code was a big part of the value add of a programmer. It separated the ones who knew their stuff from the ones who didn't. Yeah sure software design was also important but it was less important than the actual writing of the code, which is why a lot of old code had bad designs. It took decades to figure that stuff out.
> Back before LLMs and before that again, it was very hard to write code. That's why so many people asked questions and figuring out how to write a piece of code was a big part of the value add
This may be true if you work in unfamiliar area or on frontier of programming. But this is not were most of programmer jobs are. That writing code itself is hard is a view of non-programmer. Programmers know that past some threshold of familiarity designing and weighting decisions becomes central problem.
Sure it may be that way now. But if you go back 20 years to for example video game programming, the hard part was figuring out how to solve the problem, not spend weeks or months trying to figure out the abstract design of the code itself. 10-20 years ago a lot of the value of programming was figuring out how to do something, which is by its nature about writing the code, I would argue.
Edit: Also, even outside of video games, I don't remember people being obsessed about software design 10-20 years ago the way they are now. You had some design principles of course and there were obviously bad or redundant ways of doing things, but it's on a whole other level the past 5 years at least from what I remember.
10 years ago was the peak of DDD and Context Mapping, 20 years ago was when The Wiki ruled and everyone was obsessed with design patterns, 30 years ago was UML and Object Mapping... and on, and on, and on.
Fashions change, but one of the few constants in our industry is that everyone has always been obsessed with software design.
It depends on what you mean by alignment. If you mean the sense it's used now, meaning bias in models, security and safety for users and so on, then that's a way more mundane version of alignment than what Yudkowsky and ilk promoted. They are talking about a superintelligent being possibly destroying humanity / the earth. And it wasn't that hard to predict. We have many examples of more technological / "advanced" people ruling or extinguishing weaker people. So a superintelligent AI being a threat is not a huge leap.
IMO they have been consistently too aggressive on timelines. When GPT-4 came out, Yudkowsky said it might be conscious. I think he has written interesting stuff but let's be real
> When GPT-4 came out, Yudkowsky said it might be conscious. I think he has written interesting stuff but let's be real
I don't expect GPT-4 to be conscious, it would be quite remarkable if we've stumbled upon whatever evolution did that made us conscious.
But how would you even tell, given we don't know the mechanism or physical process that un-thinking and un-planning natural selection happened to stumble upon to give it to us?
Sure, we can't tell, but that's a really bad argument to make the claim that it _is_ conscious. I just have a really hard time believing that a transformer can be conscious, but yes I can't prove it.
You should read the whole thing. At the end he switches the argument on to himself and says that one should always ask questions, put the ego away and try to get better. He already made the point you made.
And yet, a statement is a position, and this blog is stating his case, which is an argument for truth.
So he's still arguing, yet not listening, as it's all one sided now. This isn't actually that unusual, books, newspapers, and more often do one way communication.
But as soon as you state a position, you're arguing it.
> as soon as you state a position, you’re arguing it.
That’s true, but is that the meaning of argue that the author was referring to? Do you see a difference between arguing for something (making a case) and arguing with someone (contradicting them and saying they’re wrong)?
By your logic no one should ever talk in meetings or write blog posts or comments (like yours) - stating any case about anything constitutes "not listening." Bollocks. A good listener spends a lot of time listening, but can spend some time talking.
Everything you speak, utter, or do is an output your self-centric view of the world. By uttering anything, you are describing yourself in relation to the world.
Your very existence is an argument against chaos. Your very individuality is an argument against other individualities.
By simply existing, you argue your conscious view of the world.
Even silence in response to a comment, statement, or idea espoused around you is in itself an argument.
Waking up in the morning is an argument.
These are all arguments, in that you believe these are the right things to do. You are taking a position merely by moving your arm because you believe that is the thing that you should do.
Every conscious thought you have is an argument, that said thought is correct.
Even your assertion that someone is not arguing, is an argument.
Not arguing is an argument, for it is a position against arguing the point.
The universe is defined by order. Order is defined by conscious determination. Conscious determination is an argument for something being correct.
Our very existence, spewing from the quantum foam, is the result of us having a conscious and argumentative determination that we exist. Cease to argue, and you may merely dissipate into individual atoms!
Personally I dislike all of these new formats. Shame that most big sites use either avif or webp. When I save these images to disk I always convert to png because storage isn't an issue and bandwidth isn't an issue. Oh well...
> storage isn't an issue and bandwidth isn't an issue. Oh well...
Right; the issue is compatibility. But that doesn't get solved if we collectively stick to the past and only use old formats like gif and jpeg. Compatibility gets fixed by using a format, and then complaining to software developers when their software isn't compatible with our workflows. Eventually compatibility improves, and we get our cake and eat it too. Better storage and bandwidth use. And compatibility across all our software.
Depending on how complex the code is, you don't need that big prompt with ChatGPT.
I have sped up a project by simply saying "What are all the possible ways I can speed up this code?" Then it'll list everything it finds, then ask it to rewrite the code.
Edit: Also, I find I didn't need to do this (because a speed up implies semantic similarity), but you can also add "change it without altering the semantics of the code" and in this way it'll be the same and should pass tests
I can actually understand this view even if I don't agree with it in the same way.
I tried to use ChatGPT to edit and modify real photos I took, and it can do a good job changing the image in a photo realistic way, but at the same time, the images lack the "entropy" and "real lifeness" of the real photographs. The AI sort of flattens the images so that they look kind of cheap. It's almost imperceptible but it's there.
I also have seen some product sites like walmart use AI images for products, and whenever I see such an image my brain kind of rejects it and doesn't want to look at it. Not sure what that's about.
All of that being said, AI has created things on my behalf that I find valuable. Whether it's code or images or text. So it's not all bad, but it's just a very strange place where I'm not sure how I feel about it.
That is a specific implementation of image models, not true for all image models. For example Civitai has a lot of realistic models that look like people took them, at least on first glance, as I'm sure with enough pixel peeping you can find discrepancies, point is the "flatness" look is with that specific ChatGPT model.
Magical editing of pictures is so wild to me. Most photos people take have a longterm have an audience of basically 1. That's why there's jokes about how awful it is when a coworker corners you to show you their vacation photos, the vast majority of photos taken by the average person are only ever going to be viewed again by the person taking it (and maybe their immediate family).
Memory is already this squishy thing and then when you go back to reminisce about {meaningful event} and go pull up your edited photos, what are you even looking at? Google used to play these ads constantly of editing stuff out, changing how the sky looks, etc.
It's present day you effectively gaslighting future you. What's the point of memorializing something and then immediately destroying the truth of what happened with a bunch of edits.
Maybe that's the goal. That picture you took last week with a Wendy's on the backdrop - was it a Wendy's or a McD's? Let me check. Oh, it was actually a Subway. By the way, did you know Subway has two new exciting foot-long offers?
Reality doesn't matter. If it gets in the way of money and or ads, we can just change it!
To me AI is a really strange technology. When it works it works very well, but at the same time it can't be trusted because of hallucinations. I still get hallucinations just as I did 2 years ago. Nothing has changed. Some part of me feels like it should be shut down for that alone so that it doesn't spread misinformation all over the place.
I also think most of what AI generates is slop and nowhere near the quality of a human creation. Maybe that will change, maybe not. In the end I'm not sure how I feel about it. I don't use it that often, maybe a few times a week.
I don't use much AI, but we have an AI agent that reviews all of our PRs at work.
It's pretty good, I actually like it because it's very thorough and catches real things.
On a recent PR though it very confidently pointed out an "error" and suggested a "fix." Now I authored this code by hand and the "error" was it going "this one doesn't look like all the other ones" and I'm a relatively consistent person so it's not the kind of mistake I would make, which means I probably put thought in and the difference was intentional.
I looked at it's suggestion carefully and my original code was correct, the "fix" would have broken the logic. Not a huge deal all things said.
But I'm looking back at it's original report, it's comprehensive, confident, and ends with "Reply 'fix this for me' and I will fix it" and it made me think about more junior engineers.
I double checked it because I had written the code by hand, I understood the context, I also have enough experience to know that if I wrote this one function differently there was probably a good reason. But if I were earlier in my career, with less experience, would I have just clicked the easy button?
Probably. Especially if everyday I'm clicking the easy button.
Highway engineers used to think it was a good idea to make highways as straight as possible, people going in a straight line is easiest right? They realized that if you didn't put some curves in the road that people would just disengage and a perfect straight "easy" highway was much more dangerous than one with curves. I feel like AI is an "easy" highway
That is indeed the problem. And when you have to meticulously check everything that the LLM does (because you can't know where the hallucinations will be), it completely destroys any productivity benefits you would gain from having it write the code in the first place. Thus you wind up going no faster (if not slower) than you did in the first place. The only way to go super fast (the way some people claim they are) is to discard quality.
As has been pointed out over and over: the time consuming part of programming was never typing code into the computer, it was understanding the problem and the logic behind the code. Using an LLM only addresses the fast and easy part of programming, not the hard parts.
It is called 'jagged intelligence'. A lot progress was made in the last 2 years. Most notably reasoning models, tools use, harness progress. It takes time to build the skill to make those models useful, but they do provide a lot of value.
Ah yeah jagged intelligence is the perfect phrase for it. I do also get some value from them, both in coding and in images. I find it the least usable for information primarily because of the hallucination problem. I still do use it for that purpose but it's kind of annoying when it writes something that's wrong, and I find it out from a Google search later.
You are cooking them wrong. You absolutely must ask the model to do grounding work — search online, search in your files, cross-check with different agents. They are universal reasoning engines, not a fact recalling tool.
Check my 'deep research' skill, you will get the idea
I also have the same feeling about media since around 2015. The prime example being Alien: Earth, which people will argue has immeasurable depth and nuance while when I watched it I just facepalmed a lot. Although it did get better in later episodes.
I feel like no media today has really topped the stuff of the 90s and 00s. Star Trek Voyager season 5 still stands tall above the rest for me. The movie September 5 came close as it had interesting bits.
But besides that, there is a generational thing going on. I felt when I grew up online in the 90s and 00s that people who were older than me were smarter than my generation. My generation watched movies and played games while gen x and baby boomers did hardcore assembly programming and whatever.
And then the same thing happened with millenials and gen z. Gen z is just different from millenials which again are different from baby boomers. Each generation progressively gets less technical it seems like. There are always outliers in every generation of course but I think the trajectory is somewhat clear.
I also think this applies to movies and tv shows. Gen z just thinks differently and doesn't have the same ideas. I don't think a gen z'er could create Voyager season 5, and maybe not even a millenial could. There is so much information and knowledge and perception in the context a generation is born into and grows up in and a lot of that context and information is lost with the next generation.
I want to point out that one of those writers also wrote For All Mankind. Maybe Gen-X never expected to be culturally relevant, so our critical thinking actually got put to good use.
I think you hit on a key note about learning when they're wrong, and I think that's one of the biggest issues with social media and modern debate - namely that being wrong in public is incredibly painful and can often destroy a reputation. But then people realized there are groups who agree with them even when they're wrong, so the most important thing is to cater to them and never agree that you're wrong in public, and some percentage of people will go along with your argument.
I think never believing fully in your own ideas and always being able to admit you're wrong and always questioning is almost a super power that I wish we valued more.
Reading this comment and other similar comments there's definitely a difference between people.
Personally I agree and resonate a lot with the blog post, and I've always found designs of my programs to come sort of naturally. Usually the hard problems are the technical problems and then the design is figured out based on what's needed to control the program. I never had to think that hard about design.
Aptitude testing centers like Johnson O'Connor have tests for that. There are (relatively) huge differences between different people's thinking and problem solving styles. For some, creating an efficient process feels natural, while others need stability and redundancy. Programmers are by and large the latter.