Tech Done Right

Table XI's podcast about building software to develop better careers, companies, and communities.

Tech Done Right Newsletter, July 7th 2017

July 7

If you'd like to get this in convenient email newsletter form, sign up at

Five Things Give Or Take Two

This Week In The Rails Ecosystem

This week the total number of Rails downloads, as counted by RubyGems, hit 100 million. To put that number in perspective, that’s almost one-third of a download for every human being in the United States.

DHH and Rails core celebrated by announcing ActiveStorage, a new Rails sub-gem that abstracts the details of saving a file to cloud storage. Mike Gunderloy dug in to the details with some blog posts, part 2, part 3, and part 4. Looks interesting. I still wish that Rails had some kind of process where interested parties (in this case, the maintainers of relevant gems) could make suggestions.

I’ve been going on in this newsletter a little bit about headless chrome, and here’s Tim Petricola with the first description I’ve seen of how to use headless chrome with Capybara that seems easy enough to use. Basically, it registers headless chrome as a Selenium browser, so it can be called from RSpec or Rails system tests. I still feel like this can be simplified, though.

Also in the, “there’s a good chance these tools will be mentioned in Rails 5 Test Prescriptions” file, here’s Keith Pitt of Buildkite with 5 interesting scripts they built to debug flakey tests. Among the five, they show how automatically dumping the test database on failure, and splitting the log file by test. This stuff seems like it’d be really useful fixing issues in a Continuous Integration environment. I’d love to see these get bundled into a gem.

Reach Out And TouchBar

You don’t always choose the hill you fight on, and for some reason the TouchBar on new MacBook Pros has become my hill. As I wrote a few months ago, I persist in liking the MacBook Pro and I like the touch bar, and I’m about 75% certain I like it more than I would like a touch screen on a laptop. (I say this because when I use my iPad to write with an external keyboard which I do a lot, the touch screen actually doesn’t help much. The touch screen is nice when reading or browsing the web though).

Anyway, Michał Matyas posted a tip for using BetterTouchTool with the TouchBar which is different from how I use BetterTouchTool with my TouchBar. Michał has replaced the entire TouchBar system-wide and is using BTT to tie scripts to show system status on the touch bar.

That’s certainly a thing you can do with the TouchBar, and it’s actually pretty neat. But I like actually, you know, touching the TouchBar. What I’ve done is add touch support to two apps that I use all the time — Atom and iTerm2. For Atom, I basically took about six keyboard shortcuts that I’d use all the time if I could remember them, and created BTT buttons with a bright color and an emoji so I can see and distinguish them quickly. For iTerm, I created keyboard shortcuts for common snippets like rails s using iTerm’s key mappings, then used BTT to put them on the TouchBar. It makes me happy, and I actually use them. (I still think more apps could use color in their TouchBar settings…)


We often talk about programming languages without really thinking about how the main language of programming is English. Artem Chistyakov starts this post with how he learned BASIC in Russia without knowing English, and goes on to untangle programming languages and written language in an interesting way. Honestly, it’s an amazing post and will make you think differently about code.

One thing it made me think of was not just the way English vocabulary affects programming but the way English grammar does. About fifteen or so years ago, Damian Conway wrote Perligata, an attempt to make Perl look more like Latin than English. Not just in the keywords, but in the entire structure. In English, word order determines part of speech, but in Latin, part of speech is determined by a suffix added to the word. So, in regular perl you might say $total = part but in Perligata, you could say totalo da partum, but more to the point you could also say partum da totalo or totalo partum da, and it would all work the same. It all becomes a complete overhaul of everything you think about programming and language. (Oh, and it’s also been done for Klingon.)


My MP3 collection started in 1998 with about six CDs that I ripped and stored on the desktop computer I had at work. Eventually, I talked my employer into getting me a bigger second hard drive, ostensibly for projects, but really for my MP3s. Winamp was the most popular player, though I liked one that had better random playlist support and whose name I could not remember right now on a bet. Winamp was hugely influential, though, especially because it’s easily customizable UI led to a lot of creativity. Amazingly, Winamp is still around, and Ars Technica explains why and how.


I present without comment this Josh Marinacci essay on why you should hire older programmers.

Past podcast guest Claire Lew suggests five questions you can ask to reveal if a company has a healthy culture. Which reminds me of Liz Abinante’s advice on sniffing for culture smells. Honestly, so many people I interview waste the opportunity to ask questions.

Follow Up

If you liked the story by Steven Johnson on SETI that I posted to last week, Johnson wrote a little bit of a commentary track with some material that didn’t make the essay.

On The Podcast

This week is the six-month anniversary of the podcast, and I’m going to post some quotes from early episodes that you may not have listened to:

From our very first episode on feedback and trust:

Jessie Shternshus: And so, before people get used to getting feedback, we'd give them something really, really outlandish. Like your partner came in to work today and he's not wearing pants. How would you tell them that? You could also just brainstorm like the top 50 world's worst ways to give feedback.

From Episode 2 with Brandon Hays on careers:

BRANDON: There's a logarithmic salary curve to what we do because the value that you produce as a software developer continues to go up as you progress in this industry. But for some reason, the salary curve tends to level off as soon as you pay developers enough to not have to talk about money because we hate that stuff.

From Episode 6 on with Andy Slavitt:

ANDY: I got there October 24th. I didn't have a conversation with my wife until, I think November 12th or 13th. When I called her, what I said to her was, "I think I've made it worse.”… We're not going to work smarter. We're going to work hard and what I mean by that is we have 6000 defects and we have in effect, 36 days so I know how many defects we need to get out in a day

Check them all out. And tell your friends. And leave a review on iTunes, all that good stuff.

Coming next week: Doc Norton talking about Agile teams and Escaping Velocity.

Below the Fold

Four Mac or iOS tools that I use all the time, that you might not know about:

  • Soulver: My favorite calculator style app, it’s really more of a hybrid between a calculator and a spreadsheet. I use this for all kinds of things that a spreadsheet is a little bit of overkill for. Mac and iOS.
  • PDF Expert. Also Mac and iOS, a replacement for Preview on a Mac that also lets you edit, and is as easy as anything I’ve used at stitching multiple PDFs together.
  • On iOS, I also use Liquid Text to read and annotate PDFs
  • I use Sequel Pro nearly every day as a GUI viewer for MySQL databases. When I’m using Postgres, I use Postico, which works, but isn’t as nice.

See you next week,


Article Comments