Tag: Linux

Buggy Messes

I had some harsh words yesterday for the EaseUS software for Mac. Mainly, it constantly locked up and didn't do much of anything.

I'm not quite ready to let EaseUS off the hook just yet, but I'm seeing that same behavior in a lot of programs now. At this point I'm pretty confident that, in setting my Mac up to run like a Hackintosh, I have wound up with a system that has all the stability and reliability of a Hackintosh.

Regrettably, I'm having much the same problem with MIUI, which I installed on my phone the other day (as something to do while I waited for diags to run on my Windows 8 drive). It's slow and it crashes like a motherfucker. I really think the monthly release cycle is a pretty poor idea; what we've got is bleeding-edge code (in this case Jelly Bean running on a phone that was never meant to support it) instead of stable code.

Which is a pity because there's really a lot to love about MIUI. For starters, it's the most paranoid OS I've ever seen -- its security settings are granular as hell; it doesn't just tell you what data your program is going to have access to at install time, it defaults to warning you at access time, too -- and giving you the opportunity to refuse.

Trust the Chinese to be thorough about who's listening in on them.

It also comes with a lot of mostly-pretty-useful programs out of the box.

Except that weather program. The one that thinks I live in some place called Temperanceville (and that's not autocomplete on me typing in "Tempe", that's the location it automatically set itself to), consistently tells me I have no network connection even though I have a network connection, and can't be uninstalled. I don't like that one very much.

So I don't think I'll be sticking with MIUI. I guess the question is whether I should just restore CyanogenMod 7 from backup, or try some other ROM.

Decisions, decisions...

TestDisk

I guess I was overdue for doing something monumentally stupid and sloppy, because Friday night I went to format an external 1TB hard drive and accidentally formatted my internal one instead -- the one with Windows on it.

Now, after a moment's panic, I realized that I didn't have anything vital and irreplaceable on there -- I had backups of my resume, my password wallet, things like that. I hadn't backed up my financial spreadsheets or work search log in a couple weeks, but I could reconstruct those if I absolutely had to from my bank statements and E-Mails. And I had a Mass Effect 2 save that was maybe an hour farther along than my backup.

So, nothing life-or-death. But I'd still just as soon not have to take the time to reinstall Win7, reinstall Win8, reconstruct my spreadsheets, and replay that last hour of ME2 if I could avoid it. And I knew it was just a quick format, so my data should all still be intact on the drive -- it was just a matter of getting to it.

I was booted to OSX at the time, and the first piece of recovery software I found was EaseUS. It was a free trial for a $90 piece of software. Now, I knew going in that there was no way my lost data was worth $90 to me, but I figured I'd see how far I'd get with it.

Not fucking very.

You'd think a trial for a $90 piece of software would be designed to make you think the software was worth $90. Instead the fucker just kept hanging -- I might, might get as far as it displaying all my disks and partitions, but after that (or, just as frequently, before that) it would just lock up, static unresponsive window, Spinning Beach Ball of Death, all that shit.

So then I stumbled upon TestDisk. I missed the part where it said there was an OSX version, so I rebooted to Linux to see if I could install it.

And found that my OpenSUSE boot had somehow become hosed too. (I would later find out that this was not a coincidence and that OpenSUSE actually goes into Emergency Boot Mode if it fails to load a filesystem in its fstab. I did not consider this at the time because (1) I was very tired and (2) Linux failing to boot because it can't mount a Windows drive is the stupidest fucking thing I have ever heard.)

But fortunately I still have my old Kubuntu drive onhand, and it was not only able to boot, but it already had TestDisk installed, with no worrying about having to fuck with repos. I think it may even be part of the basic Ubuntu installation.

Now, there's a lovely step-by-step guide at the TestDisk site called Recovery of Reformatted Partition.

The bad news: I spent yesterday trying to recover the drive and never did get it to work, and I'm finally giving up the ghost because it's just not worth fucking with it any longer. But I figured I'd put this up here just in case you have better luck with it than I did. I had a hard time, in my initial search, finding a good listing of Linux software to use to try and recover an NTFS partition that has accidentally been reformatted. Maybe somebody will stumble across this page in a similar search someday, and find TestDisk as a result.

Again, it didn't work for me -- but it looks like a solid piece of software, and it's worth a shot. (Unlike EaseUS, which is a piece of crap you should not waste your time with.) Good luck.

Why KDE?

I just switched from Kubuntu to OpenSUSE. I plan on writing a bit about my experience, but it occurs to me -- people may wonder why I went with OpenSUSE.

Well, the answer is because I've seen various reviews saying OpenSUSE is the best KDE-based distro -- so the question then becomes Why KDE?

I've preferred KDE over GNOME since about the KDE 2.x/GNOME 1.x era. And I think the bottom line is customizability.

I never much liked the look-and-feel of GNOME, not even in 2.x. The Apple-style system bar across the top of the screen without the Apple-style integrated menubar -- that's just wasted space.

But it could be worse. It could be GNOME 3.

Image: Wasted Space in GNOME 3

I liked KDE3 better than 4, but 4 got to the point of being passable. Even if it's still missing basic functionality like being able to right-click on a launcher to change its shortcut settings. In fact the whole "Show a Launcher When Not Running" feature (an overly-verbose version of MacOS's "Keep in Dock" and Windows 7's "Pin to Taskbar") is pretty damn broken -- I can't get it to work at all with LibreOffice. (Well, I mean, I can get it to show a launcher. Just not one that works.)

So okay. It's pretty far from ideal. But XFCE and LXDE aren't exactly rolling in GUI-based configuration options, and the simpler WM's are worse still. So KDE it is, for now.

Triple-Booting a Mac Pro: Legacy Edition

Well, it's been a pretty exasperating few days, but I've successfully gotten my old (2006/1,1) Mac Pro set up to triple boot Lion (with a 64-bit kernel), OpenSUSE 12.2, and the Windows 8 Release Preview.

First, I set up Lion. I followed Jabbawok's Mountain Lion guide exactly, with one exception: since I was installing Regular Lion and not Mountain Lion, I didn't need to alter OSInstall.mpkg to skip the motherboard check. (As far as drive bays: I put the installer hard drive in bay 1 and the Lion drive in bay 2.)

After this I found that I could only get the 64-bit kernel if I used Chameleon's flag for Safe Mode (-x). Otherwise I got a blank gray screen on my helper card and a white screen with a frozen mouse pointer on my main card. This fixed itself once I yanked the helper card -- but I'll get to that in a minute. If you've got a helper card and you're following this guide, don't remove it until you've got all 3 OS's installed and get a nice clean GRUB menu when you boot. (Or a stupid-looking light-gray-on-bright-green GRUB menu, as the case may be.)

Anyway, after setting up Lion, I set up Boot Camp and tried to install Win8 (on a drive in Bay 3). I got the ol' "Select CD-ROM Boot Type" prompt where everything froze and failed to recognize any input.

I'd dealt with this years ago when I first set up Windows 7; I had to bootstrap my install disc. I decided I would just as soon not fuck with that procedure ever again, so instead of bootstrapping Win8, I used my already-bootstrapped Win7 disc to install Win7 and then upgraded to the Win8 preview from there.

And then I installed OpenSUSE (over the Lion installer partition in bay 1).

The OpenSUSE install DVD gave me the same "Select CD-ROM Boot Type" prompt freeze, so I tried the OpenSUSE KDE LiveCD -- that one worked just fine.

And after I'd installed OpenSUSE, I found that my computer had set itself up to automatically boot straight to the GRUB boot prompt. And, better still -- it had correctly set up Windows and both 32- and 64-bit kernel boots for OSX. Chameleon was totally redundant and unnecessary by this point.

The trouble? GRUB had the same problem Chameleon had: OSX would lock on boot unless I ran it in safe mode.

So that's when I popped out the helper card.

(Don't know what a helper card is? Then you don't need to know about it. But the gist is this: my Mac Pro came with a GeForce 7300GT graphics card. Last year I upgraded to a GTX 570. While current versions of OSX do recognize the GTX 570, the EFI boot firmware does not -- so I needed to leave the 7300GT plugged in to see the boot menu.)

Once I popped the 7300GT, everything worked great -- the GRUB menu came up, and booted any of the 3 OS's without any trouble. Success!


Or at least, success until earlier today when something got fucked up and broke everything and I spent my entire day trying to fix it. Ultimately it appears to have been a weird fluke -- I think my partition table got corrupted somehow, because I found that even a format/reinstall didn't fix the problem; I had to actually repartition (the Chameleon/OpenSUSE drive) to get it working again.

So that sucked. And is the second time in two days I found myself chasing down help pages for the last line of a boot log only to find it had nothing whatsoever to do with the actual problem I was having. What a damn bummer.

The upshot, though, is that I've got a 64-bit kernel working in OSX, which should let me set up the RAIDZ array I wanted to put together for my grandmother's home movies.

And last night I played Mass Effect 2 for an hour or so without getting a BSOD. Could be just a coincidence, but I'm hoping that removing the helper card and booting from GRUB instead of EFI fixed the constant crashes I'd been having before.

Next I'll try it under WINE -- maybe I won't have to reboot to Windows at all anymore.


As for how I feel about Macs, Windows 8, and OpenSUSE...well, those are all ripe topics for another day.

Reinstallating

Decided that, now that I've got more free time, I may as well give my computer a clean install of everything.

For OSX: Attempting to install Chameleon Bootloader so I can use a 64-bit kernel.

For Windows: Trying out the Win8 Release Preview.

For Linux: Switching to OpenSUSE.

So far it's been rocky. Something's not quite right with Chameleon and I can only boot OSX in 64-bit mode if I do it in safe mode. Haven't been able to determine where the problem is, as the last few lines of verbose boot happen whether it's in safe mode or not. If it's not in safe mode I get a freeze on a white screen, with mouse pointer visible. While I'm considering trying to upgrade from Lion to Mountain Lion to see if that fixes the problem, I've seen people report similar issues in ML and I wouldn't want to spend $20 on discovering I still have the same problem. (Plus if I switch to ML I won't be able to fall back to a regular, non-Chameleon EFI boot like I can with Lion.)

Win8 -- well, it's set up. The parts that look the way they're supposed to look pretty damn good; the icons, tiles, and fonts are all really attractive. A lot of legacy stuff -- like program installers -- looks like blurry hell, but I'll give MS the benefit of the doubt and suggest that maybe that's because I'm using a beta. Not sold on the Start Screen yet, the shit that's moved is not easy to find, and switching between Metro and Oldschool-Style programs is unintuitive as fuck.

As for OpenSUSE, well, haven't had time to install it yet. Stay tuned.

Setting Up MikG on an Evo 4G

As recently noted, I finally joined the twenty-first century and got me a smartphone. It's an HTC Evo 4G, purchased from friend and Brontoforumgoer TA, and I'm rather enjoying it. But it was a bit of a pain to set up, and, as I am wont to do when I find myself banging my head against the wall over a technical problem, I'm inclined to write up a little howto. (My #2 most popular post is the one about filesyncing with Unison. And because I know you'll ask, the #1 post is the one about FF7 mods.)

The first hurdle was that the phone was running Cyanogenmod. (So, first of all, it was already rooted. This is not a rooting guide; my phone was already rooted when I got it.) Now, from all appearances Cyanogenmod is great -- but what TA and I didn't know is that you can't activate your phone with Cyanogenmod on it.

The guy at the Sprint store suggested I unroot the phone and restore it to factory default. As I found out from a helpful thread on XDA Developers, you do not have to unroot your phone to activate it. You do have to flash it with a Sense-based ROM. (Sense, BTW, is HTC's UI.)

I found several recommendations for Sense ROMs, many outdated (and many of those unavailable for download since MegaUpload's been taken down). One that is recent and still available, and which I saw recommendations for all over the place: MikG.

Now, guides to flashing your Android ROM are legion (here's one from Android Authority), and recovery software varies, so the exact menu options may be different from one to the next. But here are the basics:

Download the MikG ROM.

Copy it to your phone's SD card.
I actually found that I couldn't mount my phone as an external drive on any of my computers when it was booted to Cyanogenmod for some reason; fortunately I was able to mount it when I booted to recovery mode -- see next step. Copying the zipfile straight to the sdcard root is probably the easiest way to go -- at any rate, don't unzip it.

Boot to Recovery Mode.
If your phone is already rooted and already has a custom ROM, like mine did, then you've most likely already got a recovery boot enabled. Shut your phone down, then power it back on, holding the Power and Vol- buttons. From here the touchscreen won't work; you'll only have access to the Power button and the Volume rocker. The rocker moves the cursor up and down, and the power button operates like the Enter key.

Back up your shit.
There should be an option to back up your system. Do this, because you're about to wipe everything out and you're going to want to be able to restore if anything goes wrong.

Wipe userdata, cache, and dalvik cache.
Seriously, this is a necessary step; do not skip it or it will fuck everything else up. Just don't do anything stupid like wipe your SD card in the bargain; you need that.

Flash the ROM from zip. That'd be the zipfile you copied to the card earlier.

Troubleshooting: Kubuntu lies. I just couldn't get the thing to flash; I kept getting errors. I found that the zip's checksum on the SD card didn't match the one on my computer, I copied and tried over and over again and even reformatted the card -- long story short, don't trust Kubuntu when it says the file has finished copying or when it says it's safe to remove the device. I don't think it's a KDE problem per se since I had the same problem using Nautilus, but at any rate -- start the filecopy and then go do something else for a little bit; give it more than ample time to copy. Just in case. I did the same thing with the unmount -- after I'd let enough time pass that I was sure the file had copied, I clicked Unmount and then waited awhile just to make sure that had happened cleanly. Patient waiting and the file finally copied correctly; MikG installed and was running.

But I still had to actually activate the thing.

Rather than take another trip to the local Sprint store (which would likely have been easier and taken less time, in hindsight), I did it through the Sprint website.

The first bit's easy enough: assuming you've already got a Sprint phone, you just deactivate that and tell them to move your number over to the new phone. You'll need to enter a serial (which you have to remove the battery from your Evo to get at), and they'll send you an E-Mail.

Follow the instructions in the E-Mail, not the ones on the website. They are not the same and the ones on the website are incomplete.

The E-Mail looks something like this (I've redacted my personal information):

You may need to enter the following information in your new phone to complete the activation process:
6-digit programming code: [...]
MDN (Phone number): [...]
MSID (IMSI): [...]

If you are programming a used phone, look in the manual programming instructions for your steps. If you don't find the instructions to program a used phone, follow the steps below to clear or reset your phone to its factory settings. Important note: This will remove all personal information, including texts, pictures, contacts, applications, etc.

To program a used phone:

  1. On the dial pad, press ##786 followed by an additional # symbol
  2. Follow any on-screen prompts to Reset your phone
  3. Enter the 6-digit code
  4. Select Reset
  5. Confirm any on-screen Reset to default messages
  6. After the reset, press ## followed by the 6-digit code, followed by an additional # symbol (Example: ##123456#) Note: The last # entered will not show on the display

It's easy enough when you do it like that; my problem was that I followed the guide on the website. Which didn't quite work right.

Anyhow, hopefully I've saved somebody somewhere some trouble -- maybe it'll be my new #2 most popular post.


So far I've stuck with MikG, for a couple reasons. One is that Sprint's data plan is ridiculously overpriced and I'm tempted to jump ship to Virgin Mobile or some other Sprint reseller -- and it'd be nice to still have a Sense ROM on there so I can activate.

But another is that I'm really kinda digging the design of Sense. It's fast, it's straightforward, most of the built-in widgets are actually useful and the ones that aren't are easy to remove, and if you had asked me if someone would be able to convincingly pull off a smooth, intuitive seven-workspace layout on a damn phone screen I would have told you you were out of your mind -- but damned if they didn't do exactly that.

I'm a tinkerer by nature, so I may not stick with it. Maybe I'll switch back to Cyanogenmod. Maybe I'll fuck around and install Ice Cream Sandwich or Jelly Bean -- I'm not really that concerned about watching Netflix on my phone or using the front-facing camera, and Sprint doesn't even have 4G in my state.

Food for thought, anyhow.

PC Gamer's Dilemma

Well, I finally got me an Xbox 360.

It was free. My fiancée got a new computer with one of those student "comes with a free Xbox" deals.

Here's the thing: I've got a pretty solid gaming rig. And another pretty solid media rig. So I haven't felt much need for Xboxin' up to this point.

The advantages and drawbacks of PC gaming are pretty well-documented. A PC can support crazy high-end hardware, but while the games are cheaper the gear is more expensive and fiddly and there's a whole lot that can go wrong.

Me, I'm something like a niche of a niche of a niche of a niche -- I run Linux on a Mac Pro as my primary OS and keep Windows around for gaming.

This is pretty cool when it works. But here's the thing: even a good Apple makes for a pretty crummy gaming system.

Last year I bought a pretty high-end Nvidia card. ATI has better Mac support, but I've had nothing but headaches trying to get ATI cards working with Linux. Nvidia's always run smoother for me -- galling considering their total lack of cooperation with Linux and the open-source community, but true.

But it's not an officially-supported card. It works under OSX (as of 10.7.3) but it's not entirely reliable under Windows -- when it gets taxed too heavily, I get a bluescreen.

It happened a few times when I played through Witcher 2, but, perversely, it's given me more trouble on Mass Effect 2 -- a game I had no trouble playing through with all the settings maxed out on a lower-end (but officially-Apple-supported) ATI card.

I thought it might be a heating problem but it occurs, consistently, even when I crank up all my system fans with third-party software.

The game worked fine up until Omega, and then started BSoDing randomly. I managed to recruit Garrus in-between crashes, but by the time it came around to Mordin's quest I couldn't get past loading the corridor.

I could just try some other missions, but seriously, you want me to put off getting Mordin? Hell no.

I've found, from searching, that this appears to be a fairly common problem with ME2, even among people not running eccentric hardware configurations such as mine. And I've found a few suggested fixes, but none have worked for me.

I've tried running the game under WINE on both OSX and Ubuntu. Under OSX it plods (I suspect my helper card may be to blame; maybe I'll try disabling it to make sure my higher-end card is the only one the system's putting a load on); under Ubuntu it runs fine up until the menu screen but then doesn't respond to mouse clicks or keystrokes (other than system stuff like Alt-Tab or Alt-F4). I haven't turned up any other reports of this same problem, so I can't find a fix -- maybe one of these days I'll try a full clean install and see if it still does it. Nuke my WINE settings too if I have to. (Or maybe I could set it up on my fiancée's new computer...)

Needless to say, I haven't tried Mass Effect 3 yet.

And that's before we get into all the DRM bullshit plaguing the PC platform.

Never played Batman: Arkham Asylum, largely because of the SecuROM/GFWL/Steamworks Katamari of Sucktitude. Similarly, I gave Dragon Age 2 a miss once I heard reports of people unable to authenticate their legally-purchased games because they'd been banned from BioWare's forums for saying mean things about EA. (Which obviously totally disproves that EA deserves to be called names.)

It's a great damn time to be a PC gamer for a lot of reasons -- a huge indie scene supported by the likes of Steam and the Humble Indie Bundle, with both pushing more gaming on OSX and even Linux -- but it's a lousy time for other reasons.

Anyway. Now I've got an Xbox. All else being equal, I still prefer to play games on the PC, but for cases where the Xbox has less restrictive DRM (like Arkham Asylum) or titles that aren't available on PC (like Red Dead Redemption) or just shit I can get for under five bucks (like a used copy of Gears of War I just picked up), well, it's kinda cool to have one.


Playing: Batman: Arkham Asylum.

YUMI

Had a spot of trouble with a hard drive at work today and decided to see what thumb drive Linux is like these days. I found a program called YUMI (Your Universal Multiboot Installer) at pendrivelinux.com and discovered that it's pretty great.

YUMI is a simple Windows executable. It's got a long list of Linuxes -- Ubuntus, Fedoras, server OS's like CentOS, small OS's like Damn Small Linux and Puppy, and non-Linuxes like FreeDOS, as well as special-purpose diagnostic software like Ultimate Boot CD and various AV vendors' recovery discs.

Click on one of the supported OS's, point YUMI at an ISO, and it'll install it on your thumb drive -- as many as will fit, with GRUB to select which one you want at boot time. Better still, if you don't have an ISO, it's got a one-click download for every single one of them.

And while it's got dozens of supported OS's built in, it'll do arbitrary bootable ISO's, too; I tried two and found that one (the latest FreeDOS installer) worked while the other (Hitachi Drive Fitness Test) did not.

As for Puppy, it's definitely seen some progress in the years since I last used it but my gripes remain much the same: instead of programs being labeled by name, they have generic descriptions (hypothetically a good idea for neophyte users who don't know what Seamonkey is, but in practice I think "Web" would probably be a better name than "Browse"), and the package management system is less than entirely intuitive. Still, for coming in around 100MB it's a damned impressive, and a whole lot easier on the eyes than the last time I tried it.

Anyway, YUMI's made it easy enough to set up that you can easily spend a couple hours (or more) screwing around with various USB bootkits. It's an impressive piece of software and one I'll definitely be keeping in my admin toolkit.

(There appears to be a Linux equivalent called Multisystem LiveUSB Tool. I haven't tried it out yet so I can't vouch for it, but if you're looking for, you know, a Linux tool for Linux, that might be something to check out.)

Adventures in Home Audio

I'm not what you'd call an audiophile, but I know what I like.

I've got an HTPC I use as my primary media box. And for the past two and a half years, my surround sound speakers have been a set of Creative Inspire 5300's connected to it. They're perfectly good PC speakers (and were $80 when they were new), but as far as home theater, they're a bit lacking.

So, after months of research and scanning for deals, I got me a receiver and a new set of 5.1 speakers.

The receiver is the Onkyo HT-RC360, which Fry's had marked down from $550 to $300 for Presidents' Day. Now, three things:

  1. I have been keeping an eye on Dealzmodo, TechDealDigger, and TechBargains for months looking for a deal like this -- and none of them had this deal listed. This discovery was entirely the result of my deciding, on a whim, to check the Fry's site. Which is even more notable because
  2. I had been at Fry's, looking for a good deal on a receiver, the previous day, and not seen this. I know they had it in stock, because I picked it up in-store, but it hadn't been on display, nor had I seen it listed in the newspaper clippings upfront listing their weekend deals.
  3. Oh, and of course three days later the Sony equivalent got marked down to $215 on Amazon. But that's okay; this is the sort of thing you come to accept as inevitable in any kind of major hardware purchase, and anyway from the reviews the Onkyo sounds like the better device.

Talking of reviews, I couldn't find any professional ones of the RC360, which made me nervous. But I gathered from Cnet that it's roughly equivalent to the TX-NR609. I'd been looking at the 509, but its lack of OSD and HDMI upscaling gave me pause. Those features aren't make-or-break, but with the RC360 marked down to $300, it was only $75 more than the 509 -- plus it's got 7.1 support. For that price, I may as well buy something a little better and more future-proof.

I had also noted that most of the demo rooms at Fry's used NR509 mixers. While I don't always credit Fry's employees as the best judges of what makes a good product demo (the first thing you see when you walk in the front door is an expensive bigscreen plasma TV inexplicably playing a movie at an eye-searing 240Hz), I thought this was probably significant.

And while I was nervous about buying a speaker set I hadn't actually tested in the store, ultimately Cnet's review of the Monoprice 8247 won me over. The short version: you can get better speakers, but only if you pay four times as much. (An aside: I stopped reading news.com.com some time ago after their reporting became indistinguishable from the trolls in the comments section -- I was going to say "except with better spelling", but nevermind -- but their reviews section continues to be pretty great.)

Anyhow, the speakers came in and I wired them up. It's not pretty just yet -- for now the rear speakers are just sitting on end tables, with their cables blue-taped to the wall, but in the next few weeks I plan to get somebody over to run cable through the attic and mount them properly on the wall. (I'd run the cable myself, but asthma tends to limit one's desire for attic-related adventures.)

One minor gripe: the Monoprice page for the speakers recommends pin-type speaker plugs, but the wire-in-back type I ordered from them is too long; it won't fit in a speaker that's lying flat. It should work fine in one that's wall-mounted, and maybe the wire-in-side type will fit. I might try ordering a couple of those the next time I get something from them, though $2 speaker plugs aren't really worth ordering by themselves. So, bare wire for now -- not like I can hear the difference.

Once I got everything hooked up and configured, I fired up Back in the USSR to verify that the speakers were working, and then straight to the Bridge of Khazad-Dûm scene in Fellowship of the Ring. (This was the point at which my fiancée came out of the bedroom to complain that I was making the house shake. I like to think this was her way of saying "Great job on purchasing and setting up an awesome sound system, Honey!")

Image: The remote, with its many and oddly-labeled input buttons From there I hooked up the rest of my various devices. The Onkyo remote has the now-typical problem of a shitload of different inputs with sometimes arbitrary names -- "GAME" works fine for the component switch connected to my Wii and PS2 (another aside: I wish the thing had more component inputs so I wouldn't need a component switch at all -- but obviously analog is on its way out and I'm sure in a few years I'll have enough HDMI devices that I will be grateful for the emphasis on the new input over the old), but, absent anything resembling "HTPC", I have my HTPC connected under "BD/DVD". My seldom-used DVD/VCR combo is under "VCR/DVR", and my TV audio is connected to "TV/CD", which inexplicably is not the same button as "TV"; the "TV" button can't actually be assigned to any audio input. (I guess people connecting the audio output of their TV into an input on the receiver are probably a rarity; most people have cable boxes which they can connect to the receiver and then output to the TV. But I don't have cable TV, and we sometimes watch broadcast TV. Such people do exist!)

Also: this receiver is the only appliance I have ever bought that came with a GPL compliance notice in the box. This is one more piece of good news on future-proofing: my old TV is no longer supported, its firmware is no longer updated, and it has some annoying bugs (namely, every time it can't tune a channel in it drops it, meaning you effectively have to rerun the channel search every time you move the damn antenna -- again, developers just do not even consider people who watch over-the-air TV at this point). The Onkyo receiver not only supports more features and inputs than I need, its use of open-source software means it can continue to be updated even after its official end-of-life (unless, of course, there are some kind of TiVoization shenanigans at work).

Speaking of my 2005-vintage TV, it's probably the next major piece of equipment I'd like to replace, but it does have one feature I like: an "Automatic" zoom that will upsize the picture beyond the standard 4:3/16:9/"super zoom" presets and zoom the picture until there is no black border anywhere. This is especially useful for the PSP, which outputs games at a weird little 480x272 format that appears as a tiny little windowboxed picture even under most zoom presets. Unfortunately, the receiver's upscaling messes with the TV's "Automatic" zoom; it'll resize the PSP picture vertically, but that still leaves it pillarboxed and vertically stretched. That left me back at wiring the component output of the PSP directly to the TV and leaving the audio hooked into the receiver -- this largely defeats the purpose of upscaling since I'm back to switching TV inputs for different devices, but that is, of course, a minor inconvenience.

And that, incidentally, is the draw of upscaling for me -- I don't really expect the filters to increase my picture quality, but it does mean I don't have to switch from HDMI to Component 1 to Component 2 to whatever on my TV. (Actually, talking of quality, there were visible vertical lines on the PS2 picture -- but I couldn't see them from the couch, and I'm not sure if that's the fault of the receiver or the connection. I've had the PS2 and the cable for some time and I think the connection must be worn, as when I first turned the PS2 on I got audio but no picture; I wiggled the connector in the back and that's when I got a picture with faint lines on it.)

Now I've gotta figure out what to do with those Creative speakers. I'd like to hook them up to my desktop, but Apple is allergic to standards, and you can't actually get analog surround to work on a Mac without some kind of adapter.


Playing: Tactics Ogre: Let Us Cling Together. You know what else the receiver has? A shitload of presets for audio levels. It doesn't just have a preset for games, it has different presets for different genres -- RPG, Action, etc.

Reading: The Light Fantastic

Tempin' Ain't Easy

I try not to think about the fact that it's been seven years since I got my CS degree and I haven't put it to use professionally.

I entered the field at the wrong time and in the wrong place. It's rough all over, and the housing bubble hit Arizona disproportionately hard. I've spent the past few years working as a temp and building the odd website on the side.

The first temp gig lasted two years -- ironically, longer than any other job I've had. But I got laid off about a year ago.

There's this kind of paranoia you get. It could happen again any time. And it has absolutely nothing to do with how hard you work or how good a job you do. You could be out on your ass tomorrow, on the whim of some guy you've never met.

I've heard some of the "get a job" rhetoric lately and it's just baffling. A hell of a lot of people would like very much to get a job. I've been either unemployed or underemployed my whole adult life, and that's with a degree that, fifteen years ago, could have gotten me six figures.

Not that I intend this as a pity party. I've got work now, and it pays well enough to live comfortably while still squirreling away enough each week that I'll be okay for a few months if I find myself unemployed again. There are a lot of guys who have it a lot worse than I do.

And if you take anything away from this comedy of errors, let it be that: this is the story of a guy who's doing okay in this economy.

Job 1: Fortune 500 Company, Real Estate Business

Job: Imaging laptops, working in a warehouse, inventory duty
Distance from Home: 3.5 miles
Best Thing: Laid-back atmosphere most of the time
Worst Thing: Lung fungus
Length of Service: 2 years

This wasn't a bad gig, really. Not intellectually challenging, but I worked with some good people, I got some good exercise in, and most times things were pretty laid-back.

But it wasn't worth giving up my health for, and ultimately that's what I did.

I did a lot of work out in a dusty warehouse, and I managed to contract valley fever. For those of you not from around here, valley fever is a lung fungus, and it lives in dust. The Valley and valley fever are like the Internet and Hitler comparisons -- you stay there long enough, it's something you're eventually going to have to deal with.

So I contracted a lung fungus working there, and I've still got asthma. It's manageable now, but I'm not what I was. Before I took that job I was healthy.

The next-worst thing about the job, after the lung fungus, was the meddling from up the chain. People with little-to-no grasp of our actual day-to-day operations had very strong opinions of what those operations should be, and precisely which boxes we should check on which forms each and every single time we did them. Precisely what those opinions were tended to change from week-to-week, producing an ever-changing, increasingly complex system for dealing with very simple tasks.

And as this went on, the environment became less and less laid-back, and more and more stressful.

There was a real disconnect between the building I was in and management out on the west coast. Within my office I was regarded as an essential member of the team, and indeed my bosses not only recognized my value, they realized that I could probably be doing more for the company than just counting how many sticks of RAM were left in inventory, and fought hard to get me not only hired on but promoted.

It's no small comfort to me that every single person who actually worked with me was pulling for me. To the point that when Corporate decreed that all the temps would be let go, my boss's boss's boss got reassigned for telling his boss's boss's boss exactly how he felt about that.

It was nothing personal. And it was nothing to do with my performance. I was just caught up in a bloodbath. I was part of the first wave, but it kept going. Last I heard, they'd laid off another third of my department, every help desk tech in Arizona, nearly everyone in the front office, and most of the people up the chain to VP. And demoted my boss back down to tech.

But before all that, I got a layoff for Christmas. I lost my job two years, to the week, after I'd gotten it.

There's a fatalism that kicks in after awhile. A knowledge that no matter how hard you work and how much you're appreciated, there's some clown in a corner office somewhere who's never met you but has the power to decide whether you're drawing a paycheck next week.

But ultimately there's something liberating about that, too. After awhile you stop trying to impress the clowns in the corner offices who have never met you. You realize the only people worth giving two shits about are the ones you deal with every day -- and that trying to impress them isn't about whether you'll have a job next week, it's about doing a good job for its own sake and for the sake of your team.

Those guys had my back. And that means more to me than a paycheck ever did.

Unemployment

Unemployment sucks. But it could be worse.

It's a pretty damn smooth process in this day and age -- all online, no driving across town and waiting in line. You fill out an online form, they take a week or two to make sure your story checks out, and then they open up a bank account for you, send you a card, and put money in every week.

Once a week you'll have to resubmit your claim. You tell them you're still looking for work (and keep evidence on file in case they ask for it -- I kept rather a long Excel spreadsheet with a list of everybody I'd contacted) and declare any money you've earned.

The whole thing's demoralizing and more than a little Kafkaesque -- Ursula K Le Guin recently described it quite wonderfully in a short story called Ninety-Nine Weeks: A Fairy Tale, and it's barely an exaggeration. That spreadsheet I mentioned where I kept track of all the dozens jobs I applied for? Only one of them ever actually got me an offer, and it was out-of-state -- more on that below. By the time I did finally get work again, it wasn't from the job search, it was from the same temp agency I'd been working for since '08.

Job 2: Local Non-Profit, Medical Industry

Job: Imaging laptops
Distance from Home: 13 miles
Best Thing: A job!
Worst Thing: Poor pay, sporadic availability
Length of Service: 3 months, off and on

This one wasn't too bad either. Neat office, nice people, and a certain degree of autonomy. The cramped little room I worked in got pretty crowded and hot as time went on, and there was a whole lot of downtime as I waited for laptops to finish imaging, but hey, I got time to catch up on my reading.

I also learned some interesting things about security policy. I've never had to lock things down so tightly from the BIOS -- a unique strong boot password on every machine, USB boot disabled, Bluetooth disabled, and on and on.

The toughest thing was that this wasn't a 40-hour-a-week job. It was "We just got these laptops in; image them and when you're done we'll send you home and call you back in when we get more."

And, without getting into the specifics of my pay, here's where that got frustrating: often I didn't make significantly more money than if I'd just stayed at home and collected unemployment.

Unemployment in Arizona works like this: you get a weekly stipend of up to $240. I was eligible for that maximum amount.

Every week, you report how much you've earned. You can earn up to $30 before they start subtracting your earnings from your unemployment check.

So there's this sort of dead zone between $30 and $270 where you are making the same amount of money whether you work or not.

And at this job, I frequently worked a weird part-time schedule and fell into that zone. Once I got past that first $30, I wasn't actually making any money; I was just getting a paycheck from the temp agency instead of the state.

Obviously there are still reasons to work. For its own sake, first of all. And second, to stay eligible for my healthcare, which was set to expire after three months without work. (I got back into the market just in time, but not fast enough to keep someone from fucking up my paperwork and taking me off their books even though I was still paying in every week. I had to call three different departments to get it corrected and my last prescription covered.) But there's still a definite sense of frustration in knowing that you're effectively working for free.

More than one other tech actually told me I should slow down and deliberately take longer to do the work so that I wouldn't get sent home in the middle of the week to await the next shipment. What a position to be in -- effectively being punished for being efficient, and incentivized to slow down and waste time.

This, as you will see, was to become a recurring theme.

Job 3: Company You've Probably Heard Of If You Live in North America, Retail Business

Job: Phone support
Distance from Current Home: 30 miles
Distance from Apartment Where I Lived 4 Years Ago: Directly across the street
Best Thing: Coworkers seem like all right guys
Worst Thing: The single worst job I have ever had. Fuck these people.
Length of Service: About a month

On some level, this fucking fiasco was my own doing.

I'd been poking through listings on some job site or other (probably not CareerBuilder; I quit using it after I discovered it was the thing that kept locking up my browser and hanging my entire system) and I noticed an IT job being offered through my temp agency which my rep hadn't brought to my attention. So I E-Mailed him and asked about it. In hindsight, I should have assumed there was a good reason he hadn't approached me about it.

It was phone support. Not phone support like I'd done before, but in a phone bank -- I had a few feet of shelf that I wouldn't really refer to as a desk, partitioned off from the guys next to me by small dividers that I wouldn't really refer to as a cubicle. Every morning at 6 AM I pulled up whatever broken chair nobody was sitting in, put on a headset if it was still where I'd left it the day before, and started working my way through a list of branches to call to walk their managers through installing new kiosks that didn't work very well in buildings that, half the time, weren't cabled correctly. (Ever walk a retail manager through recabling a patch panel? I've done it six times before breakfast.) It was dimly lit and it was dehumanizing -- I'd compare it to an assembly line, but the assembly lines I've seen are a whole lot livelier and more fun.

(I will grant one thing to the "cog in a corporate machine" setup: this is a company with hundreds of stores, all organized exactly the same. Each store has the same patch panel with the same numbered ports that go to the same rooms and assign IP's based on the same scheme. There was this in-house .NET program we had that would let you plug in a store number, automatically populate the IP address for every port in the place, and give you a one-click ping for each one. That's the advantage of a company that treats its stores as unifom, cookie-cutter widgets. The disadvantage is that it treats people exactly the same way.)

I spent most of each day on hold listening to the same fucking 16 bars of piano music over and over again. Periodically interrupted by a recorded voice telling me I was on hold, of course -- and if I ever meet the son of a bitch who decided to stick voice recordings in the middle of hold music, I am going to gouge his eyes out with my thumbs. I know I'm on hold, asshole; that's why there is music playing. About the only thing that could trick me into thinking that I wasn't on hold would be if the music abruptly stopped and I heard a human voice instead.

There were a couple of guys there who I'd gone to high school with. One of them I recognized but hadn't really known very well; the other used to pick on me but claimed not to remember me (he blamed it on the drugs he'd been doing back then and I am inclined to believe him). Now, remember how earlier I expressed frustration that my career hasn't really gone anywhere? Well, if you want a symbol that will hammer that little insecurity home, suddenly finding yourself sitting next to a couple of guys from high school is a pretty good one. But probably not as good as being directly across the street from the apartment where you lived back when you worked a previous dead-end job. Man, that would have been a sweet commute in 2007!

So no, let's say that this job wasn't the best fit for me. But dammit, I got up every morning at 4:30, put on a smile, went in, did my job and did it well. I blew through every task they gave me and asked for more.

This, as it turned out, was a problem. But nobody ever actually bothered to tell me that.

One morning I walked in and found that my login wasn't working. I asked the guy who'd been training me; he hemmed and hawed and wandered off for awhile, then came back and told me to turn in my badge.

It bears repeating, at this point, that I had just driven 30 miles to show up to work at 6 AM.

My rep told me that they'd called his office the previous evening to tell him to call me and tell me not to come in to work in the morning -- after he'd already gone home for the day.

He added that I'd been sacked because they thought I didn't schmooze enough with the end users over the phone -- something that nobody had ever actually complained to me about. I wasn't rude, or even brusque; I was just, in my rep's words, "too focused on getting the job done". I'm used to support jobs emphasizing getting the task done quickly, because the user doesn't want to be on the phone and wants to get back to what she was doing. But apparently that's not how it worked at this company; they wanted me to slow down and shoot the breeze -- except nobody ever bothered to tell me that. Come on, guys, if you want me to talk about the weather, just say so -- I have quite a lot to say about the weather in Phoenix in June, even when half the state isn't on fire.

Anyhow, it's the only job I've ever been fired from. And nobody even bothered to tell me there was a problem, let alone that I'd been fired.

The guy who walked me to the door was apologetic and told me not to worry about it, that people get fired from that place all the time through no fault of their own; maybe just for looking at somebody the wrong way. And it occurred to me that I'd passed my boss early one morning in the hall and, when she asked how I was doing, cracked a grin and responded "Hanging in there" -- and she apparently took offense that I hadn't said something more enthusiastic.

On the whole, pretty demoralizing and upsetting, and far and away the worst professional experience I have ever had.

Of course, I use the term "professional" in its loosest possible sense.

Job Interviews

Through it all, of course, I was interviewing wherever I could.

There are lots of stories I could tell. The temp agency I spent half an hour trying to find. The interview where I referred to a former coworker as "A temp like me, but kind of a slacker" but the interviewer just caught the "like me, kind of a slacker" part and that pretty well torpedoed me. The interviewer who asked me about a comment I'd posted about Spore's DRM on the FTC website back in '09 and then followed up by asking my opinion about SB1070. But the best story is the hosting company I saw advertised on a billboard.

"Do you know Linux? We're hiring!" said the billboard, with a colorful mascot next to the words. I would see it on the freeway on my way to work. Or maybe it was on my way home from work. Maybe it was both; I think they had more than one billboard.

Well, hell yeah I know Linux. I pulled up the website and submitted a resume. Turned out it was a hosting company -- even better. I spent most of '07 running the backend of a local ISP singlehandedly; I know my way around Apache httpd and MS IIS pretty well.

So they called me back, and the most immediately odd thing was that they told me the job was in Austin. Why would a company in Austin advertise in Phoenix?

Well, of course the answer is that they couldn't find anybody in Austin willing to accept the shitty salary they want to pay for Linux administration, so they're advertising in depressed markets that are full of desperate, unemployed Linux admins. But as you might expect, they didn't come right out and say that.

No, they gave me some talk about how they're expanding into new markets, and how they'd pay for my relocation, and they didn't balk when I gave them a deliberately high figure for my expected salary. They made the whole process seem very exclusive, putting me through three different interviews -- a general one, a second one with a series of technical questions, and a third where they had me SSH into one of their servers and demonstrate that I know my way around bash.

And then they offered me an hourly rate that was maybe fifty cents better than what I was currently getting in the phone bank. And a relocation fee that might have covered a U-Haul rental, deposit, and first month's rent on an apartment.

I hear Austin is a neat place, but no thank you.

It was about this point that I decided to read some employee testimonials on the place, and it sounded suspiciously like the terrible job I was already working at.

The billboards are down now. I wonder if they ever found anybody desperate or gullible enough to take their offer.

Job 4: Contractor for a Contractor for a Contractor, Insurance Industry

Job: Imaging laptops
Distance from Home: 32 miles
Best Thing: Getting work immediately after the previous fiasco; autonomy and people who were happy to see me
Worst Thing: Night crew fired after their first day
Length of Service: 6 weeks

Actually, before this job my rep sprang into action and got me a half-day gig fixing a company's QuickBooks setup, a mere 5 days after the debacle at my previous job. But I'm not counting that as its own section. My rep's cool, though.

Anyhow, shortly after the half-day QB fixer-upper, he found me something else and, at last, I got to be part of a Windows 7 refresh -- the precise thing that my boss, the previous December, had assured me would ensure my job security for another year, the week before announcing that the Windows 7 rollout had been canceled and so had my employment.

Anyhow, this one was interesting. The idea was to provide a minimum of disruption for the employees, while upgrading most of the office to Win7 in a matter of weeks.

So we had a night crew. They came in, ran a script to back up the user's files, either reimaged the user's existing computer or grabbed a new, freshly-imaged one that I'd already put together, restored from backup, and left it to me to walk the user through initial configuration the next morning.

At least, that's how we eventually got it working. The first night, things failed rather spectacularly.

I got in the next morning to find the night crew still there, a small handful of computers actually in working condition, and the rest in various states of completion.

The way I heard the story went something like this: one tech on the crew had asked the guy in charge what the plan was -- how they were going to split up the workload, what the schedule was, etc. He had made some vague "Just get started" noises. She asked him a few more times; he responded similarly. Finally she just went to work; she was responsible for the handful of machines that had actually been finished, while the other techs hadn't really worked out a plan for how to get their work done.

So the company fired everyone else and put her in charge of the new team.

After that it went really smoothly most nights. There were a couple exceptions -- one weekend when the generator had to be turned off for maintenance and so they couldn't come in to get computers ready for Monday, and one night when the AC was out and it was too hot to work. But no more problems from the techs themselves; the second crew did a really great job and made my life much easier.

Job 5: Company You've Probably Heard Of If You Live in the Southwestern US, Real Estate Business

Job: Imaging laptops
Distance from Home: 22.5 miles
Best Thing: Autonomy
Worst Thing: Still a bit of a drive.
Length of Service: 4 months so far, out of a one-year contract.

And from there I moved on to my fifth job of the year, not including freelance Web design or that one-day gig fixing QuickBooks.

This one comes with a one-year contract, so hopefully that'll hold and I'll still be there through next August. But I'm not going to take that for granted; one of the many lessons I learned in the Dank Pit of Phone Support last summer is that a six-month contract can turn into a one-month contract with absolutely no warning. Course, I've been working this one long enough that I am confident in saying that this time I am working for decent human beings, but again, it's not the people I've actually met I'm worried about. And every time I hear the Windows 7 rollout's been delayed, I get a little nervous.


I guess it's worth asking, what motivates me to come to work every day and do a good job? Here's what I can come up with:

  • Need for money
  • Need for health insurance
  • Pride
  • Loyalty to my coworkers

It's instructive to note the things that aren't on the list. "Hope for promotion" and "fear of losing my job" are conspicuously absent -- yes, I do feel both of those things, but as I've mentioned several times, I have absolutely no sense that my employment or advancement is tied to my performance in any way. They're motivating factors just as much as the potential for finding a $100 bill on the ground or tripping and cracking my skull -- they're both things that have some potential for happening, and my job performance has about as much to do with the likelihood of either one.

Also missing: "company loyalty". And unlike those other two things, this isn't something I have in the slightest. I am, as I said, loyal to my coworkers, and I appreciate my rep at the temp agency, but that's not the same thing as being loyal to either the company I'm working for or the company that placed me there. If I get a better offer I'll take it -- and those last two bullet points are the only reasons I'll give two weeks' notice.

On the whole I'm not entirely sure this is a bad thing from my perspective -- hell, the ideal list would probably have two bullet points instead of four. Company loyalty, the stick of firing and the carrot of advancement -- I don't need those things to do a good job. But from the company's perspective, it's probably a bad thing.

And if I may be so bold, I think I'm probably representative of a good solid chunk of my generation. Educated, underemployed, unable to hold down a job for more than two years through no fault of my own -- what happens when that's your workforce? In the coming decades we're going to find out.