While I do hope and believe that Microsoft can get their mobile strategy right, there are days when I worry that Windows Mobile 7 is going to be like this:
Here’s a cute trick: Bing’s ip: operator lets you find out which domains are on a given IP address.
For example, let’s consider the IP address of the Coffee and Code blog, whose URL is coffeeandcode.org. A quick check using a utility like whois or host2ip or reveals that its IP address is 207.58.137.226. Take that IP address and type it into Bing preceded by the ip:
operator like so:
…and Bing will return a list of domains that live at that given IP address. In this particular case, you’ll find a couple of my own domains: my personal blog’s domain, joeydevilla.com, as well as this blog’s domain, globalnerdy.com.
Apparently it’s a feature that’s been around since the MSN/Live.com search days, but it’s a little-known one, so I thought I’d mention it here.
The Passionate Programmer
“This book is about finding fulfillment and happiness in your career” is the first line of the introduction to The Passionate Programmer, Chad Fowler’s book for software developers. If that goal wasn’t bold enough, the first line of the following paragraph is “The book is also about cultivating the desire to live a remarkable life.”
The Passionate Programmer is actually the second edition of a book that went by another title: My Job Went to India: 52 Ways to Save Your Job. When that book was released back in 2005, the threat of having one’s job outsourced to lower-wage countries was the topic of many articles and conversations. My Job Went to India provided a collection of strategies to take control of one’s high-tech career, build a plan to keep skills up to date, make the right choices, stay relevant and not be the expendable sort whose job would be outsourced.
The bogeyman may have changed from outsourcing to the economy, but the concerns that developers have about their careers remain the same. Chad saw the need for a new edition of his book, and with the new version came a new tone. He gave it a more positive-sounding (and less alarmist) name and changed its focus from surviving to thriving.
The Passionate Programmer is split into five chapters, each covering a different aspect of a developer’s career:
- Choosing Your Market: “Which technologies should we invest in? Which domain should we develop expertise in? Should we go broad or deep with our knowledge?”
- Investing in Your Product: In this case, your product is yourself. How do you become better at what you do?
- Executing: Tactics and habits for getting things done.
- Marketing: Not Just for Suits: As the title implies, marketing skills aren’t just for the business people – developers need to market themselves.
- Maintaining Your Edge: How stay relevant and not be a one-hit wonder.
The chapters are themselves divided into sections, each one covering a specific approach or bit of advice. This arrangement lets you treat the book as if it were an agile project, picking and choosing a section at a time to read and put into practice instead of doing “big reading up front” from start to finish. It also makes the book easier to revisit when the need arises.
In the end, the message of the book is to find and follow your passion, and do so with intention. In the final section of the book, appropriately titled Have Fun, Chad closes with:
Ultimately, the most important thing I’ve learned over the journey that my career in software development has been is that it’s not what you do for a living or what you have that’s important. It’s how you choose to accept these things. It’s internal. Satisfaction, like our career choices, is something that should be sought after and decided upon with intention.
The Passionate Programmer is an engaging, fascinating book, and it will have a longer shelf life than most of the technical books in your library. I know many people who own a copy and have recommended it to their friends, and the Amazon and Dr. Dobbs reviews have been nothing short of glowing. No matter what platforms, programming languages or technologies you use, The Passionate Programmer should be in your technical library.
Book Details
The Passionate Programmer by Chad Fowler
- Publisher: Pragmatic Programmers
- Published: May 2009
- ISBN: 978-1-93435-634-0
The book is available directly from the publisher in the following formats:
- Paperback book: USD$23.95
- Ebook (DRM-free PDF, epub and mobi formats): USD$15.00
- Paperback/ebook bundle: USD$29.95
You can also order the book from Chapters/Indigo, Amazon.ca and Amazon.com.
Goin’ Retro!
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)