Matt Birkholz

Just call me THX-B3A2, or 2CAA9FA2DF31CA2D1B8BC4ACA7FB136A6B18B3A2.

Matt Who?

I am the Matt Birkholz that went to Hartford Union High School in Wisconsin (class of 1981). I also went to the Massachusetts Institute of Technology, married Lori Kiesow, and worked for Digital Equipment Corporation with their Knowledge Based Systems group. Lori had had enough of Boston's winters by '94 and moved me and the rest of her stuff to Phoenix, Arizona, where she had a daughter, Erica, that same year (while jobless and footloose!).

From our new house in Chandler and for the next 10 years I telecommuted to the Arizona News Service, publisher of the Arizona Capitol Times. I took over a small bank of dial-up modems and a Unix System V server, re-wrote most of the pre-2000 BASIC in post-2000 Perl, and replaced the text terminals with a small network of PCs connected to the brand-new Internet through a Linux bastion running Apache. I mostly telecommuted but did not completely shirk the daily commute, chauffeuring Erica to a charter school 10 miles away. I rarely had to go anywhere near downtown Phoenix at 8am, and for that I am forever grateful.

For the last 10 years I have been a neomonk — a retired software engineer. I mostly volunteer on an open source project. I have a smart phone but little use for it. I have a Facebook account but my evil twin stole it.

Lori is a Senior Engineer at Intel's Fab 32. She finally broke down and bought a smart phone last year. She keeps a couple shopping apps and a dozen photos from Astronomy magazine on it. She does not have a Facebook account, and is probably still miffed that she has to pay double for phone service just to get the coupons.

Erica is currently working on a PhD in biochemistry at UCSD and is hope and inspiration to all mankind (and a triple threat to all womankind). She's probably on Facebook right now.

If you can get credit in our names using the details above, you are welcome to defraud any bank that requires nothing more. I am happy to help them figure out their mistake and hunt you down.

A Monk's Life


Monk At Work

It seems I am an idiot. It takes me forever to get anything done. This might be because of my rarefied definition of “anything” or just because I'm slow. In any case, to combat my handicap, I employ great heaping gobs of quiet time.

Erica impressed upon me the value of silence. She seemed to believe that, just as light travels fastest in a vacuum, thought travels furthest in silence. During her high school career (whilst doing a year and more of college level classes) the house had to be silent for the afternoon. If I played anything but low, background music, she would retreat to her room and close the door.

The silence is supposed to amplify my focus, which is essential because I contend with demons armored in complexity and wielding fatal errors. The most vexing of these are the intermittents found in asynchronous processes. To the fight I bring a monk's greatest (only?) weapon: patience.

Spending heaps of time on sometimes seemingly insoluble problems is not for the faint of heart. It is for idiots with the courage of countless heaps to spend. So my house safeguards my courage as well as my focus, by maximizing heaps of silence — by observing a rigorous asceticism.

In the '30s Cornell researchers experimenting with the longevity of rats found that those living a monk's life — a low-calorie, low-exercise regimen — lived the longest. So a monkish asceticism has long been a core virtue in this house, paying dividends in the only coin monks value: time.

A large portion of my heaps are poured over sacred texts, transcribing and illuminating them. These texts are sacred to me in the sense that I trust them completely as I trust my own eyes. My canon includes MIT/GNU Scheme and the standard base of Debian (Ubuntu) Linux. These are my cyber-eyes and ears, wings and talons.


Neomonk At Work

So I think I am a neomonk (cyber-monk?), embracing a life in great silence spent pondering sacred texts and wrestling demons on half-rations — the ward of an institution, equipped with a modest endowment and a generous sponsor.

A Monk's Devotions

This monk finds wonder in the universe and is wont to rejoice in it, and is inspired to create the following cyber-abbey iconography. These tributes were created from mathematical models of their subjects and, like all icons, are mere shadows, approximations. The models are written in an ancient language known as Scheme. I use it when I am coding for worship, not for profit. To create the images below I use a bleeding-edge version of MIT/GNU Scheme that I get from my evil twin.

A Tellurion

This image was painted by my incomplete tellurion. A complete tellurion is a model of the Sun/Moon/Earth system. I have not added Luna yet and the position of Sol is only implied by the dark side. If you have an Ubuntu desktop, you can install and run the Scheme program. It will display this image and update it every 15 minutes so you will know when it is nighttime. Complete instructions are available in the manual.

Monterey Bay

This image of Monterey Bay, California, is based on 10,201 elevations I pulled from Google Earth using their Elevation API. The deepest data had more than 70 meters of error bar on them, but that's under 3km of water.

I'm not certain I am allowed to publish this image. I tried to read through the Google Elevation API Terms of Service, but it includes by reference a library of legalese, so I will apologize later. The following Google Map (required?) shows the area covered by my queries.

I cannot publish the 3D data. You will have to send your own queries if you want to fly your own GLX view port. The example Scheme procedure monterey-bay shows how I pulled the data. With the 3D data and my arrow keys I can dive to the bottom of the bay or fly to 50,000 feet for the view you see on the right. Complete instructions are available in the manual.

I'm not sure what devil frustrates my attempt to depict sea level with a translucent blue quad at y=0. My GL/GLU implementation (Mesa 9.2.1/9.0.0, Ubuntu 13.10, i915, Intel Mobile GM965/GL960) flips out when I say (gl:enable 'BLEND). Perhaps “screen door transparency” per the OpenGL FAQ will do, or perhaps a depth-buffer enhanced canvas is just no way to celebrate an awesome universe. Real-time ray-tracing, anyone?