Remix.run Logo
LatencyKills 7 hours ago

I wouldn't take that as criticism; you are 100% correct. But that instability was a direct result of the issues I mentioned above: the ring transition protection/implementation was absolutely horrible; 3rd-party developers would discover a useful function in NTDLL and start using it in unintended ways, etc.

Do you remember the CSRSS Backspace Bug? [0]

A simple: printf("hung up\t\t\b\b\b\b\b\b"); from ring-3 would result in a BSOD. That was a pretty major embarrassment.

After retiring, I started volunteering my time to mentor CS students at two local universities. I work with juniors and seniors who have no idea what "heap memory" is because, for the most part, they don't need to know. For many developers, the web browser is the "operating system".

I absolutely love using Python because I don't have to worry about the details that were major issues back in the 90s. But, at the same time, when I run into an issue, I fully understand what the operating system is doing and can still debug it down to assembly if need be.

[0]: https://jdebp.uk/FGA/csrss-backspace-bug.html

miki123211 5 hours ago | parent [-]

I can't imagine how much of a breath of fresh air Python / Java must have been if you were used to write typical business crud apps (and server software) in C/C++ (with no sanitizers / modern tooling to speak of).

layer8 4 hours ago | parent | next [-]

It wasn’t. Java was very different from its current state before roughly Java 5. It felt like a downgrade from C++ to me at the time. C++ had templates and RAII and smart pointers, all of which Java lacked (and in some respects still lacks today). Not having something like the C preprocessor was quite annoying. Java performance wasn’t great. Tooling was better in some ways, worse in others. Linters did exist in C/C++, as did debug versions of libraries. You could load a crash dump into a debugger and could often get a pretty good picture of what went wrong. While Java certainly became preferable for business code, it wasn’t a sudden breath of fresh air, it was trade-offs that gradually became more favorable to it over the years.

LatencyKills 4 hours ago | parent | prev [-]

I used to joke that using something like Python or C# felt like "programming with oven mitts". I never felt like I had any control. But that eventually morphed into "Well, I don't need that control and can focus on other things."

I spent the last few months building a toy LLM from scratch. I can't believe that within my lifetime I've gone from using punch cards to arguing with Claude when it does something ridiculous.

taeric 40 minutes ago | parent [-]

The oven mitts metaphor probably works really well, if you shift it into metal working. Yes, it takes getting used to wearing heavy gloves when working. No, you don't want to skip out on them.

Edit: Honestly, any job where gloves are standard works. Gardening. Sailing. Many sports.