Knowing When Your Ember App is Done Loading

I recently worked on a PDF export feature for our Ember.js web app. There’s some interesting plumbing involving Active Job and PDFKit, but today’s story is about the interaction of wkhtmltopdf with Ember apps.

wkhtmltopdf is a headless browser that, given a URL, spits out a PDF. The problem we encountered is that wkhtmltopdf didn’t recognize when our Ember app was done loading, and thus at a good point to save the PDF.
Read more on Knowing When Your Ember App is Done Loading…

‘Holding Space’ for Each Other at Work

I have answered a lot of questions about Atomic Object since I started working here over 2 years ago. Since I am one of only a few Atoms with no technical background, “What do you do there?”  is the single most frequent. In truth, I still struggle for the most succinct answer to this question. My business card reads Office Coordinator, but my favorite descriptions have come from other people:

Read more on ‘Holding Space’ for Each Other at Work…

5 Questions to Ask When Bringing in Third-Party Code

At Atomic, we often create a lot of value for our customers by combining our high-quality custom software with open-source, third-party software libraries. This saves money that would otherwise need to be spent reimplementing core functionality, and it provides the quality that comes with the feedback loop only widely-used software can generate.

But selecting these libraries is not a task to be taken lightly. Just as the right library can offer a lot of value, the wrong library can create a lot of pain. To make sure your decision will benefit your project, ask yourself a set of questions. Read more on 5 Questions to Ask When Bringing in Third-Party Code…

Side-Load Like a Pro with Ember-RESTless

Side-loading is an efficient way for a developer to pull multiple pieces of relevant JSON data (i.e. data for multiple model types) from a single HTTP request in a client-server implementation. Rather than requiring a client to make multiple requests to fetch the full set of relevant data, side-loading automatically sends all relevant data back from the server. Read more on Side-Load Like a Pro with Ember-RESTless…

Thinking in Aggregates – Moving Beyond the Singular

Aggregate \Ag”gre*gate\ n. – a mass, assemblage, or sum of particulars; as, a house is an aggregate of stone, brick, timber, etc.

When we first learn a new thing, it’s the particulars that stand out to us. A pre-toddler learning to walk must focus on each and every step. But as we grow, the particulars fade into higher-level ideas and skills. As adults, we rarely think about individual steps; instead, we simply go for a walk.

The same pattern is found in professional fields, such as science. The particulars of orbits and falling things gave way to the aggregate idea of gravity. When scientists first discovered electrons, they imagined them as single, planet-like points orbiting an atomic nucleus. Since then, scientists have given up the idea of point-like electrons, replacing it with the aggregate concept of an electron probability cloud.

The science and art of programming trends the same direction. Read more on Thinking in Aggregates – Moving Beyond the Singular…

10 Steps for Ramping into Ember.js Quickly

Ember.js is (perhaps wrongly) notorious for having a steep learning curve. I’ve heard experienced web developers complain it’s complex and difficult to learn.

At Atomic Object, we have used it successfully on many projects, and I’ve put together 10 steps to help other developers explore the Wonderful World of Ember. These tips are aimed at experienced web developers–especially those with Rails or JavaScript framework experience–but I think they can be useful for anyone who is approaching Ember for the first time.
Read more on 10 Steps for Ramping into Ember.js Quickly…

Fuzz Testing with afl-fuzz (American Fuzzy Lop)

Last year’s wave of major network security vulnerabilities has kept adversarial testing on my mind. Security auditing tools can discover bugs which are missed during more general testing. In particular, my interest was piqued by American fuzzy lop, a fuzzer released by the Google security team, and I’ve been waiting for the right project to try it out. Read more on Fuzz Testing with afl-fuzz (American Fuzzy Lop)…

Consultancies: The Smart First Job for Software Developers

When I joined Atomic fresh out of school 11 years ago, I didn’t realize I was making the best career decision a young software developer could make. I was attracted to Atomic Object because it was a smaller company, the people were extremely smart and driven, and the technical practices were cutting-edge.

I didn’t realize it at the time, but there was a much more important aspect of Atomic that made it the most valuable place to start my career. Atomic was a consultancy. Read more on Consultancies: The Smart First Job for Software Developers…

Easy Design & Front-End Practices for Improving Accessibility

It’s a widely accepted truth that accessibility on the web is important. Of course, everybody should have equal access to technology! However, when it comes down to it and project timelines and budgets are at stake, it can be more difficult to put this belief into practice.  

As technology continues to emerge and best practices continue to evolve, it can also be difficult to keep up–last year’s best practice may have already been discarded in favor of something else. In this post, I’d like to share a few easy ways that we can all improve web accessibility.  Read more on Easy Design & Front-End Practices for Improving Accessibility…

loading…