Wednesday, February 18, 2009

The windows7 release will so be better than vista’s

I’ve installed win7 on all my boxes now (well, except my home server box).  And I’ve finally made the move entirely to 64bit. 

Aside – I read an email that explained some ways in which having a 64 bit OS installed would increase your computer’s perf (assuming you have recent, x64 hardware, like a core2duo or later chip).  I don’t know if the difference is really noticeable, but I certainly haven’t noticed any problems, and I get access to more memory now (32 bit can only address 4 GB of ram, of which 1 GB is used by the platform, and 64 bit can address like a bajillion GB)

Anyway, I installed win7 on my home machine yesterday (the super cool one with badass graphics, etc).  Intel has already shipped two windows 7 drivers.  There was one available via windows update yesterday around 4 PM, and then a new version was released via windows update last night.

Part of the reason, at least in my opinion, that the Vista launch kinda sucked was driver availability.  Vista changed the driver landscape dramatically, moving a bunch of drivers from kernel mode (really low level, OS stuff) to user mode (application level stuff).  This was painful for device driver writers, because they had to re-write all their drivers, and had to learn how to be performant in user code (they had been in kernel mode since like win95 or so, I think, maybe earlier).  This is why XP drivers were generally faster than vista drivers when vista shipped; those drivers were like version 80+, while the vista drivers were version 1, exclusively.

In addition to changing the driver landscape, Microsoft failed in that we announced vista ship dates several times which we didn’t make.  Similar to the boy who cried wolf, when we finally did ship, we caught our hardware partners by surprise; they had grown accustomed to ignoring our ship date announcements.  This was obvious even within Microsoft.  Visual Studio (VS), one of our flagship products, wasn’t Vista compatible at ship time.  Then VS shipped SP1, and they still weren’t vista compatible.  They had to ship a QFE/windows update (called vsvista) to enable vista compatibility. This took several months after vista shipped. 

Win7 is not changing the driver landscape so dramatically.  Vista drivers continue to work with win7.  So, all your existing software and hardware should work just fine on win7 (all mine does, without exception).  The upgrade path from vista->win7 should be easy, which should drive acceptance of the product sooner, and should result in win7 having a much better image than vista does/did.

I’m really excited for win7 to ship!

Tuesday, February 03, 2009

Warning to the family

In case it wasn’t clear, all of the posts I’m going to write about Gobi are going to be very technical in nature.  Hopefully you all didn’t get super excited about seeing a new blog post, just to have your excitement destroyed by learning it was all geek-speak.

Win7 first impressions

I love Win7.  I can’t wait to get it installed on all my PCs.  I am now exclusively on win7 for work, and will be moving my home pc to win7 soonish.

I really like the new taskbar, which removes the difference between a shortcut and an open window.  I have an outlook shortcut on the taskbar, but when I run outlook, the icon for the window is in the same place.

I still don’t love IE8, though I am getting used to it.  It seems like this version of IE8 auto-detects when it needs to run in compat mode, and does a pretty good job of that.  The colors in the tab group coloring are a bit too colorful for me, I wish they were more muted or more like pastels, but that’s ok.  Hopefully they are customizable, and I just haven’t found out how yet.

The window preview thing takes some getting used to.  If you mouse over an icon in the taskbar that has more than one window associated (like multiple IE windows/tabs), you can see a thumbnail from each window/tab.   Then, if you hover over that thumbnail, you see the full-sized version.  Intuitively, if you then click somewhere, you would retain that full sized version you ‘selected’ by hovering.  In reality, however, the version you hovered over goes away, and you end up back on the window you started on.  In order to select that hovered window, you have to click on it.  It’s hard to get used to, I’m still hoping I’ll get there.

Overall, a big thumbs-up for win7, though.  Drivers for vista have all worked just fine on win7, at least for all of my devices on two pcs.

I know some of this stuff is hard to visualize without pictures, but I’m lazy and haven’t figured out how to take screenshots of the preview thumbnail things.  If you want to try it out, the win7 beta is publicly available, and you are welcome to come by the house and I’ll show it to you (requires that you know where I live already, though :) ).

Announcing Gobi

I’m going to be starting on a new application very soon.  It’s designed for/targeted at professional window tinters.  The goal is to make it easier for those folks to figure out how much window tint they will need in order to complete a given residential or commercial job.

Since I’m going to be learning some new things, I thought I’d take the opportunity to share my process for building this app.  This will be my first commercial, only for-sale application, and I’m pretty excited about it.

A good friend of mine is a professional tinter, and he mentioned that it was hard to get these estimates done, since there’s a fair bit of calculation involved in minimizing the number of rolls of tint you have to order.  Tint rolls are sold by different companies, with different properties, and in different widths.  One of the tint manufacturers produces a piece of software to help with this process, but the software only supports their brand of tint (duh, right?).

Since I’m a software dev and not a tint manufacturer, my plan is to support products from multiple manufacturers.

The basic design of the app will be a desktop application which does the calculation and layout.  I will provide a cutlist diagram, so the tinter can easily see which windows’ tint should be cut from each roll, and how to optimally lay those cuts out, to maximize tint usage and minimize the material needed.

The software will save these quotes/proposals locally, and let you come back to edit/revisit them later.  This will help tinters to create an estimate for a customer, then edit that estimate if the customer wants to make changes.  A new cutlist will be generated every time the size and/or number of windows in the job gets changed. 

The application will also have a webservice that i can contact in order to receive updates to the tint products database.  This way, I can easily keep all the copies up to date as I add support for more manufacturers and tint products.  The database will be stored locally as an XML dataset, since I expect it to be pretty small.  If the DB size grows larger than I expect it to, I’ll move to using SQL Express (or perhaps the embedded sql solution).  I’d prefer to avoid that, so I can avoid having that dependency in my code.  The less people have to download to get up and running, the better.

The UI will be done using WPF.  I’ve not done any WPF coding before, so this is a good chance for me to learn what’s up with WPF, and use it in a real application.  Turns out that working at MS, on a software service, tends to keep you behind on new desktop UI technologies.  I need to get caught back up on the cutting edge, so this project will help me do that.

I picked Gobi as a codename because thinking of window tint always makes me think of heat, and Sahara is pretty well taken by the movie :).

Friday, November 21, 2008

Windows 7 features

There's a super cool blog on windows 7 (the one after vista) that I read. Sometimes the posts are too technical for my audience here (primarily my family). Today's post, though, should be of interest to all of you.

It's about the windows 7 taskbar, and how window opening and switching is changing in windows 7. I, personally, am super excited to get my hands on win7.

Check it out: http://blogs.msdn.com/e7/archive/2008/11/20/happy-anniversary-windows-on-the-evolution-of-the-taskbar.aspx

Tuesday, July 22, 2008

We call it nap time

Courtney just sent me a transcript of an exchange between her and Mik:

Courtney says:

"Mommy, my eyes keep closing."

Courtney says:

"That's okay"

Courtney says:

"But, I can't keep them open."

Courtney says:

"That's okay, sweetie, just close them."

Wednesday, June 11, 2008

I’m a geek. I know it

Today's reason that confirms my geekhood:

We got word today that we get to switch to Visual Studio 2008 (off of VS 2005), and the .NET Framework 3.5.

I'm all giddy with excitement. I can't wait to start working in VS 08 tomorrow.


 

See, geek.

Wednesday, May 21, 2008

Flashing the BIOS is not fun

I recently sold my motorcycle, and decided to spend a bit of cash on upgrading my PC. My PC was pretty beefy already, but I had skimped a bit on my processor, getting a 2.2GHz core2duo. This processor was a huge upgrade from my 3.0GHz P4HT, but it was still kinda old.

Newegg.com had a great deal on a 3.0GHz core2duo, so I jumped. I also bought a huge cooler for the processor, so I can overclock it, I'm hoping to see close to 4.0GHz.

I read a really great, geeky blog of a guy named Jeff Atwood. He is very passionate about hardware, and building excellent pcs, so I generally look to his blog when it's time for me to pick components or upgrade. I was reading an entry of his, and it talked about how he bricked (ruined) his pc by flashing the BIOS, and having that fail, due to a software bug. Here's the link: http://www.codinghorror.com/blog/archives/001102.html.

Anywho, I got the new processor, dropped it into my motherboard, spent way too long dealing with the huge heatsink and fan, then turned on the pc. Nothing. Crap, I thought, the CPU I got was dead. This is the first item I've gotten from newegg that showed up defective, so I contact them for an RMA. While I'm waiting, I decide to stick my processor in my sister's new computer (which I'd just built a couple of days before), to see if maybe the processor was ok, but something else in my system was the problem. It booted fine, she showed the 3.0GHz, and it ran like a champ.

Something tickled in my brain, from the article Jeff posted. He had to flash his BIOS to support the newer proc. So I visit Asus' website, and sure enough, support for that series of processor was added in a BIOS version about 6 newer than the one I had. Yay! I should be able to have the PC up and running in an hour, I think to myself. Download the BIOS file, read all the directions, I'm good to go. After reading about Jeff's problems, there's no way I'm going to try the software that runs inside windows; that failed for him, and he had to get a new motherboard. I'm pretty sure my motherboard is not under warranty, so I'm going the safer, slightly more complicated route. I read the directions from Asus, and it says to put this file on an USB drive, then reboot the machine, and go into the BIOS screens. They have an ezflash utility in their BIOS that will handle the upgrade for me.

EZFlash works a treat. It finds the file, does some preprocessing, shows me some progress bars, and announces that the upgrade was successful, and the machine will reboot in 5 seconds. All the lights turn off on the computer, the hard drives spin down, and the monitors go black. Once I'm sure the process is over, I remove the usb drive, and wait semi-patiently for the BIOS screen to load, and show me my shiny new processor. Nothing happens. So I wait another couple of minutes (this should have taken 30 seconds, max). Still nothing. Oh crap, I think. I'm afraid to turn off the power to the computer, since every site I could find on BIOS updates said turning off during the update would fry your motherboard. But, the sign said the upgrade was complete, and successful, and the mobo rebooted itself. So I cycle the power to the PC, and wait some more. Still nothing.

At this point, I'm literally sick to my stomach, cause I'm certain that something went wrong, and my mobo is trash, and I'm going to have to buy a new one, since I'm sure mine is out of warranty. I go to sleep for the night feeling sick, and determined to call Asus in the morning. I get tech support on the line, and they tell me almost immediately that the bios update failed, and I will need a new bios (most likely requiring a new motherboard). The wonderful tech support lady, though, asks me to look for a socket near my southbridge (this chip thing). Turns out some of Asus' motherboards have removable BIOSes. Mine is one! Hallelujah! They can ship me a new chip (with the most recent BIOS already installed), I can swap them, and I'm back in business. $15 for 3day shipping, or $20 for overnight? Overnight, please.

Right now my chip is on a fedex truck, in my town, on it's way to my house. I'll let you know how the BIOS chip swap goes, and how the new processor works out.

[Edit] I got the bios chip, installed per the instructions, and still have nothing with the new processor. I called Asus back, and they're shipping me another bios chip, with the previous bios on it. The one they sent me is the most recent, which says it has a bug fix for newer processors. The one they're sending me now is the one before that, which is where they added support for my new processor to start with. We'll see if this fixes it. I sure hope so, not having that pc available sucks.

Asus

I really want to take my hat off to Asus. My motherboard is a couple of years old, and they could have easily told me I was out of luck, and to buy a new one (many companies would have, I'm certain). Instead, they are shipping me a free BIOS chip, asking only that I pay for the shipping. Their tech support staff was incredibly friendly and amazingly efficient; I went from first contact (after hold) to having my bios in the pipe to ship in literally 10 minutes. I received an email and a phone call following up on the order, and the email even came from a real person, with a real return address. Thank you, Kara, and all of the other folks at Asus support. You folks totally rock.

I've bought several boards from Asus, and always been happy with them. This experience has made me even happier, and has certainly cemented me as an Asus customer for life.

Tuesday, March 11, 2008

How much is time worth to you?

There are a lot of grandparents that read this blog (most of my readers are my kid's grandparents :) )

How much do you think it's worth to spend a day with your grandkid?

If you had to pay $100 (in gas, or lost wages, or whatever) would you do it?

What about $200?

$300?

Personally, I would pay nearly any price in gas or lost wages to get to see my kid more. Obviously not all parents and grandparents feel this way, though. How much is time with your family worth to you?

Friday, February 22, 2008

Yet another reason

Today, there was a fairly heated email exchange about parents, and working or staying home. Several folks got all in a tizzy, cause there was one guy that said 'the wrong thing'. I happen to disagree with his point of view, but that's not my point here.

Check out this response, honest, thoughtful, from one of my (20,000 +) coworkers (who I've never met before, btw).

practice with working with opposing views will make Microsoft a better place to work, make our strategies more thorough and our products better



These are the kinds of things that make me really love working at Microsoft. They're small, but they happen every day, reaffirming my decision to take this job.

Tuesday, May 15, 2007

Follow the leader

First, some disclaimers.
  1. I work for Microsoft, on Microsoft Office Live
  2. I do not work on C#, VB.Net, or even in Developer Division (DevDiv)

Ok, on to the point. Jeff Atwood recently posted about some frustration he's dealing with regarding the differences between C# and VB.Net. Here's the article: C# and the Compilation Tax

I noticed something when I worked at GeoAge (How's that for link love to the company that had to lay me off?). We were a VB.Net shop, and I'm pretty sure they still are. I was a C# dev at heart. One thing that I hated about using both languages was that Intellisense was a lot better in VB than in C#. Autocomplete in particular saved me thousands of keystrokes a day at work.

Then I started playing with VS 2005. Turns out that in 2005, C#'s intellisense seemed to take a huge cue from VB, and we had equivalent completion, and intellisense.

I've developed a theory. The VB team focuses a lot of energy on making developing code easier, while the C# team devotes time to making the language more powerful. I think the C# team then capatilizes (one version back) on the work from the VB team. Probably under a lot of pressure from their customers, since they see how much more productive VB devs can be.

So, I expect that in the next version or two of VS, we'll see background compilation in C#, and see the My namespace make it into C#. Those are my predictions.

Just hold on Jeff, and hopefully the C# team will make you happy. Of course, by the time they do, the VB team will have some new thing that makes their devs more productive, so you'll be wanting more from the C# team. It's a vicious cycle, but I think it makes C# a better language, and the .NET platform stronger. If you can deal with being a cycle back in productivity.

Funny SR71 Blackbird story

Someone sent this out on the MS pilots alias today. Go read it, it's short, and pretty funny.

http://www.jumbojoke.com/the_king_of_speed_844.html

Tuesday, May 08, 2007

Office Live is having a contest! Win $10K

I'm not eligible, of course, even though I'm an Office Live customer, and own a small business. Guess that's just the price of being a MSFT'ie.

Anwho, here's the info on the contest:

Enter the Capture More Customers Sweepstakes - $10,000 Grand Prize
Can potential customers find YOU in the Internet jungle?

Enter the Microsoft Office live Capture More Customers Sweepstakes and instantly receive a $50 Microsoft Office Live adManager* credit toward launching your first search campaign – PLUS have a chance to win these great prizes:

GRAND PRIZE:
$10,000 in cash for your business
DAILY PRIZES:
Customized search marketing plan for your business created by experts at “The Search Agency” ($500 value)

Enter today!

Need a Web site? Click here to learn more about the FREE Microsoft Office Live Web site offer.

Wednesday, May 02, 2007

If you're planning to use us an excuse to visit the Pac NW, better hurry

Courtney and I made a deal about a year ago. When we decided to take the job at MSFT, we agreed that we would site down one year later, and have a conversation. This conversation would revolve around whether or not we were happy living in the Seattle area.

Moving out here was a big change for us, and a particularly tough decision for Courtney, since she's never lived farther than 45 minutes away from her parents and grandparents. Obviously, we're more than 45 minutes away now.

A couple of weeks ago, the weather here changed. The sun came back out. You wouldn't believe the difference I noticed in Courtney's happiness level. I'm sure she saw the same in me. It's not like either of us was really pissed or anything, but we were both less cheerful than we're used to. This prompted us to start our discussion a couple of weeks early.

We've decided that we don't like living in the Pac NW, and that Microsoft isn't enough of a reason to stay here. It's actually a really tough decision for us, because both of us really enjoy working for MS (me more than Courtney). Both of us really miss our family and friends back in Florida, too, though.

Not to mention the financial burden of having a household in Florida and here, and our total inability to ever afford a house here (450k for a condo, anyone?). So, we're moving.

I'm trying to work a deal with my current team to let me work remotely, from Florida. This poses some challenges, not insurmountable (we do have a team in India and one in China, after all).

We will be moving no later than December, and we're hoping to move closer to August or September. It all depends on what happens with my current team, and with the feelers I put out for jobs at other teams in MS and other companies.

I'll keep you posted.

Saturday, April 14, 2007

My current 'coolest reason to work at Microsoft'

So, I've done something new. I caused a feature to be added to a shipping Microsoft product. One that almost all my friends use on a daily basis.

We had a meeting with the MSBuild team a while ago, before we started converting our existing build system over to use MSBuild. In that meeting, we told the guys (Dan & Vlad) that we were wishing for a particular thing during our conversion. We were wishing that it was possible, in MSBuild, to know what directory we had called MSBuild.exe from. There are a lot of things you can tell in MSBuild, like the directory of the current project, and a bunch of other well-defined directories. But, you couldn't tell what directory you called msbuild.exe from.

I present to you a new property. I wish it was called the Cullen property, but it's not. They're adding it to the 'Orcas' MSBuild, which is shipping with .NET 3.5, whenever that ships. I think they called it MSBuildExecutionDirectory or something like that.

I didn't even know they were adding the property, I happened to see an email on an internal alias that said something to the effect of "We added this cool property cause the guys on Office Live asked for it". That was me!

Now, when my friends start using the next version of VS, they will be using something that I asked for, and was put in the product basically just because I asked for it. What other company can you work at and do that?

Endurance

I was watching Walk the Line again today. When I turned it on, something stuck me. It's amazing to me that a guy could have written songs 40 years ago that still appeal to people now. I *love* all of the music in that movie. Johnny Cash wrote some great songs.

I know there have been other artists that have written songs that stuck around a long time, but my impression, at least, is that most of them are still appealing to the people that heard the music when they were young. Generally, the music doesn't appeal to those people's children.

I certainly don't expect that Mikayla will be a fan of Rage Against the Machine when she's 29. I doubt she'll even understand what the songs are trying to tell her. Not so with Johnny Cash's music. I still get his message, and still hear his voice in the music.

Amazing.

Tuesday, April 03, 2007

New computer goodness

I just bought a bunch of new stuff for my computer. Well, I actually only got two things, but it's going to make my home pc feel like a new machine.

I got a smoking hot new video card. This is the first video card i've had that's 'top o the line'. Well, almost top of the line. Top of the line was like $900, and I don't care about my computer that much anymore. It's an nVidia 7950GT. Like that means anything to my readers, right?

Here's the deal: Games have these sliders all over the place, which let you specify what level of detail and visual goodness you want in the game. Currently, most of my sliders are way to the left (little detail), and I run games at a low resolution (1024x768) compared to what I have my desktop set at (1600x1200).

Tomorrow, assuming the new card arrives, I'll be able to pump up my resolution to 1600x1200, and turn ALL the sliders all the way to the right. That means I'll be seeing sweat bead, and flies buzzing when I'm playing. yay for me!

I also got a new motherboard, since this new video card wouldn't work with my existing one. Luckily, I found a motherboard that supports my current CPU, so I don't have to get a new processor. The mobo also supports the newer Intel chips, though, so when I'm ready (next year's tax return, maybe), I can get the new quad processor chip from Intel, and more than double my computing horsepower. I'm totally stoked, and can't wait until tomorrow.

Disable Aero for better game perf in windowed mode

I've finally made the full switch to Vista. At work, at home, everywhere. Well, except for my crappy work laptop, which dies when it thinks about running Vista's eye candy goodness.

I had to wait a lot longer than I wanted to fully switch over. VS 2005 wasn't fully supported on Vista until recently, and at work, we have a critical piece of internal software that doesn't work on Vista.

That's actually a good lesson, and one that Raymond Chen would push for us all to learn. Don't use undocumented APIs* in your app, because they may go away in the next version.

So, one thing I've noticed is that Aero really slows down framerates of games, if you play in windowed mode. I personally notice this a lot with World of Warcrack, and I've heard on some internal aliases about people experiencing the same thing with their XNA apps.

Here's the fix: right click on your game executable, and select properties. Then go to the compatability tab, and check the box 'Disable Desktop Composition'. That's aero. Now, when you run the game, Vista will switch you to Vista basic, and then execute your game. When you exit the game, aero comes back.

This has been working for me for quite a while now, but there was one thing that was bothering me. Every time I switched off Aero, I got a windows alert that the color scheme had been changed to Vista Basic. I hate getting toast, and I have this compulsion to click the 'x' on toast messages. I found myself racing WoW, to click the x before the game loaded. No more! If you click in the body of the toast, you get another window, with the option to hide the toast message forever! I feel liberated. Really, I do.

Why does Aero affect frames per second (FPS) in games? I'll tell you why. Or at least, my theory why. Aero uses DirectX. Most games use DirectX. That means that when you have aero running, it's competing for resources with your game. More consumers = less resources for each one.

Normally you don't notice this, since normally, you're not using your graphics card to it's full extent. Throw in a modern 3d game, though, and your graphics card starts sweating a bit. Aero on top of the game will kill your framerates. I've seen/heard of drops of 20-30%.

So, disable Aero for better perf in games tha tyou run windowed mode.

Saturday, March 10, 2007

We have job openings

If you're interested in working on cutting edge software services, drop me a line. We need testers (SDE/T) and devs (SDE). Contact me at cullen DOT waters AT Microsoft DOT com