im alex
Recent content on im alex
Latest posts
Durability | Software Engineering Dictionary
Availability | Software Engineering Dictionary
Atomicity | Software Engineering Dictionary
So You Tested Positive For COVID, But Do You Actually Have COVID? A Friendly Intro to Bayes' Law
How to Think About Writing Tests
“Always write tests before writing any code.” “Unit test everything.” “100% code coverage.” You’ll hear all of these sentiments repeated like mantras, but is it really realistic? I’ll share my own practical, pragmatic way to approach writing tests. Here’s the gist: first, there is no one-size-fits-all approach. Second, tests are like armor: they protect you, but slow you down. No one-size-fits-all…
1 minute coding productivity tip: git diff-words
1 minute coding productivity tip: npx
Unicode, in friendly terms
Ptolemy Cluster (M7)
The 5 Tiers of Password Storage
From NAND to Raytracer: Raytracing on the Hack computer (feat. Rust)
#js-article img[src$='#framed'] { border: 1px solid #bbb; padding: 1px; margin: 0px auto; display: block; } #js-article img[src$='#center'] { margin: 0px auto; display: block; } #js-article table { margin: 0px auto; font-family: Consolas, monospace; text-align: right; } @media only screen and (max-width: 600px) { #js-article pre { max-height: none; } } I recently spent some time going through the…
Equity Compensation & Taxes, Part 2: Restricted Stock Units (RSUs)
Equity Compensation & Taxes, Part 1
Non-blocking I/O, and how Node uses it
Intro to Encryption
Friendly Intro to Hardware Security Modules
Jupiter Saturn Conjunction (Composite)
Jupiter Saturn Conjunction
Pleiades
Full Moon
Mars
Moon (Bottom)
Moon (Side)
Moon (Top)
Saturn
Jupiter
Jupiter
Half Moon
Quarter Moon
Moon
Seven ways Tux is awesome
One of the most awesome tools I’ve learned to use while working with Penny’s Ruby/Sinatra stack is Tux. Tux is a Ruby REPL that augments the standard irb with a bunch of incredibly helpful plugins to help you with your Ruby development. In fact, it’s probably our most important development tool—possibly even more important than Slack. In this listicle, I’ll lay out some of…
Easily export Amplitude data to MySQL
Amplitude is a fantastic analytics tool. At Penny, we use Amplitude for quick-and-dirty funnel tracking through our onboarding flow, referrer tracking to our website, and usage tracking of our app. It’s versatile, easy to use, and free for us since we’re so small! Amplitude’s enterprise plan gives you access to all the data you ship to Amplitude, but if you’re on the free…
Deploy your system with Slack
Our two-person team at Penny deploys over five times a day. Because we’re so small, we lack most of the safeguards that more mature systems have, like extensive tests and feature branches. In fact, we commit directly to master, and we run our few end to end tests against master with CI. Our goal isn’t to catch all the bugs or test all of our code, but to keep stability high with the…
Design objects to the data — don't model the world
Consider this possibly familiar Java class hierarchy: abstract class Animal { public abstract void talk(); } class Dog extends Animal { @Override public void talk() { System.out.println('Woof!'); } } class Cat extends Animal { @Override public void talk() { System.out.println('Meow!'); } } This ubiquitous example of the power of polymorphism and object oriented design is often the first piece of…