Tags

25 Projects (c++)

Virtual Camera

2021 (39 yo) - Dev time: 10
Virtual Camera - as the name suggest - is a virtual webcam for your PC. You can attach to your virtual camera different video source (like your android device or your IP camera), and use them as video feed in your favorite conferencing app (like Zoom, Skype, Google Meet). You can also record a video, and use it in the place of the live feed, and switch back to live anytime
C++
COM
C#
WPF
MF
COM
OpenCV
DirectShow
MP4
Kotlin
Android
ONVIF
RSTP
Socket
Image Processing
Desktop App

Screenshots

Links

Parking App

2017 - 2019 (35 yo) - Dev time: 3
Co-Founder of Krap, a mobile App to help the driver to easy find a parking spot (on street or private park). The parking availability data can be collected via a parking sensor or directly from the users using the app. When you are close to your destination, a machine learning algorithm drive you across the street in which you have more chance to find a free parking spot.
We won the open innovation summit in Turn (2017) as most innovative startup, and we have been selected as one of the top 10 startup in SENTE Mobility Program in 2019.
My contribution:
  • Design and build the parking sensor in all its parts (electronic, firmware, enclosure)
  • Custom DX11 based 2D map draw/edit engine (due to performance reason with very large 2D geometry dataset)
  • OSM data extractor.
  • Traffic simulator on real OSM data (plus the parking spot on street, inserted manually) to test the algorithm performance compared to the random
  • Routing and navigation algorithm from raw GPS data (extremely approximates)
  • Android NDK map / routing library, android GPS recording, android GPS data simulator from a previous GPS recording
  • On street parking edit web app, drawing on a map or using GPS during a city walk
C++
C
Kotlin
Android
Android NDK
C#
WPF
HLSL
DX11
OSM
Socket
GPS
2D Geometry
Routing
Firmware
ESP8266
3D Print
WEB Api
Algorithm
Desktop App

Video

Screenshots

Links

Playtech Poker Assistant / BOT

2014 (32 yo) - Dev time: 1
Reversing engine of Playtech online poker platform (flash & web socket protocol). Collect and store poker hands data, assist the player during a game giving real-time odds and stats, based also on other players history.
  • Collected about 2.5 millions of poker hands, to be feed to a machine learning algorithm
C#
C++
Web Socket
SQL Server
Machine Learning
Math
Hack
Socket
WEB Api
WPF
Desktop App

Screenshots

Drums View not completed

2012 (30 yo) - Dev time: 1
Multi track midi player, with focus on drum tracks for practice purpose. Allow to acquire midi input from an electronic drum set and overlap it to the original track and analyze your performance. You can mute/solo every single track, change the playback speed, select a song part and play it in loop
  • Custom midi file parser and player
  • 3D drum set animation during playback, with code generated pad/cymbal to customize shape & size using DX11
C++
C#
WPF
Midi
HLSL
DX11
Desktop App
3D Geometry

Screenshots

DVB-T Tv

2008 (26 yo)
Permette di visualizzare la TV digitale terrestre, se provvisti dell'hardware necessario. Scansione automatica dei canali, possibilità si salvare e organizzare elenchi, modalità finestra o schermo intero, registrazione direttamente in formato mpeg2.
C++
Win32
DirectShow
Desktop App

Screenshots

Real Time Video Effect

2008 (26 yo)
Permette di applicare effetti in tempo reale a sorgenti video live (webcame, videocamere, etc) o sorgenti video su file. Ogni funzione di elaborazione di immagini / video è stata scritta in assembly (MMX - SSE), e non vengono usati componenti o librerie di terze parti.
C++
Win32
Assembly
Computer Vision
Desktop App

Screenshots

Ground Station

2007 (25 yo)
Applicazione client / server che permette di impartire istruzioni ad un elicottero (dotato di apposito hardware e software di controllo), disegnando su una mappa satellitare le traiettoria da eseguire o impartendo i comando in tempo reale tramite joypad / tastiera. La stazione di controllo riceve le informazioni lette dai sensori a bordo (velocità, coordinate gps, orientazione del corpo rigido, etc), e le rappresenta in un ambiente 3d. E' possibile tracciare il grafico di ogni variabile di controllo trasmessa, ed effettuare delle registrazioni che potranno essere riviste e analizzate in un secondo momento. Può inoltre ricevere le immagini trasmesse in diretta tramite la telecamera a bordo.
  • Draw and load a pre-established flight path
  • Use a gamepad / keyboard to send real-time control commands
  • Plot and graph any transmitted variable
  • Show on board sensor data on a 3D environment (speed, gps position, orientation of rigid body, etc)
  • Show live images from analog camera installed on board
C++
C#
DX9
Socket
WinForm
Desktop App
3D Geometry

Screenshots

Laser Mouse

2007 (25 yo)
Con l'auslio di una telecamera, permette di trasformare le penne a puntamento laser, in un mouse, posizionando il cursore nel punto in cui si trova il fascio luminoso. Adatto per presentazioni con video proiettore.
C++
Win32
Computer Vision
Desktop App

Video

Browser screenshot

2006 (24 yo)
Applicazione web che permette di creare lo screenshot di qualsiasi sito web, così come verrebbe rappresentato da un browser a scelta (supportati IE 4, 5.5, 6, 7 – Firefox x.y, Opera 8).
C++
Win32
C#
Web App

Screenshots

BT Driver

2006 (24 yo)
Pilota il controller Bluetooth connectBlue cB-OEMSPA13
C++
C#
Bluetooth

Screenshots

C++ .NET Framework suspended

2006 (24 yo)
Porting di parte del .NET Framework in C++ puro, per ottenere lo stesso potere espressivo, senza il costo del IL e del garbage collector.
C++
Win32
Posix
Framework

Links

Levels Compiler suspended

2006 (24 yo)
Generatore di linguaggi di programmazione e compilatori per la programmazione a livelli (Vedi articolo Levels programming).
C++
C#
Language

Screenshots

Links

Levels IDE suspended

2006 (24 yo)
Ambiente di sviluppo per la programmazione a livelli e non solo. L'editor di testo è stato fatto senza usare componenti del sistema operativo (come textbox, richedit), per essere più veloce e portabile.
C++
GDI+
Win32
Desktop App

Screenshots

Background Detection

2005 (23 yo)
Algoritmo di rilevazione background, immune alla persistenza (anche a lungo termine) di oggetti non appartenenti al background.
C++
Computer Vision
Algorithm

Video

Multi Desktop

2005 (23 yo)
Gestisce più desktop sotto forma di matrice. Per passare da un desktop ad un altro basta spostarsi in uno dei bordi dello schermo, o premere una combinazione di tasti
C++
COM
Win32
Desktop App

Screenshots

Register IP

2005 (23 yo)
Servizio DNS virtuale. Connette automaticamente il computer ad internet e registrare il suo IP in un server pubblico, associandolo ad un nome.
C++
Socket
ASP.Net

Traffic Detection

2005 (23 yo)
Algoritmo di conteggio, classificazione, tracciamento e rilevazione velocità di veicoli in ambito autostradale.
C++
Win32
MMX/SSE
Computer Vision
Algorithm
IPP
Desktop App

Video

Video Processing Interface

2005 (23 yo)
Interfaccia unificata per raccogliere moduli di elaborazione video, multi-sorgente. (video sorveglianza, controllo traffico, controllo accessi, video registrazione, etc)
C++
C#
Computer Vision
Image Processing
Desktop App

Screenshots

XAPP

2005 - 2006 (23 yo)
Architettura basata su XML che permette di costruire rapidamente applicazioni Desktop/Web. Tramite lo stesso sorgente è possibile esporre l'interfaccia utente della propria applicazione in diverse forme (standalone, html)
C#
C++
WinForm
Win32
AJAX
Socket
Javascript
Web Service
Framework

Screenshots

Links

Extended NTFS

2004 (22 yo)
Permette di creare HardLink su file system NTFS
C++
Shell
COM
Win32

Screenshots

Open As

2004 (22 yo)
Permette di eseguire un programma o aprire una cartella con un utente diverso da quello corrente. Permette inoltre di creare collegamenti speciali a file/cartelle protette, che richiedono all'apertura nome utente e password.
Shell
COM
Win32
C++

Screenshots

Chat

2002 (20 yo)
Semplice programma di messaggistica istantanea peer to peer
C++
Socket
VB6
Desktop App

Screenshots

Console Utility

2002 - 2006 (20 yo)
Serie di utility che estendono il prompt dei comandi, per la gestione di processi e della rete.
C++
Win32

Plotter 3D

2001 (19 yo)
Traccia il grafico per funzioni a 2 variabili, con la possibilità di cambiare la visuale (zoom, rotazione nei tre assi, traslazione).
C++
Win32
3D Geometry
GDI
Desktop App

Screenshots

Remote Control

1998 (16 yo)
Permettere di controllare mouse, tastiera e di navigare nel file system di un computer remoto.
Win32
C++
Socket
VB6
Desktop App
Hack

Screenshots