Trie Search in JavaScript

Today, we are going to implement a local prefix search functionality using the Trie data structure in JavaScript. We will analyze this solution and compare it against naive search.

More …

Speak their language

Whenever you are speaking to a client, a designer, or an investor, first and foremost, you must understand their language. Not everyone gets a “tabs vs spaces” joke. In this post, I am going to provide some hints on how to improve your communication skills and speak their language.

More …

Parallel processing large file in Python

Have you ever wondered how to increase the performance of your program? Applying parallel processing is a powerful method for better performance. In today’s post, we are going to solve a problem by applying this method. I’ll explain the solution step by step.

More …


Have you ever felt like dropping all tasks from your to-do list and do nothing for an entire day? That is burnout. Today we are going to focus on determining whether you are on burnout, how to get out of it, and measures to prevent it from happening in the future.

More …

Why tests are important?

“Writing a test is time-consuming” one might think. It is indeed so. On top of that, there is a maintenance cost for tests and it rarely justifies the effort. Because of this naive thinking, a developer might skip test implementation and focus on building things that matter. However, there is another side of the coin which I am going to tell you about in this post.

More …

Don't fight bugs. Welcome them.

“I am done with this bug after spending my entire day trying to fix it”. Does it sound familiar? If that sounds like you, take a moment to learn how to overcome the issue.

More …

Web Scraping and Crawling with Python

Have you ever wanted to download a website? For example, to keep a record of daily trending news for analysis. I will show you how to achieve that using different methods. Send me an email if you would like to contribute additional methods.

More …

Learn another programming language

As with many professions, in software engineering, you also have to keep up with the latest trends to stay competitive among your peers. One of such trends is a new programming language. This post focuses on how to approach learning a new language.

More …

Build a static website with Jekyll and host it on GitHub

Had he known about Jekyll + GitHub Pages years ago, he wouldn’t have had to cook HTML pasta and fight broken CI/CD so many times. These technologies save a good amount of time that he can now spend on doing more valuable things. For example, writing a post on his favorite blog using markdown. Other use cases include:

  • CV/Resume
  • Business card
  • Product landing page: to collect emails before product launch, to route visitors to mobile App Store/Play Store, to provide an overview of the product, etc.
More …

How to change git history?

“As with any digital data, git history can also be rewritten”, he thought when preparing his project for the open source community. He thought of multiple use cases where git history editor would have been useful:

  • Changing the commit message convention. For example, when he decides to use only lowercase letters in all commit messages.
  • Removing files with server configs when open-sourcing a web project.
  • Switching to a new email address and deleting his embarrassing email address he came up with in high school.
More …

Is competitive programming worth it?

He has just received a notification about an upcoming competitive programming contest. Not willing to sacrifice his leisure time he considers skipping another contest. This time he can’t easily decide because he gave a word to his friends he would attend this one. On the other hand, the bigger question comes up in his mind:

More …

Can I trust open source?

He started to work on yet another billion-dollar startup. The importance of time cannot let him lose a minute of reinventing the wheel. Therefore importing existing modules from an open repository sounded like the best option to move fast. Tons of questions arise in his mind. The important one being:

More …