Bill Blogs in C#

Bill Wagner discusses C#, LINQ, and other items of interest

March 2007 - Posts

Yeah, I thought that would get your attention

I was interviewed on .NET Rocks this week (http://www.dotnetrocks.com/default.aspx?showNum=223).  I enjoyed chatting with Carl and Richard about technology, community, The Grateful Dead, and business' attitude to technology, to the world in general.

Now, onto the negative portion of this post.

One of the references on the show was Kathy Sierra's blog (http://headrush.typepad.com/creating_passionate_users/).  She's the brains behind the O'Reilly 'Head First series: http://www.oreilly.com/store/series/headfirst.html

I highly recommend her posts on learning theory, presentations, and creating a use community.

Her last post is quite disturbing.  Some  of the internet's worst inhabitants have been responding to some of her posts with death threats, and posting similar threats in other online locations. (Warning: this post has some rather explicit content, but for a very important reason) http://headrush.typepad.com/creating_passionate_users/2007/03/as_i_type_this_.html

The incident has reached a level where the BBC has picked up the story (You can get the details here without the explicit text and graphics):

http://news.bbc.co.uk/1/hi/technology/6499095.stm

I urge you to take a side in this debate.  This is not representative of the commuity I am part of, nor is it behavior that our community shold condone, or even tolerate. 

Kathy says it better than I could:

"If you want to do something about it, do not tolerate the kind of abuse that includes threats or even suggestions of violence (especially sexual violence). Do not put these people on a pedestal. Do not let them get away with calling this "social commentary", "protected speech", or simply "criticism".

Do whatever works for you:  blog, post, discuss, debate. Just make sure you use your brains, and your intelligence. Don't enter the same sewer as these low lifes.



Posted by wwagner | with no comments
Filed under:
A local guy does good (or, well)
Darrell posted it here. I just want to add my congratulations on being recognized for all his hard work.

Posted by wwagner | with no comments
Filed under:
Explore Google's GWT, Adobe's Flex, and Microsoft's WPF for creating user interfaces

I'm a bit late to this, since Dianne got the ball rolling while I was in Redmond last week.  But there is still lots of time:

Registration is now open for the User Interface Smackdown 2007, being held April 4, 2007 at the Ann Arbor ITZone (Spark Central). The user interface toolkits that we will discuss and work with include (at least) Google’s GWT, Adobe’s Flex, and Microsoft’s WPF.

I’ve had a lot of fun doing Open Spaces events that Bruce Eckel has hosted in the past year. I exposed Bill Wagner (my business partner and co-founder of SRT) and our consultants to Open Spaces at CodeMash and they all enjoyed the experience as well, so we decided to start doing them locally, and we hope to do about 1 per quarter. Hopefully we will have the next one planned by the time that this one takes place (teaser: we already have some ideas in the works).

We believe that these events benefit the developer community. Not only are they an efficient and interesting way to bring timely knowledge to programmers, but they also bring the community together in a way that fosters continued communication and builds community. This helps everyone.

We believe that innovative user interfaces will be a key differentiator for software offerings in coming years, and learning how to use modern toolkits to build them is essential. We hope that we have a great turnout for this event and that it provides us with the motivation and interest to do more of these in the future, on different topics.

Cost for the event is $75 before March 26, or $90 after March 26 (and at the door, if space is available). Registration also includes continental breakfast and lunch.

This event is sponsored by Adobe, Microsoft, and SRT Solutions.

Hope to see you there!



Posted by wwagner | with no comments
A great book for convincing your company, or your customers, more agile

A little more than a month ago, at CodeMash, I had the pleasure of spending quite a bit of time with Mary & Tom Poppendieck discussing software development, agile methods, the business value of software, and the general state of the industry.  I came away very impressed by the breadth and depth of their knowledge, and their willingness to share it.  Our organization can learn a lot from their strategy of software development. Dianne and I were impressed enough that we got a copy of each of their books.  I started with Lean Software Development: An Agile Approach.

This is a fantastic book if you are trying to convince a resistant organization to go agile.  Mary and Tom discuss 22 tools centered around 7 themes of software development agility.  They show the business value of each of these tools.  Sometimes it is shorter schedules, sometimes it is higher quality, still other times it is more profit for your business.

In every case, these tools give you the vocabulary, themes, and arguments to make to the business people.  For example, when they discuss the tradeoffs between features and time, they build a profit and loss (P & L) model for the project. (Chapter 4) While developers may feel that a new feature request is a bad idea, and marketing may demand it because a major customer wants it, the P & L model will move that discussion forward:  The added development time will mean a delay in getting to the market. That delay will mean lost sales. The model even predicts (and yes, I know predictions aren't 100% accurate) how much money will be lost by the delay.  Now, the feature vs. time discussion can proceed in a logical manner. And, note that it's not an either / or discussion, if you're doing agile right. If you have delayed decisions to the last responsible moment (Chapter 3) you may find any number of lower priority feature requests that have not been started. These can be dropped in favor of the new requirement.

As a small software consulting company, I found the last item on agile contracts most interesting.  Poppendieck's discuss how to build a mutually beneficial contract around shared goals for the customer and the vendor.  Whichever line you sign, that discussion is worth reading: They found that a more agile framework supported by an agile contract would enable a supplier to be more profitable while holding down the costs for the customers.  Building a contract with some uncertainty is always a challenge, but it's worth that perceived risk.

Lean Software Development is not a cookbook. You won't find directives saying you must have pair programming, standup meetings, test driven development (although all those may be part of a winning agile strategy).  Instead, you'll find recommendations on seeing and elminating waste, providing feedback loops throughout your value stream (customers, business managers, developers, testers), making decisions at the last responsible moment, yet delivering interim releases as early and often as possible, and many others.  Most importantly, as you try and convince your organization to adopt these methods, you'll find examples, case studies, and other evidence you'll need to convince your stakeholders to adopt these methods.

In closing, to recommend this book, let me just say that Dianne and I are buying copies for all our consultants, and for customers struggling with adopting a winning agile strategy.



Lean Software Development on Amazon
You can buy it hear
Posted by wwagner | with no comments
Filed under:
Var, local type inference, and why it's not weak typing

I've got another post on the C# Developer center. This one explains var, and the difference between type inference and weak typing.

It's posted here:  http://msdn2.microsoft.com/en-us/vcsharp/default.aspx, or you can use the shortcut of http://csharp.net, which will lead you to the same endpoint.



Posted by wwagner | with no comments
Filed under:
Yes, I should be saying more, but I've been busy

By now,  most of you know that the March Orcas CTP is avaialble.  Personally, I prefer the installable image (located here). But, if you prefer the VPC version, look here.

When you try this version, you'll find that most of the features from earlier (May) LINQ CTP have been implemented.  However, there have been a few changes to the language specification, and that means you can't just use the May samples.

Charlie Calvert (MSDN C# guy) has posted an update to the samples for this build. 

Get them here.



Posted by wwagner | with no comments
Filed under:
But isn't that the point

There was a new Channel 9 video (that was shot last year) showing Robert Fripp recording music for use in Vista. I've always liked Robert Fripp, so I downloaded and watched the video. (For those that don't know, Robert Fripp was the original guitarist in King Crimson, then went on to quite the solo career: Guitar Craft, Soundscapes, Sylvian / Fripp, more King Crimson, and now, the sounds and atmospheres for Windows Vista. (See more here:  http://en.wikipedia.org/wiki/Robert_Fripp

That was cool enough, but the really cool part (for me) was that the Steve Ball, an old friend from college, was behind the windows vista / Robert Fripp project.  (Steve received an EE degree one year ahead of me at the University of Illinois / Urbana Champaign

It's been quite a long time since I'd seen him, but the mannerisms were enough for me to make a guess, and luckily, he's got enough of a public presence around Seattle, that I could find him. 

Steve's own site (http://www.steveball.com/words/) gives an insight into his musical styles and how he creates images using music. 

It turns out that after Steve graduated from Illinois, he joined the League of Crafty Guitarists, and that's where he started building a relationship with Robert Fripp.

It is just way too cool that an old friend has that close of a relationship with such a respected musician. 

It's also cool that I was able to reconnect thanks to a Channel 9 video.



The latest channel 9 Fripp video
A taste of Fripp on Vista (with Steve Ball
The first Fripp / Vista video
More with Steve and Robert Fripp

Posted by wwagner | with no comments
Filed under:
It now works on Vista, and is more efficient with memory

Some time ago, I enhanced the CodingForFun wallpaper application so that it would cycle through a set of images in a directory.

I'd been mis-using one of the SDK APIs in such a way that it worked on XP, but not on Vista.  Now that I've got my very own Vista machine (2 actually), I've updated the app for that environment.  Also, Martin Shoemaker pointed out one bug where I was not correctly disposing of images, which resulted in a larger than necessary memory footprint.  That's also fixed.

You can download the app and source below.



Wallpaper2.zip
Updated wallpaper cycler for Vista

Posted by wwagner | with no comments
Filed under: