Sunday, July 31, 2005

July movie roundup

Boy, am I out of date. Here’s what we saw in July:

Batman Begins

…is surprisingly good: it strips Batman down to bare he’s-just-a-man bones and mostly gets away with it, the whole slightly hokey martial-arts monastery part aside. Christian Bale is an excellent Bruce Wayne; and Michael Caine a suprisingly good Alfred. Liam Neeson, however, is pure cheese.

By steering a grittier, less fantastic path it escapes the fatal flaw in all the earlier Batman films: that the villains are brighter, more colourful, more interesting than the hero. This one’s all about the bat.

3½/5: forgettable, but entertaining.

War Of The Worlds

…is suprisingly bad, given how strong the underlying H.G. Wells story is and how well it’s been told in the past. The fundamental flaw here is that it misunderstands the role of the narrator in the original book. In Wells’ story, the narrator is a journalist. His role is as an observer, and we watch the story unfold around him through his eyes. Spielberg casts Tom Cruise’s narrator as a hero, actively involved in the story; a mistake. At one stroke, War of the Worlds’ massive scope—this is an alien invasion, remember—collapses to the tiny bubble of action immediately surrounding our hero. Wells avoids this by keeping his narrator at a journalistic distance: we see the war through a series of vignettes described by the narrator, but we never lose sight of the bigger picture.

And as this is a Spielberg movie, he makes the narrator into a hero by giving him a broken family, a move which keeps slamming the brakes on the story: never mind the aliens, Tom’s got some family issues to resolve. He wastes two of the most interesting characters in the book—the mad parson, who believes the aliens are a punishment by God, and the misguided artilleryman, whose ambitions of revenge and recovery far outstrip his abilities—by collapsing them into an uneasy composite, whose motivations he further muddies by giving him a faint whiff of predatory paedophilia.

Lurking below the surface, though: this is Spielberg’s post-9/11 movie. Terror, and war on terror, is never far away. In this version, the terrorising invaders were among us all along, buried and dormant underground; as Neva Cronin put it in the Chronicle, “Beware those underground cells, man. Watch out for immigrants.” There are other, more direct, references to 9/11: a lingering shot of a noticeboard full of pictures of the missing; empty clothes drifting down from the sky. Although the book’s original ending, in which the invaders are killed by Earthly bacteria, is retained, it’s tempered with some bizarre militarism. The U.S. Army has been wholly ineffective against the invaders, but they’re still given a symbolic victory in bringing down a teetering, and obviously already disabled or dying, tripod.

1½/5: nice effects, but sorry: apart from that, I hated it.

Me and You and Everyone We Know

…is very self-consciously indie and quirky. An odd series of interconnected stories, told with a light touch, some clumsy explorations of child sexuality aside. But I really liked the underlying message: everybody’s weird, and mostly that’s OK.

4/5. Odd, but compelling.

March of the Penguins

…is not as good as the buzz suggests. The story the documentary tells—of the emperor penguin’s epic yearly struggles to breed and raise chicks—is extraordinary. But somehow I didn’t really feel engaged with the penguins. The cinematography is stunning. But the narration, by Morgan Freeman in the U.S. version, is a little too syrupy, and a lot too anthropomorphising in ascribing human emotions to the birds. And worse: there’s just too damn much of it. Winged Migration was a much better nature documentary because it stood back and let the cinematography speak for itself.

3/5. Good; but not that good.

Categories: Movies

Big Basin Redwoods State Park

Something special yesterday: a hike in Big Basin Redwoods State Park, down near Santa Cruz. “Strenuous”, say all the books; and they were right.

The journey down to Big Basin is an adventure in itself. A mindless blast down 680 to Santa Clara, carefully skirting San Jose to avoid this weekend’s Grand Prix. and down the Lawrence Expressway. Which as it turns out is poorly named: oh, it’s wide and has a 50mph speed limit, but it also has traffic lights on every block, all of which seemed to turn red as I approached. Down Saratoga Avenue and through Saratoga, which has a completely different and much more natural feel to it than Silicon Valley’s concrete and apartment blocks. And off the end of Saratoga Avenue onto Big Basin Way, for miles and miles of winding mountain road.

The Highway 9 stretch of Big Basin Way is rolling, wide, and fast, although with a few 20mph hairpins to rein you in now and then. But after the turn onto Highway 236, the road gets twistier and narrower. A lot narrower. The middle dividing line peters out; visibility around corners narrows; and there’s not enough room for cars to pass without one or both of the pulling partly off the road. It’s a fun drive, but a tough one, and it’s something of a relief when I arrive at the park.

I’m here to hike the loop out to the Berry Creek Falls; an 11-mile hike unanimously described as strenuous. The Big Basin website, and most hiking books, suggest either hiking out and back on the Skyline To The Sea trail, or hiking the loop clockwise, going out on the Skyline To The Sea trail and back on the Sunset trail. But I’m following the advice Jane Huber gives in 60 Hikes within 60 Miles: San Francisco: go the other way around.

It turns out that this is excellent advice. It means you take the steepest part of the hike, on the Sunset Trail, as a descent early in the hike rather than an ascent late in the hike. It means you descend the falls, taking the most spectacular fall last. It means you do over half the distance before reaching the falls, giving you a shorter uphill slog back to base. And most importantly, it means you’re going against, not with, most of the other hikers. If you start reasonably early in the morning, as I did, you get the whole of the Sunset trail to yourself. The Skyline To The Sea trail gets busy in the afternoon, but going against the traffic means you still get large stretches of it to yourself without having to dawdle behind, or race ahead of, other groups to get some solitude.

And solitude is what the redwoods are all about. The forest is incredibly quiet and peaceful. The trees here are old, original-growth redwoods, anywhere from a thousand to two thousand years old, and they look it: huge, wide trunks, often hollowed and blackened by fire damage at the base. The park is maintained with a very light touch: trees which fall directly across the trail are cleared, but otherwise trees are left to rot where they fall, providing nutrients for new growth.

The Sunset trail starts with a reminder of what’s to come. A warning sign tells hikers: “BERRY CREEK FALLS: 6 HOUR ROUND TRIP. STRENUOUS HIKE.” But Sunset is misleading: it’s mostly downhill, though redwood forest. It’s cool in the morning, and very quiet. I see my first banana slug: long, fat, yellow, clinging to the trunk of a redwood. Just before the falls, the trail breaks out briefly into open sandy chaparral: a surprising contrast.

I stop for a sandwich at the first of the falls, Golden Falls, named after the slope of golden sandstone the creek falls down, and continue down the falls, meeting the first of many hikers going the other way. At Silver Falls, the trail descends alongside the fall, with a wire rope guiderail. And finally, I reach Berry Creek Falls, the most impressive of all: a 60-foot sheer fall into a deep pool below. A wooden viewing platform provides a view, and a place to stop and rest.

The Skyline To The Sea trail heads back towards the start, and after a few minutes there’s a bench with a final view of the falls. I sit and eat the rest of my lunch. And just as Jane Huber describes, I’m joined by a pair of Steller’s jays hoping for crumbs: bright blue bodies, black backs and heads with a plume of feathers.

The hike back is a long, sweaty slog uphill. It’s not a terribly steep slope, but it just keeps going, mile after mile: this is what the “STRENUOUS HIKE” sign was warning about. But the end gets closer and closer; after I cross Middle Ridge Road, I’m rewarded with a final downhill mile. I finally arrive back five hours after starting, dog-tired, but happy.

Is it worth it? Yes, definitely. The forest is wonderful. The falls are beautiful. But be prepared: it’s tough going. Take plenty of water, and drink it; take a map (don’t trust the trail posts alone, they’re loose and sometimes jokers turn them around); and my lesson from this hike, take insect repellent, as the forest is full of little gnats which are attracted to your sweat when you stop to rest.

Categories: Hiking

Thursday, July 28, 2005

Shell Ridge 3: Costanoan Trail

I’ve had enough of feeling trapped away from nature by the summer heat. The key to hiking on hot days: start early, before the morning haze gets burnt away and before the shadows get too short. And pick either wooded shadows or breezy hilltops, not baking valleys.

So today, we did a morning hike in Shell Ridge, the part of Walnut Creek Open Space closest to home. I’d forgotten how good a natural resource Shell Ridge is: great trails, excellent views, quiet, and full of wildlife.

Trail map of Shell Ridge Open Space, showing Costanoan trail loop.

We start at the trailhead at the end of Snyder Lane. No dedicated trailhead parking here, but plenty of room to park on the street—although the lemon did look a little out of place parked outside the multi-million dollar McMansions which dominate the end of Snyder Lane. Watch out for California quail: a flock of twenty or thirty of them crossed the road in front of us as we walked to the trailhead.

From the trailhead, we head left on the Costanoan trail, taking a counter-clockwise loop. It’s hilly here, north of Shell Ridge itself, but the trails here are wide and easy, and totally empty. By now, the hillsides are completely brown, and the dry grass is flattened down against the hills by the wind. This seems to make the ground squirrels nervous: we’re forever hearing their alarm calls ahead of us as they run to their burrows.

The dry grass at the trailsides is littered with funnel-shaped spiderwebs; some small, some huge. I poke at one of the biggest, about 18 inches across, with a grass stalk: a huge spider (not quite "the size of a meatball", as Melinda put it, but plenty big enough) races up out of its burrow to investigate. Not only is it big, but it’s quick: it appears so fast that it makes both of us jump.

At one point, we see a pair of deer—a doe and her fawn—taking shelter in the shade of a tree. It’s not until they move that we spot them: when they’re still, their colouring blends perfectly into the dry hillside. They amble slowly off over the hilltop and out of view.

The Costanoan trail ends as it approaches Borges Ranch. We take the Hanna Grove trail north, and at the junction with Flat Top trail face a choice: continue the loop on the hillsides, or double back and return on the Sulfur Creek trail? Both have attractions: the hillside route is hotter, but has good views and a better chance of cooling breezes; the creekside route is shaded and cool, but offers no views. We take the hillside route, saving the creek for another day.

The Hanna Grove trail takes us right to the northern edge of the park, at the Hanna Lane trailhead, where we double back on the Costanoan trail. There’s an odd little detour at Good’s Spring, where the trail runs outside the park boundary for a while; and soon enough, we’re back at Snyder Lane.

This was an excellent hike: not too hot, not too strenuous, but hilly enough to make it worthwhile. Just under five miles, and about two hours.

Categories: Hiking

Wednesday, July 27, 2005

Counters vs. timers

There are two types of people in the world: those who, when they swim, count laps; and those who, when they swim, measure time.

I’m a counter. I can’t imagine swimming without counting laps, and I can’t imagine stopping after anything other than a neat multiple of ten (or preferably, twenty). And I’m a scrupulously honest counter, too: if I lose count, I round back down to the last count I remember, rather than guessing or rounding up. I usually have a target in mind when I start, although sometimes I move the finish line as I swim: 80 laps, but 60 at minimum and 100 if things are going, well, swimmingly.

Melinda’s a timer, preferring to swim for a measured amount of time: half an hour, 45 minutes, or even “as long as you do”, and never counts laps.

I’m not sure if this is related to, or completely orthogonal to, the browsing vs. searching habits I noticed in our use of iTunes…

Sunday, July 24, 2005

Hummingbirds, spiders and flies

Oh my.

Hummingbird update: we still have a dominant male Anna’s—the mob boss—guarding our balcony. He sits in the oak tree opposite us, watching the feeder, and zooms in like a tiny chirping torpedo the moment he spots any interlopers. Hummingbird fights are all about noise and speed; the sight and sound of him approaching is usually enough to see off his opponents.

However, he’s much better at spotting other hummingbirds when they’re on the move than when they’re still. Hardly surprising: we have the same problem spotting him when he’s perched in the oak tree, particularly as he’s taken to hiding amongst the leafy branches rather than perching on the exposed dead branch he used to prefer. Occasionally, a hummingbird will make it to the feeder without being spotted, where it’s free to take a big long drink; only when it takes off to leave does the mob boss notice and chase it off.

And I think his status might be on the wane: there’ve been a number of standoffs lately in which a challenger refuses to be chased off by him and tries to face him down. There’s a lot of noisy posturing in these confrontations: wary circling, jockeying for the height advantage, feints and rushes towards the opponent to try to make him turn tail and run. Our guy has won so far, but I wonder if his days on top are numbered.

We saw the biggest confrontation yet yesterday. Two hummingbirds snuck unnoticed onto the feeder to drink. This is unusual enough in itself: hummingbirds are aggressively territorial and rarely share a feeder. But then a third, and a fourth, hummingbird spoiled their idyll by zooming around the corner, attracting the boss’s attention. He zoomed over to be faced with four birds to chase off, two of which stuck around to challenge him. It’s tough work being the top dog.

As for the spiders and flies: the neighbourhood is infested with tiny spiders. I think the drainage channel running alongside apartment complex attracts lots of tiny flies, which in turn attract the spiders. They love our balcony railings; they love the entryway to our apartment, where the light stays on all night; and they love the bushes alongside the trail, many of which are so draped with webs that they look like they’ve been covered with dirty snow. And despite the window screens, both spiders and flies sneak into the apartment, where the spiders spin webs on the textured ceiling and catch the flies.

Tuesday, July 19, 2005

Javascript citations, redux

Following on from yesterday’s experiment: I decided that yes, the automatically-added link citations were cute enough to keep. Not cute enough to turn on by default, though.

So I’ve added a little extra Javascript here to scan each post for autocitable links and, if any are found, to add a link down in the byline to toggle link citations. Give it a go: it’s fun. Unless you have Javascript turned off, in which case you’ll be unobtrusively none the wiser.

Nitty-gritty: function make_autocitation_link in file blogger-tools.js. Pass it two IDs: the ID of the <div> or other container to which you want citations added; the ID of an <span> or other container to which to add the “add citations” link. In my case here, the first is the <div> containing the post body; the second, an empty <span> in the byline.

Possible customisations: the citation_add_link and citation_remove_link variables contain the text for the “add citations” and “remove citations” links. The citation_pre and citation_post variables contain optional text to be added before and after the link.

And some mild tweaking: I excluded image links—links which contain only an image, for example the maps here and here—from autocitation; the results were more ugly than useful. And I’m toying with also excluding links to other pages here: it all starts getting a bit too self-referential, and to be quite honest nobody ever talks about me anyway…

Monday, July 18, 2005

Javascript: Adding Bloglines & Technorati citations

Robert Scoble’s been on a bit of a Technorati-vs-Bloglines kick recently: his initial post, more comparisons; and more; more; yet more. David Berlind calls him on his approach; Scoble responds, twice; and so it goes on. It’d be fair to say this has become a minor obsession.

Meanwhile, the rest of Scoble’s readers got a bit fed up with his new habit of adding citation counts to every post he makes. I fell firmly in the “fed up” camp, commenting:

I hate the links; they’re just so much extra non-content cruft getting in the way of skimming the posts.

And you, Robert, of all people, should understand the value of skimming. To you, every single post in your blog is of interest (as mike put it, you like yourself a lot), so you consider the links useful “for finding other opinions”.

But your readers are a lot more selective in what we find interesting. Not all your posts interest all of us; we skim you. We’re not interested in other opinions on the posts and links that don’t interest us.
The “you of all people” is a reference to Robert’s notorious 1000-feeds-a-day reading habit, a feat he accomplishes with a combination of skim-reading and targeted searches.

In retrospect, that was a little harsh; sure, the links are irritating, but his blog is his place to do whatever he wants with. Sorry Robert. But one thing he said, though, stuck with me:

I wish there was a bit of JavaScript code that I could insert into my posts here, that would add a link automatically.
Well, that seems fairly easily doable; I knocked a quick one up, and here’s an example of it in action on an edited version of one of Robert’s recent roundup posts. Hit the “Add citations” link to see it work. (This won’t work if you're reading in an aggregator, as uses a script loaded from my blog template.)

Brian Smith at Comparison Engines reports: Microsoft officially enters the comparison shopping space.

Sunbelt Blog: So just what does "ignore" mean? (Discussion about Claria and other spyware ratings).

Engadget: FAA not planning to make in-flight cellphone calls very easy. GOOD!!!

Susannah Gardner in USC Annenberg Online Journalism Review: Time to check: Are you using the right blogging tool?

Gizmodo: Joel quits: The Next Generation.

eWeek: New XP SP2 Flaw.

Apophrenia: Which evil nation state are you? (similies for Microsoft, Yahoo, and Google).

This doesn’t quite duplicate Robert’s hand-edited citations, which include the link count. That part’s not doable from JavaScript (for security reasons, scripts can’t make requests outside the page’s domain), and even if it were, fetching the link count for each link on each page view would be rather abusive of Bloglines and Technorati. But it’s kinda cute; I can’t quite decide if I want to keep it or not.

The nitty-gritty: function add_autocitations in file blogger-tools.js; pass it the ID of a div or other element to which you want citations added. Add extra citation sources by adding to the citation_sources array.

The citations are added wrapped in a <span class="autocitation">, so they can be styled. The CSS applied here tones down the font size and colours, to make the added links less intrusive:

.autocitation { font-size: 70%; color: #808080; }
.autocitation a:link { color:#8080d0; }
.autocitation a:visited { color:#b080b0; }
.autocitation a:active { color:#d08080; }
.autocitation a:hover { color:#d08080; }

And finally, class="no-autocitation" disables autocitation on any link or containing element: just in case you don’t want your carefully-composed prose messed with.

Sunday, July 17, 2005

Sunday got upgraded

Seven-day weather forecast for Walnut Creek, CA: 101°, 96°, 95°, 94°, 92°, &95° 93°.

Saturday, July 16, 2005

Hot days are here for good

It could be a while before the heat breaks. Here’s today’s forecast, from my Bloglines feed.

Walnut Creek, CA: 96°, 96°, 94°, 91°, 92°, &96° 93°.
Hot day survival guide: shorts, sandals, sunblock, and a hat.

The air conditioning at Walnut Creek library is ancient, but adequate. Andronico’s has decent air-con and, if you’re lucky, samples. (Today we hit the jackpot: samples of their dollar-a-pop cookies.) Cost Plus and Safeway have both really good air-con and nice cold water fountains. (If you’re really desperate, pretend to comparison-shop the frozen food aisles, taking the opportunity to lean right into the freezer cabinets.)

The pool is in full blazing sun for most of the day, but is shaded enough to swim laps until about 11:30am and from about 6:30pm. And the management office casts a sneaky corner of shade from about 5pm, which is handy if you want a quick cooling-off dip without burning under the sun.

Thursday, July 14, 2005

American TV: bad and good

The bad: “That’s a pretty freaking good milkshake. I don’t know if it’s worth five bucks, but it’s pretty freaking good.” Pulp Fiction loses a lot on broadcast TV, with all the swearing dubbed and all the explicit drug-taking cut.

If you like film, you need either a premium cable subscription—HBO and others show films uncut and uninterrupted—or a DVD player and a Netflix, or similar, subscription. It’s just not worth the hassle of watching film on broadcast TV: intrusive ad-breaks, dubbing or bleeping of profanity and blasphemy (a recent showing of The Matrix dubbed “Judas Priest!” over “Jesus Christ!”), selective cuts, and the insidious “this movie has been edited to fit the time allotted”.

Not much has changed since Carlin’s Seven Words You Can Never Say routine; and TV’s self-censorship seems as odd now as it did then. “Ass” is routinely bleeped out. “Crap” is routinely let stand. Fox censors Hell’s Kitchen—a show driven solely by Ramsay’s vitriolic outbursts—by not only bleeping out swearing, but by blurring out the mouth of anyone swearing. Got to protect deaf people from this corruption too. (I’m not sure what they do in the closed captions.)

The oddest thing: sometimes dialogue is censored by simply blanking it out with a moment's silence. Blazing Saddles was broadcast this way, which made for a very odd experience: an awful lot of gaps.

The good: I’ve started watching Lost on the summer reruns, and I finally see what all the fuss was about. The premise is simple, almost hackneyed: survivors of a plane crashed on a remote island gradually find that they, and their surroundings, are not all they at first appear. But the storytelling is very good, unusually so for a mainstream American series. It’s very measured; it’s not afraid of leaving loose ends untied; and it foregoes cheap cliffhangers in favour of a gradually-building mystery.

Lost knows that what you don’t see is as effective as what you do. We see the aftermath of the plane crash, and we cut back to the moments before the crash as we learn more about individual characters, but we never see the crash itself. We know there’s something big crashing through the jungle, but we never see it; it’s more interesting to see its effect on the characters.

And so far, it’s avoided falling into the “who do we kill off this week” trap. There’s 47 survivors left, but it’s OK that we don't know all of them, and it’s OK that we don’t know much about some of the main characters; the characters, like the plot, unfold gradually.

Highly recommended. I’m hooked.

I made this: Chocolate Tofu Mousse Pie

Our Fourth of July potluck offerings: a repeat of the successful onion dip, and another try at pie, after last time’s flop. In Amy Sherman’s potluck archetypes, this puts me somewhere between a Repeater and an Overachiever.

This one’s a recipe from the Next Food Network Star series. A somewhat disappointing show, because the network’s focus is obviously more on entertainment value than on cooking skills: an impression reinforced by the glimpses of the Food Network production processes, which pretty much reduce the cooks to script-reading presenters.

But anyway; this was an odd-sounding recipe which got high praise, mostly along the lines of “you’d never guess it was tofu”. And you wouldn’t. The tofu here serves as a neutral filler; it’s the chocolate and vanilla which make it deep and rich. It’s very, very good: highly recommended.

The recipe calls for silken firm tofu, which seems to be a contradiction of sorts. In my supermarket, regular tofu (the slightly granular type) comes in grades from soft to extra-firm; silken tofu (the smooth type) comes only in soft. I figured the smoothness was more important than the firmness and bought the silken tofu; it worked out just fine.

For future reference: pie crust. 1 cup (about 10) graham crackers, 2 tbsp sugar, ground together; ¾ stick butter, melted; mix and press into tin; bake empty at about 350F for about 10m, but keep an eye on it as it browns fast.

Categories: Food

USB coffee-warmers: waste of money

The line of gimmicky things-that-plug-into-USB gadgets includes: USB-powered mug warmers. These are pointless, and here’s why: USB doesn’t provide enough power to make any appreciable difference.

USB ports are rated at up to 500mA at 5V: that’s a whole 2½W of warming power.

How much power does it take to keep a mug of tea warm? Well, let’s start with some assumptions. We’ll ignore the mug. We’ll assume tea’s pretty much water. We’ll guess that a mug holds about 250ml of tea; so a mug of tea has a mass of about 0.25 kg. Tea’s brewed at 100°C, drinkable at 60°C. And let’s say a mug of tea cools from just-brewed to drinkable in 10 minutes.

Now, the specific heat capacity of liquid water is 4186 J/kgK. So in cooling from 100°C to 60°C, the mug of tea has lost:

ΔQ = mcΔT = 0.25 x 4186 x (100-60) = 4186 J of energy.

It’s lost that energy over 10 minutes, which is 600 seconds; the tea is losing heat at an average power output of:

W = ΔQ/Δt = 4186/600 = 67W.

That’s way, way more than the feeble 2.5W the warmer is putting into the tea.

However, averaging over time assumes that objects cool linearly. Not so: Newton’s Law of Cooling states that the rate of heat loss, and hence the rate of temperature change, is proportional to the temperature difference between the body and its surroundings:

dT/dt = -K(T-Ts)

We can solve this for the proportionality constant K by integrating over time. Let’s assume the surroundings are at 20°C:

K = (1/t1)ln(T0-Ts/T1-Ts) = (1/600)ln(100-20/60-20) = 0.00116.

This means that at 60°C, the rate of cooling is:

dT/dt = -K(T-Ts) = -0.00116 x (60-20) = 0.046 °C/s.

The heat loss per second is:

ΔQ = mcΔT = 0.25 x 4186 x 0.046 = 48 J/s = 48W.

Newton helps a bit—it’s easier to keep a mug of tea at a lower temperature than at a higher temperature—but still: it’s going to take a lot more than this product’s 2.5W of power to do so.

In fact, let’s use Newton to calculate how warm 2.5W of heating is going to keep the mug of tea:

dT/dt = -K(T-Ts) and ΔQ = mcΔT

⇒ dQ/dt = -mcK(T-Ts)

⇒ T-Ts = -1/mcK dQ/dt = 1 / (0.25 x 4186 x 0.00116) x 2.5 = 2.07°C.

2 degrees above ambient. USB coffee warmers: cute gimmick, useless product. If you want to keep your tea warm, a covered mug would make a much bigger difference.

My back-of-the-envelope calculations are borne out by Amazon’s reviews of electric coffee-warmers. Take for example this Rival unit, rated at 22W, which reviewers still claim is underpowered: “barely warms the cup, let alone the contents”.

Wednesday, July 13, 2005

Coke, redux

Coca-Cola Zero: not good. Sweeter, less sharp, than diet and regular Coke; closer to Pepsi. I suspect it’s a calculated, and subtle, repeat of the New Coke tactic: invade Pepsi’s market share by mimicking their formulation.

Categories: Food

Tuesday, July 12, 2005

The pool and the plugs

97°F today; my hottest day here so far. But I’m not sure I’m suffering quite as much as I did in June’s heat; maybe I am starting to adapt.

The pool has warmed up a lot: getting in for tonight’s swim was less “ooh, ah!”, more “aaahhh”. May’s swallows have moved on, but tonight there was a hummingbird in residence, perching in the cherry tree and swooping in to feed from the tubs of flowers around the pool. And y’know how much I love the hummingbirds

But I’m going to have to change my tactics. I was working up to the mile, but that’s 150 laps. That’s doable, if I plug away at it, but it gets awfully boring. I’m trying a new regime: 80 laps, in 8 repetitions of 5 easy laps, 5 flat-out laps. Shorter, but more aerobic.

Physicians’ Choice “Ear Putty” ear plugs. And these are the plugs. I had a nasty ear infection a few years back (worst pain ever: like stabbing hot knitting needles in your ear, hour after hour, day after day) which seems to have left me susceptible to recurrence. My GP, before I left Britain, told me in no uncertain terms: keep water out of your ears. And he was right: no more dunking my head in the bath or swimming underwater, no more problems.

So that leaves me a choice: wear the plugs, be free to swim any way I want, but swim in near-complete aural isolation from the surrounding world. Or forgo the plugs, experience the world, and limit myself to the head-held-high breast-stroke I always associated with the ladies who swam early-morning sessions at Windsor Leisure Centre. I’m not sure what’s better.

As for the plugs themselves: they work. But they don’t last very long; the silicone starts cracking, and they start getting, well, whiffy. Very whiffy. Earwax whiffy. I suspect the whiff is a good indicator: time for a new pair.

Monday, July 11, 2005

What makes a good software engineer?

First—well, OK, second—step in writing a résumé: identify the skills, knowledge, and experience that are needed for your job objective. (The first step: identify a job objective.)

Well, I’m a software engineer by trade, and most recently an embedded software engineer. So, what makes a good software engineer?

Technical skills

  • Programming languages. For embedded software, this means C; very rarely C++; and a passing knowledge of assembler, at least in general terms, is a bonus.
  • Scripting languages. It’s useful to know one at least; they come in handy for knocking up tools and for automating processes. I’m a big Python fan, but the choice of language is less important than the ability and willingness to wield it.
  • Real-time/multithreaded experience. Vital for embedded software, which lives or dies on reliability and response time; and arguably increasingly important on the desktop too.
  • Debugging experience: tools, techniques, mindset.
  • Testing: approaches, committment.
  • Quality. Appreciate and judge the need for code accuracy, precision, efficiency, maintainability; often these are antagonistic.
  • Tools. Familiarity with the development toolset: IDEs, compilers, debuggers, source control systems, bug trackers, build tools and processes.
  • Hardware. Specific to the embedded engineer, this, but: the ability to read a datasheet, trace a schematic, identify parts on a board really, really, helps.

  • System/architecture design, including avoidance of this-is-right hubris.
  • Module design.
  • Interface design: to my mind, one of the most important, difficult, and neglected areas of design.
  • Fine-grained design: class, function structure.
  • Knowledge and appreciation of design patterns.
  • Knowledge and appreciation of object-oriented design.
Knowledge acquisition

  • Humility: there’s always something new to learn. Open-mindedness.
  • Active seeker of new knowledge.
  • Adaptable to changing environments.
  • Rapid uptake. There’s often times when you need to soak up knowledge: new projects, new technologies, new hardware. Being a quick study really shines here.

  • Clear reporting to project management.
  • Good and professional communication with suppliers, customers.
  • Presentation and training skills, both in preparation and delivery.
  • Collaboration with peers.
  • Mentoring, encouragement, development of juniors.
  • Ability to give, receive, and act upon objective reviews.
  • Ability, and willingness, to participate in process improvement activities.
  • Diplomacy. Able to form professional relationships with colleagues, suppliers, customers, even if you don't like them on a personal level or respect them on a technical level. Able to navigate politically-dangerous waters: be the bearer of bad news, respect confidentiality, manage conflicts.

  • Good written English. The great forgotten skill of the industry, in my opinion. Engineers spend a lot of time writing specifications, reviews, documentation; reviews; code comments; email communications.
  • Clear, concise, accurate writing, particularly in technical contexts.
  • Ability to structure documents, sections, paragraphs, sentences, to tell a compelling and clear technical story.
Time management

  • Estimation: accurate and reliable. Not that that’s ever really achievable, but close is better than wild.
  • Delivery: reliable delivery, or failing that, good early communication of slippage and of possible remedies.
  • Multi-tasking. Often many simultaneous demands and distractions: manage and prioritize.
  • Reactive and proactive: sometimes a difficult line to walk. Anticipate everything and you’ll have time for nothing.
What may be surprising here—and despite my awareness of it, still surprised me a little on writing it down—is just how little of the software engineer’s job is the nitty-gritty of programming. It’s the key part of the job, yes, but it’s backed up by a host of other skills.

So, any suggestions for additions?

[Updated 12th July: added testing. Doh! It’s so important, it shouldn’t have been an afterthought. Added diplomacy.]

Breaking out of the rut

It’s official: not working has stopped being fun and started being a drag. I need more structure to my day, I need more challenges, I need to meet new people… and some income would be nice too. It’s time to stop procrastinating and start the job search process.

But how to break out of this comfortable, idle, but ultimately unsatisfying rut and knuckle down to it? Get active, get structured; get professional; get positive:

  • Set a regular time to get up, and stick to it.
  • Schedule at least an hour of job-search activity per day.
  • Avoid distractions, displacement activities, and rewards until the work is done.
  • Get some exercise every day, if only just a walk around town.
  • Get a hair cut; stop letting the beard stubble grow.
  • Stop fearing the process; start embracing it.
It’s not lost on me that one man’s rut is another man’s mild depression; in fact, I’m not sure there’s much of a difference.

I’m rusty on the job-search process: my last job was one I loved, with great projects and a fantastic bunch of co-workers, and I stuck with it through ten years, five promotions, five buyouts, and three employers. I haven’t been on the market for a long time. The first step: assemble the résumé.

(And it’s always “résumé” in the US: say “CV” and you’ll get a blank look. American English has an odd affection for French pronunciation, even on Old French words that passed through Middle English: see also ’erb, ’omage, fill-ay.)

Friday, July 08, 2005

On London

Well bugger: the city I called home for ten years hurt again.

Adactio’s post was one of my favourites from yesterday:

Londoners react to explosions not with fear and terror but with resolution and bravery. The eyes of the world are on London today. The world will see a display of stiff upper lips and unity. If there’s one thing that Londoners can do well, it’s this: they cope.
Yes they do. London’s reaction to war, terror, hatred, and disaster has been level and constant: “it’s terrible, but life goes on”.

Tuesday, July 05, 2005

Parading the Fourth

My first Independence Day in the US. We went down to the in-laws’ in Danville, who took great delight in teasing me about how the day celebrates “throwing off the English oppressors”.

I didn’t really have the heart to tell them that the Declaration of Independence is much more significant to Americans than to Brits. To Americans, it marks the birth of a nation. To Brits: just another colony lost. And we had plenty to be getting on with besides America: dealing with Napoleon, subjugating India, and trying to hang on to South Africa. Losing America? Most of us, these days, are more miffed about wasting all that tea.

We walked into downtown Danville for the parade, a big event, but a little odd in some ways. Compared to carnival parades in Britain, there’s a lot more political self-aggrandisement: lots of open-topped cars carrying local government officials—from city council members up to the local congressman—with placards proclaiming the occupant. More kids’ sports teams. More guns: the parade ends with a continent of riflemen who stop every hundred yards to fire blanks into the air.

And more commercialism: a lot of floats are sponsored by, or directly entered by, businesses. All very well when they’ve put some effort into decorating a float, or when they hand out decent samples (Dreyer’s icecream; Andronico’s peaches; Ghirardelli chocolate). But a note to car dealerships: simply driving your inventory along the parade route does not quite cut it. I was annoyed enough to email the parade organiser and the dealership:

I was a bit puzzled by the Berkeley Honda entry. Five cars, with no decoration except the name of the dealership. This seemed to me a bluntly commercial advertisement, with no effort made towards the spirit of either the day or the event. Couldn’t they have tried a bit harder?
Meddling in other countries’ affairs: it's the British way.

Sunday, July 03, 2005

Building a better library

As I mentioned a while ago, plans are afoot to update Walnut Creek’s tiny, and overloaded, library. Thursday saw the first public workshop on the library design: I went along to put my oar in.

First overwhelming impression: design is a long, slow process. Construction probably won’t start until 2008; the new library won’t open until 2010. And the second overwhelming impression: people—or at least, those who turn out to public meetings—are passionate about libraries.

It would seem that, although the City’s chosen an architect, it hasn’t necessarily chosen the design which got the architect the job. They’ve been asked to reformulate the design, based in part on community input. Which is where this meeting comes in: after a brief introduction, we split into small focus groups to discuss priorities for library services and for the site.

On library services, the top priority of every group: collections. Don’t build us a big library with a few books in it—I was ready to bring up Danville as an example, but was beaten to it—we want a lot of books.

On the site, everyone wanted more made of the creek, which runs along the site but which currently has little pedestrian access. Civic Park is one of the few places in downtown where Walnut Creek is actually both visible and natural: for most of downtown, it runs either underground or in concrete.

The site is, however, controversial; a chunk of creekside land, behind the current library, is privately owned and occupied. The City’s currently trying to negotiate with the owners, but—especially given the recent Supreme Court ruling—the spectre of eminent domain hung large over the meeting.

The next workshops are in September, on the conceptual site design, although there’s a couple of council meetings before then which might also prove interesting.