News Archives 
   
(click month to expand)
  

Recent Technology News Stories

Solentive News
Silverlight Alien Sokoban  [click for more...]
A fun Silverlight implementation of the game Sokoban. Contrasting Silverlight 1.1 and WPF, while showcasing some new features of C# 3.0, Expression Design, Expression Blend, and Visual Studio 2008.
13/11/2007   [Link] Daniel Vaughan
Multi-binding inside Multi-binding  [click for more...]

You can't.

Well, that was the short version of things. Now comes the long one.

Take the following piece of XAML:

<Label x:Name="color">
    <MultiBinding Converter="{StaticResource luminanceConverter}">
        <Binding Path="AddedLuminance" />
        <MultiBinding Converter="{StaticResource rgbToCmyk}">
            <Binding Path="R" />
            <Binding Path="G" />
            <Binding Path="B" />
        </MultiBinding>
    </MultiBinding>
</Label>

The above fictional piece of code takes a color's RGB (Red/Green/Blue) values, converts it to a CMYK (Cyan/Magenta/Yellow/Black) representation and then adds luminance. This is all done to display a value for the user which the application doesn't need to compute on its own for the sake of logic. It's also useful, because whenever AddedLuminance, R, G or B change, the value is recalculated.

The only problem with the above code is that it doesn't work, since apparently, you can't place a MultiBinding inside a MultiBinding.

I guess I'll have to wait for the next version for that one...

13/11/2007   [Link]
Introducing the LinFu Framework, Part II: LinFu.DynamicObject – Adding Dynamic Language Features to Statically Typed Languages  [click for more...]
Using LinFu.DynamicObject to add mixins, duck typing and multiple dispatch to your favorite .NET languages
13/11/2007   [Link] Philip Laureano
Tablet PC  [click for more...]

A while ago I wrote that I was in the market for a MacBook. Now don’t get me wrong, I still am. It is just that I decided to wait for the 12” or 13” LED-backlit MacBook Pro and the rumored ultra thin model. When is that thing hitting the store, anyway.

Then I met Chad Hower at the SDC in September, and Chad convinced me that I should consider getting a tablet PC instead. Since I’m doing less development work lately and find myself traveling a lot more than I thought I would, a tablet all of a sudden makes sense.

After some research I narrowed down my options to two models. The first model is the Lenovo ThinkPad X61. I used my company ThinkPad p40 quit a lot until the screen blacked out on me. For some reason I can’t be bothered to get it fixed, which says a lot about how I feel about this product. The second model is the Dell Latitude XT. This is Dell’s first attempt to enter the market with a tablet PC with an expected release in December. More likely it will be released early 2008 due to the slip of Vista SP1. This reminds me of the Lunachicks with luxury problem.

13/11/2007   [Link]
My Tech.Ed EMEA Talk Today on Workflow in a Web application  [click for more...]
I'm in Barcelona this week for TechEd EMEA. The talk I gave today was about getting Windows Workflow Foundation hosted in ASP.NET. It was based on a quickstart sample that we built a couple of months ago and was recently updated to run on Visual Studio...(read more)
13/11/2007   [Link]
Develop ASP.NET with MasterPage and Localization  [click for more...]
Since the MasterPage is derived fromUserControl and thus, does not support the method 'InitializeCulture()', a bit more coding is required in order to get the ASP.NET MasterPage running with Localization.
13/11/2007   [Link] uliderknecht
Introducing the LinFu Framework, Part I - LinFu.DynamicProxy: A Lightweight Proxy Generator  [click for more...]
A fast dynamic proxy library with support for .NET Generics
13/11/2007   [Link] Philip Laureano
.NET Framework 3.5 Common Namespaces and Types Poster  [click for more...]
13/11/2007   [Link]
Google Password Strength API  [click for more...]
ASP.NET Control for the Google Password Strength API
13/11/2007   [Link] Roger Chapman
Telstra revamp makes milestone  [click for more...]
THE telco is eight weeks ahead of schedule with its information technology transformation known as TR1, with TR2 waiting in the wings.
13/11/2007   [Link]
Sending Email Attachments with ‘Friendly’ Names in .NET 2.0  [click for more...]

I can across a problem today where I had to attach a PDF file that is stored on a network share to an outgoing email using ASP.NET 2.0. This is pretty simple to do, except in my case the PDF filename on the share has an obfuscated name while its original name (file.pdf) is stored in a database lookup table. Looking at the System.Net.Mail.Attachment constructors, you'll see that three take a string filename and three take a System.IO.Stream object to represent the file. The string filename constructors do not possess the ability (as far as I could see) to give the attached file a "friendly name", although one of the Stream constructors does. So what I ended up doing was opening the file with a non-locking FileStream object and then passing it to the mail attachment object, careful to close the stream when I was done. Pretty simple, but I couldn't find any sources using this method so I thought I'd write it down here (minus error handling code for clarity):

System.Net.Mail.MailMessage message =new System.Net.Mail.MailMessage("from@from.com", "to@to.com", "Subject", "My attachment has a friendly name");

//Open the filestream with non-locking read permission

System.IO.FileStream fileStream = new System.IO.FileStream("fileSystemName", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read);

message.Attachments.Add(new System.Net.Mail.Attachment(fileStream, "friendlyName.pdf"));

fileStream.Close();

13/11/2007   [Link]
Fun with C# functions  [click for more...]

Dustin Campbell has an interesting series on C# functions on his Did it with .NET blog.

  1. Fibonacci Numbers, Caching and Closures
  2. What's in a Closure?
  3. Using Automatic Memoization
  4. A Higher Calling
  5. The Art of Currying
  6. Building Functions from Functions, part 1: Partial Application
  7. Building Functions from Functions, part 2: Function Composition

 

Some interesting stuff that ties together a number of C# 2.0 and 3.0 feature sets. Definitely worth a read. Thanks Dustin and keep them coming.

13/11/2007   [Link]
WPF AJAX Style ComboBox  [click for more...]
An article describing the WPF AJAX Style ComboBox custom control. The control demonstrates implementing custom RoutedEvents. There is also section on coding RoutedEvents using VB.NET.
13/11/2007   [Link] Karl Shifflett
Multipage Print Version of .NET Framework Poster  [click for more...]
We published another version of the .NET Framework common Namespaces and Types poster . It's an XPS format file which prints over 16 individual pages. This will allow you to put the poster on your wall, with the help of some tape and scissors....(read more)
13/11/2007   [Link]
 [click for more...]
With the release of ASP.NET 3.5 and Visual Studio 2008 just around the corner, now is the time to discover the new features that will empower your Web development and make building great Web sites easier than ever.
13/11/2007   [Link]
Extensions for Microsoft AJAX Framework  [click for more...]
Provdes cryptographic services including secure encoding and decoding of data, as well as hashing and random number generation, and new methods for JavaScript native objects.
13/11/2007   [Link] Ruben Buniatyan
OT: xbox live marketplace rant  [click for more...]

About a month ago, my 360 died with the Ring of Death, so I took it back to Best Buy using their Product Replacement Plan. I chose to upgrade to a 360 Elite for the bigger hard drive. Get home, transfer some save games off a memory card, load up all my downloaded content, load up the household profile, and it looks like I'm good to go.

But then... I load up Puzzle Quest, and I have to activate it everytime I try to play. It's not a problem, since it still recognizes me as the owner of the product, but it's still awkward. But then, I loaded it up under my son's account, and he can only play it as a trial version. Now, that really sucks, since he was almost done when the console died :(

I looked online, and found this is a common problem. The downloads are tied to the console and the gamer tag. If the console changes, only the gamertag that purchased them is able to continue playing them.

So I called up 1-800-4MY-XBOX, and explained the problem. The rep said he could help, got a list of my games, and spoke with his supervisor. Turns out, that after a 1/2 hour on the phone, they can't help me because it's not the same unit type!

So here I am, Shiny new 360 unit, and nobody in the house can play any of the casual games except me! And given the issues with all the failures, and the potential for the life-cycle of the 360 to go well beyond 5 years it  seems like there should be a better way to handle marketplace downloads and longevity.

Since you can transfer a gamertag through the "Recover My Gamertag" function, and that disables the tag on the previous console, it seems like it would be easy to update the download information to tie to the new console. When the old console connects to Live, just update to change those to trial versions. (I could imagine that someone could use the system offline forever, but they won't be able to connect to live for other games, so it would really end up being a minimal impact) Either that, or send me a disc with all my downloads that I can throw in the play my arcade games!!!

DRM really needs to be resolved if there is any thought of long-term viability of digital downloads. I like the concept, but I also like the thought that I can fall back to physical medium on those games I purchased that way.

(As an ironic aside, I'm not using HDMI to connect the 360, I'm using a VGA cable. The HDMI cable went to the Tivo since that only needs one cable to carry the HD single to the TV, not the two required by the 360)

Maybe someone will come up with a better way to handle this, and let my son play Puzzle Quest without having to repurchase it. And fix the bug where *I* have to log in every time.

Ok, done ranting.

13/11/2007   [Link]
Copyright © 2007 Solentive | Disclaimer | Contact | Home