Daily Archives: October 10, 2006

Career advice for a taxi driver.

I think anyone who works in the computer industry has had this happen to them – where a taxi driver notices that you work in the IT field and either lets you know that they are a programmer or some such.

Actually – I think that in some circumstances it is true, and the other day I had a taxi driver who had done some study in computer science but didn’t currently have a job in the industry. He was after some advice about which entry level position he should go for.

He didn’t seem to be too keen on coding for a living so I suggested doing something like IT operations would be the way to go. The role covers entry level positions right up to some of the most experienced storage engineers so there is lots of scope – but it is also possible to get in without too much work so you can prove yourself.

What advice would you give a taxi driver wanting to land his first IT job?

MVP Status Renewed

About a week ago I got an e-mail from Microsoft stating that I’ve been re-awarded as an MVP. I still get a kick out of receiving these e-mails and still can’t fathom what people see in me as an MVP. Its like getting rewarded for doing stuff that you love – sweet!

Anyway – thanks Microsoft!

Physics Illustrator for Tablet PC

Darren pointed out a YouTube video of a demonstration of a whiteboard-interfaces physics drawing program that allows you to create scenes, and apply forces. When he showed me I couldn’t wait to show him this cool program that I have on my Tablet PC called “Microsoft Physics Illustrator for Tablet PC!“.

I actually saw it a few years ago as I was looking over Andrew Coates shoulder (I think) at a Melbourne .NET User Group meeting. It is pretty cool stuff. I think back then it was straight out of Microsoft Research.

Happy Trails Joel!

One of the noteworthy things that came through my aggregator a few days ago was that Joel Pobar is leaving Microsoft. For those people that have attended Code Camps and TechEds, you’ll most readily recognise Joel as “that geek that knew how the runtime worked”, or “that guy that co-wrote a compile on stage”.

Think big Joel! I am looking forward to hearing more about your adventures!

Building the hackable web.

One of the things that has been on my mind latey is how you architect for a Web 2.0 and beyond world. If I look at the architecture of your average every day .NET application today, particularly where there is a server side component you will generately see that it is broken down into multiple tiers (well, layers actually, but lets not argue semantics).

With most ASP.NET web applications you will find a front end which calls through to some kind of business logic or workflow layer (often just pass thru – but it might not be one day, yeah right), and then down to some kind of CRUD layer, which may or may not have been code generated.

Now, the thing that was thrown into just about every n-tier design document I ever saw was that “the business” might one day want to re-skin their application, at which point all you would have to do is make the new UI talk to the underlying business logic or workflow layer. In essence, the business logic/workflow layer was the “level of hackability” in the application – its the thing you could repurpose for your own nefarious purposes (note to self, I don’t use the word nefarious often enough).

Now the thing about Web 2.0 is that you are trying to open yourself up to mash-up possibilities without the people producing the mash-up having to force you to make changes. Unfortunately, if your level of hackability is below the web-layer in your application then its going to be hard to do becuase the UI will be locked up so tight (probably by design) that others can’t plug you in.

What needs to happen is that the level of hackability in your application needs to be pushed up a layer so that all and sundry can see how to jump into your site and pass data into it, typically via a POST or a GET.

Of course, one of the challenges for people doing mash-ups is that its hard to go-sub-without-return so if you REALLY want to get people mashing-you-up you need to offer additional hackability features. One really useful thing that I think would be useful on a lot of sites is the recognition of a “ReturnUrl” query string parameter. We use this all the time to support authentication within a site, but what about if we want to use it to support bouncing back to someone who is mashing you.

This post is certainly not an indepth analysis, but I think that what is clear is that as we drive towards building more online applications that we actually need to step back and think about whether our existing architectures necessarily graft cleanly onto the web.