We're hiring!

We're actively seeking developers & designers for our new Detroit location. Learn more

Improving Unit Test Iteration Speed with Rails, Spork, and Resque

I’ve been working on a project using Rails lately, and one of the most challenging things about it has been trying to make the tests run efficiently. Unfortunately, there’s so much setup to get the Rails environment going that simple little unit tests take about 5 seconds to run. Of that 5 seconds, it takes…

Read More »

Posted in Testing, Tools, Uncategorized | Tagged , , , | Leave a comment

Better Key Events in Capybara-Webkit

As anyone who’s worked on key events in Javascript can tell you, it’s a stunningly, needlessly complicated mess. Not only are there three variables to choose from – keyCode, charCode, and the enigmatically-named which – but behavior differs from browser to browser, and between versions of the same browser. I found a pretty thorough summary…

Read More »

Posted in Languages, Testing, Tools, Web | Tagged , , | Leave a comment

The Ethics of Our Gadgets

There’s been a lot of news lately regarding Apple and its relationship with manufacturers and suppliers, particularly Foxconn. A lot of Atoms are big Apple junkies, but as a group we are very into sustainability, so of course it was quite troubling to hear that my iPhone might be the result of someone’s back-breaking shift…

Read More »

Posted in Community, Company, Culture, News | Tagged , , , | 2 Comments

Comparing googlemock to Mocha

Higher-level languages are great, but every now and then I like some good old C++. So I was a bit excited when I got the chance to use C++ recently on a piece of demo software. After spending a lot of time in Ruby and Javascript (or more accurately, Coffeescript), it was both comforting and…

Read More »

Posted in Design & Development, Languages, Testing, Tools | Tagged , , , , , | Leave a comment

Adding client connections and binary data to em-websocket

A few months ago I started working on a project where we wanted to use WebSockets. The technology seemed well-designed and lightweight, it enjoyed strong support from existing browsers, and we quickly found an implementation in Ruby to use for our server: em-websocket. The problem was, we also wanted a Ruby-based client. Our client environment…

Read More »

Posted in Languages, Web | Tagged , | Leave a comment

Putting a Stop to WebSockets and Winstone

Recently I’ve been working on a project combining an HTTP server and a WebSockets server. Traffic from both HTTP and WebSocket clients can affect server state and consequently an HTTP client can affect a WebSockets client and vice-versa. We are prototyping this in JRuby as a single .war file using warble. The HTTP server is…

Read More »

Posted in Languages, Prototyping, Testing, Tools, Web | Tagged , , | Leave a comment

Breadth-First Learning

I’ve been with Atomic for about a month now. That time has been many things: exciting, challenging, engaging, and fun. Perhaps chiefly, it has been a whirlwind tour over a vast array of technologies, languages, and concepts. Here is a small subset: test-driven development, extreme programming, vim, Ruby, jQuery, Coffeescript, Cucumber, WebSockets, EventMachine, web application…

Read More »

Posted in Design & Development, Languages, Testing, Tools, Web | Tagged , , | Leave a comment