Some IT projects worth mentioning

Scientific research is instead available on publications
All AppPhysicsPublicPrivate
Honeycomb workspaces app
AppPublic

Honeycomb workspaces

Honeycomb is a versatile workspace application offering app cloning, service integration, and collaboration streamlining. Users can clone popular apps for convenience and seamlessly integrate various services, allowing customization of their workspace. Built natively with Swift and enhanced with JavaScript, CSS, and HTML integration, Honeycomb delivers a smooth user experience, making it a valuable tool for simplifying digital work and personal life management.

www.honeycomb.chat
Website

honeycomb.chat

This website functions as the online hub for the Honeycomb App, offering users the opportunity to discover its fundamental capabilities and access support materials, all designed with a responsive layout using basic HTML, JS, and CSS.

WebChat All-in-one IM Browser App Store page
App

WebChat All-in-one IM Browser

WebChat laid the foundation for the Honeycomb App and continues to provide temporary support, facilitating a smooth transition for users to migrate to Honeycomb. Over time, WebChat has undergone significant evolution, introducing new features. Given my growing expertise in its development, I chose to rebuild the entire app from the ground up. This approach enabled me to deliver Honeycomb with enhanced performance and native support for a broader range of platforms. The app is still online temporary as long as user are using it.

ILCodiceFiscale App Store page
App

IlCodiceFiscale

Not really up to date graphics and code but fully working. It was first made in Objective-C when Swift was not around. Then moved to Swift when it came out. The next step would probably be to move it to SwiftUI but who knows when it would happen. It is still used by users so there is no need to remove it. Why did I developed it in the first place? Look at the notes below.

www.italiacodicefiscale.it
WebsiteApp

italiacodicefiscale.it

Yet another site to calculate the Italian Tax Code. This time is a website written in GatsbyJS with the paradigm of a web app that can be downloaded and installed from the web browser as an app on your phone. Did the world needed another of this website? Probably no, but It was useful for me. Look at the notes below.

User interface for the gas flow stabilization
PhysicsPrivate

Gas flow stabilization

The main objective of this project, without delving into scientific specifics, was to establish a dynamic flow of Helium gas by managing two interconnected circuits at different selectable pressures. Both circuits had independent inflow and outflow of gases. This was achieved by controlling valves, monitoring vacuum gauges, and prioritizing stability and safety. The solution involved developing a LabView application that utilized PIDs and Serial controls, along with Analog and Digital I/O MOXA devices, as well as physical and virtual interlock switches.

Architecture scheme of the control system for the particle accelerator elements
PhysicsPrivate

Particle accelerator controls

Equipment in a research lab can grow over time. As a consequence, in the case of the accelerator facility in my university, the control systems ranges from analog systems, to C or LabView applications using disparate pieces of hardware. Adding new elements to the existing architectures is challenging, and maintaining the existing systems becomes more demanding over time. To address the need in my research for incorporating new beam transport elements and digitizing existing ones, I made the decision to design and implement a control architecture that would also tackle these challenges. The idea was to create a middleware between physical devices and operators. and to provide unified controls that could over time incorporate new and old hardware. This architecture focuses on reusability, dividing functionalities into different modules for easier maintenance and upgrades. A schematic of the architecture is shown in figure. The control system has already been adopted by other research groups with success.

Python libraries illustration
PhysicsPrivate

Analysis/Simulation Python libraries

I have a preference for writing code that can be easily reused by others (included me) in the future. Some of this code has evolved into libraries that are utilized within the research group. One such library is designed to read and analyze list mode data from CAEN acquisition digitizers. It can be effortlessly used with a .json configuration file to define 1D and 2D plots, or to perform custom analysis on reconstructed events for more specific analysis requirements. Another intriguing library takes an established Fortran COSY INFINITY code used for simulating ion beams and wraps it into Python functions, enabling the creation of sophisticated simulations and analysis on their output with simplicity.

Scientific docker image illustration
PhysicsPrivate

Research docker image

Scientific frameworks are usually not very user-friendly to setup as it needs some manual tweaking of parameters, paths, library versions and so on. Adding to this the possibility of using these framework together makes thing even more complicated for the average user. To solve the problem I created a docker image distributed in the collaboration which contains  ROOT Data Analysis, GEANT4, python libraries I wrote and COSY INFINITY. Now it is much easier to collaborate on projects and run the simulations on higher performance machine once they have been set up on personal computers.

Creating a software to calculate the "Codice Fiscale" (Italian Tax code) has become somewhat of my signature. What I published is actually only the tip of the iceberg 🤨. My projects folder is filled with projects that calculate Tax Codes using various programming languages, with user interfaces ranging from webpages to even unconventional Rest-APIs. It serves as my personal "Hello world" project, if you catch my drift. This algorithm is simple but not trivial and fairly straightforward to test. It provides me with a clear objective when learning a new programming language, UI framework and so on. Only few of these projects survive to the point of being published, usually because I want to learn or practice some aspect of the publication process too.