Monthly Archives: July 2006

Wrath of the geeks

Joel Spolsky is outraged over an IT security advert with the slogan “To catch a geek, you have to think like a geek”, featuring a picture of a man in illfitting trousers, red socks and plain black shoes:

What is this, high school? With the bullies who fail all their classes have such an inferiority complex they have to make fun of the geeks?

You know, I’m a professional geek. And I’ve worked with a lot of other professional geeks. Dozens. Maybe even hundreds.

Most of them are smart, and many of them brilliant. The vast majority are well-dressed. Only a tiny minority have fitted into the geek stereotype of unfashionable nerdy incomprehensible uncommunicative brainiacs.

Most of them a very well dressed, friendly, outgoing people. Some (gasp) are even women.

Okay, so it’s only advertising. But it’s obviously got a few noses out-of-joint. And from Joel’s reaction, some of those noses are decision-maker noses.

Busy

Too busy to post much. Major deployment this weekend. Though I’m not working as hard as some of the other guys; thankfully (and due in no minor part to our excellent tester) I think most of our stuff is under control.

Calling COM from .Net, and vice versa

I’m working on a project that uses web services code written in .Net (‘cos it’s heaps easier that way) but calls legacy code written in VB6. And vice versa.

(Wow, I never thought I’d be referring to VB6 code as legacy, but there you go. None of your smart comments, any VB-haters out there.)

Here’s what I’ve discovered about making it work. Continue reading

Clueless agency undermines customer’s advertisement

Compare this agency ad, which turns up in a “linux C++” search, to this homegrown ad, which turns up in a “linux C++” search.

I encourage everyone to apply for the first job. They clearly want everyone to do so. I certainly did. You’d think that agencies, with their unabashed love of keyword searching would know better… perhaps they’re fully aware of what they’re doing. I love their fourteen key areas of specialization. The second job, well, read the instructions. It’s a nice place, with a good coffee machine. And people too. And management that’s able to pull itself back from the brink of cluelessness without being yelled at. Mind you, the last few paragraphs used to read:

Now, we won’t chuck your application away if you don’t hit all these points. But if you clearly don’t match the job at all you will get an abusive email. We will be drawing our conclusions from the application you send (hint, hint). Comparisons will be drawn between yourself and a small rodent.

We’re located on St Kilda Rd near the Domain Interchange. Public transport is pretty good here. Oh, we’ve got a darn good coffee machine, if that floats your boat.

Note: Do not send us an application if you are clueless. You’re wasting our precious time, and you will get an abusive email in response.

Long term archiving

Professional archivists agonise about how digital archives should be stored, but it’s important for those of us further down the food chain consider it too. Many people are simply burning their most prized data onto CD or DVD, and shoving the discs into the bookshelf. But given known doubts about the lifespan of burnt discs, how will you feel if they reach for them in 5 or 10 years and find them unreadable? (Just like I recently found many of my old BBC Micro disks unreadable.)

Pressed discs seem to be no problem. I’ve got CDs that are close to 20 years old that are still going strong. But recent warnings have highlighted that burnt CDs might only last a few years (even taking great care in handling and storage).

It’s been suggested that magnetic tape is the way to go in the longer term, with a view to periodically migrating to newer technologies as they come along. I’m still not sure I want to invest in a tape drive…

The other issue is formats. What format should be used to ensure that when you or your descendants poke around in your files, they’ll be readable? It’s not just a matter of choosing formats that are ubiquitous now, but also those that will be common into the future.

Think back 20 years. What formats were popular in 1986 that are still around now?

I think, for example, that of all the formats, JPEG and PNG (for pictures), MPEG-1 or 2 (movies), and MP3 (sounds) are perhaps the formats that have such open, widespread support that they’re likely to still be readable in 20 or 30 years’ time.

For text documents? What’s practical probably depends on your source files. Obviously TXT is totally human-readable, but lacking formatting. HTML (with support from JPEG and PNG) is probably the most obvious choice for many documents, as long as you don’t try and do anything too clever with it. RTF also has widespread support via open-source products such as OpenOffice, Mac OSX TextEdit and while it’s owned by Microsoft, is arguably as human-readable as HTML, and arguably an easier conversion for many existing documents such as those in Word format (though I’m not sure it supports all of Word’s latest features).

For other more specialised file formats, I suppose it depends what is the easiest format to keep them in… Definitely more thought required.

(Of course if there’s any doubt, printing on paper is the ultimate in future-proof technology!)

Toys “R” Stupid

Want to see some HTML Form stupidity? Go to http://www.toysrus.com.au/site/signUp.htm and you get:

The stupidist HTML form I've seen in a while

Radio buttons – users know what to expect from them. You can pick only one option. Not these puppies. These happen to be round checkboxes – that you can only turn on. You can’t turn them off! Oh, sure, there’s a “reset” button down the bottom of the form, but can you recall the last time you pressed the “reset” button on a form? I don’t think, in my many many years using the ‘net, I ever have. Not once. I have “reset button blindness”, and I imagine a bunch of others do too.

To top this off, because the site is mainly Flash, figuring out what the address of the page took a while. In the end I had to bookmark it to find it.

I guess that’s what happens when you get schoolchildren to build your website.

What to do when attach to process doesn’t work

When using Visual Studio, you can attach to a running process that’s chocked full of debug info (or not, but there’s not much point if it’s not) by selecting Build | Start Debug | Attach To Process…

This can handle cases where a problem doesn’t happen under the IDE, but does when running a debug executable. As happened to me recently. So, with the app running and the problem reproduced, I wanted to debug. But, when the dialog pops up it might be distressingly empty – as it was for me. What to do?

From task manager, right (context) click on the process and select Debug. That will launch your debugger and away you go.

How do you name your computers?

These days just about every computer is networked, and that means they have to have a hostname. So how do you name yours? Assuming there’s no particular corporate standard you have to follow, do you make up a theme, or just give them random names?

At home we have lano and woodley.

At my girlfriend’s place, they’ve called them crunchie and munchie.

The company I use for web hosting names their servers after towns and cities around Australia.

At one job I had, we went Red Dwarf, and ended up with holly (main server), kryten (test server) and hudzen (temporary server).

At another job, we started on The Simpsons, with maggie, marge, homer… then moved onto Asterix, with getafix (very appropriate for a machine that needed patching) and obelix.

Rolling your own certificates in Windows

Forget what I said a few weeks ago about creating your own certificates, at least for testing secure web services. You can do this from within Windows server; this KB article gives all the details.

There’s heaps more detail hidden away in this Word document… which probably would have come up in my Googling if MS would just put this information on a web page somewhere instead of as a Download.

Don’t have a Windows Server? Grab a trial download of one, and chuck it on one of those free Virtual Servers!