22nd Apr 2020
| Tags:
git
Recently at work we passed a major milestone on our codebase, and I wanted to see if I could run some analysis over time on authorship and see how long some early contributors’ work stuck around in the product.
A bit of experimentation and random googling left me with these three scripts.
» Read more...
20th Jun 2017
| Tags:
git
Today at work, I determined that my current work in progress branch was going to want to be merged into production ahead of our next scheduled merge/deploy of master. To make it easier to merge into our production branch for a hot-fix deploy, I want to have the branch based off production instead of master.
» Read more...
4th Jun 2015
| Tags:
ruby rails
I was needing to do some object cleanup in our rails app the other day, and purge some malformed objects, so I put together a quick script using some ActiveRecord reflection to walk the object chain.
» Read more...
6th Sep 2012
| Tags:
programming ruby
Update 2023: Just use direnv with layout ruby
.
Bundler is pretty darn good. Installing all your gems globally sucks. bundle install --path
does a great job of fixing that but it means you need to bundle exec
any shell commands you want to run, which again sucks. There are lots of attempts to fix this, but they’re all fairly convoluted.
» Read more...
15th May 2012
| Tags:
git
At work, we provide an API for our app and maintain web-based
documentation for said API. We originally had the documentation in a
separate git repo, but as it makes much more sense to maintain the docs
directly alongside the code it documents we wanted to merge the two
repositories. This was done in two steps.
» Read more...
19th Nov 2011
| Tags:
ruby rails sql
The Problem: You have a database column with some data serialzed as JSON
in it that you’d like to pull out into its own column to index it.
The Solution: Run a data migration to pull the value out. Table has 5
million rows and you don’t want to round trip all that data through
ActiveRecord? Just parse the json directly with some SQL:
» Read more...