Category: Tech

RAID Project

My grandmother makes home movies on her MacBook Pro.

About three years back she was low on space and got a stack of 500GB LaCie drives. I wanted to arrange them as a software RAID 10 array for a bit of redundancy, but I realized that 4 500GB drives arranged in RAID 10 comes out to only 1TB -- not that much in the scheme of things.

So we ordered 4 2TB drives to swap out.

About this time, I read about software in development by an organization called Ten's Complement. See, Apple had been planning to switch to ZFS as its primary filesystem a few OS releases ago, but the project fell through; its former FS head left and started his own company and was still working on bringing ZFS to Mac. So I figured I'd wait for the imminent release of the product so I could use RAIDZ instead of RAID 10, and not have to give up so much space.

There was delay after delay. Finally the software was released as ZEVO Silver Edition; Gold and Platinum releases were slated for the future. (I guess calling your software Silver, Gold, Platinum is kinda like those pizza places that have Medium, Large, and Extra Large pies.)

But the forecast release dates came and went, with no Gold or Platinum and no word from Ten's Complement.

Months later, there was finally an explanation -- ZEVO had been bought out by Greenbytes -- but still no Gold or Platinum (or even Silver anymore). There was a free-as-in-beer command-line-only Community Edition, and...that was it.

Now, I don't want my grandmother stuck using the command line, but I figured I could use the Community Edition to set up the array on my computer and after that it should run fine on hers.

The problem? The documentation says ZEVO only runs on Macs with 64-bit kernels.

Now, I've got a Mac Pro 1,1. It has 32-bit EFI. To run a 64-bit kernel requires a third-party bootloader.

And I've chronicled my experience with 64-bit OSX already, in October and again a couple weeks ago. tl;dr it boots but it's so unstable as to be useless.

Only this week did it occur to me to check whether my grandmother's computer can run a 64-bit kernel.

It doesn't. So ZEVO looks like a moot point anyway, because God knows I'm not going to subject her to the kind of hoops I've had to jump through to try to get 64-bit Darwin working.

I figure I'll still try it, just in case it works despite being unsupported -- but I'm not holding my breath. Guess it's back to RAID 10 after all. I guess on the plus side, 2TB hard drives haven't gotten any cheaper in the 2 or 3 years these have been sitting unopened waiting for use.

So I went to take a crack at setting up RAID 10 today, and it looks like one of the LaCie power supplies has gone and died on me -- this is not the first time this has happened. So, one more setback while I order a replacement and wait for it to come in.

Too bad the RAIDZ thing hasn't panned out so well. And of course it's a double-edged sword that Apple's as aggressive as it is in discontinuing support for old hardware.

But hopefully I'll finally be able to wrap this thing up sometime next week.

Stray Thoughts

Bit of a sore throat today. Second consecutive day I haven't felt quite up to biking downtown for comics. Hope I'm not coming down with anything. I'm on a new inhaler (actually, I've started taking one I haven't taken in a couple years) but it started before that.

Speaking of meds, tried to buy my prescriptions at the Costco pharmacy last night, now that my COBRA's kicked in. They said my insurance card was rejected; when I said I was on COBRA they said I needed a new card. Today I called the COBRA line. When prompted, I entered the option for "I don't know my account number". So it asked me for other information -- first my zip code, then the month I was born, as a two-digit number. I entered 10 and it told me that was an invalid selection. I tried it again; it told me it was an invalid selection. Again and again. That was it. No other information, no option for exiting the loop; it just kept telling me that 10 was not a valid entry, and then telling me to enter the month I was born as a two-digit number. I tried 6-2, for the first two letters of October; I tried saying "October", "one-zero", "ten" -- same error message, over and over. Just for the hell of it I tried 11; got an error for that too. Then I pounded 0 until it disconnected the call, called back, and chose the option for "I don't have an account number" and was promptly connected to a human being.

She told me the pharmacy had been wrong, that my current card is the right one for COBRA, but that my insurance probably won't be processed until thirty days after I paid my first bill. Which is just grand, because my insurer took two months to get my information to COBRA in the first place. Man, health insurance in this country.

Speaking of horrible, kafkaesque looping menus, I also got an E-Mail from CareerBuilder asking me to fill out a survey. I usually do when they ask; I like to think it helps them improve their site, and sometimes they offer prizes.

But the goddamn thing was a mess. It kept asking me the same handful of questions, over and over again. Sometimes it would rearrange the order of the answers I could choose. I began to wonder if this was really a survey to see how I felt about CareerBuilder, or some grad student's psych project to see if my answers would change if the multiple-choice options were rearranged.

I spent about fifteen minutes at it, getting more and more of the same questions, and more and more complex and detailed questions that took longer and longer to answer, and then showed up again thirty seconds later -- and no, you couldn't just choose not to answer. Even if the question was "If you are currently working, how do you like your job?" and the options were "A lot", "Somewhat", or "Not at all" -- if you didn't select any of them, you'd get an error telling you you had to answer the question.

As you might expect, I did not answer the text-field questions more than once; when I started getting them repeatedly, I started putting in things like "I have already answered this question. If you need to find a competent Web developer to fix your survey, I know one who is currently looking for work."

It was about the time I noticed that the progress bar at the top of the page was actually decreasing -- it was at 55%, I clicked continue, and it changed to 53% -- that I finally gave up. I wrote something snarky in the last text box, hit Continue, and then clicked Exit Survey. They probably never saw my responses -- I'm guessing incomplete surveys aren't submitted -- but I did click Continue that one last time, just in case.

Other'n that, kind of a slow day. Got declined for an audiobook part (no big deal, that's part of the job; I'll record some more auditions tomorrow if my throat's better), called a contact for a job lead (left a voicemail). When my fiancée got home we took a trip up to Changing Hands; I bought a used copy of Starship Titanic (one of the few remaining Douglas Adams books I haven't read), and noticed that Cory Doctorow is going to be doing a signing next week. Guess you have to buy a book to get a ticket, so I suppose I should buy one of his books in print -- otherwise I guess I'd have him sign my Nexus 7, since that's where I've been keeping my copies of his books up to this point. Debating whether to go or not, but it would be fun.

Dinosaurs in the Home Depot: My First Audiobook

As you may have guessed from the various not-so-subtle hints I've been dropping over the past month, I've started recording audiobooks.

The first one, Dinosaurs in the Home Depot, written by Bret Wellman, has been released, and is available from Audible, Amazon, and iTunes.

The audiobook is 18 minutes long and delivers what it promises. There is a Home Depot. There are dinosaurs in it. The story does not waste time on details like why there are dinosaurs, why somebody decided to leave them in a Home Depot, or actually bothering to give any of the characters names (unless you count "the ugly giant" as a name). It's mostly people fighting dinosaurs with power tools.

If you want to give it a read before you buy, it's available for Kindle, or you can read it for free on the author's website.

It's also bundled with Audible's DRM. Staunch anti-DRM advocate that I am, I regret this, but there's nothing I can do about it except let people know before they buy. You shouldn't have trouble playing it under Windows or OSX, and there are clients for iOS, Android, Windows Phone, and Blackberry as well. I haven't tried it under desktop Linux yet; I've read that the Windows player works under WINE, though users have reported playback issues with recent versions. You can read more about Audible's DRM format at Wikipedia.

I've got two more audiobooks coming sometime in the next few weeks; I'll write about them when they're available.


Discuss my audiobooks at Brontoforumus.

Backing Up Wii Data -- All of It

So I've been having problems with my Wii. It's stopped running discs entirely -- I put one in, it spits it right back out. I suspect the spindle motor, and I'm going to try fixing it myself with a little help from the guides and parts at Console Zombie -- but before I go taking my Wii apart and poking around in its innards, I figure I should probably back all my shit up.

Course, as you may know, the Wii doesn't allow you to back up everything onto an SD card. Certain downloads and save files are copy-protected. This is what is known, amongst technical people such as myself, as a bunch of stupid fucking bullshit.

See, the way I see it, I should be able to back up my saves in case my console gives up the ghost. Or, say, go over to my brother-in-law's house and have access to every course on Mario Kart without having to unlock them all again in fucking single-player mode.

So I did a bit of reading up and found a utility called Savegame Extractor. It requires installation of the Homebrew Channel.

I have an old Wii and the latest version of the Wii System Menu (4.3U). After some reading, I found that the appropriate utility for my system was LetterBomb, and there are installation instructions at wiibrew.org.

It was about as simple and painless as root tools come. Select your firmware version and input your MAC address, then download the LetterBomb zipfile. Rename the private folder on your SD card, copy the boot.elf file and private directory from the zip to the root. Put it in the Wii, power it up, open up the messageboard, and click on the LetterBomb icon. From there I installed the Homebrew Channel, and installed BootMii as boot2 (apparently on recent Wii revisions you can only install as IOS, ie overwriting the Wii firmware).

Once you boot up again, you'll need to use either a GameCube controller or the buttons on the Wii face (Power to move the cursor, Reset to select an option) on the bootscreen. You should back up your NAND memory (provided you've got 512MB free on the card; it's under the gears icon, then the icon with the arrow pointing from the chip to the SD card).

Next thing: install the Homebrew Browser.

Create an apps directory on the root of your SD card. Download the Homebrew Browser, extract it, and copy the homebrew_browser subdirectory to apps. Once it's on the SD card, you can load it from the Homebrew Channel; from there -- well, from there I got a stack dump and had to reload it. But I reloaded it, and from there you can download all sorts of useful apps -- including Savegame Extractor.

In fact, there are a few variations on it -- there's Savegame Manager, which combines Savegame Extractor with Savegame Installer, and which also just flat-out stack-dumped every time I tried to use it -- but there's a fork called SaveGame Manager EX, which works great, comes with a GUI that mimics the Wii's, and has a nice batch option to extract everything from the Wii at one go, eliminating all that tedious clicking on each individual file and then selecting Copy. (And, okay, also copying over some other shit that you don't really need to expend the space on backing up, like the Netflix Channel. But hey, still.)

Soapbox time: I'm not doing this to play pirated games. I'm not doing this to cheat at online games. (I'm not doing it to cheat at offline games, either, but if I were, that would be none of anybody's goddamn business but my own.)

I'm doing this to access my data, the games I bought and paid for (and, all right, one that Brent got me for my birthday), the saves I slogged through hours of stupid bullshit single-player Mario Kart to get.

And I shouldn't fucking have to install a bunch of hacks to do this.

I like my Wii. Rather a lot. I mean, Jesus Christ, look at how much effort I've gone to to keep all the stuff I've got on it, and that's before I've even started taking it apart.

But Nintendo is completely fucking ass-backwards in its approach to modern technology in general and network play in particular. Its "safeguards" are asinine and poorly-thought-out. They won't stop some guy with an Action Replay from unlocking all the karts on Mario Kart or all the fighters on Smash Bros and then going online (and hey, Nintendo? Maybe if you didn't make it impossible to unlock anything on multiplayer in Mario Kart, and a pain in the ass to unlock everything on multiplayer in Smash Bros, people wouldn't be tempted to cheat to do it?). They just put up barriers to prevent people with broken consoles from getting their data off. Which, again, includes games they paid for.

...and frankly they're not very good barriers. This was really a breeze. I'd like to thank the developers of all the various tools I've mentioned, and the writers of the walkthroughs on how to set them up. Because this was pretty damn painless, and to be frank I enjoyed doing it.

Tune in next time to see how I do at taking my Wii apart and seeing if I can fix it.

If I even get that far. I don't have a tri-wing screwdriver onhand, so I'm going to see if I can get the screws out with a small flathead. If not, well, tri-wings are like $5 on Amazon.

ownCloud

My post on Unison remains one of the most popular things on this site. (The FF7 Trilogy remain my most popular posts, the ROM Collection Browser post is far and away the most popular hit on the site this month, and a number of people seem confused, as I was, by Netflix's reorganization of Doctor Who -- but Unison's still way up there.)

Well, I rebuilt my computer a few months ago, and I've opted not to go back to Unison. The main reason is that I don't just have Windows/Linux/OSX machines in the house now -- I've got a phone and a tablet both running Android now, and I'd very much like to be able to sync to them, too.

(Yes, okay, so Android is also Linux; good observation, gold star. It is technically possible to run Unison on Android. It is also, as far as I can discern, as big a pain in the ass as you would expect.)

I've decided to take a crack at ownCloud, and set my overworked G4 Mac Mini up as a server. It was a quick, easy setup, and a lot less fiddly than Unison (though it took a little bit of fucking around on the command line to enable SSL), but it's got its tradeoffs -- oddly, near as I can tell the desktop client can only set directories to sync, not individual files, while the Android client can only set individual files to sync, not entire directories.

And speaking of syncing with the Android app, it took me a day to figure out how to get it to sync in the first damn place. The sync toggle is under the system Settings menu, not, for some reason, anywhere in the app's interface, and it turns out that in order to set a file to sync, you have to upload or download it first, and then tap it in the ownCloud browser, and then there's a "Keep file up to date" checkbox. It's not exactly what you'd call discoverable, and the closest thing I can find to documentation is a damn YouTube video. (Can we talk for a minute about tutorials that are only available as videos? For my money, that trend fucking sucks. I mean, videos are great for some things, like showing you how to take apart a piece of equipment, or shave, or otherwise do something that's easier to watch than read about -- but much of the time, step-by-step instructions with the occasional illustration is a far superior method of walking someone through how to do a thing.)

So, not quite perfect. And there are some other pitfalls -- the filebrowser in the Android app can't seem to access the directory with my World of Goo save to sync it, SNESoid save files use a different extension than desktop SNES9X...plenty of rough edges that aren't actually ownCloud's fault but the fault of developers who didn't consider that users would want to sync save files across multiple systems. (It looks like you might be able to sync a file under a different name on the Android client than on the server; I'll look into that but I'm also thinking of switching from SNESoid to SNES9X EX on my phone and EX+ on my tablet. So far it looks like it's a lot more flexible than SNESoid, and while EX+ is too burly for my phone, EX runs all right once I turn off graphics filters, set scaling to integer-only, and turn on the GPU Sync Hack. Save states aren't compatible between versions, but of course save RAM is. As for World of Goo...maybe I can whip something up with symlinks or something; I'll look into it.)

And it's a pity there's no way to set up an automated wireless sync with my PSP.

A Wizard Did It

As soon as this week's episode of Bones opened with the word "Previously," I knew I was in for something really, really stupid.

I like Bones. It is a workplace comedy disguised as a police procedural; it has a good cast and often features the best gross-out humor on television.

But god damn I hate its sweeps arcs.

I get what they're trying to do with the Pelant arc. He's the nemesis. He's Moriarty. Hell, they even cast a guy who looks like the guy who plays Moriarty on Sherlock.

But -- Sherlock spoiler warning -- at least Moriarty's big "I have a secret code to hack every computer system in the world" plot built up to the resolution that nah, he was just fucking with you guys, there's no such thing, he just bribed a bunch of people.

Now, Sherlock has done some legitimately stupid things with technology -- Irene Adler's acid-equipped cell phone springs immediately to mind -- but it's never approached the sheer inanity of Pelant's first appearance, where he encoded a virus into a skeleton that caused the computer that scanned it to catch on fire. And, to be fair, Bones hasn't reached that level of stupidity a second time either -- though God knows it's not for lack of trying.

The latest featured the "Your bank account is being slowly drained!" trope, which I recently commented on in Insufferable by Mark Waid and Peter Krause. But -- Insufferable spoiler warning -- at least the guy draining the account in Insufferable was actually the guy who was in charge of Galahad's accounts. It is entirely plausible that he had talked Galahad into signing documents that gave him the right to take all his money.

In Bones, that is quite clearly not what happened. And, funny story: banks can't just let other people steal your money, even if they have your password. There's this thing called FDIC, plus various fraud protections -- but hell, let's not let that get in the way of a good story.

Only thing is, all this bullshit really is getting in the way of a good story. The game of cat-and-mouse between Pelant and the Jeffersonian would be enjoyable, if it weren't for the constant distractions of Pelant doing crazy impossible shit because the writers can't be arsed to come up with something evil for him to do that's actually remotely plausible.

If the show's going to make the bad guy a wizard, it should just drop all fucking pretense of being set in the real world where logic and rationality apply. Just have everybody discover that magic actually exists and now they're going to have to deal with it. It wouldn't be any more hokey or less plausible than what they're already doing anyway.

I guess what I'm saying is, I'm really looking forward to the City Watch TV series.

And more Sherlock.

nVidia BSoD Fix?

Well, after a year and a half, I think I've finally got the constant BSoD's I get when playing a game with my nVidia GTX 570 fixed.

First, I bit the bullet and used MSI Afterburner to underclock it to 650 MHz. I may not need to keep it that low, but I still got lockups with 690.

I also added a registry key. Via Mike's Technology and Finance Blog, you can set a key at HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers called TdrLevel.

One of the complaints with Windows (or really any other operating system) is that the screen freezes from time to time. If the screen freezes for more than a few seconds, users are likely to hard reset the machine that they are working on. This seems natural, but in this case the system is still responsive. The graphics processing unit (GPU) is busy processing something (possibly a game, 3D render, or even Windows Aero) and is not actively refreshing the screen.

In Windows Vista SP1 and Windows Server 2008 SP1 Microsoft introduced a feature to help catch and correct this behavior using a feature called "Timeout Detection and Recovery (TDR)." The TDR feature works to identify whether the graphics processor is hung (the default timeout is 2 seconds), and if it is, it prepares to reset the graphics processor and the relevant part of the graphics stack. During this process, it tells the driver not to access the hardware or memory and gives it a short time for currently running threads to leave the driver. If the threads do not leave within the timeout, then the system bug checks with 0x116 VIDEO_TDR_FAILURE. The system can also bug check with VIDEO_TDR_FAILURE if a number of TDR events occur in a short period of time (the default is 5 TDRs in 1 minute). If the TDR is successful, then the user may receive a bubble that says "Display driver stopped responding and has recovered."

TdrLevel should be a REG_DWORD. I set it to 0, to disable checking for TDR entirely.

I'm not sure if that helped or not; I think the underclocking was the more important step (as when I set TdrLevel to 0 but didn't underclock, I still got a lockup). But TDR certainly sounds like something that matches my symptoms, as the lockups usually occur with graphical and audio sputtering -- indeed, sometimes I don't get a blue screen at all, the game just sputters to the point of unusability and the system becomes unresponsive.

At any rate, I'm cautiously optimistic; it looks like I've finally got this thing under control and can actually play games under Windows without constant crashes. I didn't notice any performance hit, either, but then again it's not like I'm trying to run Crysis 2. Walking Dead works fine with its settings maxed out, but you don't need a GTX 570 for that.

Now if I could only get OSX running stably with a 64-bit kernel.

More Triple-Boot Trouble

Getting Chameleon to run properly on my Mac Pro 1,1 continues to elude me. I've followed all the steps on the Netkas forum precisely, except that I made a smaller boot partition (because 1GB is just silly and I assumed that was only required because that's the smallest that OSX's Disk Utility will allow). I guess the next thing to try is swap in another hard drive and give it a 1GB boot partition and see if that works -- and then I guess I can start asking questions on the forum because I'm just about stumped.

Meantime, when I've got a helper card in I can boot OSX from EFI but not from GRUB -- meaning I can't boot it 64-bit. Windows definitely seems more crash-prone when the helper card is in and DirectX is running. If I pop the helper card out, I can boot OSX from GRUB (either 32- or 64-bit) but it's unstable as hell that way and a significant number of programs just hang when I try to run them; for some reason I can't boot OSX from EFI without the helper card. (Even if I hold Option at boot, arrow over the correct number of spaces, and hit Enter to boot from the OSX drive, it doesn't.)

There are other bootloaders designed for OSX but none of them seem to be as well-documented for use on genuine Apple hardware as Chameleon.

It's a pain in the ass, is what it is. This is an impressive damn machine, but I sure can't see buying another Mac anytime soon.

Reinstallatin'

Well, for the second time in as many weeks, I find myself taking a day to reinstall Windows 7. The last one was for a cousin; this latest was for me.

As I mentioned the other day, something went wrong with my Win8 installation and it wouldn't boot. And, since I was running a Release Preview that was set to expire by the end of the week anyway, I decided it would be kinda stupid to spend any time trying to fix it, so I just backed up My Documents and reinstalled Win7.

Win8 is pretty much what everybody's said it is: a perfectly decent touchscreen interface with some discoverability issues, awkwardly grafted onto a traditional Windows interface, Frankenstein-fashion. Seeing as I don't have a touchscreen, I see no reason whatever to keep Windows 8.

Well, that's not entirely true -- some of the tweaks to the traditional Windows interface are damn fine: I like having a Task Manager that doesn't just report CPU and RAM usage but also hard drive and network activity (meaning no more "What the fuck is making the HD light blink like crazy when nothing's taking up more than 1% of the CPU?!"), and a filecopy interface that isn't a fucking 1980's holdover designed for transferring files between a 1.44MB floppy and an 80MB hard drive. I had a job once that consisted of copying databases -- single files ranging from 15-40GB -- to laptops all day. And when there was a network hiccup, it would abort the transfer and I'd have to start all over from the beginning. Almost as annoying: copying a user's entire home directory, hundreds or thousands of files, and if a single one fails, the entire transfer cancels itself.

Windows 8 has finally baked in filecopy tools that allow for pausing and resuming file transfers -- not just in command-line tools but in the standard Explorer UI.

Course, you only get that if you upgrade to Win8. Don't want a silly-ass tablet-style interface on your desktop? Well, then you get to stick with the old Task Manager and filecopy, too.

Meantime, I had a job interview today. And if all goes well, I'll have a lot more Windows 7 installations in my immediate future.

Games a-Breakin'

I can't get Windows to boot at all on my main computer -- the Win8 preview doesn't expire until next week, so I think it's because I stuck my helper card back in so I could get a stable Mac boot. Which apparently means I can't get a stable Windows boot.

I tried to play The Walking Dead on the HTPC in the living room, but the controls don't map right on my Cordless Rumblepad 2, x360ce doesn't work, and my Xbox 360 wireless controller receiver seems to have died when I tried disconnecting and reconnecting it. I've got a third-party wired Xbox controller, but for some reason that doesn't work either.

And my Wii is now ejecting every disc I put in it.

Come on, games! I've been productive this week! I finished two submissions, scheduled a job interview for Monday, and have a potential programming position lined up for a few months from now! I deserve a little time to kick back and play games!

...guess I'll just have to work on one of the several dozen on the list that aren't Walking Dead or a Wii game.