« | » Main « | »

Biologists helping bookstores

Monday 30 July 2007

Biologists Helping Bookstores is a light-hearted blog about one man's attempt to re-shelve pseudo-science books into the bookstore sections in which they truly belong: Philosophy, Religion, New Age, even Religious Fiction.

You'd expect the comments on a blog like this to quickly turn into an evolution vs. creationism debate, but they haven't: they've turned into a bookstore workers vs. everybody else debate, about whether this small gesture does any good at all or just messes up bookstores.


Thursday 26 July 2007

Mark Pasc is running a neologism blog wittily (and neologistically) called neologasm. It consists entirely of sightings and definitions of newly-coined words. I found it because my recent Pika-pika entry was linked from his entry on Pika-pika. I liked thumbsuck (to pull data onto a thumbdrive illicitly) and lolmate (a friend with whom you share internet funnies).

Many of these are not meant to be taken seriously, they are more like sniglets, but in truth, who knows which might really catch on?


Wednesday 25 July 2007

YSlow is a Firebug plug-in for measuring the overall performance of a web page and making recommendations to improve its speed. This is cool on a few levels:

  • This is a great way to get an overview of the performance of a page, with links to helpful pages explaining what's going on. It continues Firebug's tradition of helpfully summarizing the under-the-hood details.
  • I didn't even realize Firebug supported plug-ins! What a wonderful world we live in!
  • "YSlow" is a really cute name.

On the down side, like all automatic diagnostic tools, the results are a mix of really useful pointers, and really stupid "recommendations" that obviously don't apply. For example, on my home page, YSlow recommends that I use a CDN (Content Distribution Network) to speed page delivery. For my blog? I don't think so. And like most lint tools, there's a way to fake it out to avoid the recommendation (I can use about:config to claim that nedbatchelder.com is a CDN), but that's pretty silly. Better would be a way to tell YSlow to shut up about CDN's already.

My blog gets a stinging F (56), but maybe I shouldn't feel so bad: the YSlow page itself gets a D (67)!

Walk Score

Tuesday 24 July 2007

Here's a really nice Google Maps application: Walk Score. Enter your address, it uses the Google Maps API to find businesses and facilities in a walkable distance from your house, and ranks your location based on how "walkable" it is.

My house earned a hefty 83 out of 100. One of the reasons I like living where I do is because I can walk to so many things. My kids get annoyed at my insistence that we walk to the video store when we could also drive there, but I agree with Walk Score's excerpt from the Sightline Institute:

Step by step, the extra walking helps the family in the compact neighborhood remain, well, compact. They keep off weight and exercise more, helping to prevent chronic ailments such as diabetes and heart disease. Fewer miles in cars—and perhaps more in buses—keep them safer from fatal or debilitating crashes. The air they breathe may even be cleaner than their suburban counterparts’, especially if they spend less time in the “pollution tunnel” of busy highways. And they may interact with their neighbors more, which helps connect them to their community and fosters close friendships within their own neighborhood. This in turn may help buoy their health and lift their spirits in hard times.

Walk Score is also a nicely-designed site, with a sense of humor: next to the "How it Works" link is the known bugs page, titled "How it Doesn't Work".

Geek dessert

Sunday 22 July 2007

In what may be a first, I'm pleased to present a dessert inspired by a geeky developer's tool. When Susan saw my last post, she came up with it, and she and Nat baked it:

Covered Dot Pie

See, it's a pie (blueberry). A pie with dots (blueberries stuck in the upper crust). And it's covered. That makes it... Covered Dot Pie!

Coverage.py v2.75

Sunday 22 July 2007

I've updated coverage.py with a number of changes. The biggest is that Python 2.5 is now fully supported. Turns out that in a multi-line statement, different Python version report different lines being executed. Oy.

I get suggestions for coverage.py in a steady drip over time, and usually don't have the concentration bandwidth to attend to them. An unexpected window of time opened up this weekend, so I went through the ideas and put the managable ones into the code. Then I tackled Python 2.5, making some biggish changes in the process.

I've felt guilty for delaying on implementing people's ideas, and now I feel good that I've done it. Try out coverage.py v2.75. Let a fresh backlog commence!

Simpsons avatars

Thursday 19 July 2007

The promotional site for the coming Simpsons Movie includes an avatar creator for making an image of yourself as a Simpsons character (no direct link: find Create Your Simpsons Avatar at the top of the page). This has been done before, but this toy is really a cut above. As always with these things, the choices seem too limited, or strangely abundant in all the wrong places. In spite of that, the results really are quite good. Here's my entire family:

The five of us, as Simpsons

RIP, Minty Bear

Tuesday 17 July 2007

Finslippy has a nice post about a bittersweet situation all parents go through at one time or another: RIP, Minty Bear.

I have three boys, and three similar stories to tell. Floppy Bunny was lost, then found (dismembered in the street), replaced by Funny Bunny. Blue Blankie had a better life: it was left in a vacation hotel once but was found and returned by the proprietor, and is still with us, though long outgrown.

Superman, a Burger King toy, was misplaced on a sandy beach, and the family had a harder time with the loss than the child did. A identical replacement (thank you, eBay!) was deemed uninteresting, and he moved on. Now after years of loyal service, Blue Beary has just been moved to a shelf.

Each of these love objects held a special place in our boys' and our hearts. Dealing with their loss, whether temporary or permanent, accidental or developmental, was a moving experience. Either the boy suffers (as Minty Bear's Henry did), or simply grows up and wanders away. Moving books have been written about just such attachments (The Velveteen Rabbit was a staple in our house for a long time), but they don't capture just what it means to your own child.


Thursday 12 July 2007

Pikapika is a photographic technique of making a long-exposure still photograph in a dark space. A person with a small flashlight uses the exposure time to draw a picture in the air. Do this a number of times with animation in mind, and you get a short video of a neon-like cartoon floating in air. The apt subtitle of the pikapika site is "lightning doodle project".

I found this via the Strobist's post about a Sprint commericial using the technique. Comparing the scribbly quality of the original pikapika animations with the tight control of the Sprint commercial, I'd guess that the Sprint folks faked the animation in post-production.

This is one of those innovative techniques that fires the imagination. The boys and I may be making some mini-pikapika soon...

Draggable google map routes

Wednesday 11 July 2007

I stumbled on an awesome new feature of Google Maps yesterday: once you've plotted a route for driving directions, if you hover over the route on the map, a little square appears, with the hover help "Drag to change route". Drag the square, and the route dynamically changes to go through the point you are dragging. The list of driving directions update as well, of course, with your dragged point included as a new intermediate milestone.

I showed this to a co-worker, who literally stared slack-jawed as my driving path wiggled all over the screen, and then finally said, "That's impossible!". What he meant was, it's impressive to be able to make server round trips as you drag, with enough responsiveness to serve new route images quickly enough to get that dynamic and fluid feel.

Other stuff: once you have multiple milestones in your driving directions, you can drag and drop them to reorder them, and there's an "avoid highways" checkbox to stick to the scenic routes.

The amazing gets amazinger. Funny to discover it by accident, though. Isn't there a blog that announces these things? The Official Google Blog has bigger fish to fry (acquisitions, global warming, privacy concerns). Turns out Google Maps Mania is the place, and had the news about draggable driving directions two weeks ago.


Monday 9 July 2007

At work, I needed to hyphenate words (so that Tabblo Print Toolkit could do a nicer job of wrapping text into narrow columns). Knuth's TeX system has long had a competent hyphenation algorithm, created by Frank Liang. It's described in Appendix H of the TeXbook, and it's actually really simple. It's driven from a dictionary of word fragments, so all of the hairy special cases are kept out of the code.

There were already implementations in a number of languages, but none in Python that I could find. So I wrote one: hyphenate.py.


Ben at work

Monday 9 July 2007

Ben, hard at work on a Flash game he and Max were creating during vacation. A measure of Ben's intensity during this task is that he didn't mind (or even seem to notice!) that I was photographing him, something he usually resists strenuously.

Tabblo: Ben at Work


Sunday 8 July 2007

Every once in a while, someone writes to me about my business card cube page, asking if they can use the instructions and illustrations for a project of theirs. Often, it is for the back of their business cards. I readily agree, on the condition that they give me credit, and send me a few of the cards. Usually, that's the last I hear of it. Whether this means they decided not to use the illustrations, or they used them and never bothered to send me the cards, I don't know.

Jennette Fulda was one of these requestors, and today I got a handful of her business cards in the mail, complete with my cube illustrations on the back. She uses the online moniker PastaQueen, and has a blog named Half of Me, so named because she has lost half of her body weight (she's reduced from 372 pounds to 180)! As she puts it, "I'm currently working my ass off, literally."

This is an impressive achievement, and she is writing about it with honest good cheer. Being a technical person, she is also documenting it with spinnable 3D progress photos. Bravo.

Abject-oriented programming

Sunday 8 July 2007

Greg Jorgensen shows how not to do it: Introduction to Abject-Oriented Programming:

Inheritance is a way to retain features of old code in newer code. The programmer derives from an existing function or block of code by making a copy of the code, then making changes to the copy. The derived code is often specialized by adding features not implemented in the original. In this way the old code is retained but the new code inherits from it.

His tone is perfect, explaining ludicrous techniques under well-known names, enough so that many commenters took the whole thing seriously.

« | » Main « | »