Detecting Ember.js Components Entering or Leaving the Viewport 

I wrote a post last year about how I made an Ember Mixin that would let Ember Components or Views know if their DOM element had entered or left the viewport. This time, I want to talk about how I improved the original Mixin to use the requestAnimationFrame API for improved performance at close to 60FPS.

The Beginner's Fallacy 
The Importance of Being Experience First 

Why being Experience First is more critical than ever – will the rise of website builders threaten the future of software consulting?

Elixir: Come for the syntax, stay for everything else 
Helping Our Engineers 

Writing Pseudo-Code as UX Developers

Pluralize Your Word(s) With ember-pluralize 

Introducing a pluralizing addon based on a given count.

Bringing Ember to the Desktop with NW.js 
Testing when your frontend and backend are separated 

How can you run full integration tests when using separate repos?

Rubyists Guide to Ember.js Dependencies 

A dependency management primer for Rubysist living in a Gemfile-less, Ember.js world.

Beginner’s mentality 

A fresh perspective can help an expert find and address their blind spots.

Tips for writing Ember Addons 
The Lean Project 

The right recipe of team, process, communication, work environment and pride

The Doldrums of Consulting 
Thriving in a New Work Environment 

Learn how to go beyond expectations at your new job

Ask good questions 

The only way to get real answers in user interviews for UX design

DockYard is now accepting staff augmentation Ember.js contracts 
EmberConf 2015 Day 2 

Live blog of EmberConf 2015

EmberConf 2015 Day 1 

Live blog of EmberConf 2015

Rubyist's Guide to Executing JavaScript 

A high-level look at how your Ruby and JavaScript code gets executed.

Automating Reefpoints 

We used Travis-CI to automatically publish this blog

Manage the conversation 

Learning to conduct user tests and interviews

Ember QUnit 0.2.x 
Vim: Jump, Jump, Jump! 

Kris Kross' favorite Vim feature

Debugging a Broccoli Tree 
Why I'm disappointed in React Native 
Empowering through Design 

The UX benefits of Single Page Web Apps

Estimation Buyers Guide 

Buyer beware of estimates without understanding how it was derived

Bubbling actions through components 

Let your actions be handled in your controllers and routes

Is your homepage as good as your door sign? 

Ask good questions to solve for real user goals

Joining DockYard 

Reflections on the past few months of being employed at DockYard

Job: Senior UI & Visual Designer

Work at DockYard designing highly interactive web applications!

Check your expectations (at the bathroom door) 

Your normal is not always their normal.

Masking private information from the owner 

Are we allowing users to walk right into identity theft?

Book design and the web 

Really understand your content, then select its format.

Why is Google ignoring over 400,000 backlinks to DockYard? 
Complex Search Pages Feel Better in Ember 

Creating a better search experience with Ember

BEM Tips: Avoid Chaining Modifiers 
Tips on Mental Models 

A few things to keep in mind.

Lessons Learned - Three years of running a software consultancy 
Pattern Matching in Elixir for Rubyists 
The Importance of Process, and Why It Matters 
HTMLBars: Calling All Testers 
Ember Wish List 
UX East Camp 2014 Redesign 
My project for UX Camp
Pitch This 
Motivation vs Discipline 
KSS Your Styleguide Goodbye 
Go: UX East's UX Camp

A weekend of creative thinking and collaboration.

JavaScript Performance For The Win 
Building Quality Into Our Projects 
Reducing Project Costs: Features As Business Objectives 
The Fear of Failure 
Comics and Big Data 
Designing an Experience 

A parallel between live performance and experience design.

The most difficult position to hire for in tech right now 
Project Carpe Diem - "Game Plan" 
On Selling UX 

Getting what you want out of your design process.

Making better repeat patterns 

My favorite technique to avoid the obvious tiled look.

Facebook Experiment 

How I tried to experiment back on Facebook.

Design as Conversation 

Invisible systems of the design process.

Ember Macros for DRY and Testable Code 
Introducing Ember CLI Addons 
KAPOW! Writing prototypes with Framer 

A look at Framer.js, a powerful prototyping tool.

Goodbye Heroku

Done with them

Making the DIY conference badges 

What are badges for, anyway?

Swift and JavaScript 

Swift explained for JavaScript developers

The Process Paradox 
Building an Ember App with Rails Part 4 
Avoid Rails When Generating JSON responses with PostgreSQL 

Let's use PostgreSQL instead of Ruby to generate JSON responses

Building an Ember App with Rails Part 3 
Building an Ember App with Rails Part 2 

Writing our first ember test

Building an Ember App with Rails Part 1 

ember-cli & Rails

The other thing DHH mentioned

The Design Pattern Cargo Culting of the Ruby Community

Preserve scrolling position in Ember Apps 

A simple mixin for your views

Stop using Ember Appkit Rails 

Just stop

Guarding with arrays 

A common pattern we use

What is holding up the uniqueness validator? 

One of the more requested features of ember-validations

Alert messages in Ember Apps 

The wonder of Woof!

Understanding validation graphs 

The power behind ember-validations

The problem with server-rendered errors 

Handling validation errors returned from the server is no easy task

The first two months at DockYard 

Recurring themes, and principles I learned in breaking into user experience design.

Don't override init 

Use events instead

Artist: Ryo Takemasa 

Highlighting an inspiring artist

Ember Object Self Troll 

Ember.Object.create explained

Vim: On Your Mark... 

An introduction to the mark motion

Designing Within The Browser 

Make room for accidental progress.

Magic behind ES6 Generators 

Overview of ES6 generators

Ember Conf picks up where the Rails community left off 

A summary of the first Ember Conference

Using Database Templates in Rails 

Discover a helpful Postgres config option

A Simple Ember Data Route 

A basic pattern for routes with Ember Data content

Native App Developers: We Can Help You 

Have an existing application? We can help you out!

Announcing PostgresExt-PostGIS 

PostgresExt-PostGIS adds PostGIS support to ActiveRecord

Ember Conf: Ember for Rails Devs 

Join our one day training session prior to Ember Conf in Portland, Oregon

Romina Vargas is a DockYarder! 
Robert Jackson is a DockYarder 
Lin Reid is a DockYarder! 
Lessons Learned: The First Two Years of Running a Software Consultancy 

Brian talks about what has worked, what has not worked, and the changes that have been made at DockYard during its first two years

Simple Property Enum Cycling in Ember 

A quick demo of cycling between a set of values

Be A Blunt Axe 

Giving good feedback without being too aggressive.

Introducing easydir.vim 

A Vim plugin that allows you create directories and files at the same time!

Never Stop Exploring 

Being true to yourself and creating passionate work.

Buffers, Windows, Tabs... Oh My! Part 2: Vim Windows 

A painless tutorial on Vim windows


Don't do what others tell you to do without thinking about it

Introducing Capybara-Extensions 

Write more descriptive tests with additional finders and matchers for Capybara.

Design Patterns: The Command Pattern 

Exploring design patterns and their use cases

Buffers, Windows, Tabs... Oh My! Part 1: Vim Buffers 

A painless tutorial on Vim buffers

Namespaced Pages 

New functionality for the gem

Design Patterns: The Composite Pattern 

Exploring design patterns and their use cases

Vim: Moving Lines Ain't Hard 

Quick ways to move lines

Vim: Staying on Home Row via Map 

Map commands for quick escapes and saves

Postgres_ext adds rank and common table expressions 

In postgres_ext 2.1, complex queries get much easier

Computed Properties in Ember.Js 

Computed Properties magic explained

Alex Navasardyan is a DockYarder! 

Our first fulltime Ember.js dev

Announcing Postgres_ext version 1.0 and 2.0 

Today, I released not 1 but 2 versions of PostgresExt

Design Patterns: The Observer Pattern 

NSA Edition: Exploring design patterns and their use cases

Testing Context Validations 

We moved your model validations to your controller, now we're going to help you test them

Putting things next to things with Susy 

The little grid framework that can

Design Patterns: The Strategy Pattern 

Exploring design patterns and their use cases

Design Patterns: The Template Method Pattern 

Exploring design patterns and their use cases

First Month at DockYard 

Our summer intern shares her thoughts on her first month with us

Steven Trevathan is a DockYarder 

DockYard absorbs Dobot!

Logan Faerber is a DockYarder 

DockYard absorbs Dobot!

DockYard Acquires Dobot 

Joining forces

Sean Hussey is a DockYarder 

We snag one of the tallest guys in Ruby

Introducing destroyed_at 

An ActiveRecord mixin for safe destroys

Michael Dupuis is a DockYarder 

Grow baby grow!

Marin Abernethy is a DockYarder 

Our first developer intern

Tilde's Ember Training 

We sent a group of developers to the Ember.js training that Tilde taught at Bocoup Loft

Context Validations 

An alternative to the normal Rails validations

Thoughts on Designing Responsive Websites 

What I've learned by making a few responsive websites - Part 1

We are hiring for a fulltime Ember.js developer 

Work at DockYard building Ember.js apps!

Running PostgreSQL 9.2 on Travis-CI 

Test your gem against the latest PostgreSQL version (or an older one)

Adding route specific body class tags in Ember 

For design!

Concurrent Indexes in PostgreSQL for Rails 4 and Postgres_ext 

Prevent new indexes from locking up your tables


We built an App Store for Heroku, got bored with it, and now open sourced it

Fixing Capybara 2.0 and Labels 

Capybara is broken, they refused to fix. Here is the monkey patch

Mike Sager Joins DockYard 


Introducing Ember-EasyForm 

A SimpleForm-like FormBuilder for Ember

Building an Ember app with RailsAPI - Part 3 

CUD, it isn't just for cows

Building an Ember app with RailsAPI - Part 2 

Building the Ember app

Building an Ember app with RailsAPI - Part 1 

Setting up RailsAPI for writing an Ember App

DismissibleHelpers released 

Add simple to implement help text that users can dismiss

Integration is Hard 

A description of techniques used to integrate with various vendors on a recent DockYard project for the AFL-CIO's Super PAC Worker's Voice.

OpenHack Boston 1.0 

Come one, come all!

Expanding the Yard 

The story of how we reimagined our site.

ClientSideValidations 3.2 Released! 

Better late than never

Querying PostgreSQL datatypes in ActiveRecord with postgres_ext 

Returning records based on array elements and network subnets

Making of the DockYard Narwin 

Animated gif of the evolution of the narwin

Rails 4.0 Sneak Peek: PostgreSQL array support 

Storing arrays natively in PostgreSQL is now supported by Rails

Doug Yun is a DockYarder! 

DockYard welcomes Doug Yun

Lessons Learned: The First Hire 

What to expect when you start hiring

Rails 4.0 Sneak Peek: Asynchronous ActionMailer 

How to send your emails using the new Rails 4.0 Queue

Rails 4.0 Sneak Peek: Queueing 

A look at the new Queueing API

Models, Views, and Controllers, Oh My! 

Getting started in Ruby on Rails

Lessons Learned: The First Six Months of Running a Software Consultancy 

Brian talks about what has worked, what has not worked, and the changes that have been made at DockYard during its first six month

postgres_ext: Adding Postgres data types to Rails 

Announcing postgres_ext, a gem that adds support for PostgreSQL data types to ActiveRecord

Amanda Cheung is a DockYarder! 

DockYard welcomes Amanda Cheung

BostonRB Goes Live 

Live streaming and expansion comes to BostonRB

Chris Gill is a DockYarder 

DockYard welcomes Chris Gill

Rails 4.0 Sneak Peek: Expanded ActiveRecord Support for PostgreSQL Datatypes 

Support added to ActiveRecord for INET, CIDR and MACADDR types for PostgreSQL

Sleep helper for your request tests 

A clean helper for giving visual feedback on long sleeps in your request tests

Using Backbone Views With Rails jQuery-ujs 

Throwing them together in a way that makes sense.

Tmux, for fun and profit 

Pair programming at distance

Use Association Extensions to Build Join Attributes on a HMT 

Russ lays down a use case for ActiveRecord association extensions

Our Continuous Integration Setup 

What we are doing to keep our developers honest with their tests

Dan McClain is a DockYarder 

DockYard welcomes Dan McClain

Rails Engines and Monkey Patching 

A simple pattern for extending your Rails Engines in your app

Single quotes or double quotes? 

An opinion on when to use the different quoting styles with some performance notes

Get those instance variables out of my specs! 

Clean up your specs with let and subject

Love Your lib Directory 

Patterns for happy hacking

Authenticating multiple models with a strategy 

Using the Strategy Pattern to clean up multiple login paths

Russ Jones is a DockYarder! 

DockYard welcomes Russ Jones as a partner

Angelo Simeoni is a DockYarder! 

DockYard welcomes Angelo Simeoni as a partner

ClientSideValidations goes modular 

Brian summarizes the changes to come in ClientSideValidations 3.2.0

It's Not A Vacation Follow Up 
It's Not A Vacation 
Convert Ruby Regexp to JavaScript RegExp 

A simple extraction from ClientSideValidations

GitHub Is One Commit Away From Being The Ultimate Blog Engine 
Mobile Web Apps Still Have Some Major Hurdles 

Brian summarizes DockYard's experience thus far with mobile web apps and some of the existing challenges to compete with native

DockYard is launched!