Archive for April, 2005

tacky 0.7.0

April 29th 2005

I updated my tacky blogging tool today. The only real feature change is the ability to open your old blog posts to edit them. I just realized that the mtime of your blog entry will change, so the feature isn’t ultra-useful since that’ll make your entry pop back up as the newest entry.

I used zrusin’s delayed initialization technique to achieve a pretty respectable startup speedup. Almost a year after he mentioned that it would be a good idea to add that article to the KDE common mistakes page, I finally went and did so.

I also converted tacky to use bksys to build instead of my custom Makefile. Hopefully we’ll see greater uptake in the use of non-autotools-based KDE projects. It would be nice if the KDE build infrastructure were a part of KDE instead of having to be distributed with every program, but until then I’m using mini-build-systems =D.

Posted by mpyne under KDE & Useful Tricks | No Comments »

JuK fun

April 28th 2005

I did a fair amount of hacking on JuK today, expanding the DCOP interface. I added some functions to get the album cover information of a track, get/set the random play mode, and a quick way to find the currently playing file.

Scott asked me to update the JuK wiki to keep it current. As I was updating the DCOP interface documentation, I realized that it would probably be a good idea to construct an example showing how to get the cover art information from JuK.

Not wanting to do it in C++, I decided to take a look through kdebindings, where I had been trying to install the various bindings the other day. I started going through the modules:

  • Perl — NO. I like Perl, but not for GUI programming.
  • Python — I wouldn’t mind it, but for some reason I haven’t been able to get the Python bindings to build ever since it was imported into CVS.
  • Ruby — This wouldn’t be a bad way to go either, but I was unable to get Korundum to link (more on this later).
  • JavaScript — This is what I started my attempt with. The language is simple, and it seems to be the easiest to get started with. And besides, it was the only binding that I had managed to successfully build.

Unfortunately, no matter what I did I couldn’t get my JavaScript-based example to even display anything. It’s probably a temporary bug but it’s very hard to test that way.

So now I was in a bind. There were no bindings left. However, I had been able to get pretty far with the Ruby binding… perhaps I could fix it myself. An hour of debugging later, and I realized the problem was in KMDI, which was using a private class in kdelibs that wasn’t present in the resulting .so thanks to gcc 3.4’s visibility support. I’m not sure how the apps using KMDI managed to build with that problem, but Korundum (the Ruby binding) definitely wasn’t able to. I hacked around the problem by marking the private class as exportable, and now I was able to build Korundum.

I was pretty much learning what I was doing as I went along, but I made a pretty decent sample application, which you can find on the JuK wiki. The only real bad spot about it (besides its utter simplicity) is that it has to constantly check what song JuK is playing and update accordingly, since JuK doesn’t emit any DCOP signals on a song change.

So, I hacked up my copy of JuK here to emit the DCOP signal, and it makes the logic of the script much easier, while also making it more responsive. So I’ll have to run it by wheels and see what he thinks, but I think that it would be nice for the 3rd party scripts that interface with JuK if JuK used DCOP signals more.

Finally, icefox made a pretty nifty game that uses JuK, called JuKQuiz (which can be found in kdeplayground-multimedia). Basically it uses JuK’s DCOP interface to run a quiz application where you have to guess the song that’s playing. It’s pretty inspired IMHO, a clever use of DCOP.

Posted by mpyne under Uncategorized | No Comments »

An OCS drill competition

April 26th 2005

This probably won’t be of interest to most of you, but thanks to the help of someone from #kde-devel, I’ve transferred my drill competition video from DVD to a form you can download and view over the Internet. I have a rather wimpy Internet server, so you’ll have to use BitTorrent to get it (it’s around 140 MB large). You can find it at my drill competition page.

Posted by mpyne under Uncategorized | No Comments »

First KDE bugfix since returning

April 23rd 2005

Today I fixed my first bug since I got back from OCS.

Bug 98942 was a problem with my kfile_torrent plugin, where the reported size was wrong if it exceeded 4 GB or thereabouts.

As you can probably figure, it’s because I didn’t use a large enough integer size, in another case of the developer being out of touch with his userbase. I have a CD burner, so I’d never download a torrent larger than 700 MB, but people with DVD burners would apparently think nothing of downloading a torrent with more than 4 gigabytes worth of data. ;-)

Anyways, it was a simple fix, so I feel better now. I even backported it to 3.4 branch, so it should be in the next KDE 3.4 release.

Posted by mpyne under Uncategorized | No Comments »

Readjusting

April 21st 2005

I’ve been readjusting to having some time off. Unfortunately I won’t have a lot of time off, and besides, I’ve been busy getting ready to leave again. My wife and I are down to considering two homes in the Charleston area (both townhouses, the apartments are simply ridiculously expensive if you have pets). Of course, there’s a lot of packing to be done here as well.

I did manage to find time to start porting kdecvs-build to prepare for the migration of KDE from CVS to Subversion. You can find kdesvn-build in the KDE CVS repository (kdenonbeta/kdecvs-build). It’s basically kdecvs-build, except that it downloads from the anonymous Subversion repository, and the release-tag option doesn’t work anymore. Oh, and some of the option names have changed.

If you’re using kdecvs-build I’d appreciate it if you could test it out and offer feedback or bug reports.

Posted by mpyne under Uncategorized | No Comments »

I’m back

April 17th 2005

Well, I’m back.

I just graduated a couple of days ago from Naval Officer Candidate School, earning my commission as an Ensign in the United States Navy. There’s so much I could say about the last fourteen weeks that it would probably make at least a half-decent book, so I’m not even going to start to bother. Hopefully I can share an experience I had every other day for the next few weeks.

The timeline for the next few years looks like this:

  • I get 2 weeks of leave, and then I have to report to my next duty station, in Charleston, South Carolina.
  • School doesn’t start until Jun 06 though, so I’ll probably be on phone muster until then.
  • I then attend Nuclear Power School for 6 months. Once I graduate there, I’ll attend Nuclear Prototype School for another 6 months.
  • After the nuclear theory schooling, I’ll be assigned to Submarine School in Groton, Connecticut for 6 weeks to learn about what I do on a Submarine. Upon completion of that school, I will be assigned to a sub in the fleet.

Before you ask, I don’t know what sub I’ll get, nor do I know exactly what my job will be, since every officer on the sub has to go through the same schooling that I do. So I’m not sure yet whether I’ll be in Communications, Engineering, or what.

Anyways, I have about 3,400 e-mails to sort through, so don’t expect to see too much activity from me for the next few days. But it’s so nice to be back, even though I’m going to be busy for the next couple of weeks preparing to move and getting my paperwork updated.

Posted by mpyne under Uncategorized | No Comments »