Here’s a silly thing you can do with the Ruby parser: begin raise "omg" rescue => (class Box class << self attr_accessor :contents...
So today I was (happily) able to announce that the Rubyfmt unit suite is working in the Rust backend. This is a huge milestone for the library, but I also wanted to take a little time to talk about what’s...
Hi Folks, I’ll keep this one short and sweet. As of a little while ago, I messaged the other RSpec maintainers to let them know that I’d like to move on from the project, instead focusing on rubyfmt. Many...
For Rubyfmt I’m currently looking at rewriting significant sections in Rust, because there’s some performance issues. Broadly speaking, it turns out that cleaning up a very large Ruby parse tree (e.g. 4000 lines) can be slow because of the...
Hi Folks, Recently I was working with a friend on their Rails app, which had been fully wrapped in a docker-compose setup. They were quite rightly asking me questions about the best way to do things like run...
Hi Folks, This is part two in my series about talking to prospective employers about on call. In the first part we covered a bunch of general questions. In this part, we’ll dig down in to specific questions about...
Hi Folks, This is the first in a series of three blog posts. These contain questions that I asked prospective employers when I was interviewing recently and why I asked them. On-call is one of the biggest determiners in whether...
Intermediate to advanced VIM users love to extract common workflows to hotkeys. You might want to optimise workflows like running tests, adding files to git/doing a commit, or reformatting text. The thing is, as you add more and more workflows,...
In Ruby, Rack is our webserver baseline. It is an incredibly simple interface. A rack app is any object which has a public #call method that takes a single argument, typically called env, which represents the environment...
Hi Folks. This is a little post where I’m leaving a bunch of single line notes of things I’ve found useful in tensorflow, for image based tasks. I mostly have no idea what I’m doing, but I’ve found some things...
I’ve been asked a few times recently why I prefer Ruby’s hash rockets to the “new” or “1.9” hash syntax. I figured I’d document it for posterity. I’m aware this is like an extremely unpopular take. This is my opinion,...
A person’s billing address and mailing address are in the same country A person resides in the same country as either their billing address or mailing address A person does not live in any country for which they have...
Welcome to my weekly (hah, that’s not a promise I’ll keep) newsletter “Soundclowns are art”. Each week, I’ll be writing a little guiding note and review of a soundclown. Through this I hope to share with you an artform I...
Intro A few of you who know me will know I’ve been threatening to write a book for something like a year and a half now. Life happens, things get in the way, I changed jobs. However! Ground has...
If you like this post, I’d love it if you checked out my upcoming browser performance and load testing product: Browserpath. I have a number of friends who are “junior” developers. Recently, one of them was telling me about...
If you find this post interesting, please consider checking out Browserpath, a web performance tool I’m working on. … TL;DR: This blog post is about 4000 words. I gave a talk at a University to some students about how...
TL;DR: We want to help make your web application faster. Pop your email address into the form at https://browserpath.co. We’ll let you know when it’s ready. In 2009 Google published a blog post entitled Let’s make the web faster....