Content here is by Michael Still All opinions are my own.
See recent comments. RSS feed of all comments.

I'm paid to work as a Windows developer, which means that we've started to care a lot more about Microsoft .NET and languages like C#. I also play with mono on Linux when the mood comes upon me.

Sun, 16 Apr 2006

Tech talk blogs

posted at: 21:00 | path: /dotnet | permanent link to this entry

Tue, 14 Mar 2006


posted at: 10:15 | path: /dotnet | permanent link to this entry

Thu, 29 Sep 2005

Robert Scoble is right, Microsoft has abandoned a lot of their developers

    (I know that's not an entirely accurate description of what he said).

    Robert Scoble talks about the latest Microsoft MVP summit, and some of the backlash over VB 6.0 not having a recompile path to .NET and Vista. He tried to make the argument that sometimes things have to break for revolutionary change, and he's right. Then again, I'm not sure that Vista is a revolutionary change. Anyways, one aspect that Robert completely ignores is that he makes the assumption that if people are forced to do a rewrite, they'll do it on a Microsoft platform.

    There are only so many times Microsoft can make you rewrite some code, before you decide to go elsewhere.

    Tags for this post: dotnet vb rewrite vista

posted at: 15:15 | path: /dotnet | permanent link to this entry

Tue, 23 Aug 2005

Unjustified fun making

    The QA section at work just found the Klingon translation for the Web Service project I've been working on, and is making unjustified fun of me. To defend myself, here's how it happened...

    Global product, with a few languages currently supported. I need to support different languages in my Web Service, but there aren't any other translations available for the messages yet. In fact, we're not inclined to spend the money until the messages stabilise a bit more. But I need that translation. Simon happens to own an English to Klingon dictionary, which is better than anything else we can find.

    Klingon translation it is then.

    Oh, it's never been shipped, and it never will be. It did test the message infrastructure though, and provided some cube fun. If only I hadn't got busted by QA.

    Tags for this post: dotnet international internationalisation message translation klingon test

posted at: 17:58 | path: /dotnet | permanent link to this entry

Sun, 21 Aug 2005

Clarke, you need to look into things a little before mouthing off

    Clarke Scott (who once applied for a job as a Microsoft evangelist, although we should note that I don't hold the Microsoft job application moral high ground) blogs about repeats verbatim without verification a post from a Microsoft evangelist based in New Zealand about Linux Australia's support for Linus' trademarking of the Linux trademark in Australia. He ignores of course that Linux Australia has been running one of the most successful Linux community events in the world for the last four or five years, or that Linus is genuinely behind the trademarking effort. He doesn't look into how the Linux Mark Institute (the international body behind the trademark) is structured. Or what their goals are.

    He just comments that the community is less free as a result.

    Windows is a trade mark too. How does having Linux trademarked any more restrictive that Microsoft owning the Windows mark?

    Update: Clarke commented on this post to mention that I had missed that this was a quote from another site, which I am happy to concede. He also suggests the post was tongue in cheek, despite the fact that I can see no indication of that having re-read the post.

    Update: Fixed broken link

    Tags for this post: dotnet linux trademark

posted at: 22:57 | path: /dotnet | permanent link to this entry

Wed, 17 Aug 2005

Getting ASP.NET working on Windows XP Tablet PC edition

    So, new tablet, new battle with IIS. To get ASP.NET to work (I was getting an ASP.NET is not installed error message, despite the fact that it clearly was), I needed to go to a Visual Studio command prompt and run this command:

      aspnet_regiis -r

    And then it all worked.

    Tags for this post: dotnet microsoft visual studio .net windows xp tablet pc

posted at: 23:34 | path: /dotnet | permanent link to this entry

Thu, 11 Aug 2005

I didn't get my shirt!

posted at: 01:09 | path: /dotnet | permanent link to this entry

Mon, 08 Aug 2005


posted at: 14:14 | path: /dotnet | permanent link to this entry

Tue, 19 Jul 2005

Microsoft TechEd flair

posted at: 21:17 | path: /dotnet | permanent link to this entry

Mon, 18 Jul 2005

The state of Microsoft certification

    You know someone's going to make a comment like this when a story about a nine year old girl gains Microsoft certification comes out. There have been a few over history.

    I'm sorry, but if a nine year old can get certified, regardless of country, gender, or overall geekiness, then the certification is to easy. Well, perhaps Doogie Howser should be allowed to get certified, but the reality is that certification should also be about real world experience and the ability to apply knowledge to the problem in hand, not just rote learning from a book. A nine year old can't have had a long consulting career yet -- can she?

    Tags for this post: dotnet certification children experience

posted at: 15:20 | path: /dotnet | permanent link to this entry

Names for longhorn

posted at: 15:15 | path: /dotnet | permanent link to this entry

Sat, 02 Jul 2005

On caching of websites

    Mitch talks about an article about moving from an IBM Websphere based to a Linux and open source based environment. He makes a passing comment about cachability, and that caching would improve the performance of the site.

    I think that the IT industry has lost something over the last couple of years, and I think it's time for it to come back. That thing is static content. I see no reason that a largely static site such as (people read the weather, don't change it, and the content updates regularly, but nowhere near as frequently as once per click).

    So, why not write an engine to generate the entire content of the site from templates, and then dump the output into a bunch of files on disc to serve? In fact, when you update the data, just change the file on disc and let the new file get served out when it's good and ready. This keeps processor load as low as possible while serving, and in fact probably makes the whole thing easier to debug. It's how my site is done too, and it makes the box that's hosting it much more responsive than it used to be under a dynamic workload.

    Everything should be static, unless you can't possibly do it without some runtime code.

    Tags for this post: dotnet web dynamic static content

posted at: 23:46 | path: /dotnet | permanent link to this entry

Wed, 29 Jun 2005

Exceptions in Web Services

    On my talking to Mitch kick, I should comment on his post on how to report exceptions from Web Services. Mitch is right. The classes of error we return from the TRIM Web Service are of the form:

    • Input error
    • Transient error
    • System error (call your admin)

    You get rollbacks from us for free, so that's ok. The only one I've added to this list is the system error. It's possible that the server is experiencing system administrator errors, such as being out of disc, not having a dataset configured, or so forth. These really should be reported separately from the input errors and transient errors. They're not caller input, and they're only transient if the admin realises he should fix them.

    We also return a unique error code for each error, which means I know exactly where in my code the problem happened, which is a feature I'm really liking from a support perspective. The Soap Fault supports an error code, so that maps nicely there.

    I should point out that we don't use the Soap Fault though, we use a different Soap'ed object. Perhaps we should consider using the fault, but we didn't want to have to abandon execution of other jobs for an error in some cases.

    Tags for this post: dotnet soap fault exception web service

posted at: 00:31 | path: /dotnet | permanent link to this entry

Hiring good people and FinalBuilder

    Mitch comments on hiring the right people and the process that Readify uses. He mentions that it's important to have a balance between the points on Tate's hit list, which is of course right. Based on my two Microsoft interviews now, I must say that they focus a little too much on the theoretical problem solving skills, instead of looking for raw talent, or an ability to talk to customers, or read existing code. They've really focused on one of the things on that list.

    It's kind of a self fulfilling prophecy, in that people seem to assume that the process that hired them is by definition the best process to use to hire a new person (presumably who will be like them).

    Oh, is there a way in FinalBuilder to send an email when a build step fails but has "ignore failures" checked?

    Tags for this post: dotnet hiring finalbuilder microsoft

posted at: 00:24 | path: /dotnet | permanent link to this entry

Tue, 28 Jun 2005

Microsoft TechEd 2005 flair

    In a blast from that restaurant in Office Space, Microsoft has been providing "flair" for peoples blogs when they attend their events for some time. For example, here's the proposed flair for the TechEd 2005 conference:

    Apart from the fact that flair seems like a good idea and perhaps should happen more often, I thought it might be time to do some re-mixes of the TechEd flair. Here's the one for my Windows based workplace:

    And here's the one so that my nerdy friends don't make fun of me:

    Tags for this post: dotnet microsoft teched conference flair

posted at: 17:58 | path: /dotnet | permanent link to this entry

Wed, 08 Jun 2005

Wrapping a COM IStream into a .NET Stream

    Our SDK returns a COM IStream when you ask it nicely. This is cool because it means that users can ask for just the parts of large documents that they want, without having to download the entire document first. Now that I'm working mainly on .NET code though, the COM IStream causes me pain...

    Let's start with the fact that the COM IStream interface is nowhere near as rich as the .NET Stream. For instance, there is no way that I can see from the COM IStream to ask how long the stream is. Worse than that, the seek and position offsets use a type which is not exposed in .NET.

    Does anyone have a nice solution to this problem before I write code?

    Tags for this post: dotnet dotnet stream com istream

posted at: 01:05 | path: /dotnet | permanent link to this entry

Mon, 30 May 2005

Prior art needed: Microsoft patents XML Serialisation

posted at: 21:36 | path: /dotnet | permanent link to this entry

Fri, 27 May 2005

Microsoft not rewriting their products in .NET?

    "Of course I still find this incredibly ironic. Microsoft insists on re-using it's own source code, and even given the ease with which they can step into Managed C++, they still preserve their existing code rather than go through the time and expense of shifting to .NET. Yet for their customers, millions of VB developers, they abandon them and leave them no choice. Funny how there's one rule for Microsoft's source code and yet another for their customers."
    Quoting Bill.

    I see the same push from Microsoft to port for us C programmers as well. As best as I can determine Microsoft has no intention of porting their own code away from unmanaged C / C++, but they are certainly applying a lot of pressure onto ISVs to do just this. The other thing that an ISV has to bear in mind is that a port makes you inherently less competitive -- you end up spending a bunch of engineering effort to recreate your current product, instead of adding those new features that the customers have been asking for.

    Tags for this post: dotnet microsoft unmanaged managed .net port

posted at: 01:22 | path: /dotnet | permanent link to this entry

Fri, 20 May 2005

Product feedback center

    I had a simialr problem to Darren where I raised a bug with VS2005, and it was closed as not being able to be reproduced. Microsoft had posted a comment to the bug (not emailed me), and when I didn't notice within some number of days declared the bug to not be reproducable. In the end I demoed the bug for them while I was in Seattle, but I have no idea if it was actually fixed or not.

    Perhaps these are more flaws in the bug tracking system -- surely posting a comment should result in email being sent, and surely you shouldn't be able to close a bug as not reproducable without all parties consent?

    Tags for this post: dotnet microsoft product feedback center

posted at: 21:52 | path: /dotnet | permanent link to this entry

Wed, 11 May 2005

Profiling your code in mono

    Is it just me, or is profiling your code with
    mono --profile
    incredibly slow. I'll present some metrics later when the damn thing has finished running on just how slow.

    Tags for this post: dotnet mono profile .net c#

posted at: 03:00 | path: /dotnet | permanent link to this entry