OMG! Someone Did a Book Report!

Whenever I teach a debugging class, the first thing I talk about is one of the most important points I make though the entire class: read Steve McConnell’s masterpiece, Code Complete 2nd Edition. I ask for an honest show of hands as to who hasn’t read Code Complete, and it always amazes me how many…

Silverlight 3’s New GPU Acceleration

Another new and notable feature of Silverlight 3 is support for hardware acceleration. In Silverlight 1 and 2, all rendering was done in software, which meant that the performance of complex animations and video playback depended heavily on the capabilities of the host PC. Silverlight 3, however, can take advantage of hardware GPUs. You can…

Silverlight 3’s New Local Connections

One of the features of Silverlight 3 that developers are going to love is local connections, which enable Silverlight control instances to communicate with each other. Local connections use a publish/subscribe mechanism to connect senders and receivers. And they work just as well whether the control instances are in the same page (and the same…

Silverlight 3’s New Animation Easing

Easing is a new feature of Silverlight 3 for dressing up animations. I’ve often told students and conference audiences that you can’t simulate physics with simple linear animations (also known as “from/to” animations), and that you have to use key-frame animations instead. In Silverlight 2, for example, it’s easy to animate a ball dropping to…

Silverlight 3’s New Pixel Shaders

Silverlight 3 is loaded with new graphical goodies, and one of the goodies I’m most excited about is pixel shaders. A pixel shader is an object that transforms pixels output from the rendering pipeline before they’re rendered to the display surface. Silverlight 3 Beta 1 comes with two pixel shaders: BlurEffect and DropShadowEffect. The following example…

More on Silverlight 3’s Writeable Bitmap

One of the WPF features that I miss in Silverlight is VisualBrush. Among other things, VisualBrush makes it easy to generate simulated reflections. To create reflections in Silverlight, we typically declare a copy of all the XAML we want to reflect, use a ScaleTransform to flip the copy upside-down, and apply an Opacity or OpacityMask to complete…

Silverlight 3’s New Writeable Bitmap

Another of the exciting new features coming in Silverlight 3 is the WriteableBitmap class. Silverlight 2 had no API for creating bitmaps, but WriteableBitmap makes creating bitmaps on the fly easy as pie. In Beta 1, you can create bitmaps from scratch, but you can’t (yet) edit existing bitmaps–for example, bitmaps assigned to XAML images or…

Silverlight 3’s New Perspective Transform

One of the many, many new features coming in Silverlight 3 (and featured in Silverlight 3 Beta 1, which shipped this week) is the perspective transform. In the Silverlight MyComix viewer I built for Silverlight 1.0, I faked the 3D rotation of a comic book cover around the Y-axis by using a ScaleTransform to squeeze the cover…

Mandelbrot and the Southern Fried Roadshow

I’m packing up my stuff to head for Atlanta tomorrow and speak at MSDN’s Southern Fried Roadshow. If you attend, you’ll get to see a demo that I just put the finishing touches on. It uses dynamic Deep Zoom (that is, Deep Zoom with image tiles that are generated on the fly rather than by Deep…

Upcoming Appearances

Winter’s almost over and I’m excited that the weather is improving. This time of year, I’m glad I live in the south because I’m ready for warmth. To satisfy my jet craving, I recently joined the Georgia Jets flying club. Georgia Jets boasts probably the best RC jet-flying facility in the country, specially built just…

Code Quality – A Conversation with John Robbins

At the 2008 PDC, I finally was able to meet the people behind one of my favorite products, NCover. As I’m passionate, (some would say a zealot!) about code coverage, having a great tool like NCover in the market is wonderful. While there are all sorts of development methodologies you can follow, there’s only one…

Silverlight UI Rant #2 – ListBoxItem

Tonight’s recipient of my UI Rant is the Silverlight 2 ListBox, or more specifically, the ListBoxItem.  A client recently asked me to provide an alternating row style like the DataGrid for the ListBox.  Now, if you’ve ever tried to add a border or background to your ListBoxItem, you’ve seen this: No problem, you say, I…