Archive for the ‘Personal’ Category

Timing belts

July 6th 2010

So… the engine on my Chevrolet Aveo abruptly stopped working today. Always a nice experience!

After getting it towed to a local mechanic who asked what happened, I related how the engine pretty much just stopped, all power-assist features went away, but the electrical gear still worked fine. I also told him that I was thinking it was probably a belt that broke or something.

  • The good news: I was right! :( — Specifically, it was the timing belt.
  • The bad news: The engine on the 2004 Aveo seems designed to self-destruct in this particular failure mode. Initial best-case estimates for damages are in the range of $1500.
  • The worse news: This is a known problem for 2004 Aveos (my model year). For instance, try Google searching for aveo timing belt and be absolutely amazed at all the 2004-specific hits that pop up.

My car was at about 53,000 miles, the timing belt was supposed to be replaced at 60,000 miles (and had been inspected sat at around the 30,000 mile point). I even bothered having regular maintenance performed. Apparently Chevrolet knew about problems with the timing belts, as indicated by a Technical Service Bulletin 06-06-01-021 (the summary of which can be found at the National Highway Transportation Safety Administration 2004 Aveo TSB listings). I don’t have access to the full text but apparently GM would pay for the belt to be replaced (sans labor) before 55,000 miles, but that offer has since been rescinded.

So I called Chevrolet customer service, who essentially told me to go pay for the car to be towed to an authorized dealer, pay for an official inspection of the damage, and then they would decide whether they would show any responsibility for the damage caused. I’m OK with paying to have the car towed, and even to have them perform their inspection, but not without some measure of what I can expect to get in return besides “we might pay for part of the repairs”. Especially when the non-dealer shop is refusing to mention “best-case” prices below $1500! I don’t even want to think of what the “authorized dealer” would charge to fix their own shoddy parts sourcing. For that matter, I wonder how it is that GMAC Financing and seemingly every other GM-related subsidiary never had problems sending me junk mail, but receiving fairly serious technical bulletins describing engine-totaling casualties was left out of the mailing loop.

So this is my warning to you, if you have a Chevrolet Aveo, get that timing belt replaced probably every 40,000 miles or so (30,000 might not be bad either) until you can feasibly get rid of the car. One of my friends always made fun of me for buying a Chevy, and now I see exactly how right he is… Sayonara, General Motors.

Posted by mpyne under Personal | 4 Comments »

Retro tunes with Phonon

February 7th 2010

So, in The Beginning, when I was just a young padawan on the Internet, I had been let into a glorious secret: Emulation (not of IBM System/360 machines, but of more important things like the Super NES). Some branching from there led me to zophar.net, a popular emulation site, and their message boards, and also left me with a fascination with emulation.

The attributes of some of the older systems like the NES and Super NES made it fairly easy to capture their music-producing software, since those systems used separate co-processors to handle music effects. NES music would be stored in the NSF format, and SNES music was handled with the SPC format (named after the audio chip used, the Sony SPC700). There were (and still are) specialized plugins on many systems to play these formats (they emulated only the music chip, not the rest of the system).

I’ve been involved on the periphery of some of these things for the past couple of years. (For instance I had written a KFileMetaInfo plugin for KDE 3, and had helped Chris Lee with adding playback support to GStreamer.

One problem with the previous GStreamer solution (which I’ll call gst-spc) is that the underlying playback library, libopenspc, is written in x86 assembly, and has some crash bugs associated with it as well. As well the code has long been orphaned. I’m not really any good at writing emulation code and although I could learn, it would take far too much time for me to do anything useful.

Luckily for me the state of the art has advanced and last year I was pointed to a library called game-music-emu. This library included a very good SPC emulator written in C++, which had been merged into some popular SNES emulators already. Unfortunately it didn’t really have a great build system (using it involved simply copying it into your existing program) so my initial proposal to port GStreamer to use game-music-emu by simply including the source files with GStreamer was rejected. The GStreamer devs preferred to have an external library which could be used (or not) and I couldn’t blame them since in general good OSS projects avoid copying or forking external code.

So I contacted the game-music-emu author (Blargg) asking about the possibility of adding support for building a library, and ended up with commit access and an invitation to do it myself. Hmm.

So I did, and awhile ago I had made a release of “libgme” 0.5.5, working with Blargg has he got free time. My subsequent patch to GStreamer was accepted and since gst-plugins-bad-0.10.14 it has been possible to use libgme to playback many emulated music file types (not just SNES, but others as well).

With that solved I left the issue, but I recently came back to it since I figured out that even after upgrading to gst-plugins-bad-0.10.17 the other day, that gstreamer playback was not using libgme, but the older libopenspc.

At first I thought it was simply my fault, as I’d still had gst-spc installed from years and years ago. Removing gst-spc and libopenspc (just to be double-sure) left me with no SPC playback features. Running gst-inspect confirmed I did not have any gme decoder. WTF.

I then again thought it was my fault because I had installed libgme to /usr/local instead of /usr. So I dutifully wrapped up libgme in an ebuild and installed it. And still nothing. WTF.

I dug into the Gentoo ebuild for gst-plugins-bad and it seems that for whatever reason not all possible plugins are installed. It seems the new installation method is supposed to be that each individual plugin is supposed to have its own ebuild (i.e. gst-plugins-gme), like how Gentoo has split out other packages like KDE into individual ebuilds. Fair enough.

I write another ebuild, and finally hit paydirt:

Screenshot of music player playing SPC files
The Qt example music player playing SPC files

Obviously this does require that you are using the GStreamer backend for Phonon to have this work, otherwise you can just try it in some other GStreamer-using application. (I’d show it in JuK but I’d have to add SPC support to Taglib first)

If you’re interested in the ebuilds I used you can use this Portage overlay, (SHA-512 sum c0ff9aa5413b0c0b14f7c52d5b3ee887edc4e7bf47182e58c21e9c340d8ff7e9). The overlay may or may not work for you, and I don’t even know if overlays are still the “hip” way to do things in Gentoo, but It Works For Me. ;)

Posted by mpyne under Computing Troubles & KDE & Personal & Programming | 3 Comments »

So long 2009

December 31st 2009

So 2009 is expiring where I live.

The year was shaping up extravagantly 12 months ago. We were expecting our second baby soon. My ship had just come off a spectacular (for SSBNs) patrol, and had won the squadron Battle “E” and even the Omaha Trophy. I was due to rotate to a nice shore duty soon.

In my volunteer efforts, KDE 4.2 was shaping up to be a fantastic release of the KDE Plasma Desktop and associated platform software. I was even going to get to visit my family in the upcoming 2009 summer and reconnect with a lot of people I hadn’t had a chance to see in awhile.

As it stands though, 2009 has been a massive heartbreak. Good riddance to a horrible year. Here’s hoping 2010 can’t get any worse.

Posted by mpyne under KDE & Personal | 2 Comments »

kdesvn-build 1.11

December 23rd 2009

kdesvn-build 1.11 has been released. (Update 2009-12-26: Fixed broken link, thanks deabru)

Changelog is basically this:

  1. Documentation is improved.
  2. The script itself is less craptacular.

Happy Holidays, Merry Christmas, etc. etc. I’ll be on duty tomorrow :-(

Posted by mpyne under Personal | 2 Comments »

“Decontamination efforts continue at the Pyne residence…”

December 19th 2009

I don’t normally post about noteworthy disasters in diaper changing because, well, duh. Babies and toddlers in diapers will result in messes.

But this last one was so bad that it nearly should have resulted in news coverage, a Federal disaster area being declared, cleanup crews in the HAZMAT suits, etc. YUCK.

Token KDE reference for pk.o: I’m working on improving kdesvn-build docs, more on that later.

Posted by mpyne under KDE & Personal | No Comments »

GNOME + Slashdot

December 12th 2009

So our brothers/sisters at the GNOME Project managed to hit the front page of Slashdot.

There’s a lot one could say about the topic, but I’ll just leave it at this: I think it’s ironic that a project started essentially entirely due to the non-Free nature of Qt (at that time) would decide to separate from the Free Software Foundation and GNU based on Richard Stallman’s disapproval of proprietary software. I guess the times, they are a-changin’.

Posted by mpyne under Personal & Political | 16 Comments »

The November update

November 24th 2009

So it’s been a busy month for me:

At work I’ve qualified as an instructor, qualified as Command Duty Officer (basically the senior-most officer on duty when everyone else goes home for the day), and just today I’ve become the Division Director for my division. Basically it just means way more work (I spent 10 hours at work today…) but on the other hand I’ll eventually get my picture on the posted Chain of Command pictureboard at the entrance. Not sure that’s the best tradeoff ever but that’s the major job I was assigned here for in the first place so onward I’ll go.

My class has a sense of humor. I mentioned yesterday that we always ran out of a particular flavor of coffee creamer first while underway. When I walked into the class today there were two little individual-sized creamers waiting for me. :)

On the KDE front, I sent the KDE.news story about Sheldon’s T-shirt to a friend of mine who watches Big Bang Theory. I’ve switched kdesvn-build in trunk to not use any specific remote alias names for git repositories (since people who already had a repo clone couldn’t just use it with kdesvn-build). Finally I’ve been testing a patch to fix a JuK crash-on-shutdown bug. (My reproducer hasn’t gotten back to me though, so it may end up in trunk with me being the only tester :-/). Oh, Jeff Mitchell and Kubuntu conspired to get support for ASF and MP4 added to JuK (requires taglib 1.6, with support for MP4 and ASF specifically enabled). Still to do is to actually make a new kdesvn-build release, change the kdesvn-build name (I’m accepting reasonable suggestions!), and somehow, someway, eventually port JuK off of qt3support and kde3support.

Last (but certainly not least), on the personal level I’ve been super-busy learning LaTeX so that I could turn in two research papers (due on the same day, THANKS PROFESSORS! :P). Now I have to prepare related presentations (which I’m going to use LaTeX Beamer for).

The most somber assignment deserves its own paragraph: We received the death certificate for Emma in the mail recently. We know as much now as we did when she died; the cause of death is listed as undetermined. I need to find time during the working day to run to various Navy offices to handle the administrative mumbo-jumbo of updating my record of dependents to match. It’s still weird. Every day that I really focus my thoughts on Emma, I still don’t really accept that she’s dead. Not sure when it will finally hit me but I’m not looking forward to that day.

Posted by mpyne under KDE & Navy & Personal & kdesvn-build | 2 Comments »

Professional software development

October 18th 2009

Sadly the title doesn’t mean I’ve gotten a job developing software. No, in this case I’ve finally bitten the bullet and joined one of the two major software developer professional organizations here in the US. In my case, the IEEE Computer Society. I suppose I may join the ACM later though.

Anyways, I didn’t actually join because of professional fealty or anything, but more because as a graduate student it’s time to start digging into the resources available in the various published journals and conference proceedings.

On the other hand you in theory get access to other useful things as well. For instance there’s some Safari Books thing that lets you read different computer-related books online. I don’t really find it horribly useful myself since you have to read it through the browser (and I don’t feel like screen-scraping it just to convert to PDF). But at the same time it’s better than nothing at all.

Posted by mpyne under Personal & Programming | No Comments »

“When it rains, it pours”

September 28th 2009

So last month my daughter died. My grandfather has been in the hospital for a week but his condition has deteriorated and now he’s not expected to live longer than a day or two. :(

2009 started off so nice but it’s ending up a horribly rotten year for me. Of course my thoughts now are with my family, especially my Grandma. I’m glad that my Grandpa was at least able to hold Emma this year.

Posted by mpyne under Personal | 7 Comments »

Car batteries

September 28th 2009

I now hate side-post car batteries. My wife’s car battery died today and since she has appointments to take Ian to and I have work to go to I needed it fixed today. Since it’s just a car battery I opted to do it myself.

Anyways, it’s all fixed now. The estimate was 30 minutes for the trained car shop repairman who has replaced a million of these. It took me 45 minutes (and with crappy tools to boot) so I feel OK about it. I just wish my fingers would quit feeling sore…

Posted by mpyne under Personal | 3 Comments »

Next »