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!