Internationalization using Gettext in the Phoenix framework

Written using Phoenix 1.1

Internationalization - what is it?

Internationalization (henceforth called i18n, because programmers are lazy and hate typing long words) is the process of adapting a web application for use in different languages or cultures. Any application that allows you to change your language has implemented i18n. It’s a close sibling of localization (L10n) - the process of actually implementing a different language/culture in a web app. Once support for i18n has been included in an app, it can be localized. This may involve adding new text strings in a different language, or configuring different date formats.

Read More…

A Day in the Life of an Elder Scrolls Online Fisherman

Fishing is one of those pastimes in video games that few people take seriously. It’s usually time consuming, tedious, and with little reward. In Elder Scrolls Online, its no exception, but I’m giving it a crack anyway!

(Note: This is a brief detour from our regularly scheduled programming discussion.)

Read More…

Books, books, books!

I’m an avid reader. A really, really avid reader. I grew up reading everything I could get my hands on (including a lot of things that weren’t, ahem, age-appropriate) and as an adult I still love reading so many different things. I picked up a Kindle in about 2008, and never looked back.

Read More…

Using page-specific page titles in the Phoenix framework

Written using Phoenix 0.13.1

One common task in web apps is setting a custom page title for each URL - your homepage should have a different title than a page listing out all of your projects (for example), which should have a different title than a page showing details of a single project.

There isn’t a built-in way to do this in Phoenix, but after much reading around forums, GitHub issues, etc. I hit on two potential ways to do it.

Read More…

`add_foreign_key` gotchas in Rails 4.2

Rails 4.2 finally added native support for database-level foreign keys, which is great. You can write the following code in a migration (assuming the presence of a users table):

def change
  create_table :posts do |t|
    t.references :user, index: true
  add_foreign_key :posts, :users

Read More…

Slaying Dragons

The following is a complete piece of code from a real Rails app that is currently in production.

Read More…

Why you should be using Database Cleaner's `deletion` strategy

me: Your regularly scheduled reminder that Database Cleaner’s deletion strategy is so much faster than the truncation strategy.
my coworker: You should write a blog post about it!
— from Twitter

Read More…

New Year's Resolutions

  1. Start a blog. (Hello. This is my blog.)
  2. Maintain said blog. This could be interesting - what will I write about?
  3. Get my tenpin bowling average up to 175. (I currently hover between 155 and 160.)

    Read More…