Tool Sharpening: Nov. 23, 2014
Sunday, 23 November, 2014 — development improvement
For some background on what’s going on here, see the first tool sharpening post
Environment + Process tweaks
I’ve used thoughtbot’s dotfiles repository for years, but I’ve maintained my own fork on GitHub. I’ve also maintained a private sidecar repository for more sensitive things. But, I’ve been out-of-sync with the head of development. Lately, thoughtbot has released rcm
which allows for just such a split-brain dotfile set-up. Rather than fight to update my existing set-up, I’ve opened a new repository and ported my existing dotfiles and customizations to a new sidecar repository that fits with rcm
‘s methodology.
This project took about two hours of focused time for the conversion and gave me an opportunity to rediscover some pieces of my dotfiles that I hadn’t quite fully grasped previously. When it came time, rcm
worked perfectly about updating symlinks from the configured repositories into my home directory. Neat tool.
I also:
- Fixed a Tmuxinator profile for a work project
- Created a BBEdit project for keeping project specific development notes in a more collected fashion
Project work
I picked up work on my Dayplan bin script/Gem, primarily organizing what has to get done in a step-wise fashion.
Skill improvements
- Reminding myself of new BBEdit 11 shortcuts and previously worked with Emacs shortcuts that are available in BBEdit
Articles read
- “The Sixth Stage of Grief Is Retro-computing”, by Paul Ford
- This piece has been recommended by a lot of folks over the last few weeks and I’m adding my recommendation to the pile
- “Web Applications and Security”, by Alan Cox
“The unexpected costs of third-party login”, by Taylor Hughes
Just what it says on the tin. There are some substantial tradeoffs to using Google, Twitter or Facebook accounts as login mechanisms that aren’t readily apparent when a product team decides to shortcut account creation. One point I found particularly interesting was this:
As it turns out, supporting multiple sign-in options adds a tremendous amount of complexity. Instead of an interface where a user can only do one thing — even if it means filling out a tedious form — people have to stop and think about options.
This leads to another unexpected side-effect: When logging back in, lots of people forget how they signed up for your service in the first place, and they end up trying the wrong method.
Worse, long-lived mobile sessions exacerbate the issue. When users log in again months later, it’s like rolling the dice.
This results in support emails from users who are very confused about why all their content is missing after upgrading phones — or users wondering why, when they login on the web site, none of their stuff appears.
“Tail Call Optimization in Ruby”, by Nithin Bekal
“Rust and Go”, by Adam Jacob
“A Five-stage Model Of the Mental Activities Involved in Directed Skill Acquisition”, by Stuart E. Dreyfus and Hubert L. Dreyfus
- This is the original “Dreyfus Model of Skill Acquisition” paper and very accessible
Corey Haines, “Short-lived Branches”
- Haines explores the constraint of finishing a feature on a branch in a day or deleting it and starting over the next
“How to Read an Academic Article”, by Peter Klein
- With the growth of groups like Papers We Love, it’s helpful to have an idea on how to approach reading academically focused material
- There’s more info at Papers We Love’s Boston chapter with an upcoming meeting
Screencasts, podcasts and presentations
- Attended Brandon Mathis’ Triangle Ruby Brigade presentation, “Dive into Ruby”
- A nifty, REPL-driven question and answer presentation for folks new to Ruby
- Organized and attended Henry Petroski’s Triangle DevOps presentation, “Success and Failure in Engineering: A Paradoxical Relationship”
- I’ve been a huge fan of Dr. Petroski and I asked him back in January, via note I sent to his department at Duke University, if he would be willing to speak to the group. He was and the talk he delivered this past week was absolutely everything I hoped it would be
- The talk was recorded by our hosts at Bronto Software. Give it a look.
- Listened to Is TDD Dead: Ep. 3: “Feedback and QA”
- Listened to Is TDD Dead: Ep. 4 + 5: “Costs of Testing” and “Answering Questions”
- These two episodes finished out the series. It is evident that each of the participants has a great deal of respect for the other two
- I’m far closer to Martin Fowler and Kent Beck’s positions on the value of testing than I am David Heinemeier Hansson’s
- Despite being further from DHH’s position, I leave the series with a better understanding of his perspective
- Listened to Accidental Tech Podcast Ep. 88: “Standing on Opposite Sides of the Gym”
- Listened to Accidental Tech Podcast Ep. 89: “DeLorean + McLaren”
- Listened to Giant Robots Smashing Into Other Giant Robots Ep. 121: “Prolificness (Allison House)”
- Something House mentioned during the podcast was the notion of a second shift of personal projects, e.g. a 20-minute portrait painting where the painter has to focus on what’s critical
- The key, it sounds like of second shift personal work is making it consistent and sustainable
- This is something I aspire to, but still find myself struggling with
- Listened to Bikeshed: Ep. 1: “Sandi & Derek’s Rules”
- Listened to Back to Work Ep. 193: “Disappointment Delivery Mechanism”
- Listened to Back to Work Ep. 194: “The Company of a Clown” Listened to Ruby Rogues Ep. 179: “Accountability and Diversity with Meagan Waller”
- Listened to Ruby Rogues Ep. 180: “Barriers to New Developers with Kinsey Ann Durham”
- I can’t think of a bad episode of Ruby Rogues, but these two are exceptionally good ones – windows into experiences I can’t have (being a female developer) or haven’t had in a long time (being a new developer). I highly recommend giving these both a thorough listen
Programming note
First, I can explicitly state the next entry will be in December, likely Dec. 7. Second, I’m entertaining the idea of breaking this larger post into smaller components. Once a week for all of this feels a little thin and two weeks starts to feel a little much. I’m thinking the articles and podcast/presentation sections are both getting a little long and may benefit from separate publication weekly with my project work, environment tweaks and skill improvements happening more on a biweekly basis. I’m not set on that, but I think I’m going to experiment with it.