Two things we need to bring back into style: go-go boots and multi-coloured keyboards.
Craftsmanship and Ethics is a great keynote given in the fall of 2007 at the JAOO conference by Robert C. “Uncle Bob” Martin, guru of object-oriented design, agile development and just plain writing good code. It doesn’t matter whether you’ve just started programming or have been at it for twenty years – if you want to call yourself a professional developer, this one’s a must-watch. It’s just over 47 minutes, which makes for good lunchtime viewing.
Uncle Bob tosses around a lot of ideas about software development in his keynote. I’ll be writing about some of these ideas in future blog entries, and perhaps some of them will end up covered in the Developer Foundations track at TechDays.
Today’s Toronto Coffee and Code – and by “today”, I mean “Friday, August 14th” – will take place at The Roastery (401 Richmond West, just east of Spadina) from noon until 6 p.m.. Come on down, shoot the breeze, ask questions, get help with Microsoft developer tools and tech, hang out!
Until now, taking advantage of the UI improvements in Windows 7 (and even some features in Vista) took a fair bit of work – there was a lot of stuff that wasn’t available through the .NET Framework. You’d have to either switch to C++ or resort to hacks in order to access these goodies.
That’s all changed with the newly-released Windows API Code Pack for Microsoft .NET Framework. Written in C# – with some DirectX stuff written in C++ – this library acts as a wrapper that gives managed code access to features including:
- Windows 7 Taskbar Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails, and Thumbnail Toolbars.
- Windows 7 Libraries, Known Folders, non-file system containers.
- Windows Shell Search API support, a hierarchy of Shell Namespace entities, and Drag and Drop functionality for Shell Objects.
- Explorer Browser Control.
- Shell property system.
- Windows Vista and Windows 7 Common File Dialogs, including custom controls.
- Windows Vista and Windows 7 Task Dialogs.
- Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs. (DirectWrite and WIC have partial support)
- Sensor Platform APIs
- Extended Linguistic Services APIs
- Power Management APIs
- Application Restart and Recovery APIs
- Network List Manager APIs
- Command Link control and System defined Shell icons
- Shell search API support
- Drag and drop functionality for Shell objects
- Support for Direct2D/Direct3D interoperability
- Support for typography and font enumeration DirectWrite APIs
The system requirements are:
- .NET Framework 3.5 SP1 or later
- Windows 7 RTM (although many features will work on prior versions)
- DirectX features require Windows SDK for Windows 7 RTM
- Some Direct3D samples require the March 2009 release of the DirectX SDK
We’ll cover the Windows API Code Pack for Microsoft .NET Framework over the next little while in a couple of places – certainly on this blog, as well as at the TechDays 2009 cross-Canada conference in the Optimizing Your Apps for the Windows 7 Experience session.
Download Windows API Code Pack for Microsoft .NET Framework (v1.0)
Last week, John Oxley announced the addition of a new track to TechDays Vancouver and TechDays Toronto: the Developer Foundations track, whose sessions are devoted to the practices and principles of good coding. While the other tracks will be about Microsoft tools and technologies, Developer Foundations will be about answering a single question: How do I write good code?
How Developer Foundations Came to Be
We added the track in response to calls for it from a number of developers who care about about the state of software development in the .NET community: Donald Belcham (whose upcoming book, Brownfield Application Development in .NET, is worth checking out), Justice Gray and Peter Ritchie. We put out a call for suggestions in a post titled TechDays, Blogs and the Fundamentals, and based on those suggestions, we added the Developer Foundations track to the Vancouver and Toronto stops of the TechDays tour and put Justice and Peter in charge. We’re taking care of the physical logistics like the room and the audiovisual gear, but when it comes to content, Justice and Peter are calling the shots.
How Developer Foundations Will Work
Developer Foundations will be a four-session track, with the same four sessions being held on Day 1 and Day 2 of the Vancouver and Toronto conferences. With the same sessions happening on both days, we’re hoping to make it as easy as possible to catch a Developer Foundations session while still catching all the other great tool- and tech-specific presentations that TechDays is known for. We’re treating the Vancouver and Toronto Developer Foundations sessions as a test run – we’re going to watch this track, take in attendee feedback, make a note of all the lessons we learn and if it’s success, we’ll build on it and make the track a part of TechDays for all cities.
What You Can Do
Justice and Peter have a lot of work ahead of them, what with the TechDays conferences in Vancouver and Toronto taking place next month. If you’ve got suggestions or ideas for what they should cover – perhaps you’re a bit iffy on patterns, exception handling, the use of version control or how to do test-driven development – let them know! If you’re on Twitter, send a tweet to @JusticeGray or @PeterRitchie. You should also feel free to leave a comment or drop me a line; I’ll make sure it gets to them.
The other thing you can do is watch this space! I’ve got all sorts of articles coming up on the topic of good code which you’ll find useful, especially if you’re planning on hitting the Developer Foundations track at TechDays.
The early bird special price – a mere CDN$299 – is going away very, very soon. If you want to catch the great tracks at TechDays, you’d better register now!
N00b Boyfriend
What happens when a girl from a l33t family brings a n00b boy home to meet her parents?
This article also appears in The Adventures of Accordion Guy in the 21st Century.
Old IBM Ad: “150 Extra Engineers!”
Alternate titles for this ad: 150 Receding Hairlines! 150 Giant Foreheads!
Click to see at full size.
Here’s the text of the ad:
150 Extra Engineers
An IBM Electronic Calculator speeds through thousands of intricate computations so quickly that on many complex problems it’s like having 150 EXTRA Engineers.
No longer must valuable engineering personnel…now in critical shortage…spend priceless creative time at routine repetitive figuring.
Thousands of IBM Electronic Business Machines…vital to our nation’s defense…are at work for science, industry and the armed forces, in laboratories, factories and offices, helping to meet urgent demands for greater production.