html5 audio problems

For my last few sketches now I’ve used HTML5′s built in “<audio>” tag to handle embedded streaming of my audio files, rather than using a Flash component. It’s a convoluted solution right now, due to a lack of ubiquitous support — I need to post Ogg Vorbis files for Firefox and Chrome, MP3s for Safari, and then a Flash-based MP3 fallback for other browsers — but it’s worked pretty well for the most part.

Unfortunately, it came a little unstuck today, when I checked my web server logs and saw that there’d been more than 100 downloads of my latest sketch — far more than I expected from seven minutes of abstract wank. I did some testing, and saw that every time I opened the page, it was downloading the entire track, rather than downloading just the headers. As it turns out, it looks like the transparent proxy at the office is to blame; I guess it has problems with partial content downloads.

For now, I’m just gonna fall back to ye olde Flash player for my audio posts — it’s not pretty, or elegant, but it works, and it doesn’t have these kinds of problems. I’ll keep an eye on HTML5 though, and on the office proxy. Here’s hoping for a future where I can post just a single audio file and have it streamed seamlessly everywhere without a need for plugins!

crisis aversion

I run a RAID array in my home theatre PC to store all of the media I’ve managed to accumulate over the years, and running it as a RAID array has come in handy once again, since I lost a hard drive over the weekend. It was one of the two 500GB drives I’d carried over from my old array, so instead of picking up a new 500GB drive to replace it, I replaced them both with a (sub-$100) 1TB drive.

Compared to the last time I had a drive fail, this replacement was a snap; I just shut down, removed the 500GB drives, added the new drive, and booted up. Once the system was running, it took just another minute or two to partition the new drive and add it in to the array. Total downtime: no more than 10 minutes. I do love it when things work as advertised :)

random updates

Just a few more random updates:

  • It’s good to see myself in print again — there’s a feature in the PC Authority that hit the stands today that lists 99 great free apps, and I contributed the Linux portion of it. I checked it out today and I think it came up pretty well!
  • Microsoft finally received my 360 today, after nearly a good few days in the post. I sent it on Friday, and i didn’t think it’d take so long to get a console to Sydney, but either way, they have it now, so I should have it back within a couple of weeks of today. In the meantime, I scored a loaner 360 from a friend, which is awesome.
  • I signed up with iiNet for our home ADSL yesterday, so of course Internode launched new plans today. Luckily, there’s nothing there that would entice me back — iiNet will still be a better deal, even before the DSLAM comes online here. I decided to jump to iiNet now rather than waiting for the DSLAM just to avoid any downtime; doing it now means a churn and just an hour or two of downtime, rather than a disconnection and reconnection and the days of downtime that’d cause.

ubuntu karmic and intel video

Intel has put a lot of money and effort behind its open-source video drivers for Linux, which is the main reason I went with the Intel X4500MHD video option on my new laptop, instead of the faster NVIDIA option. Going with a 100% open source solution gives two main benefits: everything works perfectly out-of-the-box, and you get features like monitor hotplugging that have set to be implemented in the closed drivers from NVIDIA or AMD.

There’s just one drawback — the Intel drivers, and the Linux video stack in general, are going through some major updates right now, which results in some odd bugs. OpenGL-accelerated desktop effects seem to work perfectly, but some windowed OpenGL apps glitch parts of the display outside of their windows, and there are also some GLSL and depth-buffer bugs that cause visual issues with some apps, like the Penny Arcade Episodes.

That work is still ongoing, but with the latest alpha of Ubuntu 9.10, the results are starting to show. I installed it on to a spare partition on my laptop today and did some testing, and I’m glad to say that the above-mentioned bugs seem to have all-but-disappeared. Windowed OpenGL apps ran just fine, and the graphical corruption in Penny Arcaide Ep 1 has disappeared. The problem now is stability — X crashed a few times when launching OpenGL apps during my testing — but with any luck those bugs will be ironed out before the 9.10 release in October.

mac os x on kvm

While I no longer have a Mac, I still need one from time-to-time for development and testing purposes at work. My old MacBook Pro is still there, and runs just fine in that role, but for a laugh I thought if it would be possible to run Mac OS X in a virtual machine on my new laptop using KVM, the open-source virtualisation system built in to the Linux kernel. The answer, surprisingly, was yes:

For the installation, I used iDeneb, a bootable Mac OS X installer DVD that’s pre-patched and ready to boot on most PCs. The only trick to getting it working on KVM seems to be to use an alternative kernel — the Voodoo 9.5.0 kernel worked for me — and to find a virtual network card that both KVM and OS X support. In fact, I haven’t quite figured that last one out yet, but I’m giving it another go right now.

The only real problem is the performance — it’s terrible! Dock bounces aren’t scientific measure of how long it takes to start applications, but when you get to double-digits starting Terminal.app, you know you’re in trouble. Even if I do get the networking issues sorted, I doubt it’ll be usable for anything serious.

congrats to SpaceX!

I’m fascinated by private spaceflight — it’s amazing to see private companies develop technologies and complete feats that were once the domain of governments with enormous budgets — and today saw another milestone. SpaceX successfully launched its Falcon 1 rocket for the first time in September last year after three failed attempts, and today it repeated that feat with a paying customer, launching the RazakSAT satellite for the Malaysian government.

Launching a satellite doesn’t sound too impressive, but it’s quite an achievement when you consider that SpaceX has been able to develop an all-new liquid-fueled launch vehicle from scratch within just a few years. In the last 30 years, only three new liquid-fueled rocket engines have been designed within the US, and two of them are on the Falcon 1; the other is on Boeing’s military-funded Delta IV. Other recent US rockets, like the (also military-funded) Atlas V, are based on Russian engines.

Falcon 1 is just a starting point for SpaceX — the real deal is the Falcon 9, which can deliver 25-times more weight in to orbit than the Falcon 1. It’s due for its first test flight later this year, followed by further test flights and eventual cargo deliveries to the International Space Station using SpaceX’s Falcon spacecraft. Perhaps Falcon 9 will suffer initial failures, as the Falcon 1 did, but I’d love to see it succeed, and given that Falcon 9 is based almost entirely on technology that’s now been tested on Falcon 1, SpaceX may just pull it off.

pc crisis averted, for now

Yet another post about my PC situation, this time with some good news. I found 2GB of spare DDR RAM, which thankfully seems to work just fine, and with that installed my old TV box has been transformed in to a perfectly workable desktop box. More importantly, it’s also a perfectly workable studio box. It’s an Athlon 64 3200+, so it’s single core isn’t too far behind one of the two cores in my old Core 2 Duo desktop box.

JACK is running very nicely at the same latency settings I had on the Core 2 Duo, and I had no trouble running the Blofeld through a pile of effects in JACK Rack, or firing up Ardour and running a song with a bunch of tracks, and a bigger bunch of effects plugins. The CPU usage is obviously higher than it was before, but I still have plenty of headroom for more tracks and effects.

I still want to upgrade, obviously, but I’m happy enough with my stop-gap solution that I can hold off for now. Intel has new mainstream chips coming in September, and even if I don’t early-adopt one of those, I’ll likely get a better deal on a Phenom II or Core 2 Quad solution then.

pc dramas

So… everything went exactly according to plan yesterday with my hard drive juggling: the data copy finished up on Saturday morning, the system booted from the new drives after some boot loader fiddling, and the arrays rebuilt in to full redundant mode once I added the two 500GB drives from the old array.

There was just one snag — I had to sacrifice my desktop PC.

Everything was going perfectly until I took the new 1TB drives, brimming with data, and placed them in to the TV box. It was a nice system about five years ago, but neither of the SATA controllers on the motherboard would detect those shiny new drives, despite putting jumpers in place to switch the drives in to SATA 1.5 Gbit/s compatibility mode. With no other option at hand, I swapped the TV box for my desktop box and got everything working there instead.

It’s actually quite nice having that box in the lounge, now — it’s super-quiet, and it has no trouble playing HD streams. I’ve put the old TV box back together as a desktop for now, but with just 512MB of RAM it doesn’t have the grunt to run my usual selection of music apps.

One option to solve this would be to shuffle things back around and throw a PCI SATA card in the TV box to get those drives working, but in the long run, and with the crazy-cheap prices on basic components these days, it’s probably better to build either a new TV box, or a new desktop.

hard drive progress

Things are going well with my hard drive shuffling so far — the new drives are in my desktop box and tested, I’ve created and formatted the new arrays, and I’m now copying the data across. Over my 100Mbit network it’s probably going to take until Saturday morning for everything to finish copying, but that’s no big deal, since there’s no need to take the TV box offline while I copy the data from it. Thanks to rsync, I can do another quick copy run once this bulk copy is finished to pull across any files that have changed since I started the first copy.

Unless something goes horribly wrong, I should be all-but-done by Saturday afternoon.

juggling hard drives

I finally managed to lose a drive on my TV box — one of the old IDE 250GB drives bit the dust the other day. I’d drop in a replacement, but getting an IDE drive isn’t the easiest thing to do, and the box is out of SATA ports. So, instead, I’m going to build a new array, out of two 1TB drives and the two 500GB drives from the current array.

The whole setup is a bit convoluted, but it works quite well. The current array is actually two arrays of 4x250GB drives: each uses two 250GB drives, and two 250GB partitions on a pair of 500GB drives. I’ll be using the same approach with the new setup, with two 3x500GB arrays but getting from A to B is going to take some doing:

* thoroughly test the new drive and make sure it’s working 100%
* set up the two 1TB drives on my desktop box as a degraded three-drive RAID-5 array
* set up the arrays and LVM setup on the new drives
* copy everything from the TV box to the new drives over the network (yay rsync!)
* take all the drives out of the TV box and replace them with the two new drives
* fiddle things until the TV box boots from the new drives
* throw the two 500GB drives back in and add them to the arrays and let the arrays rebuild

That should about do it :)