Monday, October 30, 2006

The second rule of blogging

The second rule of blogging is to never post about something you read until you've read it at least twice, slept and had some dreams about it, and gone through a day applying it to situations in your life. I think my last post more or less missed the point! But I also think I might understand what enframing means now, maybe.

I am so hungry and I have almost no food but I don't want to go out in public to get food. Maybe I do have food here. I could make Irish oatmeal... oh w00t I have pasta. Disaster averted.

Sunday, October 29, 2006

The Question Concerning Sandwiches

If you go far enough west and don't go too far south you'll hit some rocky shores on the central California coast. It was on the rocks of these shores that I sat, while waves crashed against them, reading Heidegger.

But that is a lie. They were not rocks upon which I sat, nor were they waves that crashed against them. It was not the sun that warmed my face, nor was it the Pacific Ocean that I gazed upon through squinted eyes. Or, if you please, the Ocean could not be brought forth-hither to me. Point being that our continent has no west coast.

"Are you local?" asked the nice woman at the Central Avenue Bakery.

"No, I'm just in town for the half-marathon." (But perhaps I wish I was local... nah, I don't think I could stand living in such a boutique town... maybe I need to let my hair down about that kind of thing a little, maybe I should allow myself the imagining of being local in a place like Pacific Grove...)

"Is the race over?"

"Yes, it started at seven this morning." (Haha, actually I just stopped in for a mid-race snack.)

"It must be not quite as hard to run 13 miles if you've run one before..."

"Actually this was my first half-marathon." (Actually, I'm quite superstitious; at the end of the race I kept right on running past the finish line so I could finish at 14.)

This is really distracting from the point of this post, except that the post is a part of this blog and this blog is in part an awkward conversation blog. Anyway, she thanked me quite profusely as I left, and I oddly said, "See you later," which is probably technically true, and I will realize that truth when it manifests and she will not, because I've only met two bakery employees in Pacific Grove and she undoubtedly runs into several hungry runners with severe aversions to barber's scissors every day (this is California).

As I was saying, we have no west coast. All that stuff that acted upon me while I read is set into order by the Monterey and Pacific Grove chambers of commerce, so that I would come and run their half marathon, and later that day buy a sandwich from the Central Avenue Bakery. It is the very essence of modern sandwich-hood that orders the rocks and the ocean thusly. In the general (that is, the not-necessarily-modern) case sandwiches, of course, could rely on the whims of nature. If for a spell the shoreline was hideous the sandwich ingredients would go stale from disuse (and lots resort workers would get laid off, the golf ball factories would back up; in short, the downfall of Man). But today, with the precision of modern science we've measured that the shoreline is always beautiful, and ordered it as an element of our plan. Our plan for sandwiches. Delicious sandwiches. And a cookie.

Except that I just can't take that kind of cynicism.

Wait, who the fuck am I kidding, I am all about that kind of cynicism. I think that Heidegger, if anything, is too reluctant to apply it to his vision of the idyllic old-fashioned farm. Using the words of the translation I've read, farming has unquestionably "set upon" and "ordered" the countryside, with some of each harvest set aside as "standing reserve". Farming, in fact, has ultimately re-imagined the vast prairies of the midwest as "farm land", to the extent that people unconsciously talk of and accept the corn fields down I-57 as natural things. When people calculate "urban sprawl" they talk the same way about the encroachment of urban areas onto both open space and rural farms. By so often using farming as his example of non-modern technology Heidegger almost let me convince myself that there was no non-modern technology.

But that's not his fault, I'm just too eager to convince myself of things. One example of technology that I wouldn't call modern is Donald Knuth's TeX. It doesn't impose its order upon the computer system, it works within it. In fact, Unix programs in general are strongly encouraged to find elegant ways to work within Unix. Non-modern technology if you accept for a second Unix as a created but "natural" environment. Some old Unix guys realized that "modern Unix" was getting ugly, and this was because it was full of modern technology that imposed new order on the way the system worked. So they "reinvented nature" with Plan 9. One might also say that Emacs is a newly created nature for text editing, in many ways modern relative to Unix but allowing for many extensions non-modern relative to itself.

On the other hand the stereotypical Windows program is modern technology, trying to dominate and order the system (think anti-virus software through WinXP). And when Microsoft tries to create a better nature and tell programmers not to set their order upon it the programmers make a stink about it. Because they have actual money riding on their ordering. They'd rather reign in Hell, and just hope it never burns down.

Actually, given that just about nobody uses Plan 9, it's safe to say lots of Unix programmers would rather have the familiar orderings of X11, sockets, terminal emulators and other modern impositions than live in a world that allows for so much more simplicity.

OK and this post doesn't really make any sense if you (a) haven't read Heidegger's "The Question Concerning Technology" or (b) aren't a massive computer geek. In fact, it might not make any sense at all. But here it is.

Thursday, October 26, 2006

Progress!

I was just reading Slashdot and there was a story about lab-created diamonds. TFA + comments + links in comments were solidly enthusiastic. Turns out the Slashdot crowd (represented here by Al Dimond) has every reason to hate the cartel that controls diamond supply throughout the world, from their ruthless monopoly tactics, creation of artificial scarcity, awful treatment of miners and buying from murderous regimes to their manipulative campaigns to make their stones a benchmark of the expression of love in our time. (It's amazing how one group of people can be bastards in so many ways!) Not to mention the potential for lab-grown stones as a semiconductor material, which means, you know, that computers will keep getting faster... yay. And then there was a comment that I'm going to link to here,

This being the comment,

which sums it all up: progress! So that reminds me that I'm not always indifferent to progress, sometimes it's kind of a good thing. It's a good thing in context, at the very least, and we always have to live in context.

Speaking of context I can't believe today is (very early) Thursday, tomorrow is Friday, after that Saturday and then finally Sunday and the half-marathon! So it won't exactly be a triumphant race I don't think, but I think I can just have fun, and that's success enough.

AH my brain almost just went on a really depressing tangent on that (the context thing, and why it being just days before the race is a context) but I'm not going there, at least not until I'm lying awake in bed a few hours from now. Argh.

Monday, October 23, 2006

I found God on a run two days ago

I wanted to write a song about this but it didn't work at all. I do have one that's been waiting to be posted here for several weeks but I'm just getting lazy about it. Anyhow, back to the point.

Down on the Los Gatos Creek Trail, I wussed out on the run and stopped at the boundary of the big park and turned around and started walking.

I tend to run in the evening and the sun was getting to me. My legs were too tired for how long I'd been out there. I was thinking about walking backwards, and running backwards, and how much less jarring it was on my knees, and how according to the Slashdot hordes builders of bipedal robots had an easier time if they made the knees bend forwards.

The previous night I'd seen Richard Dawkins on the Internet (insert tangent about how the Internet gives copyright infringers the ability to provide ord'nary yokels like myself the ability to play with the timing of media delivery (aaargh I HATE using the word media like that but the only other words I can think of are "entertainment", which isn't accurate, and "content", which I also don't like) and its implications for the long-tail and for the death of water-cooler culture), decrying the notion that evolution was random and calling natural selection a highly directed process. Richard Dawkins, who now that I've seen him on a Colbert episode of unkown vintage I seem to see everywhere, is sometimes billed as the "world's most famous atheist" (which is probably not literally true, though his atheism is probably the world's most famous atheism) and wrote a book called The God Delusion.

But if natural selection is so damn directed, how come after millions of years of it I'm still running with knees that bend the wrong way? Simple: God did it.

Before people started building shit all over the place there were lots of hills, and people had to walk really long distances over them. You can walk up and down hills. It's much less jarring to go uphill with knees that bend backwards. And much less jarring to go downhill with knees that bend forwards. God wanted us to figure that shit out, but we were too dumb; we walked forwards everywhere and made knee surgeons rich. We have eyes in the front of our heads because we were meant always to be looking up the hills for falling rocks, and also so that when walking backwards down hills we would do so at a prudent speed because we couldn't see very well.

And then He appeared before me, as my eyes drifted out of focus, as I sat on a rock, and the sky split open, and out poured a mammoth pirate ship sailing on a sea of delicious marinara. The temperature dropped, like, five kelvin at that point, all over the world. It was trippy. (this paragraph is verbatim from the only part of the aborted song attempt that really worked)

I wandered around the path for a while after that just staring at the beautiful reservoir and park benches and happy little trees and dogs and dogs and people and then eventually decided to run back as fast as I could. Then I remembered that there were these little fitness stations in the last mile, so I stopped to do those as I passed by. The first one was this awesome diagonal bar that you're supposed to grip at "a challenging height" and vault yourself over with your legs extended out straight. This might be easy for normal people (the chick on the diagram sure made it look easy at least), but I'm a distance runner so it was really hard. This apparatus, being along this section of the trail, is also right behind someone's backyard (IPP-style... IPP REPRAZENT! The IPP has a much better surface though. OMG IPP MEMORY LANE this one time I ran west down the IPP and a bird flew after me and almost hit me on the head, then on the way back east I passed by this blond girl going west who warned me that she almost just got hit on the head by a bird but I don't process things very quickly when I'm running so I just kept on going but this time I was at the end of the run and tired, and I couldn't escape the bird, who gave me a good solid knock to the head), so they could probably make really funny videos of uncoordinated distance runners trying to use this device and then send 'em to YouTube.

So, then, which way do God's knees bend? Trick question, the dude has no knees. He drives his Hummer everywhere. It's like an extension of his noodly appendage.

[Most of this is blatantly ripped off of ye olde Venganza, except for that IPP crap]

Friday, October 20, 2006

A word about computing

This is not something that we usually tell Liberal Arts majors. And I know that at least a few Liberal Arts majors have read this blog in the past, and so I'm taking the risk of letting out one of our most closely guarded secrets. But here goes, anyway: computers are not very complicated. Sometimes people make computers complicated with fancy technical mumbo jumbo, which I will mark with italics in this post.

Most of the computers we use today (certainly all of the ones that we think about primarily as "computers") are based on the Von Neumann architecture. There is a processor and there is memory. The processor fetches instructions from memory and follows them. Typically the instructions are simple things like, "Load a number stored at memory location X", "Load another number stored at memory location Y", "Add those two numbers", "Store the result in memory location Z".

Through some nasty conspiracy billions of these simple instructions were used to create horrors of complexity like the rich text-entry widgets used by websites like Blogger and Gmail, but that's beside the point.

Of course, there are two problems with the Von Neumann architecture: input and output. First, output: how do we show off the results of the instructions we've executed? That's my job (I work for Nvidia, writing drivers for graphics hardware) and I'm not going to tell you how to do my job. Next, input: how do we get all these instructions and data into memory in the first place? This is called "bootstrapping".

Originally people had to write their instructions into memory manually every time they wanted them followed. If I had to do that every time I wanted my computer to post on this blog you can imagine I wouldn't do it very often. Early computing pioneers really liked my blog, however, so they invented all this crazy stuff like hard drives, BIOSes, operating systems and web browsers just to make it easier for me to post here. Later computing pioneers invented those crappy rich-text widgets. The BIOS is a magical entity that, among other magical things, magically grabs some instructions from the hard drive when you turn on your computer and puts them into memory so the processor can follow them.

See, this is where it starts to get complicated. The instructions that the BIOS grabs? They're a "program" (set of instructions) called the "bootloader". Well, part of the bootloader at least. They're the part of the bootloader that tell the processor how to find some more bootloader instructions on the hard disk, put them in memory and follow them. In many systems, once found, these instructions will again tell the processor to find even more bootloader instructions, load them into memory and follow them. After some arbitrary number of "bootloader" stages (on a tri-booting GNU/Linux+WinVista+WinNT system you might have an MBR, a few GRUB stages, then chainload to WinVista's BOOTMGR, which goes and finds NTLDR which finally loads Windows NT, which is a pretty disappointing destination after all that) you eventually have the operating system loaded in memory, its instructions being followed by the processor. The main point of the operating system is... you guessed it: to find other programs on the hard disk and load their instructions into memory so the processor can follow them. Engineers might make things really complicated, but at least we aren't very imaginative.

What I'm writing to complain about, at long last, is a bootloader. GRUB is a rather nice bootloader that's typically used on GNU/Linux systems (though it can be used for some others). One reason it has the multiple stages I mentioned in the last paragraph is because at some stages it can be customized. You can show a menu of choices of operating systems to boot to (or other bootloaders to chainload). There's a file that you use to customize GRUB, it's called "grub.conf". It's a nice text file. You can open and change it with a text editor (a text editor is a set of instructions that tells a computer how to edit a text file according to the wishes of its user; people like me spend a lot of time using text editors, and often our favorite text editor is our favorite program), and you can post yours on the Internet to give other people ideas for theirs. Windows Vista's BOOTMGR, on the other hand, uses a configuration file called BCD. It's a binary file; all computer files are technically binary files and are encoded in various ways; text files are a subset of these particularly encoded to represent a sequence of text characters in a standard way. When I say, "binary files," I mean files falling outside of this subset. Anyhow, BCD is a binary file and can only sensibly be edited using Windows Vista's very own BCDEDIT.EXE. BCDEDIT.EXE is a set of instructions for editing the BCD according to the wishes of its user and also to a set of inscrutable constraints devised by its authors.

And that was pretty much just background knowledge. All I really want to say is (apologies to Douglas Adams):

The Sirius Cybernetics Corporation... err... I mean, THE PEOPLE THAT WROTE BCDEDIT.EXE are a bunch of mindless jerks that will be first against the wall when the revolution comes.

Friday, October 13, 2006

Too much blog!

I've been posting like a fiend lately, that's all.

So a few weeks ago I was writing this song that I'll probably record and post here tomorrow. I hit this big D major chord, because it seemed like the right thing to do. Then I hit it again, and then a third time. Then I randomly started singing "Love in Vain" (a song by the Rolling Stones). It worked a lot better than it should have (or maybe it didn't and I'm delusional). I polished up the arrangement over the next few weeks, recorded it, then considered whether I should post it or not. I decided to post it, in honor of Ian replying to a few of my haiku posts and away messages in haiku, knowing that he would spin in his... grave... ???... if he heard me butchering the Stones like this... or something... I can't get this sentence right, screw it. Here is the URL:

http://earth.hair.yellow.bone.mysteryrobot.com:8080/love_in_vain.ogg

Note the domain name has changed. Some time ago I accidentally flipped the switch that controls the outlet that my DSL modem is plugged into and my IP address changed, and thus the namber changed. Such is life. So now my computer is at that address, and my songs along with it.

I really like the overall sound and idea of this arrangement, even if my performance isn't anywhere near perfect. I didn't take a whole lot of time with the recording, though that's largely because the vocal part is so high that (1) I could only do so many takes before my voice got tired and (2) it came out much louder, meaning I didn't have to spend so much time trying to amplify the vocals without getting too much noise. Noise is a real problem with my setup, and I've considered either buying a digital mixing board or building a dedicated recording computer. However, at this point noise is hardly the most offensive part of my music.

Wednesday, October 11, 2006

Insult, meet injury. Injury, insult.

Car story continuation: as I pulled out my bike to meet the tow truck at my car this morning I noticed the back tire was flat. I filled it with air. It's leaking pretty quickly now. To the extent that it's probably not safe to ride. So I'm walking to work tomorrow.

Life is... hilarious.

Monday, October 9, 2006

More posts about walking and keys

OK, I swear that is the last time I milk the title of the Talking Heads' sophomore album for the title of something I do or for a link to something. At least it's the last time today. The last time today on this blog... who knows, I might put a comment in my code tomorrow that says /* More code about graphics and cards */. Of course, nobody would get it.

So remember how I locked myself out of my apartment a few posts ago? Tonight I had a similar experience, only worse, and it wasn't even my fault this time. I'll tell you the entire story of my day, because I think it was a very fitting day for its ending.

I woke up this morning, checked the e-mail, responded to a response to a blog post, talked on AIM a bit. Then I ate breakfast, a peach and a bowl of oatmeal. It was good. Then I went on a 40-mile bike ride to Palo Alto and back.

One cool thing about Silicon Valley is that you can usually find streets with good bike lanes. One bad thing is that there are lots of stoplights and cyclists, since they go just slower than the speed of traffic, always seem to hit a disproportionate number of lights just as they turn red. I think that I would have been significantly less exhausted at the end of the ride had I not been forced to constantly brake and accelerate. Anyhow, by the end of the ride I was so completely spent that I could barely make it up the little hill over the railroad tracks about 2.5 miles from home. Fortunately there's a gas station at the bottom of the hill, and I stopped there to refuel. Not with gas but with a 32-ounce bottle of Gatorade, which I chugged down at a rate that I can only describe as Ulatowskian. Gatorade, for those of you that don't know, really does have magical healing powers. The knowledge that home is near also has magical healing powers. So the last couple miles weren't so bad.

At home I ate a Clif bar (more magical healing powers), then cooked a one-pound bag of fusili and ate that. Stretched and watched some football. Read a little bit. Then decided I should probably get some groceries lest my Monday morning breakfast consist of a bottle of beer and an onion. Threw on sandals, went to the car, drove down to the Trader Joe's in Campbell. It's about 4 miles from home, about 2 miles farther than the nearest grocery store and generally worth the trip.

Picked up a solid basket worth of food, checked out. The checker dude-woman asked me if I was old enough to buy the beer I was buying, I said, "yes," she asked how old I was, I said, "22," she asked what year I was born in, I said, "1984." I could have turned at least two of those answers into crazy tangents but I didn't; instead she mentioned that her sister was 22 also, for some reason asked me where I was born ("Illinois," which I intoned with my very best Illinoisian accent) and how that made me feel ("Hmm, I don't know..." because I have never thought about how my birthplace makes me feel, because I struggle to feel on my feet, and because that is a very odd question; but if people never asked people wierd questions nobody would ever talk to anyone else, so it's all good). She first thought that Illinois was the home of the Hoosiers, but then remembered that it was the Fighting Illini; she'd been to Champaign (how about that?). How did I like Teh Valley coming from Illinois ("It's great for cycling and not as good for running"), did I run the half-marathon in San José today (seriously, was I the only person that didn't know that was happening until I saw the street closure notices? But anyway, "No, but I'm doing one in Monterey in a couple weeks.") She went to a Catholic boarding school in Monterey. If you can tell me the point of writing this paragraph into this blog entry I'll mail you cookies, because I have no idea.

Went out to my car, opened the trunk, put the grocery bags in the trunk, closed the trunk. I bet you think I locked my keys in the trunk. Ha! Not even close! I walked over to the driver-side door, stuck the key in the lock, turned the key, pulled the door open, slipped into the car about as smoothly as one can after a 40-mile bike ride (that is, for the record, pretty damn smoothly... I am very good at trivial things). Stuck the key in the ignition. It wouldn't go in all the way. Took it out, stuck it in again. Same thing. Took it out, jammed it in harder. Ah, there it goes. Car does that sometimes. Turned the key... err, tried to turn the key. It wouldn't budge. Oh crap. Took it out, stuck it in again. No luck. Took it out, stuck it in again. No luck. Repeated this about 30 times, applying all the torque I could muster to the rectanguar head of the key. Not a one-hundreth of a radian of angular displacement from the original position. Tested to see if the car would go *ding* if I opened the door while the keys were in. Yep. Tested the headlights, dome light and hazards. All working. Torqued the key. No rotation.

Walked around the car a few times. Used the key to open the trunk and the doors (thinking maybe it just needed a confidence boost). Tried starting the car again. No dice. Walked around the shopping center, tried starting the car again (maybe it needed a break?). Nope.

At this point it struck me that I really didn't want to walk four miles back home with a big bag of groceries in each hand. It also struck me that I didn't have another way to get home. So, because I wasn't in any particular rush, I opened up the trunk and started munching on the food, hoping I'd come up with a brilliant solution to this problem. A half pound of trail mix later, nothing. So I picked up the bags and started walking. I walked along the right sidewalk so I could catch a northbound bus if it happened to come by. They don't send out too many buses at 9:30pm on Sunday nights in Campbell (who knew?). Finally arrived at home. It struck me that now not only would my back and legs be sore tomorrow (which I already knew) but also my arms and shoulders. Boo on this. And now I have to call a tower and get my car fixed somehow when I have no clue what's wrong with it. Well, first I'll try my spare key, which means a few extra miles on the bike after work tomorrow. I'm sure my legs can take it. Bleh.

Sunday, October 8, 2006

Look out for the bugman

I ran across this while trying to use teh 'webs to verify that my impression of Intel assembler syntax was correct at work a few days ago: (zomg teh gnus).

What really stands out here is the last part in the "Writing 16-bit code" section. "So you can write code that runs on 16-bit processors, but only if that code never references memory." And this is basically what I love about GNU. Not only do they call their assembler "gas", but they tell you in the documentation how to get it to generate code for 16-bit processors even though you couldn't possibly write a real program that way. EDIT: I was just thinking about this and realized you could push and pop off the stack given these restrictions. And you could still do port IO! But even if you're writing for a machine where all your devices use port IO, I don't think that you could call subroutines or branch. I could look it up, but I don't feel like it.

So when RedHat and Tivo have to fork GNU in a few years after the GPL v3 fiasco, you know which version I'm going to be using. I wouldn't read too much into that... but stuff like this just brings me joy.

Monday, October 2, 2006

Retreat towards the classics

Today was the first day since I moved here that hasn't been a beautiful sunny day.

Today was a a beautiful rainy day.

Why am I blogging about something superficial like the weather? Because the rain was the most significant event in my life in a long time. I'm not worried about wasting years of my life, I've got plenty left, but it's starting to get boring.