6.080 Great Ideas in Theoretical Computer Science

This course provides a challenging introduction to some of the central ideas of theoretical computer science. It attempts to present a vision of “computer science beyond computers”: that is, CS as a set of mathematical tools for understanding complex systems such as universes and minds.”

[via Shtetl-Optimized]

Με την ευκαιρία, δύο εξαιρετικά ενδιαφέροντα posts με ακόμα πιο ενδιαφέροντα σχόλια από το ίδιο blog:
* Statement on conceptual contributions in theory
* Mistake of the Week: “But even an X says so!”

on consulting

Ήθελα να γράψω για το (ατομικό) consulting από πέρσυ που είδα το “The Soft Stuff is the Hard Stuff: Consulting 101” στο Data Administration Newsletter. Το draft αράχνιασε, αλλά δύο πρόσφατα posts με έκαναν να το “ξεθάψω”.

Είναι ο σύμβουλος παντογνώστης;

“you are expected to have the answer to any question in your area of expertise. I strongly suggest that you actively build a network of people – if necessary in other organizations – who share your technical specialization.”Consulting 101

Θυμάμαι πως ένας προηγούμενος πρόεδρος του ΤΕΕ έλεγε πως “καλός Μηχανικός είναι αυτός που είναι ένα τηλέφωνο μακριά από τη λύση”. Πράγματι όταν είσαι ο “σύμβουλος” υποτίθεται πως τα ξέρεις όλα. Ξέρουμε καλά όμως όλοι πως αυτό δεν είναι η αλήθεια. Και πως πολλές φορές θα υπάρχει εκείνος ο ενοχλητικός τύπος που σκοπό της ζωής του δεν έχει την επιτυχία του έργου, αλλά το να αποδείξει πως ο σύμβουλος είναι άχρηστος- άλλωστε “an expert is someone from out of town”, σωστά; Είναι πάντα ευκταίο λοιπόν να μπορείς να καταφύγεις στη γνώμη ενός συναδέλφου (και ανεξάρτητου παρατηρητή) ο οποίος μπορεί και να έχει συναντήσει το ίδιο πρόβλημα πριν από εσένα.

Οι επαγγελματίες που δεν είναι φίλοι, δεν ανταλλάσουν ιδέες ή πληροφορίες για χρήματα, δεν τις προσφέρουν όμως και τζάμπα: Ωφέλιμο είναι λοιπόν όταν δεν μπορείς / προλαβαίνεις να κάνεις μια δουλειά, αντί να την “κλωτσήσεις” να συστήσεις κάποιον από το “network of people” ως εξίσου ικανό να την αναλάβει. Ο υποψήφιος πελάτης θα ικανοποιηθεί και θα ξαναγυρίσει σε κάποιον από το δίκτυο. Όπως και κάποια στιγμή το “network of people” θα σου στείλει κάποια δουλειά για τους ίδιους ακριβώς λόγους. Θυμάμαι με μεγάλη ικανοποίηση πως κάποτε είχα μια προσφορά εργασίας την οποία δεν αποδέχτηκα. Σύστησα όμως ένα φίλο μου. Στην αρχή υπήρχε κάποιο πρόβλημα αποδοχής γιατί δεν είχε “δυνατό προφίλ”. Αναγκάστηκα να πω κάτι σαν “Αφού θέλεις εμένα, πάρε αυτόν”. Ο φίλος μου έμεινε σε αυτή την εταιρία για 10 χρόνια.

“the blame falls on those who have gone”Consulting 101

Να σηκώσει τώρα το χέρι του όποιος δεν έχει καταφύγει σε αυτή τη δικαιλογία, ή δεν ήταν το πρώτο πράγμα που σκέφτηκε όταν κάτι πήγε στραβά. Όταν είσαι σύμβουλος και κάτι “χτυπήσει” ενώ δεν είσαι εκεί, όλοι θα προσπαθήσουν να το συνδέσουν με τη δουλειά σου (μια και πήρες τα πολλά(;) λεφτά και έφυγες). Δεν είναι δύσκολο να σου βγει το όνομα. Ή δεν έχετε πετύχει ποτέ περιπτώσεις συμβούλων / freelancers για τους οποίους να έχετε ακούσει και καλά και κακά λόγια; Όπως συστήνει και ο Robert Seiner λοιπόν, Follow-Up! Ακόμα κι αν έχει τελειώσει το συμβόλαιό σας, περάστε “για ένα καφέ”. Αν δεν βρείτε προβλήματα που θα έχουν αδίκως (άντε καμιά φορά και δικαίως) το όνομά σας, μπορεί να βρείτε το επόμενο σας project.

Avoid Giving Advice

“What? Surely the role of consultant is inextricably linked with the giving of advice? That may be true, but it’s also true that people enjoy giving advice a lot more than receiving it. Think of an occasion where you’ve been particularly proud of the advice you’ve given. Perhaps you’ve gone home or back to your “home team” and raved about how much you’ve saved the client and justified your role. Now think: Do you really believe that the client is singing the same joyous tune? There are many other ways of helping to get things done other than pontificating. They’re usually more effective.”Consulting 101

Υπάρχει κόσμος που έχει “καεί” από συμβούλους. Και αρνείται να ακούσει τους επόμενους. Άλλωστε οι συμβουλές, ειδικά όταν δεν συνοδεύονται από το βάρος της ευθύνης της απόφασης, είναι εύκολες. Ανακάλυψα σχετικά γρήγορα πως δύο πράγματα μπορούν να αναστρέψουν το κλίμα:

  • – Καταλαβαίνω το πρόβλημά σας. Μου έχει τύχει σε αυτή, αυτή και αυτή την περίπτωση. Τότε το αντιμετωπίσαμε κάνοντας αυτό, αυτό και αυτό. Μπορείτε να ρωτήσετε αυτόν, αυτόν και αυτόν.
  • Φτιάχνοντας prototype που να δείχνει την ισχύ της προτεινόμενης λύσης.

Πριν αρχίσεις να δίνεις συμβουλές, καλό είναι να έχεις καταφέρει να κερδίσεις την εμπιστοσύνη του αποδέκτη και να τον πείσεις (εάν χρειάζεται) πως δεν κινδυνεύει από εσένα- δεν είσαι εκεί για να πεις πως αυτός δεν κάνει καλή δουλειά, είσαι για να συμπληρώσεις αυτά που δεν προλαβαίνει. Αλλιώς δεν πρόκειται να σε ακούσει, ανεξάρτητα από το πόσα χρήματα δίνει ο κοινός σας εργοδότης.

Το τζάμπα πέθανε! freeconsulting.jpg
[image source]

Στο “How to Consult and Not Be Paid* ο Gene Woolsey δίνει ένα χρήσιμο μάθημα: Δέχτηκε ένα τηλεφώνημα, του περιγράφηκε ένα πρόβλημα και από τον ενθουσιασμό του επειδή είχε άμεση απάντηση έδωσε μια λύση στον “πελάτη”. Ο “πελάτης” τον ευχαρίστησε και έκλεισε το τηλέφωνο. Ο Gene Woolsey έμεινε με το τηλέφωνο στο χέρι σκεπτόμενος πως δεν είχε προλάβει να συζητήσει την αμοιβή του…

Την πρώτη φορά που έκανα δουλειά freelance, ο πελάτης με ρώτησε:
– Και πόσα θέλεις για όλα αυτά;
– Ε, τριάντα χιλιάδες δραχμές.
– Καλά, πάρε τώρα εκατό (100000) και μόλις τελειώσεις θα πάρεις άλλες τόσες (τις πήρα). Και να ξέρεις πως με τα λεφτά που ζητάς, εάν δεν ήξερα ήδη από τον Ντίνο πως μπορείς να κάνεις τη δουλειά, θα σου έλεγα “γεια χαρά” και θα έπαιρνα άλλον.

Κάπου 10+ χρόνια πριν με ένα φίλο επισκεφτήκαμε μια εταιρία που ήθελε να αυξήσει την τεχνογνωσία της σε συστήματα ασφαλείας. Καθήσαμε, μιλήσαμε, φτιάξαμε ένα πλάνο, κράτησαν τις σημειώσεις τους όσο μιλάγαμε, ρώτησαν την τιμή μας, μας ευχαρίστησαν και αυτό ήταν. Τελικά καταλάβαμε πως ήθελαν να “πουλήσουν” αντίστοιχες υπηρεσίες και δεν ήξεραν να τις τιμολογήσουν (και πως να ήξεραν άλλωστε αφού δεν είχαν την τεχνογνωσία που ισχυρίζονταν;).

Λίγο πιο μετά, όταν ο καθένας και ο σκύλος του ήθελε να έχει portal (και vortal) πέρασα ένα interview από μεγάλη εταιρία. Δεν τα βρήκαμε τελικά στα λεφτά. Ένα μήνα μετά στο mailbox μου ήρθε ερώτημα από ένα εργαζόμενο της ίδιας εταιρίας ρωτώντας εάν θα μπορούσα να δώσω ιδέες για να στήσει ένα από τα υποσυστήματα που υποτίθεται πως θα έστηνα εγώ εάν έπαιρνα τη δουλειά. Εξήγησα ευγενικά γιατί δε θα μπορούσα να βοηθήσω. Νομίζω πως μήνες μετά πλήρωσαν τον Παναγιώτη να τους κάνει τη δουλειά.

Θα περίμενε λοιπόν κανείς να έχω μάθει το μάθημά μου. Κάποτε ένας φίλος μου ζήτησε να μιλήσω με τους IT-δες της εταιρίας που δούλευε. Υποτίθεται πως θα τους έλεγα τη γνώμη μου για το εάν και πως θα μπορούσαν να μειώσουν κόστη σε software licenses υιοθετώντας λύσεις open source. 2 ώρες μετά καταλήξαμε πως δεν θα μπορούσαν άμεσα να γλιτώσουν πολλά. Όσο για το χρόνο μου; Αρκεί να πω πως ο Gene Woolsey απλά δεν πληρώθηκε. Εγώ πλήρωσα και τα ταξί μου.

– Αφού δεν κάνεις πια consulting, γιατί τα γράφεις αυτά;

Για να τα θυμάμαι. Γιατί δεν παντρεύτηκα το Δημόσιο και μπορεί να τα ξανακάνω. Για να θυμάμαι να μην με παρασύρει ο ενθουσιασμός μου, όταν δεν πρόκειται για πρόβλημα δικό μου, φίλου μου ή peer.

Γιατί ο χρόνος είναι πιο ακριβός από το χρήμα.

Μια ιστορία

Steinmetz‘ most gratifying moment may have occurred after his retirement. An emergency brought him back to GE’s Schenectady plant to troubleshoot a malfunctioning generator. For days, the hobbled genius pored over drawings with paper and pencil in hand. Finally, he placed a chalk mark on the side of the generator, instructing the repairmen to cut through the casing and remove a number of turns from the stator. It worked.

When asked to submit an invoice, Steinmetz delivered a slip of paper with nothing on it but the surprisingly large figure of $10,000. The accountants, in shock, said they couldn’t process the paperwork without a more detailed breakdown. Steinmetz then forwarded another note on which was typed:

One chalk mark $1. Knowing where to put it $9,999.

A short time later, Steinmetz received his pay in full.”Chalk one up for math


[*] – Δεν είναι ανάγκη να δώσετε $15 για να διαβάσετε το άρθρο του Woolsey. Εάν παρόλαυτά θέλετε να δώσετε $15, έχουν περισσότερο ενδιαφέρον αυτά που γράφει στο “Working for Free So You Can Work for Money So You Can Work for Free Again“: Έχει νόημα να παρέχεις δωρεάν συμβουλευτικές υπηρεσίες, αρκεί να μπορείς να τις χρησιμοποιήσεις για να διαφημιστείς.

USENIX to make all its conference proceedings freely available

“Effective immediately, all USENIX proceedings and papers will be freely available on the USENIX web site as soon as they are published [link]. (Previously, most of the organization’s proceedings required a member login for access for the first year after their publication.)

For years, many authors have made their papers available on their own web sites, but the practice is haphazard, non-archivial, and, remarkably, actively discouraged by the restrictive copyright policies of many journals and conferences. So USENIX’s step is important both substantively and symbolicly. It reinforces why scientific papers are published in the first place: not as a proprietary revenue source, but to advance the state of the art for the benefit of society as a whole.”

[via]

ΚΑΜΠΑΝΙΑ ΠΡΟΩΘΗΣΗΣ ΤΟΥ ΕΛΕΥΘΕΡΟΥ ΛΟΓΙΣΜΙΚΟΥ

Έφτασε στο INBOX μου:

ellak.jpg ΚΑΜΠΑΝΙΑ ΠΡΟΩΘΗΣΗΣ ΤΟΥ ΕΛΕΥΘΕΡΟΥ ΛΟΓΙΣΜΙΚΟΥ

Αναλάβαμε την πρωτοβουλία να ξεκινήσουμε αυτή την καμπάνια για να συμβάλουμε στην προώθηση του Ελεύθερου Λογισμικού γιατί πιστεύουμε ότι η ευρύτερη χρήση των ελεύθερα διαθέσιμων εφαρμογών ωφελεί όλους μας και συμβάλει στην τοπική ανάπτυξη.

* Διαδώστε το ελεύθερο λογισμικό! Επισκεφτείτε το http://mathe.ellak.gr/ για να προωθήσετε το ενημερωτικό email.

* Δείτε τα banner – http://mathe.ellak.gr/?page_id=3 της ενημερωτικής εκστρατείας, τα οποία μπορείτε να χρησιμοποιήσετε σε ιστότοπους και blogs.

[via open-source]

Κύκλοι…

Πριν ~2 μήνες ο Stazybo Horn σχολιάζοντας μου θύμισε δύο άρθρα. Αντιγράφω από το ένα από αυτά:

“Ιt is all about programming! Over the last few years we have noticed worrisome trends in CS education. The following represents a summary of those trends:

  1. Mathematics requirements in CS programs are shrinking.
  2. The development of programming skills in several languages is giving way to cookbook approaches using large libraries and special-purpose packages.
  3. The resulting set of skills is insufficient for today’s software industry (in particular for safety and security purposes) and, unfortunately, matches well what the outsourcing industry can offer. We are training easily replaceable professionals.

These trends are visible in the latest curriculum recommendations from the Association for Computing Machinery (ACM). Curriculum 2005 does not mention mathematical prerequisites at all, and it mentions only one course in the theory of programming languages.”

Με δεδομένη τη σχέση των Dewar και Schonberg (αυτοί έγραψαν τις παραπάνω γραμμές) με την AdaCore, πολλοί θεώρησαν το κείμενό τους περισσότερο ως πολεμική του “στρατοπέδου”o της Ada εναντίον της Java συνολικά και όχι ως πρώτης γλώσσας εισαγωγής στον προγραμματισμό. Είναι όμως έτσι;

Θυμόμουν πως αντίστοιχα σχόλια είχα ξαναδιαβάσει+. Μετά από ένα μήνα περίπου έτυχε και (ξανα)ξεφύλλιζα το “Anatomy of Lisp“. Το άνοιξα γιατί θυμήθηκα πως το είχα ξεφυλλίσει (πρόχειρα) και ~15 χρόνια πριν στο ΕΜΠ. Αντιγράφω τις πρώτες γραμμές από τον πρόλογο:

“… it is important not to lose sight of the fact that there is a difference between training and education. If computer science is a fundamental discipline, then university education in this field should emphasize enduring fundamental principles rather than transient current technology”.

Peter Wegner, Three Computer Cultures* [Weg 70]

[…] The author has long felt that the beginning student of computer science has been getting a distorted and disjoined picture of the field. In some ways this confusion is natural; the field has been growing at such a rapid rate that few are prepared to be judged experts in all areas of the discipline. The current alternative seems to be to give a few introductory courses in programming and machine organization followed by relatively specialized courses in more technical areas. The difficulty with this approach is that much of the technical material never gets related. The student’s perspective and motivation suffer in the process.”

Α ναι, το “Anatomy of Lisp” εκδόθηκε το 1978. Έχουν περάσει 30+ χρόνια και τα προβλήματα είναι ακριβώς τα ίδια.



[o] – Της υποτειθέμενης δηλαδή εικόνας πικραμένων τύπων που “έχουν δει το Φως” (Ada), κυρήττουν το λόγο Του και όμως ο κόσμος δεν τους καταλαβαίνει.
[+] – Όχι στοχοποίησης κάποιας γλώσσας, αλλά σχετικά με την ποιότητα των σπουδών των computer scientists.
[*] – Computer Technology, Computer Mathematics and Computer Science

5 Rules of Data Normalization poster

5nf.jpg Χρειάζεστε ένα γρήγορο ξεσκόνισμα στις κανονικές μορφές; Αυτό το poster από το 1989 είναι αρκετά βολικό. Και μια και το έφερε η κουβέντα, εάν σας περισσεύουν $10, ορίστε τι έχει να πει ο C.J. Date για την πρώτη κανονική μορφή (1NF): What First Normal Form Really Means.

2007 ACM Turing Award

O Ιωσήφ Σηφάκης, αν δε κάνω λάθος, είναι ο πρώτος Έλληνας στον οποίο απονέμεται βραβείο Turing (θα μπορούσαμε να πούμε το αντίστοιχο του Nobel Prize για τους Πληροφορικούς). Από την ανακοίνωση της ACM:

“ACM, the Association for Computing Machinery, has named Edmund M. Clarke, E. Allen Emerson, and Joseph Sifakis the winners of the 2007 A.M. Turing Award, widely considered the most prestigious award in computing, for their original and continuing research in a quality assurance process known as Model Checking. Their innovations transformed this approach from a theoretical technique to a highly effective verification technology that enables computer hardware and software engineers to find errors efficiently in complex system designs. This transformation has resulted in increased assurance that the systems perform as intended by the designers.”

Ένα πρόσφατο και εξαιρετικό άρθρο του κ. Σηφάκη μπορεί να βρει κανείς στο IEEE/Computer: The Discipline of Embedded Systems Design (mirror εδώ).

Microsoft offers to buy Yahoo for $44.6 billion

Η είδηση “γεμίζει” το Hacker News: Η Microsoft θέλει να αγοράσει το Yahoo!

Είναι ώρα να κάνω επανάλληψη στο “The Nature of the Firm“:

“[…] why, if by organizing one can eliminate certain costs and in fact reduce the cost of production, are there any market transactions at all? Why is not ah all production carried on by one big firm? “

Υ.Γ. Μη ξεχνάμε, billion = 109 και όχι 1012

Update (2008/05/04): Microsoft withdraws its proposal.

1o Συνέδριο Κοινοτήτων Ελεύθερου / Ανοικτού Λογισμικού (ΕΛΛΑΚ)

Από το http://www.fosscomm.gr/

fosscomm-1_banner_6.jpg
“Έχουμε τη χαρά να σας προσκαλέσουμε στο 1ο Συνέδριο Κοινοτήτων ΕΛΛΑΚ (Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα) που θα διεξαχθεί στις 21 και 22 Μαρτίου του 2008, στο Εθνικό Μετσόβιο Πολυτεχνείο, στην Αθήνα.”

(read more)

Από ότι βλέπω συμμετοχή έχουν δηλώσει μέχρι στιγμής:

* Κοινότητα Ελεύθερου Λογισμικού ΕΜΠ
* Ελληνική κοινότητα Debian
* Ομάδα Χρηστών Linux Ιωαννίνων (I.L.U.G.)
* Ελληνική Διανομή της έκδοσης Slackel
* Ενωση Χρηστών και Φίλων Λίνουξ Ελλάδος (Hel.L.U.G)
* Ελληνική κοινότητα Drupal (Νεκτάριος Συλλιγαρδάκης)
* Τμήμα Πληροφορικής, Νέων Τεχνολογιών και Διαδικτύου ΠΑΣΟΚ (Αθανάσιος Πρίφτης)
* Eλληνικό openoffice.org (Δημήτρης Κορμπέτης)
* Ελληνική κοινότητα υποστήριξης του Joomla (Γιώργος Φάκας)
* JBoss/Redhat / Java Hellenic User Group (Δημήτρης Ανδρεάδης)
* Εργαστήριο HEP – NTUA (Φώτης Γεωργάτος)

Καταληκτική ημερομηνία δήλωσης συμμετοχής είναι η 18η Φεβρουαρίου 2008

[via]