Tuesday, March 30, 2004

Shitting The Bed

I got a haircut, today, at Astor (where my mom would never take me when I was a kid, seeing as they wouldn't boil all their combs. New York City in the grip of a lice epidemic!) The barber kept asking me how it felt. "How was your day, good? How does it feel?" "What's that?" "How does it feel, how does it look?" "Good, it looks good." He had warm hands, like a grand-dad.

In the seat next to mine, a guy with frosted tips was getting a trim. "What's this, you got a big scar back here." "Yeah, lots of surgery." "Surgery? You okay?" "Yeah, it's a... well, it's a brain thing. Long story." "You okay now?" "Hope so."

I'm sorry, Mike, but the guy who writes Questionable Content is a creep. Examples:That little robot is adorable, though.

Thursday, March 18, 2004

I Don't Like Your Peaches

[I meant to post this last Wednesday, but... well, I just could muster up the initiative to type it and click. It's so hard sometimes.]

I played some poker at Joel's house last night [i.e., last Tuesday]. Just dime-ante stuff, some draw, some hold 'em. We played a fun seven-card game called Anaconda. Oh, and I learned a new game -- not quite poker, but way more exciting -- called Guts. It works like this: You get dealt three cards at the beginning and there's no betting. The best hand you can make, naturally, is three-of-a-kind. Everybody holds their cards in their hands over the center of the table and the dealer counts to three. On three, you can either drop your cards, in which case you're out of the current round scot free, or you can hold onto them, in which case you lay down the hand you've been dealt against those of the other remaining players. If, at this point, you've got the best hand, you get the pot. The losers each have to contribute the value of the current pot towards the next round's pot. The game ends when you hit a round in which only one player sticks to his guns during the drop-out phase. I invented an extension to the game (I call it "Ultimate Guts") where, if all the players drop out of the round (which happened a few times when the pot got too big) all players have to pick up the same cards again and go through the count-off again, each player knowing that the other players weren't confident enough in their cards to stay in.

Work is pretty shitty these days. There's this big "project" we're supposed to be finishing, but it's just... unfinishable, really. I mean, whenever we talk to our "manager," he's like, "Yeah, it has to have this, and it should include this," like he's some kind of reclusive billionaire building a Mystery House with a thousand rooms. Your house is never gonna get finished, guy. Death march. Just FYI. Like I was saying to Devin, though, it's hard for a little baby job. I have a little baby job, really.

Now for the computer stuff: gzochi is coming along... okay. I need to restructure the shared linked-list type; it's just too fucked up and crazy for use. I'm also at the stage where I have to start thinking about content presentation. Maybe you guys can help. Here's the scoop: A game has sets of "resources" -- images, 3-D meshes, sound files, etc. -- and in order to display, rather, present these resources, the server sends what I'm going to call "presentation hints." So if you send a panel image to be used as the backdrop for a sidebar menu or something, there will be a little cue in the object XML that you receive that'll have a hint for the client to that effect. (The client is free to ignore the hints.) What I'm trying to do is draft up a lightweight... mark-up language, I guess, for game components. Peep the project entry on SourceForge and sign up and we'll discuss it.

I peeped Intolerable Cruelty last night. It was okay. Tonight Tetley peeped some tickets to McFiddler on the Roof. So we are going to see that.

I have to go to work now. Christ.

Monday, March 15, 2004

Seacrest Out!

Good morning, blogstars. It looks like I only write once a week in this thing. Sorry.

On Saturday, Ted called up and was like, "hey, do you know where to get poker chips in Brooklyn?" I'm like, no, but do you want to take a walk? So we go off walking down 7th Avenue, and we don't find them anywhere. We get to like 7th and 19th St. and still nothing, so we take a right and walk back down on 5th Ave. The deeper parts of 5th are apparently some kind of discount store mecca, so we're popping in and out of these stores asking people who barely speak English whether they sell something as admittedly bizarre as poker chips. None of them have it. Finally, we're standing next to a bar from which this drunk old man is being noisily evicted and we see a toy store across the street. It's a crapshoot, but it's the only honest-to-god toy store we've seen so far, so we go in and ask. The owner's like, "No, we don't have that," but his young assistant pipes up from the video game section, "Wait, hold on, I thought I saw some kind of poker thing over there a while back," indicating a teetering pile of boxes in a corner. He digs around for a while, and sure enough, comes up with "Star Poker," which he claims includes "seven racks of poker chips." It's only $4.99. "If you find poker chips somewhere else," he says, "they're gonna be $4.99 anyway." We think he's got a point, so we buy the thing and take it home. When we open it up, there is a dime-bag-sized pouch of tiny, tiddly-wink-like chips. Ted says, "Julian, how many do you think are in there." I guess 70. Turns out there were 71.

Then Ted and I made this great if ersatz Vindaloo. It was basically just mustard, pork, and coconut milk, but it was delicious. I crapped most of it out in nauseous agony when I got home.

My parents came over last night and took me and Mer out to City Lighting, this bar / restaurant that opened up on our corner. I was a little nervous when they were building it that it was going to be some kind of hellish nightclub, but it turns out it's a pretty quiet place, and the food is pretty great, if fabulously expensive. I had the wild salmon -- $13.95? Give me a break. It was really good, though. Lo malo es que right when I was about to go to bed last night, fucking Mimi heaved herself off the sofa at something, dislodging, the process, my laptop, which landed right on its metaphorical tailbone, the little AC power input thing, with the adapter still in it. This is the second time it's happened catastrophically -- when I opened it up this time, the little power feed thingy was hanging on by a thread. I doused it in superglue, but if it happens again, the laptop is toast. Fuck custom laptops, man. I'm gonna have to get a Dell laptop, that's how much fuck custom laptops.

Today is real beautiful outside. Is summer coming? I'm having actual confusion with this weather over whether we're done with winter and heading into summer or vice versa. Maybe that's what happens when you don't have an academic schedule to go by. Anyway, it reminds me of summer days I spent in high school loping around the Lower East and West Sides with friends and sort of scheming about forming bands, drawing comics, designing video games, and drinking -- scheming about drinking and actually drinking, too.

Links:

Monday, March 08, 2004

The Only Card I Need Is The Ace Of Spades

I'm a hell of a C programmer. I'm crazy. Here's the thing: gzochi launches a lot of threads. Creeps, think of threads as a bunch of concurrently executing blocks of code -- you've got to run things in threads if you want your program to act like it's thinking about more than one thing at once, like say, printing messages and listening to the keyboard at the same time. gzochi, for instance, has a thread that listens for new connections and other threads that talk to existing connections. The problem is that sometimes one thread needs to stop the execution of all the other threads in a coordinated way, for example, when you want to shut down the gzochi server and have the game threads politely hang up on the clients and save all the information about currently executing games to the database. This is a tough problem because there's no built-in way for one thread to kill a thread it didn't launch -- most of the time, each thread has no idea that other threads even exist. Well, try this on for size: I've written a wrapper function for the thread creation call that records an identifier for the thread object in a "registry," launches the thread, "joins" (i.e., waits) on its exit, and then removes it from the registry. If, between the time the thread gets launched and the time it exits, the shutdown function runs, it goes through the thread registry cancelling all the threads, which in turn causes each thread's cancellation handler, which does useful things like saving user data and closing connections.

SICK.

I bought a ticket for the April 4th Distillers show at the Bowery Ballroom. Picture me nuzzling Brody Dalle's massive bicep.

If you listen to Howard Stern (who, by the way, deserves a Pulitzer for doing an hour long bit about constitutional speech and the fallacy of decency and then putting a guy on the air who needs women to vomit on him in order to get off and having some willing listener come in and vomit on him; someone called in and said he'd had to run out to his front porch to puke, he'd been so disgusted, and saw people pulling over in their cars to puke out the windows) in the morning like I've been doing for the past week or so, you'd think there's going to be some kind of cultural apocalypse in this country in the next decade or so. I'd been reluctant to agree about that sort of thing, but it's looking more and more likely. Creepy, huh? It's not like I'm as attached to this country as all you simpering immigrants out there, I just don't quite know where to go when it happens. Japan? Scandinavia? Okay, but let's say that all the people that generate capital for this country were to up and leave and go somewhere else -- it's not an entirely unreasonable proposition; these guys who work at Goldman Sachs and what have you are real sick puppies, thoroughly corrupt and selfish, but the majority of them are atheists, I think. Then the only people left would be the religious trash, who, in the face of an economic meltdown, would whip themselves into a frenzy over all those Islamiacs, say, and then start firing missiles and invading Middle Eastern countries. That would be great -- nothing makes me happier than people who believe in an afterlife slaughtering each other on the altar of self-righteousness. I'm serious; I'm sorry if that creeps you out, but I get totally gleeful over the idea of a bunch of mangled theist bodies.

Speaking of Howard Stern, a friend of a friend of Mer's is staying over at our place. Apparently she's interviewing with a bunch of companies in New York and doesn't know anybody who lives here. If that doesn't make her sound a bit suspect, she's "interested in media management." For fuck's sake, that sounds like this Epsilon semi-moron Nari who I took Princeton Review with. She wanted to go to University of Miami where she could "study the music industry, which is like no other industry on Earth." Where do these people get these ideas? Is there a big machine somewhere that cranks out slightly-below-average-intelligence babies in black pants suits with congenitally attached textbooks on Marketing and no ambitions? Anyway, this girl mentioned that she'd interned at Clear Channel her sophomore year, which made me mad until I told myself that it's kind of like interning at Microsoft, which is something I tried to do once -- unsuccessfully, I might add. Is it? Who knows.

Links and stinks:

Tuesday, March 02, 2004

San Quentin, You Been Livin' Hell To Me

Okay, it's Super Tuesday. I have no idea who to vote for. Is it wrong to vote for a very good but no longer campaigning candidate in the hopes that everyone else will do the same or that one of the two surviving candidates will take notice? Or should I vote for the Senator from Massachussetts so that fucking Edwards, a religious shrimp of a man with a sincerity rating hovering slightly below Tom Cruise's, won't be put forward as a lamb to be slaughtered by the Republican slaughtering machine? It's a tough one.

On Saturday, Tom, Devlin and I peeped out a White Castle at 4th Ave. and 31st St. in B'klyn. It was one of those drive-thru franchise configurations, so we thought it would be an ironic time to go eat our tiny hamburgers in Greenwood Cemetery. Well, it was such a beautiful day and it was so nice and quite in there that we ended up spending a couple hours just strolling around. A lot of the mausoleums have glass windows / apertures built into their doors, so you can peek in. Tom asked whether I'd be scared about being in the cemetery at night, all by myself. I think maybe, if only because its right smack in the middle of a populous city, but no one would be able to help you if you got into trouble. It's like urban legends -- they're totally terrifying because the circumstances in which the awful shit they describe occur are so utterly mundane. Case in point: You're munching on some preternaturally soft bubblegum on the subway and all of a sudden a billion tiny spiders start pouring out of your mouth, and you're surrounded by people but there's nothing anyone can do to stop it. Wild.

Brave New World does not hold a candle to 1984, I'll tell you that much.

Continuing to sketch out (with broad strokes) the important parts of the unfortunately-named Gzochi. I designed a sort of abstract set object for grouping in-game entities, as well as a kind of queue for dealing with game events in a synchronous way. I also implemented Base64 encoding / decoding from scratch, right from the RFC. For those who don't know, Base64 is a way of converting binary data (which tends to be difficult to look at for humans and simple lexical analysis systems) to data that only uses the characters '0' through '9', 'A' through 'Z', 'a' through 'z', and '/' and '+'. I'd forgotten how much fun it is to implement something from a spec that's already been written for you, with reference implementations against which to compare yours, etc. Inventing new things is hard. Gzochi's on SourceForge, now, too: http://www.sourceforge.net/projects/gzochi/, but only via CVS for the moment.

From House UnAmerican Activities Coordinator Adam Cadre's page:
In the country where I live, the current top movie at the box office, made by a sodomy-obsessed Holocaust denier, is a sadistic snuff film about the torture and execution of a charismatic schizophrenic whom the vast majority of people in the audience believe to have been an omnipotent deity who created the universe.
Looks like it's Death March time at the old job, sort of; sometimes it really gets me down.

Last night I woke up with all this thick, gross saliva (mine, I hope) in the back of my throat -- so thick, in fact, that it was hard to swallow. I went to the bathroom and managed to spit most of it out.

Wednesday, February 25, 2004

The "Other" Eurydice

What up, hombres?

Google found my blog, so I had to take it down for a few days while they processed my "removal" request. I'd never seen an Earthlink home page come up in my search results, so I figured Earthlink had some kind of restrictive /robots.txt file, but I must have been mistaken. Anyway, now I've got my own robots.txt, ready to get re-processed 90 days from now. It's so hard to have a blog, don't you find?

The stupid copyright stuff I've been bitching about for so long got resolved sort of informally, which makes me a little nervous, but we'll see what happens, I suppose. I'm allowed to work on gzochi, at least. Now I'm jus' eating some carrots.

Last night was sort of hellish -- I bought this tiny little microwave on eBay a little while back, and UPS, in characteristic fashion, had made two failed attempts to deliver it to me at times when I would definitely, definitely not be home. So yesterday I was like, "I'm'a get this thing tonight." So I called UPS and they told me I could come out to their Brooklyn facility (104-01 Foster Ave.) between 8:00 and 10:00 PM -- decidedly non-optimal time, you know, but I ended up having to stay late at work, so, you know, okay. So the first bad thing that happened was that I forgot the trouble that Mer had had when she'd gone to pick up a package there and just pasted the address from their website right into MapQuest. So MapQuest gives me an address that would be easily reachable by taking the F to Avenue I. I leave home at 7:00, reach Ave. I by 7:30, and start looking for it. I'd remembered Mer saying it was right outside the station, so I knew something was wrong when I'd walked down Foster Ave. for 30 minutes without finding it. Finally I popped into an auto-body shop and asked the mechanics on duty. They said, "Yeah, people are always coming in here asking about that. I have no idea where it is." A bad sign. But I kept walking and eventually ran into a bona fide UPS guy in his truck. I said, "Hey, do you guys have a warehouse around here?" He said, "Not around here -- we've got a warehouse on Foster, but it's all the way down at Rockaway." I said, "Okay," and kept walking, thinking if I just grit my teeth I could walk from E. 7th St. to Rockaway. Well, 15 minutes later I found myself at the B/Q station for Something-or-other St. and I'm like, "Maybe I should just go home, because I don't know where I'm going."

I get home at 8:30 and Mer informs me that she'd tried had the same problem -- MapQuest is stupid and doesn't understand the number 104-01. If you punch it in as 10401 (which, given the numbering on the houses where I was walking, seems reasonable), then you get a totally different address. Basically, you have to take the L to the end of the line, and then you're right there. Now, a normal person might just put it off until tomorrow, but that's another day of having UPS stupidly try to drop it off while I'm not home, even when I've told them on the card that they can basically leave my package anywhere they want, and I like to wait until a situation is really ugly before I cut my losses and leave, because then, you know, it's just so much sweeter when you get what you want. Anyway, Round 2. So I decide I'm gonna take the B to Prospect Park; transfer to the S and take it to Franklin; take the C to Broadway Junction; and take the L to the end. It's like 8:40, and I'm kind of ticked off, but , you know, I'm gonna get this thing. So I get to the S and it finally chugs out of the station, and I'm thinking, "Okay, the S only makes three stops -- there's Prospect Park, the Botanical Gardens, and then Franklin." Wrong -- there's something between Botanical Gardens and Franklin, and that's where I get off. Unfortunately, no other trains stop at this mystery stop, and by the time I realize that I'm in the wrong place, the S is fading off into the distance, and, you know, it only comes like once a month. So I leave the station (actually, I leave the station, have second thoughts, pay again, then realize there are no other trains and leave again), and pop into a deli. I ask the proprietors if they've got the number of a cab company, and they're nice enough to call up Evelyn for me. (I buy a bag of Utz to be a good patron while I'm waiting for the cab.) The car finally comes, and the driver takes me to Foster and Rockaway. Well, it's not there. But there are some police officers just kind of hanging out, so we ask them if they know where the place is. "Yeah," one of them says. "Um... just... um... take a left up here and drive all the way down. It's the tallest building around here, you can't miss it." Okay, thanks, officer. We do, you know, what he says, and we're driving, and we're driving, and finally we're at a big intersection, and no UPS. So my driver flags another person down and asks where the UPS building is. The guy tells us to just keep driving straight for like 4 or 5 blocks. So we do that, and we pass the place where we were before, where the cops were, and finally we find the building and I get my microwave. The whole cab ride, which lasted about an hour, only cost me $22.00. Top marks, Evelyn.

But man, Mer'd told me there was nothing out there, and she wasn't kidding. It's all one-story warehouses and garages and lots full of towering heaps of scrap metal. It's like a different fucking planet, especially at 9:30 at night during winter. It was like the chilling perpetual pre-dawn wasteland where Fraidy Cat and the ship full of gay pirate mice dwell in a limbo of fear and despair. The graffiti on all the buildings was particularly surreal -- it was all done in the old-fashioned balloon style, and the accompanying pictures were mostly figures from 1980s pop-culture, like Mario Mario and Michael Jackson. I felt like I was in some creepy arcade game like Bad Dudes -- you know, that part of Bad Dudes where a car service drives you around.

I read Italo Calvino's Numbers in the Dark. It's a mixed bag. "Dry River," "Numbers in the Dark," "World Memory," and "Montezuma" were good. The other ones I could take or leave.

Sunday, February 15, 2004

Fuck

Life sucks. The world is shit. I haven't been making a lot of entries, lately, in my little journal of pithy observations about the world, because frankly I've been in a bad mood.

The first thing: Apparently the standard New York State employment contract contains this irritating clause about how anything you think or say or fucking whatever during the "term" of your employment is owned by your employer. Fuck. Here it is:
Any and all inventions, discoveries, improvements or creations (collectively, the "Invention Ideas") which Employee has conceived or made, or may conceive or make during the period of employment in any way, directly or indirectly, connected with Employer's business, shall be the sole and exclusive property of Employer. The term "Inventions Ideas" means any and all ideas, processes, trademarks, service makes, inventions, technology, computer programs, original works of authorship, designs, formulas, patents, discoveries, copyrights and all improvements, rights, and claims related to the foregoing that are conceived, developed or reduced to practice by Employee alone or with others...
Granted, I took that from a California State employment agreement, but it's pretty much the same thing. This is bullshit! I know what you're saying, "Boo hoo hoo," right? Well, the little "Invention Ideas" that I work on in my spare time happen to be the only things that keep me going. I don't give shit one about my fucking job or "Grid," whatever the fuck that is. As far as I'm concerned, Grid is something gay people get. Maybe you guys have a hard time relating to this -- imagine that someone told you you couldn't play your XBOX or listen to Jay-Z tell you that he's got "99 problems, but a bitch ain't one." You would be upset.

Well, I asked my boss delicately what the company policy was on employee contributions to open-source software, but he hasn't gotten back to me yet. Apparently, it's a "complex issue." For fuck's sake. Well, guess what -- it's still a small enough company that it would be pretty inconvenient for me to quit, because they'd have to train someone all over again to use their bullshit software that doesn't even do anything anyway. Business "people" are so fucking stupid. I'm the one that signed it, though, so it's not like I'm not stupid. And don't think I don't know that posting any of this in this stupid Online Journal is grounds for termination.

Second, I took the GREs a week ago, and fucked up the math part. That sucked. Apparently the math part is really easy, too, because getting an 800 only puts you in the 92nd percentile, but getting a verbal 800 puts you in the 99th. And most grad school CS programs have this thing where they don't have a stated policy about GRE scores, but they pretty much use a math score below a certain number to weed you out, and usually that score is something like 780. I'm not fucking kidding. I got a 730 on the math. The only school I looked at that didn't have some kind of obvious "fuck you" statement about it was Columbia, which will only cut you if you have less than a 650. I thought I was through with this shit after I got into college.

I'm reading Philosophical Investigations, but I feel like most of the stuff in it that's gee-whiz stuff for most people is covered in Intro CogSci and AI / Compilers. I got a book of Calvino stories out of the library yesterday so that I have something non-boring to read on the subway.
Does my upstairs neighbor know that the whole block can hear his stupid rap music? I think he's an amateur freestylist, too. Do all of you college faggots out there who "write rhymez" in your free time know how awful you sound? You're worse than those white suburban kids who wear backwards baseball caps and wifebeaters, because you have the naivete to believe that someone wants to listen to you read a grade-school level poem about how Euripides and Grand Theft Auto have a lot of things in common.

Monday, February 09, 2004

Don't Want To Meet Your Momma

I just want to make you comma? What? Okay, who would have thought that most rational point about Titty Masada would have been made by Dave Matthews? From the NYTimes' Grammy coverage:
Commenting on the incident backstage, Dave Matthews, who won for best rock vocal performance, said deadpan that "the interesting thing" about the uproar was that there have been breasts "since before there was entertainment."
I mean, maybe a lot of you did. I guess he's a good person? What?! I don't know!!! And I completely agree with P. Diddy...
...who performed at the Super Bowl halftime show, [and] said: "I have three sons. I don't mind. I'm very happy for them that they were able to see one of Janet Jackson's breasts in their lifetime. I don't think they'll be scarred for life."
How cool was the OutKast performance at the end of the show? How bad did you want to see Jack Black jump on stage and chime in on the "You know what to do" part? Too bad, faggots. Tom and Devlin thought it was funny when I pointed out that Andre's squaws were "not wearing proper underpants." We salute you, Space Teepee! I borrowed Max Payne 2: Max Payne Dies At The End from Devin.

Praiseworthy peepings:

Tuesday, February 03, 2004

Falconcrest Manor

Today's Times had a characteristically even-handed if boring analysis of Sunday's Titty Holocaust. But what is up with everyone making all this fun of the NYT? It reminds me of my old college days, although the 'Times is a whole lot better than Gawker, the e-zine for hometrosexuals.

Something gross: I was walking to work today and this pigeon's sitting in the middle of the sidewalk and as I approach it, it tries to sort of shuffle out of the way. Apparently it's been hit by a car or something because it doesn't seem like it can fly and it's spraying blood all over the snow as it tries to heave itself out of my way. Naturally I tried to pucker up all my mucous membranes; I don't think any got in my mouth.

[Now it's Wednesday.]

Mer pointed out that the bird I saw yesterday was very likely the same bird she saw that had chosen the garbage alcove near our building as a good place to kick the bucket. She said some if its shoulder meat was exposed. It'd had to have gone all the way around the corner to get there. Gross.

Eric Raymond: Smart, but a bit teched in the head. His solution to the problem of terrorism:
I agree with you in conceding that the state is at this time the only way we have to answer the terrorist threat. The world in which Osama bin Laden would be killed by troops hired by a consortium of crime- and disaster-insurance companies rather than a government does not yet exist.
The reasoning here, I guess, is that profit is a purer or at least more consistent motive than statecraft or whatever it is that motivates people to go into government. But if you watch the news at all, you have to wonder if maybe the desire for profit makes people treat other people poorly sometimes. So if this consortium is accountable to a separate body, then this body is probably a government. And if this consortium is, by its charter, accountable to a group of citizens, then it is itself more or less a government. Right?

[Now it's Thursday]

Okay, time to publish this fucker. Links:
  • Farnon's (I think) latest ouvre
  • IBFT, linked for reference purposes
  • Tom pointed me to this. Initially I was grumpy about it, but now I like it.
OpenRPG is currently a big mess of segfaults and damaged stack. Flaunting the rules of software development (e.g., compile and test often) is fun while you're doing it, but sad after you stop doing it.

Sunday, February 01, 2004

Finger Daemon Rides The Bang Bus

A dialogue.
Creep At Work: Don't do the install over the network -- we have the files cached locally.

Me: Oh, okay. But even if you do the network install, it only takes like 20 minutes.

Creep At Work: Yeah, but that's 20 minutes that's wasted.
You fucking asshole. Don't give me that "speed of business" bullshit. Fuck. That really pisses me off. I'm here for 10 fucking hours every day. If 20 minutes of that is spent downloading WebLogic and not Increasing Value™ then so fucking be it.

The copy of ACM Communications in the bathroom at work has an argument in the letters page about the value of math courses in a CS curriculum. The resolution? They're valuable, but let me say this: People only seem to like to teach math to savants. That is, even if I can integrate a function with 10 variables around a 4-dimensional curve or some shit, I will get a C- in the course if I can't solve a brain-teaser on the exam. I realize that a lot of psychotic geniuses take math classes and need to be challenged or they will start rocking back and forth and stabbing their stuffed animals with sporks, but if you can't enter a math major with no real prior experience with math and expect to graduate in good standing -- like you can with almost every other major -- then I'm not going to be shedding too many tears about under-mathed CS graduates. Eat dicks.

Can someone who wasted their evening on Sunday please tell me what this is all about? Did Britney's titties shoot a roman candle into a patriotic kitten's eye?
"We were extremely disappointed by elements of the MTV-produced Halftime show. They were totally inconsistent with assurances our office was given about the show. It's unlikely that MTV will produce another Super Bowl halftime."
Whore!

[Postscript: Apparently a titty was responsible for a disaster during the blessed halftime program-related activity. Thank you, CBS, for apologizing for the public display of a filthy genital part -- and also for protecting us from Commie scum. I thank the holy gonorrheal semen of Jesus Christ that I didn't see any titties until I was 17, when my dad and his Promise Keeper friends took to me to a prostitute so I wouldn't become gay.]

I got interested in OpenRPG again and finished the new common_message-based transmission format and updated the server code to use it. The client library comes next. It's looking like I should probably pick a new name for this thing, too, since there are already two other projects using this name. So anyone (i.e., Mike Bell) wanna come up with something? Here's what the project is supposed to provide:
  • An XML document-type-definition / schema for creating a world and defining rules for your own massively multiplayer online role-playing game (MMORPG). Formats for including resources such as graphics and sound in XML will also be provided, and the author of the game will be able to specify several distinct sets of resources per game, so that clients with different display capabilities (ranging from non-ncurses-text-console to fully-accelerated 3-D card) can all participate simultaneously. I'd also like to include some sort of GUI tool to make it easy to code up all the XML and visualize your game.
  • A threaded server to host these games for an arbitrary number of clients
  • A client library to enable people to write their own clients. The library will handle all aspects of communication with the server; the author of the client itself is responsible for the user interface and for writing handlers for a discrete set of messages from the server. A few sample client implementations will be included
What should I call it?

Like any good poseur-in-training, I have obtained from the library and am reading a copy of Wittgenstein. Wish me luck.

I did manage to rock out with Ted on Friday. I love Ultrasound -- it's only three dollars more to have another dude in the room with you as long as they don't turn on the P.A. SICK. Ted, though, like most people, was only really interested in getting a crack at the drums. It's like being a girl -- you want them to stick to the clitoris, but they just wanna play with the boobies. The boobies are my job. Don't get me wrong, though, I like all types of music (except Country ROTFL). Just be cool and maybe we can smoke some kind bud in my chill-out room. Let me tell you, though, it's hard to get real experimental when you're working with another person, so if he wants to do it again next week (well, do ya?) maybe I'll come an hour earlier or something and do some practicing on my own.

Wednesday, January 28, 2004

Sands Of Time, Sans Up-Time

What the fuck?

Well, Kerry took NH, and will probably take the nomination. He most certainly will not beat Bush in an election. This must make Ted Rall nigh-hysterical:
Bush is a disaster. He has nearly bankrupted the federal government and many states with his profligate spending policies. He has planted the seed of fascism in the highest levels of government with his concentration camp, red-baiting and increased surveillance powers for Das Homeland. And it's a fair bet that he's planning more unwinnable wars for 2005. The Democratic Party needs its best chance at defeating him this fall, and that chance isn't in the form of John Kerry.

I fear that too many Democrats, and too many Americans, don't get it. If Bush wins this election, there may never be another one.
No question about it. By the way, how wrong is Dean on this one:
At every turn when there has been an imbalance of power, the truth questioned, or our beliefs and values distorted, the change required to restore our nation has always come from the bottom up from our people.
Apparently last Sunday's Magazine was a bit off when it came to the sex-slave story. I didn't even read it, it sounded too depressing, but the title they ran for it was "Sex Slaves on Main St." What I want to know is: Is the title a joke on that Rolling Stones album? I asked Mer, and after a few minutes of trying to explain to me what a Main street was, she admitted that she'd never heard of the album.

So, here I am, fulfilling my duties as web-logger:That is all.

Tuesday, January 27, 2004

These Naked Women Love Animals!

Contempt, contempt, contempt

Maggles wanted a new 'blog thing so bad. What, Big Hot-Dog In Little China doesn't do it for you? I. Thought. Not.
(21:23:48) Nintendo Julian: it's just gonna be full of computer shit
(21:24:03) missmagsy: no there will also be some wry criticisms of reality
(21:24:10) Nintendo Julian: maybe
(21:24:13) Nintendo Julian: let me see what I can do
(21:24:35) missmagsy: yes, see what you can do
I'm so brave; I'm practically Todd Barry.

I finally tracked down the copy of George Alec Effinger's When Gravity Fails that's apparently been hiding out in the basement of the Brooklyn Central Library. NEAT. It's okay. He's kind of a hack, but I'm already kind of attached to the story, so it's going quickly. I keep seeing little EGA-color portraits of the characters in my mind. Man, this game Circuit's Edge, right, the one that's based on this book -- see, there's this bar named "Chiri's" that's basically a cathouse, and in the game you could pay to have sex with any of the girls even mentioned tangentially in the novel. Wild. That's how I found out what titties look like -- they are a dithered mix bright red and magenta, and the nipples on titties are always hard.

Ted graciously got us some tix to see a brilliant new work of contemporary theater. It was all about boners. And how the only thing that's important in life is making things expensive and beautiful. Oh wait, maybe that's a big waste of time; no, wait again, it's good. Ted, though. This guy! I hope to rock out with him on Friday at Ultrasound.

I kicked so much ass on the kit there last time. Did you know that almost all of Ringo's drum lines are pretty much the same? He has this fill that he really likes to do a lot, too. It goes "snare, snaresnare" -- pause -- "tomtomtomtomtomtom."

Okay, it's politics time for the 'blog. That surprises a lot of you. Okay, I'm going to come out and say it -- I think Wesley Clark might be a better candidate for the Democrats than Howard Dean. Don't get me wrong, I do like a candidate who looks very scary and seems to deliberately want to make me angry by defending the ass-shitting second amendment, but I don't feel like he can take on a nation of people who like their liberals like they like their minorities and women: Non-uppity.

I'm happy because the way Lua works finally got through my thick skull. I was worried because I knew people would want to be able to script objects in OpenRPG and I thought I'd have to Write My Own Scripting Language. Writing Your Own anything is always a bad idea; designing your own language is a real sink -- like for dishes, only for time. But Lua is nice, since the script is an object that you can manipulate, and from which can call certain C functions that you register. So an object would know how to try to move itself around, and maybe it could call this function to submit a command to the action queue. How to pace the scripts, though? Do we let scripted objects run as much as they want but only submit one action per "beat?" Or maybe we need to pace them so that the scripts can only execute a few lines per beat. I think the former, so that, for example, scripted AI can make as many calculations as it needs to. NEAT.

But I'm not even working on it, and haven't been for the past week -- just thinking about it. And you know what? That's just great. Ugh, this ramen that I ate makes me want to throw it up.

Thursday, January 22, 2004

Out Come The Wolves, Man. Out Come The Wolves!

I started thinking, you know I started drinkin'.

Give 'em the boot, the roots radicals. Come on now.

I was feeling pretty down; I've been having what I guess you could call bad dreams. It's not so much that they're bad as it is that they leave me feeling completely miserable when I wake up. But then I spent some time talking up Konrath, who went sky-diving in Vegas for his birthday and seemed, for some reason, to be even more down than me. We went to get some Wendy's, and now I feel a bit better.

I also bought a bag of fun-size Clark bars. Those things taste like paint thinner.

I can't get motivated to do the work that needs to get done on OpenRPG. I'm trying to think of the best way to organize objects in the model world that the server has to maintain. A lot of similar pieces of software do it by creating "zones," in which a particular ruleset is active / particular script runs / etc. That might not be a bad idea, except that I'd want to have zones defined in three dimensions, like arbitrary shapes, and if ray-casting has taught us anything (and I do believe it has!) it's that testing for inclusion within an irregular 3-D solid is a place you don't want to go to, sister.

You know what would be interesting? A protocol-specification language for finite-state-based client-server / peer relationships. You could use it to jot down the relevant details of your protocol, and then people could write "compilers" that generate networking code in the language of your choice. Maybe that'll be my Master's thesis when I stop dicking around and get my life together.

Tuesday, January 20, 2004

Fuck Seabiscuit

I swear, that is the boringest snoringest movie I have ever seen in my mercifully short life. I mean, yes, the sets are very beautiful, but the fucking movie is about a horse. It's like the living, sweating equivalent of NASCAR. Hey Gary Ross, you need to make it clearer to people why a horse is interesting, especially to people like me who do not give a shit about how fast things can go around in a circle. Like, what about Jeff Bridges' dead son and his fucked-up marriage? What about the fucking jockey who's blind and has scabies? What ever happens to his parents? What about Chris Cooper's character? What about depression-era America? What a bunch of shit. God bless you, Seabiscuit. We didn't fix you, you fixed us. And the Work Projects Administration. That also fixed us. Come to think of it, you are just a fucking horse.

The more I read these IT trade magazines, the more hideously depressing they sound. People are inventing all these languages and platforms and blah blah blah and they all sound so stupid. I mean, who the fuck Christ needs another god-damn virtual machine, much less one based on Windows -- as if Windows gave you a reasonable abstraction of your computer. It won't even let you kill your own processes. It must be that all these creeps get hired as economists or Financial Professionals or some bullshit like that and then they have to learn how to program, and this is what they come up with. The World needs more actual by-choice Software Engineers writing software that is consistent with good ideas about the way computer systems ought to behave, and not about a billion more C++ export macros that make your palm pilot work with your Blackberry or another custom C++ compiler for Windows that encourages you to make unbelievably stupid design mistakes but comes with a Macromedia Flah IDE. I swear, the syntax is so shitty and the library overhead so huge in C++ I'm amazed that anyone gets anything done in it, ever.

How awesome is this, by the way? Also, how long before we set up strategic war bases on every planet in the solar system. Then we'll finally be Safe from a bunch of malnourished Arabs with box-cutters.

I've been tearing my few remaining hairs out over software design for the past week. Basically, all my client-server talking functionality was based around this XML DTD called "openrpg_message," which was an encapsulation for a bunch of type / value pairs. So a sample transmission from the client to the server might look something like:
<openrpg_message>
<content type="foo" value="bar" />
<content type="jibber" value="jubber" />
</openrpg_message>
Unfortunately, this format is insufficient for a lot of functionality that still should be using this type of messaging. For example, when the client sends an administrative command to the server -- a non-game command, like "send a private message to this user" or "show me who else is logged in" -- it should use the openrpg_message format, and so should the response. However, using the current DTD, there's no way to express an arbitrarily large set of discretely-indexable data. That is, suppose a user asks for a list of something, like a list of help commands or a list of other users on the server -- there's no good way to return that data, except as a comma-delimited list of values within a content tag. And what if each item in the set needs to have a corresponding item in another set. Extending the DTD is not a huge deal, except that I've written a bunch of functions that convert the incoming message to a hash (of all the type / values pairs), so that adding data types to the DTD would require a change in how I handle hashes. I was getting real depressed about having to do something that just didn't seem right, like adding a "list" field to my hash struct. Then it hit me -- I should be wrapping the entire message in its own struct. So now I have something like:
struct openrpg_common_message {
struct openrpg_common_hash *hash
struct openrpg_common_list *list
And in the future...
struct openrpg_common_object *object
};
So every message that gets sent will at least have a hash, since it is required to have at least one content element, but it might also have a list of values and/or an object -- so it's now suitable for "add_object" messages sent to the client. Not a 100% beautiful fix, but a fix. No doubt I'll have to revise it all again later.

Sunday, January 18, 2004

I'm Just Guessing, Okay?

It's weird that The Onion A.V. Club had such a positive reaction to Paycheck. Don't get me wrong, it's an okay movie, but you know... so.

Free will is an illusion. Stop crying about it already -- ethically speaking, whether what you perceive as free will exists in the silly Cartesian sense (like, is it in here?) or is merely a side-affect of the complicated interconnection network of neurons in your brain does not really matter in terms of your day-to-day interactions with other human beings. However, it has big implications when it comes to your attempts to build a machine that can see into the future. See, if there actually is such a thing as free will, then you can avoid taking the actions taken by your avatar in a vision of your future self and thus the vision of the future provided by the machine is wrong and so such a machine cannot exist. If there isn't such a thing as free will, then you would almost be able to build this machine. But wait -- how could you see your own future and not be able to act to change it? Try not to let this fuck your mind: A future-viewing machine would need to be able to show you the outcome of a series of wave function collapses -- theoretically, each quantum superpositioning (you may comfortably abstract this into an "event," I think) produces a set of outcomes in the form of parallel universes in Hilbert space. Maybe your machine can enumerate all of them, and one is bound to match the resulting outcome of the collapse of your universe's cumulative wave-function combined with the outcome of your seeing a vision of the future. The result would be a vision of the future from which you would actually be unable to deviate. But to compute this, the machine would already have to have an accurate vision of the future with which to provide you -- something it wouldn't have until finishing the computation. It's an infinitely recursive function, like some kind of mega-quine. Point is, you can't build it. Sorry, Philip K. Dick -- Richard Feynman just fucked you with The Rabbit.

Don't think I'm saying that the mind's perception of free will has anything to do with quantum mechanics. I'm not. Anyone that thinks the two are related in a significant way is an idiot.

Wednesday, January 14, 2004

It’s Warm And Humid On Swanson Street

So, among other things, I burned the Distillers album this morning. Brody warned me not to, but I'm no longer really into buying CDs that I'm not sure I'm going to like. And, you know, this one is kind of a mixed bag. I pretty much agree with the critics -- the first few songs are pretty great, but the rest of the album is a bit of a drag, especially this fucking 15-minute feedback wank session at the end called "Death Sex." I mean, for fuck's sake. She's only 23, though, and, after all, what have I done with my life, really?

But I definitely like rock stars who call me a fucker and an asshole. You go to shows these days (well, I don't, really), and everyone's always like, "Oh, we love you guys so much, thank you so much for coming, we do all of this for you." It's so embarrassing. If you're not ready to have a combative relationship with your fans, you need to get of punk rock and become a party planner or something. You can cover Gary Glitter live and get everyone psyched for a hockey game.

Oh man, I got so much stuff done last night -- graded some worksheets for Mer, did the dishes, tidied up; I didn't even have time to play computer at all.

[Now it's Thursday]

Ugh. I feel like the crap parade. Tom was saying it was inequitable that he should be throwing up all day at work and I should be fine, but check it out, guy: I spent like 45 minutes to an hour on the toilet last night shivering and spraying out squishy Lincoln-logs of bean-flavored paste. Eugh.

Hey Dennis Miller -- if September 11th made you into some kind of reactionary psychopath, it doesn't mean you're "doing the right thing to protect your country" or "ensuring that freedom will not perish from the Earth" or whatever the crap. It means that when the going got tough, you got stupid and emotional. "Well, I guess on the farthest end of the left they'd say, 'That's our fault.'" I wonder where that leaves me? Oh yeah -- it's our fucking fault, asshole. If we can do that kind of shit in other countries for hundreds of years, they're not allowed to do it back to us? I guess the difference is we did it dressed to the nines. Can we please ship some expensive guns and stealth fighter jets over to Afghanistan or Korea or whatever so that the next time they kill 4,000 U.S. civilians it doesn't look like a 7th-grade science project that was slapped together the night before?

I was going to say something about the repulsive porcine jibbery-jubbery David Gelernter, but his awful, unusable software speaks for itself. I wonder if he likes to organize his screeds against women, gay marriage, and Arabs in a visual time-stream of system-resource-hogging floating solitaire cards. However he does it, he does it without a fucking right hand. Some people do not handle tragedy very well.

Ooh, look, they're re-releasing The Battle of Algiers. Wonder why?

In between bouts of nausea and burping, I managed last night to move OpenRPG's server-side client locking over to a more sensible model. The problem: The thread that broadcasts object updates during a game might select a large block of client objects from some table and start iterating through them; at the same time, the client listening thread might receive a command or a hangup or something from a client at the end of the other thread's list and kill and remove that client. So now the broadcast thread has a pointer to garbage and you're looking at a segfault. Solution: Include a mutex in each client and lock on it before you try to do anything to it; once you've got the lock, check the state field. If it's set to queued-for-deletion, then you know you've got a dead client and you can skip it. So who actually deletes the client? I don't know yet; whoever it is is going to have to lock on the global client list and then ping a function that removes the client from the game threads' client lists as well. Concurrency, huh? What a shit-shower.

Tuesday, January 13, 2004

All These Fiends Want Teenage Meat

Tom drew that picture of me while I was playing my Squier over at his place the other day. He was worried that my feelings would be hurt, but I think it looks awesome. Mer said, "Wow, your nose is huge. You look like a celebrity. That's what Tom can do. He can make people look like celebrities." Yes, it's true.

A truly horrifying cover shot for the Times the other day. I like how the new metrosexual Jew thing is to prove how much you love and understand what it means to be a Jew by moving from your cushy Manhattan apartment to some waste-pit of a region, joining their secret police force, and conducting raids on the houses of an ethnic / religious minority. I swear to god, they interview these people on the local news and they say things like, "It's every Jew's duty to protect the Fatherland and restore it to its former state of glory." Mmm, is that the taste of irony? No, that's just iron in the blood I'm coughing up because I want to throw them all in the gulag so bad.

Who else has it coming to them? Oh yeah, the repulsive Afghan extremists who don't want women on TV unless they're wearing those special suits that give them an electric shock whenever they menstruate. Please explain to me how treating women like dirt is an important part of a culture that needs to be preserved. Right, because it's a tradition. It would be nice if the Big 3 Anti-Human World Religions could be phased out like other ancient traditions, like, for example, like preparing your own food. Until then, can we please set up little Human Rights Tribunal franchises all over the Third World so that Muslim men who are serious about the religious tradition of women not being allowed to go to the doctor can be conveniently tried and gassed in the course of an afternoon? Kthx.

The Chinese are still behaving terribly.

I've been spending a lot of time trying to re-organize the OpenRPG server code so that I can shut down client threads and the server itself without creating memory leaks. It's a real problem. Maybe I'll try to work on it at work today. Maybe this is why people don't write Enterprise-Class Network Applications in C.

I think I saw the guy who plays the dad in Max Magician and the Legend of the Rings on the subway this morning.

Last Friday I went over to Ultrasound after work and played the drums for an hour. It cost $10.00 -- I'm not sure if that's a good price, but they have much better equipment than fucking Prince. I swear, the studios at Prince are like rooms in a flophouse. One time Igor took us to a room where all these busted-up bass drums were piled all the way up one wall and there were a bunch of guys just hangin' out and smoking. They didn't leave until like 10 minutes into our rehearsal. But it was so cold out Friday; that was one of the fucking cold days last week, and my hands were totally frozen because I didn't have any gloves. So maybe for that reason I didn't really notice it when I clipped one of my knuckles on the hi-hat. The dopey engineer guy came in to tell me I had five minutes, and I was like okay, and then I looked down for a second and there was this huge, like, 4-inch-in-diameter bloody wet spot on my jeans where my left hand had been daubing knuckle-blood everywhere. Gross.

Addendum: I forgot to mention it -- I found a copy of this sci-fi book I've been looking for for a long time called When Gravity Fails. Turns out my local library has it! I've wanted to read this one since I played a PC videogame adaptation of it called Circuit's Edge (what a stupid name for... anything). Every sci-fi author likes to predict some kind of shift in the balance of culture that happens in the near future -- Neal Stephenson has the Chinese taking over in a big way in The Diamond Age -- and this one's all about the Middle East, as far as I can tell. Neat.

Friday, January 09, 2004

Nook Nook!

Here are some excerpts from other web sites. I wish more people read my 'blog. Jerry from Penny Arcade remarks on the nature of fate -- I agree, except for the part about the manatee:
...you think, well, I was in the same physical place that person was and perhaps it could have been me instead. This doesn't make sense, I know. Life isn't some kind of cakewalk where the music stops and then they take the person on square 23 away to be a professional tennis player.

I don't really have any complaints about how things are going, at least, no legitimate complaints. I sometimes wish it were feasible to own a manatee. You make your peace with things like the manatee issue and you move on. But man, there is something about success in others that just kills a person.
Telsa Cox's diary offers adorable insight into marital bliss:
Alan now officially Does Not Approve of the intercom. He has decided we need a computer (or, more properly, an appliance) in the kitchen. This is all because I beeped it at him to tell him that I needed him to stir the sauce. He thought it meant tea was ready.

He is very good at stirring the sauce, though.
I have a huge crush on Brody Dalle / Armstrong and plan on burning her CD to listen to at work. Baby, I will write GPL'd software for you. But "Open up and let it flow / I'll make it yours, so here we go???" Come. on.

Scores please.

Thursday, January 08, 2004

Screwing The Pooch

I am taking the GRE on February 7th at 8:00 AM. Christ in a potato pancake.

The Company Party was on Tuesday. The other QA guys and I got a cute, impromptu speech from our new manager who'd had a little bit too much to drink about how much he was looking forward to working with us. The thing is, though, he started off by talking about all the people he'd fired in his life and how bad they deserved it. No joke, it was pretty weird. Then I drank a bit more and dared Skov to go in on a deal with me wherein whoever got in first Wednesday morning would get to fire the other guy. He offered to just plain old fire me right then, but I was there like clockwork at 8:00 AM and he didn't make it in 'til 10:30. So I guess you're looking at the new Very Important Person of Software Engineering.

Speaking of work, the lone tech writer here, who's self-published a couple of novels, has created a cute little hypertext glossary of his life. This entry contains a pleasing description of an idol of mine:
His appearance is a bit offsetting [sic], because he looks and smells like someone who lives in a train tunnel.
Do you guys remember the Promise Keepers? What a depressing fucking joke that is. Imagine a football stadium seething with resentful, emasculated homonculi raising their fists in celebration of mediocrity. Please get really excited about staying with your ugly, ignorant wife and raising your mongoloid children -- you are all doing a great job to briefly stave off the implosion of the repulsive middle-American Christian working class. Which Promise are you guys Keeping exactly? Is it the one where Joseph Smith and his army of Native American super-hero angels decreed that there would never be a shortage of grandmas working at Waffle House?

I have become a slobbering devotee of Valgrind. Christ. This thing is less like a debugger than it is like a shiny metal box covered in razor blades that solves the Halting Problem. I mean, no, but it includes a fucking x86 emulator, generates 9 fucking bits of accounting data for every shitting byte that you allocate, and its various components are named after It's so comprehensive it makes my mind wander out to the edges of the giant gravastar bubble we live in just contemplating the possibilities.

Ultimately, though, even Valgrind was unable to get to the bottom of the free() problem I've been battling for the past week. See, all my debuggers had been telling me, in different ways, that this address foo that I had to keep allocating and freeing did not come from malloc(). I'm like, what the fuck?! I'm looking at the line where I malloc it! Well, it turns out that fucking dmalloc's fucking dmallocth library that I'd been linking with does not correctly annotate pointers that are malloc'd in space that comes from dereferencing other malloc'd pointers. That's just what I'm guessing. I have no idea.

Sounds like it's business-time in Creep Land -- i.e., the Office Kitchen.

Monday, January 05, 2004

I Don't Even Like It

Well, it's a New Year -- it's 2004, and nobody likes to make a web-log anymore. Least of all, me.

So Mer and I made our pilgrimage to Sarasota. I do not like that place at all. I was shitting explosions the whole time. Thank the fuck Christ it's over.

For New Year's we went to this guy Kevin's house over in the Heights, and we were drinking and you know, whatever, and everyone decides to go down to the courtyard for a cigarette. So I'm down there and you know, we'd been singing around the piano up in the apartment, and we're still singing some songs down in the courtyard. About 15 minutes after we get down there, this woman comes down and is like, "Don't you know how much noise you're making? This is a private apartment building and it's really late and blah blah blah." So we're all like, "Okay, we're sorry, we'll leave," but she says, "You're visiting someone in the building, aren't you? Who are you visiting?" When she says that, we're all like, "Booozht!" because Kevin's subletting, and if we get him in trouble it could be disastrous. So no one's saying a word, and the woman keeps asking us which tenant we're visiting. Finally, Mer goes, "Well, we wouldn't want our behavior to reflect poorly on our host, so I don't think we should get into that." The woman's like, "Well, then, I'll just consider all of you strangers on my property," and Mer's like, "Yes, I think that would be best." And the woman went back upstairs to her cushy waterfront apartment. Granted, group singing is kind of inherently lame, and I have certainly told groups of singers to shut the fuck up myself in the past, but, you know, we were very polite, and it's Christing New Year's for Christ's sake. Some people are plain old vindictive, I guess. Not me, though. Anyway, well handled, Mer. I was very impressed. She also had the good sense not to tell Kevin about it, so that he'd have plausible deniability later. S-M-R-T.

On Friday I went to a party at Alex Plakias' house. I totally didn't recognize her parents, since I hadn't seen there in like, what, 15 years? But they were all about hugging and kissing and "say hi to your family for us." Sure, I'll do that. She's pretty hot; that girl wanted to play dirty marriage with me all the time when we were kids. But now she's graduated from Hamilton -- and she's already in grad school! What the Christ. She's also got this library of pretentious books in her bedroom that I wish I had. Time to sign up for the GREs.

How do you guys feel about all this We-Know-What's-Good-For-You legislation? I mean, look, I'm practically a communist in terms of the size of government I prefer, but some of this stuff is pretty stupid, like this thing that got passed in Ohio that makes illegal the act of videotaping in a movie theater. Why is that the State's business? Private companies should have to take care of themselves. Mind you, I'm completely in favor of the anti-smoking-in-bars thing, because the burden of taking care of smokers falls almost directly on the State, via the cost of Medicare / Medicaid / whatever it is. I haven't really thought about it that much; maybe it's a bad precedent. No, wait, I like it.

Speaking of such issues, it amuses me to no end that noted Libertarian and prolific Open Source evangelist Eric Raymond thinks he has any chance of picking up girls at a movie screening, even if it's The Lord of the Rings. The man is a toad; physically, and, pursuant to that, on account of his aggressive enthusiasm for talking about sex. Going forward, let's agree that it's only okay to write about sex if you're sexy. Granted, that's a bit glib, but things are getting gross out there.

I have made my submission to Adam Cadre's Lyttle Lytton contest. No doubt it will bring me both fame and happiness.

I spent this weekend trying to iron out a couple of truly pesky bugs in OpenRPG. One of them, I got -- when you pass a a set of file descriptors to select(), it removes the file descriptors that didn't have input to read (or space for output or whatever), so if you're using it to calculate timeouts, like I was, you have to re-add the client's file descriptor in order to check to see if the ping that you sent got a response. That was stupid. I suspect that the other one, though, is a delicious malloc-overrun. For those not in the know, when you need to store something, anything, in C, you need to allocate memory for it. The memory allocator, malloc(), returns a block of memory for you to use, and stores, directly in the vicinity of that block, some accounting information. Unless this accounting information falls on a page boundary, you can easily overwrite it using any number of helpful string manipulation functions, and you won't know you screwed up until much, much later. This sucks. Fortunately, I've got this delightful little library called NJAMD by Mike Perry; unfortunately, it hasn't caught the error yet, and it really should have. Maybe I have to turn up the strictness or something.