26 December 2007


I'm down in Saint Louis for Xmas right now. On the way down I met this girl, Martha, and thought it was so totally random but then I remembered that's basically how I met Leila (s/bus/airplane/). Have I really been meeting random people everywhere all this time and only just now, now that I've got a system in place for this sort of thing, am I remembering them? I can't tell if my memory is getting better or if I'm getting better at not relying on it. If there were a way to test it....

Since Friday's shenanigans at the office I've been getting back into poker, even to the point that I'm currently designing a kind of poker server that multiple clients will be able to connect to at once. Here's the twist: I want to attract other programmers to write plug-ins for it so that I can see what the bot programming community is up to with poker. Historically, bots have not been very good at this sort of thing. They're not good at reading humans on such little information—meanwhile humans can read other humans very well because, well, we're all humans. That's a big advantage, particularly when a human can read someone's face. There are microscopic movements someone's face makes when making decisions regarding money. Certainly a computer could be trained to pick up on these, too, but I think that would be pretty weird literally building a poker robot rather than just a wee online bot.

I think this is my new hobby, though, until I can get an apartment with a garage so I can go back to building stuff. I want to write simple bots and monitors if for no other purpose than to keep my AI skills sharp. In this case, I think my favoured approach is going to be a neural network with an input set for each player which will carry a normalized signal from that player's current bet. For those not in the know, a back-propagation neural network is basically a computer simulation (and an inaccurate one, but authenticity is easily trumped by effectiveness) of a connected network of brain cells. Each layer is triggered by the inputs of the previous layer, multiplied by weights. Back-propagation is where, upon a result, the weights are adjusted layer by layer so that the result next time will be closer to the desired one.

Since humans could intentionally play crazy during the first few hands to un-train the net for later, it seems like a pretty bad idea to back-propagate mid-game, but perhaps that would be safe as long as the human players can be trusted not to exploit it too much. Also, the more established the neural network's paths, the harder it would be for a human to exploit its mid-game learning, yet to a certain extent it would be able to adapt its gameplay to each player's style. I've learned in the past that artificial neural networks are best kept small, though. My best one ever was actually not a neural network at all but a single perceptron (one "neuron" of a neural net) with a couple hundred inputs and meta-inputs. I did this mostly as an expedient, since back-propagation is way harder to program than perceptron learning, but it ended up being rock-solid. I'm not even really sure if, at the time, back-propagation was an option since this was for a class.

Oddly enough, a single perceptron with a sigmoid function to introduce nonlinearity into the threshold computation might suffice. At any rate, I am much more experienced using perceptrons than I am neural networks, and I know a lot more tricks with them. The beauty of the way I'm programming this is that I can try both and have them battle against me and against each other! The notes are in my private wiki now . . . I suppose I should get going and start writing the monitor. Wish me luck, space cadets, and I'll see y'all at the tables.

19 December 2007

A question about climbing Everest

So . . . you're climbing Mt Everest. It's -4°F and really windy. You're climbing. . . . What happens if you have to pee?

13 December 2007


Okay. It's finally happened. I have found the cutest picture in the whole internet. BEHOLD!

10 December 2007

On the Subject of Hot Librarians

Hot librarians the world over: we salute you.

max thom stahl
9:44 I'd say being a librarian and hot is pretty much a 99% guarantee that I will be all up onz.

9:44 and they help you navigate their dewey decimal system in the stacks...

max thom stahl
9:44 yeah dude.
9:44 and I act like it confuses me, 'cause it does.
9:44 She takes my hand....
9:44 And we dance.

9:44 heh

max thom stahl
9:44 On into the night.

9:44 Gabriel Ananda is playing on the loudspeaker...

max thom stahl
9:45 Awakening in the periodicals section, naked, in each others' arms.

9:45 muahaha...

max thom stahl
9:45 That's how it'll happen when I finally meet my hot librarian.

Life in the Haunted Basement

So, shortly after I rolled up at work today, a technician from AT&T arrived to install our new T1 line. This, of course, entailed me venturing into the Haunted Basement. Let me back up a bit; you need some background for this.

Fave Media, Inc.'s offices are located at 2350 N Clark St. Come in sometime; we have a storefront where you can hang out. Anyways, we share the building with a goth/industrial club called Neo. Pretty neat, right? From my server room, I exit a back door to a stairwell shared by Neo and Fave, then out an outside door (that doesn't have a working lock...) into the dumpster area. There are some slippery looking stairs there leading down to an iron gate. Opening the padlock to this gate, you have to violently jerk the bolt to unlock the gate, then there's a little door there with a bare light bulp over it. It is at this point that you should start to feel concerned. There is a peephole and mail slot in the door. Why? Nobody knows!

Open the door and step inside, fumbling about for the light switch. Don't look too disappointed, the light switch only turns on one bare bulb about two metres in front of you, and does not at all illuminate the rest of the hallway. A wall is conspicuously missing to your left, and you can see the rusty skeleton of a fixed-gear bicycle that's gotta be about as old as you are. There's other stuff there but seriously, you just don't want to know.

Down the hall a jog is the doorway into the room where the T1 line is. The T1 line is a pristine box set into the wall among a veritable rat's nest of wiring. There are high voltage signs on some of these little rat's nests, but no bare wires visible as far as I've seen. All around you are dust-covered relics from all the other businesses that have occupied this building—including but not limited to a giant pile of mannequin pieces and some pretty respectable-looking stereo equipment. At this point, if you're not creeped out, you're just not human.

Added to the craziness, a pipe had decided to burst or loosen or something and was pouring down water just next to the basement entrance. I'm still not sure what it was, but I got some of it on me so I'd rather not think about that. Best part? I get to go down there tomorrow, too!

Seriously AT&T needs to hurry on up and finalize that installation.

06 December 2007

There Must Be A Way....

This trip to Santa Cruz has been so disastrous, so calamitous, so unfortunately terrible, that I'm not sure I will recover from it any time soon.

Rather than waste the $200 I'd spent months ago on my ticket out to San Francisco, I made the decision to go out there and just leave a couple of days early, because I have very little trouble working remotely from anywhere in the world. I just need my laptop and a reliable internet connection and I'm good to go. My first day or two in Santa Cruz this was absolutely the case. I was able to get plenty of things done at first, getting some nice graphical changes pushed up to the server and such.

Then... my laptop died catastrophically. At this point, being as I've been using these computerboxen for quite some time, I knew pretty much immediately what was wrong but lacked the tools and the space to safely fix it (fixing it required opening up my laptop). At this point, I tried to make do with Brian's computer but ultimately gave up on that. I tried to change my flight back to Chicago but found that I could not without spending an absurd amount of money (about $300) to do it. So... I decided that I would come back at my regularly scheduled time and somehow find a way to deal with the consequences. How I will do that remains to be seen....

This trip to Santa Cruz really was quite different from the previous ones. Whereas previously Santa Cruz had been my place to relax and be with the people I love, this time it was more where I went to feel trapped, brooding, anxious, and depressed. I did manage to see almost everyone I wanted to (almost), and I saw the Red Elvises perform live, which was great. I also played a fair amount of pool—enough to almost completely recover my old skills at the game.

In short, I just feel like my visit to Santa Cruz increased my feelings of alienation, maybe not even necessarily because of anyone in particular but because of me. I just wasn't feeling it, and the fact that I had so much work I couldn't do just made me so anxious I had a hard time enjoying myself. My life just really does seem lately like it's not at all what I wanted. I'm in a holding pattern until I have enough money or enough prospects to move on.