In the before times we had to VPN into machines and run large data processing jobs that took hours. It was pretty normal for everyone to leave their laptop half-open on their desks during lunch.
No, it was not a good idea. Yes, we fucked with each other and changed people's backgrounds or chat usernames or email signatures.
Anyways, if you're on Mac you can run caffeinate -i claude and your computer won't go to sleep until you close your Claude Code instance. You can also attach it to a PID. Then you can close your computer's lid and it'll still run.
Djikstra was so fucking wrong with this and people who parrot this are so annoying.
Sure, an offset starts at zero, but an index can very well start at one. Not all arrays represent a physical offset, please stop pretending your inferior zero only indexing is in any way superior.
Sometimes math is just simpler from one. When you’re translating math to code, one based indexes are usually better.
Anyone who would decide to do this is evil. Like, orphan crushing machine evil.
If Microsoft wants to build that excess capacity, that would be reasonable. If Microsoft wanted to finance that excess capacity so Kenya could build it, that would also be reasonable. This is fucked up.
I liked your article, personally I like seeing authors able to see discussion of their work too, so in my opinion self promotion here is good.
I do think we are trying things with software now that were impossible before, which also plays a role. But then again, RollerCoaster Tycoon 2 is basically a perfect game, and it's written in incredibly performant assembly code, so we should still ask for more if RCT2 can show us near perfection years ago.
I mean, zig is a better C, not a better C++. Rust tries to be a better C++. I really like C, and I like zig. I don't like C++ and I don't like Rust.
That being said, I do agree, zig changes a lot, and if you're doing LLM generated code, yes, that sucks.
However:
With coding agents allowing 100x more code to be written, this also means you need to scrutinize 100x more Zig code for memory issues. Without formal verification, the surface area of the search space to enumerate to find bugs is just so much larger now.
The issue is you should be being careful about how you allocate. You should be doing that as little as possible. You should be using the standard library collections which are well tested. Some stuff is just plain ugly, like when you need to do some string manipulation and now you have to decide where you want to allocate. But largely... it's not so bad if you are actually considering your API and deciding what are call site concerns and what are API concerns.
Seriously, back to Stroustrup, who has written far more and better code than me:
Think about resources in general, rather than simply about memory.
If systematic application of these techniques is not possible in your environment (you have to use code from elsewhere, part of your program was written by Neanderthals, etc.), be sure to use a memory leak detector as part of your standard development procedure, or plug in a garbage collector.
The problem is you're throwing this into LLMs, which are trained on codebases that do not make their opinions or assumptions explicit, are largely crap (see Sturgeons Law), and are largely from other programming languages. Of course it sucks at zig. That's not zig'z fault. That's your LLM sucking ass.
If you give up your LLM or use it sparingly, you get a vastly different experience. And if you use your LLM in a codebase that's already good, it will pick up your good conventions and continue them.
You’d think mythos would have doing this by now!!!