PDA

View Full Version : Vincenzo Iozzo: giovane promessa italiana


~FullSyst3m~
22-01-2009, 12:58
Ho letto per caso un'intervista a questo ragazzo che ha scoperto una vulnerabilità in MAC OS X e che lavora si come reverse engineering sia come consulente di sicurezza. Il bello è che è uno studente, giovanissimo quindi, ma che ha anche lavorato su progetti open, ha fatto un pò di conferenze e ha partecipato al Google summer of code. Se cercate su Google avrete un'idea più chiara.

Secondo voi bisogna essere dei geni per fare questo? O più semplicemente basta la forza di volontà e studiare studiare e studiare?

Dite la vostra ;)

DarKilleR
22-01-2009, 13:04
entrambe....senza il suo intuito non sarebbe riuscito a fare quello che ha fatto...ma anche senza le sue competenze nel settore naturalmente...

Serve avere sia conoscenza abbastanza approfondita degli argomenti studiati ed allo stesso tempo avere una conoscenza della logica di funzionamento dello stesso...e quel briciolo di intuito o genialità (dipende dai punti di vista) per fare quello che ha fatto...

Ma questo credo che vale in qualsiasi settore, aeronautica, costruzioni civili e strutture, meccanica, elettronica etc etc...e qualsiasi altro campo di applicazione :P

lowenz
22-01-2009, 13:04
Non geni ma dotati di intuito ;)
E poi ovviamente voglia di fare.

lowenz
22-01-2009, 13:05
entrambe....senza il suo intuito non sarebbe riuscito a fare quello che ha fatto...ma anche senza le sue competenze nel settore naturalmente...

Serve avere sia conoscenza abbastanza approfondita degli argomenti studiati ed allo stesso tempo avere una conoscenza della logica di funzionamento dello stesso...e quel briciolo di intuito o genialità (dipende dai punti di vista) per fare quello che ha fatto...

Ma questo credo che vale in qualsiasi settore, aeronautica, costruzioni civili e strutture, meccanica, elettronica etc etc...e qualsiasi altro campo di applicazione :P
Anticipato! LOL :D

~FullSyst3m~
22-01-2009, 13:08
Non geni ma dotati di intuito ;)
E poi ovviamente voglia di fare.

Avete parlato tutti e due di intuito: cosa intendete di preciso?

lowenz
22-01-2009, 13:09
Avete parlato tutti e due di intuito: cosa intendete di preciso?
L'abilità del ricostruire la logica di una struttura :p

Ziosilvio
22-01-2009, 13:21
"Il genio, è costituito da una parte di ispirazione, e da novantanove parti di traspirazione."

(Attribuita ad Einstein, ma pare risalga almeno a Thomas Edison)

~FullSyst3m~
22-01-2009, 13:22
"Il genio, è costituito da una parte di ispirazione, e da novantanove parti di traspirazione."

(Attribuita ad Einstein, ma pare risalga almeno a Thomas Edison)

Traspirazione? :confused:

dreadknight
22-01-2009, 15:12
Traspirazione? :confused:

sudore -> ti devi fare un mazzo tanto

~FullSyst3m~
22-01-2009, 15:17
sudore -> ti devi fare un mazzo tanto

Allora non sono pazzo, avevo pensato anche io questo :D

Comunque è giovane.. ancora studia. Quando se lo è fatto sto mazzo?
Non penso in poco tempo, credo che ci voglia tempo per arrivare lì. Se poi non ha una vita sociale allora ci sta un pò meno, ma il tempo ci vuole comunque.

apocalypsestorm
22-01-2009, 16:50
Non geni ma dotati di intuito ;)
E poi ovviamente voglia di fare.
Soprattutto c'e' bisogno del Papi che non ti fa' problemi di soldoni.. :asd:
xche' altrimenti, col cxxo che hai tempo di stare dietro le "fregnette" del sistema
operativo pinco palla... :asd:

~FullSyst3m~
22-01-2009, 17:03
Soprattutto c'e' bisogno del Papi che non ti fa' problemi di soldoni.. :asd:
xche' altrimenti, col cxxo che hai tempo di stare dietro le "fregnette" del sistema
operativo pinco palla... :asd:

Questa non l'ho capita... puoi tradurre?? :D

balint
22-01-2009, 17:52
Credo nel senso che devi avere la possibilità di stare a "cazzeggiare" al PC senza che i genitori ti rompano le scatole

Dyd87
22-01-2009, 18:02
Credo nel senso che devi avere la possibilità di stare a "cazzeggiare" al PC senza che i genitori ti rompano le scatole

Se hai dato loro ad intendere che la tua è una passione , e non una passione come tante , dato che questa , applicandosi , può essere un'ampia fonte di sostentamento non ti si opporranno...
Non penso che dei genitori possano "rompere" , giusto pensare che il figlio non abbia una vita sociale :p

Lorekon
22-01-2009, 18:22
l'insigne microbiologo Pasteur, a proposito della sua scoperta dell'acido meso-tartarico (colossale botta di culo, oggettivamente) diceva:
"la fortuna assiste unma mente praparata" :O


per me sono tutte cazzate (a proposito di Pasteur)

~FullSyst3m~
22-01-2009, 18:32
l'insigne microbiologo Pasteur, a proposito della sua scoperta dell'acido meso-tartarico (colossale botta di culo, oggettivamente) diceva:
"la fortuna assiste unma mente praparata" :O


per me sono tutte cazzate (a proposito di Pasteur)

Allora pensi che la fortuna non esiste nel campo sceintifico?
Comunque ci sono molti genitori che anche se i figli hanno passione non gli fanno fare ciò che voglio, o molte persone che scoprono il loro talento o quello che vogliono da grandi perchè magari l'ambiente è sterile. E non parlo solo di famiglia, ma anche di città, conoscenze ecc. Su quest'ultima cosa ho un'esperienza diretta.

killercode
22-01-2009, 19:42
Se il ragazzo ha meno di 15 anni è un genio, altrimenti è solo volontà

~FullSyst3m~
22-01-2009, 20:40
Se il ragazzo ha meno di 15 anni è un genio, altrimenti è solo volontà

Ha 20 anni. Ha iniziato a programmare per diletto verso i 14 e seriamente per i 16. Apparte questo lui dice che lo sopravvalutano e che per arrivare a lavorare per due aziende ecc ci è voluto impegno e non considerare queste cose un lavoro, ma solo una passione.

lowenz
22-01-2009, 23:20
Io ho iniziato a programmare a 11 anni :stordita: :D

~FullSyst3m~
22-01-2009, 23:28
Io ho iniziato a programmare a 11 anni :stordita: :D

Fortunato tu :(

killercode
22-01-2009, 23:54
Io ho iniziato a programmare a 11 anni :stordita: :D

8 :Prrr:

https://www.cs.tcd.ie/crite/lpr/imgs/turtle.jpg

~FullSyst3m~
23-01-2009, 00:30
8 :Prrr:

https://www.cs.tcd.ie/crite/lpr/imgs/turtle.jpg

Darei un rene per poter tornare indietro e iniziare da bambino :cry:

:dissident:
23-01-2009, 02:42
l'insigne microbiologo Pasteur, a proposito della sua scoperta dell'acido meso-tartarico (colossale botta di culo, oggettivamente) diceva:
"la fortuna assiste unma mente praparata" :O


:asd:

era dislessico?

~FullSyst3m~
23-01-2009, 03:21
Si vedono sempre più spesso ragazzi molto giovani che fanno cose interessante. Ad esempio uno degli sviluppatori di Down them all! è italiano ed ha 23 anni, ha già belle esperienza lavorative, laureato e diplomato con il massimo dei voti e ora sta facendo la specialistica. E ha solo 23 anni. Quindi o ci sono sempre più geni oppure l'impegno e la determinazione unite alla passione fanno miracoli.

Dyd87
23-01-2009, 09:55
oppure l'impegno e la determinazione unite alla passione fanno miracoli.

Esatto :)

~FullSyst3m~
23-01-2009, 12:16
Esatto :)

:)

lowenz
23-01-2009, 12:45
Darei un rene per poter tornare indietro e iniziare da bambino :cry:
Il BASIC non era molto comodo, bisognava indicizzare ogni riga :D
Però salvarsi il programmino sulla cassettina e mostrarlo agli altri funzionare non aveva prezzo :D

Le prime volte provai ad usare codice ADA sul Commodore copiandolo da un libro di informatica (che fu scritto dalla mia attuale professoressa di sistemi di elaborazione :asd: ) ma ovviamente arrivava immancabile il "Syntax Error" :sbonk:

~FullSyst3m~
23-01-2009, 12:53
Il BASIC non era molto comodo, bisognava indicizzare ogni riga :D
Però salvarsi il programmino sulla cassettina e mostrarlo agli altri funzionare non aveva prezzo :D

Le prime volte provai ad usare codice ADA sul Commodore copiandolo da un libro di informatica (che fu scritto dalla mia attuale professoressa di sistemi di elaborazione :asd: ) ma ovviamente arrivava immancabile il "Syntax Error" :sbonk:

Forse non te ne rendi conto, ma queste cose sono servite per farti le ossa. Io pagherei davvero per tornare indietro a quando ero piccolo e iniziare tutto da capo.

Lorekon
23-01-2009, 13:27
:asd:

era dislessico?

no, era francese!
non sapeva bene l'italiano :asd:

lowenz
23-01-2009, 15:41
Forse non te ne rendi conto, ma queste cose sono servite per farti le ossa. Io pagherei davvero per tornare indietro a quando ero piccolo e iniziare tutto da capo.
Penso di rendermene conto UN BEL PO'.....

~FullSyst3m~
23-01-2009, 15:44
Penso di rendermene conto UN BEL PO'.....

:) Beato tu...

killercode
23-01-2009, 16:42
Penso di rendermene conto UN BEL PO'.....

Forse non te ne rendi conto, ma queste cose sono servite per farti le ossa. Io pagherei davvero per tornare indietro a quando ero piccolo e iniziare tutto da capo.


io invece non sono per niente d'accordo, se alle superiori mi avessero insegnato BENE la matematica al posto dell'assembly ora sarei molto più contento. Però ognuno ha i propri percorsi... quello che è giusto per me non lo è per altri

~FullSyst3m~
23-01-2009, 16:58
io invece non sono per niente d'accordo, se alle superiori mi avessero insegnato BENE la matematica al posto dell'assembly ora sarei molto più contento. Però ognuno ha i propri percorsi... quello che è giusto per me non lo è per altri

Come mai? Io invece avrei fatto di tutto per poter andare ad un ITIS, ma non c'era nulla nel raggio di km.

killercode
23-01-2009, 17:34
Perchè di solito è più facile passare dalla teoria alla pratica che viceversa, perchè la teoria è standard mentre la pratica varia da situazione a situazione quindi alla fine ai da studiare ancora comunque..... perchè non è possibile che ti facciano fare sistemi con 10 equazioni senza spiegarti la riduzione di Gauss e le matrici :ncomment: . insomma, è una formazione parziale.

ChristinaAemiliana
23-01-2009, 18:19
Io ho iniziato a programmare a 11 anni :stordita: :D

Il tuo problema è la voglia di fare, non certo il genio...:asd:

8 :Prrr:


A 8 anni lowenz si interessava ancora di fisica teorica. No, non sto scherzando. :asd:

Ah, e ovviamente, nel frattempo, si interessava pure di N altre materie scelte in modo da soddisfare i seguenti due vincoli:

1 - spaziare globalmente nel campo di tutto lo scibile umano;

2 - essere estremamente interessanti ma del tutto inadatte a trasformarsi anche in un lavoro.

La condizione 2 può essere rilassata in un insieme di misura nulla, ma curiosamente gli elementi del suddetto insieme sono costituiti dagli interessi (e solo quelli) a cui lowenz si dedica a impulsi e senza continuità, in modo tale che alla fine nemmeno in questo caso le competenze de quo possano diventare un'attività retribuita. :D

Morale: il successo insegue lowenz, ma lui corre più veloce. :sofico:

lowenz
23-01-2009, 18:23
Il tuo problema è la voglia di fare, non certo il genio...:asd:



A 8 anni lowenz si interessava ancora di fisica teorica. No, non sto scherzando. :asd:

Ah, e ovviamente, nel frattempo, si interessava pure di N altre materie scelte in modo da soddisfare i seguenti due vincoli:

1 - spaziare globalmente nel campo di tutto lo scibile umano;

2 - essere estremamente interessanti ma del tutto inadatte a trasformarsi anche in un lavoro.

La condizione 2 può essere rilassata in un insieme di misura nulla, ma curiosamente gli elementi del suddetto insieme sono costituiti dagli interessi (e solo quelli) a cui lowenz si dedica a impulsi e senza continuità, in modo tale che alla fine nemmeno in questo caso le competenze de quo possano diventare un'attività retribuita. :D

Morale: il successo insegue lowenz, ma lui corre più veloce. :sofico:
:sbonk:

~FullSyst3m~
23-01-2009, 18:51
Perchè di solito è più facile passare dalla teoria alla pratica che viceversa, perchè la teoria è standard mentre la pratica varia da situazione a situazione quindi alla fine ai da studiare ancora comunque..... perchè non è possibile che ti facciano fare sistemi con 10 equazioni senza spiegarti la riduzione di Gauss e le matrici :ncomment: . insomma, è una formazione parziale.

Ti abbandonano a te stesso allora? Non dovrebbero spiegartele queste cose?

hakermatik
23-01-2009, 19:01
Io ho iniziato a programmare a 11 anni :stordita: :D

anche tu con qbasic scommetto...

killercode
23-01-2009, 19:35
Ti abbandonano a te stesso allora? Non dovrebbero spiegartele queste cose?
Quali cose? La riduzione di Gauss e le matrici? si, sarebbe il caso ma l'algebra lineare non è programma delle superiori; non è colpa loro.Non è che ti abbandonano a te stesso è che lo studio quando è troppo specialistico diventa quasi inutile visto che ci sono poche possibilità che ti capiti proprio quello che hai studiato. Ad esempio vedo che ti piace il python, ottimo linguaggio se lo impari per sapere come si crea un'algoritmo cos'è una funzione come funziona un linguaggio ad oggetti è un conto; ma se ti aspetti di trovare dei raw_input piuttosto che dei cin o degli scanf diventa abbastanza inutile.
Ora, tutto questo era per dire: "Impara UN linguaggio di programmazione ad alto livello e UNO a basso livello e tutti gli altri li imparerai se e quando servono.

killercode
23-01-2009, 19:39
A 8 anni lowenz si interessava ancora di fisica teorica. No, non sto scherzando. :asd:

Immagino; sarà stato attratto dalla teoria delle stringhe però appena scoperto che erano passati da 26 dimensioni a solo 10 ha trovato la cosa troppo banale e si è dato alla filosofia greca :asd:

~FullSyst3m~
23-01-2009, 19:47
Quali cose? La riduzione di Gauss e le matrici? si, sarebbe il caso ma l'algebra lineare non è programma delle superiori; non è colpa loro.Non è che ti abbandonano a te stesso è che lo studio quando è troppo specialistico diventa quasi inutile visto che ci sono poche possibilità che ti capiti proprio quello che hai studiato. Ad esempio vedo che ti piace il python, ottimo linguaggio se lo impari per sapere come si crea un'algoritmo cos'è una funzione come funziona un linguaggio ad oggetti è un conto; ma se ti aspetti di trovare dei raw_input piuttosto che dei cin o degli scanf diventa abbastanza inutile.
Ora, tutto questo era per dire: "Impara UN linguaggio di programmazione ad alto livello e UNO a basso livello e tutti gli altri li imparerai se e quando servono.

Lo sto studiando perchè mi piace, è potente e allo stesso tempo ordinato, ha un ottimo rapporto tempo/lavoro, e si sta facendo sempre più largo.

Cosa vuoi dire con "ma se ti aspetti di trovare dei raw_input piuttosto che dei cin o degli scanf diventa abbastanza inutile."?

Comunque, vedendo in giro molti ragazzi che sanno tanti linguaggi, mi sono sempre chiesto se sto facendo bene a dedicarmi completamente ad un linguaggio per inpararlo come si deve e poi imparare gli altri quando mi serviranno, se mi serviranno. In molti mi hanno detto che è la cosa giusta, anche se a volte ho dei dubbi.
Ma nessuno mi aveva mai detto di impararne bene anche uno di basso livello. Il tuo consiglio riflettendoci però è giusto.

Mi intriga molto C#. Ma non so se intendi questo per basso livello, o parli di C/C++ o assembler.

killercode
23-01-2009, 20:20
Ma guarda, io come linguaggi conosco:

C
C++
Python
Logo
Octave
Assembly per microchip


Sai con quanti riuscirei a fare un programma degno di questo nome?
Zero
Ma non perchè non sappia come si scrivono, proprio perchè non sarei in grado di creare l'algoritmo.
Quindi è meglio sapere un linguaggio ma capire a fondo come si fa un software piuttosto che impararne 40 e non essere in grado di usarne neanche uno; alla fine la sintassi in un mese si impara, è il metodo che richiede anni.


I linguaggi di basso livello (e il c non è di basso livello) richiedono tempo per essere imparati perchè devi cambiare completamente metodo d'azione. te li sconsiglio a meno che non ti servano o proprio non ti interessano in maniera morbosa (masochistica direi). Anche se effettivamente con i tempi che corrono c'è sempre bisogno capace di fare reverse engineering nella comunità open (a gratis ovviamente :Prrr: )

~FullSyst3m~
23-01-2009, 20:45
Ma guarda, io come linguaggi conosco:

C
C++
Python
Logo
Octave
Assembly per microchip


Sai con quanti riuscirei a fare un programma degno di questo nome?
Zero
Ma non perchè non sappia come si scrivono, proprio perchè non sarei in grado di creare l'algoritmo.
Quindi è meglio sapere un linguaggio ma capire a fondo come si fa un software piuttosto che impararne 40 e non essere in grado di usarne neanche uno; alla fine la sintassi in un mese si impara, è il metodo che richiede anni.


I linguaggi di basso livello (e il c non è di basso livello) richiedono tempo per essere imparati perchè devi cambiare completamente metodo d'azione. te li sconsiglio a meno che non ti servano o proprio non ti interessano in maniera morbosa (masochistica direi). Anche se effettivamente con i tempi che corrono c'è sempre bisogno capace di fare reverse engineering nella comunità open (a gratis ovviamente :Prrr: )

Nella comunità open non credo ci sia bisogno di fare reversing :)
In ogni caso il C di sicuro non è di alto livello, ma è più vicino alla macchina.
Comunque la tua testimonianza è l'ennesima. A questo punto spero proprio che avete ragione a dire che faccio bene ad imparare come si deve un linguaggio e poi se c'è bisogno passare ad altri. Anche se comunque si deve sempre partire da 0, nel senso che il tempo per imparare la sintassi ci vuole sempre.

killercode
23-01-2009, 20:55
Nella comunità open non credo ci sia bisogno di fare reversing :)
In ogni caso il C di sicuro non è di alto livello, ma è più vicino alla macchina.
Comunque la tua testimonianza è l'ennesima. A questo punto spero proprio che avete ragione a dire che faccio bene ad imparare come si deve un linguaggio e poi se c'è bisogno passare ad altri. Anche se comunque si deve sempre partire da 0, nel senso che il tempo per imparare la sintassi ci vuole sempre.

Fino a quando tutti i produttori hardware non di daranno i driver ci sarà sempre bisogno di qualcuno che li faccia "amatorialmente" e già qui serve l'assembly, se poi non danno neanche le specifiche...

ah, comunque una cosa buona dell'ITIS c'è, il titolo di studio vale oro, tuttora a distanza di 2 anni mi chiamano per offrirmi lavoro.

~FullSyst3m~
23-01-2009, 21:40
Fino a quando tutti i produttori hardware non di daranno i driver ci sarà sempre bisogno di qualcuno che li faccia "amatorialmente" e già qui serve l'assembly, se poi non danno neanche le specifiche...

ah, comunque una cosa buona dell'ITIS c'è, il titolo di studio vale oro, tuttora a distanza di 2 anni mi chiamano per offrirmi lavoro.

Hai ragione, in questo caso si che bisogna conoscere il reverse engineering.
Ma per scrivere un driver bisogna conoscere assembler?

P.S: ti chiamano ancora dopo due anni? E' molto ricercato allora l'ITIS. Ma adesso sei all'uni?

Dyd87
23-01-2009, 21:44
Ma guarda, io come linguaggi conosco:

....

Sai con quanti riuscirei a fare un programma degno di questo nome?
Zero
Ma non perchè non sappia come si scrivono, proprio perchè non sarei in grado di creare l'algoritmo.
Quindi è meglio sapere un linguaggio ma capire a fondo come si fa un software piuttosto che impararne 40 e non essere in grado di usarne neanche uno; alla fine la sintassi in un mese si impara, è il metodo che richiede anni.



Quoto tutto , anche virgole, respiri, spazi :D
E' esattamente questa (almeno a parer mio/suo) la situazione: anch'io mi ritrovo , seppur con alcune difficoltà , a "conoscere" linguaggi come Visual Basic , Ansi C , Java (un pochino) ma davanti ai fatti concreti , realizzare un "signor" programma mi richiederebbe troppo , troppissimo (mi si passi il termine) tempo!
La capacità di programmare e di "adattare" il tuo programma alle situazioni che ti si presentano , ovvero il rapporto con l'utenza e l'USABILITA' , ti formano ad un metodo di lavoro , il quale sarà fondamentale in futuro...
Conoscendo solo sintassi , funzioni ecc.. di un programma si potrà "solamente" costruire il classico programmino (non me ne vengono in mente adesso di esempi concreti).
Ovvio che tutta la preparazione relativa a sintassi e linguaggio sia fondamentale ma , non mi si venga a dire che chi conosce le funzioni di un linguaggio è in grado di Programmare , con la p maiuscola :)
Saluti

~FullSyst3m~
23-01-2009, 22:11
Quoto tutto , anche virgole, respiri, spazi :D
E' esattamente questa (almeno a parer mio/suo) la situazione: anch'io mi ritrovo , seppur con alcune difficoltà , a "conoscere" linguaggi come Visual Basic , Ansi C , Java (un pochino) ma davanti ai fatti concreti , realizzare un "signor" programma mi richiederebbe troppo , troppissimo (mi si passi il termine) tempo!
La capacità di programmare e di "adattare" il tuo programma alle situazioni che ti si presentano , ovvero il rapporto con l'utenza e l'USABILITA' , ti formano ad un metodo di lavoro , il quale sarà fondamentale in futuro...
Conoscendo solo sintassi , funzioni ecc.. di un programma si potrà "solamente" costruire il classico programmino (non me ne vengono in mente adesso di esempi concreti).
Ovvio che tutta la preparazione relativa a sintassi e linguaggio sia fondamentale ma , non mi si venga a dire che chi conosce le funzioni di un linguaggio è in grado di Programmare , con la p maiuscola :)
Saluti

Si è sempre detto che programmare e conoscere un linguaggio sono due cose completamente diverso. Ma comunque in giro ci sono molti ragazzi che fanno programmi davvero di ottima fattura e che in futuro questa esperienza gli servirà. Di solito la questione di come affrontare le problematiche ecc si affronta all'uni o dopo anni di esperienza e di scrivere codice su codice.

killercode
23-01-2009, 22:50
Hai ragione, in questo caso si che bisogna conoscere il reverse engineering.
Ma per scrivere un driver bisogna conoscere assembler?

P.S: ti chiamano ancora dopo due anni? E' molto ricercato allora l'ITIS. Ma adesso sei all'uni?

si, i driver sono scritti principalmente in assembly sisto che questo linguaggio di programmazione permette di controllare direttamente le singole celle di memoria. E' usato anche per i firmware.

si, sono al primo anno di fisica dopo un anno a ingegneria, l'ultima offerta è stata da un'azienda che è partner della wincor nixdorf ci potevo fare dei soldi facili :asd:

lowenz
23-01-2009, 23:59
Se volete fare programmi NON artigianali dovete prima farvi le ossa con la progettazione (Ingegneria del Software :D), non con l'implementazione, e poi capirete che scrivere codice è una mera opera di traduzione (virtuosismi a parte): il lavoro VERO sono le fasi precedenti ed è ASSAI faticoso :p

lowenz
24-01-2009, 00:00
Immagino; sarà stato attratto dalla teoria delle stringhe però appena scoperto che erano passati da 26 dimensioni a solo 10 ha trovato la cosa troppo banale e si è dato alla filosofia greca :asd:
Adoro la filosofia presocratica e ogni volta che penso a tutti i testi andati persi nel tempo mi viene da picchiarmi in testa qualche tomo che ho qui :D

killercode
24-01-2009, 00:44
Adoro la filosofia presocratica e ogni volta che penso a tutti i testi andati persi nel tempo mi viene da picchiarmi in testa qualche tomo che ho qui :D

beh, guarda il lato positivo ad Alessandria hanno imparato l'importanza dei sistemi antincendio :asd:

~FullSyst3m~
24-01-2009, 11:53
Se volete fare programmi NON artigianali dovete prima farvi le ossa con la progettazione (Ingegneria del Software :D), non con l'implementazione, e poi capirete che scrivere codice è una mera opera di traduzione (virtuosismi a parte): il lavoro VERO sono le fasi precedenti ed è ASSAI faticoso :p

Certo, ma se uno si mettesse a studiare ingegneria del software prima di fare un pò di pratica adesso non avremmo molti programmatori. La pratica e l'esperienza è importante.

lowenz
24-01-2009, 15:23
Certo, ma se uno si mettesse a studiare ingegneria del software prima di fare un pò di pratica adesso non avremmo molti programmatori. La pratica e l'esperienza è importante.
Ovvio, ma ripeto, senza progettazioni puoi scordarti i vari programmi "seri".
Ottieni roba "artigianale" che nessuna azienda importante prenderebbe in considerazione per un uso continuato.

E' come paragonare Winamp alle prime release di VLC :p

~FullSyst3m~
24-01-2009, 16:05
Ovvio, ma ripeto, senza progettazioni puoi scordarti i vari programmi "seri".
Ottieni roba "artigianale" che nessuna azienda importante prenderebbe in considerazione per un uso continuato.

E' come paragonare Winamp alle prime release di VLC :p

Riuscire a fare un lettore come la prima release di VLC sarebbe un bel traguardo per un "amatoriale" credo :)

eraser
25-01-2009, 02:09
Ma per scrivere un driver bisogna conoscere assembler?

No, in generale no. Dipende poi dal tipo di driver e cosa devi fare, ma non è requisito fondamentale. Anzi, guardati bene dall'utilizzarlo a meno che non sai bene cosa stai facendo, il rischio di provocare BSOD è molto alto

~FullSyst3m~
25-01-2009, 02:12
No, in generale no. Dipende poi dal tipo di driver e cosa devi fare, ma non è requisito fondamentale. Anzi, guardati bene dall'utilizzarlo a meno che non sai bene cosa stai facendo, il rischio di provocare BSOD è molto alto

Infatti, avevo letto una cosa a riguardo e mi ricordo che la maggior parte sono scritti in C.
Ma le complicazioni che bisogna affrontare nello scrivere un driver rispetto ad un programma "normale" quali sono?

eraser
25-01-2009, 02:19
Anche qui, dipende dal sistema operativo per il quale vai a scrivere il driver.

Ad esempio, riguardo il sistema operativo Windows, devi stare molto attento a come gestisci i dati, devi fare molti controlli su quello che stai per fare perché rischi di far crashare l'intero sistema. Scrivendo una normale applicazione a livello utente invece puoi permetterti (non dovresti comunque) di commettere degli errori senza rischiare di far crashare niente se non l'applicazione a cui stai lavorando. In altre parole quando scrivi un driver devi stare molto più attento e rigoroso per garantire una stabilità del sistema.

Ma...non vorrai mica scrivere un driver? :) Parti piano, c'è tempo per fare tutto

L'asm è spesso inutilizzato per evitare grossi problemi. O utilizzi l'assembly e lo conosci e gestisci molto bene, o altrimenti rischi di creare problemi di stabilità. Poi per carità, ci sono alcuni pezzi di codice che viene più facile scriverli in asm rispetto che in C e viceversa, la scelta al programmatore. Mi è successo più di una volta di scegliere l'asm per qualche codice, perché era più immediato piuttosto che lavorare con il C.

~FullSyst3m~
25-01-2009, 02:32
Anche qui, dipende dal sistema operativo per il quale vai a scrivere il driver.

Ad esempio, riguardo il sistema operativo Windows, devi stare molto attento a come gestisci i dati, devi fare molti controlli su quello che stai per fare perché rischi di far crashare l'intero sistema. Scrivendo una normale applicazione a livello utente invece puoi permetterti (non dovresti comunque) di commettere degli errori senza rischiare di far crashare niente se non l'applicazione a cui stai lavorando. In altre parole quando scrivi un driver devi stare molto più attento e rigoroso per garantire una stabilità del sistema.

Ma...non vorrai mica scrivere un driver? :) Parti piano, c'è tempo per fare tutto

L'asm è spesso inutilizzato per evitare grossi problemi. O utilizzi l'assembly e lo conosci e gestisci molto bene, o altrimenti rischi di creare problemi di stabilità. Poi per carità, ci sono alcuni pezzi di codice che viene più facile scriverli in asm rispetto che in C e viceversa, la scelta al programmatore. Mi è successo più di una volta di scegliere l'asm per qualche codice, perché era più immediato piuttosto che lavorare con il C.

No no, non voglio scrivere un driver. Come hai detto tu poi le cose si fanno per gradi ;)
Era solo pura curiosità :)

~FullSyst3m~
29-04-2009, 22:04
si, i driver sono scritti principalmente in assembly sisto che questo linguaggio di programmazione permette di controllare direttamente le singole celle di memoria. E' usato anche per i firmware.

si, sono al primo anno di fisica dopo un anno a ingegneria, l'ultima offerta è stata da un'azienda che è partner della wincor nixdorf ci potevo fare dei soldi facili :asd:

Strano vedere un fisico che sa programmare...

MrModd
29-04-2009, 22:34
Ma guarda, io come linguaggi conosco:

C
C++
Python
Logo
Octave
Assembly per microchip


Sai con quanti riuscirei a fare un programma degno di questo nome?
Zero
Ma non perchè non sappia come si scrivono, proprio perchè non sarei in grado di creare l'algoritmo.
Quindi è meglio sapere un linguaggio ma capire a fondo come si fa un software piuttosto che impararne 40 e non essere in grado di usarne neanche uno; alla fine la sintassi in un mese si impara, è il metodo che richiede anni.


I linguaggi di basso livello (e il c non è di basso livello) richiedono tempo per essere imparati perchè devi cambiare completamente metodo d'azione. te li sconsiglio a meno che non ti servano o proprio non ti interessano in maniera morbosa (masochistica direi). Anche se effettivamente con i tempi che corrono c'è sempre bisogno capace di fare reverse engineering nella comunità open (a gratis ovviamente :Prrr: )

Io non riesco a creare un metro di giudizio per capire a che livello si può parlare di buona programmazione e a che età si dovrebbe raggiungere. Tu che intendi per "programma degno di questo nome"?
Io ho 19 anni e di programmazione so fare giusto qualche gioco stupido come snake e tris che girano in console. Quando sento parlare quindicenni che programmano mi cadono le braccia... Sono io che sto indietro o sono gli altri che stanno troppo avanti?

~FullSyst3m~
29-04-2009, 22:36
Io non riesco a creare un metro di giudizio per capire a che livello si può parlare di buona programmazione e a che età si dovrebbe raggiungere. Tu che intendi per "programma degno di questo nome"?
Io ho 19 anni e di programmazione so fare giusto qualche gioco stupido come snake e tris che girano in console. Quando sento parlare quindicenni che programmano mi cadono le braccia... Sono io che sto indietro o sono gli altri che stanno troppo avanti?

Bisogna vedere il metro di paragone. Ad esempio io non ho programmato un gioco e anche fare uno snake non saprei da dove iniziare. Poi che ci sono ragazzini che alle elementari già parlano di ereditarietà o classe astratta e scrivono codice quella ormai è la normalità. E pensare che io ho scoperto tutto questo a 20 anni.

masand
29-04-2009, 22:38
Ho letto per caso un'intervista a questo ragazzo che ha scoperto una vulnerabilità in MAC OS X e che lavora si come reverse engineering sia come consulente di sicurezza. Il bello è che è uno studente, giovanissimo quindi, ma che ha anche lavorato su progetti open, ha fatto un pò di conferenze e ha partecipato al Google summer of code. Se cercate su Google avrete un'idea più chiara.

Secondo voi bisogna essere dei geni per fare questo? O più semplicemente basta la forza di volontà e studiare studiare e studiare?

Dite la vostra ;)

È un mix...

I geni, sono veramente pochi e in realtà non esistono. Ognuno di noi è un genio nel suo campo.

Secondo me, molto semplicemente, lui si diverte come un matto a fare quello che fa :)

~FullSyst3m~
29-04-2009, 22:44
È un mix...

I geni, sono veramente pochi e in realtà non esistono. Ognuno di noi è un genio nel suo campo.

Secondo me, molto semplicemente, lui si diverte come un matto a fare quello che fa :)

Anche questo è vero. In verità ho deciso di aprire questo post perchè leggo sempre più spesso di ragazzi cosi e vorrei capire, visto che io non ho avuto la fortuna di iniziare da ragazzino.

masand
29-04-2009, 23:06
Anche questo è vero. In verità ho deciso di aprire questo post perchè leggo sempre più spesso di ragazzi cosi e vorrei capire, visto che io non ho avuto la fortuna di iniziare da ragazzino.

Beh, calcola che non tutti possono essere padroni, qualcuno deve pur lavorare, ma non per questo "vale di meno".

Sta traquillo... l'importante è non traformare la passione in ossessione... Il "segreto" è divertirsi nel fare quello che si fa... sembra una cosa da niente, ma è difficilissimo :)

~FullSyst3m~
30-04-2009, 00:35
Beh, calcola che non tutti possono essere padroni, qualcuno deve pur lavorare, ma non per questo "vale di meno".

Sta traquillo... l'importante è non traformare la passione in ossessione... Il "segreto" è divertirsi nel fare quello che si fa... sembra una cosa da niente, ma è difficilissimo :)

In che senso non tutti possono essere padroni?
In ogni caso, e te l'ho sempre detto, tu sei un esempio palese, eppure non sei nel settore.

masand
30-04-2009, 01:00
In che senso non tutti possono essere padroni?
In ogni caso, e te l'ho sempre detto, tu sei un esempio palese, eppure non sei nel settore.

Ho fatto una banale allegoria, nel senso che non possiamo essere tutti come quel ragazzo, non possiamo essere tutti Maradona o Pelè, ci sono anche ottimi programmatori normali e ottimi giocatori di calcio che fanno squadra...

Il pelé della situazione è quello che si diverte come un matto quando gioca a pallona... per me il segreto è questo.

Magari non diventerai qualcuno che fa una carriera fulminea nel mondo della programmazione, ma potrebbe essere invece che farai una ottima carriera passando dalla classica gavetta fino ad arrivare al livello da te sperato. :)

Non contano i tempi, o meglio non sono poi così determinanti, ma il raggiungimento dell'obiettivo. :)

Il tutto ovviamente IMHO. :)

~FullSyst3m~
30-04-2009, 01:48
Ho fatto una banale allegoria, nel senso che non possiamo essere tutti come quel ragazzo, non possiamo essere tutti Maradona o Pelè, ci sono anche ottimi programmatori normali e ottimi giocatori di calcio che fanno squadra...

Il pelé della situazione è quello che si diverte come un matto quando gioca a pallona... per me il segreto è questo.

Magari non diventerai qualcuno che fa una carriera fulminea nel mondo della programmazione, ma potrebbe essere invece che farai una ottima carriera passando dalla classica gavetta fino ad arrivare al livello da te sperato. :)

Non contano i tempi, o meglio non sono poi così determinanti, ma il raggiungimento dell'obiettivo. :)

Il tutto ovviamente IMHO. :)

Si vero, ma comunque il punto non era questo e nemmeno io o la programmazione. Sono solo riflessioni che è normale fare. Non è un genio, conosco altri ragazzi almeno bravi come lui, sono persone che in 5 anni hanno letto più di 1.200 libri, manuali e pubblicazioni, che smanettano e provano provano provano.