Applicazioni

Da qui potete scaricare le applicazioni da me sviluppate! Spero che in qualche modo possano risultarvi utili! Cliccate sul nome del file per avviare il download. Ovviamente Dario D'Amico non si assume alcuna responsabilità riguardo al software e alle altre opere liberamente scaricabili; non è assicurato che non provochi danni, perdite di dati, indebolimenti della sicurezza.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
Prolog the Knight 26/06/2011 15.20.12 knight.pl.txt 1506 1.0 Dominio pubblico Intelligenza Artificiale Platform independent Testato con YAP 5
Questo è il mio primo programma in Prolog minimamente interessante. Dovete rimuovere l'estensione .txt e poi potete avviarlo con il comando "yap -L knight.pl". Nella parte indicata come "Dungeon definition" è possibile specificare un labirinto che un prode cavaliere dovrà attraversare; la specifica consiste nel definire dove sono le zone percorribili attraverso i grounding del predicato floor(X, Y). Il labirinto di default è descritto mediante dei grounding che con la loro posizione nel codice rimandano alla posizione da essi descritta nel mondo del cavaliere (ovvero: ho dato al codice Prolog la stessa forma del labirinto); in questo modo è più facile per l'utente verificare che il programma abbia trovato la soluzione giusta. Nel main, i primi cinque argomenti passati al predicato knight rappresentano la posizione, l'istante di partenza e la destinazione; il default 1, 1, 1, 4, 9 vuol dire che il cavaliere parte dalla casella (1, 1) all'istante 1 e deve raggiungere la casella (4, 9). La soluzione consiste in una lista che descrive il percorso del cavaliere dalla partenza all'arrivo; se un tale percorso non esiste non si ottiene alcun output.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
JpegIplDecode Library 17/09/2008 15.52.43 jpeg_decoder_v1.rar 8763 1.0 GPL 2 Imaging Platform independent OpenCV, libjpeg
Permette di costruire un'immagine IplImage a partire da uno stream in formato JPEG. Rispetto alla funzione cvLoadImage di OpenCV, parametrizzata dal nome di un file, JpegIplDecode permette di operare su uno stream FILE * standard C. Per tale ragione è maggiormente flessibile ed è una buona base per costruire un decoder MJPEG. Una strategia per fare ciò è trovare nel file MJPEG tutti i marker Start Of Image (SOI) di JPEG e fare una fseek() per spostarsi sul primo byte del SOI prima di chiamare una delle due funzioni di JpegIplDecode.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
MyEncrypt 13/09/2008 23.13.25 MyEncrypt.exe 22016 0.01 Freeware Crittografia Testato su Windows Vista .NET Framework 2.0 (credo, provate un po'...)
Permette di criptare e decriptare file con l'algoritmo Rijndael. Il vettore di inizializzazione è predeterminato, la chiave deriva dall'hash di una parola UTF-8 scelta dall'utente. Tale parola deve essere nota ai due estremi della comunicazione. L'utile funzionalità di output a schermo permette, quando si stia decriptando un'immagine, di inviarla direttamente a schermo senza salvarla su file, in questo modo evitando che ne rimanga traccia sull'hard-disk. A causa soprattutto del vettore di inizializzazione prefissato, è da intendersi come applicazione trastullo, non vi consiglio di criptarci niente di più segreto della lista della spesa.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
CDOpen 18/01/2008 0.08.02 CDOpen.zip 5588 1.0 Fateci quello che volete Sistema Testato su Windows XP Lettore CD-ROM
Emette un BEEP e apre il vostro lettore CD. Niente di più, niente di meno. L'eseguibile, il listato C++ e il file di progetto Dev-C++ sono inclusi nello ZIP.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
Blue3D 22/12/2007 21.15.20 blue3d.tar.gz 14838318 1.0 GPL 2 Grafica 3D Testato su Windows XP/Mac OS X/Linux Scheda grafica OpenGL compatibile/300 MHz CPU/64 MB di RAM
Finalmente è disponibile per il download Blue3D, il programma che è risultato vincitore al LILiKontest 2007 organizzato dal laboratorio LILiK dell'Università degli Studi di Firenze! Questa volta Damix non ha fatto tutto da solo, bensì ha potuto contare sull'ottimo Mirko, anch'egli studente di ingegneria informatica. Lo sviluppo è durato circa due mesi e alla fine ha prodotto un programma di modellazione 3D open source e cross platform e, cosa molto importante, con un formato di file ASCII ben documentato. Questo archivio contiene anche l'eseguibile per Windows, oltra ovviamente a tutti i sorgenti C++. Per la compilazione sono richieste le librerie wxWidgets e il supporto di sviluppo per OpenGL.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
Primo esempio di un sorgente D5 20/09/2007 3.13.40 example-1.txt 1038 0.01 Freeware Giochi e multimedia Platform independent Nessuno
Questo è il primo esempio di un sorgente D5, acronimo di "Damix 3D Declaration". D5 è un formato testuale di descrizione di oggetti tridimensionali a mesh di triangoli texturizzate, con supporto per le normali e la colorazione ai vertici, i vertex groups e la skeletal animation. L'ho concepito, definito, e ne ho realizzato un parser in C++ esattamente oggi, dopo aver provato un po' di sana frustrazione nel cercare di decifrare il formato (o meglio il dump) binario di Blender. Se non bazzicate l'ambiente della computer grafica, probabilmente non saprete che la documentazione di Blender riguardo al suo formato di file è accurata più o meno come quella stilata dagli uomini neolitici circa la costruzione delle palafitte. Sarebbe veramente l'ora che si decidessero a fare qualcosa. Se vi interessa realizzare un semplice giochino è probabile che D5 sarà sufficiente, una volta che avrò realizzato un programma di modellazione che lo usa. Dato che eventualmente userò questo codice per il mio progetto per il LILiKontest, rilascerò tutti i sorgenti C++ solo a concorso terminato.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
DirectX: Summa Tuttologa I 14/09/2007 13.52.11 Exercise1.rar 4411676 0.01 Freeware Giochi e multimedia Windows 2000/XP/Server 2003/Vista Scheda grafica DirectX 9.0c
In questa soluzione per Visual C++ 2005 ci sono alcune cose più o meno interessanti riguardo a DirectX 9; infatti qui dentro ci sono: Direct3D, con illuminazione e filtraggio delle texture; DirectInput per il controllo di un gamepad; una libreria per il calcolo delle collisioni fatta in casa, ma con prestazioni abbastanza soddisfacenti, basata sull'intersezioni fra spigoli e facce; una libreria per l'importazione in D3D di file Alias Wavefront Object, tra l'altro supportati da Blender; è sufficiente esportare il vostro modello con le opzioni Triangulate, Normals e UVs. Si noti che deve realmente esserci una mappatura UV, realizzata con l'editor UV. Il punto forte di questa applicazione è tuttavia la travolgente simpatia del personaggio principale, che certamente riscuoterà grande successo tra grandi e piccini!
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
Ace Tech Test (Source) 04/08/2007 13.14.54 acett001_sol.rar 19334396 0.01 Freeware Giochi e multimedia Windows 2000/XP/Server 2003/Vista .NET Framework 2.0/Scheda grafica DirectX 9.0c
Il codice sorgente di Ace; AutoMap è un programma che permette di generare casualmente terreni. Non è parametrizzato, quindi se volete cambiare i parametri di generazione dovete modificare il sorgente e ricompilarlo.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
Ace Tech Test 04/08/2007 13.14.50 setup.exe 8337487 0.01 Freeware Giochi e multimedia Windows 2000/XP/Server 2003/Vista .NET Framework 2.0/Scheda grafica DirectX 9.0c
Ace è (o meglio sarà, forse, e se ne avro tempo... ma non ci sperate) uno sparatutto sullo stile di Descent ma ambientato all'aperto; è programmato in Managed DirectX e richiede un controller di gioco installato, non importa se un gamepad o un joystick; infatti all'avvio del programma, che lo vogliate o meno, la vostra prima perifierica di gioco collegata al PC verrà acquisita. Per i test ho usato un gamepad Saitek P2600, e in generale consiglio di munirvi di un controller con almeno quattro gradi di libertà. Per installarlo cliccate sul file setup.exe e seguite le istruzioni a video. Dopo l'installazione, nella cartella terrains ci sono le mappe di altezza utilizzabili per fare il rendering del mondo; nella cartella textures ci sono le texture del terreno installate; è possibile editare il file config.cfg nella cartella principale per cambiare il terreno, la texture e anche il colore del cielo. Un'ultima cosa: i collegamenti che il programma di installazione vi piazza sul Desktop e nel menu di avvio non funzionano; dovete avviare Ace cliccando su Ace.exe nella cartella di installazione.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
Gamepad Test 28/07/2007 16.30.23 Gamepad.rar 27031 0.01 Freeware Giochi e multimedia Windows 2000/XP/Server 2003/Vista .NET Framework 2.0
Gamepad Test è una soluzione per Visual Studio 2005 e Managed DirectX 9; è un semplice programma didattico che mostra come si possa interagire con un Gamepad (ho condotto i test con il P2600 della Saitek). All'avvio cerca le periferiche di gioco connesse al sistema e sceglie la prima; di questa periferica monitorerà gli assi X, Y e Z e anche i primi 6 pulsanti, se presenti. La soluzione contiene anche tre controlli utente di ambito abbastanza generale, che in questo caso servono per mostrare lo stato dei pulsanti e dei tre assi. Niente vieta di utilizzarli anche per altri scopi, meno multimediali.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
PowerCutter 25/07/2007 13.35.29 PowerCutter_0_02.rar 16564 0.02 Freeware Utility Windows 2000/XP/Server 2003/Vista .NET Framework 2.0
Nuova versione di PowerCutter; PCApp adesso ha la possibilità di inserire aree di censura. Le aree di censura si inseriscono tenendo premuto il tasto 'X' mentre si clicca con il tasto sinistro del mouse sull'immagine. Come le altre aree sono ridimensionabili, ma si distinguono per il loro colore rosso. La loro caratteristica principale è quella di essere scartate da PCBuild. Ad esempio, se state usando PowerCutter per creare un dataset di machine learning per il riconoscimento di occhi, potete contrassegnare con aree di ritaglio gli occhi perfettamente orizzontali, e con aree di censura quelli obliqui, o coperti da occhiali, o non umani; questo permette di scartare tali immagini dal foreground set rimuovendole tuttavia anche dal background set. Da notare che i file .cutinfo rimangono compatibili; un file .cutinfo generato con la precedente versione 0.01 è identico a un file della nuova versione senza aree di censura. La compatibilità non vale nell'altra direzione.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
PowerCutter 25/07/2007 0.30.43 PowerCutter.rar 16008 0.01 Freeware Utility Windows 2000/XP/Server 2003/Vista .NET Framework 2.0
PowerCutter è nato dall'esigenza di dover ritagliare quantità industriali di occhi. L'utility si compone in realtà di due programmi, PCApp e PCBuild; entrambi sono da richiamare da linea di comando. La sintassi di PCApp è "PCApp MiaImmagine Ext" dove MiaImmagine è il nome di un file privo di estensione, e Ext è un'estensione di tipo immagine (senza punto). Questo comando apre una finestra contenente l'immagine specificata; è possibile spostare la visuale trascinando il mouse tenendo premuto il tasto destro; è possibile zoomare con i tasti + e -; è possibile aggiungere un'area di ritaglio con un click destro ed è possibile spostarla trascinandola con il tasto sinistro del mouse; è anche possibile ridimensionarla trascinando i lati; per cancellare un'area la si deve puntare con il cursore e si deve premere il tasto Canc. In qualsiasi momento è possibile uscire dal programma. PCApp mantiene automaticamente un file MiaImmagine.cutinfo che contiene tutte le aree tracciate. PCBuild è invece a linea di comando in senso stretto, e lo si può richiamare con la sintassi "PCBuild MiaImmagine Ext Directory", dove i primi due parametri sono analoghi a prima e Directory è il nome della directory in cui verranno messi i risultati; i risultati consistono nelle immagini ritagliate sulla base delle aree contenute in MiaImmagine.cutinfo (foreground set) e nelle immagini originali censurate (background set). Inoltre é possibile usare la sintassi "PCBuild * * Directory" per estendere il comando a tutti i file e a tutte le estensioni immagine.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
SnapBoard 11/06/2007 12.58.10 SnapBoard.rar 4078 0.01 Freeware Utility Windows 2000/XP/Server 2003/Vista .NET Framework 2.0
Questa piccola utility vi consente di risparmiare tempo quando dovete ritagliare varie parti di testo o grafica da un documento e salvarle come file separati; semplicemente avviate il programma, scegliete Sfoglia... e selezionate una cartella. A questo punto il programma è pronto per l'uso; ogni volta che cliccherete su Incolla, l'elemento negli appunti di Windows finirà nella cartella selezionata, con un nome dato da un numero progressivo. Enjoy!
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
Backpropagation 24/03/2007 3.09.15 Backpropagation.rar 42265 0.01 GPL Intelligenza Artificiale Windows 2000/XP/Server 2003/Vista .NET Framework 2.0
Backpropagation è una soluzione per Visual Studio che comprende un'implementazione degli algoritmi di backpropagation standard e stocastico, un semplice test client da linea di comando, un controllo utente che permette di disegnare pixel su una griglia ingrandita e un client OCR che riconosce le dieci difre del sistema decimale. Controllate il codice di training per capire dove dovreste posizionare le cifre all'interno della griglia.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
Perceptron Test 18/02/2007 14.39.36 PerceptronTest.rar 56050 0.01 GPL Intelligenza Artificiale Windows 2000/XP/Server 2003/Vista .NET Framework 2.0
Perceptron Test è un programma che consente di allenare e testare un percettrone a 8 ingressi, usando una comoda interfaccia visuale. E' realizzato in C# con Visual Studio ma è possibile compilarlo anche con i tools a linea di comando di .NET. Il primo ingresso del percettrone è l'opposto dell'ingresso di soglia, per cui si consiglia di impostarlo sempre a 1 per simulare il comportamento standard. Il learning rate è impostato a 0.01 ed è modificabile solo ricompilando.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
AI Slider 11/02/2007 11.00.29 AISlider.rar 12255 0.01 GPL Intelligenza Artificiale Windows 2000/XP/Server 2003/Vista .NET Framework 2.0
AI Slider è un programmino di intelligenza artificiale che gioca allo "Spacca-n", dove n sarà tipicamente 15; ci sono quattro funzioni euristiche disponibili, e potete scegliere quale utilizzare editando il file GameAI.cs.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
AI Tokens 01/02/2007 23.30.11 AITokens.rar 18906 0.01 GPL Intelligenza Artificiale Windows 2000/XP/Server 2003/Vista .NET Framework 2.0
AI Tokens permette di giocare al gioco degli undici gettoni. Il gioco degli undici gettoni funziona nel seguente modo: due giocatori si alternano nel rimuovere 1, 2 o 3 gettoni da un insieme iniziale di 11; il giocatore che è costretto a togliere l'ultimo gettone perde. Il programma permette di iniziare una nuova partita cliccando sul pulsante 'Start'. I pulsanti 'Take' permettono di rimuovere l'ammontare di gettoni desiderato; il gioco si alterna quindi fra due giocatori, entrambi gestiti dall'utente cliccando sui pulsanti 'Take'. In qualsiasi momento (sia per il giocatore 1 che per il giocatore 2) è possibile cliccare sul pulsante 'AI' per farsi 'consigliare' dal computer; questo permette di creare situazioni diverse e sperimentare quindi completamente l'algoritmo.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
Aizkel 23/12/2006 15.40.54 aizkel_0_30.rar 2912151 0.30 GPL Interpreti e Compilatori Win32/Linux Win32: nessuno/Linux: GCC
Aizkel è un interprete per un semplice linguaggio di scripting di mia ideazione. E' nato come esperimento per capire che cosa aveva da offrire la programmazione a oggetti al mondo degli interpreti e dei compilatori, che notoriamente sono implementati in C. Aizkel include un framework di classi C++, DRECv2 che è il cuore del progetto, e che usa una miriade di quegli aggeggi che come ho successivamente scoperto vanno sotto il nome di Design Patterns. Grazie a queste tecniche Aizkel è completamente estensibile ed in qualunque momento è possibile aggiungere produzioni e simboli terminali senza impattare (o quasi) con alcun altro elemento lessicale del linguaggio. Le attuali limitazioni di DRECv2 risiedono in una questione che ho più o meno spiegato nel file docs/bugs.txt nella directory dei sorgenti; nella versione 3 spero di correggere questo problema; a quel punto DREC dovrebbe divenire effettivamente in grado di implementare qualsiasi grammatica. Il file aizkel_0_30.rar include i sorgenti per Win32 e per Linux, e anche l'installer per Win32. In questi giorni Aizkel è stato giudicato vincitore al concorso di programmazione LILiKontest, organizzato dal LILiK (Laboratorio di Informatica LIbera del Kollettivo) dell'Università degli Studi di Firenze.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
RMI Chat 26/10/2006 22.05.07 rmichat-v0.1alpha.rar 12938 0.1 alpha GPL Programmazione Distribuita Platform Independent Java 1.5 Runtime Environment
RMI Chat è una semplice applicazione per la messaggistica basata su Java RMI. Il progetto è ancora in uno stadio molto iniziale, comunque funziona. Per usare RMI Chat dovete avviare il registro RMI e poi il server chat con il comando 'java HelloServer'; da quel momento potete avviare tutti i client che desiderate (per ora in locale, ma potete modificare l'indirizzo di connessione per effettuare una connesione remota) con il comando 'java HelloClient'.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
Esempio di query ricorsiva (SQL-99) 26/10/2006 0.50.56 recursive-query.rar 378 - - Script/SQL Platform Independent DBMS compatibile SQL-99
Questo script è un esempio di query SQL-99 ricorsiva; presuppone che esista un database di nome TreeDB in cui costruire la tabella di esempio ed effettuare la query. La tabella di esempio rappresenta un albero, ovvero ogni tupla ha un riferimento alla tupla padre. La SELECT ricorsiva costruisce una tabella a due colonne, in cui la prima colonna identifica un nodo dell'albero, mentre la seconda identifica un predecessore di tale nodo; quindi, fissato un nodo dell'albero, esiste una tupla per ogni suo predecessore. Io non sono riuscito a farlo funzionare su MySQL 5.0, ma solo su SQL Server 2005 Express; se avete qualche idea sul perché vi sarei grato se mi contattaste via email.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
DMXGestione MySQL Script 20/10/2006 0.23.18 DMXGestione.rar 1552 - - Script/SQL Platform Independent MySQL 5.0
Uno scriptino SQL che crea e riempie con un po' di valori puramente inventati uno schema relazionale del tipo progetti/reparti/impiegati; sentitevi liberi di usarlo per effettuare le vostre prove di interrogazioni.
Applicazione Data Nome file Dimensione (byte) Versione Licenza Categoria Sistema operativo Requisiti
XmlCMS 04/08/2006 12.34.11 XmlCMS.dll 40960 0.1 Freeware Libreria/CMS Windows 2000/XP/Server 2003/Vista .NET Framework 2.0
Libreria per la scrittura di pagine web guidate dai contenuti XML; è stata utilizzata per la scrittura in damix.it. A breve, nella sezione Articoli, sarà disponibile un tutorial dedicato all'utilizzo di tale libreria.
Valid XHTML 1.0 Strict Valid CSS!