About Atomic Object
We design and build world-class software for all sorts of clients.
Atomic Object Contact Us: +1 616 776 6020 contact@atomicobject.comCategories
Stay Connected
Letter to an Undergraduate Computer Science Class
Last week I spoke to an undergraduate data structures class at GVSU. The talk was partially about data structures, but mostly about becoming a good developer. Most of this is old hat, but I think it’s good advice to just about anyone.
Posted in Community, Culture, Design & Development, Languages, Tools, Unix, Linux, and Bash Tagged grand rapids Leave a comment
Some Notes on Clojure Performance
We learned two major performance lessons very quickly while working on the hottest part of our recent Clojure application: Laziness Laziness is amazing. As Debasish Ghosh explained on his blog, laziness lets you effectively reify and compose loops. Code that looks like it’s producing intermediate data structures is actually composing together patterns of iteration. When...
Read More
Read More
Posted in Design & Development, Languages, Uncategorized Tagged clojure, development Leave a comment
Higher-order Contextual Functions in Clojure
A lot of functions in Clojure take the form (f args1* f2 args2*), where (f args1) represents a context and (f2 args2) represents a computation to perform in that context. I’m going to call this Clojure’s “contextual function” pattern (since I’ve never seen it named before). This pattern is easy to overlook, but it’s powerful,...
Read More
Read More
Clojure Desktop Applications with Swing
Starting a Clojure Desktop Application We’re starting up our first desktop application in Clojure. We’re a heavy vim and ruby shop. We’ve done several desktop applications in JRuby. This is the first time we’ve tackled swing UIs and GUI testing in Clojure. It’s still early in the process, but here’s what we’ve found so far.
Posted in Languages 15 Comments
Planning for Scale
How much traffic does my site need to support? How much do I need to pay for site hosting? How big should my database server be? These are core technical considerations for anyone starting a new software project. But what’s the right context and direction for this discussion? At this year’s Business of Software conference,...
Read More
Read More
Optimize Page Speed with jQuery Waypoints
My current project is a web reporting tool. Each report includes several highcharts to present data interactively to the user. The site performs just fine in modern browsers, but IE 7 and 8 just can’t take the workload. With the charts enabled, pages were taking seconds longer to load in IE for some users. All...
Read More
Read More
Poly-skilled Teams Deliver Products
A lot of what sets Atomic Object apart is our people – we work very hard to ensure we hire the best. But hiring great people isn’t enough. The best people need to be set up in an environment where they can use their skills effectively and translate their excellence into business value. Atomic’s strategy of...
Read More
Read More
Posted in Business of Software, Company, Culture, Pairing, Project Management 5 Comments
Atomic Vim
Over the last couple of years, most of us here have settled on a shared base vim config. I originally assembled this config after leaving vim for TextMate for a while, only to return wanting the best of both worlds. This isn’t exactly an original endeavor, but the result is a little different from other...
Read More
Read More
Posted in Tools, Unix, Linux, and Bash 3 Comments
Structural Templating with jquery.expand
With templating libraries, there are usually at least three pieces: your data, a collection of static content, and rules for interpolating the data into said content. Most templating libraries (e.g. ERB and Mustache) include an interpolation syntax for embedding the rules directly in structureless text. This makes sense when a library will be used for...
Read More
Read More

