I thoroughly enjoyed reading Tom Moertel’s tale of a great old-timey game-programming hack, it reminded me of my computer science days and assembly programming.
A long time ago, when I was a college undergrad, I spent some time working on computer video games. This was in the 8-bit PC era, so the gaming hardware was almost impossibly slow by today’s standards.
It might not surprise you, then, to learn that, back then, game programmers did all sorts of crazy things to make their games run at playable speeds. Crazy, crazy things.
This is a story about one of those things.
Mariner 1, a NASA probe, crashed into the ocean not long after takeoff. The cause was a source of confusion for a long time, but seems to have been the result of a missing hypen.
One of the official reports, issued by the Mariner 1 Post-Flight Review Board, concluded that a dropped hyphen in coded computer instructions resulted in incorrect guidance signals being sent to the spacecraft. The review board specifically refers to a “hyphen,” although other sources also refer to an “overbar transcription error” and even to a misplaced decimal point.
From a post by Achal Aggarwal, Lazy People Innovate:
Our job as programmers is not to churn out huge chunks of code everyday. Our job is to think innovative ways to solve a problem. Code is not the main product we are looking for. Code is not what we want to do. But it is what makes everything run. It is a necessity.
From Designing Programs by Casey Reas and Chandler McWilliams.
Writing software is something that’s not typically associated with the work of a visual designer, but there’s a growing number of designers who write custom software as a component of their work. Over the last decade, through personal experience, we’ve learned many of the benefits and pitfalls of writing code as a component of a visual arts practice, but our experience doesn’t cover the full spectrum. Custom software is changing typography, photography, and composition and is the foundation for new categories of design practice that includes design for networked media (web browsers, mobile phones, tablets) and interactive installations. Most importantly, designers writing software are pushing design thinking into new areas.
The asked a number of designers the impetus for writing their own software, and how it has impacted their work.
Apple has donated the the MacPaint source code to the Computer History Museum. Bill Atkinson was responsible for the code, including QuickDraw, which formed a large portion of the MacOS.
A reporter asked Steve Jobs, “How many man-years did it take to write Quick Draw?” Steve asked Bill, who said, “Well, I worked on it on and off for four years.” Steve then told the reporter, “Twenty-four man-years”. Obviously Steve figured, with ample justification, that one Atkinson year was the equivalent of six ordinary programmer years.
The main source is written in Pascal, and is quite beautiful to read — you can tell that he took pride in it. The rest of the code is written in assembler language for the 68000 processor.
The Mandelbulb is an attempt to create a three dimensional equivalent to the famed Mandelbrot fractal. There’s information about the math behind the Mandelbulb, many images, links to videos and more. If you want the quick version, Wired posted a brief overview and a gallery of images.
Infinite Super Mario AI one of the submissions for the Mario AI competition has been released under a WTFPL license. Make sure to check out the videos.
The source code for the Command Module and Lunar Module has been scanned and posted online for all to enjoy.
Processing is an open source programming language for visual artists, and has recent achieved its 1.0 milestone. Check out the flickr group and OpenProcessing for examples of what you can do with the software.