Categories
Uncategorized

Finding Domains on a Given IP Address with Bing

Bing logoHere’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:

"ip:207.58.137.226" typed into a Bing search textbox

…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.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

The Passionate Programmer

Cover of "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.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Goin’ Retro!

go-go_boots_multicoloured_keyboards

Two things we need to bring back into style: go-go boots and multi-coloured keyboards.

Categories
Uncategorized

Software Craftsmanship and “Uncle Bob”

Robert Martin

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.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Toronto Coffee and Code: This Afternoon at The Roastery

roastery

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!

Categories
Uncategorized

Windows API Code Pack for .NET Framework Released

Windows 7 logo and Microsoft .NET logoUntil 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:

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.

Down arrow

Download Windows API Code Pack for Microsoft .NET Framework (v1.0)

 

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

TechDays’ Developer Foundations Track

techdays_developer_foundations_track

Vancouver and Toronto pinsLast 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!

This article also appears in Canadian Developer Connection.