a broken lcd lost in the green on black

.code

projects - some of the projects i've been working on

release - released code and documentation (or major works in progress)

activity - rss feeds from various coding sites

basement - where i shove all the code that doesn't belong anywhere else.


Coding in assembler, particularly when working on something low level such as a device driver, can be a deeply spiritual experience. (you may cue the men in white coats now). With that kind of code, you are no longer dealing with abstract illusions such as the Desktop, or sprites, or a letter to your girl (or boy, as is your sex/preference). Now, we are dealing with binary values. Sixteen registers, one serving a dedicated purpose, which can each hold a 32 bit value. Those values can be added, subtracted, multiplied, or logically munged by operations such as OR and AND. There is no concept of sticking one string on the end of another. The colour blue is just a fantasy given a binary pattern. There is nothing except data. Pure data. And you can do nothing except load the data, store it, mathematically alter it, and perform mathematical equivalence tests upon it. From those incredibly simple building blocks, we can create the illusion of a Desktop. On that desktop we can imagine a publishing thing. A piece of software that will let you write anything, in any style imaginable. And into your writing, you can insert pictures. And of that writing, you can copy it to a buffer where it will be directed to another processor running another program. And from that second processor, it will eventually attain physical form. As a little motorised lump whizzes from one side of a piece of paper to the other, little squirts of ink will be shot out under the control of this second processor. Totally independant to your processor. And totally unaware of what is happening - it is all a mathematical maze to the processor. There is no ink, no head, no paper, no feed rollers. Just a sequence of comparisons and data movements that eventually combine to turn your imagination into a physical document. Well I'll be damned.

Richard Murray on programming

i find this to be one of the best and most inspiring quotes on why we do what we do.