Ian’s walking

Ian is now walking more than he crawls. The switch from last night to tonight is dramatic. I’ve only seen him crawl a few times this evening. That’s three weeks since his first steps.

Back from Unistar

The family’s back from a vacation at Camp Unistar, thus ending a busy month. I also went to Opus for the last time (I’ll be too old next year), which I left early so I could be home for Ian’s first birthday. (We had a small celebration, no guests. He wouldn’t appreciate a big party.) The following Monday morning at 3:30 I went to the airport to get to SpeechTEK, a conference where I was on booth duty for my company. I got back to town on Thursday (on an equally early flight) and was off on Saturday to Unistar. It seems I did nearly all my travel for the year in a single month.

While I was away at Opus, my father-in-law (one of the many Davids related to Jordan) came to visit and ended up landscaping the back yard. That plus a new fence makes a huge improvement to the yard– if you ignore the huge areas where the new grass hasn’t grown yet.

This coming month looks to be really busy too. Home life is always busy when you’ve got two kids, but work is starting to heat up. I’ve had it easy since Ian was born, but now there are three potential clients which have expressed interest in big projects, all of which would require custom (i.e. written by me) features. One of which might get kicked off this week. And there are a few more big projects coming down the pike that aren’t quite as urgent, as they don’t have paying customers behind them.

Ian got a lot of practice walking at Unistar. He’s now walking about a quarter of the time, and for as far as 10-20 feet.

Ian is walking

Ian has been taking one or two steps for a few weeks now, but yesterday afternoon he took three deliberate steps from the the dining room table to me. He even had to turn slightly to make the walk.

He’s definitely walking now. A few minutes later we were able to catch it on video, and we’ve gotten him to do it several more times. By next week it will probably be his primary mode of transportation.

Right idea, wrong orifice

I was talking to Jordan on the phone yesterday when I heard a high-pitched raspberry coming from Ian. And then again. And then it became clear that Jordan could trigger it.

Jordan was trying to wipe his nose. He’d seen Jordan help Sylvia blow her nose, and apparently was trying to mimic the nose blowing.

Eyeball hack

I’ve been playing around with GWT recently, Google’s toolkit for making Gmail-like applications in Java. The idea is pretty slick: you write both the client (web browser) and server portions in Java, and then it translates the client-side Java into several dialects of Javascript (one for each of the major web browsers.) You get to use a Java debugger and keep all your code in one language, without having to learn all the nuances of each web browser. It works great if you’re writing something that works like Gmail, but it’s totally inappropriate if you just want to add a few flashy effects to a web page.

That said, here’s an example of something I whipped together in GWT. For the record, my three-year-old thinks it’s funny, most people think it’s mildly creepy, and Seebs says it’s disturbing to autistic people like himself– but only due to color asymmetry.

Bridge collapsed, we’re fine

Last night a major bridge in Minneapolis collapsed, the span of Interstate 35W which goes from downtown from points north. It’s been on the news, so I want to reassure everyone that we’re all fine. I don’t know of anyone who was on the bridge at the time, though I know a few people who crossed it minutes before it collapsed. My family crosses the span only a few times a year.

There were about 60 vehicles on the bridge at the time, including trucks and a school bus. (All the kids evacuated safely, with a few minor injuries.) There was road resurfacing going on, so the highway was down to two lanes in each direction with stop-and-go traffic. The latest report I’ve heard is 4 dead, 79 injured, and 20 missing. But the whole city is in shock, because everyone knows somebody who crosses that bridge, and anyone could have been crossing the bridge.

I’m not sure what will happen in terms of traffic. You can’t replace an 8-lane bridge overnight, and all of the bridges are heavily used for miles in each direction.

The apartment where I lived in grad school was about 500 feet from the bridge in question, as you can see here. The image shows two parallel bridges, one a 4-lane city street, the other an 8-lane highway. The highway collapsed. My old apartment is at the southeast corner of the 4-lane bridge, but it’s hard to make out because the border between the images cut straight through the middle of the building; its shadow and tennis courts are clearly visible, but if you zoom in you’ll see one ghostly tower swaying northeast across another ghostly tower swaying southwest. (It will be interesting to look at that image for years to come to see how soon Google updates the images. If you look upstream, you won’t find the new Guthrie building, but you will see the tents where Cirque du Soleil was many years ago.)

Discover Card: an identity theft imposter

Why do financial institutions insist on pretending to be identity thieves? I just made a big purchase on my Discover Card, and to verify the transaction they left a message on my answering machine telling me to call a number that’s not listed on my card or their website. (1-800-347-4996) Indeed, without calling Discover, their phone company, or the police, there’s no good way to track a random toll-free number. (It’s a little more dangerous for a crook to set up a nefarious number than a nefarious website, but it can be done.)

The irony is that Discover’s website has a quiz on the front page, where one of the questions involves a phishing attack identical to what Discover itself did, except that it’s done through email rather than the phone.

It’s not just Discover. This behavior is rampant among financial institutions. My retirement account (through Charles Schwab) has an option to send monthly reminders to check your online statement. The email has an embedded link, so you can click on it rather than typing the URL into your web browser. Which is exactly the behavior you shouldn’t do, since the link may be to an imposter site.

The reason they do this, of course, is because your security isn’t their priority. They’re not to blame if you fall for an imposter: except for training you to fall for the trick, they’re not even involved.

Actually, that’s not quite true. Credit card companies are on the hook for all but $50 from a fraudulent transaction. So Discover should be trying to prevent this sort of attack. Why don’t they? For one thing, it’s not a common attack yet. But the root cause is more subtle.

Companies secure assets, information, and transactions. Thieves attack the weakest link in an ecosystem. Companies worry about their own infrastructure and how people interact with it. Imposters aren’t part of that world: they create their own faux world. Banks aren’t used to worrying about how customers can verify their identity. Typically you know it’s your bank because you walked into it. Or called the number printed on your statement. That’s not a safe assumption now, if it ever was.

More important, security often consists of reacting to known attacks, rather than preventing potential attacks. In many cases, that’s a good thing, since attackers won’t try something novel unless the tried-and-true stops working, and you can waste a lot of time preventing imaginary threats. With credit card theft, tricks that worked decades ago work just as well today. But identity theft is still evolving, and the preventative measures– in this case, using the same phone number for all incoming calls– are cheap and easy.

(Computer security has the opposite dynamic: preventing whole classes of potential attacks is usually more fruitful than fighting known attacks. That’s because an attack can go from being unknown to being common in a matter of hours. And attacks need to be novel, since once a security hole is patched, it is fixed permanently.)

For the record, I called 1-800-DISCOVER, which is the number printed on my credit card, and had an agent transfer me to the fraud prevention department.

“I put a pea in my nose”

Sylvia said that matter-of-factly during dinner Saturday night. The same way she might announce that she’s wearing sandals. (Matter-of-fact for a three-year-old sounds surprised and slightly amazed to adult ears.) After calling the doctor and trying a few nose-blowing techniques, it was off to the emergency room.

The doctor gave her a nostril constricting spray, and had her try blowing hard several more times. Sylvia was remarkably calm as the doctor prodded the pea with a tool consisting of a tiny metal loop on a stick. Then we were back to blowing many more times.

Eventually the doctor used a trick which, according to the nurse, none of the other doctors know. She stuck an oxygen tube in the opposite nostril and had the nurse crank the oxygen to full blast. I restrained Sylvia, and the pea flew out her nose. The doctor was so impressed with how well-behaved Sylvia was that she gave her a big hug. And the nurse gave her an orange popsicle.

If Sylvia had been as well-behaved for us as she is for strangers, we wouldn’t have ended up in the ER. But that may be a little much to ask for a three-year-old.

Toby (cat), 1994-2007, RIP

Toby died yesterday morning at 7:50 AM after suffering from congestive heart failure. Toby was an opinionated cat, who in his early year was a fist-sized gray blur, racing around Gypsy’s apartment in Grinnell. He spent the first half of his life as an indoor cat, but after permanently moving in with us, he became an avid outdoors-cat. He was perfectly camouflaged as a rock in the yard even when, on consideration, that was not a place where gray rocks were known to be found.

Although known for his loud disposition, he mellowed with age, but remained opinionated, though not aggressive. He overcame his aversion to being picked up. He was not merely verbal, but his declawed paws could be heard at a distance when he walked on a hardwood floor. At the same time, he was easily contented as a lap-cat, requiring few scritchies and perfectly willing to purr in one’s vicinity.

His blue eyes, rock impersonations, and loving purr will be missed.

He is survived by housemate Brittanicus, as well as humans Jordan Wood, David Leppik, Sylvia Leppik (age 3), Ian Leppik (10 months), and his first owner, Gypsy Gies.

A memorial service will be held at his residence in St Louis Park, MN in about two weeks.

On a more personal note, this is the first time I’ve actively been involved in the death of a loved one. I had him euthanized this morning, after he spent a night at the emergency vet. He was having difficulty breathing, even with oxygen. The emergency hospital is only open at night (it’s a pet manicurist or something by day), and he likely wouldn’t have survived the short ride to the regular vet.

I left for work before Sylvia woke up. Jordan had to break the news. She seems to understand, though her comprehension is a little shakey. She has been asking about death a lot lately. A few weeks ago she had me explain how funerals work. She seems to think that you reach a certain birthday and then you die. (A few days ago, on my sister-in-law’s birthday, she asked “is she going to die?”) She also thinks that animals turn to stone when they die, based on fossils she’s seen at the Science Museum.