Author Archives: DMZ

Little Brother review

Little Brother, TOR, available at fine retailers or online for free (!), Cory Doctorow.

For starters, I’m reviewing as an adult science-fiction reader. It’s being sold as a young adult book, but genre classification’s always a bit of a joke, and to deal with that point right off the bat: it’s a good read as an adult science-fiction reader.

When I was at Clarion West, I was talking to Patrick Nielsen Hayden, the supremely awesome Tor editor, about free books and some other good stuff and he gave me the pitch for this book, and I said “I’d buy that” after the first sentence. The one sentence pitch is: “It’s a group of teenagers who are in San Francisco when terrorists blow up the Bay Bridge and every chapter revolves around a different type of security vulnerability.”

Here’s the good stuff —
– It’s funny
– It’s fast
– It’s well-paced
– It’s interesting and technically sound
– It’s at times brutal and heart-rending
– It’s entirely too plausible
– There’s an immense amount of really-well done throwaway detail that I just loved. Really, if you read this while paying attention, you’re well-rewarded.

There were times, as I rushed through reading it (and I burned through this one) that I wanted to punch something, or start crying. I felt a lot of the frustration, anger, and terror I’ve felt watching my country in trouble these last few years, and it wasn’t pleasant having those emotions stirred up.

The bad:
– I read the ending and was immensely dissatisfied with the resolution of… some things.
– I’m not sure if this is me versus the YA aspect or what, but I pretty much figured out every character arc and twist in the initial subtle hint. You may see what I mean when you read it. This didn’t at all distract from my enjoyment of it, and it also means you’re ahead of some of the characters sometimes, but… I’m having trouble expressing this well. The characters and their motivations are entirely plausible, but the impact of some developments is lessened when you know with absolute certainty they’re coming and at a certain point in the book you know your predictions are always going to be right. I kept expecting a second level of complexity, if you will, and it never came.
– There are a couple scenes, especially towards the end, that don’t reallllly make sense if you think through what everyone’s doing from their point of view, and that didn’t stop me from reading, but it did detract from the plausibility the book had earned up to those points.
– It is at times a little too obviously exploratory, to the point where a character could in the middle of dialogue, say “And if you want to know more about this and other great topics, head to your local library!” and it wouldn’t be jarring. That… I love my dialogue, and this kind of pained me.

To circle back around, though:

I’m a choosy sci-fi reader, and I read it straight through, enjoyed it immensely. “Rollicking” would be a fine adjective to use. I would want to buy it for my kids, were they teens. I love this kind of openly social, political sci-fi, where we can talk about how technology affects us for the better and worse, how it can free and constrain us, and I loved the book.

I’d say if you’re an adult and you haven’t gotten into Doctorow’s stuff, I might recommend “Eastern Standard Tribe” for the same kind of really-fast-paced excellent writing with a higher reading level, but even that doesn’t have the politics I hunger for. “Little Brother” rocks out.

Something I worked on is live, yay!

Most of my software career I’ve worked on stuff I can’t show off, which is why today’s particularly fun for me. Led by Marcos Guerrero, who I fully endorse as a business customer and Elena Camerini, the senior program manager on this project, Expedia just deployed a whole new set of pages… across nearly every point of sale. I obviously shouldn’t talk about the why, but they’re live, so I’m free to link to them.

Here’s one for Hotels In London on Expedia.co.uk

Or Hotels In Barcelona Stadtregion on Expedia.de, our German site

Things I touched there: I wrote the spec for the filters on the left-hand side, the list of hotel results down the middle, and the map widget on the right hand side.

I’m quite proud of the team.

Pair of jeans raises disturbing questions to fashion victim

When I was growing up, there was a huge status thing around Levi’s. Anything else was a huge step down in terms of respect. Wranglers? Get out of here. Lord forbid you should wear Toughskins or something. As a result, I made a royal pain in the ass of myself pestering my mom when we went back-to-school shopping, and as a result she’d watch the papers until someone ran a sale, and I’d get two pairs.

The thing I loved about them at the time beyond lowering my social visibility was that theose things were well-nigh indestructible. I spent a lot of my time running around in the woods, clambering down stream beds, and generally beating those things up, and I’d often outgrow them before they came apart (the knees, generally, or the cuffs.

As I grew older and I had to start paying for my clothes, I stopped buying them, because I wasn’t the ad-watcher my mom was, and the social acceptance went way down. But if I ever came across some ridiculous discount, I’d pounce. Better to pay more for a quality pair that lasts than burn through six pairs of cheapo brand.

Then I broke with the brand entirely when they went the Walmart route. Levi’s started to produce a down-brand crappy jean they could sell for less at Walmart, and to me, it destroyed the company: they went from being a high-quality, high-cost item I aspired to to competing with the cheap-o crap-quality clothes I didn’t like at all. Soon, they stopped producing any clothes in the US, and Levi’s became something else entirely — just the tag, and a tag that carried a significant price premium. The one time I bought them, the quality was terrible, and they were toast within months.

I stopped caring for years. I bought my jeans wherever and didn’t care. I’m unwilling to pay big money for designer jeans, I can’t find a decent source for oragnic cotton/hemp jeans or anything interesting, and my uniform for a good chunk of the year is Boring Suburban Dad:
– khaki shorts
– dark-colored T-shirt

Which, and this is another topic entirely, really annoys me. I don’t like looking lame, but I don’t know any better. I want to wear shorts in the summer, I’m sorry. How do I do that and not look like I’m about to mow the lawn or start complaining about kids today with their text messaging and their blogging?

That ties in to what happened a couple months ago: the last time I was shopping, I happened across some 501s on a huge discount — as cheap as anything else at the store. And they were the Mexican Levi’s, too. I bought a couple pairs and went through the ardous process of getting them to fit properly.

They look great. They fit, they’re comfortable, they look good — people actually compliment me on my jeans. And how I look generally on days I wear them. Even I look at myself before I go and think “Huh, I do look significantly better than normal.” This is unheard of, as I have no fashion sense at all (see above).

I maybe have five, six pieces of clothes that I’d say make me look nice, and now three of them are pairs of jeans. I’m a little disturbed.

I don’t know what to do. I have mixed feelings about the whole things, and I’m spending a lot of time pondering questions that never occurred to me not that long ago:
– Has the non-US build quality of Levi’s improved that much over the years?
– Is it worth spending a little more to get jeans I like?
– Are there even better options that don’t cost $300 a pair?
– If some well-fitting jeans make that big of a difference, are there other similar upgrades available?
– Really? I should spend some more time on how I dress?
– I can appreciably improve my appearance through clothing choices?
– How do I learn to do that?

Today’s baffling Craigslist find

I’ve had an eye out for a hybrid for a while — Mrs. Zumsteg in particular has an extremely short commute on city streets, and her car is going to need replacement at some point here.

Anyway, I saw this in a Prius ad:

Mileage is around 91k right now, which is considered pretty low for a hybrid.

What does that even mean? Are hybrids supposed to have high miles? And who considers that low? My insurance company figures that ~10k/year is normal. This thing isn’t far out off that pace, but that’s not low.

The really interesting thing to me is that someone composed that sentence thinking it was a selling point or even a mitigation strategy. Now, if it was highway miles, you might go “okay, well, that’s not 91k of stop and go, at least” but the author of this ad thought something like “I’ll disclose the miles… jeez, that seems high now that I’ve written it down. I should say something. Um, ‘At least it’s not 100k?’ No, that just reminds them it’s close. What do I do?”

And eventually settled on this bizarre nonseqiutor. What were the rejected second halves of this sentence?

Mileage is around 91k right now…
– later it’ll be around 81 if I can figure out how to reset this stupid tamper-proof odometer. Heck, 71.
– and 91 was a pretty good year, if you think about it, am I right?
– but that includes the time I went to the store for chips but they were all out and that shouldn’t count
– and I’m going to rack it up even faster after placing this ad
– most of it from driving back and forth to your mom’s house

Inexplicable usability choices: emusic

You can come to emusic in two states:
– logged in
– not logged in

If you’re not logged in, it could be because you’re a member or not.

So let’s say you’re not a member. You’ll look around as much as possible (emusic hasn’t historically made it easy to browse their selection, which I don’t understand) and either decide to sign up or leave.

If you’re a member and you’re not logged in, you may well hit the “login” button.

No one who is not a member, logically, would hit that button. If you were designing the next step, you should assume that your audience is members who are not currently logged in.

Right? So here’s their page.

I don’t mind so much that I’m taken to a login page. But it’s one of the worst examples of poor design I’ve ever seen on something this simple. A login screen should ask for
1. Username/email/whatever the ID is
2. Password

That’s it. Here, you’ve expressed an intention to login, and you get a radio button defaulted to “I am not a member”. Why would you be there if you weren’t a member?

Every time an emusic customer – someone who is subscribing to their service, handing over money every month – goes to login, that button is defaulted to no, and they have to click it to “Yes I have a password”. Every one of them.

Why would anyone who is not a member fill in their email and then hit “submit” on a login page? There’s no indication at all of what could happen next. If they do, by some miracle, they’re taken to the registration process.

Why? Why would a new customer go to “login” then fill in their email address as if they had an account, then hit submit?

Clearly, this page serves two masters: they want to let people log in, and then someone decided that they needed to let people register there as well. But if people wanted to subscribe, there’s a “sign up” button on the front page (!!!). If you were going to subscribe, that’s where you’d go.

It takes you to the registration page, the same as if you’d gone into the login page and blundered past the registration. That makes sense.

I don’t understand why they deliberately designed a page that annoys its intended audience every time it’s used. “I enjoy giving you money each month.” “Hang on, let me poke you in the eye real quick.”

I sent emusic a note about this as a user, where I said “please, if you’re not going to fix the page, could you at least default the button to ‘yes’?” and they said they’d pass the comment along.

It’s a line of HTML. It would take someone five, ten seconds to fix that default and then I don’t know how long to propagate it out. They haven’t done it.

When I work on user interface stuff, I always try and remember examples like this. What’s the user thinking when they come to the page? Are there rough edges we can smooth? If this page can’t easily serve two purposes, can we break it out?

Top Plumbing Tools

I was idly considering cataloging all the injuries I sustained, but instead, I’d like to recognize the indispensable tools of spending a week under the house repairing and rebuilding plumbing runs.

#1 Sawzall
I am so happy I bought one of these. I went through a lot of blades, because it’s hard to cut through galvanized pipes, but holy mackeral, compared to using a hacksaw, it doesn’t even compare. 3/4″ rusted pipe, tough. Drywall, CPVC, anything else? Like butter.

Saved me more time than anything, and fun to use, too.

#2 12″ pipe wrench and
#3 10″ pipe wrench
Bite and turn. Easy to adjust, use, and a decent hammer in a pinch. Heavy enough for stability, light enough to wield accurately. With two, it’s easy to brace piece A and then turn piece B against it.

#4 massive quality adjustable crescent wrench and
#5 smaller quality adjustable crescent wrench
Almost the same deal as above, except with fittings. A good adjustable crescent that keeps its sizing while in use and under torque is sweet.

#6 Map gas torch.
I can’t believe how handy this thing proved. Mostly used in soldering new copper joints, also handy for heating up stubborn rusted fittings. Also made me feel secure about being able to defend myself from spiders, though it never came to that.

Also of note: the nice 500w portable work light with protective grill, now severely dented. The surprisingly effective respirator mask. Neosporin. Flux. High-quality solder.

This day in plumbing, or “Take that, compression fittings!”

I found that if you’re willing to search them out, you can find sweatable outlet valves. Now, they’re a pain in the ass, and you then have to buy the right tubes and stuff, but it meant that instead of fighting those stupid things for another couple of days, for $10/fixture or so I could break out the torch, some solder, and bam! That thing’s in place forever. Wahahahahaha!

Derek of the mole people

Last weekend, a small thing got bigger and I ended up tearing out the master shower, at which point I discovered that (as I’d suspected) the people who did the last bit of work in there did a really horrible job. I did what I could tearing down the master, and then got through the week without it, working a little bit after work — the fiberglass insulation was moldy, so that had to go, and so on.

Pretty soon, I was tearing out the plumbing. Starting Friday after work, I started to go through and fix stuff. Hall hot water pressure’s always been pretty bad. I found it’s because the pipe was 90% clogged with corrosion.

And as I went down, I got angrier and angrier. Like this.

Things going on here:
– on the right, that white thing is a CPVC pipe, a hot water run. I don’t know when it went in, but it’s super fragile and breaks easily. I would later crack my head on that very joint, and it came apart, dumping water all over me. So I had to re-do the CPVC run. I did not use CPVC. No one uses CPVC.
– the rest of those pipes are the old steel pipes that have rusted. You can see they’re leaking corrosion at the joints
– the joint in the center there is, on the left, held together by electrical tape. At some point in this house’s history, someone went down there, saw a leak, and made a decision that they wouldn’t fix it. You can see that it’s dripping there.
– behind that piece, you can also see that there’s a different pipe run (cold) that comes in, hits a T, one leg of which continues, takes a 90 degree turn up to another T. All of those fittings were rusty and leaky

Or check out this piece of work:

On the left, a badly-done union. Note that it is leaking rust-heavy water.
On the right, that’s a 1/2 inch copper run from the master shower (which I tore out) to the cold water line. Note that it’s directly connected. Two different kinds of metals. This leads to all kinds of corrosion problems. This apparently didn’t occur to whoever did the conversion.

Anyway, my point is that in going through and making all these repairs at once, it’s good, but it’s essentially a re-piping job. Once I’ve replaced a broken CPVC run and the corroded fittings it’s attached to, I’ve broken the next run of rusted-out steel piping, and repairing that…

So my week’s run:
Friday: get home, plumb
Saturday: plumb (several hours of discussing plumbing while not doing plumbing)
Sunday: plumb
Mon-Wed: vacation
Thurs: plumb

I spent ~7 hours under my house today, which is down from Sunday’s 15. We’re four fittings away from being done, but the problem with plumbing – heh – is that getting those fittings working

Here’s what gets my goat, though. Every time I have to use a Sawzall to pull out a pipe or a set of fittings, I think “Someone made a decision to leave this for me, and I hate them”. And it’s true. Whoever welded those copper runs directly in either didn’t care enough to find out the right way to do that or didn’t care that it was wrong. And it goes all the way back — someone made the design decision to build this place with piping that would rust, even though they were laying it into interior walls.

And working all day in a crawlspace because someone didn’t want to put the time and effort in before me, well, that’s not the kind of situation that leads to happy thoughts about those who came before me.

Still, I have high hopes that the water pressure will finally leap back up when I’m finished. Here’s hoping.

Ow ow ow

Yesterday I spent ~15 hours working on my house’s plumbing, and as you’d expect I’m now covered in small cuts, scrapes, bruises, and one burn. The worst of these, functionally-speaking, is the side of my right thumb, which is exactly where I hit the spacebar while typing.

So writing this is a battle between mindfullness, negative reinforcement, and almost a lifetime of touch typing. It’s going badly.

Also, we still don’t have water. There are four outlets (two to sinks, two to toilets) that use compression fittings and last night I managed to get one of them to go from “spraying water everywhere” to “works” at the end of my long shift. I hate compression fittings.

Now that I think about it, the only thing I like about plumbing at all is running pipe, soldering, and doing the planning, because they’re binary: they either work or you screwed something up. This compression fitting type stuff, where I fix it, it leaks, I fix it, it leaks… oh, how I hate it.