Εμφάνιση αναρτήσεων με ετικέτα Eric Steven Raymond. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα Eric Steven Raymond. Εμφάνιση όλων των αναρτήσεων

Τετάρτη 29 Δεκεμβρίου 2010

Open Sources. Vοices from the open source revolution.


Το βιβλίο αυτό, που μπορείτε είτε να το αγοράσετε στην έντυπη μορφή του, είτε να το κατεβάσετε δωρεάν ως ebook
http://oreilly.com/catalog/opensources/book/toc.html.
Περιέχει ένα θησαυρό από άρθρα που αφορούν την ανάπτυξη του ελεύθερου λογισμικού/λογισμικού ανοικτού κώδικα.
Μια ματιά μόνο στα περιεχόμενά του θα σας πείσει ότι πρόκειται για πολύτιμο ανάγνωσμα για όσους ενδιαφέρονται για την ιστορία της ανάπτυξης του πιο τεχνολογικά προχωρημένου λογισμικού του κόσμου.

Βρήκα ιδιαίτερα ενδιαφέροντα, το άρθρο για τη γέννηση του φυλλομετρητή Mozilla και τη διαμάχη Tanenbaum - Torvalds σχετικά με την αρχετεκτονική του πυρήνα Λίνουξ.
Αυτό, σε καμιά περίπτωση, δε σημαίνει πως τα υπόλοιπα άρθρα δεν είναι σημαντικά. Εξ άλλου οι συγγραφείς είναι όλοι τους "ιερά τέρατα" του προγραμμματισμού.


Το βιβλίο πρωτοεκδόθηκε από τον εκδοτικό οίκο που ειδικεύεται στα βιβλία τεχνολογίας, O'Reilly, το 1999.

Σάββατο 20 Μαρτίου 2010

Πώς να γίνεις Hacker


Να ξεκαθαρίσουμε από την αρχή ένα πράγμα.
Η λέξη hacker /χάκερ χρησιμοποιείται με λάθος τρόπο τόσο στα αγγλικά όσο και στα ελληνικά απ τον περισσότερο κόσμο. Νομίζουν ότι πρόκειται για το προβληματικό άτομο που καταναλώνει άπειρες ώρες χαλώντας υπολογιστές.
Εξ άλλου η πρώτη σημασία της λέξης hack στα αγγλικά είναι "πελεκώ", "κατακρεουργώ", οπότε...
Αντιθέτως όμως, για τους γκουρού των υπολογιστών, ο χάκερ είναι ο προγραμματιστής που ασχολείται με τη βελτίωση ενός συστήματος ή την επίλυση προβλημάτων που παρουσιάζονται κατά τη λειτουργία του. Ο χάκερ δηλαδή είναι το αντίθετο και ο μεγάλος αντίπαλος του cracker / κράκερ που προσπαθεί χρησιμοποιώντας κακόβουλο λογισμικό να κλέψει κωδικούς, ή να δυσκολέψει τη λειτουργία ενός υπολογιστή.

Αν λοιπόν σε ενδιαφέρει το θέμα και σκέφτεσαι να ασχοληθείς με χακεριές, το δοκίμιο  αυτό του διάσημου χάκερ Eric Steven Raymond είναι αυτό που ζητούσες!
Θα σου λύσει απορίες όσον αφορά το ήθος που διακρίνει τους αφανείς αυτούς ήρωες που ξεκίνησαν την επανάσταση της πληροφορικής, την καταλληλότερη γλώσσα προγραμματισμού
(ναι καλά το φοβόσουν, η Visual Basic δεν είναι ότι το καλύτερο), τα χαρακτηριστικά ενός χάκερ και οι γνώσεις που κατέχει, και το λειτουργικό πρόγραμμα που προτιμά [πάλι καλά το σκέφτηκες, χρησιμοποιεί συνήθως GNU/Linux ή κάποιο άλλο λειτουργικό ελεύθερου λογισμικού, δηλαδή BSD, Solaris, Haiku, ή οποιοδήποτε άλλο τύπου Unix].

Φυσικά και μπορείς να το διαβάσεις δωρεάν [και εννοείται νομίμως], στα ελληνικά ή στα αγγλικά από τις ιστοσελίδες που παραθέτω.
Ας μην ξεχνάμε πως αυτό που ιδιαίτερα αρέσει στους χάκερ είναι να μοιράζονται.


δικτυακή βιβλιογραφία
Eric Steven Raymond (2008). Πώς να γίνεις Hacker.
http://earthlab.uoi.gr/indy/hacker-howto-gr/
Eric Steven Raymond (2008). How To Become A Hacker.
http://www.catb.org/~esr/faqs/hacker-howto.html

Κυριακή 27 Σεπτεμβρίου 2009

The Cathedral and the Bazaar.



Στην τρίτη αυτή έκδοση του δοκιμίου του, ο μεγάλος χάκερ και δημιουργός καινοτόμου λογισμικού Eric Steven Raymond
μας ξεναγεί στον εκπληκτικό χώρο του λογισμικού ανοικτού κώδικα και μας βοηθά να πάρουμε μια γεύση από τον τρόπο σκέψης των ιερών τεράτων της ιδιόμορφης αυτής κοινότητας που δημιούργησε το GNU/LINUX.

Όπως μαρτυρεί και ο τίτλος του, ο Eric Steven Raymond συγκρίνει τη δημιουργία λογισμικού με τη κατασκευή ενός έργου όπως ένας καθεδρικός ναός ή μια λαϊκή αγορά τύπου παζαριού. Βρίσκει περισσότερες ομοιότητες με τον απρόβλεπτο/άναρχο τρόπο που φτιάχνεται ένα παζάρι παρά με το συντονισμένο τρόπο της κατασκευής ενός μεγαλοπρεπούς καθεδρικού. Ενώ όμως για μερικούς αυτό ακούγεται κάπως... υποτιμητικό για το έργο ενός μηχανικού λογισμικού (ακούς εκεί να με παρομοιάσουν με μαγαζάτορα παζαριού!), ο Eric Steven Raymond όμως το θεωρεί ακριβώς το μεγάλο του ατού.
Το δοκίμιό του βασίστηκε στην προσωπική του εμπειρία από την ενασχόλησή του με την ανάπτυξη ενός συγκεκριμένου έργου λογισμικού:
το πρόγραμμα διαχείρισης ηλεκτρονικού ταχυδρομείου ονόματι fetchtop και κατόπιν popclient... που τελικά ονομάστηκε fetchmail.
Παρατήρησε λοιπόν πως όπως και το Λίνουξ είναι κι αυτό ανατρεπτικό.

Τα μαθήματα που προσκόμισε είναι λοιπόν τα εξής:
1. Κάθε καλό λογισμικό ξεκινάει από το διακαή πόθο του μηχανικού δημιουργού του.
2. Οι καλοί προγραμματιστές ξέρουν να γράφουν κώδικα. Οι μεγάλοι προγραμματιστές ξέρουν πώς να ξαναγράφουν και να ξαναχρησιμοποιούν (βελτιώνοντας το ήδη υπάρχοντα πγαίο κώδικα), κάτι που ονομάζει "εποικοδομητική τεμπελιά"
3. Σχεδίασε τι θα πετάξεις. Στο τέλος θα πετάξεις κάτι ούτως ή άλλως.
4. Αν έχεις τη σωστή τάση, θα βρεις ενδιαφέροντα πράγματα στο δρόμο σου.
5. 'Οταν πάψεις να ενδιαφέρεσαι για κάποιο πρόγραμμα, το τελευταίο σου καθήκον είναι να το κληροδοτήσεις σε έναν ικανό διάδοχο.
6. Να συμπεριφέσαι στους χρήστες του λογισμικού σου σαν να ήταν συν-δημιουργοί του. Μ' αυτόν το τρόπο θα πετύχεις γρήγορα τη βελτίωση του κώδικα και θα διορθωθούν τα υπάρχοντα λάθη.
7. Κυκλοφόρησε το λογισμικό σου νωρίς. (Μην καθυστερείς.) Πραγματοποίησε συχνές εκδόσεις. Άκου τους χρήστες σου.
[Αυτό ακριβώς έκανε ο Linus Torvalds κατά τη διαδικασία ανάπτυξης του Λίνουξ.
Έμπασε όσο δυνατόν μεγαλύτερο αριθμό παιχτών, ικανοποιώντας τον προσωπικό τους εγωισμό (ναι, κι εγώ συνέβαλα στο πρωτοποριακό αυτό έργο!), δίνοντάς τους κίνητρα επειδή τους ενημέρωνε με συνεχείς όλο και πιο βελτιωμένες (με τη δική τους συνεισφορά) εκδόσεις.]
8. Με τη δημοσίευση της δοκιμαστικής έκδοσης (beta), κάθε νεο πρόβλημα θα εντοπιστεί από τους χρήστες.
O περίφημος... νόμος του Linus: όσο περισσότερα μάτια κοιτάζουν, τόσο πιο ρηχό είναι το πρόβλημα.
Εδώ ίσως έγκειται και το μεγάλο πλεονέκτημα που έχει το ελεύθερο λογισμικό έναντι του ιδιοταγούς.
Αντί για λίγους προγραμματιστές, διαθέτει μια στρατιά πρόθυμων συν-δημιουργών, με αποτέλεσμα τα προβλήματα να επιλύονται ταχύτητα με την εξυπνότερη κατά περίπτωση λύση.
Αυτό το κοινωνικό φαινόμενο, που ονομάστηκε Delphi effect, φαίνεται πως ισχύει ακόμη και για πολύπλοκα έργα όπως ο πυρήνας ενός λειτουργικού συστήματος.
Θα μπορούσε εδώ να παρατηρήσει κάποιος πως ο μεγάλος αριθμός των συμμετεχόντων προγραμματιστών θα προκαλούσε αναπόφευκτα προβλήματα που ανακύπτουν κατά την επικοινωνία όλων αυτών των συν-δημιουργών. Τα λάθη στον πηγαίο κώδικα συγκεντρώνονται ακριβώς στα σημεία διεπαφής. Ο Eric Steven Raymond όμως τονίζει πως αυτό... δεν ισχύει στην περίπτωση του λογισμικού ανοικτού κώδικα. Είναι κοινό μυστικό πως οι βασικοί προγραμματιστές του Λίνουξ εργάζονται σε ξεχωριστά παράλληλα "υποκαθήκοντα" κατά μόνας, και ελάχιστα επικοινωνούν μεταξύ τους!
9. Οι έξυπνες δομές δεδομένων και ο χαζός κώδικας τα πάνε μια χαρά, παρά το αντίστροφο.
10. Όταν φέρεσαι στους ελεγκτές της δοκιμαστικής σου έκδοσης σαν να ήταν ο πιο σημαντικός σου πόρος, τότε θα γίνουν ο πιο σημαντικός σου πόρος.
11. Το δεύτερο σημαντικότερο πράγμα από το να σου έρθει μια φαεινή ιδέα ειναι να αναγνωρίσεις τις φαεινείς ιδέες των χρηστών σου.
Καμιά φορά μπορεί να είναι και καλύτερες.
12. Συχνά, οι πιο καινοτόμες λύσεις προέρχονται από τη συνειδητοποίηση πως η γενική ιδέα του προβλήματος είναι λανθασμένη.
13. Η τελειότητα επιτυγχάνεται όχι όταν δεν υπάρχει κάτι άλλο να προσθέσεις, αλλά όταν δεν υπάρχει κάτι ακόμη να αφαιρέσεις.
14. Κάθε εργαλείο έχει την αναμενόμενη χρήση του. Αλλά το πραγματικά μεγαλοφυές εργαλείο θα χρησιμοποιηθεί και εκεί που δεν το περίμενες.
15. Όταν γράφεις λογισμικό, μην ταράξεις τη ροή δεδομένων παρά μόνον όταν ο παραλήπτης σε αναγκάσει.
16. Όταν η γλώσσα σου δεν πλησιάζει την πληρότητα Turing, λίγη συντακτική ζάχαρη θα βοηθήσει.
17. Ένα σύστημα ασφαλείας είναι τόσο ασφαλές όσο το μυστικό του. Προφυλάξου λοιπόν από τα ψευδο-μυστικά.
18. Για να λύσεις ένα ενδιαφέρον πρόβλημα, ξεκίνα βρίσκοντας ένα πρόβλημα που να ενδιαφέρει εσένα προσωπικά.
19. Όταν ο συντονιστής του έργου διαθέτει την επικοινωνιακή ευκολία που παρέχει το διαδίκτυο, και ξέρει πώς να καθοδηγεί χωρίς καταναγκασμό, τα περισσότερα μυαλά είναι αναπόφευκτα καλύτερα από το ένα.

Μπορεί μερικά από τα ανωτέρω συμπεράσματα να ακούγονται δυσνόητα σε όσους δεν έχουν ασχοληθεί με προγραμματισμό, αλλά οπωσδήποτε φωτίζουν πολλές πλευρές του νέου φαινομένου της μαζικής συμμετοχής σε πολύπλοκα κοινά έργα (crowd sourcing),
και μάλιστα με τη κρυστάλλινη διαύγεια των ολοζώντανων παραδειγμάτων.

Το δοκίμιο μπορείτε να το διαβάσετε φυσικά δωρεάν.
Eric Steven Raymond (2000) The Cathedral and the Bazaar.
Verion 3
στον ιστότοπο του συγγραφέα
http://catb.org/~esr/writings/homesteading/cathedral-bazaar/
ή
σε μορφή pdf
http://www.si.umich.edu/~rfrost/courses/SI110/readings/IntellecProp/Cathedral-Bazaar.pdf