AboutSoftware development, .Net, SQL Server, TDD, Agile, Community and other Odds and Sods 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, November 03, 2009Perth .NET UG Meeting: What’s New in C# 4.0 – Joe AlbahariJoin us at the Perth .NET User Group, Thurs November 5th to hear Joe Albahari present on the new C# 4.0 features. C# 4.0 is just around the corner, and it introduces a number of much-requested features including optional parameters, named arguments and (horror) dynamic typing! We're going to demo all of C# 4.0's new features, discuss best practices, show off dynamic Office and Python interop, and explore some novel uses for dynamic typing that may not have crossed your mind. In particular, we'll examine a surprising pattern whereby a little quacking can make large classes much more manageable. VB programmers may attend - but please, no smirking!
Joe Albahari is author of C# 3.0 in a Nutshell and the upcoming C# 4.0 in a Nutshell. There will be a door prize of a LINQPad 10-user team license donated by Joe, and a choice of license from JetBrains (one of ReSharper , TeamCity Build Agent, dotTrace Profiler, RubyMine, or IntelliJ IDEA). More details here. Thursday, October 29, 2009Resuming Microsoft Download ManagerRestarting the Microsoft Transfer ManagerIf you have ever started a large download via the resumable Microsoft Transfer Manager, forgotten about it and shutdown your PC. You will no doubt have found yourself in the same situation I found myself in a few days ago. I started a download from the MSDN subscription site and later shutdown my PC. No problem I thought, I’ll simply resume the download. Except I couldn’t find the Microsoft Transfer manager to restart it! There was no shortcut or entry in the Programs menu. So where is the download manager located! After some hunting around, it turns out it lives at %windir%\Downloaded Program Files\TransferMgr.exe. [Note: If you open that folder in Windows Explorer and find garbled names, open a console window (cmd.exe), change directory (CD) to C:\WINDOWS\Downloaded Program Files\, and run a list the contents (DIR). You should see TransferMgr.exe] TIP: Once you have found and re-run Transfer Manager, there is an option to place a shortcut on the desktop. Click the Options button, and tick the checkbox “Place application shortcut on the desktop”. Wednesday, October 28, 2009Windows Azure Platform Training Kit - October UpdateAligned with the SQL Azure October CTP release, Microsoft have published an updated version of the Windows Azure Platform Training Kit: Windows Azure Platform Training Kit - October Update Among other things, the training kit contains the following SQL Azure related content: Presentations
Demos
Hands On Labs
To try out SQL Azure you first need to obtain a SQL Azure token. Then there are a few differences connecting to the server, specifically using SSMS to connect to your DB in the cloud. Sunday, October 25, 2009Visual Studio 2010 & .NET Framework 4 TrainingMicrosoft have released the October preview of the Visual Studio 2010 & .NET Framework 4 Training Kit. This training content is ready to use with VS2010 Beta 2. You can download from here: Visual Studio 2010 and .NET Framework 4 Training Kit In addition, Channel 9 has recently launched a free online learning centre that will host developer focused training courses created by developers for developers. The online training course allows developers to search for and browse the content without downloading the full training kit. The Visual Studio 2010 and .NET Framework 4 Training Course includes videos and hands-on-labs designed to help you learn how to utilize the Visual Studio 2010 features and a variety of framework technologies including: C# 4.0, Visual Basic 10, F#, Parallel Computing Platform, WCF, WF, WPF, ASP.NET AJAX 4.0, ASP.NET MVC Dynamic Data. Wednesday, October 21, 2009Windows 7: They’re Here!!!Well almost! OK, granted I’m a few hours early, but it’s a bit like waking up early on xmas morning :) Bye bye Vista, Hellooo Windows 7! [Looks as if Microsoft’s OS fortunes are going to be nicely aligned with the economic recovery…] The single Windows 7 license that was part of the Windows launch ‘party’ pack will be one of the prizes for the Perth .NET User Group December’s DevJam community event (since a single license, a party does not make!). Wednesday, October 07, 2009.NET Compact Framework Tips and TricksI came across this useful list of Compact Framework Tips and Tricks posted by Chris Tacke on StackOverflow: .Net Compact Framework Tips, Tricks, and Gotchas Sunday, October 04, 2009MVP Re-awardedA few days ago I was re-awarded with a Microsoft MVP and would once again like to thank everyone for their support and encouragement. A big thank you to Rose Stamell and Nick Ellery at Microsoft. Ten LINQ MythsI was browsing over at Joe Albahari’s personal web site (Joe is the creator of the easy to use and very successful LINQPad, and one of the authors of O’Reilly’s excellent ‘C# in a Nutshell’) and noticed this 10 LINQ Myths: The ten most common misconceptions. As well as being a C# guru, Joe is an active participant and supporter of the Perth .NET User Group. In fact, he will be presenting a session in November on the New features in C# 4.0 (More details will be posted shortly…). Wednesday, September 30, 2009Perth .NET UG Meeting: Friday, Oct 2nd: Introduction to the SQL Server 2008 Data Collector - Brad McGeheeWe are fortunate to have Brad McGehee present two sessions while he is in Perth. The second session is "Introduction to the SQL Server 2008 Data Collector". In previous versions of SQL Server, performance tuning was often difficult because the available tools weren't always easy to use or interpret. In SQL Server 2008, Microsoft is introducing the Performance Data Collector. This comprehensive new toolset has been designed to integrate the collection, analysis, troubleshooting, and persistence of SQL Server diagnostic information, making the jobs of DBAs much easier.
Brad McGehee is a MCSE+I, MCSD, and MCT (former) with a Bachelors’ degree in Economics and a Masters in Business Administration. Currently the Director of DBA Education for Red Gate Software, Brad is an accomplished Microsoft SQL Server MVP with over 14 years’ SQL Server experience, over 6 years’ training experience, and has been involved in the industry since 1982. He is a frequent speaker at SQL PASS, European PASS, SQL Connections, SQLTeach, SQLBits, SQL Saturdays, TechFests, Code Camps, SQL Server user groups, and other industry seminars. RedGate have generously donated a license to their excellent SQL Compare Pro. More details here. Perth .NET UG Meeting: How to Interpret Graphical Execution Plans - Brad McGehee
Join us at the Perth .NET User Group in October for two talks with a SQL Server focus, aimed at both Developers and DBAs. We are fortunate to have RedGate's Brad McGehee present two sessions while he is in Perth. Brad is a frequent speaker at conferences around the world. The first talk is Thurs October 1st, where Brad will present on "How to Interpret Graphical Execution Plans". One of the SQL Server black arts is how to read and interpret graphical Query Execution Plans. This is a key thing to understand as Execution Plans provide valuable clues as to why a particular query may be running slowly. In this session, you will learn how to read an Execution Plan, and learn what to do with the information you have gained from reading it.
Brad McGehee is a MCSE+I, MCSD, and MCT (former) with a Bachelors’ degree in Economics and a Masters in Business Administration. Currently the Director of DBA Education for Red Gate Software, Brad is an accomplished Microsoft SQL Server MVP with over 14 years’ SQL Server experience, over 6 years’ training experience, and has been involved in the industry since 1982. He is a frequent speaker at SQL PASS, European PASS, SQL Connections, SQLTeach, SQLBits, SQL Saturdays, TechFests, Code Camps, SQL Server user groups, and other industry seminars. We will have pizza at this session courtesy of INETA. RedGate have generously donated a license to their excellent ANTS Memory Profiler Pro. There is also a door prize of a choice of license from JetBrains (one of ReSharper , TeamCity Build Agent, dotTrace Profiler, RubyMine, IntelliJ IDEA). Try to arrive early if you want a seat! More details here. Saturday, September 26, 2009Microsoft WebSiteSpark in AustraliaMicrosoft has launched a new initiative, WebSiteSpark, aimed specifically at independent web developers and small web development companies. The only two requirements to join the program are:
The Australian launch of WebSiteSpark will be on the 8th of October. What do you get? Software licenses that you can use for three years AT NO COST. Once enrolled, you can download and immediately use the following software from Microsoft:
The Windows Server and SQL Server licenses can be used for both development and production deployment. You can either self-host the servers on your own, or use the licenses with a hoster. For more info see Scott Guthrie’s post: Announcing the WebsiteSpark Program Saturday, September 19, 2009Performance Tuning Guidelines for Windows Server 2008 R2Even though you no longer have to worry about disk partition alignment for SQL Server on Windows Server 2008 (you did on Windows Server 2003 and Earlier; see Disk Partition Alignment Best Practices for SQL Server), there are still important tuning parameters and settings that can result in improved performance for the Windows Server 2008 R2 operating system. You can download the document from here: Performance Tuning Guidelines for Windows Server 2008 R2. Tuesday, September 01, 2009Feynman: A Magician at WorkIt is often said that Richard Feynman was truly a magician. The Tuva project (apparently Bill Gates is its sponsor) at Microsoft Research is showing Richard Feynman’s ‘Messenger Series’ lectures. Although the format is slightly dated (check out the non-wireless microphone!), it does nothing to hide Richard Feynman’s infectious enthusiasm for science and its exposition. As Bill notes in his introduction, his motivation for making these publicly available is "...everybody ought to see these, as they make science interesting...". If this has whet your appetite, check out The Feynman Lectures on Physics including Feynman's Tips on Physics: The Definitive and Extended Edition Sunday, August 30, 2009Perth .NET User Group Meeting: Continuous Integration: Improving Quality and Reducing CostJoin us at the Perth .NET User Group, Thurs September 3rd to hear Colin Scott talk about Continuous Integration and why you should be doing it. Merging the work of multiple developers and producing reliable, deployable systems is a time consuming and tedious process that wastes developer effort that could be better spent on creating software. Continuous Integration (CI) allows us to automate these tasks and include automated testing and code analysis. This results in higher quality outputs at a lower cost. This presentation shows how to set up simple CI for .NET projects using readily available tools.
More details here. Architecture GuidanceIf you have not seen it already, J.D. Meier (of the Patterns & Practices group at Microsoft) has created the Architecture Guidance Share wiki, a catalogue of software engineering principles, patterns and practices:
See also the Patterns & Practices: Application Architecture Guide 2.0 which includes the downloadable .pdf document: Application Architecture Guide 2.0 Thursday, August 27, 2009AlgorithmsA programmer’s knowledge of algorithms can be (very) roughly divided into 3 categories:
Now, I’m obviously not advocating that all programmers should be algorithm guru’s, but if you want to broaden your knowledge, here are a few places to start: One of the classic Introduction to Algorithms books is Sedgewick’s Algorithms This used to be a single book (the format I read it in), but is now split into two volumes. It comes in various (computer) language versions, including C++: Fundamentals (parts 1-4) and Graphs (part 5). It is accessible, and covers most of the common algorithms you are likely to encounter (or need). Another classic introductory book on the subject is Introduction to Algorithms by Cormen, Leiserson, Rivest and Stein (sometimes referred to as CLRS). For an excellent free resource, check out the Introduction to Algorithms course on MIT OpenCourseWare (which uses CLRS as the course text; one of the authors, Prof. Leiserson, taught the course at MIT): MIT 6.046J / 18.410J Introduction to Algorithms The course materials also contain video lectures. Here’s an example of why having at least some broader knowledge of algorithms and their application is useful: The skip list is a little known data structure (possibly because it is a relatively recent invention), and yet it is extremely useful and much easier to implement from scratch than many of the other balanced data structures: This is described in lecture 12. Two books that are lighter and less formal are Algorithms in a Nutshell and the Algorithm Design Manual (Second Edition). Instead of formal mathematical proofs these books take a more practical approach, with real world problems and their solutions. They also show you how to estimate and measure the complexity of a solution. Both books are good, practical reference guides for programmers (I’m just about to add the Algorithm Design Manual to the Perth .NET User Group library…). Highly Recommended. If you want something more advanced, then try these MIT OCW courses: 6.854J / 18.415J Advanced Algorithms, and the more mathematically advanced: 18.409 Topics in Theoretical Computer Science: An Algorithmist's Toolkit. For learning how to analyse algorithms (and let’s be honest, it will be a rare event that you actually have to!), another of Sedgewick’s books, An Introduction to the Analysis of Algorithms, is a good place to start. A more advanced text is Concrete Mathematics: A Foundation for Computer Science and of course Knuth Volumes 1 - 3 (and the remaining volumes, which Knuth is releasing as ‘fascicles’…) which are not for the faint hearted and require considerable mathematical knowledge as a pre-requisite. Sunday, August 23, 2009Parsing Log FilesIf you need to parse log files, before you decide to write your own parser, try using the free Log Parser from Microsoft:
This post shows a nice example of SMTP Log Parsing, with the process automated via PowerShell. The TechNet script centre contains several Examples of using LogParser. |
ContactMSN, Email: mitch døt wheat at gmail.com LinksFavorites
Blogs |