Martin Spedding's Blog

Adventures in a disconnected world

July 2003 - Posts

Another MS blogger...funny how writing something in a blog can have a reaction :)

When I wrote about Managed Quake II on the 14th of July I mentioned that  David Notario,Software Design Engineer, CLR JIT Compiler( ) had written some interesting comments about the implementation. At the time I did not know that he had a blog but Brad Adams pointed out that he had one but no rss or comments feed.

I just saw that David wrote in my comments that he has now added an rss feed ( as well as comments. His latest blog entry is an interesting piece about the practicality of using .Net for games development. It is worth a read.

The amazing thing about a blog, you write something whilst in Switzerland and someone reacts on the other side of the world.

It is nice that some of the Microsoft employees have blogs as it much more human face on the company and you can start discussions that otherwise would not take place.

Outsource coding? When not if

Don asks about improving the status of developers ( Well if you read and believe this article then there is no point we might as well all change career.

A few years ago they told us there were not enough people working in IT and now we are all too expensive. The interesting thing is that outsourcing has been around for a very long time but experience has shown that it is not really practical to run projects shorter than 6 months offshore. Which means that the small projects using a few people which are very company specific will not be outsourced but all those big projects are likely to go to low cost countries. This is not just a problem for the US this a global problem. I am in Switzerland and we are feeling the pain here as well.

I think one of the big reasons, in addition to cost, that outsourcing to India and other countries is that for a lot of companies have never understood or appreciated developers. The only contact that most users have with the IT department is user support. Sadly often the user support is stressed and underskilled. So a lot of the users think that IT is trying to prevent them working by making things difficult and buggy. This is the message the mangers hear. This has the knock on effect that the backroom people and developers are thought off as people who the business cannot understand who do not play the corporate game, expensive and disposable. The whole open source "free" software movement is likely to aggregate this impression. If you can get it for "free" I must be overpaying my people or I am overstaffed.

I really enjoy programming and working in IT but if things look the same in a year from now will I still have a job in IT ?

As someone said there is no shortage of potential customers. The problem is that none of the customers have any money to spend .

Everything changes but really just stays the same

I was reading Clemens message about reading more books from 1973 than 2003 ( He was following up on Philip's comment

I have now been working in IT for nearly 20 years and what I have found is that there are very few new ideas. Microsoft has suceeded by implementing ideas that were around in the Mainframe/Minicomputer world for years but at very high cost and then implementing them on the PC platform. Take MTS and EJB you can trace back their history to IBM CICS. Also the office applications really don't do so much more than the original versions but of course they are faster and look better.

Most users like something that is familiar to them and most companies seem to think that end user training is an optional extra, stabilitity and continuity is exactly what most purchasers of the software want. That is why I think the one of the problems that Java experienced on the client is that Java applications do not look like native applications and do not work in the same way. Really it is only the home users where fashion plays a larger role and they frequently need a new look and feel.

It reminds of me when I was working on my first commercial intranet application and I asked one of the developers how many concurrent users they expected. He looked confused and said what is a concurrent user ? For me coming from a DEC Vax background which used VMS which was a timesharing system it was an obvious question to ask.

In the end learn the core IT concepts and you will find that  though the names of the technology change the concepts remain valid.

Looks like the Yukon beta 1 has been released

I was surfering round looking at the typical rumours sites and found a link to the german web site which reports that Yukon is now available for testers and shows screenshots from the associated readiness kit as well as allowing you to view the readme document.

It is amazing how people seem to ignore NDA in order to post "exclusives". Also shows what a leaky world we live and how fast information travels.

I am not on the beta but I am very much looking forward to seeing Yukon.

Evangelism and choice - an alternative view on the PDC and developer conferences

I just read Roy's latest blog entry( and I thought about writing a comment on his blog but decided it might be better to write something in my own weblog.

Firstly all developers are not the same, some learn by doing, some by reading books and some go on training courses. Often what you don't get from the books and training courses is the context. Just seeing a set of powerpoint slides is usually not enough to understand a difficult topic.

Also we all tend to specialise and conferences are often the only way in which you can learn about lots of different subjects.

Let us take the developers view:

We want to know what is coming tomororw so that we learn the right skills today. Any advantage we get by being first can matter a lot especially in today's job market. Also you can quickly see when somthing is not going to fly and that became apparent very quickly with Hailstorm.

Let use take company view:

Why arrange the PDC in the first place ? Well it is first time when you see if you are going in the right direction and it is much to fail in front of your "friends" than to launch and fall flat on your face. It will cost Microsoft more to arrange and hold this event then they willl probably make from it so I don't think they do it for profit.

Also they hope that the attendees will go back and evangelise the technology.

In end it is simple economic judgement what is the benefit of going and what is the cost of not going. In the end all the information will end up being published but starting to learn .Net at the PDC 2000 really helped me in my job. I don't tend to go to Teched as historically they have been less a development event than an IT infrastructure and Office developer conference. Not enough level 400 content at the Teched.

In the end Roy seems to more frustrated that he cannot go and that Microsoft market dominance means that you might be left behind if he does not pay and go. But like the tortoise and hare we have a choice and which speed we learn new technology.

If I go to the PDC I certainly will be blogging from there so you can all get an experience of what is going on at the PDC:

Some more information on the Managed Quake II code

I was looking around for some more information abut the porting of the Quake II engine to Visual C++.Net and I came across this interesting newsgroup entry from David Notario,Software Design Engineer, CLR JIT Compiler

I thought these comments were interesting :

" This version doesnt use any 3d hardware acceleration at all, which is
good, because it's interesting to see the performance of the .net platform
and not the performace of the graphics card. In graphic apps/demos/games
that use 3d acceleration, expect the difference between managed and
unmanaged code to be smaller (as the bottleneck of rendering is the 3D card,
not the CPU).

- With this benchmark, you are measuring the quality of the codegen, as the
managed version is just a recompile of the unmanaged version with the /clr
option (which targets IL instead of x86). It's not taking in account GCs
that happen in an app that does managed allocations,  it's a pure JIT
benchmark (ie, this also means that it doesn't show some problems you may
have doing realtime graphics with managed code if you're not careful, such
as dropping frames due to GCs)"

I wonder if David has blog ? It would certainly be interesting to hear more from him.

Update via Brad Adams Blog:( David Notario has a blog( but no rss feed. I hope he gets one as it makes life so much simpler. Brad maybe you could convince him to use Blogx. Thanks

Turning 40 and converting from one date format to another

Well the 10th of July was the big day. I am now no longer a 30 something. I have to be honest I felt a bit depressed it is just another day and another number but I liked being in my 30's and 40's is starting to sound old. It is funny if we wanted to migrate to Australia that it would have been no problem whilst I was 39 but now that I am 40 it would be much more difficult.

Those few job adverts you see in the newspapers all say only apply if you are under 40. Luckly my job seems to be reasonably safe.

Being 40 also means I almost been working 50% of my life as I left University at the age of 21. I have seen mainframes, mini computers, pcs and the internet all becoming important platforms. I wonder if the next 20 years will be as exciting as the last 20.

I thought I better add some .Net content to this blog entry:

How to convert a date, that is formatted according to the locale of the machine, to a standard format:

uses System.Globalization

Public String DateToString(DateTime 
   dt, String LangCode) {

   CultureInfo ci = new 

   return dt.ToString(ci);
I did not write the function but found it here
It was so useful when I found that some of the users of my application were using German format dates and one was using American format.
Also if you are writing software that needs to be used in different countries and you are starting to use the System.Globalization namespace this table of locale information will help alot.
Have fun
More Posts