Software

Semaphores: Understanding the Basics of Synchronization

A semaphore is a variable or abstract data type in computer science that is used to restrict access to a shared resource by several threads and avoid critical section problems in a concurrent system like a multitasking operating system. 

Synchronization primitives include semaphores.

A Lightweight document-oriented NoSQL Database for the GO language

CloverDB is the work of a great friend and fellow Computer Scientist, Stefano Scafiti. It is a lightweight NoSQL database designed for being simple and easily maintainable, thanks to its small codebase. The project was inspired by tinyDB.

I contribute where I can to this great project. If you know the Go language, and love to support free open source software like me, you are more than welcome to join the project on its GitHub page.

The World Wide Web

The world wide web is like a global filing system that runs on the internet. Each entry in this filing system is a website, which can consist of many webpages. Each webpage brings code, text, and multimedia files together. Hyperlinks are special interconnections between webpages that help users navigate through...

The C++ Programming Language

The C++ programming language is a powerful and versatile tool used by developers worldwide to create robust software applications. Developed by Bjarne Stroustrup in 1983, C++ was designed to be an extension of the C programming language with added features that make it ideal for building complex software systems. C++...

Linux Performance Observability Tools

Linux performance observability tools are essential for system administrators and developers to monitor the performance and diagnose issues in Linux-based systems. With the increasing complexity of modern computing environments, the need for accurate and reliable performance metrics has become more critical than ever. In this article, we will discuss some...

The IBM card

The IBM card, also known as the IBM punch card, was a standard for data storage and processing during the early days of computing. The cards were first introduced by IBM in the early 1920s and quickly became a widely used method for recording and storing data, from census data...