Skip to content

Archive

Articles

Practical notes on software engineering, architecture, infrastructure and artificial intelligence.

Are microservices technical debt?

Building software has never been so complex and, at the same time, so simple. The complexity lies in the sheer number of technologies, frameworks, languages and patterns available to us. The simplicity lies in how easy …

Dijkstra's Algorithm

Edsger W. Dijkstra was a Dutch computer scientist who made significant contributions to computer science. He is best known for developing Dijkstra's algorithm, which solves the least-cost path problem in a directed or …

PHP — Stream Filters

If you have ever worked with files in PHP, you have probably used functions like fopen, fwrite, fread and fclose. Streams are a very powerful and flexible abstraction for working with files and other I/O resources. …

JIT (Just in Time) — PHP

If you haven't upgraded to PHP 8.0 or later yet, it's time to do it. PHP 8.0 was released on November 26, 2020 and brought the JIT (Just In Time) compiler, which is what we are going to talk about today. Opcode When you …

Hash Tables

A hash table is a data structure that maps lookup keys to values. Its main job is to take a simple key and find the value you want quickly and efficiently. 1. Hash Functions 1.1. Introduction A hash function takes some …

Quicksort

Quicksort is a very efficient sorting algorithm, invented by C.A.R. Hoare in 1960. It is widely used to sort arrays. The algorithm presented below is a recursive version of Quicksort that picks an element as the pivot …