Building a hash table in python
Recently, while I was reading about the implementation of Hash in ruby (similar to a dict in python) and wrote a simple implementation of a hash table in pyt...
Recently, while I was reading about the implementation of Hash in ruby (similar to a dict in python) and wrote a simple implementation of a hash table in pyt...
As lots of engineers nowadays, about a year ago I decided to start diving deeper into LLMs and AI.
Recently, I was going through the documentation and codebase of a python package (specifically kafka-python) and was curious about how cleaning up resources ...
Recently, I was puzzled with an issue while working on one of my projects. In an endpoint I was building, I had to delete an existing record of a table and c...
Pytest is a great tool for writing and running tests in python. One of the features I find myself using a lot is parametrized tests.
Mocking and mocks are really useful when writing tests, as they allow isolating the test target from its dependencies, leading to less fragile tests.
Logging is of great importance for web applications, both while in your local environment and for production applications. Logs can be analyzed and reveal is...
Testing is a huge field and takes a significant amount of time to master. There are several types of tests, like unit, functional, integration, end-to-end (e...
Dependency injection is a technique that “injects”/passes dependencies between objects in a way that leads to code that is easier to test and maintain.
Queues are a really useful data structure that are being frequently used both in application code and are also utilized by libraries. In this post, we’ll see...
Memoization is loosely defined as an optimization technique that is usually applied on functions that are quite expensive to run.
There are several cases where we need to generate a unique identifier in our applications. One way to do it is to roll your own implementation, usually rando...
Recently, I had to parse an SQL-like statement coming in as a query parameter for an python API endpoint. This mini query language had to support AND, OR and...
Recently I read about the circuit breaker pattern and I believe it is an interesting pattern with many use cases in today’s microservices-centric universe :)
It is common knowledge that logging is super important. It is necessary for debugging purposes on your local environment or for tracing some weird behavior i...
During the last few years, when I want to load test my APIs, my go to tool is vegeta. It is an awesome load testing command line tool. It is easy to use and ...
A bit array (or bit set) is an array data structure that stores bits (0 or 1 value) in a space efficient, compact way (read more about bit arrays on wikipedi...
Recently, I wanted to validate emails for a small project I work on. I didn’t want to search for libraries that might do the job, so I decided to build the v...
When building an API (or other kinds of applications, to be frank), sometimes it is useful to set some constraints to the task being carried out (e.g. handli...
Structs are one of the most widely used data structures in go. Combined with interfaces and methods, structs allow us model our data in a way that is somehow...
Channels is an integral part of Go applications. They are typed conduits that allow communication between different parts of an application. Recently, I came...
Recently, I decided to upgrade one of my projects from Rails 6.0 to 7.0. After going through the changelogs of each release between 6.0 and 7.0 and through t...
There are several occasions where we need to encrypt some data, whether they are fields in a database or files. In some cases, encryption is needed in order ...
In ruby, lots of times we have to deal with several strings, whether we are working with a rails application and we are building JSON responses, or we have a...
Recently, I read blog post about elasticsearch, called Elasticsearch from the Bottom Up. A data structure that is very important to performing full-text sear...
Sometimes, we find ourselves wanting to add functionality to objects of a class without affecting all objects of the class (unlike inheritance or composition...
SOLID is a set of principles that lead to cleaner, more maintenable and extensible code. The first principle is the Single Responsibility Principle or SRP.
In the past few years, functional programming’s popularity has increased and new languages (like elixir or scala) that embrace it have been created. But what...
As we all know, there is a vast number of data structures out there. One of the data structure categories is probabilistic data structures. Probabilistic dat...
Queues are a really useful data structure that are being frequently used both in application code and are also utilized by libraries. In this post, we’ll see...
As we all know, there is a vast number of data structures out there. One of the data structure categories is probabilistic data structures. Probabilistic dat...
Channels is an integral part of Go applications. They are typed conduits that allow communication between different parts of an application. Recently, I came...
Structs are one of the most widely used data structures in go. Combined with interfaces and methods, structs allow us model our data in a way that is somehow...
Sometimes, we find ourselves wanting to add functionality to objects of a class without affecting all objects of the class (unlike inheritance or composition...
When building an API (or other kinds of applications, to be frank), sometimes it is useful to set some constraints to the task being carried out (e.g. handli...
When building an API (or other kinds of applications, to be frank), sometimes it is useful to set some constraints to the task being carried out (e.g. handli...
As we all know, there is a vast number of data structures out there. One of the data structure categories is probabilistic data structures. Probabilistic dat...
There are some command line tools that I use almost on a daily basis and make my life a lot easier. One of those tools is jq. Jq is a lightweight and flexibl...
There are some command line tools that I use almost on a daily basis and make my life a lot easier. One of those tools is jq. Jq is a lightweight and flexibl...
There are some command line tools that I use almost on a daily basis and make my life a lot easier. One of those tools is jq. Jq is a lightweight and flexibl...
Recently, I wanted to validate emails for a small project I work on. I didn’t want to search for libraries that might do the job, so I decided to build the v...
Recently, I wanted to validate emails for a small project I work on. I didn’t want to search for libraries that might do the job, so I decided to build the v...
Nowadays, more and more projects are built using the service-oriented architecture (SOA) and more specifically using microservices: several services that hav...
Nowadays, more and more projects are built using the service-oriented architecture (SOA) and more specifically using microservices: several services that hav...
Nowadays, more and more projects are built using the service-oriented architecture (SOA) and more specifically using microservices: several services that hav...
If you are working in a service oriented architecture (e.g. building or maintaining microservices), there is a good chance you have used, are currently using...
If you are working in a service oriented architecture (e.g. building or maintaining microservices), there is a good chance you have used, are currently using...
Admit it. It has happened (not even just once) to all of us. Building something with Java and getting null pointer exceptions because: a) we did not check fo...
Admit it. It has happened (not even just once) to all of us. Building something with Java and getting null pointer exceptions because: a) we did not check fo...
Admit it. It has happened (not even just once) to all of us. Building something with Java and getting null pointer exceptions because: a) we did not check fo...
A bit array (or bit set) is an array data structure that stores bits (0 or 1 value) in a space efficient, compact way (read more about bit arrays on wikipedi...
A bit array (or bit set) is an array data structure that stores bits (0 or 1 value) in a space efficient, compact way (read more about bit arrays on wikipedi...
During the last few years, when I want to load test my APIs, my go to tool is vegeta. It is an awesome load testing command line tool. It is easy to use and ...
During the last few years, when I want to load test my APIs, my go to tool is vegeta. It is an awesome load testing command line tool. It is easy to use and ...
Recently, I read blog post about elasticsearch, called Elasticsearch from the Bottom Up. A data structure that is very important to performing full-text sear...
Recently, I read blog post about elasticsearch, called Elasticsearch from the Bottom Up. A data structure that is very important to performing full-text sear...
In ruby, lots of times we have to deal with several strings, whether we are working with a rails application and we are building JSON responses, or we have a...
In ruby, lots of times we have to deal with several strings, whether we are working with a rails application and we are building JSON responses, or we have a...
It is common knowledge that logging is super important. It is necessary for debugging purposes on your local environment or for tracing some weird behavior i...
Recently I read about the circuit breaker pattern and I believe it is an interesting pattern with many use cases in today’s microservices-centric universe :)
There are several occasions where we need to encrypt some data, whether they are fields in a database or files. In some cases, encryption is needed in order ...
In the past few years, functional programming’s popularity has increased and new languages (like elixir or scala) that embrace it have been created. But what...
In the past few years, functional programming’s popularity has increased and new languages (like elixir or scala) that embrace it have been created. But what...
Recently, I had to parse an SQL-like statement coming in as a query parameter for an python API endpoint. This mini query language had to support AND, OR and...
Recently, I had to parse an SQL-like statement coming in as a query parameter for an python API endpoint. This mini query language had to support AND, OR and...
There are several cases where we need to generate a unique identifier in our applications. One way to do it is to roll your own implementation, usually rando...
SOLID is a set of principles that lead to cleaner, more maintenable and extensible code. The first principle is the Single Responsibility Principle or SRP.
SOLID is a set of principles that lead to cleaner, more maintenable and extensible code. The first principle is the Single Responsibility Principle or SRP.
Memoization is loosely defined as an optimization technique that is usually applied on functions that are quite expensive to run.
Queues are a really useful data structure that are being frequently used both in application code and are also utilized by libraries. In this post, we’ll see...
Dependency injection is a technique that “injects”/passes dependencies between objects in a way that leads to code that is easier to test and maintain.
Testing is a huge field and takes a significant amount of time to master. There are several types of tests, like unit, functional, integration, end-to-end (e...
Logging is of great importance for web applications, both while in your local environment and for production applications. Logs can be analyzed and reveal is...
Logging is of great importance for web applications, both while in your local environment and for production applications. Logs can be analyzed and reveal is...
Logging is of great importance for web applications, both while in your local environment and for production applications. Logs can be analyzed and reveal is...
We frequently find ourselves making http calls from the terminal: for testing out an external API we’re integrating into our projects, or for testing APIs we...
We frequently find ourselves making http calls from the terminal: for testing out an external API we’re integrating into our projects, or for testing APIs we...
Mocking and mocks are really useful when writing tests, as they allow isolating the test target from its dependencies, leading to less fragile tests.
Mocking and mocks are really useful when writing tests, as they allow isolating the test target from its dependencies, leading to less fragile tests.
Mocking and mocks are really useful when writing tests, as they allow isolating the test target from its dependencies, leading to less fragile tests.
Pytest is a great tool for writing and running tests in python. One of the features I find myself using a lot is parametrized tests.
Pytest is a great tool for writing and running tests in python. One of the features I find myself using a lot is parametrized tests.
There are some tools that are quite essentials for web applications. When working on the back end side of your application, you’ll most probably need to use ...
There are some tools that are quite essentials for web applications. When working on the back end side of your application, you’ll most probably need to use ...
There are some tools that are quite essentials for web applications. When working on the back end side of your application, you’ll most probably need to use ...
Recently, I was puzzled with an issue while working on one of my projects. In an endpoint I was building, I had to delete an existing record of a table and c...
Recently, I was puzzled with an issue while working on one of my projects. In an endpoint I was building, I had to delete an existing record of a table and c...
Recently, I was going through the documentation and codebase of a python package (specifically kafka-python) and was curious about how cleaning up resources ...
Recently, I decided to upgrade one of my projects from Rails 6.0 to 7.0. After going through the changelogs of each release between 6.0 and 7.0 and through t...
Recently, I decided to upgrade one of my projects from Rails 6.0 to 7.0. After going through the changelogs of each release between 6.0 and 7.0 and through t...
As lots of engineers nowadays, about a year ago I decided to start diving deeper into LLMs and AI.
As lots of engineers nowadays, about a year ago I decided to start diving deeper into LLMs and AI.
Recently, while I was reading about the implementation of Hash in ruby (similar to a dict in python) and wrote a simple implementation of a hash table in pyt...