Just like you need a map when exploring a new area, other users need guidance on your project. Undoubtedly, self-describing source code is a good practice but the code itself doesn’t explain everything. Questions may arise such as: why the module is being written? Why is it implemented in such a way? What’s the database […]
Optimize debugging time from O(n) to O(logn) with git bisect
Once in a while, there is a need to track that one single commit that silently slipped into the codebase breaking it. The obvious brute-force solution of consecutively reverting the repository commit by commit may not always be the best. Finding a commit that may be far away in history usually becomes tedious and time-consuming. […]
The Code Review Essentials – the reviewer’s side
When I embarked on my software engineering journey I was not really sure what the code review was. The term seemed to be quite clear and self-explanatory, but it took me years to realize how important this process was and how it should be approached. It also varies throughout the different companies, where each of […]
10 useful Git commands for collaborative development
The more people working on a given project, the more work organization it requires. Thus, Git is commonly used to coordinate work among programmers. However, without enough knowledge, using git can become a nightmare. Instead of helping, it only hinders. Instead of keeping control of the repository, you end up with tons of conflicts in […]
2 easy tips to manage environment variables in Python
Environment variables exist outside of your code as part of your server environment. They can significantly automate running your script/applications and make it more secure. For instance, instead of manually changing the user name variable when you run a script on a different machine, you can use an environment variable that returns the corresponding value. […]
Quality Assurance for Python project
Make a high-quality code When buying apples on the market it’s fairly simple to pick the best ones. You cherry-pick by touching them, choosing the best color, ripeness, and absence of visible bruising. This process is called quality control — you choose only good-quality products that meet your requirements (unless you buy apples for apple […]
Super simple productivity recipe
Through the years spent at the university, developing some projects in my spare time, and working as a regular employee I found a method that quickly boosts my productivity. It often helps me to kick-off my day at work and I believe it has the potential to make other people’s lives better as well. I […]
Self-hosted password manager
Take full control over your passwords using KeePass & Syncthing If you care about your digital security you surely know that all your passwords must be unique and long enough (14 characters or even more). Special characters will increase complexity and strengthen your password. It is also advised that the combination of characters be entirely […]