Category: Tech

Thursday

Stuck a new hard drive in my cousin's computer, biked on up to Changing Hands to pick up my copy of Circle of Enemies, grabbed a bite of dinner with my grandparents. A little bit of the ol' job search in there, plus some work on a couple of projects I'll probably talk about a little later. (And my uncle grabbed me a copy of Dragon Quest 6 as thanks for the computer work; on the list it goes.)

Tomorrow: Uncle Garth's military funeral and maybe a birthday lunch for Grandpa if he's feeling up to it.

Something weird about my cousin's laptop: the trackpad didn't work properly. At boot the left mouse click behaved like a right-click; on plugging in an external mouse, the external mouse would exhibit the same problem for several seconds -- and then it would correct itself, and both the external mouse and the trackpad would left-click correctly. (But only the external mouse would right-click correctly -- I never got the right-click on the trackpad to work at all.)

Drivers were up-to-date (and I tried uninstalling and reinstalling them) and the Toshiba Value-Add software was installed. Any other Toshiba users have this problem?

Insufferable is Awesome

I got a Nexus 7 for Christmas. As you might expect, the first thing I did was root it. The second was to get all my usual apps -- E-Mail, RSS, emulators -- set up and working. The ones I'm used to from my phone.

But the third thing? Comics.

I've been very excited about Mark Waid's digital comics endeavors for years now. He gets it. Release your books in DRM-free standard formats, and treat pirates like they're potential customers instead of treating your customers like they're potential pirates.

In a nutshell, I'd been waiting to get a tablet just for the opportunity to see what it was Waid was up to.

Well, for starters, his books up on thrillbent.com are just straight-up free downloads.

Want to download all of Thrillbent's marquee book, Insufferable, by Waid and artist Peter Krause, for free? (Hint: yes. Yes you do.) Here's a simple, handy bash script to do it:

for((i = 1; i <= 9; i++)); do wget http://www.thrillbent.com/cbz/insufferable/Insufferable_0$i\_Mark_Waid_2012.cbz; done for((i = 10; i <= 34; i++)); do wget http://www.thrillbent.com/cbz/insufferable/Insufferable_$i\_Mark_Waid_2012.cbz; done

And presumably next week #35 will be out with a "2013" in place of that "2012" in the filename and it'll go on from there.

From a nuts-and-bolts storytelling perspective, Insufferable is a perfectly compelling superhero book. It's a Batman pastiche, but I happen to like Batman pastiches. (I often say that my all-time favorite Batman comic is Astro City: Confession.) The setup here is, loosely: What if Nightwing was a total douchebag?

It follows that moment of the sidekick -- named Galahad, in this case -- striking off on his own, no longer able to work with his mentor (Nocturnus). And Galahad isn't the class act that Dick Grayson is -- he's an insecure, spoiled celebrity. Nocturnus, meanwhile, has seen better days; he's something of a has-been and is now superheroing on a budget.

That, by itself, is enough for an intriguing, human superhero yarn. Insufferable would be a thoroughly enjoyable book on the strength of good old-fashioned traditional comic book storytelling.

But instead, it innovates. Waid and Krause make a point of doing things with a digital comic that can't be done on paper. Frames appear one swipe at a time; characters' facial expressions change. In one case, Nocturnus does the classic Batman entrance -- in one panel, the room is empty; swipe your finger and suddenly he's just there. As Galahad rides off after the bad guy, he receives a tweet making fun of him. Swipe and a few retweets appear over the scene; swipe again and the screen starts to fill with them.

Waid discusses these techniques in a recent Robot 6 interview. He cites the master, Bernie Krigstein, as his greatest inspiration in thinking of panel composition as a tool for pacing.

Waid's got the right idea, and it almost always works. As I read Insufferable I keep thinking of how smart he and Krause are in their use of these techniques, how they're not flashy and they're not there just for the sake of Doing Something Different; they actually serve the story in a way that -- while original -- has its roots in decades of traditional comics.

For my money, there is one example where it doesn't quite work: repeating the same panel exactly. I get what they're trying to do -- hell, where would Bendis be without that technique? -- but while you can repeat a panel exactly on paper as a pacing tool, it throws me to see it in a digital comic. There's a simple UI design reason for this: when a user interacts with a program, the program is supposed to do something. If I swipe a page, I can't tell the difference between "the same panel repeats" and "nothing happens". My first thought isn't "Oh, that's a beat", it's "Did I not press hard enough?"

There's a simple solution -- just change something, anything, in the panel. Make somebody blink, or change a facial expression slightly -- anything at all to give the user some sort of feedback that yes you turned the page and now this is the next image.

But you know, the occasional false note is the price of innovation. Yes, I found something small that, in my opinion, doesn't quite work in Waid and Krause's book. But there's so damn much that does work, and works astonishingly well.

I've said before that now is the best time to be a comics fan. Insufferable is one more example of why. Go give it a read -- it won't cost you anything and I think you'll be glad you did.

I haven't gotten around to the other Thrillbent books yet, but I intend to. But first -- well, it's Wednesday. I've got some traditional, paper-and-toner-and-staples comics to go pick up.

Digital Demand

Two weeks ago I talked about how now is the greatest time in history to be a comics fan. Among other things, I mentioned Comixology. I've got concerns about Comixology -- it uses a proprietary, DRM-encumbered format, meaning there's a risk of a monopoly, same as any time a single major provider uses a proprietary, DRM-encumbered format -- but ultimately, I think that shit will work itself out. That doesn't mean we shouldn't be concerned, shouldn't complain, shouldn't put pressure on Comixology and the publishers who use it to find another way -- but the music industry ultimately realized that a standards-compliant, DRM-free format was in its best interest, and the book publishers are beginning to get the message too; I think it's only a matter of time for comics. (TV and movies will be dead fucking last to get the message and will, like the music industry, wait until their bottom line has seriously suffered for their foot-dragging, knuckle-dragging stupidity, but they'll come around too.)

At any rate, those caveats in mind, I think that the recent announcement that Comixology is the third-highest earning iPad app of 2012 is a fucking good sign for the comics industry. It shows there's a big demand and it's getting bigger.

Moreover, while I've heard people express concern for years that digital comics will spell the end of print comics, they sure don't seem to be posing a threat -- which makes sense. The way I see it, people who get their comics through Comixology aren't any less likely to buy comics in print; if you've never bought a comic before, then you're not a lost sale, and if you have bought comics from bookstores or especially from specialty shops, you're not going to stop doing that just because you can get them on your iPad or what-have-you now.

For my part, I'm about to get a Nexus 7. For starters, the thing looks pretty small and I'm skeptical that it will even be satisfactory for reading comics on. Even if it is, I am confident it will not compare to the experience of reading a full-size comic.

That said, as I mentioned in that other post, there are a shitload of comics that are not currently in print, and if I find that it is comfortable to read comics on the Nexus 7, I will certainly start reading comics on it that are not available in my local comic shop.

That doesn't mean I'll stop shopping at my local comic shop. It doesn't even mean that I'll spend less money there. It just means I'll have one more way to experience comics (whether they're ones I've bought or acquired for free).

And while I love my local comic shop, it also means that people can make money selling comics to a niche audience without having to worry about print costs or Diamond minimum distribution numbers.

Ultimately, it's not a zero-sum game (except insofar as every consumer's entertainment budget is a zero-sum game). Digital comics doesn't mean the same audience gets the same comics from a different distributor, it means the potential for a new audience and different comics. And those are good things that make the medium richer for all of us.

Bloat

Tonight I wanted to print something.

For some fucking reason, this required me to download a 140MB "driver file" that appears to be composed primarily of videos, one of which tells me how to use my printer and the other is just a fucking animated HP logo.

In my personal and professional opinion, shit like that is completely inexcusable. There is no fucking reason why I should have to download 138MB of crap just so I can get at the 2MB driver file.

At least there was a feedback form at the bottom of the page. I filled it out! It was a lot like this post but with less cursing. (Although I did tell them that I am offended "as a programmer, as a customer, and as a guy with SHIT TO DO.")

Increased processing power and widespread high-speed Internet has made programmers lazy. (Though in the programmers' defense, this particular little call has "marketing department" written all over it.) On the plus side, the increasing prevalence of smartphones is forcing developers to think about smaller footprints, both in system requirements and bandwidth consumption. But unfortunately that's probably not going to convince anybody to make Windows device drivers smaller.

ROM Collection Browser in XBMC Frodo

BTW, anyone using ROM Collection Browser who's just upgraded to the latest XBMC beta and found that the list of ROMs is completely blank:

Open up C:\Users\[username]\AppData\Roaming\XBMC\addons\script.games.rom.collection.browser\resources\lib\gui.py and find the following line, which appears twice:

self.addItem(item, False)

In both occurrences, change it to simply

self.addItem(item)

You don't need to restart XBMC, but if you've got ROM Collection Browser open, right-click out of it and then reopen it. That will get the list to reappear.

If you find that it throws an "Unimplemented method" error for executehttpapi when you try to launch a game, open up launcher.py in the same directory and replace all instances of "executehttpapi" with "executeJSONRPC". (Same as above: you don't need to restart XBMC, but you do need to restart ROM Collection Browser for the changes to take.)

Thanks to versus for posting the gui.py fix and fmonaca for posting the launcher.py fix on the XBMC forums.

(And yes, I am posting this at 12:30 in the damn morning. You know how sometimes you have a thought on how to fix a vexing computer problem and know it'll be gone by morning?)

XBMC Frodo

Updated to the latest XBMC beta. It messed up most of my show icons and watched/unwatched status, and for some reason defaulted my sound output to a virtual device instead of the output I'd had it set to previously, but I've got it mostly-fixed now.

There really is a lot to love about XBMC -- it's certainly the best software I've found for easily indexing a video library -- but man it sure is fiddly.

But hopefully this version will fix the previous "stable" version's habit of locking up my system and my video output and forcing me to log out and back in to fix it.

Dragon Quest 1&2 SFC

I've occasionally been poking through the Super Famicom remake of the original Dragon Quest on my cell phone -- you know, when I've had downtime and haven't had my PSP or DS or suchlike with me.

First of all: man, onscreen D-pads suck, even for games that require as little precision as DQ. I have to savestate-spam just to get around the outside wall of Rimuldar without accidentally walking out.

Second: there's so much that's wonky about the interface of this remake. The stupid little half-steps you take instead of moving a full tile at a time, the bizarre decision to stick the action button on X and leave the menu on A (something they stuck with on up through 7 on the PS1!)...frankly I'm almost inclined to tip the Game Boy remake as the superior version of the game despite its inferior graphics and sound, just on its smoother interface.

(Also I recall the GB version having a more charming translation. I probably snorted out loud in class when I took the Princess to an inn and the keeper remarked the next morning that we'd sure been up late last night.)

(Yeah, I played Dragon Quest in class for most of CSE122. If you'd ever tried to sit through a lecture with that instructor, you'd understand.)

Ze Germans

Not sure if I'll stick with OpenSUSE for the long haul or not.

I quite like YAST but it doesn't have the level of package support that any given apt-based distro does.

And it's slow. I heard OpenSUSE was faster than other KDE-based desktops, but that hasn't been my experience, even switching from HDD to SSD. Firefox routinely pegs the CPU. So does Xorg (which I think is down to my keeping LibreOffice open most of the time). RSSOwl -- which does not have an OpenSUSE package and was a straight-up bitch to set up -- is frequently slow and unresponsive (good ol' Java).

So why RSSOwl, anyway? Well, I like to keep my RSS feeds synced across my desktop, my laptop, my phone -- wherever. At the moment I'm using Google Reader for that.

I used to use Akregator, but it doesn't sync with Google Reader.

I tried Liferea, but...well, it's coded by a guy like me. A power-user who wanted specific network functionality and isn't very good at UI design. It's missing such basic functionality as being able to rename a feed (a necessity when it chokes on as simple a thing as an apostrophe -- my feed list contains "Kurt Busiek&#39;s Formspring answers" followed by "Neil Gaiman&#39;s Journal"), and its syncing with Google Reader is spotty as well.

Also its name resembles "diarrhea".

So I tried RSSOwl.

Under Ubuntu, it was simple enough to set up RSSOwl -- had to add an external repo, but that was it.

There's no repo for OpenSUSE. There's a binary download, but here's the rub: it doesn't work out of the box. It requires xulrunner 1.x -- 2.x does not work. And OpenSUSE 12.2 doesn't have a package for xulrunner 1.x.

It took me ages to find, but I found a good RPM package of xulrunner 1.9. It's for Scientific Linux, but it installed fine under OpenSUSE, and worked once I symlinked libhunspell-1.3.so.0 to libhunspell-1.2.so.0 . It throws the occasional warning when I run updates, but I've been able to navigate those just fine.

And that's another thing about OpenSUSE: YAST's options, when it runs across a version conflict on a dependency, are pretty opaque and incomprehensible (and it frequently lists the same option multiple times), but at least it gives you options. Ubuntu's package management, in my experience, just throws an error and quits when it runs across that kind of conflict. So score one for OpenSUSE there. Sort of.

Still and all, for all I like about its configuration center/package management system, I'm having a hard time seeing OpenSUSE as Worth It. Maybe when I've got some time to do yet another damn reinstall, I'll give Mint a shot, or something.


Playing: Got in some good Arkham City and Mass Effect 2 time today -- after my job interview. Working my way down that list...

Mostly Painless

Well, can't say that meeting was any more helpful than I anticipated, but at least it was short -- I was out within half an hour.

They want me to sign up for some website or another (currently down), upload my resume, and sign up for updates. I also got the paperwork to switch my unemployment over to deposit directly in my regular account instead of the Chase one they opened for me. I've been meaning to do that since day one but am much more keen on getting around to it since discovering Chase started charging me a fee for not using my unemployment account during the months I was employed.

Just so we're clear: I am the sort of guy who will close his bank account over six dollars in fees.

Because I fucking-well need that six dollars more than Chase does. As evidenced by the fact that it's the account where my unemployment checks go.

On the whole, though, it was a good reminder that, even unemployed, I'm not so badly off. I've got a family that supports me, emotionally and, when occasionally necessary, financially. I'm in better shape than a lot of the folks I saw who went in to DES just to use their computers to apply for jobs.

Anyhow, on the way home I found gas for $3.39 a gallon. I was pretty excited about filling up my tank for about $30. Up until a mile later when I saw it for $3.35. And then when I saw it for $3.38 a mile away from my house. Oh well; $3.39's still pretty good.

Hosiery: The Re-Brokening

Welp, broke my computer again, sort of.

See, I've confirmed that the instability I've been experiencing with the ol' OSX boot is definitely due to booting it from GRUB; it works fine from EFI.

So I decided I'd give Chameleon another shot -- maybe another bootloader would be more stable? Worth a try, right?

'Cept I can't get Chameleon to work this time, and it fucked GRUB up so it won't boot anymore either. (Edit to add: Apparently an MBR disk can't have more than one bootable partition? Guess it's been awhile since I took that A+ test. So okay, it's easy enough to get GRUB working again, but it doesn't help me get Chameleon working.)

The good news is that Chameleon boots just fine from CD, so I can still boot OpenSUSE that way.

The bad news is that, for some damn reason, holding down "C" to boot from CD doesn't work anymore on my Mac, so I've had to stick the damn helper card back in to access the boot menu by holding down Option when I power up.

(The other bad news is that AVG Free decided to flag fucking rundll32.exe as a virus and delete it, but Win8 must have restored it automatically because it worked okay on a reboot. But that's all the Win8 I did today.)

Anyway. Hoping I can get this damn mess fixed tomorrow. Because I've got better shit to do than keep fucking around with bootloaders.