Photos from the Johannesburg 27dinner

On Wednesday night a bunch of geeks, nerds and wannabe geeks packed into the upstairs section of Primi Piatti in The Design Quarter Fourways for the final 27dinner of 2009. This time there were no formal talks just lots of socialising and some really awesome grub.

It also proved an excellent opportunity for me to test out my new 50mm f/1.4 prime lens without blinding people with a flash. Unfortunately though I didn’t check my auto-focus setting and as a result quite a few of my shots are a tad blurry. But that’s what being an hobbyist photographer is all about, learning.

@mikestopforth Mike can haz pizza

@SnowgooseSAHeidi is huge on Twitter…

@vincenthofmannVincent is the the man

@donpackett & @CraigrodneyNormally there is only on person, but Don and Craig both have cheesy grins

 

You can find the rest of the photo album over here. I welcome your comments.

Making date and time sense from the SQL Server Agent job history table

Sometimes you’ve got to wonder why database developers do things the way the do. Take for example the sysjobhistory table in the SQL Server msdb database. Its got two awful columns namely run_date and run_time. Why are they awful you ask? Well because they are integer representations of the date and time. Just look at the following examples to see the stupidity.

run_date run_time Actual
20091123 230000 2009-11-23 23:00:00
20091123 230001 2009-11-23 23:00:01
20091123 234500 2009-11-23 23:45:00
20091124 0 2009-11-24 00:00:00
20091124 0 2009-11-24 00:00:01
20091124 1000 2009-11-24 00:10:00
20091124 3000 2009-11-24 00:30:00
20091124 10000 2009-11-24 01:00:00
20091124 10636 2009-11-24 01:06:36

Now if you’re wanting to do something meaningful with them you’ll want to represent them as a DATETIME data type most likely. After searching for a quick and easy way I decided to hack a quick bit of TSQL up and put it up here so hopefully others might benefit.

SELECT    CONVERT(DATETIME, 
            STUFF(STUFF(CONVERT(VARCHAR, [run_date]), 7, 0, '-'), 5, 0, '-') + 
            ' ' + 
            STUFF(STUFF(RIGHT('00000' + CONVERT(VARCHAR, [run_time]), 6), 5, 0, ':'), 3, 0, ':'), 120)
FROM    [msdb]..[sysjobhistory]
 

Let me know in the comments if you found it useful or if you have a more elegant way. If you use it a lot, make a user-defined function taking in the two values. I leave that in your capable hands.

Silverlight 4 beta and my disappointment with the WebBrowser control

Silverlight 4 logo by Tim Heuer So as most of you probably know by now, Silverlight 4 has been announced and a beta is already released, you can head off over here to find out what’s new and to download the bits you need like Visual Studio 2010 Beta 2, etc. One big warning though, if you have the Silverlight 3 SDK installed on your machine, uninstall it before installing Visual Studio 2010 as it might barf the Visual Studio 2010 installation.

So one of the features I’ve been eagerly awaiting in Silverlight 4 is the new WebBrowser control. Yeah as strange as it may seem I want to embed some web content in a Silverlight control. Well not a control as such but more a Silverlight application. And I’ve managed to do it since Silverlight 2 by creating iframe elements in the underlying HTML DOM and absolutely positioning them over my Silverlight control, all from within the Silverlight application. This has however one major limitation – you can’t put Silverlight content on top of the HTML iframe unless its in a seperate object element which doesn’t exactly suit my needs.

Silverlight 4 WebBrowser doesn't play niceAnd it turns out that the Silverlight 4 beta WebBrowser control suffers the same horrible fate, as you can see in a screenshot of a quick test application on the left. Except it has another awkwardness to it – it has to be run out of the browser as well. Looks like I’ll be sticking to my iframe approach for in the browser and consider using the WebBrowser control for out of the browser only.

Now don’t get me wrong, I do like the new control, but I would like it to be even better. If anyone on the Silverlight team reads this, please make the WebBrowser control a proper Silverlight control that can have pure Silverlight controls over it.

Xbox 360 records a record 10 million consoles sold

Xbox 360 Elite console It seems that the Xbox 360 console is doing pretty well in EMEA with 10 million consoles sold, I would just love to know how much of the 10 million units sold can be attributed to South Africa.

The official press release follows:

Johannesburg- Xbox 360 announced that it had achieved console sales to 10 million consumers across Europe, the Middle East and Africa in just four years. Reaching the landmark number has meant that Xbox 360 is the only console to achieve year-on-year growth across the region this year[1].

“Xbox 360 continues to pull ahead of the competition when it comes to delivering on a complete home entertainment experience,” said Martin Olausson, Director of Digital Media Research at Strategy Analytics. “By introducing innovative new services and content such as Natal, Xbox will likely attract a wider audience than its rivals and is in a great position to maximise sales in the next few years”.

2009 has been a pivotal year in Xbox’s journey from its gaming origins to now changing the way people consume and share entertainment content, interact with each other online and continue to play great games.

“Reinventing entertainment through play, watch, connect and share. This is the vision that we have for Xbox 360 and today that vision is the reality for 10 million Xbox owners. European consumers are very discerning and demand a connected entertainment experience. That’s why we focused on providing content that is right and relevant for them and entertainment beyond just gaming to movies, music and social networking. We have delivered on this promise and next week will bring real innovation into the living room through instant streaming high definition movies, connecting with friends on Facebook and Twitter and a personalised music channel. Together, this represents a real shift in the way people are entertained every day,” said Chris Lewis, vice president Interactive Entertainment Business at Microsoft Europe.

This reinvention of entertainment has already seen a shift in where the Xbox lives in the home, with the majority (60%) of Xbox’s now becoming integrated into the family living room. It has also caused a shift in Xbox’s customer base as now 35% of Xbox customers are women and 64% are over the age of 25[2]. The arrival of the much anticipated ‘Project Natal’ will create a new category of gaming and entertainment experiences through controller-free gaming that makes Xbox 360 more inclusive and relevant to an even wider audience.

[1] Xbox 360 remains the only console showing positive year-on-year growth in 2009 so far, both across EMEA as a whole and in each of the 5 main markets within the region (UK, FR, DE, ES, IT) – Microsoft estimates based on Gfk ChartTrack data

[2] April 2009 Microsoft Internal Research Study