PDA

View Full Version : Qual'è il programma più impegnativo che avete fatto?


coidrok
31-07-2009, 14:52
Personalmente un programmino che genera musica seguendo i numeri della serie di Fibonacci.
Non ha richiesto molto impegno, ma questi sono miei limiti da programmatore hobbysta, al momento.

!fazz
31-07-2009, 15:31
riscrittura del protocollo di rete e driver per aumentare il thorughput di una lan usata su per un cluster

rеpne scasb
31-07-2009, 15:45

cdimauro
31-07-2009, 15:58
Un videogioco per Commodore Amiga.

banryu79
31-07-2009, 16:00
software cad/cam per generazione g-code per macchina da taglio, libreria pezzi 3D parametrici e calcolo sviluppo nel piano delle facce, algoritmo di nesting per l'ottimizzazione dei pannelli da tagliare, interfaccia utente per editing manuale del risultato del nesting, gestore della commessa, algoritmo di "divisione" delle facce generate, modulo di preventivazione, interfaccia dxf per l'import/export.

Tommo
31-07-2009, 16:31
Come complessità "teorica", un rasterizzatore software in tempo reale per CUDA con deferred lighting + un framework per usarlo come API grafica.

Come complessità e basta il mio gioco, che ormai ha quasi un centinaio di classi (KISS mi fa un baffo :D ) e spazia su una cifra di campi (grafica, fisica, suono, online, ui, riconoscimento simboli, ecc ecc ecc).

yorkeiser
31-07-2009, 16:54
Un programma che simulava (in maniera testuale e molto spartana) il campionato di serie A, con compilazione dei calendari, statistiche, classifiche marcatori e quant'altro. Basic su Amiga. Avevo 12 anni, non avevo mai programmato nè letto nulla in proposito, come supporto avevo il solo manuale del linguaggio che era in inglese - ed io alle medie studiavo francese. E non esisteva internette per prendersi tutorial e pezzi di codice prestampati: il solo inventarsi un algoritmo che anni dopo ho appreso essere un bubble sort, a quell'età, ricordo fu un'impresa non da poco...

banryu79
31-07-2009, 16:59
Avevo 12 anni...
[cut]
E non esisteva internette per prendersi tutorial e pezzi di codice prestampati: il solo inventarsi un algoritmo che anni dopo ho appreso essere un bubble sort, a quell'età, ricordo fu un'impresa non da poco...

:eek: Complimenti.
Io a 12 anni al max giocavo con i Lego...

yorkeiser
31-07-2009, 17:20
:eek: Complimenti.
Io a 12 anni al max giocavo con i Lego...

Ti ringrazio, ma in fin dei conti credo sia solo questione di passione/interessi e non di doti personali: a quell'età, svegli come si è, se si è davvero interessati a far qualcosa si riuscirebbe a mandare anche una navicella sulla luna...

^TiGeRShArK^
31-07-2009, 17:23
da solo? :stordita:
Sono indeciso tra il software di backup in tempo reale dei file modificati e il programma di analisi degli accessi web degli utenti del dominio integrato col firewall e con active directory....:stordita:
Se parliamo di lavoro di team invece il lavoro + complesso è stato quando ho lavorato per l'ERP della Wurth (e quello è sicuramente IMPEGNATIVO :fagiano: ).

DanieleC88
31-07-2009, 20:51
...Un kernel? :asd:
Ormai è famoso nel forum. :Prrr:

Seriamente però non saprei, di sicuro con l'ignoranza che avevo all'epoca fare un minimo straccio di kernel mi ha dato una lunga serie di mal di testa, ma sicuramente ho affrontato un bel po' di progetti impegnativi, non saprei dire quale di questi si classifica come "il più impegnativo".

_Claudio
31-07-2009, 23:46
La tesi di laurea triennale trattava il controllo di dati su grossi database ER con un software "autoadattante" da far girare dietro il pattern MVC su web.
L'altro giorno ho finito un buon pezzo del mio programma sulle curve ellittiche.

Ma l'impresa più grossa nel campo è stata preparare 8 esami in una volta, 2 mesi e mezzo di reclusione... non vi dico le occhiaie. Potrei anche citare l'esame di equazioni differenziali, che pacchia...:mbe: :muro:

c0rv0
31-07-2009, 23:55
un programmino che calcola l'area di un triangolo rettangolo isoscele dato il cateto heheheh
scherzo!
in c un po di tempo fa un prog che mi mandava un sms quando il mio pc veniva connesso (con il modem analog )a internet controllando una chiave di registro del W98.
niente di che ciao!

Frank1962
01-08-2009, 00:31
software cad/cam per generazione g-code per macchina da taglio, libreria pezzi 3D parametrici e calcolo sviluppo nel piano delle facce, algoritmo di nesting per l'ottimizzazione dei pannelli da tagliare, interfaccia utente per editing manuale del risultato del nesting, gestore della commessa, algoritmo di "divisione" delle facce generate, modulo di preventivazione, interfaccia dxf per l'import/export.
e tutto da solo? come progetto mi sembra più indirizzato a un team di programmazione e non a un solo programmatore? comunque quanto tempo hai impiegato?

khelidan1980
01-08-2009, 11:38
I contest di hwupgrade :D

A parte gli scherzi chi di voi fa cose decenti sul lavoro?Se faccio qualcosa di interessante ormai lo si fa per conto proprio,almeno questa è la mia situazione attuale

DevilMalak
01-08-2009, 14:09
sarebbe carino se specificaste anche da quanto tempo programmavate [quando avete fatto il progetto] e quanto c'avete messo! ;)

gir88
01-08-2009, 14:15
Al momento il progetto per l'esame di algoritmi 1, la realizzazione di un albero binario mediante arraylist in java, con analisi dei costi computazionali e menate varie.:D

_Claudio
01-08-2009, 18:35
Il progetto della verifica dei dati ha richiesto circa 2 mesi pieni di lavoro, il programma sulle curve ellittiche fin'ora ha richiesto circa 1 mese, ma manca tutta la parte di calcolo degli algoritmi.
Certo cambia l'intensità del lavoro.

astorcas
01-08-2009, 18:48
mmm io ho sbattuto la testa nell'implementezione del red-black tree. Non mi ricordo di aver patito in altre occasioni come in quella... :fagiano:

banryu79
03-08-2009, 08:09
e tutto da solo? come progetto mi sembra più indirizzato a un team di programmazione e non a un solo programmatore? comunque quanto tempo hai impiegato?
Non da solo, ma con un'altra persona, programmatore con 20 anni di esperienza (che infatti lavora in Java in modo quasi-procedurale, con buona pace della prospettiva OO).
Il progetto va avanti da 2 anni e mezzo, da 1 anno e 5 mesi lo sto portando avanti da solo, e tra due mesi esce la prima versione.
E per la cronaca: sì, sarebbe stato un progetto da affrontare almeno (secondo me) in tre, in modo da dividersi i campi di esperienza.
Ma a dire il vero mi sarei accontentato da parte di chi mi ha seguito (erano in due, ma poi solo uno ci ha veramente lavorato sopra) di una corretta analisi: invece l'hanno cannata in pieno, sottostimando il progetto, con tutte le conseguenze del caso.
Tieni conto che quando siamo partiti io Java come linguaggio lo conoscevo da poco, e del JDK invece non conoscevo una ceppa; inoltre è il mio primo "progetto serio".

EnricoHU
03-08-2009, 10:37
quando avevo 16 anni circa ho fatto un programma su commodore 64 per la gestione di una palestra ... stava su un floppy da 5,25" fronte/retro
sul fronte c'era il programma e sul retro gli archivi degli attrezzi/clienti/tabelle esercizi personalizzate
il problema è che ho dovuto lottare con ogni singolo byte (ma potrei dire bit) di memoria per farcelo stare e per farlo girare !!!

- Lke -
03-08-2009, 11:04
Programmi complessi non ne ho mai fatti.

Cito quello che mi ha dato più soddisfazione, con una difficoltà discreta per me:
ho riscritto un gioco a cui giocavo da piccolo...Strike & Ball.
Forse lo conoscete.

Non è niente di che, cioè non ha grafica o suoni, il computer "pensa" un numero e devi indovinarlo sapendo gli strike e i ball, vabè...

Il bello è stato ripensare al gioco come all'algoritmo che c'era sotto e riprodurlo.

:.Blizzard.:
03-08-2009, 11:45
mmm io ho sbattuto la testa nell'implementezione del red-black tree. Non mi ricordo di aver patito in altre occasioni come in quella... :fagiano:

Prendevi un buon libro di algoritmi in pseudo codice e avevi metà del lavoro fatto :asd:

DanieleC88
03-08-2009, 13:16
Prendevi un buon libro di algoritmi in pseudo codice e avevi metà del lavoro fatto :asd:
Non sempre c'è, ad esempio il Cormen che è un mattone da circa 1400 pagine c'ha l'implementazione completa per gli alberi Red-Black, ma per motivi di spazio ovviamente non può contenere tutto, e degli alberi AVL c'è praticamente solo la definizione: te li lascia come esercizio. Anche io mi sono dovuto rifare tutta l'implementazione degli alberi AVL, partendo dal niente, ed è stata una faticaccia, vista la mia ignoranza. :D

Starise
03-08-2009, 14:06
Scritto in C e Bash:

Rubrica telefonica con possibilità di inserimento di inifiniti campi personalizzati e ricerca su tutti i campi. Possibilità di generare connessioni (amico/familiare) fra i contatti e stampare alberi genealogici e conoscere gli amici dei contatti. Esportazione della rubrica in xml/cvs.

Programma in versione alpha che avrei voluto espandere e ritoccare, mi serviva su linux. Poi ho abbandonato il pinguino e anche il progetto. :O

Esperienza di programmazione: un paio di anni, sono studente di informatica.

astorcas
03-08-2009, 16:31
Prendevi un buon libro di algoritmi in pseudo codice e avevi metà del lavoro fatto :asd:

Beh dovevo farlo da me... se facevo il copione che soddisfazione avrei avuto? ;)

Arlez
03-08-2009, 17:27
software cad/cam per generazione g-code per macchina da taglio, libreria pezzi 3D parametrici e calcolo sviluppo nel piano delle facce, algoritmo di nesting per l'ottimizzazione dei pannelli da tagliare, interfaccia utente per editing manuale del risultato del nesting, gestore della commessa, algoritmo di "divisione" delle facce generate, modulo di preventivazione, interfaccia dxf per l'import/export.

Curiosità, io lavoro nel settore lamiera, utilizzo software di questo genere per programmare le macchine di taglio a tecnologia laser, plasma, waterjet.

Avete fatto anche dei post processor?

banryu79
03-08-2009, 17:47
Il software non è per la tecnologia della lamiera (ormai di software per la lamiera ne esistono a zillionate) ma per pannelli in poliuretano espanso. La principale differenza è dovuta alle limitazioni introdotte dallo spessore del materiale (nel nostro caso tra i 20 e i 30 mm.).

Post processor per vari modelli di CN sono facilmente implementabili (qualora fosse neccessario) visto che si è tentato di rendere modulare il software.
Attualmente non sono implementati (o meglio, ce n'è solo uno ed è quello per il CN della macchina che taglia i nostri pannelli).

Comunque i concetti sono simili a quelli del software per le macchine al plasma per lamiera, con alcune notevoli differenze (ad esempio, oltre allo spessore, ci sono diversi tipi di taglio per realizzare le facce delle condotte; oppure il nesting: le strategie e le particolarità sono leggermente diverse, da un lato semplificado il tipo di motore sottostante [non serve un vero ottimizzatore true shape] da l'altro richiedendo specifiche implementazioni [non basta un banale ottimizzatore per bounding box]).

@Edit: in pratica il software è legato a doppio filo e specificamente tarato per la "tecnologia dei pannelli in poliuretano espanso", e questa "dipendenza" è voluta perchè grazie alle assunzioni che si possono fare:
1) il software è meno complesso;
2) il software implementa un'interfaccia e un flusso di lavoro specifico per i nostri clienti, e risolve i problemi specifici dei nostri clienti (in pratica non è un software generico, ma specifico e mirato, usato da pochi utenti).

L'azienda dove lavoro non è una software house, ma una produttrice del materiale (i pannelli).
I nostri clienti comprano da noi il materiale, e a corredo hanno gli strumenti manuali e/o le macchine automatiche per lavorare questo materiale (con relativo software) e supporto tecnico e know-how.

:.Blizzard.:
03-08-2009, 17:54
Non sempre c'è, ad esempio il Cormen che è un mattone da circa 1400 pagine c'ha l'implementazione completa per gli alberi Red-Black, ma per motivi di spazio ovviamente non può contenere tutto, e degli alberi AVL c'è praticamente solo la definizione: te li lascia come esercizio. Anche io mi sono dovuto rifare tutta l'implementazione degli alberi AVL, partendo dal niente, ed è stata una faticaccia, vista la mia ignoranza. :D

:asd:

Anche io ho studiato sul Cormen e ricordavo appunto che gli alberi rosso neri erano trattati in maniera esaustiva.


Beh dovevo farlo da me... se facevo il copione che soddisfazione avrei avuto? ;)

Non si tratta di essere copioni. Lo pseudo codice esiste apposta, rappresenta una traccia da cui partire.

Kralizek
03-08-2009, 18:33
era l'anno 96, avevo 14 anni e programmavo solo in basic, qbx 7.0 per la precisione. All'epoca tutti i miei compagni avevano il loro bel pc 486 o pentium con il fighissimo win 95 sopra.

Siccome non c'era verso di cambiare il glorioso 286, mi scrissi qualcosa che voleva essere un'emulazione di windows 95 in basic.

Non era certo un ambiente grafico, ma come shell grafica aveva il suo perchè, soprattutto considerato che aveva il menu avvio ed i menu a comparsa proprio come win 95. Tempo fa ho ribeccato il sorgente su un dischetto, era farcito di goto... :mc:

Ovviamente con il passare del tempo ho fatto cose più difficili, però di quel progetto rimango orgogliosissimo.

PS: si chiamava Door '96 e simulai uno splash screen con un disegno rudimentale di una porta!


SCREEN 12
WINDOW (0,0)-(100,100)

MadJackal
03-08-2009, 18:40
Non si tratta di essere copioni. Lo pseudo codice esiste apposta, rappresenta una traccia da cui partire.

Mai reinventare la ruota, mai!

Un simulatore di un gioco di carte simile a magic in Java. Con tanto di multiplayer (basato su un server centrale, con login dell'utente incluso). Ha ancora parecchi bug, ma ho giurato che non ci rimetterò mai più le mani :asd:
Rigorosamente testuale, eh! :asd:

DanieleC88
03-08-2009, 18:47
Mai reinventare la ruota, mai!
Non sono d'accordo: quando si tratta di studiare qualcosa, "reinventare la ruota", può essere utilissimo per capire al meglio ciò che stai facendo. Poi è ovvio che una volta "conquistati" i concetti che ti servono puoi anche prendere la pappa già pronta e utilizzarla, se è una cosa che ti accelera in un'attività lavorativa. :)

Il tutto, rigorosamente IMHO.

DanieleC88
03-08-2009, 18:51
era l'anno 96, avevo 14 anni e programmavo solo in basic, qbx 7.0 per la precisione. All'epoca tutti i miei compagni avevano il loro bel pc 486 o pentium con il fighissimo win 95 sopra.

Siccome non c'era verso di cambiare il glorioso 286, mi scrissi qualcosa che voleva essere un'emulazione di windows 95 in basic.

Non era certo un ambiente grafico, ma come shell grafica aveva il suo perchè, soprattutto considerato che aveva il menu avvio ed i menu a comparsa proprio come win 95. Tempo fa ho ribeccato il sorgente su un dischetto, era farcito di goto... :mc:

Ovviamente con il passare del tempo ho fatto cose più difficili, però di quel progetto rimango orgogliosissimo.

PS: si chiamava Door '96 e simulai uno splash screen con un disegno rudimentale di una porta!


SCREEN 12
WINDOW (0,0)-(100,100)

LOL, mi hai fatto tornare in mente che anche io parecchio tempo fa avevo scritto un "Doors". Era in Turbo Pascal, disegnava delle finestre che nelle mie folli intenzioni dovevano abbozzare un windowing system per il sistema operativo che averi voluto creare (quello ormai celebre qui nel forum :asd: )... Inutile dire che ad un certo punto lo schifezzume del mio "spaghetti code", ad un certo punto, mi ha imposto di ammazzare il progetto. :)

E nel mio caso è meglio che sia andato perso il codice! :D

wisher
03-08-2009, 20:46
Il mio miglior progetto in solitario è questo podcast catcher, ormai abbandonato a se stesso per mancanza di tempo. Se c'è qualcuno interessato a portarlo avanti che si faccia avanti :cool:.
Ha un interfaccia grafica che andrebbe ridisegnata da capo, però funziona.
http://sourceforge.net/projects/myradio/

Un altro progettino cui ho lavorato qualche anno fa è questo gestore di una lega di fantacalcio. All'epoca quando giocavo ancora mi ha semplificato molto la gestione visto che permetteva l'inserimento delle formazione da parte dei partecipanti e aveva addirittura il calcolo automatico dei risultati.
Per un paio di campionati mi è stato davvero utile, poi ho smesso (Molto tempo fa visto che anche lo spazio netsons su cui era ospitato non esiste più) con il Fantacalcio e quindi ormai il progetto è da considerarsi chiuso.
Per mantenere un buon ricordo evito di dare ogni sguardo al codice, che di sicuro conterrà un mucchio di orrori ;)
http://sourceforge.net/projects/fantastik/

astorcas
03-08-2009, 21:18
Non sono d'accordo: quando si tratta di studiare qualcosa, "reinventare la ruota", può essere utilissimo per capire al meglio ciò che stai facendo. Poi è ovvio che una volta "conquistati" i concetti che ti servono puoi anche prendere la pappa già pronta e utilizzarla, se è una cosa che ti accelera in un'attività lavorativa. :)

Il tutto, rigorosamente IMHO.

oh yeah!

nuovoUtente86
03-08-2009, 22:27
Finito qualche mese fa un CRM per la pubblica amministrazione. Da notare non è la difficolta del progetto in se, ma la pressione e la meticolosità del committente (certo si trattava di dati pubblici).

Giullo
04-08-2009, 08:30
in termini di complessità assoluta una chat isometrica stile habbo hotel in as1 (correva l'anno del signore 2001 ghghgh), tra le altre cose c'era un'implementazione abbastanza veloce di un A* per il calcolo dei percorsi degli avatar :) circa 3 mesi uomo di lavoro e 20k righe di codice (comprese però anche la parte serverside + editor di stanze/livelli)

recoil
04-08-2009, 09:41
direi quello che ho fatto per lavoro un paio di anni fa ovvero l'implementazione di un fax classe 1 su un SoC quindi comandi AT, protocollo T.30, conversione da bitmap o jpeg a formato fax e viceversa con tutte le menate del dithering e dei codici huffman e la sincronizzazione tra i vari processi che giravano sul SoC sul quale girava ovviamente linux :D

fdfdfdddd
04-08-2009, 10:43
Vediamo ... ai tempi del biennio del liceo scrissi in Turbo Pascal un "planetario" (inteso in senso astronomico) con la simulazione, artigianale ovviamente, del moto della luna. Scrissi anche sempre in TP un programma per esplorare gl'insiemi di Mandelbrot e julia (che tempi!! IBM PS/1 286 da 10mhz ... non vi dico il tempo per vedere se il grafico di Mandelbrot veniva bene o no :-P)

Professionalmente ... beh ... un "emulatore" di driver TWAIN per scanner ad alte prestazioni ... almeno credo :-/

WhiteWolf42
04-08-2009, 10:56
riscrittura del protocollo di rete e driver per aumentare il thorughput di una lan usata su per un cluster

:ave::ave::ave: tanta roba ! :eek: :eek: :eek:

RaouL_BennetH
04-08-2009, 14:48
Vergognosamente ne ho fatti e finiti due:

Uno si occupa di gestire il parco auto della mia azienda (noleggi, rifornimenti, scadenze, ripartizione dei costi e menate varie)


L'altro invece è la gestione delle visite presso i clienti con tutta la reportistica ed una parte di statistica (un crm in piccolo).


Vi confesso che sono profondamente imbarazzato rispetto a quanto da voi fatto :)

banryu79
04-08-2009, 15:09
Vergognosamente ne ho fatti e finiti due:

Uno si occupa di gestire il parco auto della mia azienda (noleggi, rifornimenti, scadenze, ripartizione dei costi e menate varie)

L'altro invece è la gestione delle visite presso i clienti con tutta la reportistica ed una parte di statistica (un crm in piccolo).

Vi confesso che sono profondamente imbarazzato rispetto a quanto da voi fatto :)
Il tuo imbarazzo è un optional: hai fatto due software, sei bravo: io devo ancora completare il primo :D
Chi era l'utente che nel thread intitolato: "Le regole della buona programmazione" aveva scritto: "finire il programma"? Aveva ragioni da vendere... :rolleyes:

RaouL_BennetH
04-08-2009, 15:29
Il tuo imbarazzo è un optional: hai fatto due software, sei bravo: io devo ancora completare il primo :D
Chi era l'utente che nel thread intitolato: "Le regole della buona programmazione" aveva scritto: "finire il programma"? Aveva ragioni da vendere... :rolleyes:

L'utente era PGI-Bis :)

Beh, a finire li ho finiti, ma scommetto che chiunque possa mettere mano ai sorgenti, oltre a farmi finire sui vari daily wtf ed horror coding, si renderebbe conto che non c'è mai limite al peggio .

Però, aggiungo, nel bene e nel male fanno quello che mi è stato richiesto.

banryu79
04-08-2009, 16:12
Però, aggiungo, nel bene e nel male fanno quello che mi è stato richiesto.
Diavolo: non era forse l'obiettivo del software?
Il purismo va bene fino a un certo punto: scommetto un euro che se si esagera ad un certo punto diventa adirittura controproducente :)

franksisca
04-08-2009, 17:08
da solo:

gestione economica delle associazioni universitarie per conto dell'ivadis (non conoscevo niente apparte java, 2 anno di università non avevo fatto nemmeno algoritmi...solo poo)
praticamente avevo a che fare con il db dell'unical (grosso...davvero grosso) e non sapevo nemmeno cos'era sql :doh: :doh: :doh:
alla fine doppo 5 anni lo usano ancora (quindi non sono proprio scarso:eek: )

4mesi tosti tosti.

poi da solo la tesi triennale....SALENE, giochi cooperativi e teoria di ansh (non ho fatto ia alla triennale).

in gruppo l'esame di IA alla specialistica...un giocatore intelligente di dots&boxes ... almeno mi sono divertito.


in corso, quello più complesso (in 2) è la realizzazione di un misto "pacman-gdr-fps) in java3d...che sto iniziando ad odiare !!!

banryu79
04-08-2009, 17:29
in corso, quello più complesso (in 2) è la realizzazione di un misto "pacman-gdr-fps) in java3d...che sto iniziando ad odiare !!!
Cosa per curiosità? Pacman o Java3D? :asd:

franksisca
04-08-2009, 18:16
Cosa per curiosità? Pacman o Java3D? :asd:

è un pacman 3d con elementi gdr (il nostro pacman cresce in alcune abilità) ed elementi fps (combatte contro alcuni nemici come se fossse un fps ma in base alle abilità).

il tutto in 3d fatto con java3d che è un abominio X_X


EDT: ora ho capito...odio java3d...pacman non si può odiare!!!

Barbalbero
04-08-2009, 22:20
HelloWorld.c

akfhalfhadsòkadjasdasd
04-08-2009, 22:31
io col commodore ci giocavo beatamente :D
tralascio l'algoritmo di clustering EM

come programma completo sto dando gli ultimi rintocchi ad un sistema ad agenti mobili. per il reasoning ho usato un rule engine: Jess.
GLi agenti sono giocatori di una versione semplificata di poker e giocano secondo una strategia pseudo ottimale tirata fuori con un modello di programmazione lineare e teoria dei giochi. Qui ho avuto molti sbattimenti matematici e di modellazione del programma lineare.

agente mm8
05-08-2009, 12:20
In corso un videogame simil-MMORPG in Python con l'accoppiata Twisted-PyGame.