The Valuable Dev - Measuring Software Complexity
Saturday Greetings, Valuable Developer
I hope everything's going well on your side!
One week ago, I quit a full time position as a developer, after only 4 months. It wasn't what I was expecting and I came across another, more interesting position I'll begin in January.
The moral of the story: if you're unhappy in your current position, even if you don't work for long in a company, don't hesitate to switch. Personally, I can't do my best work if I'm unhappy, and, in general, it affects my life drastically. The decision wasn't easy to make, but it was necessary. We shouldn't hesitate in these cases.
The article of the month, on The Valuable Dev, is about measuring complexity to inform our decisions.
Measuring Software Complexity: What Metrics to Use?
I've written many articles about complexity (and simplicity) on The Valuable Dev. With this new article, I begin a series about measuring software complexity. The first article explore why we should measure it, if measuring complexity is enough, and what measures to use.
Updates
-
Now that I've some free time till January, I make my new book about Vim my first priority. My expectations are quite high and I want it to be as useful as possible, so it will take some time to write.
-
I've released a new video on my Youtube channel this month, continuing to explore bash scripting.
-
I've also published a new article about find, which is more or less the transcript of a series of videos I already did about the CLI.
Articles & Videos
Here's a selection of interesting content I've came across this month:
- An interesting video trying to answer the eternal question: where does bad code come from?
- I began to code 20 years ago, and I saw the complexity of software development only ramping up since. In this spirit, I found this article interesting: complexity is killing software developers
- A rant from 2018 I partially agree with: software disenchantment.
- I wouldn't necessarily agree with the every idea in the following video either (which makes it even more interesting!), but the author has some very good points nonetheless: Object-Oriented Programming is Bad
Books
This month, two books which will make you deeply think:
- An Introdution to General System Thinking - As developers, we're also system designers. Heck, everything around us could be considered as some kind of system. This book approach systems with a simplicity and a self-reflection we lack, sometimes. It doesn't mean that the book is easy to read, though.
- Gödel, Escher, Bach: An Eternal Golden Braid - This one is far from easy to read either, but it's packed with deep ideas. If you want your brain to level up, you should give it a try.
Mouseless
- Do you need to setup a temporary email address for some subscriptions you don't really care about? With tmpmail, you can do so directly in your terminal, in one command. It's awesome.
- Something I've always wanted to do: batch renaming files using my "$EDITOR" (Neovim). There are ways to do so using Neovim only, but I find them not very practical. The CLI vidir (from the moreutils package) can do that super easily!
- Finally, if you want to visualize the space used for your different disks, duf can help you. To me, it's more visually-friendly than the classical
df -h
.
Next Month's Article
The next article will be about expansions in Zsh. It will be packed with many different ways to expand filenames, the history, or even parameters. You'll be able to manipulate these expansions without having to create some boring scripts, too.
Let's Connect
If you want more information about the content of this newsletter, or if you have any question, you can hit the wonderful "reply" button. I'm always happy to receive emails!
Similarly, if you think this newsletter is boring, if you didn't like my last article, or if you have any feedback of any sort, don't hesitate to reach out.
Thanks a lot for your interest in my work, and see you in a month!