Sunday, January 4, 2009

Pretty (or ugly, depending on your outlook) pictures of the current state of unemployment in the US

Combined 3-colors: Lighter is higher unemployment (i.e. dark is good) Red is change, Green is current, Blue is old:

Old (lighter = worse):

Change (lighter = worse):

Now (lighter = worse, and note Michegan and Rhode Island are light enough they have to be bordered to be visible):

Data from Bureau of Labor Statistics, blank map from Wikimedia Commons - Blank US Map.svg, shading/edits by Justin George(me). Images GFDL licensed.

Wednesday, July 23, 2008

Amusing side effects of popular culture

As a result of Dark Knight, I'm now getting 40-50 hits a day to my personal site, featuring the joker cheesehead down on the left side there.

I was very confused as I watched the traffic spike, then I realized the movie came out.

Tuesday, July 22, 2008

Real-life Superpowers, part 1

Horses store up to 50% of their red blood cells and can release them during endurance running. Self-doping, with the larger hearts needed to deal with the thicker blood that results.

Friday, July 18, 2008

Ubiquitous call recording, finally.

I've been wanting a service like this for as long as I can remember. Now they just need to offer inbound phone numbers that auto-record, and maybe a transcription service or speech-to-text.

Saturday, June 28, 2008

Git tricks I've been using a lot

  • git add --patch

    Incredibly helpful for splitting up your patches into atomic commits.

    I use this like mad when I've made a few different types of changes between committing. (e.g. I find something that needs refactoring in the middle of adding a feature)

    For hairier tasks, don't forget it's older brother, git add --interactive, which launches a file manager shell with more options and better status info

  • git stash apply

    Git stash is a wonderful thing, but people often don't realize that the stash is a stack, not just a single object.

    Using apply with an optional ref argument, you can pop things off the stack that date from before the most recent stash.

    I use this as a whole project undo/redo for things not worth creating a branch for

  • git rebase --interactive

    Oh the power. If you pass the right revisions into git rebase --interactive, you can essentially go back and edit every single commit made in the repo.

    For extra fun, try nonlinear editing or cross-branch interactive rebasing.

    My primary use for this is to squash commits into useful units of functionality, particularly when updating a production branch or the equivalent.

    Caution: if you're publishing your changes to other people, using this can really piss them off. You can also drastically break your repo, so make sure you know what you're doing, or try it on a fresh clone

  • git checkout -b branch_name remote/branch

    This is an interesting trick: you can create a local branch named something different than a remote branch, and set it to track the remote. Makes git pull work without having to specify a remote and branch to merge.

  • git diff -Sstr

    This lets you pull out a change that relates to the string. If you want to see whole patches, play with --pickaxe-all, and for POSIX regex support use --pickaxe-regex.

    Useful if you ever want to see who's using that bad idiom that you want to crush out of existence, or if you need to go back and find a chunk of lost code.

Thursday, June 5, 2008

Why you should always use SSH keys, not passwords

There are three main reasons for using SSH keys over passwords:

  • Security

    Since SSH keys are stored on your computer and never go over the wire, they are inherently more secure than passwords. Even if you pick a terrible passphrase for your SSH keys (or none at all), an attacker still has to get ahold of that key (barring someone patching your random number generator to return one of 2^10 numbers...)

  • Segmentation

    With passwords, if everyone needs access to an account on one of your servers, then everyone has to know the same password. If one of your coworkers goes insane, you have to change the password (and probably a lot more than one) whereas with SSH keys, you just remove their key from the authorized_keys file and they're gone, nobody else has to worry about it.

    Similarly, if people need access to some accounts and not others, you can segment access with keys much more easily than with passwords

  • Speed

    Entering passwords gets old really quick. With the superb ssh-agent in use, you shouldn't ever have to do that, and as long as you remember to lock your computer when you leave it, you're as secure as if you were typing your password in every time

Wednesday, May 28, 2008

Recommendation Letter redux: how to write a letter of recommendation for a friend

Since I wrote this short joking post about faux pas in a friend's recommendation letter, I've been getting people asking me how to write a good recommendation letter.

For posterity and the Internet, here you go:


  • Above all, be professional.

    Remember, your friend / colleague / student is submitting this for something that is very important to them. Probably the most important part is making sure that it reads like something you'd submit to a scholarly journal, not something you'd comment on their myspace page with.

  • Be real.

    Talk about them as you know them: write about the qualities they've shown through the experiences you've had with them. Don't fluff, bullshit, or otherwise go further than your experiences can warrant.

  • Advocate

    Remember, they're trying to get something from someone with this. That job, college admission, or grad school means a lot to your friend, and you have the ability to directly affect their chances. On the other hand, don't advocate so much that you're written off as a cheerleader.

  • Be specific

    If prompts are provided, make sure you nail every one of them. If they aren't, think about what you'd want in someone working or studying with you, and nail those points. Particularly, make sure you talk about communication skills, work ethic, and creativity, since those are pretty universally applicable.

  • Don't just talk about the good things

    Make sure you discuss ways in which they're not perfect. Talk about how they worked on their problems, how they changed for the better, and how they overcame obstacles.

  • Get other eyes on it

    Before you send that make-or-break document off, have other people read it and give you feedback. A fresh set of eyes can catch possibly credibility-damaging errors before you have to apologize for them.

    In a pinch, drop me (Justin George) a note and I'll do a brain-dead check on it for you.


Stylistically, there are a couple things you want to make sure you do:

  • Succinctness

    Write in short, complete paragraphs, and make sure each one has a topic. Limit yourself to a few sentences for each, and keep it punchy.

  • Length

    Take the space you need, but don't be verbose. Imagine yourself in the shoes of the reviewer: you don't want to waste time, neither do they. I usually suggest that people aim for a page, two or three if you've known them for a long time or in multiple roles.

  • Quality

    Sign it with real pen, on real paper, and mail it to them. People are silly creatures, and an authentic signature on good stationery will make it clear that you mean it.

    You do have good stationery, don't you? Everyone should have a few sheets of quality personal stationery for just such an occasion. Rag paper with a heavy feel shows you care enough to spend money on the people you're writing to, as well as the person you're writing for.

These are, generally, the same rules you should follow for all good writing. In fact, you'd do well to follow them for all official correspondence, including admissions letters and particularly thank-you letters.

If you're the one getting a recommendation, remember that it takes a lot of time and effort to write a really stellar one, so make sure you write them two letters: One to ask for a recommendation letter (Even if you're asking for a recommendation letter in person, it's a nice touch to follow up) and a second as a thank-you letter (both on real paper, following the rules above) and mean it. It will make you memorable in the future, and that can mean jobs, referrals, and other benefits, as well as a lasting friendship.

Saturday, May 24, 2008

Bouncy visitors

Ouch! That's a low bounce rate!

Most simple websites and blogs have a really high bounce rate. Mine hovers around 95%.

So we lost 95% of the folks in the first three words of that sentence. Ouch.

Thus, you need to make the first words of the page good ones. One of the Portland bloggers I know just swapped out his Wordpress [Edit: Blogger! my bad.] default title text with a custom image and cut his bounce rate to one-tenth what it was.

The blog header in question

So, that being said:

  • If you have a site, think about the first thing people see.
  • I'm going to go get myself a custom header