Blog

During the course of the day I encounter lots of challenges, some of which take minutes to solve and others that take much longer. My goal for this section is to keep track of these challenges and their solutions. I will turn the longer ones into articles, while the shorter ones will stay as blog entries. You can expect topics to range from very specific programming challenges to broader topics like life.

Below is a list of the recent blog entries. You can also browse the blog by using the tags on the right side, or if you know what you are looking for then you can use the search box at the top right.

Windows Vista SP1 has been Release To Manufacturing (RTM)

Mike Nash at Windows Vista blog announced today that the Windows Vista Service Pack 1 (SP1) has been shipped! I have been very excited about this release, but I will have to wait another month. Even though they have already shipped SP1 to manufacturers, Microsoft will be making SP1 available on Windows Update in mid-March due to some concerns about a subset of drivers, for which they would like to have a smoother roll out. You can read the full explanation in Mike’s announcement.

Understandably my experience with the SP1 beta was not very good, but I am hoping that the final product will be much better. I can’t wait to upgrade.

Here is the SP1 Windows Update time line posted by Mike.

  • In mid-March, we will release Windows Vista SP1 to Windows Update (in English, French, Spanish, German and Japanese) and to the download center on microsoft.com. Customers who visit Windows Update can choose to install Service Pack 1. If Windows Update determines that the system has one of the drivers we know to be problematic, then Windows Update will not offer SP1. Since we know that some customers may want to update to SP1 anyhow, the download center will allow anyone who wants to install SP1 to do so.
  • In mid-April, we will begin delivering Windows Vista SP1 to Windows Vista customers who have chosen to have updates downloaded automatically. That said, any system that Windows Update determines has a driver known to not update successfully will not get SP1 automatically. As updates for these drivers become available, they will be installed automatically by Windows Update, which will unblock these systems from getting Service Pack 1. The result is that more and more systems will automatically get SP1, but only when we are confident they will have a good experience.
  • The remaining languages will RTM in April.

Now I am curious to go search the web for ways to make this available before mid-march :).

I am going crazy!

There are way too many things that interest me. As you might already know, recently I have been playing around with Windows Presentation Framework, prior to that I did this website with Ruby on Rails. I like to review products, play games, workout at least two hours every other day, learn new programming languages/frameworks, socialize, travel, troubleshoot, and all that on top of a full time job and an MBA. Lately I have had to stay up pretty late while having fun, or in other words, doing any of these activities, and by late I mean 3 or 4 in the morning. Afterwards, I am in at work at 8am, ready to continue work on another set of exciting projects.

This week I am in San Antonio (Texas) attending the HL7 Working Group Meeting. Every session that I go to has been quite exciting. Here you have tons of different private and public companies, and government organizations, all working together to standardize the interfacing protocols. Every group has experts that are familiar with the needs, and very knowledgeable about various tools and languages. Many of the groups are looking for volunteers. For instance, the tooling group is looking for developers to help with the Eclipse based tools that the group has written. All adding even more things that could potentially be on “must-do” list.

The best part is that so far I have been fairly successful in whatever I have done, and I have been able to provide significant value. Unfortunately, such a wide mix is starting to have a negative effect on the results because my projects are becoming more complex while I am unable to devote any more time.

So, now is the hard time, the time to, you know what they say, “choose my battles wisely.” One of my problems has been that I cannot say “No.” Considering all that, from now on my goals are to:

  • Get better at estimating the time that a certain task might take
  • Realize that, at least in the start, my estimates will be at least 50% off
  • Learn to say no to things that don’t align with my goals, and get better at reprioritizing tasks if something does need to be acted on right away

Once I achieve the above goals then I believe I will graduate from my current phase of life! Let’s see how this goes.

Zune 80 Review Posted

About screen of the Zune 80

My review of the Zune 2 80GB has been posted on Bona Fide Review website. Check it out if you are interested in purchasing a Zune.

Programmer out, designer in

I have been hearing a lot about Windows Presentation Foundation (WPF). The samples that Microsoft has shown are very interesting and exciting. So, I finally decided to try it out myself. I wanted to come up with a simple, but useful project so that I could spend more time on the User Interface (UI). After a few clicks I decided to write a program to deal with the permission errors (Destination Folder Access Denied) in Windows Vista.

If you have dealt with this issue previously then you would know that the solution is fairly simple. To make this a little bit more challenging I decided to use the System.Security classes instead of writing a front-end to takeown and icacls commands. Going this route would expose me to Windows’ permission structure and its inner workings.

Well, I finally have the first version of the program ready. I am calling it “Allow Me!” I wanted to make this a fun exercise, and have something for comparison. So, I first wrote the back-end objects and a very plain, simple, and not-very-user-friendly UI. Below is a screen shot of this version.

The first, unattractive user interface for Allow Me!

This version utilizes data binding, but not many templates or such customizations. The next step is to beef it up with styles; or begin what I think of as the “designer phase.” The above version is what I will be using for comparison with the end product. Let’s see how this experiment goes.

Windows Vista Service Pack Release Candidate 1 is Available

So, it seems that release candidate one (RC1) for Windows Vista Service Pack 1 (SP1) is publically available. Looking through the notable changes document, following are some improvements that I am looking forward to (copied directly from the notable changes document).

  • Improves performance over Windows Vista’s current performance across the following scenarios:
    • 25% faster when copying files locally on the same disk on the same machine
    • 45% faster when copying files from a remote non-Windows Vista system to a SP1 system
    • 50% faster when copying files from a remote SP1 system to a local SP1 system
  • Improves the copy progress estimation when copying files within Windows Explorer to about two seconds.
  • SP1 reduces the number of UAC (User Account Control) prompts from 4 to 1 when creating or renaming a folder at a protected location.
  • Significantly improves the speed of moving a directory with many files underneath.
  • The Remote Desktop client in Windows Vista SP1 provides user interface improvements for user and server authentication. The RDP client streamlines the multiple steps end users must follow to providing their credentials to Windows Server 2003 (or earlier) Terminal Servers, and simplifies the management of previously saved credentials.
  • Improves network connection scenarios by updating the logic that auto selects which network interface to use (e.g., should a laptop use wireless or wired networking when both are available).
  • Improves overall media performance by reducing many glitches.

If you are curious about the update then I would suggest looking through the notable changes document. One other very interesting point in there was…

  • While not reflected in the initial release candidate this week, we will also be making changes effective with SP1 in how we differentiate the experience customers have using non-genuine versions of our software. This is based on feedback we heard from volume license customers in particular as part of our Windows Genuine Advantage program.

I personally have a completely genuine Vista Business but I am interested in hearing what “differentiate the experience” means 🙂

Considering my experience with SP1 Beta, I am going to wait for the final release before giving it another try; especially since one of the digg users, aliguana, commented that “Be warned, you have to uninstall this before you install the final SP1. So hold off another week or two on your main machines.”

Stay away from Vista Service Pack 1 *Beta*

If you are looking into trying out Vista Service Pack 1 (SP1) Beta, I would suggest not to do it. I spent a lot of time yesterday rebuilding my main desktop because Vista with SP1 won’t activate!

The main issue that I had was with licensing. The first time I logged in, it looked like everything worked fine, but after a few restarts things became bad. After the second or third login, Vista won’t let me login without activating, even though both the machines were activated prior to the SP1 install. When you go to activate it, it would fail activation. With the phone activation, it wouldn’t show me any digits in the groups so the phone support people could not help me.

Microsoft’s technical support couldn’t help me either since this was a Beta service pack. After about two calls I was told to call their MSDN support folks, who are not available over the weekends. I ended up rebuilding the system since I knew this would be quicker than going the MSDN route.

It seems to me that their SP1 install badly screws up their licensing because before rebuilding I tried several of the solutions posted online, none of which worked. I was willing to help with the SP1 Beta testing but knowing that it leaves the system unusable, kind of kills the purpose of having an operating system 🙂 So, unless you are lucky and are thinking that everything will work out for you, I would suggest waiting for Beta 2, if there is going to be one, or the final release. I am not angry or anything because I knew what I was getting into by trying out a Beta product.

Blog feed has been fixed

This is good news if you have subscribed to my blog feed. I have fixed the issue where every time I posted a new entry, the last nine entries would also end up appearing as new.

Technical Details

Previously I was using the FeedTools library to generate the feed but, unfortunately, it wouldn’t let me assign an id to each entry. There is an id property but it wasn’t outputting what I would assign to it and instead it would generate a unique ID for every entry, every time that I refreshed the cache. Since the application was very simple and since I could achieve the same results with a simple rxml template, I decided to take FeedTools out of the picture. Everything should behave correctly now that the id for an entry is same across different sessions.

Best Buy won’t have the Zune 80 in Stores

So, out of excitement I decided to go to the nearest Best Buy to ask about the new Zune 80 – which I have already pre-ordered – and check if they already had them out on the floor since it was the very end of the day. Best Buy was my only option because I knew CompUSA would have already closed since it was after 9pm and I didn’t check if Circuit City was be open. Anyways, I was able to talk to a knowledgeable Best Buy employee who told me that they already have the Zune 4 and the Zune 8 in the back, but, the surprising part was that he said that they don’t have any Zune 80; those are only being sold online. Furthermore, he said that he wasn’t aware of them getting any in the near future.

Now that I am back and it’s after 10pm, I am thinking I should have gone to Circuit City instead since they are also open till 10. Anyways, don’t bother going a Best Buy store if you are only looking for the Zune 80. If you want to buy it from Best Buy then your only option is to order it through their website.

Introducing Run From Clipboard++

Main window

A few hours ago I finished cleaning up the code for a utility that I wrote for myself and that I personally have been using for a while at work. I used this as a project to experiment with pure Windows API based program. RFC++ is written using only C++ and Win32 API so you all you really need it the executable. I thought it would be cool to actually release this utility. Below is a brief description and you can find the details on the projects page.

Run From Clipboard++ (RFC++) is a specialized tool for Windows that lets you quickly execute the clipboard contents. It also takes care of removing any newlines that might prevent the command from running successfully. If a command can’t be executed even after removing newlines then it shows a form that allows you to quickly modify the command and execute again.

Found a good freeware PDF printer

Screenshot of the Printers applet showing the new printer

Sometimes I have to send Microsoft Word documents to other people that might not have MS Word or not have the fonts that I used. PDF seems an ideal format in these cases but I did not want to pay for the full-fledged Acrobat to get this ability. So, I started looking on the internet for a free PDF printer and found two good options.

  1. CutePDF Writer
    • I ended up choosing this because it outputs a little better image quality than the BullZip PDF Writer. The down side is that the file will be a little larger than the BullZip output.
    • This puts a producer property of “GPL Ghostscript 8.60”.
  2. BullZip PDF Writer
    • This seems like an excellent PDF writer but I noticed that the image output wasn’t as fine as the CutePDF writer but the output file size was smaller. For my needs the image quality was important so I went with CutePDF but if you are looking for smaller size then this is a very good option.
    • This also puts a producer property “Bullzip PDF Printer / www.bullzip.com / Freeware Edition (not registered)” which CutePDF does not.