another day, another server

The machine which was previously hosting (my domain) was compromised recently. So I set about finding new hosting, and I did thanks to Warren Togami (a coworker of mine at Red Hat) so you are now seeing on a brand-new box.

One interesting side effect of this is that my weblog is now statically generated instead of dynamically so. I haven't really changed the layout or anything, or even the design, but the filesystem paths have been played with a bit and the configuration has been gently tweaked. So now my blog should be even faster.

Oh, and planet KDE has a new home as well. Thanks to Stephen Depooter, it's now on a separate machine from and very unscientific cursory testing shows to me that it's even more well-connected than it was before. So, despite the fact that the breakin shut down the sites, I think that they're both better off now. And my mail seems to have mostly caught up with itself. Which is good.

now that I've been forced to get off my ass and actually look over the files on the site, I've done a little tiny bit of maintenance and cleaned up a few things that were previously still around. I may even get around to doing the aforementioned redesign at some point! But I don't want to make any promises, so I won't.

4AM once again

So, I have a confession to make.

I've been using Gossip as my Jabber client for a while. Which has been working out fairly well, since the UI is nice and clean. But there's been this slight annoyance with it - every time that I close a chatwindow in Gossip, it forgets how big the window was. Just completely forgets it.

This behavior finally got annoying enough that I put some gloves on, dug down deep, closed my eyes, and massaged some GNOME code.

The good news is, I lived. I have survived to tell the tale.

The bad news is, it was scary. And I feel sort of dirty.

It took a few hours to work out exactly what needed to go where, but overall it wasn't quite as terrifying as I had thought it would be. My underscore key did get quite a workout though. And I got to determine a few more reasons why I'm definitely glad to be a KDE developer. (Namespaces. Classes. God, I never thought I'd be so happy to look at classes again.)


So geiseri hosted a hackfest at his place in PA last weekend. I showed up and brought manyoso with me; Nadeem Hasan came down, as did Mirko Boehm. Zack Rusin was already there, and it was fairly awesome. My only regret is that, despite the awesome time I had, I didn't get any hacking done since I don't have a laptop anymore.

Oh, yeah.

Somebody broke into my car a couple of weeks ago. Shattered the quarter glass behind the passenger window, and stole my IBM Thinkpad T41 out of the back seat. (Well, the footspace behind the passenger seat. Close enough.) I have no idea where the laptop is, and, while the police have been informed, they haven't really proven to be that useful.

End result: I have no laptop. So I was fairly useless at the hackfest as far as actual hacking goes. And my workstation at home is set up in a rather decidedly non-ergonomic fashion, which means that I can't really use the computer for extended periods of time without standing up and stretching out my knees.

I do have plans for stuff to hack on and plenty of things to keep me busy though. So don't worry about that, guys. Just need my replacement laptop to come in from work, and maybe I can pick up a computer desk with my next paycheck somehow.

Realized that I haven't blogged in a while, so these entries are a bit longer than the usual length. I doubt anybody will really care that much, but yeah. Maybe I can kick myself into blogging more frequently once I get some Tack hacking done again.

we have bigger problems than a butter shortage

and I never thought I'd say that.

Things with Cassie are as complicated as ever. Still trying to figure out the whole situation; she has officially given me the "Just Friends" label, but I keep getting this vibe that she wouldn't mind being more at some point. Maybe it's just hope.

Lon tried talking me into buying a motorcycle at one point in the past couple weeks. Blizzard also recommended it, as he's the proud owner of a new bike. I suggested the idea to Steph, who promptly called me an idiot and threatened to not be my friend anymore. I'm still surprised by the things that anger her. She doesn't seem to have a valid reason for it, and when I probed for more details she pretended like she had already brought up the "But you'll kill yourself!" argument (which she hadn't).

Cliff's new language is shaping up to be interesting. I never really dug the Smalltalk syntax (from what I saw of it) but I do like ObjC and Ruby is my preferred scripting language these days.

Tia came to visit, and she kicks ass. It was awesome while she was here; it sucks now that she's gone, because I have nobody to cuddle with. Steph has a boyfriend, and even when she doesn't, she doesn't like cuddling with me so that's out. Oh well - it was awesome while it lasted. Hopefully Tia'll be back up soon. And more of my friends will come out to visit me.

qotd 10.31.2004

cassie: "I'm not lying! I'm half-lying! ... which means I'm half-truthing."

it's 4am

mpyne has called me out and made it public that I have Grand Plans for a pyblosxom plugin which will read (via XML-RPC) a chunk of text and then throw it on the blog if it likes it.

The trick is getting the plugin to like it.

My idea currently is to make the chunk of text a valid GPG-signed message. Have the server plugin read it in, decode it, check the signature against the configured key ID from the pyblosxom config file, and then if all of the criteria match, post it on the blog.

Have a few small issues to work out, but it looks like a lot of the hard work has been done for me. daniels wrote a Perl script that sort of does this if you filter email into it, but I hate Perl and the setup for that is annoying. Editing pyblosxom's config files is easy; I doubt that I'm going to end up losing data that way. If I somehow misconfigure a mail server, such that everything for my email ends up at or something, I'll be fucked.

And I don't like that. So, I guess this is the part where I formally announce that I have intentions to actually finish this module (since I have a half-aborted attempt at it from a while back), clean up the code so that my key ID and stuff are no longer hardcoded into it, and then there might actually be a public release.

(Of course, once it's out, a KDE app which will be able to post to it, probably by using DCOP to communicate with KGPG, will be forthcoming.)


I blogged earlier about KDE potentially moving our repositories from the ancient and archaic CVS system to the new hotness known as Subversion.

This time around, I've got more ammunition for discussion and a lot of thoughts about the relative strengths and weaknesses of each system as they apply to KDE. Hopefully other KDE developers will read these notes and at least take them into consideration when discussing our eventual move away from CVS.

So - first off, a few words about CVS. CVS has served KDE faithfully for years, and has been (for us) fairly stable and reliable. It doesn't change much. And, believe it or not, CVS does have some strengths.

Strengths Weaknesses
- Ubiquitous (practically every operating system on every platform can run CVS) - Relatively light on resource usage - Comparitively light on disk usage - It actually **works** - Branching is painful - Lacking in certain very basic features - Lack of atomicity with commits; no transactions - Not very well-optimized for low-bandwidth - Difficulty handling binary files properly

Now, Subversion fixes a few of these issues, but at the core Subversion's goal is to be a better CVS than CVS. It doesn't implement wire compatibility, nor can it natively use the old CVS repository format; instead, it maintains the same ideas as CVS (namely the same centralized development model), as well as a compatible command-set except for areas where changes are needed to deal with Subversion having features that CVS doesn't.
Strengths Weaknesses
- Little to no learning curve if you already know CVS - Atomic commits, with transactions - File renames - More efficient wire protocol for low-bandwidth - Disk usage is significantly higher than CVS for a converted repository - Subversion seems slower than CVS, quite a bit so in some cases - Not nearly as ubiquitous as CVS (yet) - Resource usage is relatively higher than CVS

And, just for good measure (basically, because I like it) I'll throw in a little bit about Arch, also known as 'tla'.
Strengths Weaknesses
- Super intelligent merging support - GPG signing support - Seamless inter-archive branching support - Very easy on server-side resources - Offline commits - Relatively high learning curve - Nowhere near as ubiquitous as even Subversion - Rather difficult and verbose user-interface - Disk usage is also higher than CVS - Speed is not very impressive

What does this mean for KDE?

I think that Subversion is a much more natural fit for KDE than Arch. We have a very centralized development model; however, the disk usage issue is depressing to think about. I ran a test conversion of our kdelibs repository from CVS to Subversion, once using the Berkeley database backend and once using the new fsfs backend; the bdb backend takes up 1194M of space, and the fsfs backend takes 1130M of space on my system. In comparison, the CVS repository takes up 281M of space for the same revisions. Some of the Subversion developers have offered me a few hints, but I cringe to think about how difficult the migration will be for a large module such as kde-i18n.

hooray for migration!

So there's some pretty heavy discussion on the kde-core-devel list about migrating from CVS to Subversion for the entire KDE project.

All I can say is, the sooner, the better.

Of course, I'm very much of the mind that tla > svn > cvs, but as long as we're moving up the stack, even if marginally, it's still progress. Plus, svn has the feature that it is much more like tla than CVS is, and the cvs2svn guys have already written an impressive script to convert the ancient RCS files into changesets. And since both Subversion and Arch are changeset-oriented... I'm very excited. In my mind at least, it shouldn't be too insanely difficult to migrate from svn to tla in the future...

status 2004/10/07

Damn. The past week has been awesome.

  • Did the functional testing and RHNQA on a KDE errata here.
  • Filed bugs against gnome-panel, evolution-data-server, bonobo-activation-server, and ran into a terribly amusing metacity crasher.
  • Did the functional testing on an ugly cyrus-sasl vulnerability.
  • Did a *new* round of functional testing on a bug caused by the fix to the ugly cyrus-sasl vulnerability.
  • Pushed a release of redhat-artwork sometime last week anyway.
  • Continued hacking on the Qt port of BlueCurve.

All in all, dangerously productive. Not to mention keeping track of email and IRC.