Plumbing emergency

Ahhh, now I’m really a homeowner — because I’ve had my first plumbing emergency!

I was having a washer-dryer delivered this afternoon; and when they went to hook up the cold water pipe, it started spewing water. The delivery guys said that the piece where the faucet meets the pipe — which I later found out is called the “nipple” — was all corroded. Although it wasn’t their fault, they slunk out of there as quickly as they could.

So now water is spraying all over the drywall in my garage — not a floodworthy amount, but more than a trickle. Would you know what to do about this kind of problem? I did not. With help from a couple of friends — one of whom found me a picture of the shutoff valve on the web, and another who suggested that they are usually located near the place where you’d wash your car — I managed to find the main and turn it off. Eventually a plumber came out and fixed the whole thing without any permanent damage (thereby proving the value of a home warranty, by the way).

But on my way home from the bank where I was getting money to pay the plumber, my neighbor informed me that I had a bad flat tire. There was a big old sharp screw clearly visible in the tire, sunk in flush with the tread. And by now it’s past 7PM, so there’s no hope of getting a new tire before morning. But the plumber very generously put on my spare for me. The whole plumbing emergency ended OK — I have a working washer-dryer, running water, a driveable car, and a new sense of the kindness of strangers — but it was a pretty draining day.

New old stuff

It’s good to get new stuff, but it can be even sweeter to fix up your old stuff — because then you get the bonus of not needing to get rid of something, as well as the payoff of having something.

Years ago, when I couldn’t really afford it, I splurged on an AnthroCart computer desk. As time went on, it started to get wobblier and wobblier; and now that I’ve gone all-laptop, the keyboard return was starting to bug me. I started to subconsciously feel that it must be defective or possibly just not a very good desk, and maybe I should get a new one. But over the weekend I went to the hardware store and got replacement bolts, and went over the whole apparatus to tighten things up. I also removed the keyboard shelf. All of a sudden, I loved the desk again! It’s perfect for me and in mint condition, I can’t imagine what I was thinking about getting a new one.

Next, we’re going to refinish a wood dining table we’ve had for a long time, to match some new cherry chairs. Then I might fix all the drawer pulls on a chest of drawers I got from my mom.

Trusting Bush

OK, let’s get this out of the way: I was utterly and completely wrong about WMD in Iraq. This Administration basically said, “Trust us on this one.” I did. We all know how that ended up. So now I will never be able to trust President Bush or his cronies again, certainly never on a matter of foreign policy, and therefore he must go. I would probably never have voted for the guy anyway, but probably if he had not lied about WMD I wouldn’t be actively supporting Kerry either.

I sent money to Wesley Clark earlier in the election cycle, and now I just sent money to Kerry’s campaign. Please consider putting your money where your mouth is too, or helping the campaign if you live in a battleground state. It’s not enough to sit around and talk about how stupid Bush is. That’s not the point. The point is that if you can’t trust your President not to lead you into a pointless war, he cannot be President.

Compiling PHP5

One of the delightful things about PHP is that the compilation process changes pretty frequently and without notice. This cuts down on boredom and ennui; you have to actually watch it build, instead of making on autopilot year after year.

The main thing that seems to have changed in PHP5 is that you must now specify the location of your MySQL client files; and for XML support you have to have downloaded and built zlib and libxml in /usr/local. Remember that “–with-xml” now means with Expat, which is probably not the SAX parser you want; to build with libxml , the correct flag is “–with-libxml” or it should get added by default.

UPDATE Sterling points out that “–with-xml” has always meant Expat. I feel that it should mean “with whatever is the default XML parser”, but he’s right.

Fear XAML Week

A couple of weeks ago, Miguel de Icaza gave an interview where he discussed his fear of XAML’s massive wonderfulness (XAML, if you don’t know, is Microsoft’s next-generation HTML-killer — Windows-like apps on the Web, basically). This kicked off Fear XAML Week, in which everyone and his brother made plans for the apocalyptic end of the Interweb itself.

You know, three years from now I could be collecting unemployment because of XAML. But I’m not betting on it. In fact, I am betting that XAML will have maybe about as much uptake as Flash currently has. Why? Because Microsoft is no longer fighting competitors in the marketplace — it’s fighting human nature itself. And human nature is dead lazy.What is Microsoft’s biggest competitor? Old versions of its own programs. Far more people use Win98, IE5, and Word 97 than the next biggest product in each category combined — certainly more than use any Apple or Linux product. And why is Microsoft their own toughest competition? Because lots of people don’t feel a need to upgrade to the latest and greatest products, but stubbornly cling to their “good enough” circa 1998 machines instead.

I see this same resistance to change in webdev itself. Lots of people spent an incredible amount of time and energy learning how to build websites — up to about 1998 or 1999. Then, with the dot-com crash, the vast majority of those people just… stopped. They can’t be bothered to learn about CSS, XSL, or anything else that wasn’t supported by the earliest versions of 5.0 browsers. A huge percentage of websites now basically use a subset of HTML4 with minimal CSS1, and don’t feel any particular need to go beyond that. A lot of them are businesses which have found out that their customers use the site for very specific tasks: finding out the phone number and location of the business, or checking some specific piece of information, or browsing through product data. Does any of this require 3D graphics and GUI-like widgets? Does any of this justify the cost and risk of moving to a Microsoft server platform and requiring your customers to use Longhorn clients?

I’ve spent a lot of the past couple of years being excited about DHTML, pubsub, web services, and a lot of other standards-based technologies. And I’m acutely aware of how few people, even those deeply immersed in the web, know or care about any of this stuff — and how many fewer can justify a major rewrite in their budget. Until a couple of months ago, doing any non-maintenance web work was a luxury that could be afforded only by a very very few companies. Even sites like Ebay or financial services firms that have made a big investment in the web may be locked into statis by the fact that they’ve finally managed to train their users to interact with a very specific UI, and they can’t go making changes to that user experience. So if people can’t see any point in having superfly widgets via DHTML — a technology that has been available for years — what’s going to suddenly make them think they need a gut rewrite in XAML?

Now of course there will be some companies that do need rich clients, and are willing to put up with the nightmare that a 1.0 Microsoft release invariably turns out to be. And there are a lot of websites that are probably due for some freshening sooner or later, which may coincide with XAML’s release. But remember: Flash and Acrobat and Real became popular because they had very easy install processes and the clients were free. XAML isn’t like that — you have to already have the client installed before you can see it at all.

I’m actually quite excited to see how the whole Longhorn story plays out. It’s by far the biggest risk Microsoft has ever taken — they’re not just building a whole new OS and apps without backward compatibility, but all the components seem to be based on new and untried technologies. It’s not like *nix, which has always (for better and worse) built carefully on a base of what has gone before. If it works out, I’ll have to take my hat off to Microsoft’s powers of innovation. But if it doesn’t… even mighty Microsoft could end up biting off way more than it can chew. It’s already stomped on most of the software industry and the Federal government — but now it’s taking on an entirely new and risky product, its own old products, the web itself, and human nature. I don’t see any company winning against that hand; so I’m taking a pass on Fear XAML Week.

Realtor supreme

I must recommend my realtor most highly to anyone in Silicon Valley. Her name is Mary Marley, from Alain Pinel Los Altos, and she’s like a combination of a yenta from Brooklyn plus a hard-headed saleswoman of the year.

Her eye for the crucial detail that can make or break your happiness is amazing. For instance, Tim and I are probably a little strange because we prefer sharing an office; and we spend a LOT of time in there, so it’s important to us. Not every second bedroom is suitable for this because they have too little wall space, or the bare walls are directly across from each other. Mary carefully evaluated all bedrooms to make sure there was one in every house that would make for a comfortable office, not just one that we could cram ourselves into. She also evaluated the living spaces to make sure we could have room for a piano as well as a 6-seat dining table.

Mary is excellent at finding and screening the properties, but I think it’s in the negotiation phase that she truly shines. She puts together your offer with a keen understanding of the seller’s psychology that often is better than money. She even writes up a little story for each buyer, highlighting their good points (stable jobs, married a long time, can close quickly) and minimizing their bad points if any. When the market is hot, as it is now, Mary’s ability to sell you to the homeowner can be the difference between getting a house quickly and making a dozen fruitless offers before overpaying in desperation.

And even after the sale closes, she is on the case. She arranged for our house to be de-termited and de-ratted, found us the previous owner’s gardener, and recommended a good electrician. She even got the previous owner to leave all the paint he’d used to touch up his walls. She’s our realtor for life, and she can be yours too.

Closing escrow

Considering that it’s the biggest purchase I’m ever likely to make, I’ve been strangely passive and fatalistic about the whole house thing. The process takes on a life of its own, and sooner or later you realize the futility of trying to struggle against it. You make up your mind whether you really want to own a house at a particular time — whether you’re willing and able to do what it takes to get a house that will be worth the trouble — and you get to pick a few things that are important to you — in our case a dining room, an office big enough for both of us, and a short commute. After that, your realtor, your banker, and shadowy market forces take over and determine everything else: how quickly you find the house, how much you pay, what repairs are necessary before you move in, whether you’re going to have cable or DSL, when you get to move, and a gazillion other details.

The process sorts out your priorities with ruthless efficiency. For instance, we never even considered looking in Cupertino — the next town across the freeway — because that town has the best school district in the area and therefore commands a 20% premium from education-mad Chinese and Indian engineers. Our realtor steered us away from one property on the grounds that we would have nothing in common with the neighbors. I’m thinking: less than five years ago I was living in an apartment with a bullet hole in the living-room window, in a school district notable because it was funnelling library money to a Puerto Rican terrorist organization — and now I’m supposed to think this is a bad neighborhood because the neighbors all drive pickup trucks? I know people for whom househunting becomes a full-blown therapy-inducing event — like one couple I know who had to balance their desire to have the wife stay home with the (theoretical) kids against their desire to be within walking distance of an area with lots of restaurants.

It was always kind of in the back of my mind that this process could go horribly wrong at any time… but actually it’s been incredibly smooth. We signed our future earnings over to the bank on Friday. On Monday we wire a fuckton of cash to the escrow company; and on Tuesday we get keys. Now I have to start making the arrangements to have everything turned off here and turned on over there.