A new term for me. “Uncanny Valley”

Somewhere along the line, I apparently missed this term. Wikipedia has a great short definition of it:

The uncanny valley is a hypothesis that when robots and other facsimiles of humans look and act almost, but not entirely, like actual humans, it causes a response of revulsion among human observers.

The first time I saw this term was in a post on Triggur’s livejournal showing some creepy animatronics singing. I looked up the definition, and while discussing it on IRC, Nathan pointed me at a flash page showing a CGI generated woman, who reacts to mouse motions.
As far as I know, that entire image is computer generated, and has some truly scary lifelike elements to it (such as the fact that she’s breathing). Interestingly, it does NOT trigger the ‘revulsion’ response in me nearly as much as some others do, but watching this animation quietly move and look about as I do my work is truly an eerie experience.

Another step toward moving

The time is fast approaching. In about 6 months, we’ll be moving to Mosaic Commons. I’m having a hard time coming to grips with the reality of the situation, after 8 years of working on the project. But the buildings are growing on the site before our eyes, and folks are making plans.
Even though we sold our house 3 years ago, Cat and I have plenty to do before we move. While not nearly as dramatic and inspiring as the work Diana and John have been doing, we have our own challenges, and before any move, there’s a period of Cruft-Disposing that has to happen.
I’m starting down that road now.
IMG_4170.JPGOne of the first projects has been to do something about my CD collection. I picked up these CD cases almost 12 years ago, and filled them pretty much to capacity before I stopped my headlong pursuit of More and More CD’s. In recent years, I’ve ripped the ones I really listen to onto a hard drive, and I rarely pull the cd’s off the shelf anymore. I don’t want to get rid of them, but they do take up a lot of space.
Enter CD binders! A couple good Googling sessions, and I found a set a 424 CD storage binder. If I use one sleeve for the CD and one for the CD insert, two of these binders would hold my whole collection.
The binders arrived, and Zach and I settled into unshelving the CD’s, sorting them alphabetically, then loading them into the binders. It took about 4 nights total, but the end result is reducing the footprint from 3 4.5′ tall shelves down to a pair of binders that can be stored easily.
IMG_4178.JPGThe black cases hold everything easily, and I’ve left room for all the various spots I have cd’s tucked away in the house. I’m sure when we move, I’ll find another half dozen CD wallets that will round out all the empty cases I found during the project.
Of course, this now means I have some CD shelving to give away (cat not included). Anyone want them?

Caloric yardsticks

Coming out of the winter months, my attention goes to my waistline, which while not exactly exploding, has released some of the territory gained from last summer’s busy volleyball, hiking, and biking regime.

So it was with some guilt I glanced at my asiago cheese bagel with (light!) cream cheese this morning, and wondered “Huh. Bagels to me are healthy. Is -this- healthy? I don’t know!”

So off to Panera’s website, and a look at… bagels!

Plain bagel		290cal, 12g protein
Asiago bagel		350cal, 16g protein
French Toast bagel	380cal, 11g protein

Now lets add on some cream cheese

Regular cream cheese	200cal, 4g protein
Reduced fat plain	140cal, 5g protein

So, I’m not particularly getting hammered by choosing Asiago over Plain, but in general, bagels have a lot of calories in them. What did surprise me was how much protein they have. We’re always being careful about how much protein Zach eats, so I was thinking a french toast bagel + cream cheese ‘wasn’t enough’ But consider – a hard boiled egg is 17g of protein – and a tablespoon of peanut butter (the old standby protein-dose), is about 6g of protein. Normally we sort of do a big scoop, so lets call it two tablespoons of PB, so 12g. </p

So a big scoop of peanut butter has quite a bit less protein than your basic bagel + cream cheese.! Velly intellestink.

Apache sneakiness.

This is a story about system administration. It’s about a system, and it’s administration. In particular, it’s about configuring up Apache to do some magical rewriting of URLs so that a site we’re working on can translate /foo/bar into /foo.php?item=bar . Ready to journey with me? Let’s go…
I’m running XAMPP on clipper – it’s a very nice ‘prepackaged’ solution for developing LAMP-like applications on Windows. It includes MySQL, Apache, PHP, and a handful of other tools, and it makes building and testing apps under PHP quite tolerable under Windows.
What we were doing sounded like a fairly simple application of mod_rewrite. The specific function was whipped up by Tim, and I SVNupped it to clipper – and it didn’t work. I was getting something that basically said “you’re running this script without initializing it properly”.
It got more and more bizarre, as I realized that in fact, mod_rewrite wasn’t even loaded in my Apache install, but it was obviously doing some bizarre bit of rewriting. hits to http://localhost/foo/bar/baz would not give a 404, but would attempt to run the script ‘foo.php’, passing in parameters.
I spent a good 2 hours S’ingTFW on issues with XAMPP, PHP5, Apache, mod_rewrite – grepping through a few dozen configuration files (oh, sorry, ‘find’ing – windows equivelent of grep. Which, incidentally, sucks.). Nothing was coming together.
Eventually I fell to the #apache channel on FreeNode, and sang my tale of woe to them. I stumped several of the more knowledgeable folks there for a good half hour (“it’s a mod_rewrite, but you don’t even have the module loaded. Huh”), when, just like a good mysterious western, a previously silent voice in the back piped up, and uttered one word.
“Multiviews”
It was the word that was to haunt me for… 15 minutes. This is an option that I’ve seen countless times in configuration files, but really had no idea what exactly it did. I metaphorically dragged out the Apache 2 reference docs, and, blowing the dust of the pages, read about Multiviews:

The effect of MultiViews is as follows: if the server receives a request for /some/dir/foo, if /some/dir has MultiViews enabled, and /some/dir/foo does not exist, then the server reads the directory looking for files named foo.*, and effectively fakes up a type map which names all those files, assigning them the same media types and content-encodings it would have if the client had asked for one of them by name. It then chooses the best match to the client’s requirements.

I was stunned. This option, as Tim put it, had the equivalent effect of… “the server closes its eyes and THROWS DARTS AT THE FILESYSTEM until it finds something that looks good.”
Naturally, my vhost had it enabled in it’s Options line. Taking out Multiviews, hupping the server, and lo, no more magical mystery rewriting!
I’ve been administering Apache installs since before it was called Apache, and I’ve never hit this problem before. Let’s hear it for learning experiences! :-/

How a bigger battery changed my life.

clipperOkay, that may be a bit more grandiose than is appropriate, but it does put a finger on how I feel about getting a new laptop battery for clipper, my work laptop.
Previously, I had been getting a around an hour of usage on it on the internal battery. When thinking about places to park and work, having a power outlet nearby was an absolute necessity for anything approaching real work. Sure, on the old battery I could fire it up, check email, do some quick surfing, but it put a hard limit in my head on what I could accomplish. I knew that I’d have to stop within a short window and move or shut down or whatever.
Recently I went from the 6 cell Li-Ion battery (56 watt-hour) to the 9 cell battery (85 watt-hour). The first improvement came from just having a new battery (Dell laptop batteries are notorious for losing their ‘oomph’ after a few years of use), but the other boost was getting a 40% increase in capacity. This drove my work time from a smidge over an hour up to over 3 hours of off-outlet use.
Now, that may not seem like a huge change (“just another 2 hours or so”) but in my work-pattern, it’s enormous. It means I can spend the 1/2 hour after just sitting down checking mail, getting settled, starting up what I need to do, and organizing my brain a bit, and then get into my work groove… without immediately needing to be interrupted by a power-fiddle.
I’m comfortable parking myself in a random restaurant booth and settling in for a good hack session without thinking about how to manage power outlets and cords, or even firing things up while sitting in my car waiting to pick up my son from school.
Yay technology.

Thank you Google! Or thank you KDE! Whatever!

Onward and forward on my quest to avoid using Mozilla-based products on my desktop. I’ve been frustrated by having to load Firefox to get to my Google Calendars and Google Maps. For some reason Konqueror had been refusing to render these sites, and since I’ve started using things like GooSync, I really do need to get into Google Calendar without jumping through hoops.
Last week, on a whim, I tried Google Maps, and then Google Calendar. Lo! They loaded! Cleanly and quickly! Obviously something had changed (one of the drawbacks of ‘web sites as services’ is that you don’t necessarily know when they change things). But whatever happened, I can now view and update my Google calendar via Konqueror, and can GMaps with the best of them.
There are a few small twitches. Streetview is not working in Konqueror, and occasionally there are rendering ghosts, but I can look up, scroll, and even print directions without a problem. Calendar, oddly, is even more stable – I haven’t had a problem yet with it.
Thanks whomever!

Ikariam – Civilization goes Web!

Everyone who has had anything to do with computer gaming has probably heard of Civilization, the genre originated by Sid Meier and so successfully built (some would say exploited by) Microprose. There have been many branches of the Civilization pedigree, and I even reviewed one (FreeCiv) a while back.
Recently I tripped over another incarnation that has taken the Civilization concept into the ‘web 2.0’ world. Through a combination of Javascript, extremely well done graphics, and some basic gaming smarts, the folks at GameForge have come up with Ikariam, a pretty interesting little game.

Continue reading “Ikariam – Civilization goes Web!”

Travelling Chatter – BWI Gets a Cloo

This morning I’m on my way back from Pittsburgh, and enjoying the hospitality of Southwest Airlines and their unconventional approach to managing flights (how many times do you have flight attendants singing over the plane PA “We love you, you love us, we’re much faster than the bus!”?)
All in all, it’s been a pleasant experience, though I have to learn a new set of rules about getting my much-needed bulkhead seat (Check in early. No, really. I’m not kidding, check in THE DAY BEFORE, and print the boarding pass ahead of time. Southwest has no reserved seating, even for 6 and a half foot tall 1/8th ton monstrosities that have little chance of fitting into seat 14B and still retaining the ability walk upright after the flight.)
On the way back, I’m traveling through BWI, hoping to take a few minutes online between flights, and lo I notice these bench-like tables with power outlets AND USB charging hookups. There’s dozens of them, they’re perfectly set up for a quick park-and-email-check, as well as “I need to charge my cell phone.” This may be the most intelligent thing I’ve seen an airport do to take into account the type of tech-heavy traveler that’s so common nowadays.
Naturally, I had to try it out, and here I blog, plugged in and comfy, just outside my gate.
Thank you BWI for getting a clue!

Join our BOINC team! Again!

I suppose it’s okay to mention every two years or so that I have a BOINC team that is collectively pooling all idle computing power and using those idle cycles for scientific research and analysis. Since 2 years ago, the number of projects that use the BOINC software has increased and diversified widely, though the core projects (SETI@Home, Folding@home, etc) are still extremely active.
If you have a machine that’s frequently idle, why not consider installing the BOINC client on it, and signing up to join our team? I’ve recently re-started many of my idle clients in an effort to shore up some of the sliding numbers (many of our long time computing partners have stopped submitting updates, due to job changes or just disinterest.)
At our best, we were ranked # 662 about a year ago. Currently we ranked #935 in the world (out of 71,588 teams), according to our page on Boincstats.com.

If you’d like to join, our SETI@Home project page has signup information, though we also have teams at Rosetta and Predictor, both great projects.

Dear Jboss. QA yer damned site.

Why is it so hard for any organization, from opensource on up, to understand it’s a good idea to give the users information they want, in a form that’s useable?
I zipped over to JBoss.org to see if there was an update to the 4.2 server I’ve been using for the last year. Sure enough, there’s a 4.2.2 release that came out in October. Great, I wonder what changed?
Well, the downloads page has the new release on it, and a link to the release notes. Which, you’ll note, is completely illegible because the lines are not wrapping. (I tested this in Firefox under Linux and Windows, Konqueror, and under IE6 in Windows. None of them make that page useable.)
Was it so hard for the JBoss release engineer to click on links and check if they worked? Apparently that capacity is beyond them. Sad.

Animation with GIMP, and a new icon

I’ve been thinking about learning how to make animated GIFs. They’re super-popular on Livejournal and other forums, so why not figure out how to put it all together?
Turns out The Gimp has a very simple mechanism for making animations. Just open multiple images in layers, and then save it as a GIF. When you go to save, it’ll pop up a dialog “This has multiple layers, and you’re saving as a GIF. Do you want to animate all the layers as frames?”
And that’s it! So, naturally, I had to try it out. I needed an icon for gaming, and this seemed easy to put together. It’s 27 frames, took me about an hour to draw the pieces, and then another hour of fiddling with GIMP to get the timing and assembly correct. Mad props to blk for figuring out that if you re-open an exported GIF, you can edit the timing on the frames just by altering the name of the layer (which is TOTALLY screwy in my book, but whatever).
Folks are welcome to scarf it and use it as much as they like. A pointer back to the blog here would be nice, but not required. 🙂