Survivor: India

International travel can be a joy or it can be a pain. As I pack my bags to return to Hyderabad, India this afternoon, I’ve tried to pack my carry-ons smartly but lightly. My carry-on items include: Spare pair of short pants (it’s hot in Hyderabad, even this time of year) and a T-shirt in…

Silverlight Enigma Simulator Updated

Thanks to a comment left in my blog, I realized that my Enigma simulator didn’t perfectly replicate the operation of a real Enigma. I have updated the code and you can download it from here. If you simply want to run the simulator, click here. You’ll notice that the letters on the rotor wheels now appear…

IE7 Running Slow as Molasses? Try This

A few weeks ago, IE7 suddenly slowed down on my main PC. Each time I’d start it up, IE7 would take several seconds to get past the “Connecting…” message, meanwhile leaving me staring at a blank window. Once I got to the first screen, performance improved, but occasionally clicking a link would produce a 404…

Introducing the Silverlight Enigma Simulator

Thursday is National History Day at our local high school, and just in time for the competition, my son and I put the finishing touches on a German Enigma simulator to complement his display—written, of course, in Silverlight. Here’s what it looks like:   Enigma machines were used to encrypt Axis military communications in World War II.…

Page-Turn Framework Updated for Silverlight 2

I just returned home from the PDC after a marvelous few days in sunny L.A. Sunday’s Silverlight precon was a blast, and if you attended, I hope you felt it was worth your time. I could have easily filled out two more days with Silverlight fun and games, but I tried to hit the high points…

Cool Silverlight Trick #5

I leave for the PDC tomorrow morning, but there’s time for one more cool Silverlight trick before I leave. One of the features added to Silverlight 2 late in the development cycle was the CompositionTarget.Rendering event. CompositionTarget.Rendering is essentially a per-frame rendering callback that lets you build high-performance animation loops driven by logic executed in…

Cool Silverlight Trick #4

One of the unique features that Silverlight brings to the browser platform is the ability for you to write multithreaded apps. You can use Thread.Start, ThreadPool.QueueUserWorkItem, and other mechanisms to execute code on another thread, and you can use the same thread-synchronization primitives that you’re already familiar with from the “big” .NET Framework to synchronize…

Deep Zoom Demo Updated for RTW

Today I updated the Deep Zoom demo I originally published a few months ago for the RTW release of Silverlight 2. The new version shows how to do mouseovers on the individual subimages in a Deep Zoom scene—something that wasn’t at all obvious to me how to do until I read Jaime Rodriguez’s excellent blog post…

Cool Silverlight Trick #3

One of the areas of Silverlight that not much has been written about yet is the factoring of applications. Applications don’t have to be packaged in one big XAP file; Silverlight presents numerous options for dividing code and resources among multiple assemblies, packaging resources inside or outside the XAP file in one file or multiple…

Cool Silverlight Trick #2

A while back I blogged about a technique for allowing two Silverlight control instances to communicate. It involved having one of the controls call out from C# into a simple JavaScript bridge, and then having the bridge call into the other control by calling from JavaScript into C#. It was a practical use for the…

Cool Silverlight Trick #1

I’ve been working crazy hours updating my Silverlight course for version 2 and expanding it with lots of new material. With the PDC coming up in less than a week, I’ve also been working on some cool tips and tricks demonstrating some of the lesser-known but potentially useful features of Silverlight 2. Each day leading up to the…