Understanding Executable Shims
Have you ever wondered how your computer knows where to find and run a program when you type a command in the terminal? Sometimes, it's not as straightforward as it seems. That's where "shims" come into play.
Have you ever wondered how your computer knows where to find and run a program when you type a command in the terminal? Sometimes, it's not as straightforward as it seems. That's where "shims" come into play.
Notion, a leading productivity and note-taking platform, has gathered a dedicated user base exceeding 30 million users globally. In this post, we will explore the intricate technical architecture supporting Notion's platform, enabling seamless support for millions of concurrent users.
Big tech layoffs gathered widespread media attention in 2022 and 2023.

Nevertheless, at the time of writing this post in the beginning of 2024 software engineers are still in high demand and paid extremely well.
In this post, we will review software engineers’ salaries in the US at the beginning of 2024 and answer the following questions:
As with many things in life, when it comes to deploying AWS Lambda functions, there is more than one way to get the job done. In this post, we will explore available methods for deploying code to Lambda functions and find out when it is more appropriate to use each method.
GitHub Copilot is an artificial intelligence tool that attempts to speed up the process of coding by generating snippets of code while typing. It is essentially a super-powered code completion tool.
Traditional code completion tools provide limited assistance by suggesting names of classes, functions and variables, and generating code using built-in templates. GitHub Copilot takes code completion to the next level by offering suggestions for generating comments, multiple lines of code, and whole functions.
BitTorrent is a communication protocol that allows downloading and sharing large files over the Internet without relying on the presence of a centralized server to store shared files. The protocol was designed by Bram Cohen in 2001. Today BitTorrent is one of the most popular protocols for transferring large files such as digital video and audio files.
Despite earning a bad reputation as a protocol that is used for piracy, many organizations, businesses and content creators use BitTorrent protocol for completely legitimate purposes that benefit everyone involved without breaking the law. For example, BitTorrent is used by many large and small companies for distributing software, games, videos, music and large data sets across countless users and servers.
Disclaimer: This post was not created using ChatGPT.
ChatGPT is a new AI-powered chatbot that was launched as a prototype on November 30, 2022. Immediately after its launch the chatbot attracted an incredible number of users due to its ability to provide answers to questions from a wide variety of domains.
In this post we will look into practical applications of the new chatbot for software engineers and talk about AI’s weak points.
There is a disagreement among software engineers about using exceptions. Some engineers are convinced that throwing exceptions is very slow and expensive and exceptions should not be used to indicate an error. Others always use exceptions instead of returning an error.
What do you think is the correct answer? The answer to this question is the most common answer that I hear and give as a software engineer: it depends. It depends on the type of project you are working on and how often exceptions are thrown.

In this post we will compare virtual private network services and the Tor Browser and find out which one will be the right choice for your needs.

Multi-column indexes are also known as composite, combined, or concatenated indexes. They are used to improve the speed of data retrieval operations in relational databases. Multi-column indexes are more complex compared to single-column indexes and therefore require extra attention when defining them. Here are the best practices for creating and working with such indexes.