What does Microsoft have to do to make Windows 7 what Vista wasn’t?

The Gadget Zone had an article on the 20 things Windows 7 MUST include and that got me to thinking…

Of course, the first thing that I thought about was that the Gadget Zone is apparently unaware of the bold or italic features of HTML and CSS when they used the classical ASCII model of uppercasing part of their headline. Hey guys, modern technology provides a better emphasis mechanism, you should use it.

Leaving the minor quibble aside, the list breaks down as follows (in the order they gave them):

20. Modularized OS. The funny thing is, Windows is supposed (note the emphasis style) to be a modular OS. It is a microkernel architecture and just about everything is in a library. Of course, the problem is that Microsoft has drifted to more monolithic options and Windows has become less modular as a result. This is in contrast to an OS like Linux that is not only modular in the kernel, it’s modular in just about everything you install.

19. XP Virtual Machine. Huh? The reason Apple did such a thing is that OS X was radically, to put it mildly, different from OS 9. There was no real option but to emulate there. However, Windows 7 won’t have that issue, but what Microsoft needs to do is fix its library mess. It’s about a fourth of the way there, but it needs to go the distance so that apps that run fine on XP also run fine on Windows 7.

18. New UAC. No, get rid of it. Apple and Ubuntu do it right: when you perform an administrative action, it asks for your password. This may seem more of a pain than UAC, but with Ubuntu, for example, I can become an administrator, perform all of the actions I need, and then stop being an administrator. It is massively less intrusive than UAC which, ultimately, I turned off on Vista because it drove me nuts. The Vista model just encourages users to click the OK button.

17. Gaming Mode. What? How about creating an OS that wasn’t so intrusive that it ate up your resources forcing you to boot into some console hybrid to play games? I don’t want to have to restart my machine to play Civilization IV, I want Windows to stop hogging everything. This suggestion really means buy a Wii, Xbox, or PS3.

16. Customised Install. This is just point 20 in a different approach. Without 20, you can’t have this and Windows is definitely got some interesting interdependencies. In any case, presumably, if you have a modular OS, you have an OS that can be customized.

15. Productive GUI. I laughed at this one… So much for the Windows “user friendly” myth! Actually, the problem with both Windows and OS X is that productive GUI means different things to different people, but they have to try and figure out the middle of the pack. Apple is okay at it, Microsoft has never figured it out. On the other hand, the open source community has figured it out. Yes, the array of options are dizzying, but one thing you can do is absolutely tailor your GUI to you. Windows and OS X cannot do this. I should know, I have all three.

14. All for One and One for All. I actually disagree with this. I like choice, hence the reason I like Linux. I can pick the environment that suits my needs with Linux and so the collection of Vista versions was actually a good thing in my book. Why should a user pay for features that they don’t need?

13. WinFS. This is a dumb idea. Let’s introduce the overhead of a database engine to a filesystem and make it distinctly slower. Actually, lets not and say we did. There’s no need for this.

12. Home User Licensing. Well, duh. Apple does this, I have the 5 machine license for OS X because it was cheaper than buying two copies of the OS. All in all, I prefer the Ubuntu model (amongst other Linux distributions): install on as many machines as you want as often as you want, for free. Of course, neither Apple or Microsoft is going to do this.

11. Driver Availability. Another duh. Of course it makes sense to ensure the widest range of hardware support before shipping. One way of doing that is by having a stable API.

10. Standards Compliant Browser. First, if you use IE for regular browsing, wise up. However, IE 8 is supposed to be aiming for standards compliancy and I’m happy to hear that. To be fair to Microsoft, there has been a movement around standards in a few of their products that is positive, notably in IE and in their C++ compiler.

9. Program Caching. I suppose, if you were dumb enough to have WinFS, this would be really necessary. Beyond that, I don’t really think it is. Hardware is filling the gap with faster drives, better bus speeds, and faster and more powerful CPUs. Basically, I’d rather not have the OS idling pumping stuff into memory that has to be dumped when it is needed by something else. Yes, on the surface, it seems like a good idea to put the unused RAM to use, but if an executing program needs that RAM, the freeing of it isn’t without cost. Net effect, I can wait the microsecond or two to have my app load.

8. Microsoft Toolbox. Having diagnostic utilities is a good thing, so I don’t dispute the basics of this. However, I think this already exists.

7. OS Restoration via imaging. I thought this was the purpose of system restore. However, there are a lot of options in this area already, so I don’t really see an all-pressing need for it to be inside of Windows. Generally, it is really better to image a system with the system offline anyways.

6. Barebones Kernel. Where have I seen this before? Oh yeah, item 20 above.

5. 64bit only. Yes. Finally, one that actually isn’t already addressed, half-baked, or irrelevant. It is high time that 32 bit Windows dies. Microsoft is doing that with Windows Server 2008 r2 and needs to do this out of the box with Windows 7. Lets be honest, if Vista is any indication, the hardware needed to run Windows 7 will have to be 64 bit capable, so there is no reason to futz around with 32 bit anymore. Besides, the 64 bit OS can run 32 bit apps. Yeah, it won’t be running 16 bit apps but if you are still doing that, you’re an idiot.

4. Better out-of-box burning capabilities. I’m sure Nero would prefer otherwise, but this should be a given. The simple fact is that DVD burning is pretty much expected on a modern PC and Windows is pretty shitty at it without 3rd party tools. While they’re at it, Windows should be able to mount disc images without the need to burn them first.

3. Diagnostic Tools. Hardware diagnostic tools already exist. There are, for example, very specific Linux distributions designed to boot off of portable devices (such as a USB key) for this purpose. I suspect that such tools in Windows would be next to useless if you had to run Windows to get to them. This is the kind of thing that really needs to be extremely lean and Windows isn’t remotely close to that.

2. Faster Boot and Shutdown. I suppose that has value if you do these often. I don’t shutdown my computers unless there is a very specific need. As for booting, that’s a pain in Windows because a large number of updates need you to restart. Also, if the author of this article gets his way with a gaming mode, I suspect this would be more relevant…

1. Simplify and manage startup items. To do that you would have to be less modular…

Well, that’s the story at the Gadget Zone. Now, in my opinion, here’s what I think it needs to do (this time in a numerical order that human beings use):

1. Get rid of UAC. I’ve discussed this above.

2. Fix the insanity of Aero. Hey, I don’t mind eye candy, but I’m getting significantly more and better eye candy from Compiz Fusion under X Windows for a fraction of the resources. Aero is a piggish mess.

3. 64 bit. I did mention it above, 32 bit has to die. I’ve already spec’d my next PC and it has 8 GB of RAM and that means a 64 bit OS. It also has the advantage of letting the hardware guys focus on 64 bit drivers rather than both.

4. Cut back the aggressive caching. Caching is good, when it is implemented well and the hits to it are frequent or regular. Caching everything, though, has a price.

5. Fix or scrap activation. I despise product activation and it was one of the things that, literally, drove me back to Linux. If you insist on this model, then at least provide a means of buying one physical copy and many (much cheaper) virtual copies. However, I hate the whole concept. I have 13 computers, which is a lot I’ll admit, but when I use one of them, I want the software I paid for available when it is appropriate. The whole licensing scheme ties me to a machine and, worse yet, makes it difficult to upgrade them. I turn my desktop over about every 18 months and I do not want to have to pay again for software that I have already bought. At the very least, let me deactivate on the old machine (like Adobe does) so I can activate on the new one.

6. Be faster and leaner. It’s not going to happen, Windows has gotten so huge that they have development teams dedicated to a dialog box, but this bloat is going to kill it. For example, a recent Windows update that added 5 words to the English and German dictionaries was 56.3 MB. To give you a frame of reference, War and Peace (one of the largest novels ever written) checks in at a massive 3.2 MB or 5.6% of the file size of a mere 5 word update to Windows.

I really could go on, there is so much that could make Windows better, but none is likely to happen. What is happening to Windows is what has happened to Netscape: bloated and slow. It is destined to collapse under its own weight unless Microsoft takes the steps that Apple did.

Experimenting with my Pentax K10D


A while ago I bought a Pentax K10D digital SLR. I’ve used it quite a bit, usually letting the camera do the work of picking the ISO (film speed), the aperature, and the shutter speeds. It’s generally okay at it, especially under good lighting conditions, but I usually need to do some adjustment of the end result. Recently, I’ve been spending a lot of time reading in order to dust off a set of skills (e.g. SLR photography) that I hadn’t used in ages and, having cudgled my brain back into to some remembrance of it all, I set forth into my backyard armed with my camera set to fully manual control. Here, then, is the result of some of the better pictures. The pictures are quite large (I shoot in RAW format), but I’ve scaled them down from original if you view the fullsize (had to scale them more, Yahoo hosting couldn’t handle the upload conversion, yay).

The Wonderful World of Domain Slamming

Today I received a letter from the Domain Registry of Canada in a nice envelope that immediately reminds you of the Government of Canada, red maple leaf and all.

Of course, the Domain Registry of Canada is not actually affiliated with the Government nor, as a matter of fact, is it likely to be your domain registrar. However, they’d like to have your domain and, in order to get it, they send these letters to do it. Now, you may be asking what is wrong with that and therein lies the problem…

In general, all of us get various letters or mailings advertising products and the vast majority of it ends up in the recycling bin. The trash is usually more appropriate, but we may as well do something useful with the sheets of paper that they send. In any case, the one thing that these share is that they’re clearly advertisements in the hopes that you may actually be interested in what they’re offering. As far as advertising goes, this is generally a lot less annoying than spam (hot needles in the eye is less annoying than email spam) or telemarketing. Now, enter the Domain Registry of Canada.

First off, the name is deliberately designed to imply that they have some sort of official status. They don’t claim it, mind you, but they certainly want you to think that way, especially when it’s all wrapped in that envelope designed to appear like it is from the Government. This wasn’t always their name, they previously went under the name of the “Internet Registry of Canada” until the federal Competition Bureau issued a warning about them. Notice the naming trend here? As I said, designed to look official and subject to change as needed. They don’t, however, seem to change the company behind it: Brandon Gray Internet Services. Google them, you’ll see a colourful history there.

Now, we get to the letter. It is very carefully worded, but it is designed as an invoice. They claim that they’re sending it as a courtesy and explain how you could suffer outages should your domain expire. They even help you out with things like a due date, options on renewal, and an envelope (white this time and not postage paid) in order to take care of this dire emergency. For an example, a little dated, go here though be aware that they’ve changed it a little, though the pricing appears to be the same.

Which, of course, leads me to pricing. DRoC offers $40 for 1 year, $70 for 2, and $160 for 5. Great deal, no? Network Solutions will do the same (and more) for $29.99, $49.98, and $74.95 respectively. Admittedly, that’s in US dollars, but that means that the 5 year cost is $76.34 Canadian at the current exchange. In other words DRoC is more than twice the price of Network Solutions, the largest Registrar on the Internet. As an added bonus, for $99.90, Network Solutions will register you for 10 years. DRoC’s “deal” isn’t looking all that good now, is it?

Now, on the subject of the consequences of failing to renew that DRoC outlines, what they also fail to mention is the possible impact of renewing with them. Bear in mind that moving your domain information around isn’t without impact. The change of information can take time to propagate and can result in outages. Also, if your registration and hosting is all one package, the shift can have a real impact on your existing site that goes beyond a brief outage. They don’t really care, of course, once they have your money, but it is something you should be aware of.

Net effect, don’t do it. I’ve sent a message to them with a cease and desist statement. As the owner of several domains, I will never use them and I’ve explicitly stated that I do not want any further correspondence or I’ll file a complaint. I’m sorely tempted to file a complaint anyways, especially with ICANN who has been very irresponsible in this regards, first by allowing these people to become Registrars and, secondly, for making it easier for them to domain slam.

An interesting subject on Slashdot: hostnames

Naming servers on a network is always an interesting debate in technology circles, but the Slashdot discussion on it shows something distinct between IT guys and those of us who code for a living.

In my current company, and the one previous, it is pretty obvious that the developers had some control over the naming scheme for servers. In the last company, the convention was “birds or things that fly” and so we had kestral, dragon, etc. I was, oddly enough, the one that broke that scheme. The first machine that I set up I called phantom and won the argument on the basis that ghosts fly. The second machine didn’t even come close, I called it toontown because I had watched Who Framed Roger Rabbit the night before. I just carried on from there, though the best was probably “frankensparc” because it was a Sun Ultra 5 with a drive caddy that we used to switch environments as we need them. Ultimately, IT got involved and machines started to get named as “ads-dev1″ and “corp-fssrv1″ and so forth.

In my current company, we named the machines after comic book characters, the first being spidey, then wolverine, hellboy, and beyond. This was my idea, but I have to give the crown for naming over to a friend and co-worker when he came up with mystique, magneto, and mysterio for QA test machines. It just fit. Later on, as we moved into the 64-bit arena, there was a desire to “update” the naming scheme and the model was futuristic science with the first being called quantum. Interestingly enough, there hasn’t been any since and we still have our comic book heroes and villains doing the heavy lifting. Now, despite all of that, IT has gotten involved with their naming convention as well. From this, we have the exciting names of “adfs-srv” and “avmail1″ as examples of the outcome. Notice a trend here?

In my home domain I’m both the developer and the admin (and, yes, it is admin when you have more than 13 machines, including rack mounted servers, on a highspeed network). My domain is a mixed bag of Linux, UNIX, Mac OS, Windows, etc. However, the machines are named for species of cats, big or small. So, I have lion, leopard, puma, sabertooth, etc. Heck, I even named my printer “cheetah” because it’s a sprinter!

The difference I’m trying to highlight should be obvious by now: IT is boring. Yes, the naming conventions IT create tend to make sense and there is value in that, but it lacks character. It lacks, really, esprit de corps. Nobody cares, or remembers, a machine called “adfs-srv” that provides shared file systems. They do, however, remember that “wolverine” is where to get, and see, the latest build in action, or “hellboy” is where you get the official releases. Yes, the name “wolverine” doesn’t have a direct meaning to what we do, but it sticks out and is remembered. More importantly, it means something to people because it is a real name, a machine that can be themed. How do you theme avmail1? You don’t.

As a side note, my desktop at the office is called “revenant” and my laptop is “ghost” as a gesture to the first server, phantom, that I ever installed. I’m in a fortunate position (being employee #3) that I get to install my machine and name it what I want. Otherwise it would be something exciting like “johnpc-dev” or the like. You tell me what you would prefer…

Net effect, if you want esprit de corps, ignore the advice of IT and come up with something that works for you and is fun. If you want practical and dull, listen to IT. Par for the course, no?

Ubuntu Linux – 1 Week (or so) Later

Well, things are actually pretty darn good. Not that has all been a bed of roses, see my last posting, but after that it has gone exceedingly well. Here are some of the more interesting experiences:

1. Open Office.

Well, I knew this was actually a pretty good piece of software, but I didn’t really know how good it was. I’ve been sick this week and so I’ve been, sort of, working from home. This mostly meant writing a design for a piece of software for work and, because I had to know, I decided to do the design using Open Office rather than Microsoft Word. Well, it worked beautifully. So well, in fact, that I’m very likely going to install it on my machine at work because I hate the interface for Office 2007. It’s an absolutely nightmare to find anything. The other big, and pleasant, surprise is that Open Office handles the Word 2007 “docx” format quite well. I don’t think it’s 100%, but I didn’t see any oddness for the two documents I had to open with it. All in all, I’m impressed. Mind you, I haven’t tried the spreadsheet side of things and, to be honest, Excel is the real crown jewel of MS Office, but I expect it is good too. I’m less concerned about the other parts since I very rarely use those in MS Office either.

2. WINE.

If you’re not familiar, WINE (WINE Is Not an Emulator, yeah, it’s an open source thing) is a implemantation of the Windows application programming interface on an x86 UNIX (or UNIX-like) operating system. Basically, the idea is that it allows you to run Windows programs on, for example, Linux when a suitable alternative doesn’t exist. For the most part, there is almost always a suitable alternative, but not for everything. For example, while the GIMP is great for graphics destined for the Web, it’s not so much for those destined for print; Adobe Photoshop does rule the roost there. Of course, the GIMP is a awesome piece of software, but so is Photoshop. The other area is games. Yes, there are some truly fun and well-written Linux games, but the absolute vast majority of PC games are written for Windows, it’s a simple fact. So this is the gap that WINE is intended to fill.

Bearing in mind that WINE is a clean-room implementation of the Windows API, it’s still lagging what Windows actually does. Having said that, it runs a remarkable set of Windows applications very well. For me, the big one is Civilization IV because it’s the only game I really play and I want to play it on my current desktop. So, rather than using the Ubuntu WINE installation, which didn’t work, I trekked over to the WINE site and configured my software repository to include them and got the latest (RC-3 at that point, RC-4 just came out today). It installed very nicely and so off I went to install Civ IV and the various expansion packs. Sadly, they didn’t all work, but Civ IV Warlords, fully patched, does and that’s good for now. I’m waiting for the Ubuntu packages of RC-4 to come live and then I’ll see if any of the fixes for it sort out my Beyond the Sword behaviour. Warlords is fun though, so I’m not really complaining.

A couple of interesting things out of all this is that I also tried Cedega (a commercial version of WINE aimed at games). It’s a bust. A total waste of cash and I’m dumping the subscription. The real WINE is way ahead of it and doesn’t cost. Lesson learned. I should have just ignored it, but the lure of Civ IV BTS was there. The other thing I found odd is that my Linux box ran Warlord better than my Windows box. Yes, my Linux box has a lot more horsepower: AMD Athlon X2 5000 with 4 GB RAM and an nVidia 7950 (512 mb) versus 3.0 GHz P4 (hyperthreaded) with 2 GB RAM and an older nVidia card (256 mb). Having said that, I was running it in a window on Linux with high resolution and high effects while pushing dual wide screen and Compiz. On the other machine, I ran it single screen with less resolution and medium effects. Also, for whatever reason, it uses a lot less RAM under Linux. I never climbed about 35% usage and under Windows Vista x64 on this machine I’d regularly hit 85% plus when running the game. Got me.

3. Fonts.

Admittedly, doing a search on Google for Linux and fonts returns what can only be described as a bit of horror story. It’s reasonably true, the default fonts available for Linux do blow goats, but this is easily rectified with little effort, especially if you’re the owner of several powerful desktop publishing and graphic arts programs and have thousands of fonts available to you. Needless to say, I sorted out the basic font issue fairly quickly for my machine. However, having done that, Firefox and Thunderbird still looked like shit warmed up on a BBQ.

Don’t get me wrong, Firefox is a great piece of software and I use it as my default on all of my machines regardless of the operating system, but all it took was one look to ask the question: Are these guys fucking blind?!? If you want a painful experience of reading text on a screen, then simply run Firefox on a newly installed Linux system. It literally hurts the eyes, it’s that brutal looking. So, faced with no other option beyond ripping out my eyeballs, I started to tweak the heck out of Firefox and Thunderbird and eventually got something half-decent. It still looks off compared to Firefox on the Mac or Windows (and I have both to compare), but it’s infinitely better than where it started. Not that I get a huge amount of traffic, but it would be nice if somebody in Mozilla world paid a bit of attention to this note.

Speaking of Firefox on Linux: turn off the “smooth scrolling” feature and it performs a lot better. I had that on and it would freeze for a second or two very frequently. Turning it off made the scrolling, well, smoother. Which is kind of funny when you think about. Also, enable the proposed packages for Ubuntu and get rid of the beta version for the release candidate version of Firefox.

Opinionated Photography