shahine.com/omar/

homepage | Send mail to the author(s) contact

yet another Microsoft blogger

# Sunday, August 07, 2005

I'm never getting that time back

As always, every few years the technology tax must be paid. This past weekend I picked up a Shuttle ST20G5 from Fry’s along with a proc and 2 GB of memory. I spent a bunch o time making a bootable XP SP2 CD with the SATA driver and my Promise RAID ATA driver slipstreamed (no floppy). Thanks to nLite this was a breeze. If you ever need to make a bootable Windows CD with your drivers, custom tweaks etc this is the app to get.

Anyway, I got everything, I mean everything working. And then the fun began. I had to make S3 standby work. I correctly configured S3 in the bios, but then realized that there was a special BIOS setting to allow USB devices to wake the machine from sleep, and it was off by default. Well, I turned it on and no dice. So I went back in the bios, and saw that there was a setting to allow a PS/2 Keyboard to wake it from sleep. So I turned it on and that worked (thanks to the fact that my MS Keyboard has both USB and PS/2). Then I was like, I wonder if this is fixed in the latest bios. So I installed that. Then my Monitor would blank out every 10 or so seconds. So I went back to the original ATI drivers that came with the motherboard. Problem fixed. But, my S3 problem was still there with USB (not PS/2). I should have just called it a day. Then really weird stuff started to happen, like weird video problems and windows telling my that my user profile was busted (could not load the registry).

Argggghhhh!!!! So then I go and re-install Windows. Easy enough since I have a bootable CD with all the goods. While that’s going on, I read up on some forums and find out that the bios I am using is completely unstable, and everyone in the forums is using the original version that shipped with the PC. So I figure, I’ll be safe and roll back. Well after Windows is installed, I do just that and Windows blue screens during the update process. Now my Shuttle is a big fat paper weight and I’m never getting back those hours I just wasted.

So I took everything apart, took the RAM/CPU out (and that dammed thermal grease). Now back to Fry’s to exchange this for a new one so I can back to where I was on Saturday (where I had S3 wake working using PS/2). I like the size and quietness of this thing to much to use anything else at this point. Sigh.

I know I'm being punished.

Posted Sunday, August 07, 2005    Permalink    Comments [10]  View blog reactions

 

Consolas

I agree with Steve, Consolas is the best programming/fixed-width font I’ve used. The ClearType hinting is excellent. I managed to grab the font a while back and it’s one of the first things I install on my XP boxes.

Now the real question is will Word, Excel etc change their default font from Arial to something > Arial. Arial is optimized for printing, not on-screen reading like Tahoma and Verdana. I hate Arial. Plus Arial looks horrible on a Mac.

Posted Sunday, August 07, 2005    Permalink    Comments [6]  View blog reactions

 

# Saturday, August 06, 2005

Boeing 777-200LR Worldiner

This is pretty impressive. Actually, two things are. 1) India will be buying 490 planes in the next 20 years, and 2) the 700-200LR Can fly from India to San Francisco non stop (9,000 miles). That's amazing.

777-200LR

Posted Saturday, August 06, 2005    Permalink    Comments [2]  View blog reactions

 

# Friday, August 05, 2005

Treo 670

OMG OMG OMG!

Treo 670

Wow, this is FANTASTIC (if it’s actually going to ship).

Posted Friday, August 05, 2005    Permalink    Comments [2]  View blog reactions

 

Treasure Hunt for Kahuna

Over the next few weeks, we’ll be inviting some folks into the Hotmail beta. Today is our first attempt at that, and it looks like it was a success. We made a little treasure hunt for people, and by the looks of it, things went well :-).

Part of our treasure hunt involved using MSN Spaces. I love this post:

“I totally want to check out the beta, enough so that I opened a spaces account just to track back to this article. Hopefully I'll make the list and I can see how much cooler Kahuna is than the current Hotmail, which is looking a bit dated.” [Ryan Blank]

As I said, there will be more ways to get into the beta soon :-).

Posted Friday, August 05, 2005    Permalink    Comments [1]  View blog reactions

 

# Thursday, August 04, 2005

Tips For Working At MS

Josh Ledgard and Kevin Briody have some good Microsoft tips. [via Furrygoat]

Here is my top 10. Many of these were borrowed from other great folks.

1. Process is no substitute for thinking

Don’t use process as an excuse, or get cornered into a hole because of process. If you use your brain, you’ll find it’s sometimes amazingly powerful at accomplishing hard things.

"we don’t pay you to type – we pay you to think"

2. Get out of your office

Seriously, get out of you chair, walk into the hallway and realize the full potential of being located near your entire team. Resist the urge to send them mail when you can just write it down somewhere and bring it up the next time you see them. On top of that, get to know your team. You’ll find you have an amazing set of co-workers who want to ship a kick ass product with you.

3. Use your product (the one your customers will)

There is no excuse for not knowing everything you can about your product. Don’t get stuck in a silo. The most successful folks at Microsoft have an amazing amount of breadth and depth to the product. If all you have is depth, you are going to limit your potential. When some one external to your team asks you a question about your product, try and asnwer it youself. Don't just reply CC'ing the person who owns that aspect of the product. You'll save an email, and learn something if you do.

Finally, you are shipping this thing to people who expect to use it. If you don't, how do you know you are shipping the right product?

4. Fix things that are broken rather than complain about them being broken. Actions speak better than your complaining.

I can’t tell you how much I value people who don’t ask to fix something, they just take the initiative and make the team’s life better. Fix one broken thing a year and you’ll be amazed at the results.

5. Make hard problem look easy. Don’t make easy problems look hard.

If you make a really hard problem look easy you are a rock star. If you make a really easy problems look hard, then you are making my life (or some one else’s) harder than it needs to be. I have my own problems, don’t bring me more of them.

6. Use the right communication tool for the job.

You need to learn how to communicate to the different people at Microsoft. You can’t talk to the planners or the marketing folk the same way you talk to you developers and testers. If you VP is on a thread, don’t reply with some useless thread propagating crap. Take discussions offline, meet with people, GET OUT OF YOUR OFFICE, and use email sparingly. Think twice, I mean three times about adding anyone to a thread. Once you do they are stuck on that thread from hell till it dies a few days later.

7. Learn to make mistakes.

Microsoft is amazingly forgiving about making mistakes. Software development is an Art, not a science. Try new things, go for the gold, be big and bold. You will screw up, don’t lament, learn and move on. Don’t make the same mistake twice.

8. Keep things simple.

Don’t over complicate things because you can.

9. Add value all the time

You are at the world’s largest software company that has some of the best minds and resources in the industry. Try and add value every day (by thinking). Help your team, co-workers, and other teams be the best they can.

10. Use their product

Make it a point to dogfood other team’s products. Get on their discussion or dogfood DLs. Try their new stuff, give them good feedback and bugs. You’ll get to know new people and personalities in the company, and you’ll be helping Microsoft ship better software. Microsoft has an amazing culture of getting and giving good candid feedback. Don’t miss out on the opportunity to help make another team’s stuff better.

Posted Thursday, August 04, 2005    Permalink    Comments [1]  View blog reactions

 

MSFT vs OMAR

Today I am announcing my year end results. Performance was good and I hit my age target of 29. I have consistently hit age targets each year representing a decent 3.5% increase in age. If you look at overally performance over the past 6 years you will see a nice and steady trend. Contrast this to MSFT which is all over the place.

My birthday wish is that MSFT grow in a similar fasion. $1 a year would be nice :-).

msftvsomar.png

Posted Thursday, August 04, 2005    Permalink    Comments [4]  View blog reactions

 

Steve Lombardi is funny

This post about Virtual Earth was just hilarious. Kudos to Steve Lombardi for having a sense of humor about the problem.

Quote:

“On a related note, a lot of you were alarmed to see that we had removed the Apple headquarters off our map. Our full plan is to of course remove each of our competitor’s headquarters from the map, but we just didn’t have time to get to this in the beta. By the time we get to our final release, we’ll have this feature nailed down. ;-)

Posted Thursday, August 04, 2005    Permalink    Comments [0]  View blog reactions

 

SyncToy

At long last, a decent free sync utility. Man I can’t tell you how excited I am about this. With 4 or so computers it’s a pain to have my photos, music etc on all of them. Today I use a very ad-hoc process.

No more! SyncToy rocks. I used it last night to sync 100 GB of WMA files from my desktop to my Media Center in “echo” mode. I love all the different modes it supports like subscribe, echo etc. Meets all my needs. I plan on using it at work to sync all my spec documents with our SharePoint server for offline access and some level of redundancy.

My only complaint with the product is that you cannot type in UNC paths to select folders, you need to browse your network, and there is no command line support. Hopefully these will be resolved in the final version.

I really have to end it to the Windows team. Between this PowerToy and the RAW Thumbnail PowerToy I’ve gotten two awesome upgrades to XP for free.

There is also a good white paper on SyncToy which is worth reading.

Posted Thursday, August 04, 2005    Permalink    Comments [7]  View blog reactions

 

# Wednesday, August 03, 2005

International Atomic Energy Agency

Yesterday I got 5015 referrals from the International Atomic Energy Agency. What the heck are they doing on my site?

Maybe building a new search engine?

Posted Thursday, August 04, 2005    Permalink    Comments [5]  View blog reactions

 

My Virtual Earth Hack

I was socializing this idea on the train ride home today. I’ve long had this application called JpegHammer that is mainly a showcase for a PhotoLibrary component that I wrote and was thinking of a cool way to integrate it with Virtual Earth to add GPS coordinates to photos (as well as view them).

My main motivation in writing PhotoLibrary was to have access to a Strongly Typed set of EXIF properties in JPEGs etc. Till a few days ago I had no reason to support GPS data cause there was no good way to get them into the photo. Well now with Virtual Earth and inspiration from Nikhilks’s Photo Map I decided it was high time to read EXIF GPS data and see if I could make my own Virtual Earth Hack (with help from viavirtualearth).

Right now all I do is located a selected photo that already has GPS data on a map using VE. The hardest parts were converting from Sexagesimal to decimal for Long/Lat, finding an HTML control (thanks again Nikhilk) that I could use in my WinForms app to render VE, and finding a sample jpg photo that contained GPS coordinates.

Next step is to allow you to browse the globe, and set the GPS location for a photo based on map data from VE, and save that in the JPEG (and eventually XMP) file. This is cool.

JpegHammerVEPrototype

Posted Thursday, August 04, 2005    Permalink    Comments [5]  View blog reactions

 

My RAID Array failed

I think my old PC figured out it was getting replaced and it didn’t like that one bit. As such my Western Digital 200GB Drive Array (RAID1) failed. One of the drives would spin, clink clank, and then spin down.

Can I tell you the importance of having a RAID-1? It’s going to save me at least a day of reconstructing all my files, applications and most importantly music and photos. I hopped on over to Western Digital’s support website and ordered an Advance Replacement drive. Should be here in a few days. In the mean time I’m running off one drive.

And before you mention it… I also back up my RAID-1 array to a second PC in the home (my media center) which has a 200GB drive that acts as a slave.

The sad thing is that Western Digital had all my info (address etc). I must have returned a drive to them before :-(. Is there no sacred Hard Drive Manufacturer? I’ve now had Maxtor, WD and Seagate drives fail in the course of 5 years.

Posted Wednesday, August 03, 2005    Permalink    Comments [5]  View blog reactions

 

# Tuesday, August 02, 2005

Dude, I'm returning my Dell

I received my dell home desktop yesterday. I was pretty excited about it, but that excitement quickly went away. Here are my issues:

  1. The Power Supply is only 150W. What the heck? This isn’t a TiVO! It’s a PC with 2 PCI slots, an additional hard drive + 5.25 inch drive bay. I tried to add my PCI-PATA RAID card from my old PC and my two 200GB PATA drives and the machine would not power on. I use RAID-1 and refuse to use a PC w/o RAID any more.
  2. The Graphics card is freaking loud as heck. It’s the single loudest thing in my room.

Dell has a 21 day return policy from the day of invoice! OMG, that was 13 days ago and I just got my PC unpackaged. What kind of company starts the clock when you place the order (and penalizes you for build time, and UPS Ground Shipping across the country)?

Anyhoo, it was a nice lesson. I’m now going to get a Shuttle ST20G5 with an AMD 64 from Newegg and call it a year. I can get the case, proc and memory for $650. I can then transfer the goods from my old PC to the new one. I should have done that in the first place, but the $700 off coupon was so tempting.

Posted Tuesday, August 02, 2005    Permalink    Comments [8]  View blog reactions

 

The origins of Kahuna (the codename)

Code names are always a fun thing to come up with. As I mentioned in my post on our Mail Beta (code named Kahuna), we wanted a code name that had something to do with water. It was pointed out in the comments of my post that Kahuna has nothing to do with water. I should have been more explicit. Kahuna is short for The Big Kahuna, and in fact this was not our #1 choice of code names. It was #2. #1 was Tsunami, which turned out to be entirely inappropriate.

Well Steve, a fellow PM, explains why we abandoned Tsunami in favor of Kahuna.

Posted Tuesday, August 02, 2005    Permalink    Comments [2]  View blog reactions

 

# Saturday, July 30, 2005

I'm done with MSI + VS

I have successfully built and used the MSI support in visual studio now for many projects. However I keep cutting myself with two problems.

RemovePreviousVersions doesn’t always work.

I just found out a little gem. If you rely on this feature there is NO WAY to garuntee that it will work. If the end user installs the first version of your product using “just for me” or “all users” and then they change their mind the second time around (on upgrade) the old version won’t be removed.

This has been a mystery for me for a long while now. I’ve been stumped, and I found the answer on Usenet. What a bummer. Any suggestions?

COM registration doesn’t always work

There is absolutely no way I can figure out a rock solid 100% foolproof way of doing regasm on a dll at install time (to register a .net dll using COM). The built in MSI property vsdraCOM does not work. I verified this on my desktop machine at work. But it works fine on my laptop. Go figure. I even wrote a custom Install action and I found out that this doesn’t work on at least one person’s machine.

I’m beginning to realize that my time is better spent doing other stuff then messing with any .NET class that needs to be exposed as a COM object. I’m just going to start pretending that this feature doesn’t even exists so I can stop cutting myself.

The reason I ran into this problem recently was to add contextual menu support to the Windows Explorer for individual jpeg files. Yes, you can do this with a registry entry (which is what I do for folders), however, if you select more than one file, the shell launches n instances of your application rather than bundling up the files as multiple arguments. Making a Windows Forms app that forces only once instance of itself to be running is non trivial and involves such things as .NET remoting which I know zero about. That leaves you writing a lot of horrible code to impliment weird COM interfaces, and exposing your class as a COM Class in .NET.

Sigh. Perhaps this will be fixed in Vista.

Posted Saturday, July 30, 2005    Permalink    Comments [2]  View blog reactions