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
Saturday, September 29, 2007
How to Self-Study for a Computer Programming Job: Steve McConnell
I've been thinking and posting about education the last few weeks and came across a good post, How to Self-Study for a Computer Programming Job, by non-other than Steve McConnell, with some interesting commentary.
Springer Free Library of Computer Science Knowledge
"The Springer Computer Science Reading Room offers you free access to books and journals in your area of interest. " You just have to register (took me 3o seconds)!
Monday, September 24, 2007
Nothing new! Just a few winforms FAQs:
George Shepherd's Windows Forms FAQ
Windows Forms FAQs
Windows Forms Forums at MSDN
Sunday, September 23, 2007
MIT Open Courseware: Advancing Education for Free
I recently posted a short list of links to mathematics resources that I'd come across. I was speaking to a colleague and he mentioned the MIT OpenCourseWare initiative, which I had not heard of:
"OCW shares free lecture notes, exams, and other resources from more than
This collection of lecture notes and examples is nothing short of amazing. It covers a whole range of university level courses, including mathematics.
Thanks to Leigh Mitsopoulos for making me aware of this resource.
Friday, September 21, 2007
Perth .NET User Group Meeting, October 4th: Visual Studio 2008
Join us at the Perth .NET Users Group October 4th to hear Nick Randolph present on the upcoming version of Visual Studio 2008. In this session, Nick will cover some of the language changes, including Linq, extension methods, anonymous types and xml integration, as well as some of the rapid application development features. Nick is a Microsoft MVP, and currently the lead developer for Intilecta Corporation, an ISV innovating in the area of behavioral intelligence and data visualisation. More details here: Visual Studio 2008: Languages, Features and Frameworks with Nick Randolph
TOPIC: Visual Studio 2008 with Nick Randolph
DATE: 4th October, 5:30pm
VENUE: Excom, Level 2, 23 Barrack Street, Perth
COST: Free. All Welcome.
There will be a couple of (as yet unspecified) give aways! If you want to get a seat, try to arrive early. Also, don't forget we have a weekly informal coffee meeting at "Tiger Tiger", Tuesdays at 1:30pm in the city.
Wednesday, September 19, 2007
Mathematics Books/Material Online (much of it free!)
Here are a few mathematics resources that I have found useful.
Introduction to Complex Analysis: WWL Chen
This is very clearly written and better than most books I have read. The explanations and examples really stand out.
Complex analysis and Functional Analysis: Douglas N. Arnold.
2 excellent documents. The first is probably a little more accessible than the second which requires a substantial mathematics background.
A First Course in Complex Analysis: Beck, Marchesi and Pixton
First Course in Linear Algebra
Cauchy-Schwarz Master Class: by J. Michael Steele
Whilst this book is not free, several sample chapters are downloadable (http://www-stat.wharton.upenn.edu/~steele/Publications/Books/CSMC/CSMC_index.html ). A truly remarkable book whose clarity and insight is a rarity amongst such books, which often gloss over details and leave the reader baffled. Although a specialised work, I have come across very few mathematics books that can equal it as an educational tool. If you are about to embark on a postgraduate Mathematics (or indeed undergraduate) course of study make sure you read this book.
List of Free Mathematics Books: a great resource!
This should be your first port of call if you are looking for free online material.
There is another list of free online Textbooks here: http://linear.ups.edu/opentexts.html
Introduction to Tensor Calculus and Continuum Mechanics
by John H. Heinbockel
Concrete Mathemathics, 2nd Edition. (aimed at CS postgraduate students)
Not a free book, but if you are about to pursue Computer Science postgraduate studies in algorithmics, complexity analysis or a related subject, then this work is required reading.
If you know of any other high quality work, free or otherwise, please let me know.
Tuesday, September 18, 2007
New Version of NDepend
Patrick Smacchia at NDepend let me know that new trial and PRO versions of NDepend (2.4) , the code metric and dependency tool, are now available. They have been working hard on simplying the interface and making it more intuitive. One of the things I love about NDepend is that it has its own TSQL-like query language built in! There are a few new tutorials posted as well.
Friday, September 14, 2007
O'Reilly Books: Recent Sample Chapters
If you want to get the flavour of an O'Reilly book before you buy it, there is a list of their most recent sample chapters here (most recently available chapters are at the top of the list). You can find additional sample chapters by browsing O'Reilly's Book List.
O'Reilly also has an open book project that is worth checking out.
Tuesday, September 11, 2007
List of Free Utilities
Having decided that I couldn't put up with Adobe Acrobat gremlins and infuriating prompts to download the next version any longer, I remembered FoxIt, a lightweight PDF reader. Not sure how I arrived there, but I found it listed at this wiki site that also lists a plethora of free software and utilities.
Silverlight Training Videos
Nothing new, just wanted to remind myself that they can be found here!
Monday, September 10, 2007
Read All About IT!
You have probably seen the "What am I doing to be a better programmer in the next 6 months" developer meme that has been doing the rounds. Along with the advice "Read more technical books", one of the common themes is that you should read others people's code, and lots of it!
Reading code is a great way to improve your code writing skills. This is something that I believe in, and I have to admit I’m guilty of not reading enough of other developers’ code. Find an open-source project or a developer whose work you respect, and read the code. Look for idioms and patterns, learn from their experience. I believe undergraduate computing courses should offer a course which consists of dissecting and understanding code written by prominent coders.
Scott Hanselman has a great post on the topic here, where he mentions the Coding4Fun developer kit, a great resource for learning from other people’s code.
Jeff Atwood’s post How To Become a Better Programmer by Not Programming is worth a read, if you have not seen it already.
I recently reviewed the book "Beautiful Code" from O'Reilly, a collection of articles, essays and papers from many talented programmers. It provides insights and techniques that would be hard to arrive at if you had to reinvent them yourself. There is also a dedicated web site here: http://beautifulcode.oreillynet.com/.
For a glimpse into the mind of one of Computer Science’s well known contributors, check out the “Edsger W. Dijkstra” archive (mentioned at the Beautiful Code site): http://www.cs.utexas.edu/users/EWD/
How to Write a Book
Came across this post by Scott Berkun several weeks ago, and it slipped off my on-post list!:
How to write a book - the short honest truth
Managed Debugging Assistants
I came across this MSDN article (May 2006) by Stephen Tolub on Managed Debugging Assistants (MDAs), a CLR feature I was unaware of. Useful article, especially if you are doing any P/Invoke work. MDAs "...provide information on the CLR"s current runtime state and on events that you as a developer could not otherwise access. Some even modify runtime behaviors to help expose otherwise very hard to find bugs."
There is a listing of all Stephen Tolub's MSDN articles here.
Friday, September 07, 2007
Excellent Meeting, Great Turnout
And I’m not talking about Sydney APEC conference! Last night’s Perth .NET user group presentation with speaker Nick Wienholt was excellent, and we had another great turnout (I counted 47 people). Here are a few photos of the meeting:
(Apologies about the quality of the photos, they aren’t the best; I have no excuses!)
After the meeting we went for a meal at ‘Arirang’, a nearby Korean BBQ restaurant. Good thing I took a couple of photos before the BBQ got fired up, as it got a bit smokey later on (as Dave will confirm!):
Thanks to Nick Wienholt for taking time out to give a well received, very informative and useful session, and thanks to everyone for attending. Hope to see you all in a month’s time. Speaking of which, we have another guest speaker signed up who is flying in from Sydney. I’m sure most people will know him. A clue to his identity might be the topic: An introduction to Visual Studio 2008.
Thanks to Excom for providing our monthly meeting venue.
Sunday, September 02, 2007
Applied Mathematics for Database Professionals. Lex de Haan and Toon Koppelaars. Apress (Book Review)
Writing a book is no easy task. Completing a book when your co-author and friend passes away early in the process, must be a monumental task, this is what Toon Koppelaars achieved with this work.
I ordered this book expecting it to contain examples of using statistics, probability and data mining algorithms as applied to databases. In retrospect, I am not sure why I made that assumption. It is actually about formally specifying database designs using logic and set theory. This book is reviewed and endorsed by C. J. Date and features a foreword by him, which would be high praise for any book on the subject of databases.
It is split into 3 parts and 12 chapters as follows:
If you’ve studied mathematics (or a tertiary subject with a mathematics element to it) you will most probably be familiar with the sections on set theory and logic. If you have not then they provide an as excellent introduction to these topics that you are likely to find anywhere.
This book makes the following claims and I have made comments against each one:
“This book will help you”:
I would be the first to agree that a good, basic mathematics grounding is desirable if you want to confidently design databases that scale well and are modelled correctly.
The mathematics that you learn in this book will certainly put you above the level of understanding of most database professionals. But I am not convinced that alone will enable you to better understand the technology and be able to apply it more effectively. It will help you to avoid data anomalies like redundancy and inconsistency, which are not uncommon problems in the world of databases!
On the whole, I enjoyed reading this book, but I’m not sure if I learnt anything I could immediately put to use when designing and refactoring databases. I did not put a great deal of effort into learning and understanding the formal database specification language described in this book purely because I could not see an immediate benefit when balanced against the effort required to learn a new notation, and I may well have overlooked something crucial that would indeed enable me to create better database designs.
Disclosure: The Perth .NET User Group is a member of the Apress User Group Program. Apress make copies of their books available for user group libraries, and the copy reviewed here was kindly donated by them.
MSN, Email: mitch døt wheat at gmail.com