About me

Mao

Hello there, my name is Maurizio Benedetti and this is my personal blog space.

If you love coding, low level systems architectures and open source solutions, you’ll feel right at home here.

I started writing this blog few years ago just to collect different articles about IT technologies. I used my blog since then to write about other hobbies I have in my life, motorbikes (Mamba) and woodworking (Arcadia).

I am a passionate C/C++ developer and I feel very comfortable when I need to work on code optimization and low level functions.


In particular, the areas where I feel best and I love to practice during my free time:

  • C – C++ Development (in particular Linux Daemons development and computer games engines/frameworks)
  • Low level Memory Management (fragmentation, Sharding, Memory pollution, Pointers allocators)
  • OpenGL libraries, both ES and Desktop versions (though during the years I have focused more on the mobile ES version of the libraries. I love to write sharers (Vertex and Fragment) too.
  • Building 3D engines  (PATRIA 3D is my last engine/framework)

And the areas (I love as well,) I practice for living:

  • Microservices and SOA architectures
  • API ecosystem
  • Continuous delivery pipelines
  • Cloud architectures (IAAS, PAAS, and SAAS solutions)
  • Applications hosting services
  • IT Operations manager, I coordinate a team of passionate and talented IT people. I am very proud about my team. I feel part of it and they are my 2nd family
  • Linux Operating Systems
  • Linux customization, Linux Daemons
  • Containerization Solution. This includes solutions like Docker and our custom (I developed) solution called Feeder
  • IT services management
  • Devops and automation solutions (Ansible, Custom Daemons, BASH scripting, Python)
  • DOS prevention techniques (SYN FLOOD, SlashDotting, etc.)

If you have any question or you want to know more about me, the topics on this site or about my field of specialization, please don’t hesitate to sign up and ask.


 

Below, a quick recap of my current skills set

 


Microservices architectures (Expert)

Expert in Microservices and SOA architectures. Deep knowledge of orchestration and choreography patterns for microservices landscapes.

Deep understanding of pros and cons of microservices (resilience, technology heterogeneity, scalability, ease of deployment, organizational alignment, composability, differentiated lifecycles).


Continuous delivery (Expert)

Expert in continuous delivery pipelines. I led, as part of a massive digital transformation initiative in my organization of the modernization of the delivery pipeline for operated enterprise systems. Deep understanding of one click deployments pipelines, multi cloud providers orchestration, software defined infrastructure, A/B testing etc.


Linux Operating Systems (Expert)

Expert in Linux operating systems. This currently represents my core specialization.

  • Excellent knowledge of Redhat and Ubuntu based Linux systems; Good knowledge of FreeBSD based Unix systems
  • Excellent knowledge of Logical Volume Manager (LVM, LVM2, Thin provisioning, Snapshots, Volumes management) and Linux file systems
  • Excellent knowledge of Linux Bash system and past experience on different shells (SH, CSH)
  • Operating System optimization techniques

Linux Containerization Solutions (Expert)

Expert in Linux containerization solutions. In particular I have implemented the current World Food Programme standard hosting solution called Feeder.

Feeder is based on RHEL Kernels and Cgroups. The libraries used to wrap the different namespaces creation was libvirt.

Feeder is currently operating hundreds of production containers and cut the hosting costs to one tenth of what the organization used to spend. Feeder is based on a combination of custom tools we developed such as custom C daemons for containers provision and monitoring. The platform allowed my current organization to save about $300.000 on yearly basis with an upfront investment using internal operations resources.

I supervised the development of the custom daemons and developed to most of the SW components currently operating the platform.

My experience about containerization is focused as well on current industry standard like Docker based containerization.


ANSI C development (Expert)

Expert in C development on both Linux and Windows platforms.

  • Author of a 3D engine called PATRIA written in standard C and OpenGL ES 2.0 capable to run on a multitude of devices including Android devices, Windows and Linux workstations. This engine was used to build some mobile games (I personally developed).  The engine implements rigid body physics, collision detection, custom OpenGL Shaders (GLSL), game timing management and JNI interface for Java communication.
  • Expert in Linux Daemon development (TODO, say more)
  • Extensive knowledge of Linux automation using C language
  • SUID applications and embedding of standard libraries

Apache Web Server (Expert)

My experience about Apache web server spawns across several years and hundreds of applications. Apache is all-around web server in the environments I used to operate and I used this awesome web server in several different situations.

I used Apache in many different solutions in standalone situations (simple applications) up to solutions where multi nodes where involved (using load balancers).

Extensive knowledge about different types of Apache MPM models (Worker, Prefork, Event)

I have extensive knowledge of Apache internals and I have no problem to debug Apache processes on Linux based solutions (using GDB on debug symbols). On the other side, my experience about running Apache on Windows is very limited (read limited knowledge of mpm_winnt).

Excellent knowledge of most common Apache vulnerabilities and DOS (i.e. SYN flood).


Nginx Web Server (Expert)

Extensive knowledge of the Nginx web server. I know the inside out of this event driven web server focusing on development of Nginx modules. Particular focus was given to the internal organization of the Nginx process to avoid locking states and external CGI like approach (Fast CGI, WSGI, PHP-FPM).

Extensive usage of Nginx as a load balancer (mainly for sticky sessions), buffering, caching and SSL termination.


Amazon Web Services (Good Knowledge)

Excellent knowledge of Amazon Web Services and how to architect solutions on this platform. I am currently an Amazon Certified Solution Architect (Associate level) and I am in charge, in the organization where I am currently employed, of the possible move of internal services to the cloud.