Reading and Learning: April 20, 2015
Monday, 20 April, 2015 — learning improvement
For some background on what’s going on here, see the first tool sharpening post
Oh goodness, this is a big one. I can explain. Work has been busier and I’ve spent more time of late really wanting to not do things manually. Witness all of the TextExpander work I’ve done in previous editions of “Tool Sharpening.”
I simply refused to keep a list of articles read manually, so I waited until I wrote a tool to pull the contents of an RSS feed from Instapaper and write it out as a Markdown file. After completing another home project last week, I had time to write the first iteration of that tool, and so, I was able to quickly pull things I’ve read for the last few weeks easily.
As the tool expands, I expect to be able to make these sorts of posts more frequent and, as such, more digestible.
Articles and books
I read the following:
We’ve been paying closer attention lately to how we use design patterns in our Ruby on Rails work. Decorators have emerged as one pattern that’s helped us keep…
Since leaving SocialChorus I have been doing an odd combination of management consulting and on the ground software design consulting. I have been doing what I…
Rome wasn’t built in a day is one of those adages freely dispensed by motivational posters and chatty grandparents, which makes it just as easy to freely…
Last year in one of my conference talks, I mentioned that I have kids. After my talk, a woman came up to me and asked me how I do it. How I have a full-time job…
My hands were shaking…I could barely breathe I had just finished the first one-one-one coding assessment in my six-month coding bootcamp and it had not gone as…
Let’s say you want to delete a method foo that seems to be dead code. You use a tool like grep to find callers of foo, and there are no results. It’s tempting…
On March 27 The following message was posted on the official GitHub blog: We are currently experiencing the largest DDoS (distributed denial of service) attack…
I’d been meaning to write this up for a while, and now Nat Pryce has written up the 140 character version . I “write” a Call Option when I sell someone the…
Let’s say you have some code whose intent is clear to you but you can see a world where someone else may be confused. Often after writing such code, you realize…
Were software engineer a profession like doctor or lawyer, we’d have a strong and binding set of ethics. I note that the ACM publishes a code of ethics. Here’s…
Brent Simmons has a good post today on ethics for programmers: Were software engineer a profession like doctor or lawyer, we’d have a strong and binding set of…
This checklist is comprised of 48 items you can use to gauge the maturity of your software delivery competency, and form a baseline to measure your future…
I am lucky enough to work with a small team of fantastic engineers who truly care about their customers. If you are not that lucky, this letter is for you to…
The hardest part of advising Ph.D. students is teaching them how to write. Fortunately, I’ve seen patterns emerge over the past couple years. So, I’ve decided…
If you’re using Git, you’re probably using pull requests. They’ve been around in some form or other since the dawn of DVCS. Back before Bitbucket and GitHub…
Screencasts and presentations
I watched or attended the following:
- Triangle Ruby Brigade March presentation by Ian Pointer, “Flame On! (Debugging Rails in the Ruby 2.x era)”
- Triangle DevOps March presentation, “Ask Red Hat About Their DevOps Journey”
- Ruby Tapas Ep. 15: “Advanced Fetch”
- Ruby Tapas Ep. 20: “Struct”
- Ruby Tapas Ep. 21: “Domain Model Events”
- Ruby Tapas Ep. 22: “Inline Rescue”
- Ruby Tapas Ep. 23: “Tempfile”
- Ruby Tapas Ep. 24: “Incidental Change”
- Ruby Tapas Ep. 25: “OpenStruct”
- Ruby Tapas Ep. 26: “FFI”
- Ruby Tapas Ep. 27: “Macros and Modules”
- Ruby Tapas Ep. 28: “Macros and Modules, Part 2”
- Ruby Tapas Ep. 29: “Redirecting Output”
- Ruby Tapas Ep. 30: “Backticks”
- Ruby Tapas Ep. 31: “Observer Variations”
- Ruby Tapas Ep. 294: “Predicate Return Value”
- Ruby Tapas Ep. 295: “Predicate Return Value, Part 2”
- Triangle Ruby Brigade April presentation by Corey Foy, Code Katas: Growing Through Deliberate Practice
Podcasts
I listened to the following:
- Back to Work Ep. 209: “Habitual Ritual”
- Back to Work Ep. 210: “Fighting with Garbage Can Lids”
- Giant Robots Smashing Into Other Giant Robots Ep. 136: “I Think it Was the Altitude”
- Here’s 31 minutes of discussion between Chad Pytel and Ben Orenstein on Ben’s recent sabbatical. The discussion illustrates why thoughtbot is a great place to work.
- The Bike Shed Ep. 9: “Monorails, For the Kids”
- Sean and Derek talk about not reaching for SOA and microservices everywhere
- Ruby Rogues Ep. 191: “The Developer Happiness Team with Kerri Miller”
- The panel and Kerri talk about what goes into helping developers remain effective, “Mandatory Fun” at work, collaborative decision making in a very fast, information rich hour
- There’s a lot here that speaks to past jobs I’ve had, why I became unhappy and what I’ve learned to look for in seeking out new roles. Well worth your time.
- Giant Robots Smashing Into Other Giant Robots Ep. 132: “Story Tellers (Adarsh Pandit, Kyle Fiedler)”
- Chad Pytel, Adarsh and Kyle talk about thoughtbot’s transition away from using story points and the whys behind the move
- I’ve used story points before and found them valuable and, if you’d asked me before I started at thoughtbot if I thought they were a helpful communications tool, my answer was yes
- I’ve been at thoughtbot a little over a month, I’ve used story points exactly zero times and have not missed them
- My views on points, grooming and planning are evolving to be a lot more fluid than they’ve been in the past. There is sometimes value in these practices and I would be comfortable using them again. But first, I’d want to find out what communication we’re having with formal grooming and assigning points and seeing if there isn’t another, less intrusive way of accomplishing the same goal. Key is remembering that points and formal grooming meetings are tools and tools themselves can help, but they don’t complete the project.
- Ruby Rogues Ep. 193: “The Volt Framework with Ryan Stout”
- Ruby Rogues Ep. 194: “Real Life JRuby with Sudhindra R. Rao”
- Back to Work Ep. 211: “Squeeze the Teabag”
- Ruby Rogues Ep. 195: “Building Your Technology Radar with Neal Ford”
- Back to Work Ep. 212: “That Tuesday Feeling”
- Back to Work Ep. 213: “That’s Not Where Rogue Goes!”
- Back to Work Ep. 214: “Destroyed by Farm Equipment”
- Giant Robots Smashing Into Other Giant Robots Ep. 134: “Growing to Meteor (Paul Dowman)”
- Accidental Tech Podcast Ep. 106: “That’s Slightly Right”
- Giant Robots Smashing Into Other Giant Robots Ep. 135: “Planning For Change (Ben Arent)”
- The Pat Brisbin Maybe Haskell series
- The Bike Shed Ep. 10: “I Don’t Get Functional Programming”
- Giant Robots Smashing Into Other Giant Robots Ep. 137: “The Haskell Renaissance (Pat Brisbin)”
- Pat might actually get me to have a look at Haskell this year. It’s still likely after either Go or Elixir, though.
- Giant Robots Smashing Into Other Giant Robots Ep. 138: “Overloading the Home Row (Craig Andera)”
- What Craig describes as being possible with Datomic sounds really interesting
- The Bike Shed Ep. 11: “Form-ing Opinions”
- Ruby Rogues Ep. 197: “The Social Coding Contract with Justin Searls”
- Back to Work Ep. 215: “Legacy Cat”
- Ruby Rogues Ep. 198: “Expanding the Ruby Community Values to Other Languages with Scott Feinberg and Mark Bates”
- Ruby Rogues Ep. 199: “Deployments with Noah Gibbs”
fin