PLANET ARGON blog

Future Talk with Sandi Metz

27 Feb 2014

Sandi Metz explained her 5 rules (and why they matter) at Future Talk at New Relic on Monday the 24th.

Continue reading …

Javelin security product hits the market

24 Feb 2014

Easy search and filtering in Rails

21 Feb 2014

Justin Weiss posted a great article on how you can add quick and easy filtering for Rails models without bloating your controllers or models beyond adding scopes here

Continue reading …

Jason Fried on The Talk Show

21 Feb 2014

Sourcegraph ditches AngularJS

18 Feb 2014

Tips for prospective Juniors

13 Feb 2014

Entering the field as a Junior Developer can be intimidating. Here are a couple of experiences I found important in my preparation to making the transition into full time development.

Continue reading …

On App Notifications

4 Feb 2014

This is why facebook stopped emailing copies of notifications to people’s inboxes by default: they learned that emailing people less about what’s happening in the app actually keeps them coming back more.

holympus from Notifications are a UX Anti-Pattern

How Much Does a Custom Web Application Cost to Build?

1 Feb 2014

As one of the team members at Planet Argon who handles incoming requests for project opportunities, I’m often fielded the question, “what does a typical web application cost?” Like a good software engineer, my response is, “it depends.”

Continue reading …

Hello Ruby

28 Jan 2014

The Pros and Cons of Modular Sass

7 Jan 2014

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 …

oh-my-zsh t-shirts now available

13 Dec 2013

oh-my-zsh t-shirts now available

If you’re a fan of my open source project, oh-my-zsh, we have t-shirts available in the online store. Enjoy!

Get ’em now!

The UK Government discusses technical debt

10 Dec 2013

Obama encourages you to learn to code

9 Dec 2013

Just do it. The leader of the free world said so.

...yet

14 Nov 2013

Epicodus - What are the Students Saying? Part 3

11 Nov 2013

Today I’m concluding the series of interviews with Epicodus students! I got the chance to talk to Mac Eisenberg who is a native to Brooklyn, NYC. He came out to Portland from New York and is loving it.

Mac Eisenberg -left- and some of his fellow Epicodus students on a hike to Mount Hood

Continue reading …

Epicodus - What are the Students Saying? Part 2

8 Nov 2013

Welcome to round two of interviews with Epicodus students! Today we’ll talk with Hunter Meyer, a developer from Orlando, FL who loves Ruby on Rails.

Continue reading …

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 …

Three Quick Tips to a Better You (or me)

5 Nov 2013

A few tips off the top of my head

Continue reading …

Congrats to Ada Developers Academy

4 Nov 2013

Being empathetic works both ways

30 Oct 2013

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')
  end

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:

https://github.com/sparklemotion/nokogiri/issues/742

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.

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.

Sponsoring Rails Rumble 2013

7 Oct 2013

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 …

Oh My Zsh stickers in the shop!

27 Sep 2013

Oh My Zsh stickers in the shop!

One of my open source projects has grown a following over the past few years. People have been asking for stickers so we recently carved out time to design a logo and get some printed.

You can find them for sale in the shop now!