Downloading an Image from Gravatar Using the Command Line

I am signed up for the alpha, and wanted to upload my avatar picture. Unfortunately, I can't find my avatar picture anywhere on my computer.

Gravatar is a free service that allows you to save your avatar (picture) for use by multiple websites. Gravatar has a copy of the avatar I wanted, so I hoped I could just download it via the same user interface you use to upload images. It turns out that you can't do that: the user interface lets you upload pictures, but does not provide a download option. So I had to figure out how to retrieve my image the way that a Gravatar web client would.

According to the Gravatar documentation, one can get a image for a user by doing an HTTP GET with a URL of this form:

where HASH is the MD5 hash of the user's email address. You can calculate this using the md5 command-line utility.

So, here is the complete command line that will calculate my MD5 hash and the retrieve the image using the curl utility:

Job Title: Architect

What follows is from an actual job opportunity that was presented to me. It has been edited for brevity and to remove identifying information. I also cleaned up typos and broken grammar (recruiters apparently never read these things before sending them to candidates).

Job Title: Architect


  • Drive Solution Architectures for high performance and very highly scalable platforms.
  • Collaborate with key Telecommunication Architecture on definition of delivery of solution.
  • Participate in Joint Application Design/Requirements sessions
  • Create and present PowerPoints to leadership describing architectural approaches and solutions

Seeking Enterprise Architecture related type candidates. Not seeking a candidate with developer, project manager, or solution architect experience.

Skills & Experience Needed:

  • UML 2 3-5 years Required
  • Visio 5 years Required
  • MS Word 5 years Required
  • Agile Methodology Intermediate Desired
  • OAuth Intermediate Desired
  • Cloud computing Intermediate Desired

Note what is not required of an Architect: Any knowledge of how to actually produce working software. All you need to know is how to use Visio and PowerPoint.

Distributing a Custom iOS B2B App

I recently went through the process of distributing a free custom B2B app in the App Store. I hit a few snags, and I found very little information about the process, or help in online forums, and Apple Support assistance was very slow. So I'm documenting what I learned here. I hope it helps someone.

Entity Framework Cheatsheet

This is my cheatsheet for using Microsoft's Entity Framework API.

(The existence of this page should not be taken as an endorsement of Entity Framework. It's not something you should learn more about if you don't have to. It's just another complicated ORM framework with its own quirks and annoyances.)

What Siri Is Good For

A recent study indicates that Apple's Siri doesn't perform very well when searching for information. I think most people who use Siri would agree, but "searching" is only one thing that Siri does.

I don't use Siri much for general question-asking. ("Siri, is it raining?") Instead, I use Siri as a quick way to perform operations on my phone. For example:

  • "Add eggs to my groceries list"
  • "Text my wife I'm on my way home."
  • "What is 345 times 843?"
  • "Set timer for five minutes."
  • "Set alarm for 6 AM"
  • "When I get home, remind me to take the trash out."
  • "Give me directions to Mall of Georgia."

Siri works almost perfectly for these types of requests. I can do all of these things without unlocking my phone, typing anything, or navigating through user interfaces, saving time and minimizing interruption of whatever I'm doing.

There was a period a few months ago when Siri was offline/unavailable a lot, but it is pretty reliable now.

Apple hasn't done a good job in educating people about Siri's capabilities. Anyone who tries to do what the celebrities do in the TV commercials will be disappointed. Instead, I'd recommend reading something like Talking to Siri: Learning the Language of Apple's Intelligent Assistant which can give you all the necessary instructions and tips.

Siri is far from perfect, but it is a really nice feature, and every other phone and computer maker is adding similar features. I'd recommend learning how to use the features effectively, rather than dismissing them due to their imperfections and limitations. Or you can just keep typing everything, like an old person.

HTML Man pages

If you've used UNIX-based systems, you're probably aware of man pages. And you know that they suck.

To make them a little less sucky, I wrote a little shell script called hman which displays a man page as HTML in the browser, rather than forcing you to use less. Here it is, if you'd like such a thing. (You'll need to install man2html via Homebrew).

So, with this, you can run hman bash and get something halfway usable.

Bash Scripting Cheatsheet

These are the half-dozen-or-so things I need to re-learn whenever I have to write a Bash script.

(And yes, I do know that the cool kids use zsh or fish instead of bash. You don't need to point that out to me.)

Good Online Resources


My Setup

I'm a fan of The Setup, a website containing interviews with people about the tools they use to do their jobs. It is just "productivity porn", but I find it interesting.

As a tribute, here is my own "interview" for The Setup, using the standard four questions. I don't expect anyone to find this interesting, but writing it up helps me think about what I'm using and why, and it will come in handy the next time I have to set up a new computer.

20 Years Ago

It was 20 years ago this month that I graduated from college and got my first professional programming job. It has me reminiscing about what the computer programming profession was like before the Internet.

Want to Develop iOS Apps? Learn Objective-C.

As an iOS software developer, I am often asked whether "we" (a team I'm working with, or someone I'm advising) should avoid using Objective-C and instead use a higher-level or easier-to-learn programming language. In general, my answer is "No". The rest of this post explains why.

Syndicate content