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…

5 Steps to Getting Started with Embedded Programing

I’ve been getting asked the question, “So how would I get started with embedded development?” more and more often lately.

This is actually a really tricky question. It’s not like, “How would I get started with Haskell?” or “How would I get started with Rust?” Embedded development is such a weird and diverse thing that it’s almost like asking, “How do I get started with programming?” except in an alternate universe where 128k is still a lot of RAM. I’m not sure where to even begin.

Read more on 5 Steps to Getting Started with Embedded Programing…

Continuous Validation for Mobile User Interfaces in iOS

Laying out the user interface of a mobile app (or any app for that matter) is not a simple process. As visual designs get more complex and the number of devices and screen sizes grow, the work of a mobile developer grows more challenging.

Many developers choose to leverage open source tools to help with layout or image rendering. Because those libraries evolve over time, updating to new versions can cause unexpected changes to the look and behavior of the app. That puts the burden on developers to continuously monitor their work for problems that may emerge in the UI. Read more on Continuous Validation for Mobile User Interfaces in iOS…

loading…