photo

Francesco Paolo Culcasi

Computer Engineering, web design, web standards

Short Biography & Accademic titles

Francesco Paolo Culcasi is a software developer and computer engineer.
He received a Bachelor's degree in Computer Engineering with a thesis on "Sviluppo di un'applicazione Android per la rilevazione del comfort ambientale" (ENG: "Develop of an Android application for environmental comfort measurement"), and the Master of Science degree in Computer Engineering with a thesis on "Deep Learning of Sleep Quality based on Ballistocardiographic sensors, Stigmergic Perceptrons and LSTM Networks", both from Università di Pisa.

Many years of theoretical and practical approaches with computer science topics have made him an expert in computer science.

His main fields of interest are:

His curiosity and hunger for knowledge bring him towards new learning/growing opportunities.

For more in-depth information ask for his Curriculum Vitae (check contact section) or have a look at his LinkedIn page.

Past Projects

Action/position detection through differet neural systems

Francesco Paolo Culcasi
Intelligent Systems (Prof. Beatrice Lazzerini) - Spring 2018
Artificial intelligence Machine learning Neural Networks Fuzzy inferenze systems ANFIS
Developing of a neural system, a Mamdany-type fuzzy inference system and a Sugeno type fuzzy inference system for the identification of a volunteer position/activity.

Environmental comfort in intelligent ambient

Francesco Paolo Culcasi
Networked Embedded Systems (Prof. G. Anastasi, Prof. F. Marcelloni, PhD student C. Puliafito) - Spring 2017
Domotics Ubiquitous & Pervasive systems Smart Building IoT Android QR code Contiki Californium CoAP RPL
Simple smart system to monitor and enhance the environmental comfort of the building occupants.
The application is composed of:
  • a WSN, developed in Contiki, whose goal is to monitor light and temperature of several rooms;
  • an Android application that allows rooms' occupants to share their opinion about the living environment. Data are sent to a web database. The application is based on my bachelor's degree thesis (more specifically the studies on "Comfort evaluation criteria");
  • a non-constrained node, developed in Californium, which acts as Relay between sensor nodes of the WSN, that periodically switch off their radio for energy conservation reasons, and the web database. In particular the relay is responsible for:
    • sending sensor's measurements to the database
    • computing and sending, for every room, the satisfaction index from occupants' opinion
  • an actuation system simulated by LEDs placed on board of each sensor node.

CUL8r (see you later)

an Android application for real social networking
Francesco Paolo Culcasi
Pervasive and Mobile Systems (Prof. M. Avvenuti, A. Vecchio) - Spring 2017
Ubiquitous & Pervasive systems Mobile systems Android GPS localization
Develope of an Android application for tracking social interactions (to co-operate with a clustering application).

Sleepy CoAP nodes

Francesco Paolo Culcasi, Alessandro Martinelli, Nicola Messina
Advanced Networked Architectures and Wireless Systems (Prof. E. Mingozzi, C. Vallati) - Fall 2016
IoT Contiki Californium Cooja CoAP
The large diffusion of sensors happening at our days on one hand enables new concepts like smart houses, on the other hand carries with it new challenges due to their specific characteristic.
One of these challenges consists in being able to communicate with a device which, for energy saving reasons, spends most of its life in a low-power consumption state and periodically go back to an operative mode in order to perform its tasks, like measuring temperature, after which it goes to sleep again; while the device is in a sleepy state, it is not possible to contact it, e.g. in order to obtain the measured temperature value, neither is possible to know a-priori when it will wake up.

LZ78 compressor

Francesco Paolo Culcasi, Alessandro Martinelli, Nicola Messina
Advanced Topics in Network and Computer Systems (Prof. L. Rizzo) - Spring 2016
File compression
Implementation of one of the most important lossless algorithm for file/stream compression. LZ78 (Lempel-Ziv 1978) is a dictionary based compressor that implements a tree based dictionary built at runtime.

Packets connector

(previously known as nm2tcp)
Francesco Paolo Culcasi, Alessandro Martinelli, Nicola Messina
Advanced Topics in Network and Computer Systems (Prof. L. Rizzo) - Spring 2016
netmap TCP UDP pcap
A packets connector allows conversion of packets from different interface and several formats (tcp client/server, netmap, pcap). This project aim to implement pcap packet read/written from/to pcap interfaces and files.
EXTRA: Added a test funtionality through virtual interface (see veth) that generates ARP packets.

Akka file sharing

Francesco Paolo Culcasi, Alessandro Martinelli, Nicola Messina
Concurrent & Distributed Systems (Prof. A. Bechini) - Fall 2015
Chord protocol Distributed hash table Akka JavaFX
Fully decentralized system, impemented by Akka toolkit (using the Actor's paradigm), that allows users to share files through a cluster of nodes.
Nodes join/leave the ring topology of the cluster using mechanisms freely inspired by CHORD protocol, to better manage the Distributed Hash Table.
Each joining node has to specify the size of disk to share with the application. Files are spread all over the nodes taking into account a load balancing technique. Each files can be found by searching for the node responsible for the hash value of the file name, or by looking for the hash value of a tag (part of the file name).
P2P file transfer implemented by a tailor-made actor protocol, with management of "fake transfer" (the request come from the owner of the file), rollback and load balanced re-distribution of the edited file.
Concurrent file access regulated by means of a Single Writer Multiple Reader policy.
A leaving node signals its abandon of the cluster to its neighbors in order to distribute all its owned files and DHT entries.
Last but not least, a simple recover mechanism is used to repair node crashes obtained through serialization of DTH entries and failure management of Akka.
EXTRA: A user-friendly GUI, realized with JavaFX, introduced for an easier and more intuitive utilization of the program.

IIR Filter for audio applications

Francesco Paolo Culcasi
Electronic Systems module of the course on Communication and electronic systems (Prof. L. Fanucci) - Fall 2015
FPGA VHDL IIR filter
This progect shows how IIR (Infnite Impulse Response) filters work, what are their possible applications, and their most common architectures.
An architecture has been choosen for the realization of a practical case. Through VHDL code some simulation tests are run to verify the correct behavior of the architecture. In conclusion an implementation on Xilinx Zync using the ISE Design Suite WEBPACK is presented.

Performance evaluation of supermarket tills

Francesco Paolo Culcasi, Alessandro Martinelli, Nicola Messina
Performance Evaluation of Computer Systems and Networks (Prof. G. Stea, A. Virdis) - Fall 2015
Queueing theory Simulation statistical analysis OMNet++
The project consists in modeling a supermarket with N tills. The goal of this work is to study, with the help of OMNet++ simulator, the characterizing aspects of the supermarket, both from the point of view of customers (queueing time and response time experienced by each one) and from the standpoint of the owner of the supermarket (till idle time and load distribution) on varing arrival time probability distribution.

News & Appointment schedule

Favorite quotes

"Security protocols are three-line programs that people still manage to get wrong"
Roger M. Needham
"The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are undistinguishable from it."
Marck Weiser
"If you think cryptography is the answer to your problem, then you don't know what your problem is."
Peter G. Neumann
"This is Linux. It gives you cute mascot and enough rope to hang yourself."
Miquel van Smoorenburg
"The computer is incredibly fast, accurate, and stupid. Man is incredibly slow, inaccurate, and brilliant. The marriage of the two is a force beyond calculation."
Leo M. Cherne
"But surpassing all stupendous inventions, what sublimity of mind was his who dreamed of finding means to communicate his deepest thoughts to any other person, though distant by mighty intervals of place and time?"
Galileo Galilei
"I hear and I forget. I see and I remember. I do and I understand."
Confucio
"The man who asks a question is a fool for a minute, the man who does not ask is a fool for life."
Counfucio (?)
"No one has ever become poor by giving."
Anne Frank
"The world is changed by your example, not by your opinion."
Paulo Coelho
"Life is meant to create memories not money."
Debasish Mridha
"Truth is not what you want it to be; it is what it is, and you must bend to its power or live a lie."
Miyamoto Musashi
"[…] Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but occasionally circumstances occur in which toil and pain can procure him some great pleasure."
Cicero Nerd alert: You've already seen this phrase… in your software

Extras and Fun

cyber-security in a picture

Programming is like writing a book
code quality measurement