Durrr…

I just spent over an hour struggling to get a set of class templates to even compile properly. It kept complaining that a base class was undefined, so I kept tinkering with the template parameters, thinking that I was using them incorrectly or there was some subtle behaviour that I was failing to account for, since it’s a moderately complex template (multiple levels of derivation, multiple template parameters at each level).

But no. It was simply because I had copied the base class header file for the derived classes and forgot to change the multi-inclusion-preventer #ifdef on one of them, making it completely skip over the definition of one of the intermediate classes. Duh…

Not Paranoid Enough

Dammit. Despite thinking of myself as someone careful about these things, my web server was hacked earlier this morning. It’s my own fault though, as I’ve been getting a bit sloppy. I tested out AWStats a while back, left it installed, forgot about it, didn’t keep it updated, and of course the hack was then done through an AWStats flaw…

What I should have done was either 1) not have kept it installed, 2) placed a password check on it, 3) joined the AWStats announcements list, where I would have gotten a notice about the flaw earlier, or 4) used a distro where it would have been part of the standard packages and automatically updated.

Oh well. Fortunately, since I watch logs like a hawk, I noticed it and shut it down within 15 minutes of the initial break. Since the web server runs as ‘nobody’ it couldn’t actually damage anything; it just kicked off a script to port scan other systems. It’s still depressing to realize that you’ve helped make the problem worse though, even by only a little, and if I can’t find the time to admin this properly, maybe it’s not worth the hassle.

Too Old, Too New

One of the great things about operating systems like Windows is that, in its role as an abstraction of the hardware and other fundamental tasks, with an emphasis on backwards compatibility, you don’t have to care too much about specific versions of the OS. Write code that works on Windows 95, and it should work on future versions of Windows forevermore, right?

Well, maybe…
Continue reading “Too Old, Too New”

Useless Updates

MythTV 0.17 is working out very well so far. It’s definitely far more stable, and I haven’t had any more lockups during playback at all. I have the frontend working on the iBook too, so theoretically I could watch shows from the kitchen or bedroom instead or have two people watching different recordings.

The XP box is sort-of working again — after underclocking it a bit and putting an older GeForce 2 card in, the voltages are back within tolerances and it behaves itself. Unfortunately it then performs like, well, a 3-year-old system with an ancient GeForce 2… Oh well, good enough for now, as I’m mostly using it for DVD burning anyway, and World of Warcraft remains more-or-less playable after turning off the fancy graphics.

In Search Of Power

You’d think it would be easy to find a new power supply in a big city like this, but no, you’d be wrong… All of the places I’ve checked so far only have either cheap, underpowered, unreliable brands, or hideously overpriced overclocker-geared models. I don’t care if it has modular cables and separate dual 12V rails and LED-backlit fans, I’m not spending more on the power supply than I did on the motherboard and CPU together…

It’s the lack of choice in the regular stores that seems to drive me to order a lot of my parts online instead. It may take longer to get them, but the selection is much better, and usually cheaper too.

Nuts

The replacement motherboard finally arrived today. I forgot to get some thermal paste for the reseating of the heatsink, but managed to scrounge some from the office.

The good news: moving the CPU, memory, and cards over to the new board and replacing it in the case was fairly quick, and everything worked the first time, for a change. Voltages are looking a little bit better.

The bad news: The hard drive still misbehaves. And for some reason it’s misdetecting the CPU as an Athlon 1800+ instead of the 2400+ it really is, even after a BIOS update, so it’s possibly only running at 75% of full speed right now.

It looks like the bulging capacitor may have been a red herring, and the problem lies either in the power supply or the hard drive itself. Oh well, at least this board is more upgradable than the old one; when it comes time to hand it down to the Linux server/PVR, it’ll either already be good enough to handle HDTV video or could be cheaply upgraded to do so.

Update: I can manually set the FSB speed and multiplier and then it properly shows up as an Athlon XP 2400+…but then the voltages fall even lower than they were on the old board, with the 5V bus showing up as only 4.4V and highlighted in red. Red bad. It may have been falling back to a lower speed just as a form of undervoltage protection. And the drive won’t even spin up after that change. That clinches it — it’s almost certainly the power supply.

I Want My HDTV

One of the (many) things getting people riled up is the upcoming introduction of the broadcast flag on HDTV signals, and what that means for people like PVR users. Any equipment manufactured past a certain date must comply with the broadcast flag requirements, and the flag limits many of the abilities that PVR users are accustomed to having, so you’d better hurry and buy something before that point!

But wait, this flag only seems to apply to over-the-air (OTA) broadcasts. HDTV uses different modulation schemes for OTA and over-cable broadcasts, and the flag doesn’t even exist in the over-cable version. So, living in a place that’s unlikely to see any significant HDTV channels delivered OTA, I’d be getting the cable version anyway, so it doesn’t really matter to me. Whew.

But wait, the cable-delivered signals can be *encrypted* instead, and a lot of places are already doing that with at least their higher-tier DTV channels. You’re thus locked in to needing the cable company’s special equipment to decode it, and their equipment only provides the final video output to the TV set. Although a lot of these cable boxes have Firewire ports, you only get the encrypted stream from it. Since their equipment is in control, it will enforce any additional restrictions the cable company wants to impose, and there’s nothing you can do about it. Grabbing the raw video output and re-encoding it is impractical in the near future simply because there’s so much data (HDTV at 1920×1080 is a lot harder to encode in real-time than plain old 720×480 NTSC. Hell, it takes a 1.5-2GHz processor just to *display* HDTV on a computer), and they’re working on ways to stop even that method in the future.

But then again, this is all based on how the U.S. is rolling out HDTV. The same legal problems don’t necessarily exist up here, but considering how slowly it’s being rolled out (Five boring channels so far! Woohoo!), how much pressure the U.S. can apply, and that most of the equipment comes from the States anyway, it may not matter in the end.

In short, PVR users may be screwed when HDTV finally arrives in full force.

She’s Gonna Blow!

While taking yet another closer look at the XP box’s motherboard, I noticed something which immediately made my heart sink: one of the capacitors, right near the ATX power connector, had a bulge in the top. Dammit. I remembered reading about that story years ago, and this board is from that era, but I thought I’d dodged the problem. Apparently some of those faulty capacitors are still out there and marching towards failure though, as reports continue to pop up occasionally.

I’m not really absolutely certain that it’s the same problem, especially since I’m only seeing one cap with a bulge and reports typically indicate multiple failures on the same board, but it’s possible that only a single bad capacitor slipped into the batch used to build this board, or there are others on this board that just haven’t failed yet. Or it could be faulty for reasons unrelated to that specific story.

In any case, a bulging capacitor that close to the main power source is certainly a warning sign and I wouldn’t be surprised if it’s causing problems. The board is long past warranty, and it would cost more than it’s worth to fix it up, so it looks like a replacement is the only real option. Nuts.

Less Power

After finally getting around to taking a closer look at my XP box’s problems, a couple things pop out:

1) The 5V and 3.3V busses are running a bit low, usually at around 4.5V and 3.08V respectively according to the BIOS monitors. Vcore and the 12V bus seem fine, though.

This is a nearly-brand-new power supply from a good name, so I’d be surprised if it’s failing already. However, I recall reading somewhere that recent supplies tend to favor higher drains on the 12V bus, whereas older systems tend to draw more on the 5V bus. Maybe this supply just doesn’t deliver enough 5V power, expecting most of the drain to be on the 12V bus instead. *shrug*

2) The fan on the northbridge chipset is stuck, and difficult to turn. I have no idea how long it’s been stuck, but at least it doesn’t seem to be causing any harm. The system still works fine most of the time, but overheating due to the faulty fan might explain some of the instability.

So, first I need to fix the fan and see if that helps with anything. If I still have trouble with the hard drive, I’m not sure what else I can do besides start replacing components like the motherboard, power supply (again), and the drive itself.

I really don’t want it to have to come down to that since I don’t really like the choices available right now and was hoping to delay the upgrade cycle a bit longer…

Finally

For all the blathering about portable MP3 players I’ve done, you’d think I’d have already bought one long ago, but no, I somehow managed to keep putting the final decision off further and further and further…

I’d previously been interested in the iRiver line of flash players, but at the time there were still concerns over low capacity, high cost, and a confusing mix of features (only some supported acting as a USB drive, only some supported Ogg, and it didn’t seem like any had both). So, unable to find a ‘perfect’ model, the decision was delayed further yet…

After going back and reviewing some of the more recent models though, I discovered the iFP-799, which has pretty much everything: high capacity, long battery life, FM radio, recording capabilities, USB drive support, and at a not-too-bad price. Perfect!

Except for one thing: ordering the frigging thing. It’s not listed at a lot of places, ordering from smaller sites from the U.S. is a pain, Amazon wouldn’t ship it to Canada, and the major Canadian suppliers were either vastly overpricing it or didn’t have any available. NCIX listed it, but wouldn’t even let you backorder it.

Until today. I finally managed to catch it online, in an orderable state, and at an acceptable price, and so *finally*, I have an order in.

It took me damn near forever, but I’ll finally have a replacement for this crummy PocketPC player…

And While I’m At It…

The other big update to occur recently was an upgrade from MythTV 0.16 to the just-released 0.17. Aside from the usual bug fixes and prettier themes, the important features for me are:

1) A screen that lists all previous recordings. One of the frustrating things about MythTV was that there was no easy way to tell it to ‘forget’ that it had already recorded something and to get it again (in case you deleted it and want to watch it again, or the previous recording was poor quality or got cut off, etc.). You could work around it by fiddling with the duplicate matching settings, but it was awkward and annoying.

Now, in 0.17, you can finally use this new screen to remove its memory of a previous recording, so that it will automatically record the same one again the next time it sees it.

The example I ran into was that I needed to recapture one specific Dilbert episode, but there was no way to tell it to forget just that one and not recapture any of the others. I had to keep checking the ‘Upcoming Episodes’ list every few days until I saw it on the list and then added an override for that episode. That’s easy enough for something that repeats fairly often, but what if it might be months or years… Under 0.17 I could just go into the ‘previously recorded’ list, delete the entry for that episode, and then it would automatically re-record it the next time it was broadcast without me having to keep looking for it.

2) A new MPEG decoder library. The occasional system hangs I’ve been having might be related to either the realtime thread usage or XvMC, which I use to squeeze some extra performance out of this old box. Supposedly this new decoder is faster than the old one, so with it I might not need those other features, and with them off the system might be more stable. Here’s hoping, anyway…

3) Official Mac OS X support. Although you can’t run a MythTV backend on a Mac yet, the frontend support is fully fixed up now. I haven’t tried it yet, but theoretically I should be able to use the iBook to watch any recordings or even live TV anywhere within wireless range.

Got Slack?

The upgrade to Slackware 10.1 seems to have gone smoothly. Once again the major glitch was due to a new version of Perl, which required reinstalling SpamAssassin and a handful of modules from CPAN, thanks to dependencies on a version-specific pathname. And, I had to rebuild a new kernel, since the default generic one didn’t include the RAID support needed for my root partition. (Edit: Oh it also appears to have broken my slrnpull runs by overwriting the config file. That’s partly slrn’s fault for putting a config file under frigging /var instead of /etc though…)

Otherwise though, there’s nothing all that revolutionary about this version of Slackware. Just a bunch of minor version updates of some packages.

So, one might wonder, why am I sticking with Slackware anyway?
Continue reading “Got Slack?”

The Right Tool

Although I have a working process for recording and burning DVDs, I was still a little unhappy with some of the steps. In particular, ‘replex’ is apparently picky about audio stream headers and would often complain or crash if it couldn’t detect things the way it wanted to. When editing out commercials, I’d often have to experiment with different starting points for the first cut until ‘replex’ was finally happy.

Fortunately I finally got around to trying avidemux as an editing tool, and it’s made things much easier. Instead of marking off the sections you want to keep, as in ‘gopchop’, you mark sections to cut out and it applies the cut immediately, which makes it easier to see how the final result flows. It can requantize MPEG video to shrink it a bit, which is useful when I accidentally record a long movie at a high bitrate and it winds up slightly too big to fit it on a DVD. And, it’ll reindex the MPEG stream and insert the navigation packets, which means I no longer need to use ‘gop_fixup’ and ‘replex’ at all — ‘dvdauthor’ will directly accept the stream avidemux produces.

Now the whole process is simply:

1) Record the show with MythTV.

2) Load the recording into avidemux, edit out the commercials, and resave it.

3) Run dvdauthor and mkisofs to create the ISO image, and burn it to a disc, same way as before.

(Edit: Except that the title I tried it on tonight wound up with a/v sync problems… Bah. Back to the old method for now.)