Know your tools
It usually comes from marketing, "Here's a screenshot of the bug". The email has
a 4MB PowerPoint file attached. Inside that file is a single slide, with an embedded
I'm not trying to pick on marketing exclusively, although
they often make for an easy target. We all have blind spots that make us ignore
tools that will make our lives easier, if only we'd spend some time to learn them.
I'm not saying to need to become a wizard in PhotoShop just to send screenshots,
but "sharpening the saw" is always handy. It may be some little application or setting
built into Windows or Visual Studio/Eclipse that will help, or it might be some
new programming technique or component that will save you time. Here are three quick
suggestions, I'm sure you can add more.
Comes with every copy of Windows since
Vista. It provides an incredibly easy way to quickly take a screenshot, annotate
it and save it to a JPG, PNG or GIF. You'll find it in the Accessories folder on
your Start menu. It allows you to take full screen clips, or just a single window,
a rectangle or even free form selection. Once you're taken the shot, you can edit
it, and even email directly from the tool. Even better, your computer memory won't
be full of Powerpoint. Better yet, spring forSnagIt
from TechSmith (or even their free
I don't care if it's Git,
or even Team Foundation Server
(just not Visual SourceSafe, please): if you are a developer and you're not using
version control, you're doing it wrong. You don't need huge, multi-branched, carefully
designed, documented, and managed overhead. Even just using it as a simple file
system, even for a single user, even for just documentation. The first time you
need to recover, "the version that worked on the customer servers three months ago",
it will have recovered all the effort you made to install, learn, and configure
it. There are even online versions, many for free, if you don't feel like installing
OK, this suggestion looks like it's a bit out there, and I'm not necessarily promoting
NoSQL. Instead, I'm using it as a stand-in for, "different ways of doing something
that might be better than what you're using now". Developers (and users as well)
should at least be aware of alternative tools, and to know when they might be appropriate.
In the case of NoSQL, it can be better than a standard relational database for certain
types of data (particularly variable data, or when you want to avoid the overhead
of converting back and forth between objects and data rows). Perhaps a functional(ish)
language such as F# or Scala
suits your current project. Maybe it's time to write a Web site using ASP.NET MVC,
or Rails, or a desktop app using XAML. Go to a conference and sit in the talks for
technologies you don't use, visit a local user group for "the other stuff", whatever.
Just keep looking for better solutions for what you are doing now.
I admit that this post was inspired by yet another huge item in my inbox (in this
case a 4MB RTF file with a single graphic, and it was from a developer, not marketing,
so I apologize to my better groomed compatriots in marketing), but it is broader
than that. We use these computers to make our lives easier, but if we're using it
like a typewriter - or even exactly how you used your XT - it's time to take stock,
explore options and learn a new tool or technique.