More on MS

It’s now a few days after my previous post on the vista delay. The rumour machine on the Vista delays is now rolling. A few days ago this wild claim about 60% of vista being in need of a rewrite started circulating. Inacurate of course but it woke up some people. Now this blogpost on a blog about Microsoft (fequented by many of their employees) made it to slashdot. Regardless of the accuracy of any statements in that post, this is a PR disaster. Lots of people (the entire IT industry, stockholders) read slashdot.

There’s lots of interesting details in the comments on that post that suggest that MS has at least these problems:

  • Management is clueless and generally out of touch with development progress. Claims on release dates are totally disconnected from software development planning. Release dates announced in press releases are wishful thinking at best. This is one of the reasons the date slips so often.
  • Middle management is worse. Either they have failed to communicate down when to release or up when their people tell them release is actually impossible. Either way, they have failed doing what middle management is supposed to do: implement corporate strategy and communicate up when that strategy is not working as expected.
  • Software engineers within MS are extremely frustrated with this. Enough to voice their opinions on a public blog. A lot needs to happen before I start criticizing my employer in public. I know where the money comes from. Really, I’d probably leave long before it would get to this point. So, I interpret this as MS having a few extremely frustrated employees that might very well represent a large silently disgruntled majority. Steve Ballmer seems to be rather impopular in his own company right now (never mind his external image).
  • The best MS software engineers are leaving MS and are replaced with being people of lesser quality because MS now has to compete in the job market. I remember a few years ago that MS could cherry pick from the job market. Now the cherries are leaving. Really, if your best people are leaving and you have billions in cash to fix whatever problem is causing them to leave, you are doing something wrong (like not fixing the problem).
  • Microsoft employees are spilling stock influencing information on public blogs. Opennes is one thing but this is an out of control situation. Regardless of whether they are right, these people are doing a lot of damage.

It’s probably not as bad as the comments suggest but bad enough for MS, if only for all the negative PR. Anyway, I might be revisiting the predictions I made in my previous post. I have a feeling some of them might prove to be correct in a few months already. Very amusing 🙂

that must hurt

Ouch, Forbes unleashes some criticism on Microsoft. Well deserved IMHO. I don’t see the result of six years of development by thousands of software engineers reflected in the currently marketed featureset.

A few small predictions:

  • Vista and office 2007 (or whatever it is called) are going to go into history as the two releases that reversed the growth trend in microsoft marketshare. I expect both products to do worse than their predecessors. First of all, businesses won’t touch either until forced by licensing conditions. Second of all, some businesses might opt for alternatives this time. Particularly Novell seems to be well positioned this time. Also Google will push some lightweight services into the market before the Vista release that are remarkably well suited for adoption in small businesses.
  • I expect this to have consequences for the current leadership. Specifically, I expect Steve & Bill to be pushed to the side lines after this.
  • I expect this to be the last major revision of windows this decade. They may think they are going to do another release before 2010 but reality will catch up with them. In fact, I expect that Vista will be the last time they can justify the insane R&D budget to the shareholders. Six years of development resulting in replacement purchases only is going to be a tough sell to shareholders.
  • Clearly after six years of development, Microsoft stands empty handed. The shares are due for a downward correction. Things are not going well for Microsoft and they are underperforming.
  • This is not the last delay for Vista. They are hoping it will be ready but their development process is the reason it is being delayed so they can’t actually know right now that they will have a release in 365 days. My guess is that they won’t.
  • Customer feedback on the yet to be announced additional beta will cause them to drop more features from Vista. Particularly the userinterface is going to get some heavy criticism (performance, general uglyness) and negative publicity. Something will need to be done about it. After dropping the features, they will move to release candidate status which may last quite a bit longer than they are now planning for.

suspend to ram

Over the years I’ve encountered, and resolved many annoying software issues with Microsoft. This one surely counts as one of the more annoying ones.

The problem is that my previous PC had a beautiful suspend to ram feature, which basically means that whenever you put the machine in stand by mode the system turns of almost completely except for a bit of power to keep the memory going. The technical term for this is ACPI S3 mode. My new PC however, suspends using ACPI S1 mode which means it goes stand by with the harddisk still spinning and the fans still blowing, not my idea of stand by. Naturally this was something I wanted fixed really badly. So I enabled the feature in the bios, set all the power options in windows as they should be and …. no success.

My mistake was to assume that this is a hardware/bios problem. So I kept checking the asrock site for bios updates and browsed through their FAQ, double checked bios settings drivers, etc.. Since this isn’t a problem with their hardware, bios or drivers after all, no solution was found this way. Next stop was google, but I still had the asrock keyword as part of the query so nothing useful came out of that. Then I just gave up and for the past few months I’ve been shutting down the pc completely.

This morning I googled for “force s3 standby” and ended up on this site. I learned a things here:

  • My system supporst S3 just fine, I checked using this sleeper tool.
  • Users with completely different hardware are experiencing the exact same issue (and are equally frustrated).
  • There’s a registry hack you can do but it doesn’t do much good on its own.
  • There’s lots of useless advice on enabling/disabling wake up from standby options on usb devices (my mouse and keyboard are ps/2!).
  • There’s a tool called dumppo which supposedly does something useful.

Ok, the next google query concerned dumppo, which got me here. It appears that this is a Microsoft provided (but totally undocumented) utility that you can use to check and change the ACPI settings. Sure enough my “Min sleep state” was set to S1. The reason? I installed windows XP before I enabled suspend to ram in the bios. Doh! Apparently the ACPI settings are determined forever during setup and no functionality to fix this is included with the OS. After the installation you’re screwed no matter what you toggle in any control panel, bios or other screen. Windows XP just keeps insisting that S1 is the way to do standby.

Dumppo (download from microsoft) apparently is the only way out (short of reinstalling XP). A simple “dumppo.exe admin minsleep=s3” on the command line fixes the problem. Of course this wisdom is not officially documented anywhere on the Microsoft site. There must be millions of users out there that are unable to suspend to ram because of this. Basically all computers sold in the past few years are technically capable of suspend to ram. Many of them have the option disabled in the bios by default.

Anyway, problem solved :-). Just one of these issues ordinary users will never ever figure out. I must have solved hundreds of these issues over the years.

Intentional Software

From a very interesting article by Martin Fowler:

I’ve had the opportunity to spend a little time with Intentional Software and several of my colleagues at ThoughtWorks have worked closely with Intentional over the last year or so. As a result I’ve had the opportunity to peek behind the Intentional curtain – although I’m restricted in how much I can say about what I saw there. Fortunately they intend to start opening up about their work over the next year or so.

Whoohoo! I’ve been following the developments around this company for a few years now. Charles Simonyi is mostly known for being one of the influential architects at Microsoft responsible for creating and popularizing such things as WYSIWYG editing, Excell and the Hungarian notation. Simply put, the guy is brilliant. A brilliant guy with a vision: intentional programming/software. Working for Microsoft from the beginning, he is one of their richer Microsoft millionnaires/billionaires ™. A few years ago he quit his job at Microsoft to start his own company called Intentional Software. Before that he published a few articles on intentional programming which, frankly, include some ideas that are way beyond the imagination of the average C/C++/Java/C#/whatever programmer. While these guys fight over such petty things as syntax, he made it a first class entity in his programming environment. Intentional programming is all about translating intentions to working code. If doing C++ style templates is your intention, define them in the core constructs provided by the intentional programming environment and write them.
But what am I doing, trying to summarize Martin Fowler’s excellent article into one paragraph. Go read his article. It will take you some time but it will be time well spent.

I’ve been a long time fan of Martin Fowler. I should check his site more often.

The coming paradigm shift in TV broadcasting

The coming paradigm shift in TV broadcasting
The coming paradigm shift in TV broadcasting

This article comments on Apple’s latest move to offer video content through their iTunes and how this is a logical and inevitable move with some far ranging effects.

In this blog post I abstract from this and apply it to the whole telecommunications, media and IT industry. Some things are about to change in this economically important sector.

It’s understandable they put up a fight. The telecommunications sector is built on the notion that exchanging information (in any form) costs money. The media industry is built on the notion that media needs to be distributed (physically) and that they can charge dollars for that. And finally the IT industry is used to steady income from license fees from software. All these industries may lose a lot of revenue if the rules are changed.

And that’s what’s going on. Apple just changed the rules for the Media industry. This will have a snowball effect. Right now if you want to watch something (movie, the news, tv series, documentary) you need to turn to one of the industry controlled and closely guarded media: cinema, a tv channel, a dvd, etc. Each of these things is a source of revenue to the industry and you pay directly or indirectly for it in all sorts of ways. There’s nothing against that in principle they offer access to scarce resources and people pay a market price for access.

Their problem is that Apple just made these resources a lot less scarce. Distribution through the internet of content is cheap and will become even cheaper. Technology will gradually erode the cost to close to 0$. There’s plenty of bandwidth available and an increasing amount of people has what I call a critical amount of bandwith: enough bandwidth to make streaming high definition audio and video feasible & desirable.

Apple is tapping into this by letting their users access content over the internet through their iTunes store and by providing the necessary hardware and software to them. That’s a small change and not at all revolutionary. But it will teach people an important lesson: hey I can watch desperate housewives (one of the offerings used to commercialize the new itunes ability) whenever I want, wherever I want and I don’t need to buy the dvd, I don’t need to turn on the tv on a specific time and I don’t need to watch the commercial blocks. The next steps are obvious and imminent: why store the desperate housewives episode on an ipod when you can just stream it? Mobile networks will soon mature enough to reach the same critical bandwidth as home users are currently enjoying on their home networks.

That means that anytime, anywhere you can start streaming anything to your mobile phone, your pda, your ipod, your tv that anyone bothers to put online. Inevitably this will replace all existing forms of content distributions. Why tune to a channel to view some program when you can just start streaming the program whenever you want, skip to any part you want and pause it whenever you want, etc?

Apple just gave the industry a little reality check, just like they did when they kick started online music sales a few years ago: if the industry doesn’t move, somebody else will. Over the next few months, one after the other media company will either join apple or similar iniatives from e.g. microsoft. Once this happens the pressure will be on and the market will do its work. Better content leads to more online revenue, at the cost of traditional revenue. The huge gap between cost of content production and content distribution and the market price (which is obscene) will start to come under pressure as well. At some point in the near future the market model will change from paid downloads to paid streams (subscription, per view, etc).

This will put an end to tv networks as we know them. They are content distributers and we don’t need them anymore.

The same is going on in the telecommunications sector where revenue used to come from telephony and related services. IP telephony has eliminated the need for paid telephone services since it works just fine over a modest internet connection. If you have umts phone, it is technically possible to use the internet for IP telephony so why exactly are we paying 30 cents per minute for a local phone call? Some mobile networks already offer fixed price bandwidth (expensive though). The operators on these networks get their revenue from a number of services, all of which with the exception of the network connection are technically possible with already available software packages that use the connection. People think it’s normal to pay 25 cent for the delivery of a 160 character message to a cell phone (SMS). If those two cellphones are umts phones and run msn, icq, aim, jabber or any of the other IM network clients you can send unlimited messages to anyone freely. Surprisingly few people have figured this out but they will. These changes are already happening and will kill much of the telecom industry as we know it. A mobile phone is nothing else than a general purpose computer with a umts modem or similar wireless connection and some general purpose software. The form factor is irrelevant.

Which brings us to the software industry because nothing of the above requires software with a pricetag greater than 0$. All of the services mentioned above can be implemented using existing, open source software. In fact oss developers have already done most of the work and created OSS media centers, video & audio codecs, communication software, real time operating systems and any other kind of software component you could possibly need to implement any of the services mentioned in this document. It’s just a matter of putting together the components.

So what remains is bandwidth, hardware and intellectual property. Any revenue not coming directly from these, will vaporize in the next few decades. The remaining revenue will still be sizable but probably less than the industry is used today. 50$ for a dvd now is considered normal today. I’d be surprised and disappointed if I was unable to watch star wars III on my mobile phone anywhere, anytime for over 5$ in about ten years. And no way am I going to watch that shit ten times.

My impression is that the whole proces will be slow thanks to the industry resisting any form of progress. It will take some outsiders, like Apple, to change the rules gradually. These outsiders exist and are already changing the rules.

migrated to wordpress

I’ve been playing around with wordpress for about an hour. Easy to use, feature rich and I managed to migrate my old pivot posts by importing the RSS.

Why migrate away from pivot? Well, I wanted to try something new. Referrer and comment spam has caused me to cripple pivot and frankly, I never really liked the plain text files, the messy templates and the lack of updates during the half year I used it.

WordPress seems to be popular amongst the ‘hard core’ bloggers and I like the look and feel. Also the default template is much nicer IMHO.

As for that, I am unlikely to change it much due to a lack of time and interest. That may sound a little unlike me but I am sort of bored with trying to make html+css+javascript do things it is clearly not very well suited for.

I simply no longer believe in this technology: it is primitive, awfully limited and hopelessly flawed by design. Most nice page layouts consist of elaborate workarounds for browser limitations, browser incompatibilities, ambiguous standards interpretations and plain parser bugs. The implementation of the more relevant CSS features are almost without exception problematic.

I have no wish to learn much more than I already know about yesterdays mistakes at Netscape and Microsoft. Every attempt at building something nice over the past few years has ended with me discovering it wouldn’t work in IE (position:fixed) or it wasn’t possible at all (vertical spacing, css columns with a row beneath) or it would sort of half work in version x and break down in version y of Firefox (never bothered to find out which version was behaving ‘incorrectly’).

x-plane vs ms flightsimulator

For the past few years, one of my hobbies is flying planes in a flightsimulator. I don’t meancombat flightsimulators but ‘real’ flightsimulators that simulate flying an actual airplane as realistically as possible. This post is about a review of two flightsimulators: ms flightsimulator and x-plane. I’ve used both, extensively and I’ll focus on the strong and weak points of both.

Let me start off by saying that these days x-plane is my favourite. I’m absolutely biased towards this wonderful program. X-plane is a commercial product by an individual named Austin Meyer. This somewhat outspoken individual (just read the stuff on his website) is, in my opinion, a genius and has pulled off what a whole team of developers at Microsoft couldn’t do: produce the most comprehensive, complete and realistic flightsimulator software for PCs. He can boast about his software being used in actual commercial training simulators that are certified for use during actual pilot training.

X-plane is an awesome technical achievement. It flies really smooth (that alone makes it realistic), it models how an airplane flies very realistically based on realtime computed aerodynamic properties that are derived from the shape of the airplane. It can model basically anything capable of flight (gliders, single props, helicopters, multi props, jets, supersonic jets, rockets, the space shuttle, hypothetical mars atmosphere planes, baloons, you name it). This makes flying x-plane lots of fun, for example trying to take off vertically with a harrier is way cool.

The airplanes in ms flightsimulator are much less realistic even though they look really nice. In addition, the graphics processing in ms flightsimulator goes at the expense of realism. The flightmodel is simplistic and is constantly fighting for cpu power with the graphics engine. And since the latter doesn’t scale well either way, you are in for a bumpy ride even on fast machines.

V8 of X-plane includes scenery technology that is superior to what Microsoft offers. Unfortunately, technology alone is not enough to create pretty scenery. Consequently, despite the technology, MS Flightsimulator looks much better. The reason for this is content. Even though x-plane is capable of rendering complex landscapes full of custom objects, roads, forests, cities, etc; it doesn’t have anything to render because the scenery is not ready yet. A project is underway to provide worldscenery for x-plane v8. This project will provide scenery based on satellite images, detailed roadmaps etc. This type of scenery is already available for the US and it looks really nice. Detailed roadmaps and coastlines have been integrated to the scenery so if you fly over new york, the roads are where they are supposed to be. The same goes for runways and taxilanes on airports. In addition the scenery includes autogenerated objects (these are part of the scenery and not generated at run-time) with objects in the right places of the right type (big office buildings in manhattan, farms in the country). The scenery has a lot of potential and is much better than the ms flightsimulator autogen scenery but it lacks custom modelled airports, buildings, bridges and other objects that flightsimulator has. All the landmarks (except for rivers, roads, coastlines and mountains) that a pilot uses to navigate are absent. When you fly over New York, there is no empire state building, no central park, no brooklyn bridge or even the statue of liberty. All of these can of course be added but that is a lot of work and unlikely to happen anytime soon.

Another disadvantage of x-plane scenery is that when you fly from one region to another, the flightsimulator pauses to load the scenery. These regions are not that big and sometimes the border is right in front of the runway you are trying to land on. If you fly a supersonic plane you cover a lot of ground really fast and the simulator pauses to load scenery every minute or so. Very annoying and ms flight simulator does not do this. Finally, an issue with the current version of x-plane is the ground textures. Again the technical potential of the engine is underused because only a hand full of textures are shipped with the engine. Consequently, cities are green because a city texture is lacking so a grass texture is used. You can actually add textures yourself so it is not hard to fix the issue.

MS flightsimulator has two huge advantages over x-plane when it comes to scenery: 1) it ships with excellent, detailed scenery of the entire world. 2) more scenery is available from third parties (for example the excellent nl2000 scenery that models the Netherlands in great detail).

Yet despite all these disadvantages, I still prefer x-plane. The smoothness of the simulator makes you feel in control of the airplane. I’d love to have better scenery, I’d love to be able to turn on the more advanced rendering features but the truth is that flying x-plane is really fun. Flightsimulator is all about great looks but the framerate drops dramatically when flying over detailed areas like big airports where you need a smooth simulation to land in a realistic fashion. It has trouble rendering ground textures properly. With detailed groundtextures that means that you have limited visibility because most of the textures around you are blurred because flightsimulator can’t keep up. X-plane doesn’t suffer from these issues at all.

Other features where flightsimulator has an edge over x-plane are AI trafick (watching the boeings queue for takeoff at Schiphol is cool), the weather module (x-plane has one and it uses the same weather web services but it is much less nice to work with). Finally the big advantage of flightsimulator is the huge community of users providing custom scenery, planes, tools, textures etc. X-plane has a much smaller community and there is not that much to download.

Still I prefer x-plane, simply because it simulates flying an airplane much better. If you want pretty screenshots, use ms flightsimulator. If you want to fly a realistic, challenging simulation, use x-plane.