Software

Comparison of Optimisation Methods for The Knapsack Problem: Steepest Ascent Hill Climbing vs. Simulated Annealing

I have published my paper “Comparison of Optimisation Methods for The Knapsack Problem: Steepest Ascent Hill Climbing vs. Simulated Annealing” on ResearchGate. The paper explores the application of optimization algorithms, specifically Hill Climbing and Simulated Annealing, to solve the knapsack problem. The knapsack problem is a well-known combinatorial optimization problem...

Harnessing the Power of Shell Code

Linux shell scripting is a powerful tool that allows users to automate tasks, execute commands, and create complex workflows using simple scripts. Shell scripts are written in a shell programming language, such as Bash (Bourne Again Shell), which is the most common shell used in Linux distributions. This article provides...

Exploring AI Optimizers: Enhancing Model Performance and Efficiency

Introduction Artificial Intelligence (AI) optimizers play a crucial role in training and fine-tuning machine learning models. These optimization algorithms are designed to improve model performance, enhance convergence, and efficiently use computational resources. In this article, we will delve into the world of AI optimizers, exploring their importance, popular types, and...

Vim vs NeoVim

Vim and NeoVim are both powerful and popular text editors that are widely used in the software development community. Both editors are based on the original Vi editor, which was developed in the 1970s and is still widely used today. Vim is a free and open-source text editor that is...

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.