Archive for November, 2004

More MS Rhetoric

Thursday, November 11th, 2004

Of all of the really good and useful MS Blogs I read, I really hate to see ones like this:
Eclipse redux, again and again and again…..

Just like the Mono article I wrote about the other day, this is just more MS Evangelist hot-air.

The truth of the matter is, Eclipse is a real threat to MS. I mean come on… Why in the world would MS give Visual Studio away for free if they could still get people to fork over $1000 for it?

Before Eclipse, what was the alternative? Emacs, and gcc. vi for the die-hards. But what was available in an integrated package? Well, that’s why people use Visual Studio. But now there’s (almost) a viable alternative.

People who know me already know that I’m the biggest Visual Studio fanatic there is, but for this guy to say that Eclipse isn’t a MS competitor is drinking too much of the all-you-can-drink kool-aid in the fridge.

Software Quotes

Tuesday, November 9th, 2004

This is a fun read through:
SoftwareQuotes.com

It’s got the obvious famous quotes by Mr. Gates, but also some other gems you may have not heard before.

A few of my favorites:
“Testing proves a programmer’s failure. Debugging is the programmer’s vindication.”
“A good threat is worth a thousand tests.”
“The question of whether computers can think is like the question of whether submarines can swim.”
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.”

My Christmas List

Tuesday, November 9th, 2004

To go along with my $16,000 Mr and Mrs Potato Heads,

I want one of these:
Zeppelin NT

Another item which is totally cool, but a little less pricey, check this thing out:
Firewheel - check out the movie!

64-bit? Soon…

Friday, November 5th, 2004

Soon enough the 64-bit world will be upon us. I hope that it isn’t as much of a hassle as moving to 32-bit (although my guess is that it will be).

Craig McMurtry (MS Blogger) has a real quick series of 64-bit related articles. This does an overview of the hardware available and software that MS provides (or will provide). Short, excellent articles to get you up to speed.

64-Bit Windows Part 1
64-bit Windows Part 2
64-bit Windows Part 3: The Itanium Processor
64-bit Windows Part 4: The x64 Standard
64-bit Windows Part 5: A Summary Comparison of the Two Species of 64-bit Processors
64-Bit Windows Part 6: The Hardware Landscape
64-Bit Windows Part 7: Taking it Personally - Michael Dell, are you reading this?
64-Bit Windows Part 8: What is Microsoft doing about 64-bit personal computers
64-bit Windows Part 9: Microsoft Operating Systems

Also, if you ever find yourself actually using Windows 64, this article gives some handy tips for using it.
First Post - all things x64

Microsoft and Mono

Thursday, November 4th, 2004

At this point I’m sure you’ve heard about Mono? I liken Mono to similar efforts, such as Wine. What an amazing accomplishment to even attempt to port any monolithic API Microsoft has put out. You have to give them props.

What does Microsoft think of Mono?
Microsoft (and Joe) on MONO
Here’s one MS Blogger that voices his opinion. I sincerely hope that he is in the minority when it comes to their attitude of Mono. It seems like he is in full evangelist mode, and not really seeing the whole picture (Or… the picture outside of Redmond). Such a close-minded attitude… If Microsoft as a company believes this, it will get them in trouble, I’m sure of it.

(If you read all of the comments, it seems as if he may be coming down off of his stump, but we’ll see what happens).

Check out this link that took a series of polls on Mono. This is how the rest of the world views Mono. The results are clear.
The Mono Survey - the results

Sick of the old CMD.exe?

Thursday, November 4th, 2004

Hard to believe that the CMD.exe in XP hasn’t changed a whole lot since its DOS days (or maybe that’s why I still like it).

You want a completely different command prompt? Well take a look at this:
Coolest Channel 9 video I’ve ever seen… - Just the name of the artcle, not my opinion. Also, there are quite a few links to other sites besides the video.

It’s called Monad. MS’s attempt to completely redefine how the command prompt works. You can get it right now, and play with it. I’m going to try it out soon.

How can a command prompt be any different than it is now? Well, watch the video! It’s amazingly powerful stuff (once you learn the syntax, always the kicker).

Of course, I still maintain the opinion that “The days of the command line operating system are over!”, but I think Monad could evolve into a very useful product.

Cat Pictures

Thursday, November 4th, 2004

The Infinite Cat Project

Now, you may think, “Big deal, a bunch of pictures of cats.” But look closely at the pictures and see if you can see the relationship to each other. What a clever idea! Or maybe I just like it cuz I like cats…

Take a flying leap

Monday, November 1st, 2004

Here’s a fun game to try. Try and run and jump into a parked Mini. It’s kinda hard. My highest score was a 4.8.

The Mini Jump Game

Update: I got an 8.8

The Mysteries of Inlining

Monday, November 1st, 2004

The concept of inlining is great. You essentially get a “free” optimization of your code. For no effort on your part, the compiler can go through and make your code faster. That’s great, you say, inline the whole program! Well, that’s the problem. It isn’t always a good thing to inline your functions. Ok then, I know my program best, so I’ll choose what functions should be inlined. However, if you’re using Visual C++, you can never be certain that the function you have written will be inlined. Raise your hand if you think adding the keyword ‘inline’ to your function will always inline the function? What about ‘forceinline’? Depending on your project settings, both answers are usually ‘no’. (I’ve run into many people that think otherwise).
Ob (In-line Function Expansion)
inline, __inline, __forceinline

Under Visual C++, the compiler assumes that it is smarter than you when it comes to determining which functions can be candidates for inlining. I think this is the way it should be. Remember, I said inlining should be a free optimization. So I don’t want to have to litter my code with a bunch of keywords, which may or may not be appropriate. (What happens if the function gets a lot bigger, now I have to remember to remove the keyword).

Under Visual C#, the ‘compiler’ has perhaps a harder time determining whether or not a function should be inlined. There are 2 chances for determining whether a function is a candidate: During compile to IL, and during JIT. This can be a blessing and a curse. Take a look at this excellent series of blog articles by David Notario, a MS blogger on the JIT team:
Jit Optimizations: Inlining (I) - a simple introduction explaining inlining, what it does, and how it works.
Jit Optimizations: Inlining (II) - whether or not a function is a candidate for inlining.