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.

Constraints in C# vNext + 1

I was reading a post on Troy Magennis’ blog today about his set of LINQ extension methods that he is creating and something struck me about the notation he was using to describe some of his methods.

Example: public static [numeric type] Min(this IEnumerable<[numeric type]> source, int defaultValue)

The interesting bit is “[numeric type]“. It got me thinking about some of the things that we loose without having a full power constraint system in C# 2.0 around what types you accept and reject. I’d actually like the ability to constrain which types are accepted based on what methods they implement.

I wonder what the syntax would need to look like to be that expressive – and how tricky would it be to do at compile time and at runtime? It would probably also require a level of duck-typing support in C#, which is something that VB vNext will have (hopefully it hasn’t been cut).

Vista: World famous – in Melbourne.

This morning at Flinders Street Station I was set upon by a swarm of fans who had obviously seen my photo in The Age. Well – maybe not, but that is what was happening in my big fat head!

A few weeks ago some of my fellow co-horts at at Readify were interviewed by Adam Turner around our adoption of Windows Vista. I know Adam from a past life when I was a leader of the Melbourne .NET User Group. Anyway, the output of our interview, and obviously some other interviews around town was the article in The Age (and Sydney Morning Herald).

Of course the real news is that Frank Arrigo was interviewed by Fuzzy from Cybershack. It constantly amazes me how much press Frank gets – must be because everyone loves him.

For the time being I’ll have to settle for being world famous, in Melbourne (and maybe Sydney) (for about five minutes).