# Saturday, December 30, 2006

I have been missing out on a lot of blogs lately. It is not the usual excuse off not enough time but instead it appears that my "software" is not working. I have tried several different programs for reading blogs but for one reason or another have abandoned most of them. The ones that integrate with Outlook have held my attention the longest but even then I have always had problems with them and given up on them. Here is my wish list for the perfect reader:

1. Work with software that I am already using (Outlook, IE, etc.). I really don't care as long as I don't have to open a separate program to get the information.
2. Show me a view with subject and the first few words. There are blogs that I always read just because I know the person posting them or because they have always had good information. There are others that I scan. I also subscribe to a few that I mostly don't read but they sometimes have some gems in them so I want to see what is posted and make a decision on whether or not to read it.
3. Allow me to mark items for follow up. If I read a particularly good post I might want to refer to it later or do what the author suggests. I want to be able to find those posts quickly and act on them.
4. Allow me to customize when I see new items. I don't really need to check every hour, once a day is usually fine with me.
5. Allow me to categorize blogs. Referring back to item 2 I like to have "folders" for always read, sometimes read, scan, etc.

I don't think I am being that demanding in what I want. I thought I had found the perfect solution in squeet. With squeet I could ask it to go out and scan the blogs I am interested in and e-mail me the posts. I liked it because it met my first 4 criteria. I could see the items in Outlook where I got the title and with the reading pane could see a few lines to quickly decide whether the rest of the article was worth reading or not. I could flag items for follow up and even use different colored flags for different meanings. I could also use Outlook rules to dump the e-mail into different folders if I wanted to.

So why this post? Well over the last few weeks the mail delivery has been lacking. I have missed some posts, others have been delivered several days late, and all the time the page that shows my account doesn't have any indication that there is an error. I will still stay subscribed to squeet while I look for something I like better but I have about given up on them. Maybe it is time to try IE 7 and see if I like it's RSS handling. I might also look into using one of the many SharePoint add-ins to see what they are like. If you have a favorite reader that meets my requirements I would love to hear about it. Please post a comment or drop me an e-mail.

Saturday, December 30, 2006 4:36:15 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [2]  | 
# Monday, December 25, 2006

I want to wish you all a Merry Christmas. At this time of year my thoughts
turn to family and friends and I am very grateful for each and every one
that has touched my life this year. I wish you all the best at this time of
year and hope that the love of our Savior will be with all of us. My heart
goes out to the men and women in the armed services and I pray that peace
will prevail and they will be able to return home.

Monday, December 25, 2006 7:46:34 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, December 21, 2006

Back in March I posted about taking the Microsoft 071-553 and 071-554 exams. At the time the exams were in beta and I had to wait a while to find out how I did. After about 5 months (OK, it wasn't really a priority to find out my scores) I realized that I hadn't heard anything from Microsoft about them. I started trying to track down my scores. I contacted Microsoft and they told me that the test provider would have that information. I tried the test provider and they told me that Microsoft had the information. To make a long story short there was a lot of finger pointing and nobody knew what happened to my test information. The best that I could get was that they could tell I had registered for the tests.

I decided to retake the tests. If I had one word of advice it would be to stay away from the testing center when I go in to take a test. When I took the first test I had computer problems. The machine they put me on would spontaneously reboot. It was saving my answers and starting me over again so I wasn't loosing any work, and the countdown didn't seem to be affected but it was a little unnerving. They moved me to another machine that would hang periodically until the first machine was rebooted. When I went in to take the test today it would bring up the screen and ask me for my testing id. I would enter it and click on the enter test button, I would then see a screen saying the test was initializing and then a please wait screen and then back to the screen asking me for my id. The nice lady at the test center ended up calling the test provider for support and talking to someone in England who knew what long drawn out process needed to be followed to get the test working. Interestingly enough the guy on the phone said it used to be documented but wasn't used that much any more so they dropped it from the documentation.

I did eventually get into the test and finished taking the second one. I passed the test so now I am officially upgraded to the MCPD certification. The thing that was most surprising to me is that the final tests seemed to mirror almost exactly what I remember from the beta exams. In the past I have taken beta exams and then seen the exam objectives for the final exams and they seemed to be very different.

Thursday, December 21, 2006 10:32:40 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, December 19, 2006

A lot of times when I introduce myself I will say that I am a Senior Principal Consultant with Keane, Inc. and a Microsoft Regional Director. I joke that the job with Keane is my 9 -5 job and that being a Regional Director or RD is my 5 - 9 job. I find sometimes that people do not understand what the job of an RD is. Mostly because the title is so confusing. I don't work for Microsoft. I don't really have a region I am responsible for (although living in Utah I tend to focus my efforts here). I also do not direct anything. Now fellow RD and columnist Jonathan Goodyear has written a column titled Demystifying the Microsoft Regional Director. He does an excelent job of explaining what we are supposed to be doing.

As Jonathan says in the article, Microsoft expects me to be communicating with the community. I hope that this blog is one way I am meeting your needs. Also if you would like to have me come and talk to you I would be more than happy to do so. You can leave a comment or contact me at Scott_J_Golightly at keane dot com and we will schedule a time and topic. (Sorry for the semi-obfuscated e-mail but I figure I shouldn't make it too easy for the spammers :)

Tuesday, December 19, 2006 8:30:10 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, December 15, 2006

I just read an article on MSDN by Joe Duffy from the CLR team at Microsoft. It goes over parrallelism and how the CLR handles it. I got the pointer to the article from SQL Server Central so I figured it would deal with SQL CLR. It really talks about parrallelism in general and some of the different things to look out for when trying to speed up your applications. It is a really good read on some of the things to consider when trying to make sure your code takes advantage of the new architecture and gets top performance.

 

If you have ever heard me talk about threading or asynchronous calls in .NET you have probably heard my favorite story of slowing down code using parrallelsim. For those of you who have not heard the story here it is:

 

In the late 90s I was working with a client and we were replacing an accounts recievable system written in Clipper with one written using Sybase SQL Server and PowerBuilder. We had told them that due to the architecture it would probably be a slower product but more stable. They seemed to agree with us that it was a necessary trade off but the requirements specification still said something like “the system must be fast”. In talking to the IT department they told us not to worry about that requirement since we couldn’t measure “fast” and they were aware that it would be slower.

We finished the project and got IT to buy off on it. I went out to the client site and installed it on the Director of Finance’s computer. The IT people, the CFO, and some other really important people were in the room along with my bosses. The director was running the program and before he started it up he opened his top desk drawer and took out a stopwatch. I had a sinking feeling. He started the stopwatch when he started looking up an over due account. It took about 9 seconds to retireve the data. I was thinking it wasn’t all that bad. He refused to sign off on the project since his idea of fast was 3 seconds. We all tried to tell him that 3 seconds was not reasonable and that it would be fine but he stuck by his decision. The reasoning went that the system was used by people calling someone and saying they were late in their payments. The person on the other end of the phone would immediately be in a bad mood and any delay or lag in the conversation would only make their mood worse so it had to be 3 seconds since that is not an uncomfortably long time to pause.

We went back to the office dejected and started profileing the application, the network, the database, anything we could think of to make the application faster. We got it down to 5 seconds and went back to the director. He was impressed but still refused to sign off since it was 2 seconds too slow. We were thinking we were not going to get paid for an awful lot of work.

This was in the days before hyper threading, multiple CPU machines, and dual cores so we really had limited options for running things in parrallel. One of the guys on the team got the idea to change the form start up code so instead of going out to the database and retrieving the data it would just put messages into the Windows message loop that would call other methods to retrieve the data and then display it. It was the first asynchronous programming I ever did and looking back on it now I realize it was really bad. We didn’t handle any synchronization issues on the main thread and also didn’t take into account any caching that the OS might be doing.

To make a long story short we took our new version out to the director. He got out his stopwatch and again clicked the button. The window appeared immediately and he turned around to congratulate us. As he was talking I watched over his shoulder as data started popping up at various locations on the screen. It was mostly top left to bottom right in order but wasn’t always guaranteed to show up that way. The director was busy talking to us and didn’t notice it so he decided to sign off on the project on the spot.

Later we ran some tests with the stopwatch. Our efforts at asynchronous programming had “sped up” the application from the original 9 seconds and the optimzed 5 seconds to a very fast 12 seconds. We figured out that the overhead of all the messaging, opening multiple database connections, and painting on the screen had caused the slow down. By running on separate threads each one had to open a connection to the database and it wasn’t being pooled so that was the biggest slow down.

 

The morals that I learned from that experience and many others (and that I seem to have to relearn on a daily basis) are:

  1. Correctness is much more important than speed. If you get the wrong data blazingly fast it will make the customers more angry than having to wait a few extra seconds.
  2.  Don’t optimize until you have completed the code and can measure it. You may suspect that a portion of the code will be slow but until you have some solid numbers you don’t know for sure and you could be making changes to code that hardly ever runs or worse making things go from 5 seconds to 12.
  3. Running code in parallel is difficult. Whether you use an asnychronous pattern or try to write it yourself using primitives it is hard to understand and harder to get right the first time.
  4. Debugging parallel code is even more difficult. By its very nature errors are transient and difficult to find. I prefer to use the thread pool or background worker component whenever possible because some really smart people at Microsoft have figured out how to do it correctly and there have been many more thousands of hours spent debugging that code than I want to spend debugging my algorithms. If your particular work load will allow it you might also be able to use the features of Enterpise Services (COM+) to get a degree of parallelism without having to do a lot of extra coding work.
Friday, December 15, 2006 9:03:28 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 

I just read a blog post at http://www.techcrunch.com/2006/12/14/bill-gates-on-the-future-of-drm/ where the author said he was in a meeting at Redmond to talk about Mix 07 and got to ask questions of Bill Gates. His question was on DRM and he got a candid response that DRM in its current state is broken. I have said before that I support the rights of artists to make money but I shouldn’t have to have a special device or any code to play music that I have purchased legally. As I read through the comments there were a lot of people supporting the same view (and of course the RIAA is evil view is in there as well). I don’t know what the solution is but I do know that I have pretty much stopped buying music over the last few years. There are so many pod casts and other sources of information that I am satisfied with the music that I currently have when I want entertainment and have something useful to fill up all the other long hours in the car.

Friday, December 15, 2006 7:49:27 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, December 13, 2006

Microsoft will be holding the next Professional Developers Conference (PDC) October 2-5, 2007 in Los Angeles, with two days of pre-conference on September 30 and October 1.  Save the date!

The PDC is the definitive developer event focused on the future of the Microsoft platform.  PDC 2007 attendees will have the opportunity to access new code, learn about the latest Microsoft product offerings and hear from Microsoft executives about the various platform developments.

Check http://msdn.microsoft.com/events/pdc/ for updates; you can also subscribe to the RSS feed to find out more information about the event as we get closer.  Registration will open in the May/June timeframe.    

Wednesday, December 13, 2006 9:08:12 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, December 11, 2006

I saw in my e-mail today several items saying Microsoft released Exchange Server 2007 to manufacturing. I couldn't find an official press release to that effect but since one of the e-mails was from the Microsoft Partner program I am assuming they have it correct. You can read the official press release for the launch that Steve Balmer did on November 30th at http://www.microsoft.com/presspass/press/2006/nov06/11-30NewDayPR.mspx and a Q&A about the business value of the products at http://www.microsoft.com/presspass/features/2006/nov06/11-30businessvalue.mspx.
 
With this RTM I believe that all of L.O.V.E. (Live, Office, Vista, Exchange) has not RTMed so next year should be a very good year as we try to find out how to best integrate and use the new features in our day to day lives.
 
Monday, December 11, 2006 7:17:22 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, December 08, 2006

Sorry that this post is not more technical but I have been thinking a little about marketing lately. It started after the last Utah County .NET User Group meeting where I asked for suggestions on how to improve and was told that maybe we should look at marketing the group a little more. The idea being if we could get discussions on the forums or something else to create a little buzz we could get more attendance at the meetings and also more support from sponsors. I am still working on what the “right” way to do that is. I realize how hard it is to do correctly and how easy it is to pick out other’s mistakes. Here are a few items that I would consider “bad” marketing that I have discovered or that have been pointed out to me in the last week or so.

 

The company that I work, Keane Inc. for just launched a new slogan complete with a new web design and everything else. The new slogan is “Making Global Work Work”. I know that they mean that with the help of Keane you can reap the benefits of globalization. I also realize that you could twist the slogan to mean that if you hire us it will be a lot of work on your part to get globalization done correctly.

 

Another example is the e-mail I got from MSD2D on SharePoint 2007. At the top of the newsletter was the title and right under it a section on what happened today in history. It happened to be the ratification of the Constitutional amendment ending slavery. I guess I just wasn’t paying enough attention to the headings but I skipped over the heading for “Today in History:” and started reading expecting it to be an article on development. When I saw stuff about forced servitude and the like I was thinking to myself that they were taking the whole Microsoft is going to rule the world scenario a little too far. Then when I got down to the real start of the article I was again confused at the context switch into something seeming to praise Microsoft. When I re-read the newsletter it make sense to me but for a second I was reaching for the delete button and would have been left with the impression that the editors of the newsletter were not doing a good job.

 

I guess it comes down to making sure that whatever your message is, it is clear, concise, and very hard to misinterpret. I have gained a little more respect for the people who do this day in and day out.

 

Friday, December 08, 2006 12:16:31 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, December 04, 2006

I got this in an e-mail. It appears to be tied to the launch of Vista last week.

During the last decade, technology has been the catalyst for incredible change. Ten years ago, the PC was just beginning to achieve broad acceptance. Today, the PC, the Internet, and mobile phones and mobile devices have all reached critical mass, creating fantastic opportunities for hundreds of millions of people and hundreds of thousands of companies around the globe.

In many ways, it was the launch of Windows 95 and Office 95 eleven years ago that signaled the start of this transformation. Together, these two products helped revolutionize the way people create and use information, opening the door to new forms of communication and collaboration that transcend the old limits of time and distance. The free flow of information, goods, and services that resulted has given rise to an era of unprecedented productivity and innovation that has had a profound impact on the global economy. As The Economist magazine recently noted, "the first decade of the 21st century could see the fastest growth in average world income in the whole of history."

But while we like to think that the digital revolution has already happened, we've barely scratched the surface. We still rely too much on paper documents to share ideas and paper forms to conduct business. That's about to change. During the next decade, the world's information will be digitized. So will the world's commerce, communications, and entertainment.

New versions of Windows and Office will play a central role in this ongoing transformation. Today, for the first time in 11 years, we are releasing our flagship products simultaneously. With the PC an everyday tool at work and at home for nearly a billion people around the globe, the joint launch of Windows Vista, the 2007 Microsoft Office system, and Microsoft Exchange Server 2007 will open the door to an era of even greater productivity and innovation. Because you are a subscriber to executive emails from Microsoft, I wanted to share my thoughts with you about why this wave of groundbreaking products will have a bigger impact than anything we've ever built before.

Transforming IT from an Expense into a Strategic Asset

Windows 95 and Office 95 were big, bold bets for Microsoft. The fruit of 20 years of innovation at Microsoft, they embodied our belief in the power of software to change the world. That's a belief I hold more strongly than ever. In fact, I think the innovation we'll see during the next decade-both on the desktop and as a result of the emergence of Internet-based software services-will transform the world of business more profoundly than the changes we've witnessed so far. Ten years from now, the barriers between organizations, systems, processes, and forms of communication will have given way to a seamless flow of information and ideas that will unlock personal creativity and productivity, and drive even greater opportunity and growth.

Windows Vista, the 2007 Office system, and Exchange Server 2007 include sweeping changes designed to eliminate these barriers. It starts with far-reaching changes to the user experience. From the new Windows Vista Aero interface to the new Ribbon in the 2007 Office system, these products offer dramatic improvements that enable users to focus on content and tasks rather than the interface itself, making it easier to find information and access useful features with fewer clicks.

Windows Vista, the 2007 Office system, and Exchange Server 2007 also deliver new capabilities that enhance security and performance; streamline the flow of information between people, systems, and processes; and transform the way people use information to drive informed, creative decision making.

The changes are dramatic. And with significant change comes more than a little risk. After all, these are some of the best-known and most-used products on the planet. Windows powers 845 million computers. Office is used by more than 450 million people. Any thoughtful businessperson would think twice before tinkering with the products that people use every day to manage their work and run their businesses.

So why are we making these changes? And why should you risk disrupting your business to take advantage of these new features and capabilities? Because business has changed and new tools are required. No one questions the competitive advantages that come when we can communicate and collaborate instantly with colleagues and customers around the world. No one doubts that businesses have benefited from access to nearly limitless information about customers, competitors, and markets.

At the same time, no one labors under the illusion that business is any easier as a result. In today's global economy, where customers can find the best price without leaving their desks, competitive advantage can come and go in the blink of an eye. Meanwhile, dealing with the endless deluge of data, email, and information often threatens to overwhelm our ability to be productive and to make smart decisions. According to one leading industry analyst firm, we spend an average of 14.5 hours per week reading and answering email, while the time we spend looking for and analyzing information costs companies $28,000 per employee per year. And ongoing studies by the research firm Outsell show that the amount of time corporate information workers spend gathering information has almost doubled in the last five years.

Windows Vista, the 2007 Office system, and Exchange Server 2007 were designed specifically to address these issues. Our goal is two-fold. First, we want to continue to advance the revolution in workplace productivity and efficiency that we started 11 years ago by delivering tools and capabilities that complete the transformation of IT from an expense into a strategic asset. More importantly, we want to provide a platform that is a catalyst for continued expansion of growth and opportunity because it enables companies to get the greatest possible value from the knowledge and expertise that their employees possess.

A Foundation for the People-Ready Business

Behind all of the changes in these new releases is a single, powerful idea: that people are the driving force behind business success. Ultimately, a company thrives or fails based on the thousands of small and large decisions that employees make every day, on how well they can answer customers' questions, on the insight they can gain, and the product breakthroughs they can deliver based on the information they have at hand. Windows Vista, the 2007 Office system, and Exchange Server 2007 were designed to create a people-ready business where employees are empowered to turn data into insight, ideas into action, and change into opportunity. They deliver a platform that enables employees to build profitable relationships with customers, spearhead new innovations, improve products and services, and drive the business forward.

To provide the capabilities that people need in today's fast-changing world of work, we've focused on four specific areas:

Simplifying how people work together: The nature of how we work has changed dramatically since 1995. Today, people work in teams that cross divisional boundaries and span companies. Collaboration with colleagues and customers in different cities, even different continents, is the norm. The workforce is also increasingly mobile. From unified messaging enabled by Exchange Server 2007 to workflow and collaboration in Microsoft Office SharePoint Server 2007, the new products revolutionize the way people work in teams.

Finding information and improving business insight: Companies of all sizes struggle with the fundamental paradox of the 21st century: while we generate more and more information every minute of every day our ability to extract useable knowledge from that information grows more and more tenuous all the time. Deep integration of new search technologies and powerful, easy-to-use business intelligence tools will enable employees to find and use information more easily, streamlining the path from idea to execution.

Helping to protect and manage content: Governmental compliance mandates and the growing recognition that simplified business processes and improved information management enable employees to respond to changing business conditions with greater speed and accuracy make organizational transparency one of today's critical business imperatives. Advanced content management and document retention tools combined with features to enhance data confidentiality make content authoring the starting point for automated business processes and regulatory compliance.

Increasing security and reducing IT costs: Secure by design and by default, the new versions of Windows, Office, and Exchange Server deliver breakthrough security features and they streamline deployment and management, helping reduce costs and enabling IT departments to focus on providing new capabilities that deliver strategic advantage.

Pioneering Innovation and an Unprecedented Partnership

In many ways, we have been working toward this moment since the day Bill Gates and Paul Allen founded Microsoft three decades ago. From Microsoft BASIC to Microsoft DOS, through the first versions of Office and Windows, and beyond, Microsoft has pioneered many of the technologies that made the digital information era and the knowledge economy a reality. Windows Vista, the 2007 Office system, and Exchange Server 2007 continue this tradition and I believe they include the best work we have ever done. The result is groundbreaking innovations in interface design, security, networking, communications, and much more.

These new products are also the result of an unprecedented partnership between Microsoft and our customers. We worked hand-in-hand with tens of thousands of customers who allowed us to watch them use Windows, Office, and Exchange in more than 1 billion work sessions to help us understand how they use these products and how new technologies can help them work more effectively. As we moved toward launch, our customers and partners downloaded more than 5 million beta versions of the three products. Their valuable suggestions and feedback helped us assess the quality of our work and the value of the new features and capabilities we've built in. No software products have ever been through a more thorough software design and testing process.

No software products have ever created such broad-ranging business opportunities for the computer industry, either. Across the globe, more than 500,000 partner companies, including consulting firms, independent software developers, and systems integrators are poised to help businesses deploy and run Windows Vista, the 2007 Office system, and Exchange Server 2007. Industry analysts expect that in 2007 alone, these products will generate more than $250 billion in revenue for our partners.

The launch of Windows Vista, the 2007 Office system, and Exchange Server 2007 kicks off the most important 12 months in Microsoft history. During the coming year, we'll introduce new innovations such as unified communications including voice over Internet protocol (VoIP) and performance management utilizing cutting edge analytics and business intelligence that will enable businesses to achieve new levels of value from their information technology investments.

Over the course of the next decade, we expect that Windows Vista, the 2007 Office system, and Exchange Server 2007 will be used by well beyond 1 billion people. They will be used by CEOs to plan corporate strategy and by elementary school teachers to help children learn the skills they need to thrive in tomorrow's knowledge economy. They'll help researchers explore the far reaches of science and enable artists to explore the outer edges of creativity. Product planners at the world's largest consumer enterprises will use them to understand market trends while craftspeople in remote villages will use them to reach out to customers in distant nations. The future of business computing begins today-we look forward to the new ideas, the new businesses, and the new innovations that will result.

Steve Ballmer

 

Monday, December 04, 2006 9:18:30 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Saturday, December 02, 2006

This is one of those non-technical posts so if you don't want to hear me brag about my children then you can skip this one.

The schools around here have a contest each year called "Reflections" where a theme is chosen and the children can enter in one of several categories to show off their talents. The theme this year was "My favorite place". I had two children who entered the contest. My daughter drew a watercolor picture of our front yard. She chose that as her favorite place because at the time the weather was warm and she could take a blanket out on the lawn and read a book. She earned an honorable mention.

My youngest son wasn't going to enter but after a lot of "encouragement" from his parents he finally relented and decided to go take a few pictures of the Peaks Arena ice skating rink because he thought if he took the pictures he could also ice skate and he loves to skate. You might remember the Peaks Arena as one of the venues of the 2002 Olympics. As it turns out he waited until we didn't have any time to skate but I took him down to the arena and he snapped a few photos. He wasn't all that enthusiastic about it but it did give him some one on one time with me and he also got to use the nice digital camera with a lot less supervision (aka Slow down!, Be careful!, Watch what you are doing) that he normally gets.

We entered this picture in the competition. He won first place at his school and is going on to the district competition.

I am very proud of both of my children for the hard work that they put into doing this.

Saturday, December 02, 2006 6:28:20 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |