Sign up for our newsletter

Recieve a selection of our favorite articles the first Friday of every month!

Development Entries

Article  |  Development

The Pros and Cons of Modular Sass

7 Jan 2014

Using modular Sass

In the past year or so, the front-end developers at Planet Argon have taken more of a modular approach to writing CSS. This means writing CSS in a way that promotes forward-thinking, scalability, and ease of development. Before I get into the pros and cons, here’s a quick example of the difference between a modular and non-modular approach.

Continue Reading

Article  |  Development

Epicodus - What are the Students Saying? Part 1

6 Nov 2013

Throughout this week I’ll be posting my interviews with three students from local code school, Epicodus. They’ll talk about their experiences with the program and how they have been growing as web developers in the past few months.

With the emergence of of code schools in recent years, it can be hard to keep track of them all. Which ones should we be paying attention to as potential employers or students? I wanted to delve a little deeper and take a look at how current students felt about the program.

Today we hear from Braden O’Guinn and his experience with Epicodus.

Continue Reading

Article  |  Development

OS X Mavericks, failing specs and libxml

24 Oct 2013

After an OS X upgrade from 10.8 to 10.9, I noticed some previously-passing Capybara specs were failing. The failing specs all shared a similar structure:

  it 'should show some text in the 2nd tr' do
     visit some_path
     page.should have_selector('tr:nth-child(2)', text: 'some text')

Notice nth-child pseudo-selector; this seemed likely to be involved as other specs using have_selector with plain class selectors continued to pass.

I applied a number of patches that folks seem to be performing on their new 10.9 installs (installed XCode 5.0.1 and then dev tools via xcode-select --install, running brew updates, etc) and nothing changed. What led me to a solution was this Nokogiri Github issue from the Mountain Lion release:

I ran one of my failing specs with the DYLD_PRINT_LIBRARIES=1 flag mentioned in this issue:

dyld: loaded: /usr/lib/libxml2.2.dylib
dyld: loaded: [repo]/vendor/ruby/1.9.1/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxml2/2.8.0/lib/libxml2.2.dylib

As the issue suggests, I added a reference to Nokogiri directly below Rails in my Gemfile (it did not have an explicit reference in the Gemfile before this). After that, I see this load order:

dyld: loaded: [repo]/vendor/ruby/1.9.1/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxml2/2.8.0/lib/libxml2.2.dylib
dyld: loaded: /usr/lib/libxml2.2.dylib

With the libxml dylib loaded first from the bundled Nokogiri, my specs pass again.

Continue Reading

Article  |  Development

Neil's Three Favorite Wicked Good Ruby Talks

21 Oct 2013

Last week Neil ventured to Boston for the inaugural Wicked Good Ruby Conf, an event drawing technologists from many disciplines who share a common trait: it was for those who love Ruby and use it to get work done. The two-day, two-track event provided a rich array of talks, from the pragmatic and studied, to the irreverent, theoretical and forward-looking. It speaks to the ambition of the conference that within its span, one could learn how to fine-tune a Rails backend, learn the innards of a linotype machine, use one language to bridge the chasm between desktop and mobile, predict capital market behaviors, and see how JRuby might come to eat the world. Here are his favorite three.

  1. MRI Magic Tricks by Charlie Somerville

    A hacker's hacker, Charlie used his time to decimate the Ruby language, peeling off the layers of the MRI implementation and revealing what it takes to build a dynamic language with the flexibility and power of Ruby. His initial caveat of "Don't try this at home" set the tone, as he proceeds to exhume the secret core classes of MRI, and use his findings (with some clever dynamic programming) to redefine some of the language's most basic behaviors, such as hash construction and method aliasing. He concludes by rewriting class hierarchies at runtime and patching the language to rescue itself from pesky segmentation faults.

  2. RubyMotion: Under the Hood by Joshua Ballanco

    Joshua's talk was the kind that adds to the depth and breadth of your knowledge. He uses RubyMotion, the increasingly popular iOS development platform, to convey some of the core abilities and limitations of code execution on desktop and mobile devices. He details the work that went into MacRuby on the OSX platform, highlighting the balance achieved through direct source compilation and the OSX Ruby VM. He then notes why RubyMotion relies on direct compilation alone: the memory isolation inherent in iOS. Meanwhile, we learn some of the nuances of garbage collection and reference counting on those platforms, and when one would need to be explicit in writing mobile Ruby code that interacts pleasantly with ARC. The power of these parallel platforms becomes more clear as he hits the REPL to express the same objects in both Objective-C and Ruby.

  3. Understanding Ruby's Method Cache by Rachel Myers and Sheena McCoy

    As as web developer, you typically would spend your time optimizing for reduced network and backend invocations, and so it was a nice break to get an introduction to language-level caching with Ruby. Rachel and Sheena led us down this path with a sense of humor and copious Jurassic Park references. We start with method-caching (or lackthereof) in Ruby 1.8, how everything changes in 1.9 with the merge of of the YARV implementation, and what lies ahead for more advanced, context-sensitive caching. Tips to avoid invalidating your cache are presented (hint: don't go crazy with define_method, alias_method, openstruct, refinements, etc), and we get a clear picture of how Ruby is evolving alongside its big-brother languages.

Continue Reading

Article  |  Development

A chat with Ken Stowell - local Javascript expert from Metal Toad

7 Oct 2013

I’ve been scouring the internet to find some folks in our fair city of Portland, OR who are willing to talk about their developer experience.

I was lucky enough to connect with Ken Stowell of Metal Toad Media. Metal Toad Media has an agency here in Portland as well as L.A. and San Francisco.

Ken lives here with us in Portland and was happy to answer my questions. I was hoping to learn a little more about Javascript developers and how developer interns like me could find our way into the industry.

Ken Stowell

Continue Reading

Article  |  Development

Get Your Photo on Google Results with Google Authorship

14 Aug 2013

I know you have seen it. You are searching for a hack to make IE behave itself and you come across search results with someone’s smiling mug right there next to the link. If you are like me, you are more likely to click these results instead of the boring, all-text results. Something about seeing the author’s face right next to their link inspires an added air of credibility and expertise. Pretty good deal for those people.

Image of search results with my photo next to them

So, now you are thinking, how can I get my photo up on my Google search results? Well, let me explain.

Continue Reading

Link  |  Development

The GitHub Pages Gem simplifies local GitHub Pages development

12 Aug 2013

Article  |  Development

Favorite talks of RailsConf 2013

31 May 2013

RailsConf 2013 was held in our hometown of Portland, Oregon. Most of us had been to RailsConf at least once before, though it had been a few years. The Rails ecosystem has really matured since then, and maintainability and APIs dominated many of the talks instead of social networks and new toolkits. There were many good talks and speakers, but a few truly exceptional ones that we really enjoyed. So we each selected our favorites and suggest anyone that couldn’t go this year should check these out online at Confreaks They should be posted shortly.

Continue Reading

Link  |  Development

Can I Use the first-child pseudo-element in IE8?

3 Apr 2013

Article  |  Development

Web Dev Workshop Announced!

25 Feb 2013

Planet Argon will hold its first Modern Web Dev workshop on May 6, 2013 in Portland, OR at the historic Kennedy School. This workshop will focus on new and emerging front-end development techniques including Bootstrap, SCSS, Jekyll and Github.

Continue Reading

Article  |  Development

Couchbase Dev Day PDX

30 Jan 2013

Last week several argonauts made our way to Couchbase Dev Day PDX, where members of the Couchbase development team Jasdeep, Tugduall and John provided us with a walkthrough of the new features of Couchbase Server 2.0, along with tips and use cases for squeezing performance from data-centric apps. They gave us a rundown of their quickly evolving NoSql technologies and, since then, we've been mulling over how best to leverage Couchbase here at Planet Argon.

Continue Reading

Article  |  Development

Flash Message Conductor Now Rails 3 Compatible

2 Jan 2013

As 2012 was winding down and the holiday season was winding up, I took time to work on some of our internal projects.

While updating some applications to Rails 3, I noticed that our gem, Flash Message Conductor, was not still Rails 3 ready.

Instead of replacing all of the syntactic sugar that Flash Message Conductor gives us to the Rails defaults in our applications, I decided to update the gem to use Rails 3.

I'm pleased to announce that Flash Message Conductor 2.0 is now available for download and it's compatible with all versions of Rails 3 (3.0, 3.1, and 3.2).

Still using Rails 2? Don't worry, you can still using version 1.x of the gem in your projects.

Continue Reading

Article  |  Development

Rails Hosting Survey 2012 Results Are In!

14 Aug 2012

In 2009 we asked the community how they hosted their Rails applications. Over 1,200 people chimed in with their answers. Once the data was compiled, we released the results to the community so that everyone could see where we were and where we were going.

In 2012, we set out to find what had changed over the last three years.

This time around 1,306 people took time out of their days to let us know how they were hosting their apps.

As before, we’re releasing the results back to the community along with this handy infographic that we’ve put together.

Let’s take a look at the data.

Rails Community – Still Growing

It looks like Ruby on Rails is still attracting new people, with over 25% of the respondents saying that they’ve joined the community in the last two years.

Ruby and Rails Versions – Old and New

This year, we asked two new questions. We wanted to know what versions of Ruby and Ruby on Rails people have deployed out there.

The data is interesting. 45% of people reported that they had at least one application out there still running on the venerable Rails 2.3.x version. In addition to that, 85% of people have deployed an application running on Rails 3.2.

On the Ruby side, a similar trend emerges, over 50% of people said that they were using Ruby 1.8.7 (either REE or MRI), but people overwhelming said that they also had applications running on Ruby 1.9.3.

I think that this shows that the community is pragmatic, supporting applications that are older, but unafraid of adopting the latest and greatest when the opportunity presents itself.

A Few Surprises

There were a few surprises this year.

In 2009, 80% of people said that they were using MySQL and 63% said that they preferred using said database server. This year, PostgreSQL eats up a large chunk of MySQL’s market share. 40% of people said that they were using Postgres in production and 60% of people said that they wanted to use it in production.

Although the majority of developers are keeping track of exceptions there is a significant number of developers that aren’t; nearly 30% of all developers.

Of those developers that are tracking exceptions, the most popular method is by using the Airbrake app (formerly known as Hoptoad). Airbrake zoomed past ExceptionNotifier gobbling up 50% of the vote. ExceptionNotifier used to reign in this space with 53% of the vote in the last survey.

This is the first year that we’ve asked about the use of Continuous Integration and we were surprised to see the number of people that aren’t using one so high. 64% of people said that they aren’t using a CI server.

Of the people that are using a CI server, Jenkins is by far the most popular with nearly 66% of the vote with Travis CI coming in a distant second with 27%.

One more surprise showed up in the results from this year. Apache and Nginx did a bit of role reversal.

In 2009, 69% of people said that they were using Apache, while Nginx took a backseat with just 24% of the vote. In 2012, things are quite different as Nginx is now the leader with 61% of the vote and Apache drops to 35%.

Predictable Trends

In addition to the surprises this year, there were some predictable trends. In 2009, over 60% of the people chose Git as their source control software, but there were still 36% of people out there using Subversion.

In 2012, people resoundingly chose Git. That number jumped to 94% and Subversion withered away to a mere 4%.

Another unsurprising trend is the battle of the Rails servers.

In 2009, 38% of people were using Mongrel. In 2012, someone let the dogs out but they didn’t come back. Mongrel’s share dropped down to a measly 3%. Most of this market share went over to the relatively new upstart Unicorn, while Passenger picked up a few percentage points to its lead.


It’s definitely been interesting seeing the trends in between the two surveys and I think it’s going to be interesting to see what happens in another few years.

Where do you see trends going in another 3 years?


Yes, we’ve put together an infographic for your consumption!

Continue Reading

Have a project that needs help?

New Call-to-action