I just watched some of TV interviews with the family and saw the rest of his work, and it's pretty amazing. Check out Invaders in 512 bytes [1][2], or Aardvark game for the Atari 2600 ([3]).
Also seems he has just self-published a book (as of July 27):
Do you would like more details on the inner workings? This program is fully commented in my new book Programming Boot Sector Games and you'll also find a 8086/8088 crash course! Now available from Lulu [4]
This might interest me as someone whose job is the absolute other end of the spectrum, in databases and HLLs. Reason is that I'm concerned with CPU performance and that largely depends on caches (after you've done any algorithmic improvements).
The unqualified claim - may I say lie - that CPU time is cheaper than programmer time was never true and never will be[0] because it depends, it depends on the economics, and a surprising amount of my time has been taken up optimising for speed on multicore modern CPUs. Exactly what other people say isn't worth doing, right up until it is - and it often is.
Optimising for speed often means optimising for caches, and that means optimising for size[1], so I'm going to dive into this guy's stuff.
[0] and I'd ask people to stop repeating it unless the larger context is accounted for.
[1] and cache-friendly access patterns; another issue.
I smile on reading this. I spent well over a decade hand-optimising SQL to do things like shaving a millisecond off a query, or helping (a little) to maintain a proprietary application server in C because it runs so fast we barely needed any servers to support one of the busiest web systems in the world. When you stack up the hardware and electricity costs and general bureaucracy costs of running hundreds of servers day in day out, then these economies do make sense.
As Jeff Atwood famously puts it "performance is a feature", so as any with feature, wether you should invest in it depends on the project and the needs. Sometimes it's worth your time sometimes it's not, only your specs can tell.
I keep telling people that being able to do something in one millisecond is a lot less powerful than being able to do it in one microsecond, especially in a world with Hypothesis and afl-fuzz. There's no such thing as “fast enough.”
I'll be surprised if you learn new things about cache-oblivious algorithm design from BootOS, though.
> Also seems he has just self-published a book (as of July 27):
> Do you would like more details on the inner workings? This program is fully commented in my new book Programming Boot Sector Games and you'll also find a 8086/8088 crash course!
I created one such game [1] a few years ago and had plenty of fun. I'm pretty shocked to see an actual book published specifically about this niche topic. I haven't read it, but I hope it gets some recognition, because IMO toying with 8086 is one of the best ways to get into bare-metal coding.
I just watched some of TV interviews with the family and saw the rest of his work, and it's pretty amazing. Check out Invaders in 512 bytes [1][2], or Aardvark game for the Atari 2600 ([3]).
Also seems he has just self-published a book (as of July 27):
Do you would like more details on the inner workings? This program is fully commented in my new book Programming Boot Sector Games and you'll also find a 8086/8088 crash course! Now available from Lulu [4]
[1] https://github.com/nanochess/Invaders
[2] https://www.youtube.com/watch?v=pC976eejfms
[3] https://www.youtube.com/watch?v=HNZfw6jShng
[4] http://www.lulu.com/shop/oscar-toledo-gutierrez/programming-...