Andrea Sodomaco - ICT scattered considerations

010101010111001101100101001000000111010001101000011001010010000001110011011011110111010101110010011000110110010100101100001000000100110001110101011010110110010100100001

Parliamo di Java, Linux e informatica

Contents

I would like to publish scattered considerations on various technical topics in the web and computer field, mainly related to the following areas:

  • Programming, algorithms, performance, and concurrency in the Java language
  • Web development, particularly technical solutions
  • Linux and sysadmin

Furthermore, I intend to use the website to publish some small Java libraries, utilities, or code snippets that I have created over time.

Who I am

Andrea Sodomaco

Andrea Sodomaco

I have been involved in computer science since the 80s when I started as a hobbyist, and I have never lost my passion and love for the subject, which has become my job.

For more information, see my LinkedIn page.

Sometimes, I participate in Stack Overflow.

philosophy and guiding principle

The guiding principle of the content is "Make it, don't buy it!".

If you needed a JSON or HTML parser, an SMTP server integrated into your application, a connection pool for database connections, a tool to manage the configuration of Nginx for a very large number of virtual servers, would you search for a ready-made solution to integrate or develop a solution from scratch?

image taken from facciabuco.com

reinventing the wheel can be usefull if you do it better

My choice has often been to develop original solutions despite the fact that tools or libraries already exist on the market. I have rarely regretted this choice, which is considered by many to be against the norm. There are advantages such as very compact and tailor-made code, independence in bug fixing, optimization compared to specific needs. Furthermore, some disadvantages can be avoided, such as the adoption of libraries that are not maintained, compatibility problems over time with the versions of various software in the ecosystem, the adoption of systems that are much more complex than necessary because they were designed to be general purpose.

In addition to wanting to convince everyone of my ideas ☺, my purpose is to provide examples of how some software development or system problems can be addressed, with the hope of triggering a technical discussion on various topics with both those who share my positions and those who have opposing positions.

passodo.sh - a command line password manager

passodo.sh is a command line password manager that stores passwords, secrets, or other texts in encrypted files using a master password to secure them. It is intended to be multiplatform, self-contained, and very simple to install and use. It can be used on any OS with bash and openssl installed (e.g., Linux, macOS, Windows with cygwin) with no other dependencies. passodo.sh can easily manage many tens of passwords that can be organized into folders.

passodo.sh - a command line password manager

April 10, 2023

Comparing Two Strings Ignoring Repeated Spaces

The not-so-obvious question that I ask myself is "what should a programmer do when faced with the problem of comparing two strings while ignoring repeated spaces"?

Comparing Strings Ignoring Repeated Spaces

December 30, 2022

Blocking Malicious IP Addresses on a Linux Server

How to quickly block access to certain IP addresses on a Linux system using iptables and the kernel network filtering, in an easy, safe, and free way. Practical examples related to a web server.

Blocking Malicious IP Addresses with iptables

November 6, 2022