People are not generally answering interview questions based on instinct, but rather based on what they think the interviewer wants to hear to get the job. I would have interpreted this is as a leetcode style algo question and started by treating it as such, even though IRL my first instinct would be "get a lib that does it". Awful, awful strategy.
It appears that either answer would be accepted, and so I'm fine with it. If it really is there is one correct answer then I'm against this. This feels like a problem where a good enough solution can be done in the time of an interview if you do it by hand (though if anyone knows about dates they will expect there is a lifetime of fixing special cases left if you don't use the library)
I prefer fizz-buzz as a question because it is obvious there isn't a library. It is also a problem you should be able to do in an interview. It has enough weirdness that there is no best answer, despite having several workable paths you could try.
I mean, any answer is "accepted" in the sense that the whole point is to let me see how you think about solving simple problems. What has been distressing is seeing the number of applicants who can't even try, when it's the trying I want to see.
It is shocking how often there is one acceptable correct answer and they don't care about the approach to solving problems only the score in a pass fail way.
I'm not saying LLMs will replace software developers, but this is such a ridiculous analogy that it hints to me that you've never seriously tried the latest tools.
It's ridiculous because LLMs are far more capable. There was just a thread on HN the other day where multiple people shared experiences being able to decrypt, reverse engineer, and update the firmware of some long forgotten embedded device with zero background in the field using LLM coding tools. And you're comparing that to a preset generator.
I did this with my aftermarket Quest 3 headset strap. Added a few counterweights to the back to keep it from sliding down on my face. It is indeed much more comfortable.
Why? Because its better to message multiple government officials, rather than betting on a single one. MPs also have a different role than government ministers do.
As someone who actually wrote primitive websites by hand in those days, the pages these produce are FAR more elaborate than your average webpage in those days. And divs/css? Should be using tables or gasp, iframes. This feels more like a vaporwave style re-imagining of what things were like than the real deal.
I think the thing these "old internet revivals" miss is sites looked the way they did because they were outsider-art. I don't think they have to reuse precisely the same layout tools, but non-developers butting heads with those tools was a big factor in why personal sites looked that way. The whole look of "old internet" is a modern concept that's a bit flanderized [0] now.
Nothing wrong with nostalgia, but I agree with you that the wrong things are being equated here. A tool that just quickly generates a visually-similar site to that somewhat-imagined "old internet look" isn't really the same. If you emulated a similar amount of friction to those old site with modern tooling, you'd end up with an actual spiritual successor to those geocities sites. (NeoCities [1] is a great example, a lot of personal sites on there are not targeting 90s-2000s nostalgia even if that's an obvious aesthetic direction to go for something called "NeoCities")
Absolutely. I also hand-edited HTML (and XHTML and CGI scripts and Java applets) back in those days and the majority of web pages were no more than a few hundred lines of code long. Regular notepad.exe was absolutely fine at home, and I did a lot of editing server-side in vi. It was a simpler time....
The technology limitations is really what is missing. Most personal pages had zero CSS and CSS itself was extremely primitive. JS was even more rare and minimal. Most pages used font tags and table layout, this was far before semantic web. Most people stuck to the “web safe” 256 colors which is why the color schemes were so distinctive, and even then, most sites used the “named” browser colors like “red” or “green” rather than hex colors. Horizontal rules dominated the land unless you were in-the-know about invisible pixel gifs for layout, always abusing tables. Most importantly it you didn’t target internet explorer 6 at the most (and stuck a little banner “best viewed on X” then it wasn’t a very deep site anyways!
Bonus points for side navigation bars that were an iframe so you didn’t have to copy paste the same sidebar code across your multiple pages.
I wanted to upgrade to the new Paperwhite. Went through three of them with permanently lit pixels right in the middle of the screen until I gave up. Seems the quality control on these e-ink screens is really slipping. Meanwhile all the competitors are either selling the same old hardware from years ago, an Android tablet with an e-ink screen strapped to it, or color models that just have worse text rendering. My 2013 Paperwhite keeps soldiering on.
I've found two personal use cases for LLM generated code:
(1) I have an idea for some app, but either I feel it won't be useful enough/save me enough time to justify developing it, or I simply don't feel the problem is interesting enough to be motivated by it. In that case, a vibe coded tool is perfect. It generally does one simple thing, and I don't care about long term maintenance, because it just needs to keep doing that thing.
(2) Adding a feature to an open source project. Again, it's a case of "I want this feature, but am not willing to spend the time needed to implement it." Even a relatively simple open source project can take a day or two just to get a basic understanding of the code and where I need to make the changes. Now I can often just get a functioning vibe-coded implementation within a few hours.
(2) leaves me with some unsettling feelings about how this will affect the future of open source software. Some of the features I've implemented this way may very well be useful to other users, but I can't in good conscience just dump a vibe coded pull request on a project and except them to do the work of vetting it. But if I didn't have the energy to implement the change myself, I'm definitely not going to bother doing the work of going through all the LLM generated code, cleaning it up to the standards of the project, etc. Whereas before I didn't have a choice, and the idea of getting the change ready for a PR was much less daunting since I understood the problem space and solution well.
So at least for myself, I can see a future where many of the apps I use are bespoke forks of popular applications. Extrapolate that to many, many people and an interesting landscape emerges.
reply