It's 08:38 am. Here with me I got a glass of cold brew coffee while I'm typing this email. Let's jump into the good stuff!
The functional programming post this week is a remix of a talk I gave at my company. It is also the way I design and structure code nowadays regardless of the programming language.
Decomposing Features into Pipelines – Code and pray when devising a solution is not the best approach. The exploration needs to start in problem space.
The essential skills post covers one of the best pairing sessions I had in my career. It was the first time I noticed somebody trapped in Einstellung so clearly. I remember gifting Radek a paper explaining more scientifically why he got stuck on that bug. I also wrote about Einstellung last week.
The Secret to Getting Unstuck when Investigating a Bug – When Radek asked me to pair on investigating a bug I was skeptical. But I had something he lacked: ignorance.
I dug out the first ever script I've written in Haskell. Probably not the greatest code but I found some interesting nuggets. Plus, I realized how types helped me get up to speed on how the script worked. Had I written it in Bash it would have been a disaster.
git log -G REGEX
to look for differences whose patch text contains added/removed lines that match REGEX. Click here for a visual example.
git log -S STRING
to look for differences that change the number of occurrences of the specified string (i.e. addition/deletion) in a file. Click here for a visual example.
-- (&) works as | in Bash
1 & (+ 1) & print
-- 2
-- $ vs <$>
(+ 1) $ 1
-- 2
(+ 1) <$> [1, 2]
-- [2, 3]
As promised on Twitter, here it is. I hope it's going to be as mind-blowing and inspiring for you as it's been for me!
The Art of Code - Dylan Beattie
The best part of email is that interaction is personal and one button away. So please reply with your thoughts, let's learn from each other.
Yours truly,
Riccardo.