Sunday, September 19, 2004
"Who The Hell Is Elaine Stritch"
Watching the Emmys for some reason. Tony Kushner, you are the original punk rocker.
I just solved this stupid synchronization problem that I'd been poking at all weekend and not getting. I say it's stupid because it looks obvious now that I've solved it, but, you know... ugh. And of course I'm going to explain because that's one of the things I like to do. So.
A semaphore is a synchronization primitive (well, it's not necessarily a primitive, but...) consisting of a condition variable and a counter. You can "wait on the semaphore" by attempting to decrement the value of the counter. If it's greater than zero when you do this, the counter gets decremented and the call returns immediately; if it's zero, your thread goes to sleep until another thread "posts the semaphore," incrementing the value of the counter, at which point your thread wakes up, decrements it, and the call returns.
Many semaphore implementations provide, in addition to the "wait" function, a "trywait" function, in which you merely check the value of the semaphore, and if it's zero, instead of sleeping, you just inform the calling thread that it would have slept. If it's not zero, you do what the normal wait function does, which is decrement the value of the counter and return. My semaphore implementation provides this function.
Here's what happened: I wanted to wait for an item to be added to this queue (the queue's embedded semaphore would get posted when this happened). I didn't want to wait forever, though, so I did a trywait on the queue's semaphore, and if it came back false, indicating that the value of the counter was zero, I would wait for a while to see if somebody added something to the queue -- and if they did, grab it and return it, otherwise just return NULL. Here's the problem: I'd do the trywait, it would come back false, so I'd sleep for a while, get woken up by somebody adding to the queue, grab the value, but hold on a sec -- the semaphore's counter never got decremented, because the trywait came back false initially and we never decremented when we got woken up! So the next person to wait for an item to get added to the list would see that the semaphore's counter was non-zero, decrement it, try to grab something off the list, get NULL, and, well... It showed up in my program as the server pinging the client over and over without waiting for the timeout period to pass.
Why do I post these boring explanations of boring stuff? Well, because it's not boring, fuckers -- it's awesome! It's totally a mind-blow the extent to which code can seem like this gaseous, chaotic stuff until you resolve a bug and all of a sudden it all coalesces into a beautiful, mechanically glorious whole. Three worlds, guys. Three worlds.
Starting to work on documentation; DocBook is real fun to work with, but the docbook2texinfo converter is super frustrating because it insists on naming your fucking info document with a normalized string it generates based on a bunch of mystery factors that I can't control. Like, for example, I can't make it produce 'gzochi-server.info' out of 'gzochi-server-manual.docbook.xml'. The best I can seem to do is 'gzochi_server_manual.info'. You hear that Steve Cheng? Insane. And don't get me started on how retarded automake can be when it comes to dynamically-generated documentation.
I didn't do anything this weekend.
Thursday, September 16, 2004
Marky Next
Oh yeah, and going home on the F, the train was making express stops because of construction or something, so one of the conductors was announcing which stops were gonna get skipped, but the intercom system was characteristically crackly, and it just so happened that whoever was driving the train needed to honk the horn at that moment because we were trying to pass another train or something, and, well, those subway horns are loud, so you basically couldn't hear the stops that the woman was announcing. Anyway, this fat, pretentious-looking dude sitting next to his girlfriend yells at the top of his lungs, "We can't hear you when you're blowing the horn! Argh!" Man, that pissed me off. I mean, I've got no surplus of love for the MTA, but:
- The person speaking over the intercom is not necessarily the person driving the train, moron.
- She's gonna read it at every stop.
- No one finds it plausible that you were so overcome with rage that you just had to vent your frustration in the most affronted-white person way in the middle of a crowded subway car on a Tuesday night.
- No one is impressed by your inability to control yourself.
- You are a fucking idiot.
Wow, how much is it literally about to rain?
So I just came back from the laundromat, where there's this adorable fat old curly-haired golden retriever. Okay, so some of the dryers they have are missing these top panel pieces, so you can see the inner workings of the machine, and guess what -- it's on fucking fire! Is this how all dryers work? The first time I saw it I thought something had gone wrong, but all the dryers there seem to do that. I guess if you want to make something hot, fire's the way to go.
Tuesday, September 14, 2004
Snapple-Grappling

Man, was my stomach fucked up tonight! I was eating carrots all day at work and I guess that was too much fiber, because when I got home some things started churning around down there. It's funny because usually when I get sick to my stomach it's this awful whole-body thing where I just feel like I'm gonna die all over, but this time my mind was very clear and I was just thinking to myself that I'd better get to a shitter. And boy, did it stink. I'm sorry, but it's true. The thing is, I was in the middle of feeding the cat -- I'll get to that in a second -- when I had a real strong urge to go, and she was so intent on getting me to finish mixing her food that she tried to follow me to the bathroom. I'd left the bathroom door slightly ajar and she stuck her paw in and tried her hardest to open it. After warning her that she wasn't gonna like the smell, I cracked the door enough for her to poke her head in, and she did, but yanked it right back out as soon as she got a whiff in this really funny awkward way.
Oh yeah, so the vet thinks she might be chewing on herself because of a food allergy, so we're feeding her this 'limited ingredient' cat food, which apparently consists of naught but duck and peas. Sick, right? And the weird thing is, she's hungry all the time now. She can't wait to suck down her next serving of this greyish-green gelatinous puree.
Guess which of my many Bosses came back from two weeks of paternity leave that I'm pretty sure are in addition to his standard 4 weeks of vacation and opened our first meeting with, "I don't care [if] you got to stay late." Take as many guesses as you like.
As if you guys didn't have enough blogs to read, Raymond Chen over at Microsoft has a great and interesting blog about the reasons behind various Windows / Microsoft / x86 idiosyncrasies. Everyone praises it; now I'm praising it.
Jesus Fucking Christ: (link-a-dink)
BEIJING (Reuters) - China executed four people, including employees of two of its Big Four state-owned banks, for fraud totaling $15 million, the state Xinhua news agency said Tuesday....
The precise number of people executed for all crimes in China is a state secret. Reports range from 5,000 to 10,000 a year, many for murder, but they have also been killed for corruption and crimes as minor as bottom-pinching.Maggles has a 'blog. She didn't think I'd find it, but I did.
Thursday, September 09, 2004
Red Hot Moon
I took The Rase out to dinner tonight and who should we see at Dojo but our old friends Asta and the loathsome Zeke. I hadn't seen Asta in years, literally. She is looking good, let me tell you. She once told this guy who was giving her a hard time "Suck my pussy!" and, you know, was pretty much able to sell that line in an earnest, non-sassy way, no easy task.
Um. What. Else. I am thoroughly bored and not bored with my job.
Weilding His Hideous Sandwich
Man, was it ever hard to get to work yesterday. I waited for like half an hour at the 7th Ave. F stop before someone on the opposite track yelled out to us that the East Broadway stop was flooded and that F trains were basically not going into Manhattan. So I got out of the station and grabbed the B67 to Flatbush and 7th Ave. for the 7th Ave. Q/B stop. A B came pretty quickly, and I thought my troubles were over until we got over the Manhattan bridge and then just... stopped. After about half an hour or 45 minutes or so, the radio twittered to us that there was a power outage at the West 4th St. stop and that trains who'd been trying to enter that station had decided to turn around and go back to Brooklyn. At first I thought that that's what we were going to do, which would have sucked, but it turned out we were just going to sit there and wait for them to get out of our way. That took about 30 more minutes. Finally they nudged our train just barely into Grand St. and we all had to walk through the train to the first car to exit. And there was a D train just sitting at Grand St. waiting to take me to work! And it did! That was great.
But the most irritating part of all of this was this very pear-shaped, baby-faced, acne ridden business-casual intern guy in our car who was or was acting like about 15 years old the whole goddamn time. He would take off his fucking discman headphones every few minutes and say things like, "They just can't do this to us. Fuck;" or, announcing to the whole car, "Okay, what I need right now is a fucking cigarette." Great, all the construction workers and part-time security guards trying to get to work are very impressed at what a grown-up smoker you are. They totally don't think you're a faggot. The more he said, "Fuck," the more ineffectual and irritating he sounded. Damn it. Oh yeah, and he totally wasn't cool with having to evacuate the train. While we were filing out, he kept asking everyone, "What are we doing? What are we doing? Are they going to make us walk through the tracks? Because I'm definitely not cool with that."
Anyway, what am I doing? I don't know. This laptop feels like it's ready to bite the dust. Yesterday I couldn't even get it to turn on.
Saw some Big Business last night. Happy Birthday, Chrittopher! With the help of Eric Prengel, I bought a delicious hero sandwich for only $4.50, and it lasted me all night!
Tom lent me a copy of Joe Sacco's Safe Area Gorazde, and it's really great, particularly the drawings. The reportage is, well, I don't know, it could use a good editor, most of it. But the drawings are fantastic, especially the ones Sacco does of himself. He looks totally creepy in his comic, even though he's actually kind of good looking in real life. I'm also reading W. G. Sebald's The Emigrants.
I miss you, too, little man!
What's going on with my programming project? Sorry guys, this has to be a part of every entry. Well, I got the ncurses interface for the little debug client I'm writing mostly off the ground. Ncurses is hard, but once you figure out how to do all the ncurses stuff in a single thread, it's cool. The only hard part is I can't figure out how not to force ncurses to busy-wait switching between listening for getch() input and listening to some other source (in my case, updates that show up in a synchronized queue). If you could do a select-based thing, it would be easy, since I could use a named pipe with the queue, but I don't know how to get getch() to write to an fd in the background. Crazy.
Tuesday, August 31, 2004
Twitter And Tweep
Believe it or not, I decided it would be a good idea to wear a suit to the march -- first of all because I look real snappy in a suit, but second and third because I wanted to demonstrate that young urban professionals (such as I am, I suppose) don't like Bush and, in case trouble broke out, the media might get some pictures of police arresting a guy in a suit. Well, there didn't turn out to be any trouble, but there did turn out to be a lot of heat. We got there -- there being the corner of 16th St. and 5th Ave., a location within this protest-assembly radius -- around 11:00 AM and then just pretty much stood around until 1:00 PM. (The thing was supposed to start at noon.) So there's the first picture, which I hope will convey something of how hot it was, since it doesn't really convey much else.
Oh yeah, so on the way to the thing, though, we ran into some UFP people who were giving away free signs to carry. We hadn't thought to make any signs, so we grabbed a couple but didn't really read what they said until it was too late to give them back. It turned out they were all about ending the occupation of Palestine, and, you know, I hate every goddamn country in the Middle East as much as the next Northeastern Elite, but I wasn't really feeling fired up over the concept of subhumanoid idol-worshippers fighting each other over a pathetic stretch of scorched earth, so after a few half-hearted death-to-Israels, Tom and Ted helped me turn my sign inside out. I wrote "Quagmire Accomplished" on mine; Cuntington did the same to his but ended up writing "Girlie Men 4 Kerry" on it, as you can see in that picture where Tom's holding it. That's a sentiment I can get behind, if you know what I mean.
Here's this inflatable pig thing that doesn't like Republicans.
So it was really hot, right? And I was wearing a suit, lest you all forget. And we were going like, fucking... one block an hour, literally. So at around 27th St., Katharine and I decided to take a little breather and stepped out of the march. I had to take a piss like nothin', so I roamed around until I found a wonderful, wonderful Starbucks that let me use the pisser without any questions. While I was waiting on line for the bathroom I heard this olive drab girl with a whole bunch of olive drab shit in her hair say, "This year I'm all about anti-corporate stuff. It's so freeing!" while she sipped on some kind of icy-pricy coffee drink. Irony, people: It's what we're fighting for. Irony: Is it the new... irony?
Katharine dropped out at this point. Wuss! A block later I saw an old woman with heatstroke throwing up a popsicle.
At around 30th St., we started seeing signs of the convention. First off, this hotel is apparently real happy to host the delegates. Well, Southgate & Affinia, if I ever have to stay at a luxury hotel in my hometown across the street from one of the most hectic awful transit hubs in the world, it ain't gonna be yours!
As we were getting close to the Garden, we saw all this black smoke from around 34th St. The local news later informed us that some "anarchists" had set this papier-mache dragon on fire to get a rise out of the cops. Bad, bad anarchists. Shame on you.
No, Republican National Convention; Thank you.
As we got to the garden, people started chanting "George Bush, go home!" Here's the thing, though -- nobody wanted to shout the whole thing, they either wanted to say "George Bush" or "go home!" and really nobody wanted to shout "George Bush." So I was the one who had to do the "George Bush" part, and I did it for about 5 minutes until my voice gave out. Here's a picture of all the cops hanging out around MSG; you can't really see too well, but there were a lot of them.
I don't have a picture of it, but that gigantic Fox News sign on 34th took a lot of verbal abuse as we rounded the corner towards 5th Ave.
Going across on 34th St. is where we started to meet some of the counter-protestors. The infamous Protest Warriors were the first ones we saw; they were all standing behind the barricades holding signs, most of which were concerned with various hypocrisies of Socialism. Hey, I'm a Federalist, guys. Don't waste your breath.
There were also like half a dozen garden variety religious wackos who had the typical array of signs and banners. I told the guy with the mangled fetus pictures that we should abort more babies, and this female protester next to me yelled out, "Leave my body out of this!" I'm not sure if she was agreeing with me or not. This other guy had this crude stenciled poster of a fighter jet that said "Support Bush, Support Jesus." I tried to get a round of "Fuck Jesus" going in response, but my fellow protesters pussed out; this dwarfy girl who looked like a real pain in the neck even told me not to go there. Christ, I hate women. Abort more babies!
Okay, last pictures -- this woman had a pretty sweet costume, but nobody was giving her any props. You liberals don't know a good thing when you see it.
This sign was cute, I guess. A bit too clever for its own good, though.
Another picture of cops, this time in this alley at around 30th St. and 5th Ave. One thing that's difficult to explain without better pictures is how many cops there were, especially on the 5th, which was a little weird, since that's where the protest started thinning out, actually. There would just be these huge banks of them, standing silently in formation, waiting for something to happen. And nothing did.
Okay, that's the end of it. Afterwards Mer and I went back to my parents' house (they'd marched as well, though we hadn't met up with them) and had some red wine and hamburgers on the deck in proper limousine liberal style. Now back to boring bullshit:
I want to donate a lot of my old comics to this comics museum / archive thing, but for tax reasons, I think, they want me to figure out how much I think they're worth, so I bought a copy of Wizard yesterday and carried a box of comics home from my parents' house and looked them all up in the price guide. Turns out this one box was worth around $300! Career in philanthropy, here I come.
I also had lunch with Devin at this place called Paul's on St. Mark's. Devin can really eat a hamburger, I tell you what. That thing was like a medicine ball made of meat.
What else, what else. Oh, so I finished The Stranger and now I'm reading some Jean Cocteau plays. The Infernal Machine is the best so far. I beat that game Knights of the Old Republic, too, playing as a "Darkie" Jedi. The ending is not great for either alignment, but let me tell you, you can kick a lot more ass as a Sith than as one of those ass-sucking Jedi. Speaking of ass-sucking, have you guys seen that new building-sized Calvin Klein ad on Houston street? That slut is all over that dude's butt.
Shattered Glass is off the hook.
Thursday, August 26, 2004
That Don't Matter, Joan
Boy, am I glad I didn't go to Amherst, though. Maybe it wasn't a representative sampling, but the people at the show were pretty creepy.
Ted got us tickets to see this play Frozen on Friday, which was fun as always, except that Frozen is probably the least interesting play you could possibly make about murdering children. Also I got some kind of awful food poisoning before the show and missed like the first 15 minutes because I was crapping all my organs out in the bathroom. They played this series of chimes like 3 or 4 times to get people to quiet down, I guess, but I started wondering if maybe they were trying to get me to hurry up in the john.
I got home at 7:40 or something today, which is pretty horrible. I don't feel horrible, though. The cat is chasing a nickel under the couch. I'm reading The Stranger and loving it.
I want to do this on Saturday, but I can't figure out where in NYC it's going to happen.
Monday, August 16, 2004
My Name Is Brody, I'm From Melbourne
Woah, has anyone out there tried to program with ncurses? That thing is fucked. It's like trying to position text absolutely in pre-CSS HTML or relatively in post-CSS HTML. This is all fucked. God, I want to die.
Reading: Killing Time, by Caleb Carr. The guy's an okay writer, I guess, but he's not much good at developing the interior monologue of the narrator. You know what I mean? It's like, it's really hard to tell what kind of a guy it is that's tell you the story.
WLIB sings:
Are things really getting better,
Like the newspaper says?
Thursday, August 12, 2004
Vultures Circle Round
My fucking bike got stolen last weekend! I kind of knew it could happen when I chained them up outside, so I'm not exactly reeling with the shock, but you know, I actually liked my bike, and I'd been nagging myself for some time to take it to 'On The Move' over on 12th and 7th to get it fixed up. Maybe it's for the best -- if it was gonna get stolen no matter what, I'm glad I didn't pump an extra $40 into it before the fact. I took Mer's bike upstairs (they didn't take it even though the two were chained together -- where's the justice, I ask) and put it in the bedroom.
Mer bought us an XBox! She got it with the game Knights of the Old Republic, which is pretty great. She's playing it now. It kind of defused my plans to buy a fancy new computer to play Call of You-Know-Who-Hu: Dark Cronners of the Scurth, because that game is coming out for XBox. So is DOOM3! Eat a grinch.
"At a point in every person's life, one has to look deeply into the mirror of one one's soul and decide one's unique truth in the world, not as we may want to see it or hope to see it, but as it is," McGreevey, a Democrat, said.Sounds like the guy wanted a piece of him:
The Associated Press reported that the man involved in the affair, a former government employee, demanded "an exorbitant sum of money to make it go away," a high-ranking administration official told wire service. Cabinet members and administration officials learned of that threat Wednesday night, the source said.First Alan Turing, now Jim McGreevey? You just can't have a gay affair this century without getting fucked.
Burned a copy of an older Distillers album, the one with Seneca Falls on it. It's okay, but not good enough to buy -- so I'm glad I didn't! Manifest destiny and all that.
Wednesday, August 04, 2004
This Ain't No Mecca, Man -- This Place Is Fucked!
Behind all the European faiths, religious and political, we find the first chapter of Genesis, which tells us that the world was created properly, that human existence is good, and that we are therefore entitled to multiply. Let us call this basic faith a categorical agreement with being.
The fact that until recently the word "shit" appeared in print as s--- has nothing to do with moral considerations. You can't claim that shit is immoral, after all! The objection to shit is a metaphysical one. The daily defecation session is daily proof of the unacceptability of Creation. Either/or: either shit is acceptable (in which case don't lock yourself in the bathroom!) or we are created in an unacceptable manner.
It follows, then, that the aesthetic ideal of the categorical agreement with being is a world in which shit is denied and everyone acts as though it did not exist. This aesthetic ideal is called kitsch.
Tuesday, August 03, 2004
Hang The Jerk Who Invented Work
On the plus side, after oh-so-much fussing and tweaking randomly and praying for my bug to go away, I finally figured out exactly what was going wrong with the socket communication in gzochi. I'm going to explain it, in case it can prevent any of you from tearing your own hair out over something similar: Okay, so first off, TCP sockets, which are great, are stream-oriented, which means you can treat them like files. That is, you can say, "hey, you, file descriptor! Do you have any data for me to read? I want 1024 bytes!" And the socket will say, "well, here's 37 bytes" and maybe the call to read() will even block for a little while before the socket says this because no one has actually sent the bytes. So here's what was happening in my program -- the user sends a message asking to join a game on a gzochi server; then, the server decides whether or not this is okay and tells the client so; then, if the request was approved, the server asynchronously sends a "token delivery" message, which is the key that will allow the client to actually initiate a datagram conversation with the server. The token is delivered asynchronously so that game availability would not necessarily be closely wed to the client requesting to join the game -- that was just a design choice I made, and hopefully it'll make the server more flexible in the long run. Anyway, what was happening was that the client would report the receipt of the message from the server saying whether or not the request to join the game was approved, but would not always (but sometimes would) receive the token, which, again, was sent in a separate message. I had no idea why this was happening.
Then I figured it out, and here's where it gets interesting. You'll need to know a few things: First of all, when you're reading from a stream into a buffer, you have to make sure that the buffer is big enough to hold the stuff you're reading. If, in one shot, you read, for example, 16 bytes, and you want to store all of it, you need to have a 16-byte buffer ready. You might think it'd be a good idea, then, to resize your buffer each time you read a byte -- read, allocate, read, allocate, etc., until you're done. No! This is bad, because allocation is time- / processor-intensive. Instead, what you do is try to read a big chunk at a time and write it all to the buffer, which is allocated by chunks. In my case, the chunk size is 1024 bytes.
The other key thing I should mention is that my TCP communication is mitigated by the use of zlib, a free (as in freedom) and wonderful compression library. zlib is also stream-oriented, in that you point it at some bytes and tell it to decompress them, and it'll come back and say, "hey, give me more bytes, the decompression's not finished," or, "okay, the message is fully decompressed." It figures out when it's decompressed the whole thing based on the input stream itself. This is great, because the stream-orientedness of TCP means that it's hard to tell when you've sent an entire message, especially when your messages are in (relatively) English text like mine are. I mean, you can use a certain character to signal the end of one message and the beginning of the next, but what if someone needs to send that character as part of a messaage? So by compressing the messages, I not only save bandwidth but also make the boundaries between messages programatically obvious.
So I grab 1024 bytes at a time, and zlib tells me when I've got a whole message. Here's where the problem was happening: If I grabbed more than one message's worth of bytes inside my message-reception code, I wouldn't look at anything past the point at which zlib told me it had decoded the first message. So each compressed message weighs it at about 100 bytes. When the client requests to join a game, the server sends two messages, one for the yes / no response, one for the token. On the client side, I ask the socket for 1024 bytes, and it gives me about 200. After processing about 100 of them, zlib tells me that it's done, and I return the decompressed message to the application layer, discarding the rest. So. It hadn't come up before because the server and client messages were usually one-to-one, like ping pong. It was when the second ball entered the mix that things started to go wrong.
Anyway, I fixed it by buffering my message-receiving code. So I still return the first message when zlib's finished decompressing it, but now I hang onto the remaining bytes and put them towards the next call to the message-receiving layer. Phew. Now I have to get back to designing this thing. Ugh. What a bad (2 months of utter anguish) coding experience.
Maybe I'm just an idiot.
Wednesday, July 28, 2004
I Put Her On The Guest List At The Show
Like the other weirdos do --
Ooh ooh-ooh-ooh ooh!
Implemented a full thread abstraction system for gzochi. It hasn't made me any happier. Maybe I'll port it to use dl*() instead of the preprocessor. I still can't figure out why this one block of code sometimes gets executed and sometimes doesn't -- valgrind doesn't report any memory problems, helgrind doesn't report any valid synchronization issues, and stepping through it in gdb makes the problem go away. Feels like a case of thread silliness / stack smashery, but I have no idea what to do about. Anyone, please, help me. Fuck.
Today was an easy day at work. I closed lots of bugs and made a concerted effort to make myself miserable by listening to Room On Fire. It worked!
Right now I'm watching some episodes of Bullshit! that Tom was kind enough to buy me. Yes, and I'm also wearing the Shrek 2 t-shirt, Tom, as a Dreamworks-gin scented tear rolls down my cheek. Katzenberg has won -- I love Shrek Brother.
Devlin, who's on the 12-to-12 right now, indicated that we'd rock out tonight. I'm pretty excited about that, since we're gonna try My Michelle, a song that rocks and, I think, is pretty easy to play on drums.
Friday, July 16, 2004
Just Don't Make Fun Of Mr. Jenkins, Mark
The other day I switched gzochi over to libpth, a user-space threading library, having bought the hype about it being a better choice for server systems and more portable than LinuxThreads pthreads. Well, more portable it may be, but the syscall-catching context switching it does is absolutely re. tard. ed. I don't want to have to write my entire application around a semi-working concurrency schema -- like, if I ever have to call *_yield(), something's wrong. I think I'm gonna switch it back to regular old retarded kernel pthreads... maybe. I don't know. I'm getting kind of sick of the whole thing.
I found a small bug in the glibc manual and they fixed it. My name's gonna be in the Changelog!
Wednesday, July 14, 2004
John McCain
"The constitutional amendment we're debating today strikes me as antithetical in every way to the core philosophy of Republicans. It usurps from the states a fundamental authority they have always possessed and imposes a federal remedy for a problem that most states do not believe confronts them."
NO:
He said if the U.S. Supreme Court strikes down the Defense of Marriage Act or "state remedies to judicial activism fail," then amending the federal Constitution might be "appropriate."
YES:
...the decision in Massachusetts to legalize same-sex marriages does "not represent a death knell to marriage."
Monday, July 05, 2004
Fricative
I hung out with Kevin Wasserman for a while yesterday (Ed.: July 4th, actually). I love that guy! He's real into cigars now (don't worry, he still likes HDTV)
I'm happy because I made some thread improvements. They didn't fix the real fucking problem, which is driving me absolutely bananas, but more on that in a second.
It's been a while since I wrote anything here.
I'm struggling to pound out this e-mail to my old senior project adviser, asking for a grad school recommendation. Do I really deserve a recommendation? The project was supposed to be about molecular biology, and I didn't learn that much about molecular biology. I'm worried that he'll want me to come up to the 'Have to discuss it and want me to pour forth on whether or not I've ever had an original idea in my life, Richard Yang-style. These are the types of thoughts that are always sub-pathetic and irritating to hear from other people but that are no less completely consuming when you're having them yourself.
gzochi's got a Heisenbug. For the non-technorati among you:
Heisenbug is a term used in software programming to describe a computer bug that disappears or alters its characteristics when it is researched.In my case it's a TCP message -- specifically, the one that delivers a "game entry token" to a user -- that never gets sent when I run gzochi-server from the command line, sometimes gets sent under gdb, and always gets sent under valgrind. After making myself crazy with it for the past two weeks, I've decided to ignore it and forge ahead. Hopefully it will present itself in a more obvious way later. But like I said, I did fix some other important stuff.
A common example are bugs that occur in a release-mode compile of a program but do not occur when researched under debug-mode, or some bugs caused by a race condition. The name is a pun on the physics term "Heisenberg Uncertainty principle", which is popularly believed to refer to the way observers affect the observed in quantum mechanics.
I had lunch with an old acquaintance yesterday. I'd been kind of hoping to rekindle our friendship -- we hadn't spoken much since 10th grade, really, mostly my fault -- but she was pretty concertedly ambivalent on the prospects of hanging out as far as I could tell. Or maybe she was just really depressed. Oh well, that's just the way life works.
My birthday's coming up. I could use a new wristwatch; mine loses time all over the place.
Tuesday, June 29, 2004
Pony Keg
I'm crushing on this Distillers song Seneca Falls real hard right now, which is kind of gay, since it's about Women's Rights. The funny thing is, a lot of web sites will let you download it for free. Maybe it was one of their singles or something.
I've got this scratchy feeling in my throat, which makes me thing I'm getting sick. The past two summers, I've gotten a bad sore throat and a fever right around this time -- I think it has something to do with mucus building up in my throat -- but I'd prefer not to have it happen right this weekend because, well, I want to eat hamburgers and drink beer and all that.
Having just come off the early shift, I seem to have picked up a disturbing habit -- I've started writing these pseudo-shorthand sentences, like, "Thanks for the data. Will get back to you shortly." Sick.
Tuesday, June 22, 2004
The Darkest Of The Hillside Thickets
Last Saturday I went to this "Anyone, But Especially Kerry" fundraising party / event and saw a whole bunch of Harvard kids from my high school. Ugh -- now I remember why I don't hang out with them any more. This one guy kept trying to get me to dance, and I was like, hey, okay, so I started just waving my arms around and being silly, and he starts going, "Okay, but on the beat. Listen for the beat." What the fuck? Suck a cock, buster -- I'm a drummer, for fuck's sake. I'll do what I want. Plus, the one person I really even wanted to see didn't show. Oops, besides The Rase, that is -- always good to see her.
Having just written hundreds of lines of ugly, sloppy, UDP packet reorder / reassembly code, I started surfing around to see if there was maybe a stable, ubiquitous library that would do it for me. I happened across GNetLib, an outgrowth of GLib (not glibc, mind you), that does not stuff. It didn't do what I wanted, but the search kind of threw me into a panic about how I'm totally re-inventing the wheel a whole bunch in this stuff I'm doing on this project, and probably not in a very robust way. But then I calmed down and was like, well, this thing is kind of my hobby, my art, if you will, and I guess I'm kind of taking the same approach to it that I do for writing anything, code or not -- that approach being the polishing-a-turd approach. I like to create the turds from scratch and then slowly polish the fuck out of them. Not that I'm putting any of it down, mind you -- it all rocks, without exception -- it's just an expression. "Polishing a turd."
Then I totally jerked off.
That crippled kid who wrote all that poetry just died. Man, sometimes life's just so unjust -- like when you turn on the news and they're reading shit like this on the air:
No matter who you are,Man, this makes me want to go murder someone. Also, there was that thing that kid said about not being able to ride the 7 train to Shea without some fag with AIDS dying all over him. Hero. Poet hero.
Say a prayer this season.
No matter what your faith,
Say a prayer this season.
No matter how you celebrate,
Say a prayer this season.
There are so many ways
To celebrate faiths,
There are so many faiths
To celebrate life.
No matter who,
No matter what
No matter how...
You pray.
Let's say a prayer
This season,
Together, for peace.
Went running yesterday -- think I made it about 2/3 of the 3.8 miles without walking.
How excited is everyone about CoC: Dark Corners of the Earth? Very excited. I wish they'd publish some system requirements so I could start the upgrade process on the ol' desktop sooner.
Thursday, June 17, 2004
I Will Go Down With This Ship
One of the things that has begun to tick me off about working for a corporate software company is how customer-driven the design process is. What I like about UNIX libc, for example, is that from a user's point of view, it looks very much like they've (the designers / developers) taken the time to read the research on things, they've thought about all the possible ways in which a piece of software might and should be used -- and not just in a commercial sense, in a "What if I did this?" kind of academic sense -- and they've written a really adaptive piece of software that fits in as best it can philosophically with what's already out there and allows new stuff to be built on top of it in a sane way. (There are a few exceptions to this, such as the various GLIBC binary compatibility nonsenses and the awful, confusing ctime() / time() / gettimeofday() / etc. functions.) The business software people are totally the opposite of this. They've got these ridiculous systems that are set up in literally the worst-possible-but-still-able-to-function way, and their attitude is, "Well, whatever new thing we're going to develop / buy / whatever, it should just work with what we've got." That little credo about things "just working" is the reason behind all this Windows virus / worm / whatever bullshit, if I may get self-righteous for a moment. And when you're designing software that caters to this attitude, you wind up with something that's very niche and isn't very interesting, and really just isn't further developable after a certain point because it's such a lopsided monster and the processes / systems it depends on have eventually been phased out because somebody realized they were bullshit.
And don't tell me it's about money. I know it's about money, but it's gotta be more expensive to finally overhaul a car-crash of a system than it is to make short term re-arrangements that keep you on the path to sanity. Maybe they're just so sure that by the time they have to seriously rethink their software architecture, they'll be out of business or the company itself'll have been drastically re-organized anyway that it's not worth the trouble.
And that doesn't always happen -- listen to this paragraph from Joel On Software about Microsoft:
I first heard about this from one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that happened to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Windows team were going through various popular applications, testing them to make sure they worked OK, but SimCity kept crashing. They reported this to the Windows developers, who disassembled SimCity, stepped through it in a debugger, found the bug, and added special code that checked if SimCity was running, and if it did, ran the memory allocator in a special mode in which you could still use memory after freeing it.Oh my God. This is 100% absolutely the dumbest thing I have ever heard of. And fucking Spolsky thinks it's genius! The management people at Maxis who told Microsoft to do this should be fired, and the management people at Microsoft who agreed to this should be fired, too. When I first clicked his article on How Microsoft Lost the API War, I thought it was going to be about how no one writes Windows code because their API is such a convoluted disgusting mess and there's about 10 different, extremely complicated and varyingly buggy ways to do this tiny simple thing that you want; but it turns out that Microsoft lost the API "war" because their API isn't backwards-compatible any more. I mean, that's a problem, but the nicest thing I can think of to say about .NET is that at least it looks like they're trying to create a rational and consistent API for people to use, even if they had to rip it off wholesale from Sun. If they had done this to start out with, maybe you wouldn't have to pay people a million dollars to touch Windows code today.
Wednesday, June 16, 2004
There But For The Grace Of God Goes Sherlock Holmes
I forgot to talk about the fucking massage I got: Mer and I went out for a walk to this little Gay Pride festival near our house, and one of the thousands of little tents was one of those Asian massage things where you sit in this weird chair and they give you a back rub. (Was it gay? Not sure.) Mer likes that sort of thing, so I offered to pay for her to get one, but once those crafty Orientals saw that we were interested, they started pulling me over to one of the chairs by my arm. I was like, "No, just her," pointing at Mer, but the lady pulling me was like, "No. Two. Two. You." So I had to get this stupid uncomfortable massage for ten minutes. I'm not one of those creepy people who's got some kind of thing about being touched -- I don't even have any Personal Space -- but I just flat out don't like back rubs. My back is fine, thanks. Anyway, at the end I had to pay for both of them.
One of my fucking Bosses, I'll let you guess which one, tried to suggest that I didn't know what IP multicast was. Wait, this is sounding like I'm being purposefully oblique. To qualify this, let's say that networks are like Shakespeare; it's like accusing someone of not having read Henry IV. Granted, not as popular as Hamlet, but if you're an English major, you've 100% probably fucking read it. "So, is it possible that [THE THING] is picking up the multicast address instead of the regular IP?" "You even know what multicast is?" Jesus Christ. And I was fucking totally on-the-money right, too. Anyway, he's incredibly rude. I don't like feeling like one of the whiny Executive Assistants I used to temp with; and I don't, really. I'm not going to say, "Dignity's more important than money." Please, humiliate me. I have to pay rent and save up for grad school. And hoard it, too, of course.
Kevin the Wass-man is having a 4th Of July party that I'm totally going to. With his usual degree of Mortal Kombat bombast, he claimed that he was going to have "1100 fireworks, at least." I haven't seen him in like 3 years. It's gonna be awesome.
Internet's still not working, but I successfully set up the wireless network last night. If you're in the area, the router's name is Goethe, but don't bother trying to connect, 'cause it's all WEP-secured, fags.
I'm reading the Live From New York book that I got Mer for Christmas. I knew everybody hated Chevy, but did you know that they also hated Nora Dunn, Victoria Jackson, and for cryin' out loud, Harry Shearer? Apparently Harry Shearer is a prick of tremendous proportions. And listen to this quote about Chris Farley, who I once saw in a restaurant:
Farley once stuck his ass out the window of the seventeenth floor at 30 Rock and took a shit. Another time, in front of twenty or twenty-five people in a very crowded writers' room -- mixed company, women, men -- Farley came in naked. He had his dick tucked between his legs and he was doing Jame Gumb from Silence of the Lambs. He took a golf club and shoved it about three inches up his ass, then pulled the golf club out and started licking it.Jesus Christ!
Friday, June 11, 2004
"Oh Fuck Off, Chris"
How good is that second 'The Office' Christmas Special? I don't know. Pretty good. My emotions? Call them successfully manipulated.
Fixed some troublesome threading problems with gzochi; for one of the first times in the history of the world, I was right and the debugger was wrong -- though they've fixed it in CVS, which is what I'm using now. Now I'm working on the UDP subsystem. UDP, being the not-guaranteed-to-deliver but somewhat faster cousin of TCP, requires that my code handle packet fragmentation (though this only happens with packets larger than 64k) and out of order delivery, and to generally be tolerant of lossage. Establishing a UDP "connection" is particularly troublesome since it takes place over a different port than the administrative stuff and you can't ID clients by originating host, since the traffic is bound to come over NAT-performing routers if it occurs on the Internet at all. To get around this I've established a "token" system, in which "new" UDP clients present a token that's been previously delivered to them over TCP.
More later, I guess. I don't know.
Thursday, June 03, 2004
Tune & Rhythm On A Bubbledome
The new place is nice, much bigger. We're still sorting all the things out. It gets very moist in there. I don't know, is it the external humidity or... what?
How much does Verizon suck, by the way? The lady I talked to the week before the move was very gracious and even helped me select a catchy new phone number, but she also said she'd notify our DSL provider to switch the Internet to the new number and when I called Earthlink a week and a half later to see how they were doing on it, they claimed to have no knowledge of the request. Zero knowledge, even. So now we don't have any Internet for two weeks.
Maybe I'm still exhausted from all the hoisting, but maybe I'm depressed. I don't know; I haven't been able to work on gzochi at all -- so much stuff needs to be done, like setting up the datagram delivery system and the event queue and the whole god-damn Scheme API. Why am I even doing this, anyway? Why would anyone want to write an RPG in LISP? God, when I look at what other people are doing, I get so depressed and jealous. This fucker from Yale DSAC, look what he's doing. Suck a cock, Collin Dickweed Jackson.
At least I'm not Dean Stark
I've been playing Red Dead Revolver, a copy I got from Devin, who said it was absolutely awful, but I'm kind of getting into it. It's pretty hard, and, like I think he mentioned, the camera's behavior is pretty infuriating sometimes, but, you know.
Went to see The Dickies at Irving Plaza on the 19th for some kind of Joey Ramone birthday thing. It was okay, but there were so many too old / tool young people there and almost no one was dancing around. Their set was okay -- they added See My Way, which is not my favorite song, but they also added Going Homo, which is my favorite song. Not really. Is it just me or was Leonard a lot more fun when he was on junk? None of you are going to answer that question, probably.
Oh, apparently he wants "Tiny" out of the band. Not that I blame him. Those guys are cretins.
I did AIDSWalk.
That's about it.
Tuesday, May 11, 2004
Felton Industries
- My job is boring the shits off me. I've been slinking out at the earliest acceptable time every day.
- We're moving. Most of you already know, but yeah, we're getting a bigger place, down by the Park, on 12th St., it's $200 more per month for each of us. We're doing it June 1st. Hopefully we can keep our phone number. I like it.
- Took the cone off the cat's head because she'd figured out a way to get around it and she promptly chewed a hole in her stomach. We started slathering this bitter ointment on her, and it might be working. At the very least, she's is extremely ticked off.
- Way to go, Ogrish, on posting the head-chopping video. Some (nu-)media outlet just referred to them as "once-again courageous." I remember when their layout looked a heck of a lot like Stile's and their content was a heck of a lot more like Steak n' Cheese's.
Finished the Scheme core, I think -- had to relearn a lot of Scheme syntax. For some reason, I thought it would be okay to put parentheses around everything. Not cool. Sometimes, like when you're setting up a catch block or using 'begin', you don't want to over-evaluate. Of course, Guile won't tell you this until someone throws a type exception further down the line, so... so. Anyway, the Big Frustrating Thing I fixed this weekend was yet another COOP-threads SNAFU, this time that on account of the behavior of the garbage collector, Guile threads will hang if the Guile-controlling C thread goes to sleep. It is hard to make the C thread go dormant without busy-waiting and without making Guile sleep also. The epiphanous moment occurred while I was staring at this Guile console I'd opened to test out some threading stuff by hand -- I remembered that the little command-prompt interface (they call it PREC, I think), is written in Scheme, and that threads can run while it's waiting for input! So, in C, I created a named pipe (thank you, unistd.h) and had the work-submitting function put '0's into one end of the pipe and had Guile doing a blocking read on them, one at a time, semaphore-style, through a Scheme port wrapping the other end.
Good luck on your finals, M-biddy, if you have any more, even!
Thursday, April 29, 2004
The Turtle Book
CLIVE: Fff-uck. Dudley, are you not, is...? Fucking, fucking alcoholic! You're so drunk! You must ha' be on something else, you know.We finally put the fucking Elizabethan Collar on Mimi, and boy did she hate it. She was very depressed for several days, she wouldn't eat, she wouldn't drink, we had to force feed and drink her. Now she's a bit happier and her gross little rash has basically entirely cleared up, and it's only been a few days. I want to leave the thing on until all the hair grows back, though. So fuck you, cat.
DEREK: Oh, hold on, let's get this rhyme right:
My Mum came into the room and sucked my fucking knob, oh!
She put her mouth right, her mouth right round it and then she done a gob
On the end of it to make it smooth and make it nice and soft
And then she tossed me right off with her, er, Mrs. Mopp
Who came into the... (starts laughing)
CLIVE: Oh yes, thank you, thank you, thank you, thank you very much indeed, thank you very much indeed, it is awfully good but it's not quite what we're looking for, erm, some of our...
Guess who's getting reading glasses! Yeah, that's right -- ME. I went to the eye doctor a few days ago because it was one of those things that, you know, I'd been promising myself I'd do eventually, and it turns out I've got pseudo-myopia from staring at a stupid screen all day. So I get to have reading glasses that will hopefully relax my eyes a bit and make me more productive in the late afternoon and evening. Sick. The eye doctor was a real big fat dude who I think was cracking jokes about how much he hates exercise. He put a bunch of yellow shit in my eyes at one point to check me for glaucoma, and it felt rilly gross. He also gave me these exercises to do at work in which I have to focus on a pencil and move it to and away from my nose. Totally retarded. The frames cost a lot of money, too, but I'm pretty excited about looking hot and studious instead of hot and squinty.
DEREK & CLIVE: Oh! My old man's a dustman, he wears a dustman's hatFor his birthday or something I guess Tom got the DVD of the first season of The Office, and it is pretty funny. We've been watching episodes of it for the past three nights, but I have to say that the first episode is probably my favorite. Ricky Gervais is so manic and hideous, he's great to watch. I especially like it when he's in an awkward situation with another character and starts shooting little sidelong glances at the camera -- there's this implied camera crew that's making some kind of anthropological documentary about this office of a paper company. I also like it when he's in a one-on-one interview bit with the camera and makes this self-righteous grimace where he bears his revolting sharp little teeth. For his birthday I got Tom the Todd Barry album and Mitch Hedberg's album Strategic Grill Locations, which I kind of want to peep from him, since, as Mitch says in this clip I heard, "These are the jokes for the CD."
DEREK: (continues with farting noise in tune)
CLIVE: He's got fucking cancer, now what d'you think of that?!
DEREK: Oh... (falls into helpless laughter)
CLIVE: My old man's a dustman, he's got cancer too
Silly fucking arsehole, he's got it up the flue
He's got so much of fucking cancer it drives him fucking mad
He says, "I've got fucking cancer," and he's my fucking Dad
Oh, what a fucking boring cunt, he goes on and on all day
He's got this fucking cancer and he's too gone on the way
I finished The Iceman Cometh, and I guess I liked it. O'Neill uses the pat characterization that sort of irked me at the beginning of the play to make the end of the play even more humiliating for everyone, and that was pretty satisfying. Now I'm reading House of Leaves by Poe's brother, Mark Danielewski, and that's a lot of fun, if a bit, you know, pretentious. The centerpiece of the story of is a house that changes its shape, spawning hidden rooms and hallways that couldn't possibly fit inside the bounds given by its external dimensions and eventually a giant staircase leading down to somewhere else. I don't know where, I haven't gotten there yet. But it reminds of the terrible city Alex Roivas discovers beneath her family's ancestral manor in the Pulitzer-prize winning television drama "Eternal Grarkness."
And that, for some reason, reminds me of this funny site I just found again for the first time, Book-A-Minute. Particularly worthy is their summary of Slaughterhouse Five, greatest cause of death of junior high school readers after Catcher in the Rye.
DEREK: (more laughter) He's got cancer of the arsehole, he's got cancer of the bumOkay, computer time: I got around the threading problems in Guile 1.6.4 by consolidating the Guile stuff into a single thread and writing a work queue-ing system for it, routing all requests for Guile service to a thread that reads them, launches Scheme threads to handle them, and then notifies the caller once the evaluation is complete. That was looking promising until I found out that there's no way to cancel a Guile Scheme thread in either Scheme or C, which kind of sucks the fatty, since I need to be able to prevent threads from chewing up system resources indefinitely. The Guile team has been very helpful -- they've promised some improvements in 1.7 / 1.8, but given that this is GNU project, I expect that will not be for a while. I've decided to focus on some of the more trivial and enjoyable aspects of the whole thing, such as replacing my logging system with stuff from syslog.h and potentially replacing libxml2 with libSXML, which is a GNU project. For the sake of perversity, it might be fun to try to build this using only GNU libraries.
CLIVE: Cancer of the knob...
DEREK: Cancer in his eyeballs, he's got cancer on the gob
He's got cancer in his fingernails and cancer in his palm
Cancer up his bumhole where the...
CLIVE: ...half way up his arm!
DEREK: (laughs)
CLIVE: Oh, he's got fucking cancer, cancer everywhere
He's got cancer of the bumhole, 'cause he's a fucking queer...
DEREK: Oh...
CLIVE: He takes his fucking knobs up, he shoves 'em up his arse
And everybody knows it! HE'S FUCKING WORKING CLASS!!!
Why am I doing any of this again? To get into grad school? I don't know. I'm getting pretty interested in stuff like genetic compiler optimization and similar stuff that I always told myself was masturbatory and stupid; maybe that means I'm ready to hit the books again, I don't know. Speaking of which: Guy, you should post your solution to that problem. Me, I'm just proud of myself for remembering that that big pi thing means set product.
Thursday, April 22, 2004
Thank You, MSN
0-4 Correct Ouch! You totally pulled a Monica. As Chandler told Joey, you have to stop the Q-Tip when there's resistance. We suggest you spend ever spare minute between now and the finale watching the "Friends" DVD box sets.
5-8 Correct How you doin'? Not bad, but just like paleontologist Ross, you need to dig a little deeper.
9-12 Correct Could you be a bigger "Friends" fan? You could try... but you would not be successful.
Robert Moses A-Go-Go
I started reading the novel the tech writer at work wrote online. I'm reading it online, he didn't write it online. Maybe he did. It's actually sort of okay, so far, even though he's a creep. He's funny and fun to talk to, but he's got this very immature and selfish reactionary political philosophy and this very indie-rock attitude about heavy metal even though he hates indie rock because people have indie-rock atttitude about it.
I can't work on gzochi any more until I find out this thing about Guile and pthreads -- I sent a message to the Guile mailing list about it, it sounded kind of bitchy, I don't know. It might be one of those messages that nobody replies to because it sounds ungrateful.
So this guy Ben Holtzman, I went to high school with him, and he's got this livejournal, which I read, and he doesn't know that I read it. Which is a little creepy, but you know, I love reading journals. I think he's kind of an idiot, which is ironic, because he certainly doesn't think he's an idiot, but, you know... I mean, he's not an idiot-idiot, but his priorities are all messed up. Anyway, he wrote the following description of what it's like to be obsessed with someone:
It's like finding an incredible sale at a store with only one item left in stock, rushing out to the ATM to get the necessary money together to make your purchase, and seeing it advertised on every corner between the shop and the bank. How could anybody not love her knowing how she laughs and what she laughs at?Pretty accurate, right? The rest of the journal is about applying to graduate school and trying to say witty things to make inferior people in his Philosophy section laugh and admire him.
Sam Sedar on Majority Report just suggested that NYC liberals volunteer for the G.O.P. convention and be "nice." I'm pretty sure the implication was that we should sign up and then just be the worst possible volunteer. Like, take out-of-town republicans into the deepest, most angry part of Brooklyn and then just leave them there. If I can find a way to do it that minimizes personal risk (por supuesto), maybe I'll do it. You guys wanna do it, too? Come on. Come. On.
Friday, April 16, 2004
Morning Sedition Shift
Okay, so I am not so good about publishing these updates after I write them.
Yesterday I did some manual labor with Tetley, helping him clean up the stick apocalypse that is their "back yard." In the process we found about a trillion snails, nice big ones with yellow shells, and we started thinking, what about a TERRARIUM? So I got a cheapo plastic box from the pet store and put some dirt and sticks and worms in it, along with a banana peel and a couple of baby carrots, and just like that we started to reap the benefits of a real, working terrarium. Like, for one, Emma and Katie didn't want it in their house, but I was like, it's Ted's, not mine, so it stays here. That was one benefit. Later on, we all went out to get burgers at Parkside, and I took all the gross gigantic chunks of iceberg lettuce and stuffed them in my pocket so I could give them to the snails. That was gross.
We watched Neil Simon's Murder By Death, which is more like Murder By Sucks if you ask me.
Mmm... Almond-Poppy Muffin and coffee. No combo is better.
A To Z Maintenance finally but also totally fixed the plumbing, so I can now sleep through the night completely -- the downside to this is that I've been having rilly weird dreams. Last night I dreamed I was rescuing a bunch of HIV-positive vampire hobos from some kind of government research facility. We were all running around in a big hedge maze, kind of like the one in the Alice in Wonderland cartoon, and I had a special tuxedo that would let me walk through these laser fences that were totally out of the video game Beyond Good And Evil -- or, as I like to call it, Beyond Good And Sucks.
Guy, how bad do you want to go to this thing?
I'm actually getting gzochi pretty close to being useful. I've written the code that sets up all the object-set relationships, now all I have to do is
- Finish the game file parsing code, including adding suppor for strict / non-strict error checking
- Write the event-queue loop code, that, you know, makes the games "go"
- Learn more about Guile environments / modules so that I can make sure the bindings from one game don't bleed into other ones
- Write the Guile API for the game designers
- Making a nice GUI for game / resource editing
- Making a "standard" reference client for each of the major tiers of graphical resource capabilities
- Making a real good sample game to illustrate how good the software is (if it is, in fact, good)
Oh yeah, one more thing: I fucking did not win anything in Adam Cadre's Lyttle-Lytton contest. My entries:
- Worse first sentence in a novel: The carrot mouldered; the rabbit stank.
- Worst opening line in a political speech: Folks, I'm from a simpler time, when a boy from a humble circus family could shoot himself straight outta a cannon and into the Presidency.
Monday, April 12, 2004
Resource Enumeration
A To Z Maintenance "Up Graded" the plumbing in our building on Monday, which naturally led to the ceiling in the bedroom starting to leak. I put a bucket under it and now the bucket is, you know, not full by any means, but very heavy with water. Pregnant or, say, fat, with water. Like a person with edema. I picture edema-water to be sort of milky / yeasty. The water in the bucket is brown.
I went running around Prospect Park with ol' Murder on th' Wind on Saturday. I didn't think I was going to make it at all, but I did, though I only actually ran ran like less than 50% of it. Well, I guess I'm in kind of lousy shape, because I must have pulled a bunch of real secret muscles -- I could barely walk on Sunday, no joke, and was literally unable to do things like lift my left knee to put on a shoe, say. I'm mostly better now, but my back still hurt -- what's up with that? You don't run with your back.
(22:48:36) [My Sister]: bobo would oyu be my friend if i looked like jack osbourne?Tedious progress on gzochi. I'm still in the middle of writing the code that parses the game files. Once I've done that, it's on to the event queue and some code for the API, and that should yield an actual, usable system. I'm kind of depressed over how much time I've been spending on it and how it's not done yet. It just eats me up, really. Just having to be at work takes up so much of my time, and since the code I write at work is tedious as a rule, I don't always have the spirit to do more of it when I get home. I don't know if I could pull off doing the Master's part-time. The degree, not the golf thing.
(22:48:46) Nintendo Julian: I guess
(22:48:48) Nintendo Julian: why not
(22:49:05) [My Sister]: thats a good additude
I had some food from Tsing Tao tonight, though, and it was good.
Reading Myla Goldberg's Bee Season, which is good and deeply creepy.
The Onion -- not that funny any more, right? But you know who is kind of funny? I'm embarrassed to say so, but I really enjoyed this episode of Jimmy Kimmel Live that I saw last night on ABC. It seems like it's sort of a different flavor from his usual work -- he talks about how he hates the FCC, doesn't care much for Jesus, and, you know, that's all it takes to win me over. I've gotten to the point where I enjoy comedy if and only if it appeals to my sense of political propriety. It's stupid, I know, but it's my little way of fighting the War on Terror. I blame Air America.
Wednesday, April 07, 2004
The Horses Keep Her Up At Night
Oh yeah, so I spilled some water on my laptop the other day and some of the keys stopped working. But I hunted down the actual manufacturer and ordered a new keyboard. It should be here tomorrow. Also, I grabbed the Microsoft Natural Keyboard from my desktop and plugged it into one of the USB ports on the 'aptop, and it just worked -- no configuration, no monkey business, no nothing. And they say Linux isn't ready for the desktop.
Word to the wise -- [:digit:] != [[:digit:]]
Look, has anyone else besides me and Big Baby O'Donnell noticed that Ted Rall is a whiny little shit? I for one love the man for being unlovable, nay, loathsome, even, but I can imagine that he might be alienating people by
- Claiming that Air America sucks and that he wouldn't be on it even if he were asked // complaining that no one's asked him to host a show on Air America even though he's such a great radio guy
- Coming up with unfunny, weepy, Very Special-style comics like this one.
M-biddy was regaling me with tales of this super-enthusiastic Networks professor we've both had and that he's got now:
ekiMlleB: the other day in class he said that every CS major should try to break at least one NP-complete problem
ekiMlleB: "because maybe you get lucky"
Sunday, April 04, 2004
Dismantle Me
Courtney Love showed up halfway through their set, a couple of thirteen-year-old girls scraming "Courtney!" in tow, and walked right by me up the stairs. She's actually not too hard on the eyes. And I thought I saw my friend Chris pushing through the crowd in front of me at one point, but it turned out to be some hipster doofus with the same haircut he used to have. I kind of miss that guy.
When I first got to the place, I had to pee real bad, so I went straight to the Men's room even though The 'stillers were already on and playing my favorite song. I pissed a real long time and I kind of had to fart, too, so I farted a long, low fart in the empty bathroom.
Tetley got us tickets to see Match today, so we saw that. Ray Liotta's in it, and he tells a faggot that toenails don't have nuclei. I need this!
Computer thing going okay; GNU regex library making itself frustrating. I'm reading the new William Gibson book. The main character is physically allergic to trademarks, which is a bit pretentious, premise-wise, but it's sort of an interesting story.
Tuesday, March 30, 2004
Shitting The Bed
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:
- Go fuck yourself, fascist.
- You making less than a career construction worker does not mean that you can claim to be worse off than him. Get back to Googling Malkmus at your cushy office job.
- What are you, like five years old?
Thursday, March 18, 2004
I Don't Like Your Peaches
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!
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
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
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.