A Relatively Brief History of Time(keeping)

As many developers know, working with timestamps can be pretty terrible. But things weren’t always this way… They were worse. Clocks, and more specifically coordinated clocks are a modern invention. Getting the whole world to agree to a single, computer-friendly timekeeping system has been a pretty bumpy road. Read more on A Relatively Brief History of Time(keeping)…

Stranger Things Alphabet Wall, Part 2: MQTT in the Upside Down

Yesterday, we created the hardware, decorations, and Neopixel software for a DIY alphabet wall from Stranger Things. But what if one of your friends gets stuck in the Upside Down*? It’d be nice if our ESP8266-driven project could make full use of its wifi capabilities and receive messages wirelessly. Read more on Stranger Things Alphabet Wall, Part 2: MQTT in the Upside Down…

Blockchains Explained: A Primer on Cryptocurrencies, Bitcoin, and Ethereum

Blockchains are nothing new: Bitcoin’s blockchain was implemented in 2009, and research papers on blockchains date back to the early ’90s.

While I had heard about Bitcoin and blockchains, I didn’t fully understand them, and the gaps in my knowledge came to light when my grandma asked me to explain Bitcoin to her. This post is intended to explain what blockchains are, how they work, why someone would want to use them, and what’s coming up next. Read more on Blockchains Explained: A Primer on Cryptocurrencies, Bitcoin, and Ethereum…

A Quick Android Snackbar Tutorial: Setup, Action Handling, and UI Customization

Android Snackbars are, unfortunately, not as tasty as they sound. But they are extremely useful for showing errors or other lightweight feedback to a user–with minimal setup required. This is a brief tutorial for setting up a basic Snackbar, adding actions, and customizing its appearance.
Read more on A Quick Android Snackbar Tutorial: Setup, Action Handling, and UI Customization…

Setting Up Amazon’s Dash Replenishment Services and Login with Amazon on Android

On my current project, we’re integrating Amazon’s Dash Replenishment Services (DRS) into an Android app. DRS allows “smart” devices to automatically reorder supplies from Amazon if users of the device (and accompanying apps) opt in. For example, a washing machine might order more detergent, or an electronic device might order more batteries. The order is triggered once that refillable item gets down to a certain point. 
Read more on Setting Up Amazon’s Dash Replenishment Services and Login with Amazon on Android…

Ancient Stoic Wisdom for Writing Better Software

My time at a software company has shown me how much focus there is on the new: new smartphone and laptop models, new revs, new development boards, new languages, and so on. But what about the old? I’m talking really old, like “two millennia before the Unix-Epoch” old.

The Stoic philosophers Zeno of Citium, Epictetus, and Seneca spoke at length about logic, control, and truth–all terms we discuss as programmers, but with very different meanings and applications. Still, Stoic works have lasted for thousands of years. What lessons do the ancient Greeks have for an industry with an obsession for the newest, latest thing?
Read more on Ancient Stoic Wisdom for Writing Better Software…