HTML with Visual Studio.NET

Generally, Microsoft’s Visual Studio.NET is a pleasure to work with. However, there is one area where it falls down really badly, and that’s as an HTML editor. ASP.NET is brilliant, web controls are great, and VS.NET is just swell at writing the code that sits behind a web app. But does it allow you to produce nicely formatted, standards-compliant HTML? Does it hell.

Spend ages getting all the tags on a page nicely indented and WATCH with TERROR as it reformats the page with bizarre line breaks and random spacing.

Get your markup ready for validation, then WEEP in AGONY as all your hand-crafted XHTML is turned into puddles of steaming donkey vomit.

We’re talking horror of Lovecraftian proportions here, folks. <span class="label">Great Cthulhu<span>? Surely you meant to say <SPAN class=label>Great Cthulhu<SPAN>. Here, let me correct that for you….

I don’t mind that it’s doesn’t produce valid XHTML by default. I do mind that it won’t let me write markup the way I want to. Hidden deep in the guts of Visual Studio’s configuration settings there is a “Stop Fucking With My Code” option, but apparently it’s only there for decorative purposes.

However….

Earlier this week Scott Guthrie, the lead architect/product manager for ASP.NET, made some interesting accouncements on his blog about XHTML and accessibility standards compliance in ASP.NET 2 and the next version of Visual Studio (“Whidbey”). A white paper on www.asp.net goes into some more details about these, and other features. Here’s one of the bits I really like:

HTML Source Preservation

Visual Studio “Whidbey” respects your HTML. The formatting of your HTML markup — including all white space, casing, indention, carriage returns, and word wrapping — is now preserved exactly as originally written, even when switching back and forth between the design view and source view of the page. You can completely trust Visual Studio “Whidbey” to never modify your markup.

Yay! There’s a lot more cool stuff coming in ASP.NET 2, too. Unfortunately there’s still a long time to wait….

Dundee

Alex at the top of Dundee Law

DundeeAbi had a bookbinding event in Dundee on Saturday. We hired a car for the weekend, and we all drove up there for the day. Alex and I went shopping while Abi was binding, and towards the end of the afternoon we made our way up Dundee Law, the hill that sits in the middle of the city. It was bitter cold at the top, but the view made me forget all about that. The setting sun bathed everything in an amazing golden light. The Firth of Tay glittered like crumpled silver foil, and the city shone with an inner light.

Dundee
Edinburgh is a city of sandstone; Aberdeen is a city of granite. Dundee is somewhere inbetween. Where the slanting rays struck sandstone and brick, the buildings basked in the warmth of the winter sun. Where late afternoon shadows crept over granite and concrete, a cool blue glow spoke of ice and rime. The slopes of the Law are wrapped in gardeners’ allotments. Steam rose from compost heaps and hugged the ground as if seeking shelter from the coming chill.

Alex at the top of Dundee LawAlex and I both took photos. And then we retreated to the warmth of the car and ate jelly beans.


Moving hosts

We’ve just taken the first step in moving web hosts. We’ve been with EZPublishing for about three and a half years now, but we’ve just signed up for an account with Pair.com. EZPublishing have been great for the time we’ve been with them, but their hosting packages are no longer suitable for us. In particular, we need more disk space to hold all of the stuff we are dumping on sunpig.com, and disk space is expensive at EZPublishing. Pair, on the other hand, will provide us with 500MB of space and 15GB of bandwidth per month for $17.95.

Right now, all I’ve done is sign up for an account. Once that is set up, I’ll be moving files across, and I should be ready to change the our DNS entries by the weekend. Expect some strangeness and page errors until everything has smoothed itself out again…

Why I like Pizza Hut

Quite apart from the fact that their pizza is honkingly delicious (if you have any stories about them using ground-up rats’ testicles to flavour their crusts…keep them to yourself, because I don’t want to know), I like Pizza Hut because when things go wrong, they do their best to put it right.

Take yesterday evening, for example. After our trip to the bookshop, we nipped across the road to eat at the Kinnaird Park Pizza Hut. It was busy, but not excessively so. However, something was obviously going wrong in the kitchen, and when our pizza still hadn’t shown up half an hour after ordering, our waitress came over and explained that it had “gone missing”. (This was unfortunately totally in keeping with our recent run of bad luck, which has caused almost everything we’ve ordered in the last two months to arrive either late or wrong.)

This news came at about quarter past eight. Alex was being very patient, but he was clearly very hungry, as were Abi and I both. We had every right to be annoyed that it would take at least another twenty minutes for our food to arrive, and our waitress understood this. Instead of just shrugging and offering us the choice to wait or leave (the typical Scottish options), she offered us free starters (explaining that they would at least arrive quickly), and a discount on the pizzas when they did eventually arrive.

That was nice. In every line of business, things go wrong sometimes. It’s what the business does when the worst happens that shows what it’s made of. Pizza Hut clearly knows how to handle these situations. They want your custom. They know that you’re going to eat pizza again, and they want it to be in their restaurants. If they have to swallow the cost of a couple of starters and the discounts on a couple of pizzas, then that’s just what they’ll do. They understand that you have been inconvenienced. This may have come about because of circumstances beyond their control, but they take responsibility for what happens to you in their restaurants.

We like this. We like Pizza Hut. When they’re good, they’re good; and even when they’re bad, they’re good. Yay for customer service.

Eric Garcia

Casual Rex While snuffling through our local Borders bookshop yesterday evening, I found a copy of Casual Rex by Eric Garcia. Casual Rex is a prequel to Garcia’s debut novel Anonymous Rex, which was an excellent hard-boiled detective story set in modern times, but with a slight difference: dinosaurs still exist. But humans don’t know about this. Dinos go about their business completely undetected, because they dress up in latex human suits. It’s weird, but it works.

Anonymous RexThe hero of the Anonymous Rex, Vincent Rubio, is a private detective who has fallen on hard times since his partner, Ernie Watson, was murdered. He is also a velociraptor. In the course of the story we learn a lot about the dinosaur society, about the tensions that exist because of the dinosaurs’ continual secrecy, and of course we also dig deeper into the mystery of Ernie’s death. It’s a delightful blend of whimsical science fiction and noir detective story. It works so well partly because it follows the conventions of both genres: the science-fictional side of the book explores this off-beat world in enough detail to be satisfying, while the detective side tells an exciting story about a wise-cracking gumshoe solving an intriguing crime. Garcia ties the two sides together by making sure that the crime is specific to the human/dinosaur world, and that the pay-off couldn’t exist in any other context.

I’m looking forward to reading Casual Rex. I remember finding Anonymous Rex in a bookshop in London a few years ago (probably around 1999?), on the day that Abi and I took a mad day-trip down there by train. The train from Edinburgh to London used to only take just over 4 hours (it’s longer now–thank you, privatisation!), so as long as you left early enough, and were happy to come back late, it was quite possible for Edinburghers to visit London to have lunch and do some shopping. Which is what we did. We met up with James for moules frites at Belgo (a chain of Belgian-themed restaurants where the waiters dress up in monks’ habits), and then wandered around Covent Garden for a while. It wasn’t until last year that I actually got around to reading it, though. Which makes it a little bit odd that I only found Casual Rex yesterday, because it was published in 2001. Normally if I find a book I like, I go out looking for other books by the same author. I must just not have looked terribly hard in this case.

Matchstick MenNow that I have found it, I have also found Eric Garcia’s web site, which is where I saw that he has another book out as well: Matchstick Men. That’s right, the book that the film Matchstick Men, starring Nicolas Cage and Sam Rockwell, is based on. That’s cool. The trailer looked interesting, and it was on my list of films to watch. Unfortunately it’s also on my list of films that I never had time to go and see, and will have to catch on DVD when it comes out. No dinosaurs in this one, though, just a couple of con-men.

Garcia’s web site also has the news that Hot And Sweaty Rex, the next novel in the series is due out in March of 2004, and that an Anonymous Rex TV show is in the making. The Sci-Fi Channel have greenlighted a pilot based on Casual Rex. Very interesting. Thank goodness that TV special effects have come a long way since V did lizards in human suits back in the eighties!

Yay bike!

My bike has arrived! Abi and Alex caught up with me on the bus after work, and we all went into town to the bike shop. We went a bit mad on accessories, eventually coming away with helmets for both Alex and me (Alex’s one is red, with a blue train and animals on it), reflective arm and leg strips, front and rear flashing lights, a lock, a pump, a repair kit, and–most importantly–a child seat to fit on the luggage rack.

While the bike people (who in the end were very patient about me calling them up every other day to badger them about the delays) were installing the various items, we nipped down to the Piemaker for something to eat. When we returned, Alex and I got kitted up, and cycled all the way back home. Abi took a taxi. It rained, of course, but it felt good to cycle anyway. Alex seemed to enjoy himself, too.

I’ll be cycling to work tomorrow. Yay!