 |
Microsoft MVP Profile
Craig Murphy
Language(s):
Certification(s): BSc (Computing), Certified ScrumMaster Region: EMEA
Craig is an author, blogger, community evangelist, developer, speaker, project manager (Certified ScrumMaster) and Microsoft MVP. He specialises in all things XML, particularly SOAP/Web Services and XSLT. Craig is also evangelical about C#, Test-Driven Development and Extreme Programming. He can be reached via his web site: http://www.craigmurphy.com
Additional Competencies:
Visual C#, Windows Live Platform, Data Platform Development
|
Community Solution Articles
Speaking Engagements
Publications
| • | Using XML And XSLT In Delphi The Delphi Magazine, 02/01/2001As most website builders will know, creating a website that looks good in the plethora of browsers now available is not an easy task. Frequently we find ourselves maintaining two (or more) versions of our sites: one for Internet Explorer, the other for Netscape. With the advent of micro-browsers in PDAs and the sheer profusion of mobile telephones, it seems that managing a website is doomed to become even more complex. Thankfully, combining XML and XSLT offers light at the end of the tunnel. XML allows us to streamline our website content, while XSLT makes the presentation of the content more manageable. |
| • | Automated Unit Testing and Code Coverage 03/05/2006How well have your tests exercised your code?
Over the course of this posting I plan to demonstrate a number of tools and topics the encompass “testing”. I’ll be looking at code coverage – how much of our code is “exercised” or used. I’ll be looking at tools that can help us with code coverage. I’ll focus on using NUnit for testing and will demonstrate how we can tie it into the code coverage activity. Finally, I’ll be looking how we can integrate all of this good stuff into the Visual Studio IDE…using TestDriven.NET. |
| • | Are you WMI or not? (part 1) The Developers' Group, 05/01/2003Developers thrive on avoiding mundane repetitive tasks – they thrive on writing some code to help perform the tasks.
Over the course of two articles, I will be demonstrating how Microsoft® Windows® Management Instrumentation (WMI) has helped me automate the creation of scheduled tasks and how it has made my life a little easier. |
| • | Review - SmartInspect The Delphi Magazine, 09/01/2005I reviewed SmartInspect for The Delphi Magazine in the September 2005 issue.
"SmartInspect is an advanced logging tool for debugging and monitoring .NET, Java and Delphi applications. It helps you to identify bugs, find solutions to customer problems and gives you a clear understanding of how your software works in different environments and under different circumstances." |
| • | Review: FinalBuilder 2 Versus Automated Build Studio 1.1 The Delphi Magazine, 01/01/2005Craig Murphy puts these two powerful software system building tools head-to-head, created by ATOZED Software and AutomatedQA respectively. Their capabilities are truly astounding: not just compiling your code, but looking after help building, creating setup packages for distribution, and more. |
| • | Review: Q-XML Data Toolkit 3 For Delphi The Delphi Magazine, 03/01/2005Craig Murphy checks out this suite of components for Delphi 5, 6 and 7 which provide access to data in XML files and enable the manipulation and creation of XML data files. The dataset and bound controls present XML data to Delphi applications. It also provides support for importing and exporting data to and from database tables |
| • | Book Review - The Art of Project Management Scottish Developers, 06/24/2005Weighing in at a little under 500 pages, sitting at an inch thick, The Art of Project Management makes for a good travelling companion. Its sixteen chapters are split into three sections: Plans, Skills and Management, each containing five chapters. If you think that this is just another book about project management, I urge you to read on. This book is about project management, but you won’t find any project plans, PERT charts, Gantt charts or any form of methodology-specific advice. |
| • | Improving Application Quality Using Test-Driven Development (TDD) Methods and Tools, 04/01/2005What is the one activity or phase that improves the quality of your application? The answer is an easy on: Testing, and plenty of it.
TDD is radical process that promotes the notion of writing test cases that then dictate or drive the further development of a class or piece of code.
This article discusses TDD using C# and Visual Studio.net |
| • | Adaptive Project Management Using Scrum Methods and Tools, 12/27/2004Scrum is a lightweight process that can manage and control software and product development: it is a project management process. However, instead of promoting the traditional analysis, design, code, test, deploy waterfall approach, Scrum embraces iterative and incremental practices. Similarly, instead of being artifact-driven, whereby large requirements documents, analysis specifications, design documents, etc. are created, Scrum requires very few artifacts. It concentrates on what’s important: managing a project or writing software that produces business value. |
| • | Review: PatchFactory 2.1.237 The Delphi Magazine, 04/01/2005Craig Murphy checks out this patch file generator from AgenSoft which could make distributing upgrades to your apps a whole lot easier from now on! |
| • | Automated Code Coverage and Unit Tests C# Corner, 03/08/2006A short tutorial that explains how to use a code coverage tool and how it can be integrated with unit tests to allow us to determine how well the unit tests exercise our application/classes. Code examples are written using C#. |
| • | XML Topic Maps The Delphi Magazine, 09/01/2003In Issue 95 I wrote about XML linking. The purpose of that article was to provide a gentle introduction to the concept of linking between XML documents. Whilst XML linking can be used to mark up any XML document, it lends itself to marking up XML documents that help us represent knowledge or information between collections of data sources: XML Topic Maps. An XML Topic Map is an XML document that uses XML linking to provide what is essentially a ‘layer’ of links and connections between data sources: similar to a book’s index but significantly more powerful.
Ultimately, Topics Maps allow us to intelligently classify information such that we will be able to search for ‘chips’ within a context, thus allowing us to differentiate between processors, integrated circuits, etc, and potatoes.
|
| • | FxCop: .NET Code Police Developers' Group Magazine, 01/01/2004Coding styles and naming conventions can be an emotive subject, often sparking furious debate. If you are a solo developer, you may have the fortune to be able to choose your own coding style. If you belong to a large corporate, you may find yourself stuck with their in-house style – whilst you may not agree with it, you just have to muck in and live with it.
However, with the arrival and maturation of .NET, things have changed. Microsoft has put forward their own collection of .NET Framework Design Guidelines – a huge collection of rules and statements that help us write code that not only looks consistent, but code that is considered properly written in terms of adherence to sound object-oriented principles. To that effect, Microsoft has released FxCop, a product that analyses managed code assemblies and provides information about the assemblies, such as violations of the programming and design rules set forth in the Microsoft .NET Framework Design Guidelines. |
| • | Refactoring with Delphi 2005 The Developers Group, 01/01/2005I don’t know about you, but I’m a lazy coder: I like my IDE to help me as much as possible. I used to be happy with simple stuff like indenting or “outdenting” blocks of code. Then along came code completion, heaven! Naturally I crave for more, more productivity gains, more guarantees that the code I write is syntactically correct and it is consistent.
The refactoring support in Delphi 2005 provides such guarantees: no longer do you have to rely on cut’n’paste to move chunks of code around (many a customer-facing error has been made with “cut’n’paste”!).
Use Refactoring To Move From Win32 to .NET
Moving your application from one version of Delphi to another is never quite as easy as it looks. Even more so if it’s from Win32 Delphi to Delphi for .NET!
Written with Delphi in mind, but equally applicable to Visual Studio. |
| • | Interview at developer.* developer.*, 10/10/2005I was interviewed by developer.* (The Independent Magazine for Software Development Professionals) as part of their Global Development Interview Series.
I spoke about the value-add work that our software provides to clients, contractors, software as an asset and much more! |
| • | Pre-publication book reviews Addison-WesleyI have reviewed a number of manuscripts/proposals for Addison-Wesley, most involving existing MSDN authors who are now publishing or are close to publishing their work in the form of a book.
My work involves reviewing author's manuscripts and book proposals prior to the publisher accepting them for publication. |
| • | Instrumentation in C# The Developers' Group Magazine, 09/01/2003If you have been reading my recent articles elsewhere, you will know that I have been ranting on about something called WMI –Windows® Management Instrumentation. WMI is a means of programmatically taking control of various parts of the computer. We can use WMI to extract all kinds of information about the operating system, the disc drives, the printers, etc. that are attached to a computer. We can even reboot the computer if required. The beauty of WMI shines through when we realise that we can do all of this, not just from a local computer, but also from another computer elsewhere on the network. In a nutshell, WMI gives you the ability to administer your computer and other computers on your network. |
| • | Delphi 2005's Web Services The Developers Group, 05/01/2005A high-level overview of Delphi 2005's web service architecture (for both .NET and Win32) |
| • | Test-Driven Development Using csUnit in C#Builder The Developers' Group Magazine, 01/01/2004Test-driven development (TDD) is a ‘best practice’ that changes the way we as developers write
code. Instead of writing a piece of code, then testing that piece of code, TDD suggests we reverse
the process. By writing our test cases before we write code, it is the test cases that drive or dictate
how the code will be developed. |
| • | Review: AidAim's SQLMemTable The Delphi Magazine, 11/01/2005I reviewed AidAim's SQLMemTable for The Delphi Magazine Issue 123 (November 2005) |
| • | Introducing Regular Expressions The Developers' Group Magazine, 03/01/2003Regular expressions provide a concise and flexible notation for matching and replacing patterns of text within a body of text. Some might say that regular expressions are concise and cryptic, perhaps because most regular expressions are built from a combination of metacharacters
such as ^$*+?. The actual regular expression itself is known as a pattern. |
| • | BlogCast: Managing Iterative Development Using Scrum Craig Murphy, 10/31/2005A blogcast that demonstrates how to use the product backlog spreadsheet that I used during my presentation (http://www.developerday.co.uk/ddd/postevents/scrum.zip) at DeveloperDeveloperDeveloper, 14 May 2005 |
| • | Review: AQdevTeam The Delphi Magazine, 07/01/2005I reviewed AutomatedQA's AQdevTeam (using SQL Server as the primary database engine). AQdevTeam is an excellent team-based project control framework, offering team communication, bug and issue tracking and much more. |
| • | Review: 9Rays FlyGrid.Net The Delphi Magazine, 08/01/2005I reviewed the 9Rays FlyGrid.Net controls: tree and grid control for .NET WinForms application development |
| • | International Developer - Desktop Development International Developer, 07/01/2005As part of the Visual Basic User Group's monthly column, I wrote about Desktop Development for the July 2005 issue.
Topics covered: 90% VB6 -> .net migration, 10% Delphi 2005 and Chrome.
My recommendation: don't use the VB6 -> .net migration wizard, port applications to .net manually, it's the only way to learn .net. |
| • | Book Review - ADO.NET and System.Xml v 2.0: The Beta Version The Developers Group, 05/01/2005ADO.NET and System.Xml v 2.0: The Beta Version
Alex Homer provided UK-based MVPs with a handful of copies of this book. I took one away, read it, reviewed it and sent it on to another MVP, David Grey.
The review was originally published by The Developers Group, but has since appeared (with permission) over at:
http://www.daveandal.net/books/7124/
Feedback has been very favourable (even from the publisher!) |
| • | Review: WPCubed's WPTools Pro 5.1 Bundle The Delphi Magazine, 02/01/2005Craig Murphy evaluates this package of tools and libraries from WPCubed which aims to provide full word processing functionality within your applications, with as little as one line of code! |
| • | Are You WMI or Not? (part 2) The Developers' Group Magazine, 07/01/2003In the last issue of the Developer’s Magazine, Craig provided an introduction to Microsoft® Windows®
Management Instrumentation (WMI) and demonstrated how it could be used to make laborious tasks a little easier.
In this follow-up article, Craig demonstrates how WMI can be used in Delphi and how it can be used to retrieve information from remote computers. |
| • | External Posts Craig Murphy, 03/17/2006In order to keep track of my community posts, I've set up an External Posts page on my blog. I will be updating this page every few days. |
| • | Sorting and Searching Using C# Lists - C# Lists http://www.developerfusion.co.uk, 05/14/2006It is a fairly common programming scenario to find ourselves with a list of identical objects. In the past, without adequate support from programming languages, we found ourselves writing a lot of searching and sorting code, and that may have put you off using lists in favour of arrays. All that has changed with C# 2.0 - its implementation of a list makes handling such lists remarkably easy. |
| • | Cleaning up your act with the Microsoft SOAP toolkit The Developers' Group Magazine, 11/01/2001The Simple Object Access Protocol (SOAP) is a consistent means of transporting data and method calls between potentially distributed applications.
The Microsoft SOAP Toolkit is a developer tool that helps create SOAP “requests” (client calls to a server) and can unscramble SOAP “responses” (server responses to the client).
|
| • | Why Scrum Works The Developers Group, 11/01/2004Following on from my September presentation to The Developers Group, this article provides backup information and complements the slide-deck. |
| • | Working with XML in Delphi 2005 The Developers Group, 04/01/2005Between Delphi 6 and Delphi 2005, the bottom line functionality of Delphi’s support for protocols like the Simple Object Access Protocol (SOAP) and web services hasn’t really changed very much. Granted, there have been bug fixes and upgrades to support newer versions of World Wide Web Consortium (W3C) standards, but if you look at the applications that can be created using Delphi, not much has changed.
So why spend 45 minutes talking about it?
Well, there are plenty of good reasons, least of all:
1. Delphi 2005 could be the version you have been waiting for: a lot of folks follow “odd numbers”, Delphi 3, 5, 7…Delphi 2005 is the next logical version. If you plan to adopt Delphi 2005, and you are coming from Delphi 5, then it is possible that your Delphi 2005 application architecture will need to involve web services.
2. Delphi 2005 could be the version that you plan to “migrate to .NET” with. You’ll need an understanding of what’s in .NET that can help you: this session will provide you with an understanding of how to integrate your application(s) using .NET’s XML support and will show you how to interact with other applications running elsewhere on the Internet. |
| • | Review: TurboDemo 6.5 Dotnet Developers' Groups (DDG), 10/31/2005I reviewed TurboDemo 6.5 for the Dotnet Developers' Groups (DDG) |
| • | Review: TargetProcess 1.3 RC1 The Delphi Magazine, 07/01/2005A project planning, management and bug-tracking application designed for teams of developers who utilise new agile development processes such as extreme programming, SCRUM or Crystal |
| • | SpeedTrace Pro 2 Scottish Developers, 07/22/2006I reviewed SpeedTrace Pro 2, a code profiler for .NET. |
| • | The Social Programmer My blog covering all things agile, .net and project management.
2006 has been a good year. My average monthly visitors are up to 3800 and average monthly unique hits has reached 76000!
2005 has seen my Project Management category take-off:
http://www.craigmurphy.com/blog/index.php?cat=5
Based on my web-logs, my blog is read by 3000 people per month; my web-site receives 20000 hits per month...mainly from the USA west coast!
BlogCasting has begun, October 2005 saw me recording my first blogcast covering the demonstrations in my Test-Driven Development (TDD) sessions. This is my blogcast plan: folks are able to download my slide decks, but they have no way of viewing the demos that sit inside the slides - blogcasting provides that medium. |
| • | Review: SmartInspect 1.1.0.597 The Delphi Magazine, 10/01/2005I reviewed this advanced logging tool for debugging and monitoring .NET, Java and Delphi applications from Gurock Software. The developers say it helps you to identify bugs, find solutions to customer problems, and gives you a clear understanding of how your software works in different environments and under different circumstances. Published in The Delphi Magazine Issue 122 (October 2005) |
| • | Review: Understand for Delphi The Delphi Magazine, 04/01/2006I reviewed this static code analysis tool for The Delphi Magazine Issue 128 (April 2006) |
| • | Review: CodeHealer 2.1 The Delphi Magazine, 03/01/2006I reviewed this static code analyser for The Delphi Magazine Isssue 127 (March 2006) |
| • | Review: Delphi+Flash 1.91 The Delphi Magazine, 01/01/2006A component that integrates the creation of Flash movies into an application via a programmatic interface. Published in The Delphi Magazine Issue 125 (January 2006) |
| • | An Interview with security expert, Barry Dorrans Craig Murphy, 08/04/2007We talk about social networking, social networking fatigue, Facebook security, Cardspace, portability of cards, USB/smart card authentication, secure certificates, hardware authentication, BBC iPlayer (we touch on DRM for a second), UAC, Windows Vista, DDD5, conferences in Ireland, social security numbers, banks calling you and a whole host of other things. Barry’s a humorous guy who manages to inject that humour into this podcast! |
| • | NRW07 - Community Conference 08/24/2007After NRW07, the German community conference for .NET developers, HP provided laptops and games for speakers and attendees. Here's a little footage I took. |
| • | Improving Application Quality Using Test-Driven Development (TDD) http://www.developerfusion.co.uk, 07/01/2007What is the one activity or phase that improves the quality of your application? The answer is an easy one: Testing, and plenty of it.
But when do we traditionally perform testing? If you are following a "waterfall" style approach to software development, it’s very likely that you have a testing phase somewhere towards the expected end of the project. This is peculiar, because we all know that at this stage in a software development project, the cost of any code or requirement changes is known to be much higher. |
| • | Book Review - .NET Internationalization http://www.developerfusion.co.uk, 08/20/2007With the reach of the Internet today, “local” is taking on a new meaning. Today’s business is increasingly being conducted in a global, multi-lingual and multi-cultural environment. As software developers, the concept of internationalisation (a word which, ironically, is itself spelt differently within the English speaking community) and indeed localisation is something we need to be more than aware of. However, it’s a topic that attracts a lot of attention, yet few have written about in such depth as Guy Smith-Ferrier. Indeed, in my experience, a lot of authors who attempt to cover internationalisation have, despite best efforts, sent their intended readers into a comatose state – internationalisation as a topic is perhaps not the most exciting topic to choose to read about! However, I’m pleased to report that Guy manages to inject enough humour and witty anecdotes such that as a reader, I was kept interested. |
| • | Podcast: NRW07: Vinzenz Feenstra - AVG - Security Craig Murphy, 08/24/2007Whilst attending Germany's community conference NRW07, as a speaker, I was armed with my podcasting kit. I was lucky to get some time with Vinzenz Feenstra, one of the developers behind the Ewido and Grisoft anti-spyware products. |
| • | Podcast: NRW07: Frank Solinske on Windows Home Server Craig Murphy, 08/24/2007Frank Solinske, Microsoft MVP, talks with me about Windows Home Server. Frank's an enthusatic individual with security-focus. Vinzenz from an earlier podcast was also present in this podcast. |
| • | Podcast: MIX07: Danny Thorpe Craig Murphy, 09/11/2007I've known Danny since his days at Borland, so it was a great priviledge to be able to grab a podcast with him. Over the course of 35 minutes, we cover a variety of topics from Windows Live to Google Gears to Danny's days at Borland. |
| • | Podcast: MIX07: Hugh MacLeod Craig Murphy, 09/12/2007Hugh MacLeod gave an entertaining and exciting session at MIX07. I caught up with him after his session to wax lyrical about social networking, cartooning and micro-blogging |
| • | 036 - MVP Open Day - a chat with Karen-Anne Young 10/30/2007In this recording I have the pleasure of talking with Karen-Anne Young, Group Regional Manager APAC and EMEA MVP Programme and Liverpool fan. There are two things that are unique about this recording. Firstly, Karen is the first female in my series of podcasts, certainly the first one-to-one conversation. Secondly, Karen travelled thousands of miles to give take part in this podcast. It’s true, she did…yes, there did happen to be an MVP Open Day at the same time, but that’s by the by! |
| • | Screencast - Word 2007 Content Controls 11/16/2008At the end of October 2008 I demonstrated Word 2007 Content Controls and how they can be accessed programmatically using C#. This 12 minute long screencast explains how to use Content Controls and how we can use the Open XML SDK to work with them using code. |
| • | WordPresz 2.6.4 - fake? 11/03/2008An overview of the blogging engine WordPress and the surprising typo hack WordPresz - it managed to inject itself into the real WordPress dashboard thus gaining exposure to vunerable users. Caught early, this blog post sent traffic to my web-site through the roof and attracted a moderate number of comments and track/link backs. |
| • | Open XML - Resources 10/29/2008A collection of my own resources and external links covering Open XML, Word 2007, Excel 2007, etc. |
| • | 042 - Ian “Sometimes brutal, always honest” Smith - Daily Dot Net Show - we discuss Blu-ray, HD-DVD, 03/31/2008Welcome to podcast#42. In this, what should really be a homage to Douglas Adams, Ian Smith and I sit down in a rather expensive London hotel and chat about all things in the media space. We chat about HD-DVD, Blu-ray, DDD, WebDD, NxtGenUG, London .net User Group, VBUG, Mix08, community events and much more. It’s my longest podcast so far - Barry Dorran’s held the record until now. |
| • | 041 - John O’Brien - Windows Live Developer MVP 12/07/2007Welcome to podcast#41. Microsoft MVP John O’Brien takes time out to catch up with me whilst I was in Brisbane! We’re chatting about Windows Live, Microsoft Virtual Earth and Community in Australia. |
| • | Book Review: IronPython In Action, Michael Foord and Christian Muirhead 01/12/2009During 2008, dynamic languages picked up a lot of momentum. Indeed, in IronPython In Action, Foord and Muirhead describe this momentum somewhat amusingly: “dynamic languages are trendy; all the alpha-geeks are using them!” With what is the largest known IronPython codebase forming a large part of their careers, the authors are well-placed to provide us with accurate and authorative information coupled with practical code examples. |
The information contained on this page is provided 'as is' by MVPs, without warranty from Microsoft. MVPs are bound by the Microsoft terms of use. |