April 17th, 2004



Sitting in the airport, waiting for my flight home, enduring yet another painfully slow net connection, this time GPRS. I should really switch to 1xRTT or AT&T EDGE or whatever the fasted one is, and just use that everywhere. And get a new laptop with good built-in wireless. One of the little Thinkpads, perhaps? (bitch bitch bitch, I know)

There seems to be an awful lot of Germans in this airport. Like, everywhere. And in big groups. I wonder if there's a conference or they just all fly in here and it's holiday time. I was considering asking the group in front of me during the hour security line, but then I remembered I don't interact with people without desperate need. Damn.

Every airline has their "cheap" brand now. Ted? Song? Where the hell did these all come from? How are they different from regular airlines, besides price? Airfare could keep dropping in price until we have $20 flights but I'll still hate flying as long as I have to get to the airport 1-2 hours early and be inconvenienced so much. I wish there were just quick, little planes coming and going like city busses or train stations (excluding Amtrak) and you just transfered between them to get wherever. It's probably more fuel/cost efficient to fly hundreds of people at once, but I can dream. One day travel won't be so boring.

Yesterday was my brother's 22nd birthday. Having dinner with him and family tonight after I arrive in Portland around 5:30. I'll probably be ready to go to bed right after dinner, now that I've been on this 6:30am-11:00pm Eastern schedule (3:30am-8:00pm my time) for the past 4 (going on 5) days.

Time to download some stuff to read on the plane.


I played with IO-Epoll-0.01 (epoll wrappers for Perl) on the plane and wrote a chat server, using the same style as memcached: single-threaded, event-based (state machine), all non-blocking IO, etc.

It was like 100 lines, too. So damn cool.

So now I'm thinking writing a reverse proxy with buffering in Perl would be damn easy, including the internal redirect stuff. The only hard part there is I'm not sure how to do non-blocking reads from a file.... I seem to recall that was ugly for some reason? If I'm limited to sockets, I suppose I could have a helper process doing blocking file IO and relaying it back over a socket.

Then I'll write a libevent-like layer on top to let people pick IO::Epoll or IO::Poll, or kqueue if it there are perl bindings.

How does this effect monobal? Who knows. But at least knowing how feasible this is in Perl, I can bang out a prototype in no time (much faster than my relatively slow C#) and test its speed and test features before the perl version is continued in C# or C.

Damn, boarding to Portland in 10 minutes and my battery has only charged up to 18%. :-/