AboutSQL Server, Analytics, .Net, Machine Learning, R, Python Archives
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 |
Tuesday, July 31, 2007Perth .NET User Group Meeting, 2nd August 2007: Graeme Foster
On Thursday, 2nd August, come and join us at the Perth .NET user group where Graeme Foster will be demonstrating how to use Microsoft’s Composite Application Block (CAB), the Model-View-Presenter (MVP) pattern and unit testing and mocking, with a code example of building a view and presenter using Test-Driven Development (TDD). More details here.
This meeting will take place at 5:30 pm at our usual venue of Excom Education, Level 2, 23 Barrack St, Perth. This is a free event and everyone is welcome to attend. Monday, July 30, 2007Ship It!: A Practical Guide to Successful Software Projects, Jared Richardson, William Gwaltney Jr. Pragmatic Bookshelf. (Book Review)If you are familiar with the “The Pragmatic Programmer”(written by Andy Hunt and Dave Thomas) then you will probably recognise the Pragmatic Bookshelf series of books, set up by Hunt and Thomas, in which Ship It! is included. This series of books sets itself apart by emphasising the practical aspects of delivering software, and also doing it well. The book is split into the following chapters:
From the very first chapter, the authors make it clear ‘Ship It!’ is not another methodology, “There is no single, right way to develop software. There are a lot of wrong ways…”. Instead, they have gathered together the ‘best’ bits’ of various styles and methodologies they have been directly involved with, and combined them into a practical approach with the focus on delivering a project. The authors do not expect you to necessarily implement everything they suggest all at once. Adopt one or two at time and determine if they work in your environment. This practical stance is reinforced throughout the book. A selection of the topics examined can be broadly listed as follows:
It is easy to read and feels fresh. As another reviewer pointed out, “It's a rare book that speaks convincingly to both developers and managers, but this one does a good job”. There is a definite emphasis on the positive; it is about how to make projects succeed rather than a post-mortem of why they fail. The chapter “Common Problems and How to Fix Them” is a gem, with practical advice for developers, managers and customers. Saturday, July 28, 2007Recommended Computing Books: Updated
For some time now, I have been meaning to update my list of recommended computing books to include “The Pragmatic Programmer: from journeyman to master” by Andrew Hunt and Dave Thomas. This book was first published in 2000 and I’m frequently surprised that many developers have not read or even heard of it. It could quite easily be sub-titled “The manual of practical software construction”. It has received glowing reviews from Martin Fowler, Kent Beck, Ward Cunningham, John Lakos, all of whom know a thing or two about writing software.
If you are a developer, this book is required reading along with Code Complete and Rapid Development by Steve McConnell. If you are a manager, go and buy a copy of this book for every one of your developers. You won’t regret it! I believe this section heading quotation from the book, captures its essence: An investment in knowledge always pays the best interest. - Benjamin Franklin Friday, July 27, 2007When Push Comes to Shove
Am I missing something, or do the push pins in Microsoft's Virtual Earth look like they were created by a programmer rather than a designer?
Sunday, July 22, 2007The Hanselhive Has Been Assimilated!
I guess it was inevitable: Scott Hanselman's company Corillian got taken over a little while ago, and Scott has done something many people have speculated would happen: he has joined Microsoft! (apparently, it's not the first time Scott Guthrie or Chris Sells has mentioned to Scott that he should be working for Microsoft).
The only question I have is: where will they find office space for all those Hanselman clones??? The Principles of Beautiful Web Design, Jason Beaird, Sitepoint. (Book Review)This book bills itself as “A simple, easy-to-follow guide…this book leads you through the process of creating great designs from start to finish.” and it is exactly that. The author sets out with the premise that “Good design Principles are not rocket science!” and does an excellent job of proving it. His “Don’t just tell, show!” style makes this book accessible to everyone.
The preface starts out by stating: “Good design is about the relationship between the elements involved, and creating a balance between them.” The design principles espoused in this book are very much in line with how I personally view design: “The most important thing to keep in mind is that design is about communication…”. It is fundamentally important to strike a balance between design and usability. It’s all about balance. Purchase here: StringBuilder.AppendFormat() versus String.Format()If you are familiar with .NET then you will probably already know that for efficiency, you should use a StringBuilder rather than concatenating strings in a loop. I recently wrote some code that looked similar to this: StringBuilder sb = new StringBuilder(); ... sb.Append(String.Format("{0} {1}", areaCode, phoneNumber)); where this code was called many times in a loop (not instantiation of the StringBuilder, obviously). It turns out there is a better way of doing it, using one of the StringBuilder class’s methods: sb.AppendFormat("{0} {1}", areaCode, phoneNumber); As Dustin Campbell mentions here, the reason this has slightly better performance is because internally, String.Format() actually creates a StringBuilder and calls StringBuilder.AppendFormat() Sunday, July 15, 2007Identify Galaxies...
Want to have a bit of fun and do something useful? Why not put those spare 'wetware' cycles to good use and identify a few galaxies! Check out the GalaxyZoo project.
Interview Tips
Chris Sells has posted some great tips on things you should do at an interview at Microsoft (Unpublished Microsoft Interviewing Tips). Even though he has presented these tips in terms of Microsoft, I think most are applicable just about anywhere.
Thursday, July 12, 2007Book Review: C# Cookbook (2nd Edition), Jay Hilyard and Stephen Teilhet, O’REILLYThe C# Cookbook, Second Edition has been updated and revised for C# 2.0 and version 2.0 of the .NET framework, and despite the fact that version 3.5 of the .NET framework is imminent, it remains a must have book to have on hand. It is essentially a collection of examples showing how to solve specific programming problems (some of which you might not have even realised you have, such as boxing/unboxing and efficient string handling, to name just a few…) The C# Cookbook has over 1100 pages and is arranged into 20 chapters, each of which focuses on a particular area in C#. Despite its size it is not daunting to read. Here are the topics covered:
This book is in O’Reilly’s ‘cookbook’ series Problem-Solution-Discussion format, and like other books in the series can either be read from cover to cover, or be used as a reference to shed light on a particular problem. Each ‘recipe’ starts with a description of the problem, followed by a complete, documented code sample showing you how to solve it, along with a detailed discussion of how and why it works, and any drawbacks. This format can also serve as an excellent way of mastering aspects of C#. Tuesday, July 10, 2007SQL Server 2005 Script Repository
Rob Sidlow posted a link to the TechNet SQL Server 2005 Script Repository on the Ausdotnet list. This is so I don't forget where this great resource is!
Age of User Experience: Come on in the waters fine…
A colleague sent me a MS office Groove invitation yesterday evening, so leaving my usual luddite stance behind, I followed the link over to the Microsoft Office 2007 downloads page and was duly asked to sign in via passport. Sounds good thinks I. So I login and get confronted by a completely blank “please enter your details” page. Nothing. It didn’t even have my name filled in. OK, so I’m a bit miffed about that. I start filling in my details and get to the country combo. It says Austria. Close but not quite thinks I! So I drop down the list with the intention of picking Australia:
OK! So where is Australia? I know it should be there, because I’m standing on it. So much for the age of experience. Sheesh! PS. I hope it hasn’t been removed because Frank Arrigo is heading back to the US !!! ;) Monday, July 09, 2007Certain Certification
Rob Farley raised some very interesting points on the subject of making MS certifications more valuable, namely adaptive exams, a much larger question pool, and the possibility of community involvement in helping to write the questions. I think all three are a great ideas.
A really large pool of questions would obviously make it harder for people to simply rote learn the answers. Of course, creating and vetting questions is time-consuming and expensive. One way of creating a bigger pool is, as Rob mentions, to get the .NET developer community involved. I started wondering how much profit Microsoft makes from the whole certification thing; the exams, books, courses etc? I guess it must be in their interest to spend money on making the certifications as valid as possible. So come on Microsoft, if you think certifications are a good idea, let’s see some money spent on something innovative! It’s a hard problem, but other certification bodies seem to have solved some of the problems (I’m thinking Cisco…), and if anyone has the resources, Microsoft does Perth .NET User Group Library
One of the ways we are making the Perth .NET user group a resource for the .NET community in Perth is restocking the existing Perth .NET Community of Practice library with the latest books, and making them easily accessible.
Nick has already set up a borrowing system through HireThings. There are details here on using HireThings to borrow books The books will be easily accessible from their new location in the centre of the city. When we receive new books we will post an entry to the Perth user group site (http://www.perthdotnet.org/). These will mainly be .NET development books but there will also some design and process books as well. The user group is currently a member of the O’Reilly user group program and we are in the process of joining the Addison-Wesley program, which is reopening in August. If there are any books you are particularly interested in reading, let myself, Alistair or Nick know and we will endeavor to get them through one of the publisher user group programs (ISBN please where possible). Also, if anyone in Perth is interested in reviewing any of the new books we have available just drop me a line. Writing a review is obviously a great way to investigate what a book has to offer and let others know its usefulness, but also helps you explore a technology that you might not have looked at otherwise. Problems with Blogger?
I've noticed that in the last 24 hours or so, if I try to create a new post with Blogger, I'm unable to give the Title textbox the focus by clicking in it. Just discovered that clicking the "Title:" label will give it the focus. Anyone else having this problem?
Friday, July 06, 2007Judging a Book by its Cover!
A colleague reminded me of this excellent recounting of an episode in the life of one of my heroes, Richard P. Feynman. It originally appeared in "Surely You're Joking, Mr. Feynman!", a worthwhile read which is back in print.
SQL Server 2005 Best Practices Analyzer (July 2007)Monday, July 02, 2007Perth .NET User Group Meeting, 5th July 2007: Shane Morris
On Thursday, 5th July, Shane Morris will be talking to the Perth .NET user group on the topic of User Experience and Interaction Design. More details here.
This meeting will take place at 5:30 pm at our usual venue of Excom Education, Level 2, 23 Barrack St, Perth. This is a free event and everyone is welcome to attend. One lucky attendee will be walking away with a brand new, Microsoft backpack! |
ContactMSN, Email: mitch døt wheat at gmail.com LinksFavorites
Blogs |