TIL: ActionMailer Preview

It’s been a while since I’ve worked with transactional email directly with Rails. This is because I’ve previously been working on some larger projects that have justified the use of...

SASS Colour Functions

I’ve been implementing a style guide this week, and in particular have been trying to focus on creating clean, decoupled, and reusable components. Part of this effort has involved ensuring...

TIL: Mocking with Minitest in Ruby 2.0+

I normally work within an RSpec testing envionment, but I definitely enjoy working with more traditional Test::Unit tests when I get the chance. Today I discovered that Minitest, the testing...

TIL: Nested layouts in Rails

Nested layouts in Rails aren’t a technique that I’ve had to use a lot in the past, but I’m finding myself using them quite a bit in my current work....

TIL: SASS @at root

The @at-root directive can be quite useful for creating SASS rules where you need to jump outside of a SASS scoping block back to the root level when your styles...

TIL: text underline position

TIL about the CSS property text-underline-position. This property is a useful progressive enhancement to achieve a particular look and feel for links, in particular for content with many descenders. Examples:...

Calibre Content Server

I’ve used Calibre for years to manage my eBook collection. It’s a great piece of software that has always worked really well for me. I discovered today that Calibre has...

Rails: config_for

Sometimes an application can have pretty complex configuration for certain components. There’s always temptation to put these settings straight in your service, but today I learned about a simple method...

A Brief History of Donnelly Flat

I frequently find myself tramping into the Tararua Forest Park from the Mount Holdsworth road-end, travelling through Donnelly Flat, a popular picnic spot around 10 minutes from the roadend. After...

Totara Flats, Tararuas

A little while ago, I blogged about the trip to Powell Hut. This post decribes an alternative trip into the Tararuas, from the Waiohine road-end into Totara Flats Hut. I...

Powell Hut, Tararuas

The Tararua ranges have a fearsome reputation in New Zealand. Frequently cloudy, snowy, rainy, misty, almost always windy, and very occasionally, sunny (though not to be trusted). Despite this bad...

Simple Ember CLI deploys

Note: I can’t vouch as to the best-practise compliance of this technique, but it’s worked well for me. One of the neat things about using a Javascript framework such as...

Walking the Waikaremoana

The Waikaremoana track is one of the Department of Conservation’s nine great walks, and is located in the Te Urewara area of the North Island, inland from the East Cape...

Coming or Going? The North American P-82

By United States Air Force [Public domain], via Wikimedia Commons This aircraft is literally two P-51 Mustangs banged together. I entirely appreciate the thinking behind taking a very successful platform...

Sshhh...Secrets in Rails 4.1

With the recent release of Rails 4.1, has come a feature that I’ve really been looking forward to. That feature is automatic support for storing your application’s secrets in a...

Keeping secrets in an Android Application

As a (mainly) Rails developer, I’m pretty accustomed to the need for secret keeping within a server-based application, and how it gets done (typically, config.yml’s and/or ENV variables). Getting into...

I’m a minimalist. When it comes to web design, I value white space, typography and function. People come to your site for the writing, which is why a focus on these elements will almost always result in a good user experience. Adding non-essential elements to a page reduces signal and creates noise. — Sam Solomon

Very much inline with how I feel about design and UX in general.

Source controlling my toolkit

This morning, I created a new repository on Github called toolkit. I’m using it to keep track of the tools I use every day, in order to benefit others who...

Finding records by ID with Ransack

Ransack is one of my go-to Rubygems, especially for admin applications. It provides a really simple interface to building up complex filtering and ‘searching’ of many records. Check out the...

HTML5 Notifications

On the Spot is a pet project that I tend to develop with bleeding-edge features in mind - something a bit more volatile than Latter, which is used heavily enough...

Secret Keeping with Rails

Ever needed to store some secrets in Rails that you don’t want to share with the world? Yeah, same! In this post, I’m going to outline a really simple way...

Whakamāori te Latter

Introduction I’ve spent the last week translating Latter (really badly) into Māori using Rails’ I18n support. Since this is the first time I’ve done a full site translation, I wanted...

Sublime Text 2: Do not reopen files

For quite some time now, I’ve been using alloy’s fork of Macvim as my primary editor, along with janus, and it’s been working out really well. I’ve just started trying...

Document your code with Tomdoc

Documentation in Ruby on Rails apps tends to be somewhat of a hit-and-miss affair, particularly within non-product organizations. In this blog post, I’ll run through how Tomdoc has helped my...

Jekyll Content Liquid Tags

For the last week after deploying my new blog to joshmcarthur.com instead of a ‘blog’ subdomain, and implementing a new design and back-to-basics blogging engine, I’ve noticed that my markdown...

Bootstrap Tablesorter Styles

When Twitter Bootstrap first shipped, it came with a couple of handy integrations with external jQuery plugins. Once of the more popular of these integrations was styles that were compatible...

Upcoming: RateMyCourses

Tonight I’d like to talk about a project I’ve been working on in my spare time for the last few months. I’m super excited to see it coming together, and...

A Fun Little Bookmarklet

I’m sure this has been done before, but after noticing 1-day’s ‘Look Busy’ feature, I just had to write a bookmarklet to load this up on any site! If you...

Action Mailer Interceptors

ActionMailer Interceptors are a great way to test the full stack of your mailing in Rails from the generation from data through to receiving the email in your client. They...

Overriding Action Caches

Recently, I have been working on a web application that is quite media rich, and is expected to run into quite a bit of traffic. I’ve been working on building...

Howto: Database Backup and Restore

An inherent part of developing web applications is managing your datastores - typically, a relational database such as MySQL or PostgreSQL. Today, I’m going to quickly cover off how to...

Introducing Blog Broadcaster

I’ve just completed a Blog Broadcaster for this blog. It had a couple of interesting technical things, and I needed to test it properly, so here’s this post! I recently...

Achievements on Coderwall

Well, it’s taken weeks for Coderwall to finally get it’s crawler to hit my Github Profile, but I’ve finally got more badges. I’ve been moving some old PHP stuff of...

Quick: Clear Gemset

If you’re finding that you have to change something fairly significant in your bundler dependencies, it’s usually a good idea to get rid of what you’ve got loaded in an...

'Password' or 'Passphrase'

So apparently pass phrases are the new ‘secure password’ - kinda the step you get to when you finally accept that your users are going to use something like ‘password’...

Quick: .rvmrc

This post is probably something more experienced RVM users will already know, but I wanted to post this as it’s definitely my discovery of the week. When throwing an .rvmrc...

Spree Hosted Gateway

Spree Hosted Gateway is my second ‘big’ extension - one of the ones that isn’t just adding one or two bits of nice functionality, but actually and end-to-end solution to...

Running Rake tasks with Cron (RVM)

Recently I’ve had to deal with a strange problem with rake tasks being run using Cron, a UNIX tool for running commands on a scheduled basis. The problem was basically...

OK, So I Was Wrong

OK,_So_I_Was_Wrong So I was just flipping through my archives of blog posts, when I found this_one my first ever post to Tumblr, where I vowed to stop posting enormously long...

Dynamically Serving Inline Images with Rack

Following an insanely interesting presentation by Steve Souders at Webstock, I began thinking about ways to simplify (i.e. automate) certain processes to optimize performance of sites. Something that immediately jumped...

Radiant as a Service-delivery Platform

Tonight I’ve been playing round with Radiant - it looks really impressive as a content-management system, and I’ve been thinking about ways I can change it round to support vendors...

Rubbish Domain Names

Finding appropriate domain names is a chore. There are so many rubbish parking sites out there that just … shouldn’t be. I dare sayjoshmcarthur.me could be considered one of them,...

Time Problems

Fixing time problems is probably one of the most satisfying things to fix programmatically for me. It is one of those things where you may spend ages stabbing in the...

Interesting Ideas

As part of my research for my last-minute essay rewrite, I happened to pick up an article covering an interview with David_Heinemeier_Hansson, partner at 37signals.com and inventor of Ruby_on_Rails. Hansson...

A handy tip

Just FYI… See 2 posts ago - I am modifying this theme to make it work a bit nicer. Part of this included wanting to change some images. I was...

My new look...

Do you like my revamped theme? I think it’s totally cool to have this type of timeline in a microblog like Tumblr - it makes things really easy to flip...

Here's how this works...

Right team, listen up. See, I’m quite a lazy blogger - it’s just too much effort, and it never seems to be shiny enough (Just check out my old_blog out...

I'm Josh McArthur, a web developer specializing in Ruby on Rails and Phoenix. I contribute code on GitHub and write blog posts about technology and tramping here.