02 Feb 2018
How I Review Code
Reviewing code is one of the most important parts of an engineer’s job at Tumblr, even more so than writing code. Our codebases are shared by hundreds of engineers, so it’s critical to make sure we’re not just writing the best code we can, but that the code being written can be understood by others. Taking the time to review someone else’s code is the most critical opportunity to ensure all of that is happening.
01 Feb 2018
Extensible Design With Protocols
…an introduction to protocols and then describe several uses of protocols that lead to extensible design. The examples in this post are written in Elixir but should be equally useful in other languages (after all, Elixir credits Clojure as inspiration for its implementation of protocols).
09 Jan 2018
KinetiConnect: Multidimensional Motion Quantification
With the recent advancements in transportation and smart vehicles, I was surprised to find that electronic vehicles and smart cars still lack the ability to measure and analyze real-time motion data given the significance of insights possible. Realizing the value of the kinetic data and the diversity of insights, I decided to create a fully connected IoT device that can quantify 3D acceleration data and enable real-time analyses and visualization of that 3D motion data. Furthermore, I coupled this data with noise and temperature information to create additional context and implement safety features.
Despite the obtuse title, looks liek a cool little project using the Onion Omega2 platform to build a vehicle telemetry app using AWS Iot and Kinesis.
20 Dec 2017
A code style linter for Elixir, powered by shame.
Wins the “best tag-line for a linter” award.
07 Dec 2017
Bitcoin Could Cost Us Our Clean-energy Future
Digital financial transactions come with a real-world price: The tremendous growth of cryptocurrencies has created an exponential demand for computing power. As bitcoin grows, the math problems computers must solve to make more bitcoin (a process called “mining”) get more and more difficult — a wrinkle designed to control the currency’s supply.
Today, each bitcoin transaction requires the same amount of energy used to power nine homes in the U.S. for one day. And miners are constantly installing more and faster computers. Already, the aggregate computing power of the bitcoin network is nearly 100,000 times larger than the world’s 500 fastest supercomputers combined.
Energy is the fuel that keeps the Bitcoin engine running. Just to keep the exchange of BTC and verifying the transaction records takes energy. So what happens when the energy required becomes prohibitivly expensive?