Ill-Advised C++ Rant, Part 2
I don't understand the C++ committee. Every few years they manage to pull together enough collective competence to propose some new features, and yet we end up with things like a network I/O library, a...
View ArticleThe Secret Button
There's a secret button hidden in Windows 7. At least, it's a secret to some people. Many modern users won't know about it, whereas some like me have used it every day for over 25 years. I use Windows...
View ArticleThe Elegance of Deflate
A little while back I found need of a PNG loader for a small project of mine. Being a complete tool I of course decided to write my own -- after all, why save yourself effort when there are still...
View ArticleThe Multi-Project Programmer
Every now and again I see this odd little pattern pop up. You'll be using some software, some big-name famous thing perhaps, and you'll happen across an article on-line where you discover it was...
View ArticleThe Metaprogrammer
There are some topics which, if posted onto a forum or news site, cause programmers to spew out more blather than all the rest put together. Such topics include: What kind of office chair you should...
View ArticleLearning To Wrangle Half-Floats
You all know what floating-point arithmetic is, so I won't bore you by covering that. The IEEE standard originally defined two variants, the 32-bit single-precision format and the 64-bit...
View ArticleDebunking Euclideon's Unlimited Detail Tech
Uh oh. They're at it again. Yes folks, Euclideon are back with more of their smarmy-voice-over-without-any-detail brand of hype. They call it "Unlimited Detail", but what they don't do is explain how...
View ArticleUntonemapping, and other stupid tricks
I've been meaning to write something about this for years but never got around to it. I don't claim there's any great use for this stuff; it's just one of those little oddities us graphics programmers...
View ArticleThe Challenge Of Making Things
What would you do if you could do anything? If you were all-powerful, and could create anything just by waving your hands around? The answer is, nothing. You could create anything you want right now....
View ArticleThe Illusion Of Controls
Some things are just plain hard to use. There's a lot of things you have to learn before you can use it effectively, there's big manuals you have to read, there's gotchas you need to be aware of...
View ArticleBeating The Compiler
An oft-repeated fact on programming forums these days is that a decent optimizing compiler will always beat a puny human's attempt at hand-written assembler. There are rare cases, like MPEG decoders,...
View ArticleLearning Via Bullshit
There's two ways to learn about something. One is to go in through the front door; you read the tutorial, you follow the instructions, and you progress forward through it. But the trouble with that...
View ArticleConverging Towards Disneyland
Warning Contains (very minor) spoilers for The Witness. Jonathan Blow's 2016 game The Witness received high praise from most reviewers. Personally, I loved the island and the environmental puzzles,...
View ArticleDisassembling Jak & Daxter
Disclaimer I don't work at Naughty Dog, and I don't have any secret knowledge of Jak & Daxter, except what I figured out myself from the disc. So a lot of this may well be wrong. Take a pinch of...
View ArticleThe Danger Of Opinions
Disclaimer Warning: this post may contain opinions. If you are allergic to opinions, please try the associated reddit thread instead where you will be safe from them. There's two schools of thought...
View ArticleWhy Command And Vector Processors Rock
I had a Commodore Amiga as a kid. I'm told they were never especially popular in America, but in Europe they were everywhere. Well, sucks to be them I guess. Image (c) Bill Bertram 2006, CC-BY-2.5 The...
View ArticleLittle Lightmap Tricks
Just a quick post today to write down some lightmap lessons I've learned over the years, inspired by Ignacio Castaño's post on his iOS optimizations for The Witness. Many years ago I helped a little on...
View ArticleSomething Rotten In The Core
There's a key thought of UNIX philosophy which centers around the idea of linking programs together. You know, piping the output from grep into sed and then into sort, that kind of thing. It kinda...
View ArticleIn Search Of The Lost Program
The Lost Chord. Programmers just can't seem to stop making new things. You only have to look at how many different unit-test frameworks and build systems there are out there to see that. We're drawn...
View ArticleWhat The Hell Was The Microsoft Network?
No, not that one. Or that other one. The letters "MSN" have meant so many things to so many people, a term that's been overloaded with a thousand different meanings. In the same way they throw the...
View Article
More Pages to Explore .....