About Me

Mitch Wheat has been working as a professional programmer since 1984, graduating with a honours degree in Mathematics from Warwick University, UK in 1986. He moved to Perth in 1995, having worked in software houses in London and Rotterdam. He has worked in the areas of mining, electronics, research, defence, financial, GIS, telecommunications, engineering, and information management.
Mitch has worked mainly with Microsoft technologies (since Windows version 3.0) but has also used UNIX. He holds the following Microsoft certifications: MCPD (Web and Windows) using C# and SQL Server MCITP (Admin and Developer). His preferred development environment is C#, .Net Framework and SQL Server. Mitch has worked as an independent consultant for the last 10 years, and is currently involved with helping teams improve their Software Development Life Cycle. His areas of special interest lie in performance tuning

Sunday, May 24, 2009

New Development PC Beast!

After delaying for far too long, I’ve finally replaced my aging PC with a completely new one. It’s another DIY build (where’s the fun and love in buying one off-the-shelf?), and the really great thing about DIY builds is you get to choose premium components, rather than the generic cruft present in most boxes. It’s made a large hole in my budget, but a man’s got to have a hobby! :) I was originally going to take photographs at various stages in the build (ala Jeff Atwood’s article), but ultimately I just wanted to get the thing up and running.

Here’s the Spec:

Intel i7 Quad Core 3.2GHz

Noctua SE1366 CPU Heatsink and Dual Fans

Asus P6T Mainboard

OCZ Vertex 120GB Solid State Drive (Primary Drive)

Western Digital 1TB hardware RAID 1 (Mirror)(Secondary Drive)

12GB of Corsair Tri-Channel 1333MHz RAM

Asus EAH4870/HTDI/512MB Graphics Card (might buy another of these)

Asus DVD RW 22x Drive

Antec 183 Tower Case (with extra sound dampening)

Corsair 620W 80+ Modular Power Supply

Samsung 23” HD LCD

I’m running Windows 7 64bit Ultimate RC. The boot time is so fast it will make you weep as you wait 3 minutes for the PC you’re reading this on to boot up! ;)

I have to say that Windows 7 is a real joy to use. I’m really looking forward to this going RTM.

I was originally going to use one of the Western Digital 150GB 10K rpm drives as the primary hard drive (an excellent hard drive, and a firm favourite), but I decided to splash out on a Solid State Drive (SSD). These are still expensive, but over the next 18 months, the price of these will drop dramatically. [If you’ve just won the Lottery (and have $10,000+ lying around), check out the FusionIO monster SSDs].

This was a relatively expensive DIY build; to put that into context, the case plus power supply alone cost $450.00!! Despite being a great case (with great airflow, excellent sound dampening features, behind the back plane wiring etc.), the Antec 183 is very over-priced in my view. The 183 is practically identical to the previous 182 but they took out one of the very large but quiet fans, and then jacked the price up $50 (go figure)!

The only tricky bit was (as usual) installing the enormous (and I don’t use that term lightly!) heatsink with the dual push-pull fans. I don’t think there is another heatsink on the market that removes heat so effectively (great for over-clocking), but they don’t come cheaply.The ATI chipset 4870 gave me a heart stopping moment when I booted the beast for the first time. Nothing. Nada. Zilch. I rechecked all connections, tried again. Still nothing. “Hmmm”, I thought. My nose hadn’t detected the escape of any essential “Magic Smoke”, which is always a good sign.

The Asus EAH4870, like most new PCI-Express x16 graphics cards, needs an extra 12V ATX power source due to its high current draw. Well this particular model requires not one but two extra 12V power rails! When I was installing the card, I couldn’t help notice that the 4870 had 2 6-pin 12V sockets on it. I plugged in one and thought “Surely it can’t require two...”, but it does.

(Note: one slightly odd feature of buying an expensive case is that you won’t get one of those 50 cent case speakers, which means if your motherboard does not have an onboard fault diagnostic LED display (the Asus P6T doesn’t), you won’t hear the tell tale beeps for problems with RAM, Video card etc)

All I need now is a bigger desk to accommodate a second Samsung 23” LCD monitor...

Microsoft SQL Server 2008 Policies - Microsoft SQL Server 2008 Policies are examples of how you can take advantage of Policy Based Management. These policies will help you follow some of the SQL Server best practices and avoid common pitfalls.

Microsoft Windows PowerShell Extensions for SQL Server - The Microsoft Windows PowerShell Extensions for SQL Server includes a provider and a set of cmdlets that enable administrators and developers to build PowerShell scripts for managing instances of SQL Server.

Microsoft SQL Service Broker External Activator - This an extension of the Internal Activation feature in SQL Server 2008 and lets you move the logic for receiving and processing Service Broker messages from the Database Engine service to an application executable that runs outside the Database Engine service.

Microsoft Sync Framework - Microsoft Sync Framework is a comprehensive synchronization platform that enables collaboration and offline access for applications, services and devices. Using the Microsoft Sync Framework runtime, developers can build sync ecosystems that integrate any application, with any data from any store using any protocol over any network. Sync Services for ADO.NET is a part of the Microsoft Sync Framework. Sync Services for ADO.NET enables synchronization between ADO.NET enabled databases. For more information about the Microsoft Sync Framework, please go to Microsoft Sync Framework Developer Center.

Sunday, May 17, 2009

Running a DevJam Community Event

What is a ‘DevJam’ Community Event?

Basically, it’s an event where the majority of (or all) speakers are local user group members. Each talk’s topic is targeted to your user group’s technology focus. Each talk should be around 5 – 10 minutes long, (depending on the number of talks you schedule). A good rule of thumb is that eight x 10 minute talks takes just under 2 hours (due to setup time between talks, and the occasional overrun, etc.).

Why are they a Good Idea?

Some user groups suffer from a lack of presenters, so encouraging and supporting local developers is a great way of building your local presenter pool.

Since the talks are short (approximately 10 minutes), people who might find preparing a complete 1 hour session a bit daunting are more likely to ‘have a go’. People often surprise themselves by being able to give a short talk without too much preparation.

Having a wide range of talk subject matter means you are likely to get a good level of attendance.

They promote face-to-face networking between local developers.

They are a cost effective way of running a small event, especially if you can find a few sponsors.

How do I Run a DevJam Event?

First decide how many talks you are going to have up front (8 works well).

It’s a good idea to have some worthwhile prizes as an extra incentive. Whilst winning is not the focus, it’s always nice to win something!

Email clear entry instructions. Check them several times for any mistakes (such as date and time) before sending.

Prepare about 5 – 6 weeks in advance (give people enough but not too much notice).Follow up with presenters closer to the event date.

Ask presenters to have their talk ready to go on a laptop, and make sure those that are not bringing their own laptop let you know in advance so one is available for them to use.

Ask people to save their questions until the end of all the talks. Otherwise time will quickly overrun.

Voting: low tech - high tech. We currently use a low tech paper voting system, where each audience member can cast one vote for each of their favourite top 3 talks.

Have some extra material (or perhaps some awful jokes!) on hand just in case of unforeseen circumstances (such as a laptop failing).

Try to provide food and refreshments so people can get together after the talks.

Saturday, May 16, 2009

Perth .NET User Group: May DevJam Community Event

May’s DevJam meeting of the Perth .NET User Group was a great success. We had 50 people attend the two and a half hour event, which consisted of 8 talks from local developers on a range of topics, followed by some networking over a beer or two afterwards at ’43 Below’.

Congratulations to the winners of the top, audience voted talks, who were:

Graeme Foster

Rhys Campbell

Dave Gardner

Thank you to all the presenters who did a great job of both educating and entertaining, and thanks also to everyone who attended and helped out. I had many people comment on how much they enjoyed it.

And a big thank you to all the sponsors that helped to make the event a success: Excom, Microsoft, JetBrains, Beacon Technology, O’Reilly, Joe Albahari, Dave Gardner, Patrick Smacchia.

I will be running another event in December. If you are interested in taking part but not sure what to do, or how to start, feel free to drop me an email.

Wolfram|Alpha: Knowledge-Based Computing

WolframAlpha is a new online initiative from the company who created Mathematica. As the blog states it is not just a place to look up facts. Under the covers it uses Mathematica's inbuilt algorithms:

For example, if you give WolframAlpha a mathematical formula, a polynomial say, or something involving sines and cosines, it will give you back a number of useful results: a graph of the function, a list of its zeros, factored and expanded forms, etc.

Monday, May 04, 2009

SQL Server Blocked Process Monitor

The SQL Server Blocked Process Monitor makes monitoring, tracking and troubleshooting SQL Server 2008 and 2005 blocked processes easy. You will no longer have to manually enable and run a trace to capture the blocked process report. In addition, the application will parse the Report XML and use the sqlhandle information contained in the report to capture the actual sqltext from the sys.dmexecsql_text DMV as the blocking occurs. There are 2 versions of the application, one targeted at SQL Server 2008, and one at SQL Server 2005. You can download from CodePlex here.