PumpGraph

pumpgraphE’ un oggetto JavaScript che permette la generazione dei grafici interattivi di funzionamento di una pompa, con possibilità di scegliere punti di lavoro e verificare successivamente i vari parametri nelle condizioni prescelte.

Ho seguito l’estensione di questo progetto quando era un applet Java (aggiungendo interpolazione e rendering del testo con attributi html), e ne ho recentemente fatto il porting completo in JavaScript, per avere la compatibilità con tutti i dispositivi compresi quelli mobili.

 

MODBUSDevManager

Modbus1Pacchetto composto da una libreria di comunicazione e dalla relativa GUI per la gestione dei profili di una serie di dispositivi di misura e conteggio multicanale, entrambi scritti in C#.

Il programma prevede la possibilità di caricare, salvare e clonare da un dispositivo ad un altro i profili di configurazione dei contatori una volta che questi sono stati personalizzati per gli utilizzatori su cui sono stati montati (di solito barche).

Come valore aggiunto, l’editor permette la modifica e il controllo di coerenza di ciascuno dei parametri presenti nel profilo, e la lettura in tempo reale dei valori misurati.

LightPlayer

2014-01-08 20.27.14Un sequencer luci a 16 canali con trigger audio fatto per una installazione fatta da Marc Vincent Kalinka presso la Pinacoteca Brera.

Il sequencer è composto da due parti. La prima è il firmware per il CANXTRA. Il CANXTRA è (era) una scheda di sviluppo della GHI Electronics, basata sull’Embedded Master Module. L’Embedded Master Module è una scheda integrata che implementa il DotNet Micro Framework (NETMF) di Microsoft e permette quindi di eseguire direttamente compilati .NET. Il vantaggio di schede del genere è quello di avere una gestione di periferiche ad alto livello estremamente semplificata (USB host, USB client, SDHC con file system, TCP/IP, display TFT e OLED con grafica) controbilanciata però da una velocità di esecuzione non molto elevata, problema che nel caso in questione non era rilevante, permettendo comunque una sincronizzazione temporale delle sequenze precisa al centesimo di secondo.

La seconda parte è l’elettronica di contorno, composta da una sezione di alimentazione per alimentare il CANXTRA, da due banchi da 8 canali a TRIAC per pilotare le lampade, e da un buffer necessario per il trigger audio.

Approfittando delle caratteristiche del NETMF, la configurazione avviene tramite un banalissimo documento di testo in cui ci sono i timecode e le operazioni da fare sui canali. Basta salvare il file su una pendrive USB, infilarla nella porta del CANXTRA, attendere che il sistema riconosca la chiave e legga il file,  togliere la chiavetta, e il gioco è fatto.

TNGClient

2014-01-07 09.25.15 2014-01-07 09.25.30Mi serviva un progetto come “scusa” per iniziare a sviluppare sotto Android (ambiente mai approcciato prima) e il collega rompiscatole che mi ha sfidato sul discorso PortaleTNG me ne ha fornita una perfetta.

Mentre lui ha riempito la giornata di “Adesso lo faccio, vedrai!” io quatto quatto mi sono scaricato Eclipse, l’ADK, ho installato il tutto, e in poco meno di 8 ore ho scritto TNGClient (e il relativo web service) :)

Il suo uso è evidente dalle due schermate, l’applicazione è molto pratica da usare senza praticamente dover configurare nulla se non le credenziali del proprio account aziendale. Come primo progetto assoluto per Android, devo dire che non è uscito niente male.

MAGE – Medical Agenda

mage

Una web application (VB.NET/ASPX e db MySql) per la gestione dei turni delle sale di uno studio medico associato, composta da un calendario con vista mese per la gestione delle prenotazioni da parte della segreteria, e la possibilità di stampare le schede giornaliere degli appuntamenti da dare ai singoli medici, e il prospetto sala per sala.

Mage2In seguito ho aggiunto anche una parte per stampare fatture e ricevute per le prestazioni fornite.

L’azienda me l’ha chiesta, ma non è mai stata usata, che io sappia.

Chatrooms

Questa è una piccola chat multistanza che avevo scritto come esperimento e che poi abbiamo anche usato in produzione per un certo periodo. Ha la possibilità di gestire un numero arbitrario di stanze, protette o meno da password, con un numero arbitrario di utenti, e gestisce un sottoinsieme dei comandi IRC.

La particolarità di questa web application è che è il traffico è tutto http “base”… il suo traffico passa indenne, infatti, attraverso qualunque proxy io abbia testato che permetta il traffico web nelle configurazioni più ristrette possibili.

E’ nato come applicazione a sè stante (una volta richiesto l’accesso viene inviato un token via mail che funziona solo per quella sessione) ma poi avevo fatto in modo che il sistema recuperasse i token di autenticazione anche da uno o più webservice esterni, e l’ho accoppiato sia a PortaleTNG che a Prospera.

IrishStones

IrishStones (www.irishstones.org) è un sito dedicato interamente ai siti megalitici e medioevali irlandesi gestito da una sola persona. E con “gestito” intendo dire che tutte le foto nel sito (quasi 5000, ad oggi) e tutte le informazioni relative sono state prese da lui, sul luogo, nell’arco di numerosi viaggi in Irlanda.

Ho scritto per lui un CMS dedicato, per permettergli di poter catalogare ed archiviare tutte le informazioni legate ai siti e alla loro localizzazione geografica, e per permettere la consultazione in maniera agevole, con funzioni di raggruppamento geografico (monumenti nelle vicinanze, segnalazioni su google maps, ecc…) e riferimenti alle OS maps, molto utili per pianificare i propri viaggi.

PortaleTNG

 portale2E’ il portale web per la gestione presenze del gruppo per cui lavoro (almeno… ci ho lavorato fino a fine 2013… per il 2014 le cose ancora sono nebulose e oscure).

Portale1

Scritto in VB.NET, ahimè (all’epoca non usavo ancora C#) e utilizzato inizialmente per gestire le anagrafiche del personale, le timbrature, la registrazione delle eccezioni, la reportistica, le previsioni per ferie/permessi/assenze, l’assegnazione delle persone ai progetti, i conteggi dei costi aziendali e dei ricavi. Successivamente ho aggiunto anche la possibilità di gestire ordini, offerte e fatture per tutti i progetti del gruppo. Un’ultima aggiunta è stata la gestione di alcuni asset aziendali (automobili, principalmente). Ci sarebbe stato tanto altro da aggiungere, che è stato previsto in fase di creazione delle basi dati, ma l’azienda mi ha destinato ad altri incarichi quindi tutta quella parte è rimasta una grande incompiuta.

Come qualcuno mi ha già fatto notare, per usare un eufemismo, la grafica fa pena. Lo so, è vero, come ho già scritto altrove nel sito io scrivo codice, e non ho assolutamente occhio per la grafica, per le combinazioni di colori e per tutto ciò che è “estetica” in generale, quindi ho semplicemente messo un paio di colori di fondo per le varie sezioni dei menù e fine.

Successivamente, a scopo didattico, ho creato TNGClient: un client dedicato per Android per la parte di timbratura, e l’annesso web service.

Portale Prospera

ProsperaE’ il CMS che gestisce l’area privata dell’associazione Prospera (questo è il link al portale pubblico).

E’ un progetto interamente personalizzato, utilizzato come “contenitore” per tutte le attività dell’associazione: documenti societari, progetti, gruppi di lavoro, elenchi logistici per l’organizzazione di riunioni e assemblee, e via dicendo.

Il portale è stato in seguito dotato di un’area “questionari” per sottoporre ai soci interviste di vario tipo, ed è inoltre stato aggiunto un modulo per gestire tutto il workflow dell’elezione del consiglio esecutivo durante le assemblee, con supporto per le deleghe e per le votazioni offline.

Viene gestita anche la procedura totalmente automatizzata per il rinnovo delle quote sociali con pagamento tramite carta di credito.

 

OrariSP

TN_OrariSpReportFullHo scritto molto tempo fa questo software per gestire i fogli presenze dei consulenti nell’ufficio dove lavoravo.

OrariSP era composto da un client scritto inizialmente in Visual Basic con archivi Access (che dava un sacco di problemi: avrei anche voluto migrarlo verso un db mysql ma sarebbe stata un’impresa non da poco, e “per fortuna” il software è stato dismesso prima) e da una serie di report web-based, generati dinamicamente (nella foto se ne vede uno… o meglio… si vedrebbe se non fosse solo una thumbnail… ce la metto appena ne trovo una decente… sorry). Una cosa che invece sono riuscito a fare è stata migrarlo in dotnet.

Tra le caratteristiche principali vi sono:

  • Sistema di mail integrato.
  • “Giornale di bordo” personale, per tenere traccia dei propri lavori.
  • Gestione completa dei piani ferie e delle relative prenotazioni, reports ferie organizzati per gruppo o per ufficio, con previsioni per i turni e le ore lavorate.