Sunday, November 09, 2014

archive.org is good for old tech docs

I saw on Undeadly a note that OpenBSD's Ted was patching the ancient bcd program, which converts text into ASCII-art representations of punch cards. Punch cards were a technology from the 1960s and 1970s (?) that stored code or data on cardstock, with holes punched out of them. Each card held a line of text. If I recall correctly, each character was a column on the card, with as many as seven holes punched out of set of 12 possible locations. There were 40 to 80 columns on the card, according to the brand and the decade.

Anyway, Ted modified the bcd program to read in the ASCII-art representation of punch cards that it generated, so that it became, essentially, a very inefficient reversible encoding, but, he was unsure where to search for documents that he could use to validate the output.

My goto place for tech docs from the 1970s is archive.org. If you've never searched its collection, you should check it out.

Anyway, I did manage to find a couple of references there to punch card encoding.

For a couple of brands, anyway, punch card encoding seemed to have, for each character, a 4-bit "zone" or category and an 8-bit index. But this didn't result in a 12-bit encoding. Only a sparse subset of the available 12-bits indicated a character, for mechanical reasons, I guess. A subset of the characters now included in ASCII were encodable, but, missing some punctuation such as square brackets. It is for reasons like this that the C standard has trigraphs.

Monday, March 17, 2014

My failures, games, and an offering of time

Dear internet, life continues to be strange.

A year ago or so, I started writing a custom game engine for a game idea I had.  I actually got as far as creating about 50% of that game engine before it languished.  Yet another uncompleted project.  Yet another example of how, when it comes to my own personal hobby projects, I enjoy of the process of learning and tinkering and abstractificating more than completion.

But I picked up the book Game Engine Architecture by Jason Gregory, and now I'm reinvigorated.  It is interesting to compare it to the much older book Game Coding Complete by Mike McShaffry.  They actually agree on many topics.  Looking at the two books, this idea of writing a game seems tractable, again.   It is interesting to see how game engines are converging into a discipline.

And thus with the idea of writing a game seeming possible again, I've been reading through the SDL2 library docs.  At the moment, it seems that SDL (or monogame and friends) is the best free-software-compatible way to write cross-platform games.  Unfortunately, the docs for SDL2 -- while excellent for a free software project -- are still lacking examples.  The API for SDL1 was modernized for SDL2, and the community is still catching up with the new API.

But, I think I hack this game in private until I have something to show.

§


With the war in Afghanistan finally approaching the endgame, I'll have some free time for volunteering, so if anyone in GNU has a well-defined ~80 hour task for me, hit me up.  I've done embedded systems, global positioning systems, numerical analysis, some device drivers, some low-level audio and video, endless technical docs and a ton of extremely formal software engineering and testing.  Lots of C, a bit of C++. Or if you just need fresh eyes to try out your program. Lemme know. I'm mike at lonelycactus.com and I'm in Los Angeles.