This tweet summarizes my experience with AI and gives the transition from assembly to C as a concrete example of software engineers’ decades-long embrace of the Jevons Paradox.
When I was writing Unreal Engine 1, my time was divided as follows:

- Around 30% went to seriously deep coding on hard problems: assembly language texture mappers, C++ BSP trees, data persistence, object oriented systems design, and networking.

- Around 70% was just typing and refactoring large bodies of code needed for a complete engine feature set. This was not hard, and while I was doing it my mind was mostly on the deeper coding topics, thinking and planning for what's next. It didn't feel much different from vibe coding today, except that it was just me typing code on an IBM Model M keyboard rather than prompting it and reviewing the results.

So, it has always seemed perfectly logical that we would rely on AI for that 70%, once the AI could do it with a similar quality standard as we could, which has never been perfection. It came as no surprise that, after a few years of AI model evolution, it was able to take the reigns on that 70% and free up programmers' time for more valuable tasks.

What's more of a surprise is the emergence of AI as a sort of insta-Carmack able to solve hard technical problems quite cleverly and often cleanly, and that it's able to reason about and work in complex 3D scenes both by operating the tools and by directly understanding the raw data files.

I abandoned assembly language in 1998 when out-of-order CPUs made much simpler C/C++ code faster, and never I missed it. If prompting through architectural documents, concept art, and design plans can transcend typing code and tweaking vertices, that will enable developers to spend their time on higher-level, higher value technical and creative tasks.

What matters is the end product, whether it's a game or an engine. Anything developers can do to try out more ideas and make better software and games faster is a win for everyone.
2
0
38
2,441
Replying to @CUDAHandbook
After C (“portable asm”) came Python, Visual BASIC, Java, HTML, DSLs like SQL.. too many layered abstractions to count, enabling new types of software to be built.
1
0
0
255
And he did it with two different quarterbacks
You can intentionally double cover him and it won’t work

You can try and vise his whole side of the field and it won’t work

You can try single covering him with your best guy and it definitely won’t work

He’s the best in the world the stats show it and the film shows it
0
0
0
712
I have a few more articles on Covert Caches lined up, but won’t be posting one today. Hardware prefetchers, memory renaming, snoop filters, and fast string instructions still in the queue. I may add the reorder buffer as an honorable mention, for more context on memory renaming.
0
1
18
983
Covert Caches: The Way Predictor Edition has been posted.

This AMD-specific (we think) cache optimization gave me a pretext to do a deeper examination of how caches work.
1
2
23
3,577
Covert Caches: The Micro-Op Edition

Modern x86 CPUs have instruction caches for their instruction caches, an innovation that we can trace (dyswidt) back to the Pentium 4.
1
2
15
1,397
Covert Caches: Stack Engine Edition has been published.

One of the most central data structures in computing, the stack warrants several microarchitectural optimizations. Link in reply
1
0
11
974
Appreciate the review. Fixes have been posted to truesum: CMake referenced a bench source that lived only on a branch I'd pushed and retired.

add_executable on a missing file is a configure error — so nothing ran. Not the library, not ctest.

Fixed, plus CI builds benches ON.
@CUDAHandbookrall grade: A.
Structure A | Security A | Testing A | Deploy B | Quality A
Exact-summation C++17 library with an optional CUDA twin, zero package deps, and property tests for rounding, order, and threading. One note: CMakeLists.txt:90 still builds missing bench/bench_kernels.cpp with benches ON by default, and no CI gates ctest yet.
0
0
0
767
Covert Caches: Store Buffer Edition has been posted.

The store buffer has been on the x86 platform since the Pentium Pro (c. 1995). Link to the article in the reply.
1
0
7
692
Covert Caches: Return Stack Buffer Edition has been posted. This hardware feature was introduced in the Pentium Pro (c. 1995).
1
3
9
1,025
Covert Caches: BTB Edition has been posted. The Branch Target Buffer works to ensure that instructions are fetched from the correct memory locations, wherever control flow may take the program.
1
1
9
931
With Claude’s help, I vibe coded a library that sums matrices elementwise with no rounding error. It has scalar, AVX-512, and CUDA versions. Very pleased with the outcome. It is posted at github.com/ArchaeaSoftwar…
@EliasDaler I used to be aggressively anti-AI (for coding; I think the discussions of AI art and writing are another matter and I'm *still* not a fan there, also not a fan of "AI to cheat on homework or avoid learning the skills"). I saw some early cases where people mashed together two ...
1
0
19
2,278
Covert Caches: TLB edition examines translation lookaside buffers, table-stakes hardware that makes virtual addressing feasible. 32-bit virtual addressing was first added in the 80386 (c. 1986). Link in reply.
1
1
13
827