Software development, .Net, SQL Server, TDD, Agile, Community and other Odds and Sods
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
Tuesday, March 31, 2009
Reminder: Perth .NET User Group Meeting, Thurs April 2nd: WPF Flexible UI Composition
Join us at the Perth .NET Community of Practice, Thurs April 2nd to hear James Miles present on how Inversion of Control (IoC) and separated presentation principles can be used to build rich WPF applications, while keeping memory consumption low and minimising object lifetimes. James will demonstrate how the careful introduction of an IoC Container can increase the flexibility of your UI architecture, facilitating agile software development.
TOPIC: WPF Flexible UI Composition with James Miles
DATE: Thursday, April 2nd, 5:30pm
VENUE: Excom, Ground Floor, 23 Barrack Street, Perth
COST: Free. All welcome
More details here: http://perthdotnet.org/blogs/events/archive/2009/03/19/flexible-ui-composition-with-wpf-updated.aspx
Monday, March 30, 2009
SQL Server 2008 Heroes Contest Winners
Not sure if it was a lack of fanfare or whether I simply missed it, but the winners of the SQL Server 2008 Heroes contest were announced several months ago! (The official announcement is here: http://blogs.msdn.com/sqlheroes/)
Thursday, March 26, 2009
Marshaling between Managed and Unmanaged Code: PInvoke Interop Assistant
I recently saw this useful tool mentioned on StackOverflow by JaredPar (it seems I need to catch up on the MSDN magazines that are starting to pile up!): the PInvoke Interop Assistant hosted on CodePlex and first described in this MSDN article, Marshaling between Managed and Unmanaged Code:
.NET Framework interop opens a channel between managed and unmanaged code, and marshaling plays a very important role in that connection in that it allows for data exchange between the two. There are many factors that affect the way the CLR marshals data between the unmanaged and managed worlds, including attributes such as [MarshalAs], [StructLayout], [InAttribute], and [OutAttribute] as well as language keywords such as out and ref in C#.
Wednesday, March 25, 2009
IE8 does not support the Windows Vista product registration process
If you have just built a new PC with Vista 64 bit and are planning on installing IE8 (64 bit, but possibly 32 but as well) and you haven't yet registered your copy of Vista. STOP!
Register it first using IE7, because if you try using IE8 you will get a friendly message informing you that:
"The browser version you're currently running does not support the Windows Vista product registration process."It then helpfully suggests you install IE7. Can I find IE7 for Vista 64 bit on the MS site. Nope!
Tuesday, March 24, 2009
TIP: Upgrading a Microsoft Access database to SQL Server 2008
If you are planning to upgrade a Microsoft Access database to SQL Server 2008, use the SQL Server Migration Assistant (SSMA) rather than the upsizing wizard built into MS Access. SSMA will also migrate Oracle and Sybase databases.
Sunday, March 22, 2009
Perth .NET User Group: A Great Start to the Year
I’ve been remiss by not blogging about the 2 user group meetings we have had so far this year.
We don’t run a meeting in January due to the holidays, so February’s well attended meeting was the first and good start to the year. Ola Karlsson stepped up to the task of presenting on Silverlight and what it’s good for. He blogged about it here (with links from the presentation). And special thanks to Ola for giving both halves of what was originally planned to be a 2 speaker event.
If you wanted an indication of the level of interest in testing and Test Driven Development (and Design) (TDD), then you needed to look no further than our March meeting when Rhys Campbell presented on Real World TDD. We had the highest attendance of any meeting in the group’s history; it was standing room only! (I lost count at 62 people). He posted a follow-up here.
Thanks to both presenters.
Our next presentation will be James Miles on Flexible UI Composition with WPF. Don’t miss it!
Friday, March 20, 2009
IE8 Goes Live
On Thursday, Microsoft released Internet Explorer 8. The release is publicly available here.
The new IE 8 runs on Windows Vista and Windows XP operating systems, as well as Windows Server editions from 2003 and beyond. Windows 7 Beta testers should use the version of IE 8 that came with the beta, as Microsoft customized that browser to work specifically with Windows 7 features.
Sunday, March 15, 2009
If you ever find yourself in need of a data structure that is not present in the .NET Framework you should check out these free collections that contain C# implementations of trees, heaps and many other data structures:
Thursday, March 12, 2009
Querying the SQL Server System Catalog FAQ
I came across this useful SQL Server Books Online entry, Querying the SQL Server System Catalog FAQ, that I wanted to bookmark.
It contains a list of frequently asked questions such as How do I find the dependencies on a specified function? or How do I find all the tables that do not have a primary key?.
Tuesday, March 10, 2009
Performance Analysis of Logs (PAL) Tool
OK, you have a server with a suspected performance problem. What do you do? You collect performance counters, right? But which ones? And what do you do to make sense of the reams of data once collected?
The free PAL (Performance Analysis of Logs) application hosted on Codeplex is an easy to use tool that collects and reads in a performance counter log and analyzes it using known thresholds (provided). The tool generates an HTML based report which graphically charts important performance counters and highlights alerts when thresholds are exceeded. The thresholds were originally defined by the Microsoft product teams and members of Microsoft support, but continue to be expanded by this ongoing project. It currently contains threshold files for IIS, MOSS, SQL Server, BizTalk, Exchange, and Active Directory.
This tool is not a replacement for traditional performance analysis, but it automates the analysis of performance counter logs enough to save you time and narrow your search. Written and maintained by Clint Huffman, the PAL tool has been around for some time but it’s not as well known as it should be, given how useful and easy it is to use.
If you want to have a look at a sample report, download and install PAL and then click this link.
The optional GUI portion of PAL requires the Microsoft .NET Framework v2.0. PAL uses the Log Parser tool to query performance counter logs, and requires the Office Web Components 2003 in order to create charts. Both are freely downloadable.
[This MSDN page gives a detailed description of all the performance counters used when monitoring BizTalk.]
Free eBook: Data Structures and Algorithms: Annotated Reference with Examples
I mentioned the first draft of this free ebook by fellow MVP Granville Barnett and Luca Del Tongo back in August. Well it's now in its second edition. It is part of an effort to provide all developers with a core understanding of algorithms that operate on various common, and uncommon data structures.
Sunday, March 08, 2009
SQL Server 2008 Express Edition
Did you know that the free SQL Server 2008 Express with Advanced Services can run SQL Server Reporting Services reports on data on the local instance? You can use all the report definition features that you find in other editions of Reporting Services. For example, you can create drill-through reports, sub-reports, and parameterized reports that include charts, tables, matrices, and lists.
There are a few differences when compared to the full version of Reporting Services:
The official SQL Server Express installation guide is here. The pre-requisite list is here: Hardware and Software Requirements for Installing SQL Server 2008
For ongoing SQL Express announcements, check out the SQL Express blog.
If you only have the vanilla version of SQL Express installed, there is also an express version of SQL Server Management Studio available for download.
Friday, March 06, 2009
10 Papers Every Programmer Should Read
Michael Feathers (Working Effectively with Legacy Code) has posted an interesting read, 10 Papers Every Programmer Should Read (At Least Twice) over at ObjectMentor. He gives a brief synopsis of each and why he thinks programmers should read them. I've read 4 of them previously and those were thought provoking. There are some interesting links in the comments as well.
Tuesday, March 03, 2009
Reminder: Perth UG Meeting Thurs March 5th, 5:30pm – 7pm: Real World TDD with Rhys Campbell
TOPIC: Real World TDD with Rhys Campbell
DATE: Thursday, March 5th, 5:30pm
VENUE: Excom, Ground Floor, 23 Barrack Street, Perth
COST: Free. All welcome
Join us at the Perth .NET Community of Practice, to hear Rhys Campbell present on the essentials of TDD and how it encourages good software design as opposed to just having tests. Rhys will cover the differences between unit, acceptance and integration tests, why conventional unit test examples often do not work in the real world, what to test and what to mock, automating your tests, coding examples of how to use Mocks, Stubs, Fakes, Dummies and Spies... what are they and how do they help me.
Tech SummerFest Roadshow
The Tech SummerFest roadshow is coming to Perth, the week of 20th April.
What is it?
It’s a mini-TechEd type event, jointly sponsored by Portal Synergy, Wardy IT Solutions, AB Training and Microsoft. It includes a Technology Showcase and three concurrent tracks of training in current and upcoming Microsoft technologies. Here is the week’s schedule. This event is being run by Anthony Borton, Peter Ward, Richard Angus, Dave Glover and Andrew Coates.
I have a free ticket to the Technology Showcase day (Monday, 20th April) to giveaway at Thursday’s User Group meeting, courtesy of the organizers.
Online Book Orders
I just received a reply to a query I sent to the (Australian) Angus & Robertson online bookstore. Part of the (very quick) response that was unrelated to my query was quite surprising:
"Angus & Robertson is currently in the process of developing a completely newThat seems really crazy to me. If losing 5+ weeks worth of online sales was not enough, what happens if their new web site project overruns? They lose more sales! I can only assume they don't currently sell many books online...
Sunday, March 01, 2009
Stored Procedure Best Practice Checklist
Some excellent advice in this article, My stored procedure "best practices" checklist, posted by Aaron Bertrand.
"When developing stored procedures, there seems to be a lot of emphasis on "get it done fast." Which means type all lower case, pay little attention to formatting, and sometimes throw best practices out the window."
MSN, Email: mitch døt wheat at gmail.com