Ciao!
If you could choose anybody as your pair to work on a legacy codebase, who would that be? I would pick Bruce Lee, let me tell you why.
> Be like water making its way through cracks. Do not be assertive, but adjust to the object, and you shall find a way round or through it. If nothing within you stays rigid, outward things will disclose themselves.
In a legacy project you are going to find many obstacles. But you need to be like water. You need to embrace the discomfort and keep looking for opportunities to overcome each and every roadblock.
> Empty your mind, be formless. Shapeless, like water. If you put water into a cup, it becomes the cup. You put water into a bottle and it becomes the bottle. You put it in a teapot it becomes the teapot.
Stop thinking about the problems and focus on being part of the solution. Do not let negative thoughts, unnecessary worrying and doubt get to you.
Don’t allow perfectionism to get in the way of progress. Be a pragmatist. Maybe you can skip some testing here, hack it a bit over there and do some edit and pray in a couple of other places.
> Now, water can flow or it can crash. Be water my friend.
Yes! I would definitely pick Bruce. Plus, with all of that wooden dummy training I’m sure he would kill it at VIM!
The Three-Step Recipe to Success with Legacy Code without Getting Overwhelmed - The secret to successfully surviving legacy code is to build momentum. We need to focus on the solution not on the problems. In other words, we need to keep in mind that our goal is a successful project not perfect code.
Elm Tricks from Production–Automated Testing is Just Another Tool - Sometimes it’s arguable if unit tests are needed. That is especially true when working with a language with a sound type system like Elm.
PureScript/Haskell: Parser Combinator (1/2) - Parsing things out of strings in a super composable, super declarative way.
# List branches which do not contain the # specified commit (HEAD if not specified). git branch --no-contains [<commit>]
# List branches whose tips are reachable # from (i.e. behind) the specified commit # (HEAD if not specified). git branch --merged [<commit>]
# List branches whose tips are not reachable # from (i.e. not behind) the specified commit # (HEAD if not specified). git branch --no-merged [<commit>]
# List branches whose tipes point # to the given object. git branch --points-at <object>
# Copy <oldbranch> (current if not # specified) to <newbranch>. git branch -c [<oldbranch>] <newbranch>
Bruce Lee said it best: “Be like water, but watch out for technical debt”.
Jokes apart, Mathias Verraes makes the point that the real problem is unmanaged technical debt. The Wall of Technical Debt is his recipe to make it visible and negotiable.
By the way, I met Mathias at DDD Europe some years ago. To this day I still remember him as one of the best master of ceremonies. He welcomed me to the community and connected me to other folks. Probably, it’s because of him I got into SoCraTes, met a ton of new friends and ended up organizing.
But please do not tell him at @mathiasverraes to “be like water”.
Well, we started out with a quote by Bruce Lee, better wrap up with more of his wisdom.
> I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times
What’s the one kick you practiced this week? Hit reply and let me know!
Thanks for spending some time reading with me. Talk to you soon.
Yours truly,
Riccardo.