# Monday, November 24, 2008

Rudi Grobler has released a pack of WPF themes for you to use to make your applications convey the atmosphere you want to convey. Applying them is as simple as one line of code in your application as a whole, or window-by-window, or you can do it in XAML.  Rudi's blog tells how. It really makes a difference to the mood of your application and lets you stand out from the crowd.


I shrank the images because people object when the chrome on the right gets messed up by big images. You can see the originals on Rudi's blog - I just want you to see how very different the same application looks when you change themes. BTW, these themes were originally released for Silverlight and Rudi converted them for WPF. Pretty slick!


Monday, November 24, 2008 2:54:09 PM (Eastern Standard Time, UTC-05:00)  #    
# Sunday, November 23, 2008

Because Visual C++ is a great tool for making Windows applications (and has been for well over a decade) a lot of the Visual C++ users I meet are Koolaid drinkers like myself. We use Microsoft tools to write software for a Microsoft platform, and a fair number of us use Word and Outlook and Powerpoint and rarely touch an application that didn't come from Redmond. But one of the cool things about C++ as a language (contrasted to VB and C# for sure) is that it is also used by people who don't use any Microsoft tools, or who use Visual Studio but nothing else, and people who are not developing for Windows. These people are not drinking the Koolaid and their opinions can be very helpful. They keep track, for example, of which standards features have been implemented in which compilers.

I came across this article on the future of C++, and the article itself didn't have much extra information for me (though the insight into the "bias" of StackOverflow was interesting.) But the comments! Wowza. I'll be reading Andy's blog from now on, and I recommend you read at least this post. It's a good one.


Sunday, November 23, 2008 9:14:21 AM (Eastern Standard Time, UTC-05:00)  #    
# Saturday, November 22, 2008

Soma is blogging about C++ again. I liked this quote:

Over the years, we have heard a lot of C++ developers refer to the old days of Visual C++ 6.0 as the glory days of Visual C++ tools.  Many of the comments reminisce about the snappy and productive IDE.  With Visual C++ 2010, we strive to create a new benchmark for Visual C++ IDE productivity.  We will couple this IDE with our superior support for the C++ language and significant improvements to the libraries.

He talks about Intellisense, the build system, tools for exploring a large codebase, the native Parallel Patterns Library (PPL), lambdas, and MFC updates. There really is a ton going on in Dev10. A lot of it was covered at PDC so if you haven't watched those videos yet:

https://sessions.microsoftpdc.com/public/timeline.aspx search for "C++", "MFC", and "native". Enjoy!


Saturday, November 22, 2008 9:05:57 AM (Eastern Standard Time, UTC-05:00)  #    
# Friday, November 21, 2008

One very powerful question to ask yourself, if you run a business of any kind, is "what business are you in?" Another way to ask it is "what needs do I meet?". It's easy to say "I'm in the software business" or "I'm in the consulting business" but more people are saying "I hate the way we <something in their business>" than are saying "I wish I had new software" or "I wish I had a consultant."

This Harvard Business School article even says people don't really buy drills, or that isn't the need they are meeting when they go buy a drill - they buy holes. They want holes, and they buy a drill as a way of getting them. The only way you can sell them your drill is to relate it to holes. Being lightweight, for example, doesn't matter to someone who only plans to make a few holes at a time. But it's really important to someone who is going to make a lot of holes and has to slow down the pace because their arm aches from holding the heavy drill. Being cordless only matters if you can think to say "make holes anywhere!" to the purchaser. And so on. The rest of the article helps you try to understand what needs your product or service meets, and therefore how to adjust it or sell it so that you sell more of it.

I've said for years that we're in the problem solving business. We solve people's problems. We're more likely to use software to solve them than to come over to a client's house and build a shed in the backyard or mow the lawn - but we're not so much in the software business as in the problem solving business. If I write great software that doesn't help the problem, I've failed. Often our advice on process is as valuable as the software we write encapsulating that process. And of course when we're mentoring and advising other developers, we need deep technical chops but we need to remember that the mentee or advisee has a problem (our UI looks stale, we have to exchange information with a new business partner and don't know how, our application blows up under certain circumstances and we don't know why) and we are there to get that problem fixed.

As the economy worsens you are more likely to stay in business if you are sure what business you are in. It isn't obvious.


Friday, November 21, 2008 8:57:02 AM (Eastern Standard Time, UTC-05:00)  #    
# Thursday, November 20, 2008

It's so hard to remember, while you attend a conference, that the convention centre is essentially a blank canvas on which your conference is drawn. Between shows most of the space is a giant empty room with concrete walls and floor. All the lighting, draping, signs, and screens are installed for the show itself - even the chairs are temporary. This amazing timelapse video shows you the keynote room at PDC over the days before, during, and after the show. One of the things I like is that you can see how often the keynotes were rehearsed in the actual room on stage with all the screens going. Full-on dress rehearsals are vital to a good presentation.

It's about 6 minutes long and parts of it are a bit dull (imagine what they would have been like at normal speed) but I'm glad I watched it.


Thursday, November 20, 2008 8:43:01 AM (Eastern Standard Time, UTC-05:00)  #    
# Wednesday, November 19, 2008

Recently, as a meeting wrapped up, one of us was taking on an action item to adjust the due dates on a large list of work items. We had gone through the meeting saying "put that for the end of next week" or "put that for middle of next month" and there was a good chance that too much stuff had been put into some of the buckets. He said "I'll go through on a first pass and put the dates as we agreed them, then I'll send them out for everyone to review." Makes sense. He continued, "Once we see them all at once if we need to postpone some, or prepone some, we can." And part of my brain went "prepone? What the -- oh yeah, I get it."

It's quite useful really. People say that "move ahead" and "move forward" are perfectly clear and you can't get confused by them. The problem is, half those people say it's clear that moving forward means to an earlier date and half say it's clear that moving forward means to a later date. Oops.  "Move earlier" is ok, but I quite like prepone. I'm going to see if I can use it with a straight face. BTW I did a quick search, and it's an accepted and generally understood word in South Asian English. I'll see if I can do my part to spread it to the rest of the world.


Wednesday, November 19, 2008 8:26:23 AM (Eastern Standard Time, UTC-05:00)  #    
# Tuesday, November 18, 2008

For a long time now, Google has been interested in what we search on. I remember reading an article in late 2001 that described a visit to a Google building with a screen on which search phrases scrolled by in real time. To my great surprise one of the phrases the author listed was a search I had performed myself in that time frame. Today, someone has had the insight that people search for certain keywords because of things that are happening around them.

Public health authorities the world over try to measure the frequency and severity of various infectious diseases in order to spot epidemics and pandemics in time to do something about them. For the flu, they ask doctors to report what percentage of the cases they see each week are Influenza Like Illnesses - as this percentage rises it is safe to conclude the amount of flu in the community is rising, even though not everyone with the flu goes to the doctor and not everyone with an ILI has the flu. These numbers take about two weeks to gather and are released publicly so various levels of government and quasi government can react to them.

So the Google insight was that people search for words like "fever" or "joint pain" when they or someone they know has an ILI. (I actually don't know what search terms Google is counting - it might only be the word "flu" for all I know.) These aggregated counts are available immediately with no waiting while people tally and report, tally and report up the chain. Take a look at the correlations:

Wow! That's a pretty amazing relationship between those lines. And instant results instead of waiting two weeks could make a real difference in treating an outbreak. But I am not sure how I feel about it. It's almost creepy, yet at the same time it's very cool. How can you be sure this ability will always be used for good?


Tuesday, November 18, 2008 4:51:08 PM (Eastern Standard Time, UTC-05:00)  #    
# Monday, November 17, 2008
This month's meeting is November 25th. Chris Dufour will speak on Building Silverlight 2 Data Applications. The meeting is at the Whitby library, but please register so the food count will be accurate.


Monday, November 17, 2008 10:05:02 PM (Eastern Standard Time, UTC-05:00)  #    
# Sunday, November 16, 2008

Also on Code Gallery, in addition to the Vista Bridge, you can find an interesting bit of guidance for those developing Windows 7 applications. This is 43 pages of "what is special about Windows 7" written for developers. Curious about touch and multi touch? Ink? The new taskbar, ribbon, jump lists? Libraries? How to handle previews and thumbnails for your file type? Wondering what Windows Web Services are and how they differ from WCF? (quick answer - WCF is managed, Windows Web Services is native C++ - expect more on that from me when life calms down a little.) It's all in here, with plenty of screenshots. From here you will know where you want to drill more deeply, and you will know the names of features, which is usually key to figuring out how to use them.

http://code.msdn.microsoft.com/Win7DeveloperGuide is a good starting point, and you can join discussions and so on. The Downloads tab will get you the document in Word or XPS format.


Sunday, November 16, 2008 7:51:18 AM (Eastern Standard Time, UTC-05:00)  #