This blog is about programming and other technological things. Written by someone developing software for fun and professionally for longer than I want to admit and in more programming languages that I can remember
How to be a great software engineer?
Someone asked me this question today and I didn’t have an answer. After thinking for a while, I came up with a list of what I try to do myself.
Disclaimer: I don't think I am a great engineer, but I would love to have listened to that myself when I started my career, over 20 years ago.
I will divide this in parts, non-technical and technical

Has it happened to you guys as well?
There is always those quite obvious things such as "don't be a jerk". Those are not the ones I will be talking now.
I want to talk about what I learned in those many years reviewing code and getting my code reviewed.
Whoever wrote the code you are reviewing thought hard about that code. Hardly someone just writes carelessly some code, so if something is not clear, instead of saying the implementation is wrong or not ideal, try to understand and ask questions to clarify why it was done the way it was.
Two of the best features when using an IDE are auto completing and debugging. Fortunately, we can have both with VSCode.
Go to rust website and follow the install procedure
Then use nightly channel to get the latest version of the toolchain.
# Install nightly toolchain
$ rustup toolchain install nightly
# Set nightly toolchain as default
$ rustup default nightly
This is that kind of code that we don't write all the time, so let's remember the different ways to load and create libraries on Linux
There are 3 ways a library can be used by an application
We are going to show all the forms in this article
A common problem of Object oriented languages is the overuse of Exception. You never know which exceptions can be thrown and the error handling is super hard. How many times we see catch blocks that catch everything (Exception or Throwable) and do nothing specific ?

Go solves this problem having no Exception. However it has it's own problems because of that. Let's see a piece of code that is very error prone
In a dinner conversation, my youngest daughter was curious about how many days had she lived so far. I told her that it is easy to calculate for a baby but not for her, though I could easily implement it.
She was still curious, but when I told her that I'm more than 1000 <strike>years</strike> days old (she guessed a bit more than 10), excited, they asked me to implement right away!

Am I getting old ?
I was talking to a friend about cellular automata using Conway's Game of life as an example. Curious again after so many years that I've read it, I read again carefully the wikipedia page and I found it fascinating.
What is the better way to learn more? Implementing! However I do not want to implement it in a boring way. I want to have interesting features. Let's first talk a little bit about this 0-player fascinating game.

My daughters were using a website called xtramath to practice sums. It's a very nice website were lots of different sums are shuffled and asked - with time to answer, which works nice to memorize, but not to calculate.
Thinking about that, I decided to write an alternative to it without timeout and quick to write.
So I thought that writing a completely custom blog system would keep me away from spammers. Oh! terrible mistake. I wrote a very simple commenting system, without concerning about spam attacks and voila. I started receiving lots of spam in every single post.
Temporarily I'm disabling comments.
UPDATE: They're enabled again !
Any comments, please reach me on twitter - @thiedri
Cheers!
This blog is about programming and other technological things. Written by someone developing software for fun and professionally for longer than I want to admit and in more programming languages that I can remember