A Two-Step Approach to Managing Email

One of the challenges of being a good consultant is providing thoughtful and well-constructed responses to email. In an ideal world, we could read and formulate answers for every email we receive while staying productive and happy at the other parts of our jobs. Obviously, the “ideal world” isn’t a reality, so we have to […]

Google Sheets’ Query Language

Many of us at Atomic Object leverage spreadsheets for various purposes (estimates, hours tracking, finances, etc.), and since we have strong technical backgrounds, we tend to leverage a lot the functions that spreadsheets provide (avg, max, min, ceiling, sum, etc.). We also tend to push the boundaries of spreadsheets by leveraging multiple functions in one […]

ReactiveCocoa and the flattenMap Operator

ReactiveCocoa has a number of built-in operators that enable a developer to map, filter, reduce, combine, merge, and flatten steams or signals. It’s a powerful and extensive toolbox, but sometimes it’s not clear under what circumstances these operators should be used. One of my favorite operators is -flattenMap #mapping-and-flattening, and there are a two common […]

Simple Flow Control Made Easy

We are currently working on a product that utilizes a long-range and low-bandwidth network. Moreover, the devices that are being communicated with are severely limited with regard to memory availability and CPU cycles. Given these constraints, it’s important that the network and devices are not overwhelmed with traffic. Recently, we encountered an acute problem where […]