October 2008 - Posts
One of the forums that I visit daily (well, I am the moderator after all...) has a funny picture thread.
This one made me laugh out loud:

Last week I bought myself a zune, and since my main computer during the day is my company laptop, I wanted to install it on that one. Unfortunately, going to zune.net didn;t help because the first thing the installer does is to check if Windows Update is enabled. And if it isn't, it aborts. Of course, if you don;t have an internet connection at all, it aborts as well.
My laptop is ruled by company policies, and security is not a laughing matter here. Regardless of what my opinions are, I am not going to tamper with that, since that would be very much a 'Bad Thing (tm)'.
After a lof of googling I discovered that a lot of people have this problem, and the folks at Zune.net seem to think that this situation needs no special attention. Luckily I found the solution on a zune forum. There are lot of alternate approches, but they require some degree of hacking with settings, which I do not want to do.
- Download the client package which contains all the files, and not the setup shim you can find on Zune.net
- Extract the files
- Navigate to the packages folder in x86 folder.
- Install wmfdist11-windowsxp-x86-enu.exe
- Install windowsxp-kb915865-v11-x86-enu.exe
- Install zune-x86.msi
- Restart the computer
- Connect your Zune and wait for the driver isntallation and device detection
For x64 the setup will be similar, but you won't need the kb patch. It shouldn't be too hard to figure out which files to install if you have an x64 system.
I have to admit I am a bit disappointed by Microsoft and the Zune folks for not explaining this in the FAQ on Zune.net or somewhere else where you can easily find it.
I am not the only one with a corporate laptop and a zune, and many people seem to have had this problem, judging by the number of hits I got.
It seems the Zune decision makers want to force people to be online.
This has been sitting in my drafts folder for a long time, but I finally got around to finishing this blog post. The knife shop in a nearby city held a firesale, and my wife told me I could go and have a look and see if there was anything worth having... I don't what I did to earn this but I wasn't about to complain.
So after some consideration I decided to buy 2 kitchen knives with a 20% discount. Still nowhere near cheap, but not a bad price, and I had wanted to buy good knives for a long time already. The knives we had up until now are cheap made in china items, made from crappy steel, and way to soft to hold a decent edge. These are the kind of knives found in the average household. Honing, hones and staight razors are my main non-programming hobbies, but up until now, good kitchen knives were not on the household priorities list. Blessings be on my wife for being this generous :)
The first one I picked was the Kai Shun dm-0701 general purpose kitchen knife. It's edge is 6 inches long, and it is made from pattern welded steel which was hammered and folded 5 times to end up with 32 layers of steel. Despite being stainless its Rockwell hardness is 61 +-1, which means that it should take and hold a near-razorsharp edge.
The second knife was the Wusthof 4972 Japanese style vegetable knife. It's edge is also 6 inches long, and it is made from high quality stainless steel. It has a Rockwell hardness of 58, which should make it a bit easier to hone. I don't know hat to expect of the edge retention qualities, though they should be OK.
The Kai, with the belgian blue whetstone on the background

The Wusthof, with the yellow coticule in the background.

The good
Both knives are of a very good quality despite being stainless. The Kai factory edge was sharp enough for my taste, which is rare enough. Factory edges cannot be trusted. They might be sharp enough, but there is a variation, and the factory edge is in no way indicative of the quality of the blade.
I already used both knives, and the balance and the feel of them are excellent. I have already fallen in love with the Japanese knife after I used it to cut meat, and I didn't feel any resistance from the meat. I am still undecided on the Wusthof. I have never used that blade style and I still have to get used to it. Atm my bias is positive.
The bad
Not much bad to speak of yet, except that the knives come without detailed information about the steel, and without honing guidelines. To be honest, this is a bit like complaining that the average car does not come with tuning instructions. 99% of the people wouldn't know true sharpness or quality steel if it hit them in the face (it would be a brief experience :D).
Of the remaining 1% who do care, 99% think that honing a knife is no more complicated that drawing it through some e-z-sharp applicance with ceramic discs (shudder...) or whacking it against a steel 'like they do in the movies'.
Only people with a passion for honing or knives will generally really care about the things I mentioned, so I don't hold it against the manufacturers that they don't supply it with the knives. The information was easily accessible on the internet on various kitchen knife blogs.
The ugly
I was pretty disappointed with the sales pitch I got at the shop where I bought those knives. I quickly discovered that I knew more about knives than the sales woman when I asked questions about the steel that was used in the different knives.
Me: Hi, could you tell me a bit about the different types of steel that is used in these knives? Which kinds do you sell?
Her: Huh ????????
Me: Do you have any Japanese carbon steel knives?
Her: Huh ????????
Me: Ok do you have any knives that would rust if I let them stay wet for too long?
Her: Oh no. We don't sell those. Why would anyone want to have such knives. That would be very unhiegenic I would think.
Now, while it is true that carbon steel knives will rust if you leave them wet, they will not do so if you care for them. Stainless steel lets you get away with a lot of abuse, but carbon steel doesn't. A professional chef told me that I'd be appalled at how a lot of restaurants store their knives. Carbon knives can generally take better edges, and force you to care for them.
The verdict
I've had these knives for a couple of months now. After honing them by hand (took awhile to find the best stone and technique to sharpen the wusthof) they are now very sharp, and excellent cutters. Both knives are superb, and welcome additions to my kitchen.
They are different though. The Kai takes the sharpest edge, and is a great pull cutter (i.e. you slice by pulling the knive across or through something) while the Wusthof -due to its shape- is a great push cutter.
Both knives are a joy to use once they are sharp (the wusthof was finicky to get right) and as with all sharp things: keep them safely away from curious kids :)
Something I picked up on slashdot today: Microsoft is checking if people would want an 'instant on' version of Windows.
As compelling as it sounds, I don't think it is that big a deal, and they shouldn't waste their time with it. These days, evey computer and laptop supports Standby or Hibernation. Between the 2 of those, there is no reason why Microsoft should invent an 'Instant On' option that is limited in what you can do, if it is perfectly possible to resume from hibernation or standby in the same amount of time and have a fully functional system at your fingertips.
But let's for the moment assume that my computer support neither of those options.
My home laptop is an old P3 1GHz with 700 MB RAM. It is not part of a domain , and is fully usable 15 - 20 seconds after I touch the power button. Instant enough for me. My workstations are the same, only it takes 20 seconds or something like that for the system to POST. So even the instant on feature would not save me from having to wait.
Then there are my machines at work. They are part of an enterprise domain. Booting windows takes a relatively short time. It's only when I log in that the wait begins. The delay before I can actually use my laptop is long enough that I can go to the coffee machine, get hot water and brew my own coffee by manually pouring hot water over a drip filter with hand ground beans. By the time my cup of coffee is full, it can happen that I can access the start menu, though that is not a given. Usually it takes another 5 - 10 minutes before the system has finished doing whatever it needs to do.
The reason of course is that -as in a typical enterprise- there are so many group policies which are refreshed. Then there is the virus scanner that is starting its scan, remote management software (sms) that is started, system checks that are performed, services that are started, ...
So Instant On wouldn't help me much there, because the amount of stuff that is going on would be the same. Of course they could prevent this prom happening, but I am pretty sure that no domain admin wants to allow a computer on the network if it hasn't jumped through all the hoops to make sure that it is compliant with all the policies and limitations that are required by the corporate policies.
It would probably best if they ditch Instant On right now, and start focusing on Windows 7, making it robust and responsive.
Hardly worth mentioning, but there is a minor bug in the documentation of fopen and its friends. The remarks section lists the open mode encoding for 16 bit unicode as UTF16-LE instead of UTF-16LE.
As I said it is very minor, but if you use fopen, care about the documentation and have 5 minutes to spare, you can hop over to my bug report on connect and add a vote.
Yesterday I had to install VS2008 SP1 on a computer with limited disk space on C:\
Even though VS2008 itself was installed on D:\ the installer (which is 800MB) still required 3.3 GB of space on C:\
I molested C: until I had enough space to perform the upgrade, but I felt something was wrong. After some searching it turns out that due to various issues, the rule of thumb for Microsoft issued service packs is that you should have approximately 4 times the size of the service pack itself as free space.
So for VS2008 SP1 update, you need 4 x 800MB == 3.2GB of free space on C:\
It might be possible to manipulate it a bit by setting %temp% to another drive or so. Whatever.
Here is another person who needs to learn some netiquette (emphasis mine).
Hey,
well, I will not describe my situation because it is not part of my question and has nothing directly to do with it and would only lead to false assumptions as it already did...
My question is ... <snip>
Not that I am implying anything, but seeing that the discussion may drift to an entirely different topic directly, please do not return the question of why I am wanting to do this. I do know what I am doing and why I would need this.
Any help would be greatly appreciated.
Regards,
pd
His question would have a much better chance of being answered if he'd recognised that the people answering questions are actual people. We are volunteers, doing this to help and because some questions are actually very interesting. Treating us like helpdesk personnel is not something that we generally appreciate.
We sometimes spend a lot of effort to answer a complex question if the situation is very interesting. Or perhaps because the issue is something advanced that might be helpful to ourselves one day. Denying us the interesting bits and treating us like a bad manager treats his serfs is more likely to cause the reaction 'well, in that case figure it out on your own'.
And apart from the fact that the motivation to answer has left me already, the thing with complex questions is that the devil is in the details. If you don't tell us exactly what you are trying to do, and which problem you are trying to solve, then how are we supposed to know a) what causes the problem, and b) how to solve it.
EDIT: I discovered after some digging that he had asked this question before, and the original thread was closed by a moderator because it could be useful to malware authors. Personally I don't agree with this decision. But the OP should have mentioned this in his new thread. That way we would have known something more. And it doesn't change the fact that he should have described his problem more clearly.
I hang out in the MSDN forums on a regular basis, to see if there’re any questions that need answering. Usualy this is pretty unexciting, but every now and again, the asker really needs a reality check.
This thread came up some time ago, and it refuses to die.
The first thing that stands out is the title itself : ‘A very serious bug in MS Visual C++’. Sensationalist headlines like this almost always indicate a serious misunderstanding on the part of the author. It also indicates someone who is very, very sure of himself, because it excludes any possibility that he himself might be wrong.
The initial message itself was the classical example of ‘newbie discovers floating point numbers, it’s the end of the world as we know it’
If you haven’t bothered following the link, this is his gripe:
double a=111.567,b=111,c;
c=a-b;
// and you will receive
//
//a=111.56699999999999
//b=111.00000000000000
//c=0.56699999999999307
//
//instead => a=111.567, b=111, c=0.567;
Yawn… another programmer who discovers that the floating point format does not guarantee fixed decimal correctness. The results are correct within the required precision of the floating point format, so all is well.
A is no 111.567 because it is a floating point number, and not a fixed point number. In any case, googling for ‘what every computer programmer should know about floating point’ will get you a paper that explains this issue in detail.
The original poster also explains that he has tested with every compiler from VC6 to VC2008, and they are all wrong. That in itself should have been a clue to think twice before using such a preposterous title.
Various people tried to explain the problem, but to no avail. Here are a handful of quotes from the OP (who is building an ERP system...) in the course of the discussion:
· Industry standard ??? I am not agreeing with you. There are laws of mathematics which must be respected by all. I can not agree that 111,567 is equal to 111.56699999999999 because of simple reason that it is not equal.
- You cover me with theory. Thank you. But things are much simpler.
- I think that something fundamental such as a declaration of fractional numbers and their actions should not be in so surrounded way. I think that the variables with floating point ('double') are unusable at this time, because they do not always give accurate results. And I would like experts from Microsoft, which deal with these issues, in some way to offer basic solution to this problem.
- All indicate the standard IEEE as a dogma. I am not familiar with the IEEE simply because I do not have time. But once the standard makes it impossible to use a certain type of fundamental variables and actions with them, maybe it is better to consider changes in the standard
But it gets even better! A second poster enters the discussion with the claim
‘I am absolutely astounded by two things here:
1. That this math bug is still floating around (I remember when it was a CPU issue)
2. That people here claim that it is not a bug in c++ in VS2003 or later’
Someone then explains that his SUN stations give the same results, just to indicate that this problem has nothing to do with compiler errors (or CPU dependency) whatsoever.
But it wasn’t meant to be. What did the second poster reply?
‘Thanks for testing it for me on the SPARC system.
Perhaps it is some bizarre feature of hardware-based floating point present in modern CPUs? This may account for why similar code compiled on older compilers (VS6) (who don't have modern FCPU knowledge) yields expected results.
…
It's a bit amusing when the system can't even handle a result with one decimal place!’
Ah well.
If people are misguided, you can do your best to make them see. But if they want nothing to do with ‘reality’, then you can’t force them to understand.
After all, the powers of reason are futile in face of the powers of persuasion that allow someone to think every CPU, compiler and engineer / programmer / scientist in existence is wrong.
I just stumbled upon the engineering blog for Windows 7. Seems interesting enough to follow in order to have a better idea about what Windows 7 will be like from a technical point of view.