Subscribe: Chris Lee
Added By: Feedage Forager Feedage Grade C rated
Language: English
ajax  back  clee  code  didn  doesn  don  good  kde  much  new  people  pretty  qotd  things  time  work  working 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Chris Lee

Chris Lee

all clee, all the time



Mon, 24 Sep 2007 20:03 -1000

<davej> so mountain dew have made a huge fuck up.
<davej> they marketed this drink to me as 'game fuel'. but it tastes distinctly like 'ass fuel'

announcing MobilePushr

Fri, 21 Sep 2007 04:18 -1000

When I first heard that the iPhone had a camera built-in, as well as WiFi, those two features triggered the following thought:It would be really hot if you could upload the pictures from the camera directly to Flickr.When I got my iPhone, I figured out a workflow that I could use to post pictures from the phone to my Flickr account, but it totally sucked balls was less than optimal. For each picture I wanted to upload, I had to open the picture in the Photos app and email it to a special address that Flickr had associated with my account.Negatives of this approach? Impossible to use for more than a couple of images at a time, primarily, but also, annoyingly, the Mail app on the iPhone scales and recompresses the JPEG images before sending - and it strips them of their EXIF data, too.So I was mildly displeased, but there was a way I could get it to work, kinda.Then the iPhone got cracked wide open. People started figuring out how to write third-party apps and get them installed on their iPhones, and - to be honest - the UI for it, via, is - even though it's not from Apple - better than anything I've seen on any other mobile phone, ever.The Friday before last (September 7th), I decided it was time to take matters into my own hands. Finally learn Objective C. Start writing my dedicated "Push all of the images in my Camera Roll to Flickr, right now dammit" application. And I got a pretty good start! Got the toolchain to build working iPhone apps, and that only took a few hours. Started reading through Flickr's API documentation. Started implementing some functions that didn't require authorization to call - learning how to use Flickr's REST API, basically. Once the first couple of unauthenticated calls worked and did what I expected, I knew it would only be a matter of time before I had my app working.And then someone pointed me to iFlickr.My first thought was "Dammit, somebody beat me to it." And I was a little depressed for a bit.I downloaded it and tried to get it working. No offense to the iFlickr devs, but they clearly didn't put a lot of thought into the user experience (or if they did, I posit that their ideas about "good user experience" work completely differently from mine). I didn't end up getting it to work, but it's open-source, right?Naturally, my next thought: "Well, I've been working on mine, and this doesn't really do what I wanted. But... maybe I can steal some of their code at least!"And then I looked at the code.My eyes still burn a little bit from that. That ... that was not a good idea. I've had much better ideas in the past.I worked on this for the next few nights, realized that I could completely avoid the messy minitoken crap by using the "Desktop app" authentication mode from Flickr, deleted all of my code that dealt with mini-tokens, and the other night, I finally got it to actually upload pictures to my Flickr account. (My friend Cliff's help was so valuable as to be incalculable.)I'll post more technical details later, but the important thing is: MobilePushr is out. The UI is going to get a lot of love in the next few days, because the current one doesn't provide nearly enough feedback, but as of right now, MobilePushr lets me do something that I've wanted for almost three months. I can push my JPEGs directly from my iPhone to my Flickr account with the push of a single, giant red button. (And so can you! If you go download it and install it on your iPhone, that is. Assuming you have an iPhone.)Also, of course, MobilePushr is Open Source / Free Software, released under the GPLv2. If you use git, you can look at my code by cloning git:// and poking around.The really awesome thing about all of this is that, through Flickr, I can see how many people have given my app permission to link to their account, and in the first twelve hours alone over a thousand people have activated support for MobilePushr on their Flickr accounts.I don't even have words to describe how awesome that makes me feel.[...]


Thu, 20 Sep 2007 18:09 -1000

<ajax> it's like kicking a puppy
<ajax> ... in that's it's really fun


Tue, 12 Jun 2007 13:46 -1000

i pick good days to go to olpc office
free ice cream in the lobby
ajax: winning
ajax: where is it from?

did you know?

Mon, 11 Jun 2007 19:52 -1000

x86info is awesome.

Unfortunately, SourceForge is not so awesome.


Tue, 15 May 2007 16:42 -1000

daniels: You'd better be getting dolla dolla for this
mjg59: well, euro euro, but yeah


Thu, 26 Apr 2007 20:04 -1000

yum, well. let's not mention yum.
ajax: I thought you were making yum not suck.
clee: i realized life was short and i wanted to work on something that stands the remotest chance in hell of getting me laid
ajax: I thought you already got guaranteed sex.
"Hey baby, want to see multiple graphic cards working at once? huh?"

they're gonna hunt me? for sport?

Tue, 23 Jan 2007 06:44 -1000

Can't really think of anything funny or clever to say about this; I had surgery for my hernia today, and it went well, I suppose. I survived, and now I have a surprisingly large incision which has been covered in superglue. It's going to form a bad-ass scar.

My surgeon prescribed vicodin and ibuprofen. I'm not entirely sure that either of those is helping me at all.

I was told before I went under the knife that the vicodin they were giving me was basically diazepam, which made me think of Metal Gear Solid, and I was happy. Visions of long, drawn-out boss fights with Sniper Wolf danced through my head. Unfortunately, it turns out that the nurse lied to me, and vicodin is not in fact diazepam.

Incidentally, I had my prescriptions filled at Target, because of their totally sweet ClearRx bottles. If you haven't heard of them, you should check out the story about why they're awesome.

Anyway. I'm alive, and that's something.


Wed, 03 Jan 2007 19:10 -1000

man, git hates me.
git does not love
occasionally it roughly pleasures
but there's no tender embrace, and definitely no breakfast the next morning

alvis will smoke those bitches

Wed, 27 Dec 2006 09:09 -1000

Christmas is always an interesting time of year.

Three years ago I had the single worst Christmas ever. The ones since then haven't been so hot either, until now. This year's Christmas is officially the best one I've ever had.

The reason?

I have finally gotten rid of a car that I hated and I now am the proud owner of a brand-new 2007 Toyota Corolla. It's got a five-speed manual transmission, and it's totally freakin' sweet.

I'm really excited about getting more than twenty miles per gallon on road trips. I'm hella stoked about having a manual transmission again. But most of all, I'm just happy to finally move past the stage of my life where I was constantly pissed at myself for being so stupid as to get stuck with the previous car.

Anyway. I'm back in Arizona for the holidays, and things are pretty fucking great right now. For the first time in a long time, I'm looking forward to the road trip back home in my car.

On a slightly-less-awesome newsfront... I get to have surgery next month.

Some of you may know that when I was a teenager, I had a hernia. It wasn't really anything terribly awful, just a typical hernia; they operated on me when I was nineteen and fixed it up, and everything was great until a couple of months ago. I noticed some similar symptoms to my original hernia, and I finally got off my ass and went to the doctor a few weeks ago. She confirmed it - I am officially on my second hernia. I'm not even twenty-five yet.

However, having a car with a real transmission has made me so happy that I'm not even really that upset about the prospect of being cut open and having somebody mess around with my internal organs. It's going to suck, sure. But I made it through it last time; I've got a feeling that I'll be able to survive this time.


Sat, 09 Dec 2006 02:20 -1000

and if i'm marking up every sdk header _anyway_, i want to make a pass over them eliminating all the cases where we do struct foo { a, b, #ifdef I_KICK_PUPPIES, c, #endif, d, e, f }

it's time for the "I Hate Marco Show!"

Tue, 21 Nov 2006 05:26 -1000

So it's been playing for a few weeks now, and I just felt that it needed to be shared with everyone who reads this blog:


I don't really know exactly how to put it into words, but there is something that is sick, and twisted, and oh-so-right about this show that makes me laugh. The writing, as aseigo noted is amazing, and the plot throughout Season One so far has been gripping.

If you have a weak stomach, you might not like it. It's definitely not a show for the young ones, either - strong language, some nudity, lots of very graphic scenes. The really amusing thing to me, at least, is that the really graphic scenes are not even of violent acts; whoever is handling the visuals for the show is an absolute genius. Simple acts like tying shoes and pulling on a T-shirt somehow take on a much more sinister undertone.

I highly recommend checking this show out. It is, by far, my favorite new show this season, so far even moreso than Heroes. Heroes keeps leading me along and throwing me a bone every now and then, but Dexter has been delivering since Episode One and I haven't been disappointed yet.


Fri, 10 Nov 2006 15:14 -1000

how the fuck is dobey still on planet GNOME?
(though I admit I am amused by the response to his "please stop talking bad about us" post.)
gnome isn't just about fucking ugly software
it's also about fucking ugly icons

(note: yes, I read Planet GNOME. And a dozen other Planet sites.)


Wed, 08 Nov 2006 14:01 -1000

god. i'm really getting used to this monitor
i don't know what i'm going to do when it gets taken away
ajax: what monitor is that?
keithp: dell 30"
ajax is a whore
a whore with a nicer monitor than you

yet another python rant

Tue, 07 Nov 2006 16:40 -1000

I hit another case of "Python really makes me angry" today and I thought I would share it with you all, since I know how much you love reading about things that enrage me.

I have a chunk of code that (while being significantly more complex) looks like this:

def baz():
print kitties # This works fine.

def bar():
print kitties # This one throws an exception!

kitties = 'delicious' # The exception is because of this.

def foo():
stuff = {'kitties': 'squishy'}

for k, v in stuff.iteritems():
globals()[k] = v


This is another example of Python's scoping being weird, and in my opinion, broken.

Let me explain, in case you didn't bother copy & pasting that into a python shell and running it.

baz() will execute properly. bar() will not. But the error you get from bar() is worthless - it tells you that you're trying to read from an unassigned local variable, except you're trying to read from a global variable. The problem I have is not that bar() fails - it's that it is inconsistent with baz() working. I realize that adding a global kitties makes bar() work properly; but I think that in this case, the error should really be when you try to reassign a global variable that hasn't been declared as global.

implementing ideas

Fri, 27 Oct 2006 07:02 -1000

I like getting around to implementing the various ideas that I bounce back and forth inside my skull.

One of those ideas that I had for a long time was to solder a PS/2->USB converter directly into an IBM Model M keyboard, along with a USB plug so that I could just swap out USB cables to plug the keyboard into the computer.

I have finally done that, after some inspiration from zevv, a few choice purchases at Fry's Electronics, and a few borrowed parts from my friend Cliff.

I have to say, this kicks way more ass than even I had hoped. (ajax, eat your heart out.)

Still on the list:

  • finish the Qt4 frontend for HandBrake
  • write my own email client that doesn't suck balls
  • write my own AIM client that doesn't suck balls
  • hack up some apps for Qtopia/Opie/whatever for my shiny new iPaq 3670

I know there's more than that, but those are the ones that are currently taking up the most brainspace, so I'm going to have to get to them sometime.

Due to United Airlines sucking balls, Dave Airlie crashed at my place last night after they called back and cancelled his flight from SFO to Sydney. I've said this before, although maybe not on this blog, but United are a bunch of cockbags. They have fucked up at least one leg of every single trip of mine that they've ever been involved in. In any case, I know far too many foreigners named Dave.

Also, I've been growing this out for the first time ever. Looks like I'm going to have to update my various avatars...

screeching handbrake

Sun, 22 Oct 2006 09:16 -1000

I really love it when I can easily find something that bothers me in a piece of software, dive into the source, and start fixing things.

That's what I've been doing lately with this little DVD ripping app called HandBrake - it's a cross-platform GPL DVD ripper that makes it almost painfully easy to take a movie from a DVD and turn it into a file that you can watch whenever the need strikes you.

There are some problems, though. Right off the bat, there is the issue that (when ripping a DVD) libdvdread spews out hundreds of lines of output, warning me that a value isn't 0 and it should be. It's not fatal, but it certainly is annoying, so I whipped up this patch up to fix it.

Also, I don't have a video iPod at the moment, or a Sony PSP (and I don't see myself buying the latter anytime soon, but you know... if one were to fall into my lap, I'd probably use it and enjoy the hell out of it.) Anyway, not owning one of these devices, I'm more interested in HandBrake as a way to make high-quality compressed archives of my DVD movies that I can watch on the HDTV in the living room. There's a problem, though; HandBrake scales the picture by default as it transcodes it.

Not anymore, it doesn't. Now it has support for (optionally) embedding the anamorphic pixel ratio into the output file, and can preserve the original DVD video frames. Which means, with x264 at least, a reasonable performance increase of about 15%. Not too shabby!

Unfortunately, the only GUIs for HandBrake are on Mac OS X and BeOS. Now, I love BeOS. Haven't used it in years, though, and I don't even think it'll run on my hardware; Haiku still isn't quite there yet, either, but I'm keeping tabs on it. What I really wanted is a Linux UI for HandBrake.

So, I've been hacking on one.


Stay tuned for more on this...

aoe is hotness

Wed, 18 Oct 2006 05:03 -1000

I've been playing with ATA over Ethernet on my home network and I have to say, it is pretty damn sweet.

In fact, it would be absolutely perfect if I could use AOE to share drives to my media center, and then use ZFS on that machine. Unfortunately, Linux doesn't have ZFS, and OpenSolaris doesn't seem to have AOE yet. (The Coraid site has a Solaris driver, and they claim it works on Solaris 7+, but there is no source and I don't happen to have an OpenSolaris machine to test it on at the moment.)

But - the ability to pool together all of my disparate disks into one gigantic volume is awesome. It's like Voltron, but with hard drives instead of robots.

insert the sound of a jaw dropping

Wed, 18 Oct 2006 04:56 -1000

Definitely picking up one of these.

Leopard features

Tue, 08 Aug 2006 07:57 -1000

I was lucky enough to get a ticket to attend WWDC this year, and I've been looking over the session schedule to see what the sessions are, when I ran across this interesting little blurb:

DTrace, an open source project which provides insight into the interaction between your code and the OS kernel, is now available as part of Leopard. This session will explain how kernel developers can both take advantage of, and extend, DTrace's functionality to help debug and optimize low-level code.

DTrace in MacOS X? Hell yes!

it gets all jiggly

Fri, 19 May 2006 04:21 -1000

I learned something interesting a few weeks ago and it just popped back into my mind so I decided to record it for my adoring fans.

Second-hand smoke really fucks with me. Savanah introduced me to a friend and we spent a few hours at said friend's apartment; they both did some pretty impressive chimney impersonations and I ended up feeling sick for days. My throat felt like it was on fire, and I kept coughing up chunks of ... I don't even know what. Maybe lung. My nose wouldn't stop running and I was constantly sneezing.

I'm not sure exactly how much later - maybe a week or so - I was at Cliff's place and we were hanging out. I lamented the effects that the second-hand smoke had on my throat, and Cliff empathized with me; apparently I'm not the only one that second-hand smoke fucks with.

However, Cliff's throat was not ravaged and he was in fact feeling fine, so he jokingly suggested that we smoke some hookah. (For those of you playing along at home, no, I'm not using code-words for drugs. We smoke hookahs, not bongs, and we smoke tobacco out of them.) I figured, at this point, what the hell could it hurt? Cliff prepared the hookah and I continued coughing up internal organs.

Soon, the hookah was ready to go - those things take like ten minutes or so to get ready if you're fast, and longer if you're not - and we started smoking. Almost immediately, I noticed something very strange - my nose stopped running.

I was intrigued.

Several minutes later, I noticed that I had also not been coughing. My nose was still not running, and I was even able to breathe out of both nostrils. You might think that's a funny thing to notice, but trust me, you don't miss it until you can't do it anymore.

Hours later, I was still feeling worlds better. I'm not sure what the logical explanation here is, but first-hand smoke fixed every symptom introduced by my overexposure to the second-hand variety. This perplexes me, but I do not question feeling well; I just enjoy it.

how disturbing

Wed, 12 Apr 2006 03:52 -1000

[savanah] I'm going to snowball you one of these days, just to show you the difference between sperm and orange pulp

tacos are not worth endangering the mission

Wed, 12 Apr 2006 03:43 -1000

Took a road trip to Arizona this past weekend. It's a pretty hefty drive from Palo Alto to Phoenix and back; roughly ten or eleven hours each way. I got to spend time with Savanah, though, so as far as I'm concerned it was worth it. Her brother kicked my ass at Halo 2, but that isn't very surprising since I suck at Halo and its ilk.

I decided that I'm not going to Norway. As much as I would have loved to go, I'm pretty sure it wouldn't really work out at this point.

I informed Trolltech of my decision last week and when I showed up at work on Monday, I was in turn informed that since I'm not going to Norway, there's not really any reason for me to stick around in the Palo Alto office; end result, I no longer work for Trolltech.

This is kind of cool, actually; it gives me a couple of weeks of free time with money to relax, and as tired as I still am from the road trip, I think I might go back to Arizona again. I might even tell some other people that I'm there this time. I have to be back in time to move into my new apartment though. Since I don't work at Trolltech, I also don't get to live in the Trolltech-sponsored housing; I'm crashing at my friend Cliff's place currently, and I don't move into my own place until next week.

At least I can't complain that my life is boring.


Sun, 02 Apr 2006 20:48 -1000

[ajax] zrusin has already threatened me with violence if gobject is ever attached to X
[ajax] and i can't afford that. i'm too pretty, and he fights dirty.

dear diary

Sun, 19 Mar 2006 00:40 -1000


My girlfriend knows the cheat codes to the GTA games, by heart.

Sorry, just had to brag about that.

rumors and lies

Tue, 14 Mar 2006 20:01 -1000

It's been a while since I last blogged; I know, I suck. Deal with it.

I was supposed to be in Norway as of two months ago, but as it turns out, the Norwegian government apparently hates me. My work visa has yet to be approved, so I'm currently in California working at Trolltech's office in Palo Alto on a short-term contract.

"But, Chris - how did you end up in California? I thought you were in Boston!"

Yes, yes, I was. I was in Boston until I ran out of sofas to crash on. Then I took my car and talked a crazy friend of mine (the author of naim to be precise) into doing a cross-country road trip with me. We made the trip from Boston to Phoenix in about forty-two hours, give or take.

I spent a few weeks in Chandler, leeching off of my parents, and generally trying to figure out my next move. I had a lot of fun while I was there - my friend Josh left for the Navy right before I left to come out here to CA, so I was there for his sendoff party, and that was pretty great.

Oh, and I have a girlfriend now - scarily enough, she's not completely insane or otherwise mentally handicapped, yet she still likes me. So, to all my secret admirers out there: You should've moved faster! Now I'm taken, and it's too late.

Saturday can't get here fast enough.

metropolitan moving sucks

Tue, 14 Mar 2006 20:00 -1000

My friend Jeannette had a terrible time with Metropolitan Moving. If you're going to be moving anytime soon, I'd suggest avoiding them.

for the record

Fri, 24 Feb 2006 07:02 -1000

(image) airlied: I'd be a lot less annoyed with companies like ATI if they shipped drivers (even proprietary ones!) that actually supported their latest cards.

The R5xx-series cards have been out for MONTHS now and there's still no acceleration, 2D or 3D, Open Source or proprietary. Good job, ATI!

Anyway. I'm excited about the way that things are headed, and I'm really glad that other people are getting excited, too.

To the people who were wondering - the "AI" in "AIGLX" stands for Accelerated Indirect - it's basically required to do a lot of neat things like using the local card to render OpenGL from a remote application. It also enables all sorts of kick-ass effects like the new bling in metacity and compiz (which doesn't work yet, but it's only a matter of time).


Sun, 15 Jan 2006 01:21 -1000

-5 points for having a seriously hot ass he prolly won't let me violate

you have headpigeons

Fri, 06 Jan 2006 17:51 -1000

Today is the dawn of a new era!

Today is the first day that I no longer work for Red Hat.

In just a couple of short weeks, I should be in Norway working for my new employer, Trolltech.

Also, tonight, the second half of Battlestar Galactica season 2 starts! This new chapter of my life is off to a hella sweet start.

qotd jan 5, 2006

Thu, 05 Jan 2006 00:21 -1000

[ajax] it's like we've entered a new level of geekhood, one which I did not previously realize existed

#if 0

Fri, 30 Dec 2005 01:21 -1000

There is a lot of really useless code sitting in Xorg today.

I was playing with a CVS checkout and noticed a large chunk of one of the source files was commented out with #if 0; so, this piqued my curiosity and I decided to figure out how many blocks of code are commented out with #if 0 in the server, driver, and lib trees.

The current count, in CVS HEAD, as of about five minutes ago:

moduleblocks of #if 0 code

All combined, that's 1112 blocks of code completely disabled at compile time just sitting there in the tree.

Haven't bothered checking any of the other modules; I'm sure there's more in apps but I don't really think it matters for docs or fonts. Still. That's a lot of useless crap.

you know what to do

Thu, 22 Dec 2005 22:32 -1000

So, ajax and I are hanging out the other night.

He heads to the fridge to grab a Coke, and comes back with a serious expression on his face.

[ajax] Well, we have a couple of options.
[clee] What?
[ajax] There's only one Coke left. So, we can-
[clee] Fight. To the death.

Good times. (Obviously, I won, since I'm here to blog about it.)

tungsten e2

Tue, 13 Dec 2005 18:40 -1000

My Palm arrived yesterday, finally.

I've been playing with it, and it seems to be a really cool device, barring a few issues. It feels very solid, and I like that. What I dislike is the software.

Don't get me wrong - I love PalmOS, but PalmOS 5 is trying to do things it's just not capable of and Graffiti 2 makes me want to throw my shiny new toy into a wall. For example, the hack that the PalmOS guys are using for showing focus selection? It breaks with at least half of the color themes that they ship on the device, because it doesn't draw the halo properly on the buttons. And the fact that I can't create my *own* color theme annoys me, too.

I need to figure out some way to get Graffiti 1 working on this thing. I'm using a demo version of TealScript for now but it's a little on the slow side and I don't really like the idea of paying $30 for it, especially since it's *not* a faithful reproduction.

Sync works great over Bluetooth to my Mac mini, which is pleasing. The pilot-xfer command-line utilities on Linux seem to work very well too, which is good; I haven't tried any other utilities yet, but I will soon.


Mon, 12 Dec 2005 02:59 -1000

ajax arrived a few minutes ago, and my inbox just hit 666 messages.


palm rant

Fri, 09 Dec 2005 20:35 -1000

I blogged last month about switching my phone to Vonage, which has gone swimmingly well. I'm really happy with Vonage, in that I haven't had to deal with them at all because their product just works (which is so rare in our industry that it's scary, and I'm sad that I even find it noticeable that I'm commenting on it), and also in that the features they provide seem to work really well. Being able to check my voicemail from the web is totally badass.

That said, since I no longer have a cell phone to keep my address book on, I decided to pick up a Palm once more. After checking out a few models and consulting with coworkers, I decided to pick up the Tungsten E2.

I put my order in on Tuesday, December 6th, and I made sure to select 'Overnight shipping' because I'm an impatient bastard and I want it now. I would've gone into a store to buy it, but it came with a free 128MB MMC flash card when I bought it online from Palm, and like a sucker, I decided to go for the freebie.

(I also noticed, just after submitting my order, that Amazon was selling the same exact handheld, sans the 128MB flash card, for $150. D'oh.)

I just got a mail from Palm, today, informing me that my order has been shipped.

I won't have it until Monday; even if UPS does deliver it tomorrow, I had it scheduled for an office delivery since I expected to be at work, and I'm not planning on going in to the office tomorrow.

In other words, by the time I get it, it will have been almost a week since I placed the order. With "Overnight" shipping.

vonage review

Thu, 10 Nov 2005 02:58 -1000

I decided that I was sick of paying too much money for my cell phone and so I've initiated a transfer of my cell phone number from Sprint/Nextel to Vonage.

Vonage assigned me a temporary number in the meanwhile, which is cool, and I've been playing with the service.

I have to say that I'm really pleased with it so far.

Installation was literally a snap - I unpacked the router they sent me (the Linksys RTP300), plugged in the power, and scratched my head over what I should do next. I figured that I'd probably have to do some port forwarding magic or something if I wanted it to work from behind the router, so I punted on that and went to Target to pick up a handset since I haven't ever owned a "real" phone.

Bought a $9 handset at Target, a GE "Slimline" thing that has call waiting, caller ID, three-way calling, and other things that are insane for a $9 phone. Anyway. I brought it back home, plugged it (and the ethernet cable) into my RTP300, and then mentally prepared myself for the frustration of having to do magic to get my main router to let the new toy do its thing.

I was a little disappointed, actually.

It just worked. No port forwarding, no iptables hackery, no headaches, no frustration - the lights flickered in a few weird patterns for a minute or so, and then I picked up the handset and I got a dial tone. I dialed my phone number and it asked me to log in to my voicemail.

Consider me impressed. Not to mention that the web-based UI for managing the Vonage account is really really sweet - I have it set to send me email when I get a new voicemail, and you can check your voicemails from the web (they show up as WAV files), plus it's dead simple to set up call forwarding and configure the different timeouts for voicemail/call forwarding/etc.

So, I don't know about the other routers - I've read lots of nightmare story reports from people using other hardware and things - or other phones or other VoIP providers, but so far I'm pretty damned impressed with Vonage. Oh, and for $25/month, I get unlimited calls to anywhere in North America, including Canada, and their international rates are pretty good, too. I called daniels up the other day and the conversation - which lasted for almost an hour - cost less than a combo meal at Burger King.

Pretty sure the future is made out of awesome.


Thu, 03 Nov 2005 12:46 -1000

[ajax] alanc: oh, you mean like any sensible system would do
[alanc] since when has sensibility had anything to do with how X is built?
[ajax] touché


Fri, 21 Oct 2005 11:40 -1000

[kfoltman] is there any way to "record" a group of drawing operations into a sort of metafile, then render that metafile on a printer "drawing surface"?
[TD] kfoltman: yeah. it's called a PDF file ;)

planet update

Sun, 16 Oct 2005 00:03 -1000

For those of you who are syndicated on Planet KDE and also care about your bandwidth: Please pay attention to this message.

By default, Planet KDE will now show any images that you include in your blog. If you do not wish for images from your blog to show up on the Planet (which I can understand, since we do use up quite a bit of bandwidth), now you just have to do:


The old class="showonplanet" is still around, but it's irrelevant now and may be removed in the future.


Mon, 10 Oct 2005 00:19 -1000

[@ajax] i have found the greatest flash game ever
[@daniels] 595ft
[@daniels] hm, 928ft
[@ajax] 1144ft is my record so far
[@daniels] now 1022
[@ajax] i'm pretty sure that if launching kittens out of cannons is wrong i don't want to be right

dogtail unleashed

Fri, 07 Oct 2005 12:31 -1000

Today is a pretty cool day for me because a project I've been working on at work is finally released.


dogtail is a framework written in Python which makes it easy to write scripts to automate graphical applications. It uses AT-SPI which means that (for now) it doesn't work with KDE, but I fought the good fight to make sure that it has no GNOME dependencies so that hopefully there will be a chance of KDE adopting it in the future. Now that we've finally gotten the release out the door, I plan to track KDE svn and write scripts for KDE4 apps. Ideally, we'll have KDE4 support before KDE4 is actually released.

(I know that there's a tool from KDAB which allows one to automate KDE apps, but it's not Open Source and it only works with KDE; dogtail supports anything that we can see through AT-SPI, which includes and Mozilla-based applications as well as, hopefully, KDE4.)

NetworkManager and KDE

Wed, 21 Sep 2005 17:14 -1000

Fab: NetworkManager actually has a pretty well-designed separation between the front-end and the back-end; the only problem stalling us from being able to do cool things with it right now is that we have no working DBUS bindings for KDE3 (so nobody can easily write a Kicker applet to interface with NetworkManager to use on their desktop today), and KDE4 doesn't actually have anything usable at this point, whatsoever.

I brought this up at aKademy - aseigo and I were basically ready to go ahead with it but we got sidetracked with window icon previews in the window list on the desktop pager hover tooltip. (Try saying that five times fast.)

In theory, somebody could write the applet using the DBUS API from C, but the current Qt bindings in the DBUS tree are pretty much worthless, so it's not going to be pretty either way.

would you put your brain in a robot body?

Sun, 11 Sep 2005 05:49 -1000

Wade: No, I don't have a robot answering my email. My robots are busy preparing for the ... I mean, uh, what robots? I don't have any robots.

I do have three totally awesome computers now, though (not including my work laptop). The first one is my Mac mini, which rules, but it's not the focus of this entry.

Over the past week or so, I'd run into some really odd stability issues with my AMD64 box. I decided to go to CompUSA and pick up a new motherboard, since the last issue I had with an AMD64 machine was also the mobo. Bring the new mobo back home. Remove the old one, move parts over to new one, hook up power connectors, flip the switch, and ... nothing.

The damned thing didn't even POST.

Somewhat frustrated, I decided to work on assembling my other new system. I've had a spare CPU, some extra RAM, and a slew of video cards laying around for a while now, so the only thing I really needed to pick up was a new case and a motherboard for this box. It's an "old" AthlonXP 1700+ - I figure it's probably worth me keeping a system around that can do AGP and run fast enough to prevent me from throwing it out the window.

The assembly on my new system went pretty well, until the part where I attempted to attach the power cable. The power supply I was using was a 24-pin, designed for the power requirements of the newer AMD64 systems. Normally, it wouldn't be too hard to plug in a 24-pin cable into the 20-pin socket on the motherboard, except that the mobo I picked up happens to have the IDE pins right next to the ATX pins.

And there was much frustration.

I was about to give up, but for some reason I decided to read the manual for the power supply in the new case that showed up, and if you look at page 3 in the manual, you should see the picture that made my night.

The other power supply can break off the extra four pins so that I can use it on the motherboard.

I returned to CompUSA and got a replacement for the busted motherboard, and brought it home and set it up, and this one actually works, so now I've got both systems up and running beautifully.

My only issue now is that I need a DVI/USB KVM.

thanks, Antonio

Wed, 07 Sep 2005 01:06 -1000

Everybody else has been saying this on mailing-lists and whatnot, but I figured that it deserved saying on the Planet, too.

Antonio, aKademy 2005 rocked hardcore thanks to you and the LiMa guys. You guys kick ass. I didn't think it'd be possible to top Kastle, but you guys did it.

To next year! Helio, you ready for aKademy in Brazil? ;)

pronunciation is important

Sat, 27 Aug 2005 04:13 -1000

I finally got to meet a few people I hadn't met before, including aseigo. He's taller than I expected, at least. According to him, I don't look anything like what he thought I'd look like, but I sound exactly the way he thought I would. Along with Thomas Zander and Rainer Endres (and someone else whose name I can't remember) we left at around 1AM to go find a bar. We asked a couple of locals where a good place to get a drink would be, and they gave us some directions and told us to look for the 'Marabu' or something similar. After about thirty seconds of walking, aseigo was already calling it the 'caribou' and I had to correct him. Once we arrived in the area that they said it would be at, there was a building with with a bright neon pink heart sign that said 'Maribé.'

At this point, before entering, we had a couple of theories. One that we figured was likely was that the locals had sent us to a gay bar, which would have amused us. Rainer didn't want to go in, but I ventured in with aseigo and Thomas and the kid whose name I can't remember; I saw a bar with alcohol behind it and a bartender, so I went back to the door and motioned to Rainer that it was ok, it was just a bar, and everything looked fine.

Rainer took a step in and then decided that he was going to go to the restaurant next door instead; I hadn't eaten or had anything to drink since much earlier, so I decided to join Rainer instead of staying with the other guys. Rainer ordered a beer, and I got a soda. About fifteen minutes later, aseigo and crew came out to join us and they were laughing pretty hard.

Apparently, the Maribé is actually a brothel.

I think that even funnier than finding that out (which was pretty funny) was the fact that aseigo even saw the sign by the stairs that said 'Services' with a man and a woman on it, and he didn't get it until the woman told him that the price was 20 EUR.

Update: It's worth noting that the Marabu was actually right next door to the restaurant that Rainer and I decided to go to; aseigo just couldn't resist the pink neon heart sign.


Thu, 25 Aug 2005 20:31 -1000

Spain is pretty damned cool.

Well, ok, more accurately, Spanish women are pretty damned cool. I'm pretty sure I've seen more cleavage since I landed in Madrid than I have since I moved to Boston.

The trip has been exciting so far. There were two legs on the flight over - the stopover in Frankfurt was pretty uneventful. I was surprised by the fact that Lufthansa provided metal utensils for the in-flight meals; it impressed me, but at the same time, I had a realization. I shouldn't be impressed by metal silverware; I should be disappointed by plastic silverware. And on the flight from Frankfurt to Madrid, I was depressed - I guess the metal silverware is only for the cross-Atlantic flights. Anyway, once I landed, I wasn't too worried about navigating the Frankfurt airport; I've been there before (the last time I came to a KDE conference, actually) and in general, I find airports to be reasonably simple to navigate, even if you don't speak the language.

The airport in Madrid was also pretty easy; figuring out how to get on the metro was not too hard, but it took a bit more walking than I expected it would. Once I was on the subway, I figured out pretty quickly that 'proxima' is Spanish for 'next' and I was set. The route that I had planned out actually worked exactly as I hoped it would. I got off the metro at the right stop for the train station and almost bought a ticket for the right train on the wrong day. Once I made it to the train, I figured I was pretty close to safe.

The train arrived exactly when expected, and there were lots of taxis outside of the train station waiting for us, which was good. The taxi driver I rode with didn't speak much English and had no idea where the place I wanted to go happened to be; he got directions from the central office, though, and somehow I managed to find the student residence where most of us are staying.

That's the last of this entry - there's more to follow, I promise.

akademy 2005

Wed, 24 Aug 2005 05:27 -1000

Tomorrow is going to be interesting, I think.

I'm landing in an airport I've never been to, in a country where I don't speak the native language, and I have to make it from the airport to the train station (which is not attached to the airport, but is at least two subway stops away). Once the train arrives at the destination, I still have to make it from the train station to the place I'm actually staying, which is of course not exactly close by.

Since I'll be in Spain and my phone won't work there, the best way to contact me is either IM or email; I won't be getting any voicemails until September 3 at the earliest.

you exactly told me it was a magical goodies creator

Fri, 12 Aug 2005 12:12 -1000

Adam: I have a tax-free holiday every day of the week; it's called "Living in New Hampshire."

(There's no sales tax in this state, for the readers out there who are confused.)

Work on the tdfx EXA support is still ongoing; I have the framebuffer addresses properly set up now, but my blit and solid fill routines are completely hosed. At least I have an idea of how things are *supposed* to work now.

way to go, sparks, you broke the monitor and you're dead

Wed, 10 Aug 2005 13:33 -1000

Lots of things going on lately.

First off, most recently, I started hacking on EXA support for the tdfx driver - it doesn't do much yet, except for display things wrong and crash, but hopefully I'm not too far from it working properly.

Second, I finally coerced a graphic designer friend of mine into coming up with a new layout for my site. It's not live yet, because I'm not quite happy with it, but it's pretty close to ready (I think) - take a look and let me know what you think. (Yeah, I know, it's slow. It's using multiple layers of translucent PNGs, some of which are position: fixed. I prefer to think of it as "an opportunity for KHTML optimization.")

Third, I have been hacking on the Qt4 BitTorrent client from Andreas, and it's really cool. There's a very small, slow memory leak in it, though, which I have to find and destroy.

Other than that, not too much going on. I'm excited about aKademy - only a couple of weeks away!

yes, carl

Wed, 20 Jul 2005 02:05 -1000

Stroking is hard. So hard.

Every time I hear the word 'stroke' from now on, I'm going to hear keithp purr. That disturbs me to no end.

In other news, the DDC at OLS has been a lot of fun. I'm going to have to disagree with chouimat about a few things - namely, I think that Xgl is extremely sexy, and has a hell of a future, and while it's true that the vast majority of the talks here are GNOME-related or have a GNOME bias... it's because we are vastly outnumbered on this side of the pond, and you can count the number of KDE developers at this conference on one hand.

George Staikos was here for a couple of hours, I've been here for the DDC but not OLS, chouimat was here (but let's face it, you haven't been active in KDE lately, chouimat, and neither have I), and Alexander Dymo is here and gave a talk about KDevelop. We're not exactly taking over here. We need more of a presence at these shows, people. It's important.

more cowbell

Tue, 12 Jul 2005 04:46 -1000

I may be abusing my 'tech/KDE' category with this entry, but so be it.

A new tagging application called 'cowbell' is out and it looks pretty boring. Reading through it I was mostly uninterested until I hit this part:

It requires the Mono runtime, Gtk#, and TagLib to install and run.

Holy crap! GTK/GNOME apps using evil KDE technology! THE SKIES THEY ARE FALLING I TELL YOU.

Seriously though, good on them. TagLib is good stuff, and I'm glad to see that they're not reinventing the wheel. More projects need to use it.

kill all humans

Mon, 04 Jul 2005 04:06 -1000

Some asshole thought it would be a good idea to string up yellow "CAUTION" tape and block one of the one-way roads leading to my apartment building inside of the complex.

I was not amused.

I stopped my car, pulled up the handbrake, flipped on the emergency lights, got out, and walked to one side of the tape. I ripped it off, and some guy screamed out "HEY!!!" I turned to his general direction and flipped him off, and walked across the street to the other side, where I pulled down the rest of the tape and tossed it into my car.

Got back into my car and parked in my parking lot without incident, throwing out the tape on my way in to my apartment.

God dammit, I hate people sometimes.


Fri, 24 Jun 2005 21:19 -1000

Somehow, I just spent four hours playing Ikaruga.

They weren't kidding. This game is hard. Holy shit, this game is hard. I don't think I've ever played a game where it took me four hours to get to the THIRD STAGE before. This game rules.

I don't think I'll be sleeping this weekend.

(oh, and props to mpyne, who kicks *major* ass for dropping Ikaruga to me in the mail. The note he placed in the case reads "Let me know how Level 3 is. I only ever made it to the boss of Level 2." Holy shit this game is hard.)

wireless future

Wed, 22 Jun 2005 03:08 -1000

(responding to ChipX86)
Dude. One word.


Ok, to be slightly less cryptic: Wireless devices won't ever really replace their wired counterparts until they no longer require battery replacement to run. Batteries that recharge by gyroscopic motion? Ok, cool. Batteries that recharge by quantum phase induction? Hey, even if I just made it up, it sounds cool, and as long as it means that I don't have to put new batteries in when the current ones die, I'm all over it.

The main reason I don't have any wireless peripherals right now is the battery issue. I've almost talked myself into getting one of the Logitech mice that recharges on the base station - that's pretty close to my ideal scenario. It takes the whole "there's a battery inside" detail and makes it completely irrelevant.

build system notes

Sun, 12 Jun 2005 22:34 -1000

We had a discussion in #kde-devel earlier about what KDE's requirements for a build system are. What are the current problems we have with autoconf/automake/libtool? What features do they provide that we really care about? How hard would it be to replace any/all of them with things that suck less?

I took notes of the discussion. They're below; I'd like to get more feedback on this.

(One of the first points that I'm sure someone will make is "auto* is cross-platform! We need to support KDE on platforms that aren't Linux!" etc. Look, we realize this. However, auto* provides lots of problems for us on platforms we do care about, including MacOS X and Windows. (Ask RangerRick or js about them on IRC, or email them.)

Just because we're using auto* and friends doesn't mean that our code works; as a matter of fact, RangerRick noted that so far, all of his issues with the Mac port of the work-in-progress KDE4 have been build issues, and none of them have been code-related yet.

This is clearly a problem and since KDE4 is an aggressive new major release, we should solve it in the KDE4 timeframe. We don't want to have to wait until KDE5 for a build system that doesn't suck, do we?

Without further ado, the notes from the discussion.

Must support:

  • generating binaries (duh)

  • generating shared libs (on all ELF platforms + MacOS X; Windows?)

  • icon installation

  • uic, moc, KConfigXT, etc

  • GCC visibility

  • automatic dependency resolution

  • manual hints for dependency resolution

  • flex/bison

  • non-recursive (flat) builds

  • --enable-final

  • builddir != srcdir

  • simple to the point of being learnable within 5 minutes

  • kdeinit support (?)

  • multiple build targets (libfoo, libbar, libbaz) in one file

  • --compile-slots, like in unsermake

  • pkg-config support

  • support rpath sanely

  • ability to link & run uninstalled binaries

  • easily integrated into KDevelop

  • 'admin' needs to be shipped in KDE instead of in src of each app (if we keep the 'admin' dir, that is)

Would be nice, but not necessary:

  • having a standard and distributed build system and test suite

  • ability to build from svn:/trunk/KDE


cool interview

Wed, 08 Jun 2005 15:46 -1000

Matt Harrison sent me a link to a cool interview with Ivor Hewitt, one of the guys working on KHTML lately.

Looks like the interview has been taken down. Maybe it'll come back up soon.

Ivor, do you have a blog? Because you should. Planet KDE could use some KHTML blogging love...

wtf havoc

Tue, 24 May 2005 14:43 -1000

[@hp] clee: hold me like you did by the lakes of naboo!

I blame ajax

Mon, 23 May 2005 01:25 -1000

* clee kicks ajax
[clee] dammit, man. I really want a usable Expose feature. Like, yesterday would have been good.
[ajax] oh yeah, totally my fault
* clee blames you.
[ajax] why yesterday?
[clee] ajax: well, yesterday would have been good. today would have been acceptable. but if it gets here tomorrow, that's not soon enough.
* clee sighs
[ajax] i was thinking maybe there was some event yesterday
[clee] hahaha
[clee] no.
[ajax] like you were trying to show off X to some hottie in the coffee shop or something
[clee] hahahaha
[daniels] haha
[clee] and she whips out a Mac and she's like "Let's see your network-transparent windowing system do THIS!" and hits F9?
[ajax] but then she's all "shit boy, five year old acceleration architectures ain't gonna get you any poon"
[clee] yeah, happens to me all the time
[ajax] *smack*

vmware update

Wed, 11 May 2005 15:00 -1000

Just thought I'd post a quick update about my situation re: my computer at home, since I know you all care so much.

It turns out, after wiping my partition table and starting over from scratch and getting Linux back up (which took all of about ten minutes), Windows installed fine from the SATA DVD drive.

I have no idea how this is possible - this page says, and I quote:

Out of the box, no current Windows version, including Windows Server 2003, supports SATA drives.

My best guess is that the BIOS enables some sort of PATA emulation that Windows can use to find that drive. That's the only thing that makes sense.

And I was a little hard on VMware, to be honest. I mean, I was using a feature that they specifically warn against most people using, while running 32-bit VMware on a 64-bit (unsupported variant of a) host OS. I'm reminded of a quote here...

People who do stupid things with hazardous materials often die.

Granted, I didn't exactly die, but I think it somewhat applies.

coolest thing I've seen all week

Wed, 11 May 2005 10:43 -1000

Holy shit, this is awesome.


unexpected results

Sat, 07 May 2005 00:35 -1000

Red Hat, my employer, has a site license for VMware. (Well, either a site license, or an assload of Workstation licenses, I'm not really sure what the details are.)I decided "Hey, why not play with the new release? You've got new hardware. Maybe VMware will run acceptably fast on it!"Man, what a fucking brilliant idea that was.Backstory: I haven't booted Windows in a few months, not since Doom3 came out and wasn't available initially on Linux. However, I have some shiny new devices in the new box, including a SATA DVD burner, which so far doesn't seem to work with Linux very well. Ubuntu's kernel enables SATA ATAPI support, which Jeff Garzik tells me is a bad naughty thing of them to do since it's not ready yet. Which results in my ability to *see* the drive on /dev/scd0, if the planets align properly, but I can't actually use it for much.This machine doesn't have a floppy drive, since I'm a cheap bastard, and I happen to agree with Apple on this one. Fuck floppies. They should have died a long time ago. I also refuse to run Windows XP - I bought and paid for Windows 2000, a long time ago in a galaxy far far away, and it's the last release of Windows that I really plan on ever using. Windows 2000, being rather old, has some deficiencies, however. Like not having SATA support in the installer (unless you load a driver from a floppy, which I don't have).I think to myself, "Hey! VMware! Raw disk support! It used to work pretty well, why not try doing an installation from a virtual machine into a physical disk? You can use the VM to download drivers, then create a new hardware profile, reboot into it, and maybe that'll work."HAHAHAHAALet's just say that this was probably the worst idea I've had all night, even worse than eating that third slice of pizza. My partition table on /dev/hda now looks like this, thanks to VMware:Disk /dev/hda: 41.1 GB, 41174138880 bytes16 heads, 63 sectors/track, 79780 cylindersUnits = cylinders of 1008 * 512 = 516096 bytesThis doesn't look like a partition tableProbably you selected the wrong device. Device Boot Start End Blocks Id System/dev/hda1 ? 216399 1904881 850995205 72 UnknownPartition 1 does not end on cylinder boundary./dev/hda2 ? 723265 1262922 271987362 74 UnknownPartition 2 does not end on cylinder boundary./dev/hda3 ? 167316 167316 0 65 Novell Netware 386Partition 3 does [...]


Thu, 05 May 2005 01:23 -1000

My new toys arrived today.

That's one Lian-Li PC-60, one Chaintech VNF4/Ultra motherboard, and one Athlon64 3000+ CPU.

This machine is officially fast enough to scare me. I can play Doom3 at my monitor's native resolution (1680x1050) and the frame rate doesn't drop below 60fps even with baddies on the screen.

The only other goodies I need to complete this box are a couple of 400G SATA drives. The Hitachi model is only $275 on NewEgg, which means that it's now possible to put over 1TB of storage into a box for under $1000.

Holy shit life is good.

new lease

Sun, 01 May 2005 15:36 -1000

Renewed my lease at my apartment for another year.

I guess I'm happy enough with Royal Crest. It's just that Cambridge is a lot cooler. If caillon and I had been able to get our act together earlier, things might have been different, but oh well.

In any case, living at the same address for more than twelve months feels like some sort of a victory. Therefore, I win.

as not seen on tv

Sun, 01 May 2005 04:46 -1000



almost normal

Sun, 01 May 2005 02:56 -1000

I'm feeling much healthier. Maybe the title is a bit of a misnomer, since we all know that I'm not anywhere close to "normal," but my throat seems to be almost completely healed and it no longer hurts to breathe, eat, or swallow.

By some assorted cleverness, I have managed to secure an upgrade to an Athlon 64 and a much nicer new case, for a net cost of about $20 to me. I'm excited.

I need to pick a project to get back into KDE hacking with.

Not much else is new. Found a really awesome pizza place a few weeks ago, and have been eating there regularly. A $10 pizza lasts me two or three days, which is awesome. Saving money is good.


Wed, 27 Apr 2005 13:53 -1000

strep throat sucks. I've had this soreness in my throat since Friday last week, and it kept getting worse. Finally, on Sunday, I went to the doctor and found out "Hey, you've got strep!"

Now I've got penicillin and cough drops. Throat still hurts. Wish my white blood cells weren't such little bitches. They're supposed to *handle* this stuff for me, dammit.

rant part deux

Fri, 15 Apr 2005 19:14 -1000

Several people were kind enough to point out that this code:for i in xrange(foo): print iactually wouldn't work. Thanks, I'm an idiot. I should have had:for i in xrange(len(foo)): print iNext, yet another method of reversing/iterating backwards over a list has been suggested in multiple places, one which I didn't know = ['one', 'two', 'three']bar = foo[::-1]The only thing I can possibly say to that is... but the ternary operator is too obscure? C'mon, give me a break. This provides the ability to have tons of random line noise and make your code just as unreadable.And, Seth: Since I couldn't catch you on IRC earlier, I'll just reply here.Multiple issues to respond to, so let me break it down. You seem to be confused as to what I was complaining about with list.reverse(). It's not that I want a copy of the list, exactly, but I want the return value of list.reverse() to be sane, which in my exceedingly humble opinion, it is nowhere near. I'm not upset, mind you, just mildly annoyed, by the iteritems()/enumerate()/xrange() issue. And the reason that it's annoying to me is because it's inconsistent. Some of the iterator methods are global and some of them are not. Inconsistency is lame. End of topic. Ternary operators seem to be quite the polarizing issue so I'll just leave my stance exactly where it is. I think they're useful, and I'd like to have them, but obviously I can work around the language not having them... Especially since Python doesn't have sane scoping, either; the method-local and class-local scoping rules provide the opportunity for way too many obscure and annoying bugs. I note that you didn't respond to my issue with scoping at all. Oh, also, a friend of mine has offered to send you a copy of the Smalltalk book, where he says that they solved the problem of doing lambdas and maps efficiently.I'll kindly ignore your not-so-subtle digs at my programming ability (or perceived lack thereof) and refuse to insult you for liking Python. Mind you, I still think it's a useful language, but I'm just annoyed at the inconsistencies and some pet features (like ternary operators, or sane scoping) that I wish it had.[...]

python rant

Fri, 15 Apr 2005 04:25 -1000

(This is a pretty geeky entry, so if you're not a geek, consider yourself warned.)I have a lot of little tiny annoyances with python, since I've been using it for a while now to hack on some stuff. Here's a collection of the ones that are floating on top of my brain.::sniff::I miss my ternary operator.In C, and C++, and Perl, and Ruby, and PHP, and pretty much any language that I've ever written in (hell, I think even JavaScript supports this, though I could be wrong about that one since I haven't written any JavaScript code in years), you can use a very terse syntax for if (foo) { return bar; } else { return baz; } using what is referred to as the ternary operator.The shortened syntax is more like:(foo ? bar : baz)Yeah, it's kinda weird. And yeah, if you don't understand it, it's not very intuitive. However, it makes for much shorter and clearer code (to those who grok ternary operators). Python doesn't support this. At all. There was a proposal to include it and it got smacked down, so that they could include such other genius ideas as reversed() instead. Speaking of which...backwardsReversing an array is done like:foo = ['one', 'two', 'three']foo.reverse()This does not return a reversed copy of the array, but it does reverse the array in-place and return 'None' which is quite confusing. Especially if you're used to sensible languages which return a reversed copy. So this code doesn't = ['one', 'two', 'three']for i in foo.reverse(): # bzzzt, reverse() returns 'None' print iYou can iterate through an array with the reversed() keyword, like:for i in reversed(foo): print iHowever, this is a python-2.4-specific feature, so it's useless if you care about older python releases. Also, it doesn't create a reversed array, just hands you a pointer to a reversed list iterator. So you can't do:foo = ['one', 'two', 'three']bar = reversed(foo)print bar[0] # 'three'? how about a TypeError!Because bar is actually not a list, or array, or what-have-you, but it's a listreverseiterator object. Whatever the hell that's supposed to mean. What it translates into is basically "Surprise! We hate you."So, you have to do:foo = ['one', 'two', 'three']foo.reverse()for i in foo: print iWhich, granted, ok, isn't the en[...]


Fri, 15 Apr 2005 01:16 -1000

The other day, I was on Dell's website. They had the 2005FPW for 25% off, and I thought to myself, "Self, that's a damned good deal."

However, I didn't have $561.75 free on any of my accounts, and the deal expired in a few days. Then I saw the "Apply now" link. "Hmm, instant loan. Nah, you already have too much credit."

Wait, though. If you apply for credit and you get rejected, at least in the US, you're automatically entitled to a free credit report. What the hell, why not? I can always use a free copy of my credit report.

About three minutes later, the Dell website comes back with the result. "Congratulations! You qualify for a $1500 line of credit."


Needless to say, now I have a sweet 20" widescreen LCD. It's gorgeous. I liked it so much that I bragged to pretty much everyone that would listen. And I even convinced ajax to buy one, but he went and bought three instead. Crazy bastard.

I'd post pics, but I don't have a digital camera. Mostly because when I buy one, I want it to kick ass, and the ones that I want are still over $1000.

Note: All amounts in USD.

wtf xda

Tue, 05 Apr 2005 22:59 -1000

[@ajax] so working on DRI for i128, i turned off XAA
[@ajax] in the spirit of experimentation, i ran xcompmgr -a
[@ajax] it feels _much_ faster now
[@ajax] like, firefox doesn't tear when scrolling
[@ajax] it's kinda weird
[@daniels] hmm
[@daniels] maybe we should rename it to XDA :P
[@ajax] totally unaccelerated, but just fast enough to feel useful
[@ajax] the only unpleasant part is switching desktops


Sun, 27 Mar 2005 00:35 -1000

I hate caffeine deprivation headaches.

(For those of you following from home, yes, I had successfully kicked my caffine habit but then I realized that not drinking it sucked. So I started drinking it again. And just now, I went a couple of days without - again - and all of a sudden I've got the headaches. Fuck.)

Also, Smallville is still one of my favorite TV shows. I honestly can't decide if I like it more than Battlestar Galactica or not.

congratulations, zack

Thu, 24 Mar 2005 17:07 -1000

Major kudos to Zack Rusin for getting hired at Trolltech.

(Not like it should be a surprise to anyone, since Zack kicks ass and Trolltech also kicks ass.)

This bodes extremely well for KDE4. World domination!


Thu, 24 Mar 2005 01:24 -1000

"You are like, so much better than a bathroom stall."

spin spin

Mon, 21 Mar 2005 17:27 -1000

Donnie: Planet KDE, and every ten minutes. I'm thinking about changing it to update every fifteen, though. We're getting enough feeds that we're spending more time updating than idling.


Mon, 07 Mar 2005 17:28 -1000

[mgalgoci] policy I'd like to have set: "When people ask for email aliases, the aliases are granted on the grounds that IS gets to decide what the alias is."
[clee] mgalgoci: oh, oh! what's mine?
[hp] clee: I think your native american name is he-who-hopes-to-get-laid-using-enterprise-groupware-solution


Wed, 02 Mar 2005 05:05 -1000

It's 5AM.

I'm blind, and it's dark. Music from Metal Gear Solid 3 floats through my apartment and yet I can still hear the drops of blood hitting the surface of the water as my nose drains.

Nosebleeds have been a pretty common occurrence for about as long as I can remember; I've had them ever since I was a little kid. They've started back up recently, after I had gone several months without having any. I'm not sure exactly why but I think it might be somewhat related to drinking soda. (While I was caffeine-free for that six weeks or so, I didn't have a single nosebleed.) I've recently started drinking the stuff again, since it's easier to drink it than not to, but I may have to rethink that choice in light of this.

Oh well.

Speaking of Metal Gear Solid 3, I finally sat down and played through the rest of it. I had gotten farther along than I thought before I stopped playing it back in November, and the game is just amazing. I can't think of enough words to describe how much I enjoyed playing through this game.


Sat, 26 Feb 2005 03:03 -1000

[ajax] clee: i was wrong, you were right
[clee] ajax: ?
[ajax] clee: the Model M is a superior product

qotd 22/02

Wed, 23 Feb 2005 00:01 -1000

[cliff] Hm. If I get a raise, I will buy a Powerbook. That will be like donating my raise to charity. (In the sense that the raise will not be reflected in my paychecks.)
[cliff] And it will make the world a happier place. (Where 'the world' is me.)

I'm blogging this

Tue, 22 Feb 2005 01:53 -1000

davej and veebl are on my sofa. They're sitting in what currently acts as my bedroom.

Just thought I'd blog that. ;)

subversion migration

Sat, 19 Feb 2005 02:54 -1000

One of the things I keep thinking about with KDE's much-vaunted CVS->SVN migration is... why don't we just leave the CVS server up as it is, and screw the whole "import the entire history of our repository into SVN" idea?

Think about it.

The cvs2svn script is good. Don't get me wrong - it's pretty impressive. But we've done some evil to our CVS repository - manually moved files, etc, and cvs2svn is not perfect; why don't we just leave the CVS server up and running read-only and import a snapshot (say, 3.4) into SVN without trying to drag all of the history along?

People who want to pull absolutely 100% accurate checkouts of a given revision can do it with the old tools and we can evaluate subversion without having to deal with any possible issues brought up by weirdness caused by cvs2svn.

I personally think this may be the smartest way to move forward, but I'm sure that others have differing opinions. Care to share them with me?

lseek(fd, 0x5c, SEEK_SET)

Thu, 17 Feb 2005 17:49 -1000

Our Intel rep managed to secure me an 802.11a/b/g mini-PCI card for my ThinkPad. Direct from Intel. Totally sweet.

Somehow managed to get the ThinkPad apart, and dropped in the new card, and connected the antennae, and turned it on, and was greeted rather rudely by two beeps and the infamous Error 1802.

I was prepared for this though. I expected to spend the rest of the day hacking around IBM's evil authorized-miniPCI-card whitelist and being otherwise 1337 just like mjg59. But instead, I found the source for a neat little hack that resets part of the nvram to a magic value and disables the whitelist check.

All this means for those of you who don't speak Geek is that I overrode some IBM stupidity and made my hardware work the way it should. Which should have been much easier, but hey, this is Linux, and we like things like lseek(fd, 0x5c, SEEK_SET) just fine.

Google Dinner beta

Thu, 17 Feb 2005 09:32 -1000

I spent most of this week at LinuxWorld in Boston (and the very beginning of the week at the XDevConf, which ajax took notes of) so my legs are killing me. But last night, Google sponsored this amazingly kick-ass dinner for a few dozen of us free software hacker types, and it was completely badass.

They had some issues with their food distribution algorithms though. Hopefully next year, if they roll out Google Dinner 2.0, they'll have that algorithm sorted out. (It took an inordinate amount of time to get our food since everyone had to wait in a huge line to get served - there's definitely room for optimization there, I think.)

I talked Dave Jones into coming along and we had an awesome time. As soon as we walked in, we were accosted by Google folks who made us fill out some registration cards. One of the fields on the card said "Desired position" so I asked the woman (who had an amazingly kick-ass Google shirt, one with a female symbol on one of the 'o's in Google, but I digress) "What does this 'desired position' field mean?"

"We want to know, if you were to work for us, what position would you want to have?"

This stunned me. What an amazingly smart way of getting people interested. So davej and I filled in "spaceman" and "Batman" respectively. I mean, if Google is going to be hiring someone to be Batman, I certainly hope that they'd consider me for the position, because I think I could do really well in that role.

Got to meet some cool people there, including Mako who apparently wanted to meet me because he knew who I was. Finding out that other people know who I am and want to meet me.... that's kinda freaky. I mean, granted, we're not talking about Havoc Pennington-style rockstar status.


xdevconf version 2.0

Sat, 12 Feb 2005 10:41 -1000

Zack Rusin flew in and Adam Jackson drove up last night and both are crashing at my place.

We're at the X Developers' Conference in Cambridge. ajax is taking notes, so I'll link to them once he uploads them.

Anyway. Back to the discussion about freedesktop and current level of desuckification.

world of warcrack

Mon, 31 Jan 2005 20:59 -1000

I attempted to hunt down a copy of World of Warcraft a few weeks ago, in vain.

My searches were fruitless. I went to several Wal-Marts, Targets, and Gamestops. All were completely devoid of World of Warcraft loving. This made me sad.

I ended up going to go visit Tony (who I'll be dropping by to see again on the sixth for the Chinese New Year) and I crashed at his place after he, Rob, and I stayed up until way too late watching Battlestar Galactica at Rob's place. The following morning, we got up and I talked Tony into going to the Apple store. It wasn't that hard to convince him, actually. I just said "We're going to the Apple Store," and he complied. Once there, I had the instant flash of realization that the wonderful bastards at Blizzard put the Mac and PC versions of their games on the same CDs. Those crazy fools. I searched for the gem and - lo and behold - there were FIVE copies of WoW. I picked mine up, made sure it wasn't some book or gift card (like Target had. For shame, Target! For shame.) and I carried it to the line at the register and bought it.

The game is incredible. It's seriously just amazing. If only I had a decent video card, one that didn't overheat when I played it... And dealing with Windows is shitty.

Which is why I've bought a dedicated World of Warcraft box. It hasn't arrived yet, which irks me. But it should be here "on or before" the seventeenth of February, according to Apple. Huzzah for that.

That's about all that's new in the past few weeks. I'll attempt to blog more frequently - hey, I should dump my .plan on here sometime and see what people think - but it'd probably be easier if I had my blogging app working again. Sounds like a fun project for tonight!

the other british dave

Mon, 31 Jan 2005 20:49 -1000

Spent the entire weekend hanging out with Dave Jones, kernel slacker extraordinaire, and his wife Victoria (aka veebl). Great people, great times. I dragged them down to Boston so that we could hunt down this comic book shop I had found once by accident with daniels, and after we walked around quite a bit we managed to find it. Note to self: Kendall Square is nowhere near Kenmore Square. Need to remember that next time.Dave also handed me a kick-ass Voodoo3 card, which is awesome, since I've been trying to hunt one down for a long time now. Problem is, it appears to be an AGP1 card, which would be great except that AGP1 cards do not in fact fit in AGP8 slots. So I can't use it in my badass desktop. It looks like I'm going to have to build a machine with older parts. Good thing I still have 512M of RAM and a spare Athlon kicking around here.Steph moved out of the apartment again. She and Mo moved into a two-bedroom in the same complex, but we haven't hung out in weeks. It's kinda nice having the place all to myself again, now that it's actually quieted down around here. People have been over non-stop for weeks because I've been hosting Battlestar Galactica fests with the miniseries DVDs. I think that BSG is probably the most ass-kicking show on TV right now, and I've imparted this wisdom unto my coworkers and friends, even when they didn't necessarily want it.Oh, speaking of forcing my will on others. So the whole reason that we went down to Boston was so that I could indoctrinate veebl with Transmetropolitan. I'm happy to report that davej and veebl are both already huge fans of Bill Hicks, Invader Zim (and by extension, Jhonen Vasquez), and Ed Wood. Which means that Sam needs to come up here and visit me at some point, because I think we'd all[...]

i thought you were gonna adopt one of us

Sat, 08 Jan 2005 23:56 -1000

So on Thursday, I get a phone call around five in the evening.

It's my mom. I flip a coin and decide "WTF, might as well answer it."

She says, "I'm at the airport. You should come pick me up." I respond with, "Haha, mom. Very funny, but that'd be my line, remember?"

(Backstory: Around Christmas, I was on the phone with the family and I tell my mom this plan that I've been cooking for a few weeks, which was basically that I was going to neglect to inform anyone in advance of my plans to come visit. Meaning that, once I did show up, I'd be totally unexpected and unannounced. It's more fun that way. I explained that the only notice that she'd have would be my phone call from the airport, saying, "Hey, you should come pick me up or something.")

Apparently, my mom and I think more alike than even I want to admit. She had already bought her ticket to come up here by the time that we had this conversation around the holidays. She's here now, sitting on the sofa near me, rocking out to Bon Jovi.

And there's food in the fridge again.

Damn, I love having my mommy around.

you're probably teeming with plague juice

Thu, 06 Jan 2005 02:33 -1000

Wow.It's been waaay too long since I updated.The holidays were relatively uneventful, as were the days leading up to them, so there wasn't really too much to blog about.However, the past week has been complete insanity. Where should I start?Starting off: Kyle got here on December 28th. Seems like a short amount of time, and yet so long ago all at once. His arrival coincided with the arrival of my copy of a used copy of Final Fantasy III for the Super Nintendo (which is arguably one of the best video games of all time). We opted instead for the classic Legend of Zelda: A Link to the Past, however, and spent a few days playing that and fucking around with Super Metroid as well.Once my paycheck rolled in (on December 31st), I made sure to remember to write the rent check, and then Kyle and I rolled down to New York. We dropped my car off at my uncle Ed's place in Amityville and then took the train into the city where we walked around for a couple of hours trying to get close to Times Square for the ball dropping. We ended up about two blocks away, at the corner of 40th St and 7th Ave. Amazing time. I couldn't have imagined what a million people on the streets of New York City would look like, but I can say that it was absolute insanity. We then hooked up with Ray, Mo, and Dan at the corner of 38th and 7th and we walked around for a while hunting things to do. Had a pizza in Little Italy, then managed to make it back to Penn Station for a 5AM train back out to Amityville. Slept.Following day (the first of the new year, huzzah) we drove out to go meet up with Kyle's dad, who still lives on Long Island. Met a *ton* of Kyle's family. Had amazing Chinese food at the Golden Dragon. Slept at Kyle's da[...]

a barbeau-bot would weld that leak with her laser beam eyes

Fri, 17 Dec 2004 13:25 -1000

I got glasses yesterday.

It's the first time I've had glasses since the eighth grade. Definitely taking a bit of getting used to. Not having peripheral vision is a very strange thing to get re-accustomed to. Also, the fact that things blur slightly around the edges of the lenses is a little weird. Seeing reflections of people and things in the lenses is also strange (yay for my rearview vision!)

Reaction to the glasses has been pretty positive, overall. Lots of people had no idea that my vision is this bad. I may in fact have the worst vision in the entire Westford office.

Good times.

qotd dec 15 2004

Wed, 15 Dec 2004 23:58 -1000

"You're so, like, trying to buy my friendship with naked men." -Cassie

less lip and more launch!

Tue, 14 Dec 2004 05:51 -1000

Also, for the record.

Mixing brownies with pink lemonade in one's stomach is what I would like to refer to as a catastrophically bad idea.


thank ares you're alive

Tue, 14 Dec 2004 05:45 -1000

I have Final Fantasy III(US, VI in Japan) on the way. Super Metroid has already arrived, and I am Super Nintendo-less.

I wonder if this is what it feels like to die of thirst in the ocean.

Should have brought the fucking SNES with me when I moved. I SHOULD HAVE BROUGHT IT. Failing that, how the *fuck* did I manage to not grab it when I was back down there in May? HOW?

The mind boggles.

pop some more pills, pill-head

Sun, 12 Dec 2004 03:00 -1000

My addiction to caffeine may actually be completely over.

I succumbed to the desire to have a can of Coke on Friday night but the really strange thing is that it didn't even really taste good. And I haven't had any headaches all day so I don't think that I'm actually caffeine-dependent anymore.

I'm still not sure whether or not I should count this against my Operation Zero Caffeine initiative. I didn't even finish the whole can, sadly. (And I think we all know how much I hate wasting things.)

But I did crumble, and then found the soda to be less than I had remembered it. Somehow, it just wasn't the same. I feel... disenfranchised, I think. Maybe a little disappointed.

Oh well. At least the headaches are still gone.

Gonna show Quinn this thing that I got...

Sat, 11 Dec 2004 19:00 -1000

So I've got a new revision of the Super Nintendo sound chip emulation code from antires, and after modifying a few parts of my own code the GStreamer plugin is now working.

Reliably. No more magic, no more crazy kludges. Feels good.

I think that the filter development branch is ready to be merged into the mainline, which means that the typefind code is next to be written. Being in deep hack mode is damned refreshing.

would you like to take advantage of Wiretap Wednesdays?

Thu, 09 Dec 2004 20:08 -1000

No thank you.No no no. Thank you.Today's subject is somewhat related to this entry though; I got a phone call this morning from my friend Randelle, who I haven't heard from in months. She's in the Army, stationed over in Germany at the moment. She isn't a big fan, apparently. We talked for a while - I was amazed. I shudder to think what the phone bill will be like for her friend, who had lent Randelle her phone.Other new things... I saw Blade: Trinity last night. I liked it. I was a fan of the first two movies, though, and I love comics, so you probably shouldn't allow my opinion to sway you unless you also liked both other movies. If you did, this is more of the same - not much new, aside from Ryan Reynolds making lots of jokes about mostly stupid shit. (Right up my alley, of course, so I loved it. As did Steph. She is a huge Ryan Reynolds fan, of course.)Steph was pissed that I withheld the name of the actress who played the lead vampire bitch in the movie though. I honestly couldn't remember her last name. Steph couldn't remember anything except that her name started with a 'P' - I got 'Parker' stuck in my head for some reason but the 'Posey' just didn't click.Afterwards, I mentioned this to Steph and was immediately met with the Silent Treatment for being such a dick. Good times. (I wasn't intentionally being a dick, but oh well. Such is life.)Must convince more people to learn Esperanto. I'm getting tired of speaking English. (And I could have sworn I caught some Esperanto in the movie, but I may ju[...]

you've laid your brood of eggs in my navel!

Tue, 07 Dec 2004 14:18 -1000

Found out something mildly amusing today.

Apparently nobody has bothered building anything from the xlibs or xserver trees on an AMD64 system yet.

These modules contain such gems as:
# if defined(__AMD64__) || defined(AMD64)

Which doesn't actually *work* on these machines, as gcc defines __amd64__ and not AMD64. (Yeah, kids, case matters.)

Daniel added me back to the xlibs and xserver groups, so I should be able to commit some fixes for this stuff; however, there are still a lot of other issues on AMD64 that haven't been fixed yet. ::sigh::

gstreamer hacking

Mon, 06 Dec 2004 06:27 -1000

So mpyne had implemented a somewhat working SPC plugin for GStreamer which was pretty limited and somewhat useless. (As he admitted :)

His version had a hardcoded path to the SPC file, didn't work as a filter - just as a src - and was performing quite strangely on his system for some reason. I've since rewritten it (from scratch) as a filter and not a src. It works on my system, kind of. I haven't gotten the typefind implementation done yet, and it's pretty fragile at the moment - I haven't figured out exactly why, but somehow removing a printf from the spc_setup function causes the plugin to segfault (I think LoadSPCFile may be doing something strange, but I'm not sure...)

If you have tla installed, you can do:

tla register-archive
tla get gst-spc

If you don't have tla, you can try poking around on the site but seeing as how things aren't quite ready for mass consumption, I'm not making any releases just yet.

Now, to go take a shower. All of those 'g's and '_'s make me feel so dirty.

I also have the orphans wet his bed while he's sleeping

Mon, 06 Dec 2004 06:20 -1000

It strikes me that I should note that I'm now caffeine-free, and have been since the day after Thanksgiving. Which, by my reckoning, puts me on Day 11 of Operation Cold Turkey.

The funny thing is, I sort of quit by accident. I didn't really mean to stop drinking soda; I just sort of ran out, and then after I'd had some pretty nasty headaches for a few days I realized that I had been going without soda for a few days. By the sixth day, the headaches were pretty much gone, and I'm feeling pretty good about not drinking that stuff at the moment.

Others have mentioned that they have lost surprising amounts of weight simply by not drinking soda anymore. I'm interested to see if this proves true for me as well.

It's a good thing I exist!

Sat, 04 Dec 2004 05:44 -1000

(Mixing some Zim quotes in now...)Michael Pyne, brilliant guy that he is, was trying really hard to get this SNESAPU code working on his system. I couldn't even get the crap to compile, let alone to run and dump a bunch of zeroes like he was getting.I had mpyne tar up his work and send it my way to see if I could find anything new. About forty-five minutes later, after we'd both looked in a lot of unrelated areas, I found the missing link: A call to ResetAPU. Added that in, and all of a sudden, it works!Now, that wasn't enough. Since I finally have this library compiling, and running, I don't want to simply dump the first five seconds of every SPC to a wave file named output.wav. I want to play them to my speakers!Having no prior experience with libao, but remembering somewhat vaguely that the API didn't look too disgusting, I decided to try to get SPC->libao output working. And now, just under an hour later, I have it working. And I even cleaned up the code a little bit so it's not quite as embarrassing.This code probably won't do most of you any good, but this is mostly for mpyne's benefit as I'm not convinced I'll still be conscious when he gets back. However, if you are interested in playing with it, you can grab the tarball from my site. You'll need g++ and nasm to build the stuff, and since most of it's in assembly, you'll need to be on x86.[...]

Short post

Fri, 03 Dec 2004 23:44 -1000

The only point of this post is to point out to everyone that aseigo fucking rules.

That is all.