Andrej Tozon's blog

In the Attic


Silverlight Olympics

Want to tune into 2008 Beijing Summer Olympic Games with Silverlight?

Not in the United States, you say?

Well, tough luck ;)

NBC Olympics

This IP restriction thing is getting sillier by the day... Isn't Internet supposed to be global? What happened to World Wide Web? :)

The tide is high – new MS downloads

SQL Server 2008 RTM is out!

Microsoft Sync Framework v1.0 RTM is out!

  • Sync Services [now @ v2] is “synchronized” with Sync Framework
  • Peer 2 peer database sync support
  • Sync with device’s Database
  • SQL2008 Change Tracking supported
  • Sync process tracing

A couple of features of the above products require VS2008/.NET 3.5 SP1, which means VS2008 / .NET 3.5 service pack duo should be released real soon now [by August 11th, as stated on MSDN).

Like it’s not hot enough already… turning my air-con down to keep my boxes cool and running…

[Update] SQL Server Compact 3.5 SP1 is out!

[Update] .NET FX 3.5 SP1 is out!

  • ADO.NET Data Services
  • Entity Framework
  • ASP.NET Dynamic data

[Update] Visual Studio 2008 SP1 is out!
[Update] Need to update Silverlight Tools for VS2008 too.

Sources: here, here, here, here

Installing Expression Blend 2.5 March 2008 Preview

If you're considering installing Expression Blend 2.5 March 2008 Preview over Expression Blend 2 December Preview, make sure you uninstall the December Preview first, and then continue with March Preview installation. When doing vice versa, you'll lose some of the "Open in Expression Blend" shortcuts [allowing you to open solutions from Windows Explorer, or open (Silverlight) Pages from Visual Studio 2008].

Open from Explorer
Open from Visual Studio 2008

However, all is not lost if those shortcuts are gone after uninstalling December Preview. Simply repair the March Preview installation and you're back and ready to blend your solutions again.


First couple of days with Silverlight 2.0 Beta 1

Here's some notes on my first experience with Silverlight 2.0 Beta 1:


Runtime - quick, smooth. Like it's supposed to be.

Tools for Visual Studio 2008 - if running Alpha version of the tools, you'll have to uninstall it first. During the install, the VS2008 DVD might be required. For more info on this and a way around it, see this BradlyB's blog post.


Yeah! Loving it. Hey, there's a cool DataGrid control, and a DatePicker. Given that WPF still hasn't got those (out of the box), which technology would you rather pick for your next cool (demo) app? Silverlight or WPF?

If you've just begun learning these new technologies, I'd for sure recommend Silverlight - you're forced to work with a smaller programming model (a subset of that of WPF), and you're inevitably going to pick up some WCF in the process, if your application involves any kind of (disconnected) data.


With Silverlight's programming model moving closer to what we currently have in WPF, creating animations in Silverlight now feels much more comfortable. No need for creating animations by loading declaration code from Xaml any more; animations and storyboards can now easily be done from code; I'll post some sample code in next posts.


Lots of options here... WCF, HTTP based, JSON, RSS, Atom, ... There's, however, still a few limitations, some of them being: BasicHttpBinding-only for WCF (or no WS-* protocols for Web Services), some types (like XmlElement or XmlNode) can't be used in data contracts.

But... cross-domain service calls are now possible! The dreaded "cross domain call exception" is gone. Well, not entirely true, but if you play nice and/or have control over the service's web site, it's likely you won't bump into that wall again. For all other cases, using server-side proxies still seems like a possible way out.

Also worth noticing is that the managed Downloader class has been removed in favor of the WebClient class, which should offer the same functionality. Similarly, BrowserHttpWebrequest class was replaced with HttpWebRequest class.

Calling services is now asynchronous!


Of course, there's a lot more... Some of the changes will be covered in my next posts on Silverlight 2.0 B1.


As expected, a lot of stuff was shown and discussed on the MIX08 keynote today:

  • eight - Internet Explorer 8 Beta 1 (download): better standards compliance, backward compatible mode, faster faster JavaScript implementation, embedded debugging tools, "activities" and "webslices" (custom extensions, deliverable simply by hacking up a couple of rows of XML),. ...
  • Silverlight 2.0 Beta 1 (download): it's here! With only 4.3MB in size, it delivers highly anticipated UI controls, along with a new testing framework, including tests for all Silverlight controls. Supports isolated storage for offline caching. Plus, Silverlight 2.0 now ships with a non-commercial Go-Live license and will also run on Nokia [Symbian] phones. Finally, if you've done any work with Silverlight 1.1, you're in for a serious code rewriting, as there's a lot of breaking changes in the code base. [That's, however, a good thing, because these changes bring Silverlight's programming model much closer to the the one in WPF]
  • Expression Blend 2.5 March 2008 Preview (download): Silverlight 2.0 Support
  • Silverlight Tools Beta 1 for Visual Studio 2008 (download): Add-on to Visual Studio for Silverlight 2.0 Beta 1 development. Better designer experience, although far from being nice as in Expression Blend.
  • Sea Dragon in action - Deep Zoom: take a look: Hard Rock Memorabilia [a bit quirky at the moment, I'm afraid] Want to make your own Deep Zoom creation? Download Deep Zoom Composer preview. And you can start with this User Guide.
  • The future of WPF: new controls, performance improvements, etc...

Watch the MIX08 keynote recording here.

[Update: here's a great preview of Silverlight 2.0 Beta 1 controls in action by Kathy Kam. Note that these controls are available in source code w/ full unit tests]

WLM tip: just paste the image to send it over

While conversing over Windows Live Messenger the other day, I became aware that not everybody knows about its feature to send an image over by simply pasting it into the message window. You know, instead of the lengthy process of pasting PrintScreen-ed image into Word or Paint, saving it into a file, then dragging the file into the message window, you can as well copy the image (PrintScreen or Windows Vista's Snipping tool) and paste it directly into WLM's message window. WLM will then automatically create a temporary file and send that over to the receiver...

There, a very quick and simple WLM tip :)

Undeleting shift-deleted emails in Outlook

This one's for future reference...

It so happened that I accidentally "permanently" deleted some emails from Outlook... You know, a well-trained keyboard sequence routine - select some (spam) email, shift+delete, enter, and spam's gone. It turned out I happened to select all email in my Outlook and when I managed to stop the deleting, the last two months of email were gone.

This could easily be a tragedy, if I weren't keeping my email accounts with gmail/google apps. However, I do like keeping copies of my email on my desktop, so I wanted to get that two months of lost email back.

I knew that shift-deleting items in Outlook's list doesn't really remove the email's content from the data file [at least until the next Compact command], I just wasn't sure how to get it back. Googling for solution returned many (payable) products and services, assuring positive results, but somewhere down the road, I managed to land on Blake Handler's page, giving a simple solution. Apparently the utility, called Inbox Repair Tool, used for diagnosing and repairing corrupted Outlook's Personal Folders files (.pst), also resets the deleted flag in the repair process. You just have to find a way to corrupt the .pst file. Here's the quick rundown:

  1. Backup your Outlook.pst file [Inbox Repair Tool will do this for you as well]
  2. Edit Outlook.pst in some HEX editor
  3. Alter one or couple of bytes in the file (I changed the first byte and that worked for me)
  4. Run Inbox Repair Tool [ScanPST.exe, if using Office 2007, it's in [c:\]\Program Files\Microsoft Office\Office12\
  5. Start Outlook. Undeleted email should be back.

Tick, tock... Silverlight Challenge: one week left

Just a quick reminder: 1st European Silverlight Challenge is entering the finishing line. As announced, the competition ends next Monday, which still gives you plenty of time to polish your applications and give them some finishing touches. When ready, don't forget to submit your app on local competition site (click here for Slovenian site). Note: you'll have to register and log in first to submit your entry.

Starting today, Silverlight v1.0 is also available through Windows Update, as an optional update.

Wait, there's more... also available through Windows Update from today, are updates for all Expression products, including service packs.

Just keep 'em coming...

Let Silverlight shine on YOU!

Join developers all around Europe in the ultimate Silverlight Challenge. Yes, the 1st European Silverlight Challenge is on and Slovenia is one of the many countries participating. For more information  head over to Slovenian and European competition site, read the official rules and start your Visual Studio. Also, feel free to discuss the Challenge and Silverlight on SLODUG's forums.

1st European Silverlight Challenge ends on January 28th, 2008. The spotlight is on you!

Gradient eyedropper in Expression Blend

Gradient eyedropper proved to be one of the fun features for presenting Windows Presentation Foundation/Expression Blend. While fun for presenting, its ability to capture the color spectrum of the mouse-crossed area is useful in real-time designing too.

Try this for example... Start up your Blend, create a new project and put a rectangle on a window. Select Gradient brush for rectangle's Fill property and click-select the Gradient eyedropper tool (next to the gradient/color selector):

Gradient eyedropper

With eyedropper selected, drag a mouse, holding the left button, vertically across the rainbow color scale (part of the color selector). And here comes the rainbow rectangle...

Rainbow rectangle

You can color swipe any area of the screen, as long as your eyedropper cursor stays inside Blend's main window. This is somehow different to using the "regular" Color eyedropper tools, which allows you to capture even colors outside Blend's bounds.

Now go color your life ;)

On a side note: Expression Blend 2 December Preview is out.