Always the sucker

posted by chip on 2005-08-18 21:25:38
If you sit down at a poker game and don't see a sucker, get up. You're the sucker.
Last night I played poker with the guys. And by "the guys," I mean, "Me, Yan, and the girls." Apparently the only thing to do right now is play poker. I'm not a big fan of poker. Partly because I'm no good, and partly because of the too-frequent use of the word "chip." Every time I play poker, the night can be summed up in three words: "Played poker. Lost."

The night before, I finally got to see Shaolin Soccer with subtitles, and in the original Chinese theatrical form. It's a little more bizarre than the version you saw in theaters. Earlier that night, Yan, Kan, Greg, Jen, Darek, and some other people went over to Marty's for some food and some ITG. Apparently, They're giving away a set of refurbished pads to the first so many people to get at least 8 people in a picture playing ITG, so we're getting some pads for the club.

ITG is a pretty cool game. The engine is based on StepMania, and has all of the wacky mods you've come to love. Some have said that the songs aren't that good, but I'm pretty sure they mean "not DDR." For a DDR fan to think a song isn't good, it has to be a really crappy song. Heck, I got rave reviews for Drop the Jager Bomb, and it was awful. Plus, it's got Machinae Supremacy in it, which is a group I'd actually heard of before from monotonik. They're self-described as "SiD metal," which is a combination of the usual metal guitars and drums with early videogame-style bleep music. It sounds bad, but it's not. I highly recommend getting some of their stuff, at the very least their song from ITG, Hybrid. Especially the first 5 seconds. :)

Lately, I've had an idea for a set of small stories about the two weeks inbetween summer session II and fall semester. I've decided that it'll be fiction, but largely based on real events. It'll also be written in non-chronological order, and filled in later. Finally, a writing style that fits me: random access. :) I'm working on the software for it right now. (Hold on a bit... software? Yes, so I can type it into any web-enabled device. Creativity strikes at inopportune moments, y'know.) It'll be called "Two Weeks." You can see some of it here, in my new notepad app.

0 comments reply permalink

M0\/3D!

posted by chip on 2005-08-15 14:10:00
Aaah. I'm finally moved into my new place. And by "moved," I really mean "moved all my boxes to the floor of my room." I did cook my first meal, so by my standards, it's home, now. :)

The last four days have been exhausting, but not hectic like they usually are. After moving your stuff to and from places for five years, you get used to the routine. To our credit, Mike and I turned in our keys at exactly 9:00 AM, the exact time our lease ended. We then went to the McDonalds off the interstate over by Kohls. McDonalds' breakfast is actually pretty tolerable, but my stomach was still pretty confused to the idea of getting food at a quarter past nine. We said our farewells, for at least the next week. Chrissy's flying in next Sunday, so we'll all be hanging out together then. I'd also like to explain to you the legend of our family Chevy Astro, but I think that'll have to wait for another entry.

I need some furniture, so I'm probably going to go dumpster diving later today, and try to find a temporary desk that hasn't been soaked by the weekend's heavy rains. Once I get my stuff together, I'd like to make a desk out of PVC and plexiglass. "PVC is the ultimate bodger's material," James said. I've also got a plan for an octagonal shelf system that'll house all my computers. Also PVC.

Last night, Yan and Octavian came over to watch a movie. They got Ditto, which is apparently like a sappy Korean version of Frequency. it wasn't bad, but like all Korean movies (except perhaps, Attack the Gas Station), it seemed like it was three hours long. Also, I forgot to return the last movie we watched, so it was overdue like four days. In total, my last two rentals were late by a week, so I don't think I'm going to rent any more movies.

I still haven't met my other roommate, Dani. She's supposed to be back, but I haven't seen her. Maybe she doesn't exist. Maybe I've signed a lease with a crazy person, and clinically crazy, not like the people I've been living with for the past five years. :)

Speaking of crazy, I found the greatest little graphic novel lying on the coffee table. It's called How Loathsome, and it explores San Francisco's queer and transgendered subculture. In between this, are a couple of little alternate stories involving victorian horror stories and ancient Japanese codes of honor (but not what you're thinking). The whole thing was beautiful, not in the art, but in the way it told a story about "forbidden" lifestyles without being preachy, hyperactive, or overly artsy. It struck me in the same sort of way The Matrix did, back before before they screwed it up with two dissapointing sequels. Go read the first few pages on Amazon. It's good stuff.

0 comments reply permalink

Hacks, Hubris, and Sexy Software

posted by chip on 2005-08-10 01:53:53
So in preparation for the upcoming October DDR tournament, Marty made a random song selector for DDR. It was cobbled together from some scripts he found online, and considering the fact that he's a music major with (I'm guessing) no programming training whatsoever, he did a pretty good job. Of course, since I'm a perl programmer, I've got an enormous amount of hubris, and I had to redo it properly. :) After several hours of hacking, I came up with DDRng. Marty said, "sweet merciful crap that RNG ddr song generator is SEXY." I couldn't have said it better myself. :)

Also:

Marty: dude, i really hope that didn't take too long because you totally didn't have to do that for me.
Me: Hah. I didn't do it for you. I did it to see if I could. :)

Now, I know that makes me sound like kind of an asshole, but I didn't say that to be mean. If he'd asked, I would have gladly done it even if I didn't care for the idea, because Marty's a good friend of mine. But still, that's the truth. I didn't do it for him. Every so often, and I think everyone does this, you ask yourself, "Can I push myself beyond what I know I'm capable of?" It's these times that I put aside eating, showering, and the company of friends (a stretch, I know) to sit down and craft a masterful hack. Ok, maybe not eating. Maybe that's not entirely accurate. I was pretty sure I could make a random song selector. Watch out for the next version that'll really stretch my skills.

Sexy Software... I like that idea. In my mind, sexy software is software that involves the user in such a way that the user feels good about the experience. It's software that's easy to appreciate because it feels and works in a natural way. Apple makes sexy software. Google makes sexy web software. IBM makes software that's sexy on the inside. Microsoft would make sexy software if it didn't routinely vomit all over itself. (Drunken frat-girl software?) You can make open source software sexy for you, but your friend would probably make it sexy in a different way. The good news is both of you can have your way. :)

I think I'll try to make sexier software. :)

1 comment reply permalink

I'm no longer homeless...

posted by chip on 2005-08-08 20:27:15
... but I'm still a bum. :)

Since I wasn't sure what I was going to be doing in six months, I didn't get an apartment back in October like everyone else. I didn't even get one a month ago like Yan and Ed. I waited 'till the very last minute, knowing that there is never a shortage of roommate vacancies near the beginning of the semester. I went to see a place I found on cmi.classifieds, and just got word today that I got the place. I'm not saying I cut it close or anything, but my current lease ends in exactly one week. Now, not just anyone could pull this off. Of course, anyone can wait to the last minute, but it requires skill, finesse, and a keen eye to find the right moment to act. Kids, don't try this at home.

I am a professional procrastinator.

The place is pretty nice. Spacious, wood floors, basement, backyard, parking space, DSL, gas stove. I'm especially excited about the last one. Free of the tedium of burners that are slow to heat and slow to cool. If you do any cooking at all, gas is the way to go. The kitchen is nice and spacious, too. It's the perfect place for my long-procrastinated "How to Burn Food Without Really Trying."

The one roommate that I got to meet, Lauren, is pretty cool, too. I didn't get to meet the other roommate, she was at a conference at UC Berkeley. Oh, yeah, they're both grad students. In Entomology. That's the study of bugs. "So you'll only find bugs in the freezer sometimes," she says.

Also, the place is unfurnished, so I get to be creative with my living space (Read "all furniture made of computers and egg crates"). I'm thinking I'll forego the bed and get a Japanese-style futon. Or maybe I'll just put a matress on the floor.

In any case, it will be interesting. :)

2 comments reply permalink

SHF mode

posted by chip on 2005-08-07 22:39:39
So I just spent the last 5 minutes perusing this before realizing it was written by Eric S. Raymond. For those who don't know, ESR (as his name is often abbreviated) is one of the most well known hackers out there. And, no offense to anyone who thinks he's sexy, he's the last person I'd like to think about when trying to talk to a girl. Although knowing this, his mention of "simple-horny-fuck mode" makes a lot more sense now. I wonder if there's a .el for it in Emacs...

Oh, god, there's a whole directory of ESR's Sex Tips... *shudder*.

0 comments reply permalink

Further hilarity of the semicolon joke

posted by chip on 2005-08-06 01:16:22
Ok, I explained the semicolon joke to Chrissy, and she understood it. Unfortunately, she still needs some practice. At the end of the conversation, this happened:

Chrissy: bye!@
Me: bye
Chrissy: hug ():
Me: Semicolon.
Chrissy: dammit

Ah. It's the joke that keeps on giving. Chrissy, please understand that I'm not laughing at you. The semicolon joke is like the pie-in-the-face gag of programming jokes. Overused, cheap, and always funny. Speaking of cheap gags, the Collegetown USA footage of the DDR tourney from waaaay back in February has been put online, thanks to my mad ripping skills. Enjoy.

0 comments reply permalink

Linux Software RAID vs LVM

posted by chip on 2005-08-06 00:07:49
So I'm adding the shiny new 250GB disk I just got to my storage system, and I'm pondering my options. Right now I've got my major storage in a LVM volume group spread across a 2.5GB partition and a 40GB disk. I could:

Well, to save you all the suspense, I'm trying the last one. Namely, 10GB of that space is going to a striping volume, and the other 30GB is getting mirrored. Yes, this leaves me with three different areas, but I can justify it because each area has a different purpose. Now, both Linux Software RAID and LVM can do striping, and the question weighing on my mind is, of course, which is faster? My money's on SW RAID, but just to be fair, I'm going to try them both.

For the record, my two drives aren't quite equal. The 40GB drive is a WD400BB, and the 250GB drive is a WD2500JB. For those not familiar with WD's nomenclature, the BB means a 2MB cache P-ATA drive, and the JB means an 8MB cache P-ATA drive. The 250GB drive is some 13MB/sec faster than the 40GB, but I'm not really worried about this, since it's not under my control. The good news is that since both drives are recently manufactured by Western Digital, they have identical geometry except for the number of cylinders (255 heads, 63 sec/track). Read: No wasted space.

I'm using bonnie to test the filesystem performance, and reiserfs v3 for the filesystem. Here's bonnie for each individual disk:

/dev/hde:

Version 1.93a       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
yomiko           1G    96  99 35698  89 22316  35   598  99 48216  34 149.6   3
Latency             89332us     241ms     359ms   51873us   31759us    2187ms
Version 1.93a       ------Sequential Create------ --------Random Create--------
yomiko              -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  4393  94            4215 100  4400  97            3849  97
Latency               129ms     252us    3592us    8224us      38us   77153us

/dev/hdg:

Version 1.93a       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
yomiko           1G    96  99 35706  89 27330  43   575  97 60909  44 171.0   1
Latency               168ms     252ms     296ms     111ms   85123us    1818ms
Version 1.93a       ------Sequential Create------ --------Random Create--------
yomiko              -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  4566  98            4022  95  4431  98            3845  97
Latency              3710us     276us     105ms   21126us      41us     113ms

You can see that the 250GB is faster on reading, but not significantly faster at block writing. Both are writing around 35MB/sec.

Here's LVM in action:

Version 1.93a       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
yomiko           1G    97  99 36551  91 25812  39   594  98 50473  32 137.4   2
Latency             86314us    8271us     198ms   49072us   24209us    1479ms
Version 1.93a       ------Sequential Create------ --------Random Create--------
yomiko              -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  4532  98            4134  98  4430  97            3959 100
Latency             10976us     268us   26395us   37157us      39us    2872us

Not significantly faster. Block writes are less than a meg per second faster, and block reads seem to have taken the greater of two evils, and are going only slighly faster than /dev/hde.

Here's SW-RAID:

Version 1.93a       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
yomiko           1G    97  99 35409  89 32516  54   618  99 76858  65 135.1   2
Latency             90193us     286ms     330ms   43347us   23039us    1497ms
Version 1.93a       ------Sequential Create------ --------Random Create--------
yomiko              -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  4591  97            4227  99  4452  97            3967  99
Latency             30652us     268us   15176us   46875us      48us    3739us

Block writes are back down to around 35MB/sec. This is dissapointing, but look at the block reads. Close to 77MB/sec, greater than either drive individually.

So the winner is SW-RAID, but not by a lot. I really expected some better performance here, but I guess I'll have to deal with what I've got. For those interested, the lightly edited log of my endeavors is here.

Some things to note:

And, of course, YMMV. :)

0 comments reply permalink

Datamonster Diving

posted by chip on 2005-08-05 16:59:36
A long time ago, I was frustrated by the lack of file transfer functionality in any AIM client I used (this was back when gaim didn't have it). So I made the DATAMONSTER. It's a file upload CGI with a twist. Some simple heuristic analysis is done on the upload to determine a score of how much the datamonster "likes" the file. Things like compressibility, file type according to 'file', and size are used, the idea being that media files like JPEG and MPEG have low compressibility (since they almost always use some sort of compression internal to the codec) and will thus score highly. Score high enough, and you are rewarded with a link to a random file inside the datamonster. The idea is to encourage uploading by rewarding good uploads. I don't usually check it, since it's on a machine I don't use directly, and all the files are stored in an odd place. I just went through it, though, and I'd like to share with you some of the better stuff I've received.

And that's just a few of the images. Also, whoever keeps sending me pictures of this girl, please stop. One is plenty. Thank you.

1 comment reply permalink

Hair

posted by chip on 2005-08-05 01:36:33
Ok, so I think the last time I got a haircut was close to my birthday. For those who don't know, my birthday is February 1st. My hair is getting quite... long. Between dying it black, letting it get so long, and that curious smirk I love to use, I'm starting to look like Steve Jobs circa 1984 (minus the bowtie). Here, see for yourself .

I'll get a haircut eventually. In the meantime, it's not that bad. I'd like to think that the longer hair enhances my Antonio Banderas-ness, but that's just a Selma Hayek-filled fantasy that will never happen. :) What it does is make me look like a dirty, unkempt hippie/math major. Just ask Tyler. *rimshot*.

I've tweaked the techblue.css style a bit. The link borders should stomp all over each other a little less, now.

Anyway, sleepy-time. I've got a final tomorrow, then I'm done with Summer Session II (Revenge of Summer Session)!

2 comments reply permalink

Leap Seconds

posted by chip on 2005-08-04 18:55:07
ATTENTION! All of you programmers who failed to account for leap seconds in your program, and are now one of the supporting reasons for removing leap seconds, this is for you. At least several freely available implementations of libc support 61 seconds per minute. Behold, from the strftime(3) manual:
       %S     The second as a decimal number (range 00 to 61).

Really, people. It's not that freaking hard. Time isn't stored internally as a set of values for minutes, hours, etc. It's a single value that counts the number of seconds since Jan 1, 1970 (also known as the UNIX epoch). Unless you're re-inventing the wheel, there shouldn't be a problem. Now go and rewrite your programs correctly.

Politicians: Stop trying to fix problems that you know nothing about. I know that this will leave you sitting and twiddling your thumbs most of the time, but please, let the experts sort these things out.

Today's new theme, chaoticdesolator.css, comes to you from my buddy Marcin's blog. I always liked the design for its simplicity and subtlety, and for the fact that it's one of the cleanest xanga sites I've ever seen. Not that that's saying much. I mean, really. Look at this typical Xanga blog. Makes you motion sick, doesn't it? No, I'm not going to do a style-a-day. Mainly because I just ran out of cool sites to clone. :)

2 comments reply permalink

<< 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 >>
All content printed on 100% recycled internet memes.