A little over a year ago I linked to Jeff Atwood’s post on Creating Smaller Virtual Machines. Dan Maharry has put together a good guide on slimming down your Virtual PC images, combined from several sources, including Jeff’s.
Month: August 2007
Scott Hanselman’s 2007 Ultimate Developer and Power Users Tool List for Windows
Scott’s yearly developer tool roundup post is always worth reading.
Perth .NET User Group Meeting, 6th Sept 2007: Nick Wienholt
On Thursday, 6th September, come and join us at the Perth .NET user group where Nick Wienholt will be presenting a session on Real-world Code Generation, demonstrating there is more to code generation than simply spitting out a bunch of objects based on a database schema.
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.
I have a few copies of “OpenXML Explained” to give away, and also a few “Visual Studio 2005 Accelerator kits” courtesy of Andrew Coates and Microsoft.
Team Development with Visual Studio Team Foundation Server
I must have missed the fact that the final release of Team Development with Visual Studio Team Foundation Server is available for download from CodePlex.
If you are using or planning to adopt Team Foundation Server, you should read this guide. Although, do not expect to read it in an afternoon, it weighs in at 496 pages!
Process Monitor: RegMon and FileMon Combined!
FileMon and RegMon (originally from SysInternals) have long been essential debugging tools in every developers toolkit. [If you are unfamiliar with these two tools, they monitor and report file and registry reads and writes. They were essential in tracking down incorrectly set permissions or overwritten or missing registry keys]
RegMon and FileMon could produce a huge amount of process trace data and consequently had a learning curve to make them effective.
Until recently they were separate tools. They have been combined into Microsoft’s Process Monitor tool, which integrates the functionality of FileMon and RegMon into a unified debugger, along with numerous significant enhancements. Process Monitor’s user interface and options are similar to those of Filemon and Regmon, but it was rewritten from the ground up. The new tool has improved filtering options that preserve data, and better highlighting. Process Monitor logs processes and threads, collects more information, shows calling thread stacks for every event, and provides numerous ways to view collected data. The full list of enhancements is available on the download page.
Process Monitor (v1.21) is freeware and can be downloaded from http://www.microsoft.com/technet/sysinternals/utilities/processmonitor.mspx
Other useful links are the windows debugging tools (required for the symbols, if you want to examine system calls): http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
Mark Russinovich delivers an excellent TechNet video “Advanced Windows Troubleshooting with Sysinternals Process Monitor” here.
U.N. Site Hacked via SQL Injection Attack
Probably old news by now, but in case you missed it. It is surprising that such a high profile site would fall victim to this sort of attack. Do you check the web sites you develop?
Beautiful Code: Leading Programmers Explain How They Think. Edited by Andy Oram & Greg Wilson. O’REILLY (Book Review)
This is not an easy book, in the sense that it requires that you get into the right frame of mind to fully appreciate some of the subtleties. You might need to find a quiet corner and get into the zone whilst tackling one or two of the more difficult topics. You might even need to read the odd chapter twice before the ‘Aha!’ moment strikes, but it’s certainly worth it. The time spent might well pay for itself several times over if it provides the insight required to solve a problem you encounter.
I believe it is worth buying this book solely for the chapter titled “Distributed Programming with MapReduce” which lucidly describes how large-scale computations can be performed in parallel with the important MapReduce algorithm (which is what Google uses in many applications including google search, across approximately 500,000 machines!). I mentioned the original paper by Jeffrey Dean and Sanjay Ghemawat in a blog post here.
It covers many fields all with the theme of ‘Beautiful Code’. Jon Bentley (the author of Programming Pearls) talks about the ‘most beautiful code he never wrote’! This chapter struck a chord because I often ‘soapbox’ that code should be short as possible but not obtuse. Let’s face it, verbose code is just as hard to understand (if not worse) than terse code.
If you are a programmer purely because it is the way you pay your bills, I don’t think you will find much to help with your day-to-day routine in this book. On the other hand, if you are a programmer who likes to find out how things really work, and gain some insight into the minds of past master craftsman, then you should definitely buy this book.
This book deserves a place on every serious programmers bookshelf since the lessons to be learned will not become obsolete as languages and technologies change. Highly recommended.
There is a web site dedicated to the book here: http://beautifulcode.oreillynet.com/
All royalties from the sale of this book go towards Amnesty International.
You can purchase from here:
http://www.amazon.com/Beautiful-Code-Leading-Programmers-Practice/dp/0596510047
http://www.oreilly.com/catalog/9780596510046/
Disclosure: The Perth .NET User Group is a member of the O’Reilly User Group and Professional Association Program. O’Reilly make copies of their books available for user group libraries, and the copy reviewed here was kindly donated by O’Reilly.
Development Tools and Techniques for Working with Code in Windows SharePoint Services 3.0
There seems to be a fair bit of activity in the Sharepoint space at the moment. Great post over at MSDN on getting started with tools and techniques for working SharePoint Services 3.0:
Summary: Learn the skills you need to develop for Windows SharePoint Services 3.0, about the differences from traditional ASP.NET development, about the required development environment, and the steps to build a Windows SharePoint Services solution with Visual Studio 2005 Extensions for Windows SharePoint Services 3.0.
Number of Microsoft Certified Professionals Worldwide
I stumbled across this interesting page at the Microsoft MCP site (MS passport required, and maybe also an MCP(?)), listing the Number of Microsoft Certified Professionals Worldwide and mentioned to Rob Farley who has much to do with Microsoft certification and training, especially but not limited to all things SQL Server (he’s a trainer at Solid Quality Learning). Check this out; there are only 71 people (as of 27th June 2007) with the MCITP: BI certification. If you have already passed 70-431, you just need to pass two exams (70-445 and 70-446) in order to join this exclusive bunch. I might check out what learning resources are available and post them later. Given the amount of work available in this area, I’d be surprised if it stays at 71 for long…
Parallel Programming Books
Michael Suess posted a list of recommended books on parallel programming here. Interestingly, he mentions there is not yet a definitive book for threading in .NET. I think Joel Pobar had one in the pipeline didn’t he?