Bitperi(Periklis Gkolias)

Productivity tips and coding for thriving people

Myths about self teaching that need to be busted

Self-teaching is the norm in the industry, many years now. Most of the technologies you learned during your official education 2, 10, or 30 years ago are almost obsolete in the industry. So, no official education would constantly give you everything you need, here, almost by design. But lately, it has been popularized too. The main reasons IMHO is the need for more “coding hands NOW” aka supply vs demand and the cost (in terms time and money) to go to the university (in terms of time and money again). Continue reading

A gRPC primer from a non-gRPC dev

I keep hearing about gRPC those days; not sure if the existing trend is soaring or it is a coincidence. In any case, as I have never dug to the concept, I thought it is a good time to do so. High-level view of gRPC gRPC is an RPC framework, created by Google. Interestingly enough, the initial “g” stands for “general (purpose)” and not for “google”. So gRPC is an RPC framework that can be used in any kind of situation where an RPC style communication is required. Continue reading

Git Bisect, the Undervalued Debugging Machine Gun

Git bisect is a fantastic tool that could make debugging a breeze. Yet, very few people use it actively. In this quick article, I will showcase how git bisect can point out the where your bug cause lies, fairly fast. But first, lets talk about… Delta debugging Delta debugging is a process where you do many steps and in each one your plan is to eliminate half the “problem”. You can think of it as the binary search of debugging. Continue reading

I just finished Code complete cover to cover. Here are the most unexpected things I learned

I got code complete several years ago. Actually, it was a graduation gift. I sometimes peaked into some of its chapters but never thought I was able to read it all at once. It was like a superhuman task for me. Until this year, where I decided, in the game of no excuses, to play hard. One of the battles I chose to give was to finish the book. During this time, I learned a lot of stuff. Continue reading

Code Review for the Solo Dev

I will start this article, as I did with the previous one in the series. Nothing can substitute a great team. But a real warrior has to be able to rely on thyself if needed. A few people nowadays, work on a team of one. People that are subject matter experts and the very best on their fields (and I am the last human on earth who can give them any professional advice). Continue reading

Asyncio, the invincible

TL;DR / Intro Async programming is the new sexy when it comes to multitasking. It became famous with NodeJS but you can find libraries that support it in most major languages. For example in Python, the two most famous approaches are the usage of Tornado Web Server and the built-in library asyncio. For today we will do an introduction to the latter, as it has gone through tons of iterations and improvements lately and it is ready to charm people with its intuitive approach. Continue reading

A Comprehensive Guide to Unit Testing with Python3

A comprehensive introduction to unit-testing and mocking with Python3 Unit testing is quickly becoming a must for all job adverts. There are a few people who don’t like Test Driven Development(TDD), but at least they agree on the value, automation testing(not only unit tests) add to the overall code quality and to the debugging process. By the time of writing, according to dice.com, TDD is enjoying increased popularity year after year. Continue reading