Ubuntu wallpaper archive

I don’t see any­one else doing it, so I’ve decided to keep an archive of the default wall­pa­per in Ubuntu.

Ubuntu 4.10, code name Warty Warthog

Default wallpaper in Ubuntu 4.10 (Warty Warthog)

Ubuntu 5.04, code name Hoary Hedgehog

Default wallpaper in Ubuntu 5.04 (Hoary Hedgehog)

Ubuntu 5.10, code name Breezy Badger

Default wallpaper in Ubuntu 5.10 (Breezy Badger)

Ubuntu 6.06 LTS, code name Dapper Drake

Default wallpaper in Ubuntu 6.06 LTS (Dapper Drake)

Ubuntu 6.10, code name Edgy Eft

Default wallpaper in Ubuntu 6.10 (Edgy Eft)

Ubuntu 7.04, code name Feisty Fawn

Default wallpaper in Ubuntu 7.04 (Feisty Fawn)

Ubuntu 7.10, code name Gutsy Gibbon

Default wallpaper in Ubuntu 7.10 (Gutsy Gibbon)

Ubuntu 8.04 LTS, code name Hardy Heron

Default wallpaper in Ubuntu 8.04 LTS (Hardy Heron)

Ubuntu 8.10, code name Intrepid Ibex

Default wallpaper in Ubuntu 8.10 (Intrepid Ibex)

Ubuntu 9.04, code name Jaunty Jackalope

Default wallpaper in Ubuntu 9.04 (Jaunty Jackalope)

Ubuntu 9.10, code name Karmic Koala

Default wallpaper in Ubuntu 9.10 (Karmic Koala)

Ubuntu 10.04 LTS, code name Lucid Lynx

Default wallpaper in Ubuntu 10.04 LTS (Lucid Lynx)

Ubuntu 10.10, code name Maverick Meerkat

Default wallpaper in Ubuntu 10.10 (Maverick Meerkat)

Ubuntu 11.04, code name Natty Narwhal

Default wallpaper in Ubuntu 11.04 (Natty Narwhal)

Ubuntu 11.10, code name Oneiric Ocelot

Default wallpaper in Ubuntu 11.10 (Oneiric Ocelot)

Ubuntu 12.04 LTS, code name Precise Pangolin

Default wallpaper in Ubuntu 12.04 LTS (Precise Pangolin)

Ubuntu 12.10, code name Quantal Quetzal

Default wallpaper in Ubuntu 12.10 (Quantal Quetzal)

Ubuntu 13.04, code name Raring Ringtail

Default wallpaper in Ubuntu 13.04 (Raring Ringtail)


Easy calendar heatmaps for Git

GitHub pro­vides code frequency plots that show the num­ber of lines added and removed within a repos­i­tory over time:

Code frequency plot from GitHub

Here’s a quick and dirty method to visu­al­ize this infor­ma­tion from any local repos­i­tory in more chrono­log­i­cal detail, using the calendarHeat R func­tion from makeR:

git log --format=format:%cd --date=short --shortstat --no-merges master \
  | paste - - - | sort --key 1 | sed '$a\\' \
  | awk --field-separator "\t" '
    $1 != date { print date, ins, del; date = $1; ins = 0; del = 0; }
               { match($2, /([0-9]+) ins/, m); ins += m[1];
                 match($2, /([0-9]+) del/, m); del += m[1]; }' \
  | r --eval '
    library("makeR")
    attach(read.table(textConnection(readLines("stdin"))))
    png("heatmap.png")
    calendarHeat(V1, sapply(pmax(V2, V3), log))'

and the result:

Calendar heatmap of Git repository for Rack

Instead of show­ing line inser­tion and dele­tion counts sep­a­rately, I’ve cho­sen to use the sim­pli­fied met­ric of the max­i­mum of the two counts for each com­mit, and I’ve col­ored it on a log scale to accen­tu­ate small vari­a­tions.


How to set up Google Authenticator with Facebook

A blog post by the EFF today men­tioned that it’s pos­si­ble to use two-fac­tor authen­ti­ca­tion on Face­book with any RFC 6238–compliant authen­ti­ca­tion util­ity, such as Google Authenticator.

This is impor­tant, since it gives users the free­dom to simul­ta­ne­ously:

  • Opt in to stronger security protections.
  • Opt out of installing and granting permissions to Facebook's mobile app.

If, like me, you’ve been lug­ging around the Face­book app just for its Code Generator, here’s how to finally rid your­self of that depen­dency:

  1. In Face­book, go to Account Settings Security and expand the Login Approvals sec­tion.

    Facebook - Login Approvals - Edit

  2. Remove the exist­ing Code Gen­er­a­tor.

    Facebook - Login Approvals - Remove Code Generator

  3. Then, choose to add a new one.

    Facebook - Login Approvals - Set up Code Generator

  4. Don’t fol­low the instruc­tions it shows you. Instead, click on Having trouble? in the lower-left cor­ner.

    Facebook - Turn on Security Codes - Having trouble?

  5. Reveal your secret cryp­to­graphic key,

    Facebook - Code Generator - Get Key

    but don’t go any fur­ther yet.

    Facebook - Code Generator - Enter the code below

  6. In Google Authen­ti­ca­tor, go to Set up account Enter provided key. Enter a descrip­tion of your choice and the secret key from Face­book.

    Google Authenticator - Manual account entry

  7. Click Continue in Face­book and then test the setup by enter­ing an authen­ti­ca­tion code from Google Authen­ti­ca­tor.

    Google Authenticator - 6 digit code for Facebook

    Facebook - Code Generator - Enter 6 digit code

  8. If it worked, Face­book will present you with irrel­e­vant instruc­tions on how to use the Face­book app.

    Facebook - Code Generator - Success

    Ignore them.

You’re now free to unin­stall the Face­book app from your mobile device.