Chris Roos by Chris Roos

Week 338 - Interesting links

Bundler: Inline Gemfiles

I can see this new Bundler feature being useful when wanting to share simple self-contained code snippets.

Rather than create a Gemfile alongside your Ruby script, you can combine them into a single file with something like:

require 'bundler/inline'

gemfile do
  source 'https://rubygems.org'
  gem 'minitest', require: false
end

require 'minitest/autorun'

class MyTest < Minitest::Test
  def test_should_be_true
    assert_equal true, true
  end
end

CR

Feature-based Benefits

If you take a feature-based approach to define what the project chunks are then you will be in a stronger position to deliver the most valuable features first, irrespective of which project they’ve been categorised into.

Richard Stobart describes the benefits of delivering software based on the value of features, rather than which project they fall into. This is something we agree with but don’t really see very often in practice. I suspect there’s something about being able to say a project is completely finished, irrespective of how comparatively valuable its components are, that people are attracted to. CR

Thoughtbot’s Git Guide

We’ve been talking about the pros and cons of GitHub’s “Merge pull request” button recently. James and I are pretty much against it but are seeing it widely used within GDS. We want to try to document our reasons against using it to see if A) they stand up to any kind of scrutiny, and B) (assuming they do stand up) so that we can point at the document when we’re talking about it.

Historically we’ve been fans of the single history master branch, but have recently converted to using feature branches that are rebased and merged to master. Given our conversion, I was interested to read Thoughtbot’s approach, which I believe results in them having a single line history in master with no merge commits. CR

Streamio FFMPEG

This claims to be a “simple yet powerful Ruby ffmpeg wrapper for reading metadata and transcoding movies”. I thought it might be a useful alternative to Amazon Elastic Transcoder for our GFR Video service. Also it looks as if StreamIO might be offering something similar to GFR Video, although I struggled to find much detail about their service on their website. JM

Moving Past the Scaling Myth

This article by Michael Feathers calls out the ridiculousness of the “Does agile scale?” question. It also referenced a book about self-managing organizations, Reinventing Organisations, which caught my eye. JM

Postpositive Particles

I was talking to someone the other day about certain special words, like “enim” that have to be the second word in a Latin sentence. I was ridiculously smug to discover this article, because it meant that I had remembered correctly! JM

VLF

Watching one of the recent lightning storms in London recently led me to read more about the science behind the VLF experiments that I ran on an Antarctic research station in the 90s.

VLF whistlers are caused by some of the radio frequencies emitted by a lightning strike escaping through the ionosphere and travelling along the earth’s magnetic field lines, returning through the ionosphere into the other hemisphere. During “flight” lower frequencies travel slower than higher ones and when translated into audio frequencies by a VLF receiver, you hear the characteristic descending tone of a whistler.

Announcing Lotus v0.4.0

I have high hopes for Lotus and it’s good to see that development is still active. I’m looking forward to hearing more about it from the author, Luca Guidi at Brighton Ruby Conf a week on Monday. JM

Flip Flop Operator in Ruby

I was very surprised to come across this feature of Ruby the other day and I enjoyed showing it to the London Computation Club earlier this week. JM

Git Interactive Rebase - Exec

The other day, Tom S mentioned the exec “command” in the todo list for git rebase --interactive. Recently Chris showed me how he was using it to ensure the tests passed after every commit in a feature branch. Since then I’ve discovered the --exec command line option which makes it even easier to do the same thing. JM

If you have any feedback on this article, please get in touch!

Historical comments can be found here.

Recent