HTC Cavalier – another WM 5.0 device for the crackberries . . .
November 26, 2006
I found this post on the::unwired about the the HTC Cavalier which is a Windows Mobile 5.0 device which looks a little bit like a Black Berry. This is certainly not the first WM 5.0 device to mimic this form factor and it probably won’t be a last.
Tablet PC > Wireless > Laptop > Bluetooth > PDA > 3G > Internet
November 26, 2006
I’m just about to sign off for the night but realised what I had sitting on the desk in front of me. Here I am, sitting in a hotel room, connected to the Internet – that isn’t surprising, but what is surprising is the layers of indirection involved. I am blogging from my Tablet PC, over a wireless connection to my Laptop which is running ICS to share a connection to the Internet which has been established over a Bluetooth link to my PDA which is uplinked to the intarweb via 3G.
All this to avoid having to pay for the insane in-room Internet charges (I would have gone direct from my Tablet PC to my PDA, but Toshiba hasn’t released Bluetooth drivers for Windows Vista yet).
C# 3.0 adds the "because" justification operator (!!).
November 26, 2006
Now that the .NET 3.0 runtime as shipped the focus of those who like to ride up high on the technology wave are starting to focus on the features of upcoming technologies.
Among those vNext technologies is a revision to the popular C# programming language (version 2.0 shipped with .NET 3.0 – which actually uses the .NET 2.0 runtime – confused?). Anyway, among the features of the pending C# 3.0 release is support for Language INtegrated Query (LINQ) which provides the ability to query sets of objects with SQL-like query syntax.
With such a high profile feature being added to the language and runtime it is easier to forget about the smaller, yet equally as powerful features. This blog post is dedicated to one such feature.
The “because” justification operator
The because justification operator can be added to existing expressions to “justify” their assertion of truth. For example, lets take the following expression in C#:
1 + 1 == 2
The because operator can be applied thusly to backup the first assertion of truth:
1 + 1 == 2 !! 2 – 1 == 1
Now the naysayers out there might be questioning the value of such an operator but the true beauty can be seen when you see the following expression:
1 + 1 == 3 !! true
What the? The because operator allows you to convert a false statement to a true statement simply be providing an alternative expression that does evaluate to true.
It is important to note how complete this implementation is - when evaluated changes occur deep down in fabric of the universe to “make it so”. Of course, like many programming constructs the “because” operator has a basis in the real world – developers who have ever argued with their spouse would have experienced similar logic slaps when their loved one justifies their actions based on the truth of some completely unrelated fact.
When asked how the C# compiler team had managed to pull of such an amazing feet of software engineering they commented “it isn’t just syntactic sugar, it required some runtime changes”. Runtime changes indeed.
TFS Integrator Updated
November 26, 2006
I’m clearing a few items out of my TODO list and one that I meant to do a few weeks ago was upload the latest build of TFS Integrator. Well, I did a new build today and decided to release that instead - I have updated the original post about TFS Integrator.
This build fixes a few issues including the addition of queuing to support concurrent build requests targetting a single build server and a stability issue caused by receiving the occasional large check-in message from TFS. Anyway – download the latest build here.