SyncPlayer

Questo l’ho scritto come proof of concept per verificarne la fattibilità: si tratta di un media player per piattaforma Android con l’aggiunta di una componente  di rete che permette la sincronizzazione della riproduzione video tra dispositivi.

L’idea originale è quella di utilizzare gli oramai diffusissimi micro sistemi Android (il cui capostipite è stato il MK802) per proiettare su un certo numero di schermi separati di una installazione multimediale. Soluzione a bassisimo costo che prevede, per ciascuna postazione, oltre al monitor/proiettore con ingresso HDMI un MK802 (0 equivalente) e una microSD con il materiale da riprodurre.

Uno dei sistemi viene configurato come coordinatore, e su questo viene caricata una lista con i palinsesti. Quando tutti gli altri sistemi partono e si collegano alla WiFi, il coordinatore avvia le sequenze e comanda tutti gli altri.

(Niente screenshot, dato che SyncPlayer non ha nessuna interfaccia utente)

BetHarvester

BetHarvesterBetHarvester è un web scraper multithreading scritto in C#.

Il suo scopo è quello di interfacciarsi in http/https con un gran numero di bookmakers interpretando dinamicamente le pagine web per cercare le quote migliori accoppiando gli eventi e le tipologie di scommesse e raggruppandone le quote indipendentemente dalla gerarchia che i vari bookmaker usano per la visualizzazione.

Il programma costruisce un grosso database con tutti i dati recuperati e poi, tramite un insieme di regole modificabili in ogni momento, associa i dati tra i diversi bookmaker ed estrae le quote più vantaggiose 0 quelle errate a favore dell’utente.

Ho scritto il programma come “proof of concept” ma non l’ho mai usato, anche perchè non mi piace scommettere (e poi mi dicono dalla regia che sarebbe alquanto illegale). In compenso è stata un’ottima occasione per divertirsi un po’ con il multithreading e con le “peculiarità” che la sua gestione in C# comporta, compreso l’accesso thread safe ai componenti della GUI.

BTW: Nonostante io non scommetta mai, in questo particolare caso ho scommesso con una persona che sarei riuscito a realizzare questo software, considerato abbastanza “impossibile” e…

ho vinto io. :)

 

CQC

CQCQuesto è un piccolo programmino scritto in C# per riutilizzare vecchi portatili come display numerici per punti vendita (“serviamo il numero…”)

In realtà è nato più o meno come uno scherzo: mi è stato infatti chiesto da un caro amico come gadget da mettere in ufficio per “gestire” le richieste dei colleghi… CQC infatti sta per “Colleagues Queue Counter“, ma poi qualcun altro l’ha usato seriamente :)

Tornando al gadget, è possibile personalizzare colori, suono per l’avanzamento del contatore, immagine di sfondo e stile delle cifre. Non ho mai avuto occasione di creare un installer, ma tecnicamente questo l’ho rilasciato come freeware, quindi se vi serve, basta chiedere.

MiniGraph

E’ una piccola utility che ho scritto in quanto mi serviva qualcosa in grado di monitorare al volo il carico di lavoro su alcuni webserver senza dover litigare con i vari tool di graphing.

Ho colto l’occasione per giocare un po’ con il .NET SDK, e MiniGraph è quello che è venuto fuori. Visto che può tornare utile in vare occasioni, ho poi deciso di rilasciarlo in pubblico dominio.  

Informazioni dettagliate cliccando qui.

JEEneoN

jeeneon on windowsJEEneoN è un client dedicato per neoNecronomicon, il primo MUD italiano.

Prima Necronomicon girava in Videotel, poi è stato chiuso per anni ed è “rinato” grazie all’ADSL.

JEEneoN era originariamente chiamato CLIneoN ed era scritto in Visual Basic (purtroppo era iljeeneon on mac linguaggio che ero costretto ad usare al lavoro, ed quindi era l’unico metodo per poter “rubare” un po’ di tempo e scrivere parte del client in ufficio ;-) ).

In seguito l’ho portato in Java (e rinominato) perchè molti utenti di neoN usano Mac OS X oppure Linux. Il client, ovviamente, gira sotto tutti e tre i sistemi operativi.

Ulteriori informazioni su JEEneoN

PSXScope

psxinterfaceQuando ho messo per la prima volta le mani sulla PlayStation, il suo controller mi è piaciuto parecchio, tanto che avevo pensato di utilizzarlo anche altrove. Mi sono messo a cercare informazioni sul protocollo utilizzato per la comunicazione con la console, ma non ho trovato un bel niente!

Mi sono quindi fatto prestare un oscilloscopio (lo Zeroplus LAP-C è arrivato molti molti molti anni dopo), e ho cominciato a sbrogliare il protocollo a mano.

Il programma in questione (che poi ho usato anche per altro, dato che di fatto non era altro che un analizzatore logico) mi ha aiutato psxinterfacehwmolto nel reverse engineering, dato che i due canali dell’oscilloscopio non erano sufficienti. Il programma, assieme ad una interfaccia hardware (rigorosamente cablata su millefori, come quasi tutti i miei prototipi… adoro l’effetto gomitolo di lana dopo che è stato aggredito da un branco di felini :) ) connessa alla porta parallela del PC, alla playstation e al joypad, può generare un’arbitraria sequenza di dati su ogni piedino di uscita, catturando nel contempo lo stato di tutti i segnali presenti sul controller.

PG308Reset

Schermata di PG308reset Lo scopo di questo programmino era quello di resettare il contatore copie delle stampanti laser Laserjet III compatibili e derivate, come ad esempio la Olivetti PG308, che possedevo.

Queste stampanti hanno una piccola cartuccia su cui viene scritto il contatore delle copie stampate. Quando il contatore raggiunge le 10000 copie, la stampante smette di funzionare fino a quando non si installa un nuovo drum (e una nuova cartuccia).

Questa chiaramente è una pessima idea, e il fatto che io abbia dismesso la mia stampante in condizioni perfette con il drum a quota oltre 72000 copie lo dimostra chiaramente :)

Bastava connettere la cartuccia alla porta parallela del PC con un cavo fatto apposta, cliccare su PROGRAM e il contatore ritornava a zero.

Ovviamente sulla nuova stampante (samsung CLX-3175fn… la peggior stampante che io abbia mai avuto!) c’era un sistema analogo ma molto più infido, con chip sulle singole cartucce, sul drum, e a bordo della scheda madre, che impediva non solo di inserire cartucce compatibili, ma anche di ricaricare quelle originali. Ma altrettanto ovviamente non mi faccio certo rubare così i soldi da samsung e quindi praticamente all’istante, alla faccia della garanzia, dopo due sacrosante legnate per togliere la fiancata, ho aggiunto un interruttore che tiene in write protect la eeprom interna, impedendo al firmware di scrivere i contatori. Problema risolto. Se volete info su quest’ultimo intervento (fattibile abbastanza semplicemente su un gran numero di stampanti che usano eeprom standard per salvare le informazioni) fatemi un fischio.