“Objects in System.Reflection are closer than they appear.”
by Greg McCoy

Archive for December, 2009


PicPick (http://picpick.wiziple.net/)

As a developer and designer, a color picker is an integral part of my development utility arsenal. Many other features are boasted in this little utility, but a well-featured, reliable, easy to use, small footprint, and lightning fast color picker is the flagship.

Not only can you pick your color from the screen easily by assigning a hotkey or using the system tray icon, PicPick will store your previous colors (in session) so you don’t have to go back and find it again.

Output options cover the basics pretty well, but could make use of some .NET (“Color.FromArgb()”) or “named” (“Firebrick”) color options if we’re opening up to the coding. Currently, PicPick supports HTML, RGB(), C++, and Delphi output.

The other tools are nice as well. They mostly all create function screen overlays that would assist designers and developers with measurements.

There is a very nicely thought out pixel ruler that you actually place on the objects you’re measuring, as opposed to most “rulers” that you have to click twice and hope you landed where you meant to.

There’s also a magnifying glass that’s movable, sizable, and supports up to 10x zooming. Some of the other tools have a built-in magnifier, so I’ve not used this a lot.

If you need positional details, there’s a cross-hair that simply tells you your X and Y on the screen. I haven’t really found any other features (or many uses) for this, but since it doesn’t hurt the application to have it, I’m not complaining.

PicPick even has a protractor. Yep, now you have what you need to get your angles right (yes, all pun was intended).

If you send a lot of screenshots to people in lieu of explaining yourself in words, you’ll get a kick out of the whiteboard feature. Mark your screen all up, click save, and send it off.

Speaking of screenshots, PicPick is also a full-featured screen capture application. It has all of the function that you would expect in a desktop snapshot program:  full screen, active window, window control, region, fixed region, and even a freehand option. A setting or two later and you can have all of your screenshots be uploaded via FTP to a web server, or automatically saved into a common screenshot folder.

While I haven’t had much use for it due to Gimp and Paint.NET, PicPick has an image editor built in for manipulating the screens you capture. I know that it covers some basic effects like pixelating, framing, and HSB adjustment. It also will let you freehand draw with a color palette and simple brushes, shapes, and a fill bucket. It’s not really what I’d consider a rich graphical editor, but that’s not why we have it.

It loads fast, sits quietly in the system try until needed, and has never crashed on me. So as far as being one of those utilities that’s more of a burden than it’s worth, PicPick is certainly not the tool you’ll need to turn right around and delete in a month.

While unfortunately not being packaged as a portable application, PicPick is capable of being used entirely from a storage device.

I would only like to see one major feature be added to this application: saved color sets. As a developer/designer, I find that after I build my list of colors for a site or application, I need to get back to those colors often. I would think that it would be fairly easy to implement something like this, and look forward to future versions to see that come to pass.

Miranda IM

Miranda IM (http://www.miranda-im.org/)

Most of us have multiple chat protocols that we have to support to accommodate our friends, family, and co-workers. And of course, there are applications out there that will let you connect to multiple network protocols at once.

I’ve not seen any others operate as conveniently or flexible as Miranda, though.

Probably the most impressive capability of Miranda IM is how much is available for it to do. In addition to the standard messaging protocols (and a few obscure; X-Fire, LAN, Facebook, etc…), it has a plug-in system that opens the messaging client up to functions beyond messaging.

For instance, have you ever thought about getting “messaged” by your subscribed RSS feeds, micro-blogging from an IM, or glancing at the weather metrics for multiple locations nested in your contact list?

There are plug-ins that will encrypt, spell-check, auto-correct, or even render mathematical formulas from your messages. The message viewing window itself can be customized in many ways (from what I’ve read), but I’ve had little luck with it myself. I don’t really care about how the messages look though, I just need them to come and go reliably.

I’m guessing this has become more commonplace over the years, but it still cracks me up… this thing even has mini-games, people. Battleship, anyone? I have yet to try any out, but I will most likely get into the fun stuff after I get bored of the more practical elements.

By default, Miranda seems aesthetically unappealing to me, but a quick download of a new plug-in and I’m more than content with the contact list. I’ve seen many pages of custom contact list skins posted on deviantArt, but I’ve not really the need, as the default skin of the Modern Contact List matches my home and work pretty well.

As I mentioned above, the message window is supposedly improved greatly by the IEView plug-in. I just haven’t been able to get it going on my setup. Picking up some tabs for the message window is a must, however.

Configuration is a bit tricky, but if you keep with it, you can have it exactly how you want it in no time. You’ll probably need to look through the forums and FAQs a bit to get your initial questions answered, but Google will turn up some great articles on customization if the official site doesn’t have an answer for you.

I also fancy Miranda for being a portable application. Trust me, you don’t want to have to manage multiple instances of this application with as customizable as it is.

I liked Pigdin just fine, but if you’ve ever tried to use it on a corporate VPN with MSN, you know what I’m getting at. Errors all l over the place. Yeah, Miranda doesn’t have that little problem.

All-in-all, Miranda IM is probably the best messaging client I’ve ever used (and I’ve used more than enough).

Here are the links to the plug-ins I referred to (in order)…

Tools import underway…

As of now, I’ve re-created three of the tools that were being used on the recently deceased version of lancemay.com.

There are a couple I still need to pull in, and more still that I have yet to write, but that process is currently underway.

If you have any (primarily development) tool ideas that you’d like me to write up, please let me know and I’ll see what I can do for you.

StackOverflow.com advertisers, beware…

I’ve gotten a fair bit of irritation from corporate internet blocking (Websense and the like), so this was almost overlooked entirely.

Just about every developer in my division’s department has been scanning Google trying to fix issues and stumbled across half of the results being on SO (http://www.stackoverflow.com).

Much to our dismay, however, when their pages load they’re completely blank. Upon further investigation we noticed that we’re actually getting 403’d! A simple email to SO (team@stackoverflow.com) went out from a co-worker…


Pretty much everyone on my dev team has noted that any attempt to access StackOverflow.com winds up with just a blank page for a few months now. Firebug indicates I’m getting a 403 error. Google pointed me to this post (which in itself is rather meta):

Our public IP appears to be ??.???.??.?? as reported by whatismyip.com.

So, I’m curious… have we been somehow banned?


Amazingly enough, from a company as seemingly awesome as SO, the response comes back (in its entirety)…

<add ipAddress="??.???.??.??" allowed="false" />    <!– 6k hits multiple hours –>

Wow. Thanks for the professionalism, respect, and general acknowledgement that our company’s IT professionals are important enough to speak to.

I, myself, sent the following email as a response to this news (and have yet to be graced with a response)…


I received a rather vexing email from a co-worker of mine about why our (very large) company cannot access SO. Apparently we have been banned. The response to a standard email explaining our situation and asking if we were banned resulted in a cold response of:

"<add ipAddress="??.???.??.??" allowed="false" />    <!– 6k hits multiple hours –>"

That was all. No explanation of what that was supposed to mean (other than the obviousness that we had been banned), how or why it happened, or what (if anything) we could do to resolve the issue. Again, this is a very old, very large company with many developers whom I’m sure your advertisers would love to market to, and would quite probably be assisting your users with industry knowledge as well.

I would like to ask that a response be given addressing the questions that, from any other company, would have been offered freely as a professional courtesy. Thanks much in advance.

All-in-all, I guess what I want here is for SO to know that the people they are blocking are very knowledgeable and contributing in most cases. Instead of taking a professional approach to this, you’ve alienated hundreds of IT personnel.

Most importantly, however, I would like for the advertisers of SO to read this and know that instead of being marketed to developers with corporate budgets, they are getting spun to primarily the average hobbyist who doesn’t have a Fortune 500 company’s budget to work with.

*** UPDATE ***

A response came from SO, finally. Not to me, but to another developer in our department. Here it is…

I manually removed the ban.

Be aware that 6k hits per hour is highly anomalous, and the daily scripts will flag and auto-ban IPs with that kind of traffic pattern.

So I guess we’re back in with SO. That being the case, I have nothing more to speak about on the topic.

All is well that ends okay, so I’ll end thi— meh… you probably know what comes next anyway.

Task Coach

Task Coach (http://www.taskcoach.org/)

A co-worker told me the other day that I should start writing up a post or review of a piece of software every day. I don’t know about every day. I mean I can try, but that may just not be practical. Now, mind you, I do use a lot of software – more than most by a long shot.

I am a utilitarian. This means one thing for me, particularly; there is a tool for every job. Being a software developer, a graphic designer and developer, creative and technical writer, and a self-proclaimed gamer, I have a lot of reason to use a lot of software.

In the past, I ran a software review site, but that was over a decade ago, and things have changed drastically since. For now, I will be trying this on for size and I do promise to give it my best, but I make no guarantees as to its longevity or relevance to the general public.

So here is the first of what hopefully will be a long-running stretch of software suggestions, reviews, tips, and the like.

Let’s talk a bit about the application that officially sparked the conversation: Task Coach.

Task Coach is an open source personal time manager and task list. Obviously the “free beer” here is important, but for only two developers on the books (Ohloh), this is hands-down a quality product.

Categories will keep your “tasks” separated by function, location, or whatever other categorical partitioning you can think of. They can be nested, allowing you to create subdivisions of function (e.g. “Work” can have general work-related tasks, while “Work/ProjectX” can be more granular). Recently (v0.77), a new option was added to categories allowing them to be mutually exclusive. This allows you to create custom status filters and the like.

Nested tasks are really where this “to-do” becomes much more. While I don’t completely agree with the math, the ability to see a task’s relative completion by the percentages (and full “Completes”) of its children is amazing. I’m not sure as to a limit of nesting, but to be able to start with a vague task and drill down to the granular components is a real incentive to think through your action items.

Tasks can also be applied a budget of time and with a few simple clicks, you can have a live monitor of the time (“effort”) that you spend on a particular item. This data can also be graphed out a couple of different ways to better show you where your time goes. It would be nice, however, to have a monetary budget metric as well.

These tasks are thick! Aside from the main task description area, which is easily visible via tooltip upon hovering your task, you can add notes and attachments to tasks. An attachment will act as a link to a file (i.e. no files are actually stored; only referenced). Notes are a good way to mark up a task, but personally, I find that simply appending/editing the main task description better suits my needs.

The task scheduling system is intuitive enough, and seems to support all variations of recurrence that I think I’ve ever needed. I haven’t really had a chance to get into the reminders though.

The main task list display is almost perfect for me, personally. The two adjustments that I have to make are adding the “Overall % Complete” and “Days left” columns to my view. Category colorization is very nice when you choose to view multiple categories at once as I often do.

Right-clicking on a task gives quick access to a lot of features including “Mail task”. This is both my most and least favorite feature of the application all rolled into one. If you have a single task selected when you hit this, you will have an email sent to your default mail application via mailto: (at least I assume it’s through mailto: due to limitations). The subject will be the “path” of your task (e.g. “ProjectX Deadline -> Fail Plan B -> Cower in corner”). The body will contain the task’s description. Unfortunately, there is no easy way to get any of the other details of a task (attachments, status percentage, notes, effort, etc…) into the email that I can find. Selecting multiple tasks will simply mail the paths (see subject above) of each of the selected tasks and description with no visible separation between items. Some minor amount of bordering with equal-signs or hyphens would be wonderful. This would be a great place to send status information, completion color-coding, etc…, but this is not currently the case.

Also, I found out about this application because it is now published on portableapps.com. Being packaged as a portable application keeps it on my drive (“Life:\”; ½TB; goes with me everywhere) and accessible to me wherever I am.

I guess I can finish off with a pro/con list for sport. ;)

Pro: free beer, portable, task nesting (w/ status math), easy to enjoy, actually works
Con: Mail task is too limited, effort/status reporting, math on nesting status is a little bit off

SOS migration…

I’m currently in the process of pulling the content of two of my Blogger sites into my new WordPress installation. One of which is the SOS site.

If you’re trying to get to the SOS downloads and are not able to, please give me a bit of time. I’m doing a lot of reconstruction as is, and it may take me a while to update all of the links and move all of the files over.

SOS is not going away. Just a little bit of time is all I need. Thanks.

Get a free book about code review best practices.