My daughter, now 11 years old, had sparked my interest in the Scratch project, developed and supported by MIT. In order to get her in a little deeper and to play with Scratch myself, of course, we developed a game together. I wrote about this experience–which was a complete blast!–previously. We both had a ton of fun and taught each other a lot of things about Scratch. Since then, without my knowledge or prodding, she decided to embark on creating a full-scale game herself!
Sweat the Details, Land the Job
In the past few months, I have become very involved in the hiring process here at Atomic’s Ann Arbor office. We’re still relatively small compared to our Grand Rapids counterpart, and we’re actively looking to add people to our team. (Apply here!) Read more on Sweat the Details, Land the Job…
TDD in a REPL
REPLs (Read-Eval-Print-Loops) are often billed as a great place to experiment and learn a language or a framework. They provide a very tight feedback loop. However, it can be difficult or time-consuming to extract the knowledge gained from a REPL and include it in your source code. I’ve hit the up arrow many times in Ruby’s pry, trying to find the specific input I wanted to copy. And don’t get me started on dealing with multi-line input. Thankfully, the developers behind F# came up with a clever way of dealing with this problem. Read more on TDD in a REPL…
Intro to Modals in iOS
No matter what application you are developing, chances are it will require at least one modal view. In case you’re not familiar with them, modals are a special kind of body language apps can use to communicate that something important is happening. Modals are often used to alert that something unexpected has happened, request a confirmation, or provide an opportunity for users to provide additional information to the application workflow. Read more on Intro to Modals in iOS…
3 Design Techniques for Non-Designers
Design and design thinking can’t solve all of the world’s problems. But design is noticed by others, whether your company/product has considered it or not. And design can make your product more usable and accessible.
From your website to your physical space to the way you respond to emails to your actual product or service, it’s worthwhile to ask yourself, “Is this designed the way I want my customers or users to experience it?” Read more on 3 Design Techniques for Non-Designers…
Distributing Command Line Tools with Docker
Last time, I covered some of the basics of using Docker for isolated local development environments. This time, I’d like to talk about how Docker can be used to distribute command line tools with complex dependencies in a portable way.
Script Away Your Annoyances – Glueing Evernote and Omnifocus via JavaScript
OmniFocus has become my personal task tracking tool du jour, and I’ve come to rely on it for a morning reminder of my daily routines. One of those routines is to clear my Evernote inbox–things in that notebook need to be filed away for long-term storage while I can still remember why I put them in the inbox in the first place.
After a few weeks, I found the task of bringing Evernote to the foreground so I could check the inbox fairly annoying; I don’t want to bring it up if there’s nothing to process. So I wrote a JavaScript program to keep my OmniFocus task updated with the number of unprocessed items in my Evernote inbox.
Read more on Script Away Your Annoyances – Glueing Evernote and Omnifocus via JavaScript…
Highlights from My First Year at Atomic
My first AO-versary just passed, so this seemed like a great time for a little reflection.
5 Steps for Effective, Timely Decision Making
A big part of my job is making decisions. Some of those decisions are trivial, while others can heavily impact those around me. All of them, however, require varying degrees of my attention and time. And when I have a number of items demanding my time at once, it’s important that I give each decision no more time than it deserves.
Over the years, I’ve developed my own method of making decisions. Read more on 5 Steps for Effective, Timely Decision Making…
Announcing the Atomic Accelerator Program
I’ve always thought that Atomic is a great place to begin a software development career1. I don’t know of a better place to get started. Today, I’m very happy to announce that we’re taking it up a few notches with the Atomic Accelerator program. This two-year mentoring and training program for new hires is designed to complement the opportunities already provided by our project teams. Read more on Announcing the Atomic Accelerator Program…