Passa a: Inglese

Chi scrive?

Sono Davide De Rosa, un appassionato desideroso di condividere e offrire la sua esperienza nell'IT. È passato del tempo da quando iniziai a programmare ed ora ho deciso di concretizzare anni di studio e dedizione.

algoritmico è il mio progetto open source teso a sottolineare tre qualità fondamentali, qualità la cui mancanza determina software mediocre e difficilmente riutilizzabile.

Efficienza. Dipende dagli algoritmi, il pane quotidiano di ogni vero programmatore, perché il codice migliore si affida a buoni algoritmi e i programmatori capaci sono certamente in grado di descrivere algoritmi efficienti. Leggibilità. Fa capire chiaramente agli altri le intenzioni del programma. Riusabilità. In ogni caso un investimento prezioso da tenere in considerazione.

Come enfatizzare questi aspetti? La comunità open source ci insegna una cosa: un codice è reso pubblico perché qualcuno possa leggerlo e riusarlo. Quindi la qualità è un requisito di base e, non a caso, chi condivide le proprie creazioni spesso lo fa perché è certo che altre persone le apprezzeranno. Insomma, cerco di non fare eccezione. Questo è algoritmico.

Un'esperienza vasta

La mia passione supera i 15 anni, un lungo percorso dedicato soprattutto ai linguaggi di programmazione. Tuttavia, mi impegno per essere professionale in ogni fase di sviluppo, dall'analisi fino al codice concreto. Ogni aspetto è essenziale per produrre software di alta qualità ed il codice è davvero l'ultima parte del problema.

In ambito di progettazione, sfrutto il paradigma object-oriented in ogni scenario possibile ed evito accuratamente chi si accontenta del "basta che funzioni" (a loro dire). È infatti fondamentale per me poter investire del tempo in più per adottare la migliore soluzione che mi venga in mente.

Al momento sono decisamente concentrato sulla piattaforma iOS. Pochi mesi fa ho poi studiato implementazioni AJAX/Comet avanzate e tweeckie è una sorta di esperimento in tal senso.

I miei impieghi precedenti si sono basati su Java enterprise (J2EE) e nel 2008 ho conseguito brillantemente la certificazione Sun Certified Java Programmer per la piattaforma Java 2 (SCJP, ora OCPJP).

Molto preparato in C/C++, con un po' di assembly x86 come residuo dell'epoca del DOS. Una conoscenza solida delle tecnologie web client-side e server-side anche se non mi definisco esattamente un web designer. Curioso su Python. E così via.

Non includo molti linguaggi e applicazioni che uso occasionalmente, per non parlare poi dei sistemi operativi con cui lavoro o ho lavorato. E sono sempre pronto a conoscerne di nuovi.

Dai uno sguardo!

La maggior parte del codice di algoritmico è disponibile sul mio repository GitHub. Noterete che sono abituato a scrivere codice comprensibile e corredato di commenti esplicativi.

tweeckie

tweeckie è un'innovativa piattaforma JavaScript che permette di giocare attraverso un account Twitter. L'intero motore si affida a tecniche HTTP Push e mira ad una totale compatibilità cross-browser. Una API di sviluppo già esiste e verrà presto pubblicata in modo da poter inserire qualunque tipo di gioco 1vs1 su tweeckie. Durante la partita è anche disponibile una finestra di chat.


tweeckie al momento è in beta ed include Scacchi, Dama e Othello (Reversi).

tweeckie in azione

ios-components

Queste sono alcune componenti riusabili che realizzo durante lo sviluppo iOS. Il repository include un progetto dimostrativo con un test case di ogni singola classe o categoria.

KSAdvancedPicker

Un clone di UIPickerView ma molto, molto più personalizzabile.

KSCIDictionary

Wrapper case-insensitive di NSDictionary e NSMutableDictionary con metodi simili. Tiene inoltre traccia delle chiavi originali.

KSGridView

A volte è utile avere a disposizione griglie 2D statiche su iOS. Non avendo trovato nessun codice che lo facesse nel modo che desideravo, ho creato questa mia versione.

KSKeyboardScroller

Chiunque ha dovuto combattere con la tastiera su iOS. Questa classe automatizza lo scorrimento delle viste all'apparire della tastiera.

PushMQ

PushMQ fornisce una semplice interfaccia publish/subscribe in JavaScript per message queue RESTful. La compatibilità cross-browser è garantita dall'implementazione AJAX di jQuery.


Testata su nginx HTTP Push Module.

crucio

crucio è un generatore sperimentale di cruciverba e crucintarsi scritto in C++ per la mia tesi di laurea e pensato principalmente per scopi didattici. È un esempio interessante di backtracking e ricerca euristica che dimostra come giochi apparentemente facili siano computazionalmente difficili da risolvere. L'applicazione cruciotex inclusa genera a partire dall'output uno script LaTeX per la conversione a PS/PDF stampabile.


La mia app Word Fill si basa totalmente su crucio!

StatefulThread

StatefulThread è un thread Java altamente astratto che simula un automa a stati finiti, ovvero un thread che percorre un numero finito di stati. Ogni stato definisce le operazioni da eseguire e lo stato successivo, mentre ogni transizione di stato può notificare un evento ai listener. Esistono molti casi reali rappresentabili come automi a steti finiti, perciò conto di integrare presto uno o più esempi sull'uso di questa classe.

Snake

Chiunque conosce l'eterno gioco Snake. Il mio clone è un approccio all'API Win32 e le funzioni GDI. Codice C supercompatto.

Snake in azione

Blue

Blue è un complesso script che scrissi per il famosissimo client mIRC nel 2001. Di sicuro IRC è sempre stata il più divertente "social network"!

Contattami

algoritmico è un progetto individuale, ma come freelancer sono disponibile a nuove proposte di lavoro. Sono a disposizione anche per domande o suggerimenti sul mio software.

Connettiti sui social network o usa il modulo in basso per entrare in contatto con me.

Invia messaggio