Anatomy of a phishing attack

I was scrolling through my Twitter feed today and came across a curious-looking ad: Hmm. Last I checked, Twitter doesn’t use random accounts…

More (5 min read) →

event-stream vulnerability explained

If you work with JavaScript at all, you probably saw a ton of noise yesterday about a vulnerability in the event-stream npm package…

More (11 min read) →

How I Convinced Our CTO to Switch From CoffeeScript to ES6

Aha! is a Rails monolith. Although we have embraced front end technologies, such as webpack and React, Rails is the glue that holds…

More (12 min read) →

My Sublime Text Setup Revisited

Three and a half years ago (wow, time flies) I wrote a blog post detailing my Sublime Text configuration. Over that time, I’ve tried out a…

More (5 min read) →

Why Your Email App Sucks

2.5 years ago, I wrote a post about the state of email apps for Mac that surprisingly got a little popular on Hacker News. At the time…

More (11 min read) →

Why You Should Not Major in Engineering

My college algorithms class was the final weed-out course in the computer science program. It covered advanced topics like computational…

More (5 min read) →

Why Doesn't Every App Autosave?

Every user knows the frustration of composing a long, thoughtful document or email only to experience a last-second crash or power failure…

More (3 min read) →

Just Open Sourced: Log Search Built on Google BigQuery

Maintaining useful application logs is an challenging problem, especially when dealing with tens of gigabytes of new data every day. When…

More (4 min read) →

Perfecting a Smooth Scrolling Experience for Large Tables

Depending on who you ask, the is a quintessential cornerstone of web development old and new; an outmoded curiosity from a time where CSS…

More (4 min read) →

Writing Tests for Rails: Continuous Integration

Around this time last year, I wrote a series of posts on writing tests for Rails apps using rspec and Capybara, beginning with the…

More (5 min read) →