|
dotNETZone.gr Weblogs
-
A very interesting announcement from Yahoo, aligned with the Web 2.0 direction of Web becoming also an application platform The new Yahoo Pipes allows users to combine data from multiple sources, for example to aggregate several feeds. Yahoo Pipes provides a graphical programming environment, where users can drag and drop data sources and processes to an output which can be text, RSS, SMS alerts or JSON. Data sources can be feeds, user input or other Pipes. Users can share modules that they create, or clone the modules created by other users. Some of the implications of Yahoo Pipes include letting users filter out unwanted content from feeds including advertising, and allowing content to be formatted differently from how it is published. Yahoo has included information for publishers on how to block Yahoo Pipes from accessing their feeds. You can find more details here: http://pipes.yahoo.com You can read more on the subject in a recent article on how popular social networking sites start to provide API so third-party...
|
-
Very interesting video from Davos - World Economic Forum on impact of Web 2.0 technologies and practices With a bunch of good speakers, too Caterina Fake, Founder, Flickr, USA Bill Gates, Chairman, Microsoft Corporation, USA Chad Hurley, Co-Founder and Chief Executive Officer, YouTube, USA Mark G. Parker, President and Chief Executive Officer, Nike, USA Viviane Reding, Commissioner, Information Society and Media, European Commission, Brussels http://gaia.world-television.com/wef/worldeconomicforum_annualmeeting2007/default.aspx?sn=19781&lang=en...
|
-
Η λίστα των third party tools και controls ολοένα και αυξάνει μετά την κυκλοφορία των Vista http://blogs.msdn.com/mswanson/articles/WPFToolsAndControls.aspx...
|
-
O Y fixed point combinator είναι ένα από τα πιο περίεργα και γοητευτικά "αντικείμενα" που έχω συναντήσει σε αυτό που ονομάζουμε "Computer Science". Γενικά ο Y combinator χρησιμοποιείται για να ορίσουμε recursive anonymous functions. Πρόσφατα, εντόπισα ένα πολύ καλο άρθρο από τον Wes Dyer για το πως μπορούμε να οδηγηθούμε και να καταλάβουμε το γιατι υπάρχει και το πώς δουλεύει. Ο Wes Dyer είναι developer στον compiler της C# και μέσα από το blog του παρουσιάζει τις νέες functional δυνατότητες της C# 3.0. Πρίν από κάποια χρονια είχα εντοπίσει μια διαφορετική υλοποίηση που με είχε προβληματίσει αρκετά... Ο κώδικας που είχα βρει: static Func<A, R> Fix<A, R>(Func<Func<A, R>, Func<A, R>> f) { Func<A, R> g = null ; Func<A, R> g = a => f(g)(a); return g; } Πρόσφατα, επικοινώνησα μαζί του για να ακούσω την άποψή του και για να μου σχολιάσει τις διαφορες αναμεσα στις δύο υλοποιήσεις. Η απάντησή του έχει αρκετό ενδιαφέρον και με κάλυψε απόλυτα. Παραθέτω ένα κομμάτι από το κείμενο...
|
-
Ανακοινώθηκε επιτέλους το πολύ-αναμενόμενο παράδειγμα SaaS εφαρμογής από την Microsoft . Πρόκειται για μια εφαρμογή διαχείρισης προσωπικού προφανώς με περιορισμένη λειτουργικότητα, δίνοντας όμως σημασία στην υλοποίηση και την αρχιτεκτονική με βάση τα whiteparers ( #1 και #2 ) που είχαν νωρίτερα δημοσιευθεί από την αντίστοιχη ομάδα αρχιτεκτόνων. Σχεδιασμένη από την αρχή σαν single instance multi tenant solution, δείχνει στην πράξη πως μπορούν να χρησιμοποιηθούν οι τεχνολογίες της Microsoft για να υλοποιηθούν τέτοιου είδους υπηρεσίες και εφαρμογές. Για κώδικα και documentation : http://msdn.microsoft.com/architecture/saas/sampleApp Community site και forums : http://www.codeplex.com/litwareHR Εξτρα καλούδια, πως φτιάχθηκε κλπ : http://www.skyscrapr.net/architects-in-action.aspx Demo Walkthrough: http://files.skyscrapr.net/users/saas/sampleApp/Videos/LitwareDemo.wmv Architecture Webcast: http://files.skyscrapr.net/users/saas/sampleApp/Videos/LitwareArchitecture.wmv Και φυσικά τα all times classic blogs του Gianpaolo...
|
-
Στο dotNETZone.gr είχαμε μια ενδιαφέρουσα συζήτηση γύρω από ένα θέμα που προκύπτει με το databinding όταν χρησιμοποιούμε το INotifyPropertyChanged και σηκώνουμε το PropertyChanged event. Σκέφτηκα λοιπόν να παραθέσω το θέμα εδώ για όποιον συνάδελφο ενδιαφέρεται. Το σενάριο (+ backgrounder): Εχουμε ένα custom business object το οποίο έχει κάποια properties. Θέλουμε να "δέσουμε" αυτά τα properties με simple binding σε αντίστοιχα controls (π.χ. labels) μιας φόρμας, έτσι ώστε όταν αλλάζει κάποιο property να ενημερώνονται οι τιμές των controls της φόρμας χωρίς άλλες διαδικασίες. Εύκολα, γρήγορα, και απλά. Για να το κάνουμε αυτό, εκτός από το γνωστό μακρινάρι: MyLabel.Databindings.Add ("Text", myObjectInstance, "ΜyObjectProperty") για κάθε property MyObject Property του MyInstance που θέλουμε να "δέσουμε" σε κάποιο Text property ενός label οπως το MyLabel, θα πρέπει να υλοποιήσουμε στο Business Object (έστω myObject) το interface INotifyPropertyChanged. Ετσι, κάθε αλλαγή property θα σηκώνει ένα PropertyChanged event...
|
-
Πολλές φορές χρειάζεται να σπάσουμε την κανονικοποίηση ενός πίνακα και να συμπεριλάβουμε computed columns . H θεωρία λέει ότι η τιμή κάθε computed column υπολογίζεται on - the - fly κάθε φορά που το χρησιμοποιεί κάποιο query και στη βάση δεν αποθηκεύεται τίποτα, έχουμε δηλαδή ένα virtual πεδίο. Όταν όμως η φόρμουλα του computed column είναι περίπλοκη (πχ μπορεί να περιέχει CASE ) τότε ενδεχομένως να θέλαμε να αφαιρέσουμε λίγο φορτίο από τη CPU σε βάρος λίγου (ή πολύ) χώρου στο δίσκο ο οποίος θα μπορούσε να φιλοξενεί τις υπολογισμένες τιμές του πεδίου. M ια τεχνική που χρησιμοποιούσαμε μέχρι σήμερα για να κάνουμε persist τις computed τιμές, ήταν να βάζουμε index πάνω στο computed πεδίο ώστε να έχουμε έτοιμες τις τιμές που θέλουμε να διαβάσουμε. Το πρόβλημα είναι ότι η συντήρηση του index έχει overhead γιατί το index δεν είναι και τόσο κατάλληλο γι αυτή τη δουλειά. Ένα UPDATE στα πεδία που απαρτίζουν το computed column ενδέχεται να έχει ως αποτέλεσμα πολύ περισσότερα write ops απ' όσα χρειάζονται για ένα αντίστοιχο...
|
-
Τελικά φαίνεται ότι η δυνατότητα να δημιουργήσεις το δικό σου περιεχόμενο είναι αυτό που κάνει τη διαφορά, και δε μιλάω μόνο για το Internet, τα social media και όλα αυτά τα "βαρειά". Νομίζω ότι ακόμη και απλά πράγματα όπως ένα παιχνίδι μπορεί να αλλάξει τελείως αρκεί να σου δίνει τη δυνατότητα να το αλλάζεις, να καθορίζεις εσύ πως θέλεις να το παίξεις κάθε φορά. Μόλις γύρισα από την designertopia , ένα event που διοργάνωσε η Microsoft για τους απανταχού designers με την ευκαιρία της διάθεσης των νέων προϊόντων της σειράς Expression - περισσότερα και πολύ ενδιαφέροντα για το event σε επόμενο post - και πέρασα για πρώτη φορά από το Hamley's , ένα από τα παλαιότερα παιχνιδάδικα του κόσμου (από το 1760) όπου μπορείς άνετα να χαθείς, χαζεύοντας για αρκετές ώρες απίθανα και πρωτότυπα παιχνίδια στους 6 ορόφους του. Εκεί λοιπόν σ'ένα πάγκο υπήρχε ένας τύπος που έκανε demo ένα παιχνίδι, που χωρίς να κοστίζει ακριβά, πρόσφερε αυτό ακριβώς που σας έλεγα στην αρχή: Τη δυνατότητα να αλλάζεις κάθε φορά το παιχνίδι, τους κανόνες...
|
-
Εδώ και καιρό, παρ'ότι έχω εγκαταστήσει τον ΙΕ7 στο σύστημά μου, χρησιμοποιούσα τον Maxthon λόγω των περισσότερων ευκολιών που μου προσέφερε. Ουσιαστικά, βέβαια, χρησιμοποιούσα τον IE7 ούτως η άλλως, μια και ο Maxthon είναι απλά ένα shell για τον IE, χρησιμοποιεί δηλαδή τη μηχανή του IE. Ομως, ο Maxthon μου προσέφερε (από τότε που ο IE ήταν στην έκδοση 6) τα εξής: Tabbed browsing, mouse gestures, super drag & drop (σέρνεις ένα link σε μια κενή περιοχή της σελίδας και αυτό ανοίγει σε νέο tab). Σήμερα ανακάλυψα ένα πανέμορφο plugin για τον IE7 που του προσφέρει όλα αυτά που με έκαναν να προτιμώ (παλιότερα) τον Maxthon. Το όνομα αυτού IE7Pro. Τι κάνει αυτό; - Mouse gestures : Για παράδειγμα, σέρνοντας το ποντίκι με πατημένο το πλήκτρο κάτω και δεξιά κλείνει το current tab. Σέρνοντας το ποντίκι προς τα αριστερά κάνετε back στη σελίδα, και πολλά άλλα. - Super drag & drop : Σερνετε ένα link σε ένα κενό χώρο στη σελίδα και αυτό ανοίγει σε νέο tab. Φανταστείτε τώρα εμένα, ο οποίος πολλές φορές θέλω να ανοίξω τα...
|
-
Μου αρέσει αρκετά το coding με την Ruby... Μέχρι τώρα ο ruby code editor που χρησιμοποιούσα ήταν το notepad++ ή το Ultraedit. Καλό το notepad++, αλλά όταν δουλεύεις για αρκετά χρόνια και καθημερινά με το Visual Studio, αρχίζεις και αποκτάς εξαρτήσεις... Σήμερα ανακάλυψα το Ruby in steel και ένα χαμόγελο έλαμψε στο πρόσωπό μου!!!...
|
-
Είχα εδώ και 2.5 χρόνια σχεδόν ένα server στην ThePlanet.com η οποία ισχυρίζεται οτι είναι η καλύτερη στον χώρο κλπ κλπ. Στην διάρκεια των 2.5 χρόνων καμια 5-6 φορές, απο αμέλεια μου, έτυχε η πιστωτική κάρτα να είχε φτάσει στο όριο της και να μην μπορούσε να γίνει χρέωση του ποσού που έπρεπε να εισπραχθεί. Τον Ιανουάριο, έγινε ξανά το ίδιο (έληξε η κάρτα) με αποτέλεσμα να περιμένω την καινούργια κάρτα απο την τράπεζα για να μπορέσω να κάνω την χρεώση.Εν τω μεταξύ ήρθε το κλασικό εμαιλ που προδειδοποιύσε ότι δεν μπορούσε να γίνει η χρέωση χωρίς όμως να λέει τον λόγο.Δεν το φαντάστηκα κι εγω, θεώρησα ότι θα είναι πάλι ξεχασμένη στο όριο της και ειδοποιώ το accounting ότι θα πληρωθεί για να γίνει η χρεώση.Διαπιστώνω λοιπόν μετά απο 4 εργάσιμες μέρες (5 μέρες σου δίνουν πριν κάνουν disconnect για να πληρώσεις) τι έχει γίνει, τους λέω ότι θα το πληρώσω κι ας το αφήσουνε ανοιχτό. Έπρεπε να πληρωθεί την Δευτέρα, καθυστέρησε απο την τράπεζα η κάρτα ήρθε σήμερα και προσπαθώ να κάνω Login στο support site τους για να περάσω...
|
-
Εξερευνήστε μαζί μας τον μαγικό κόσμο των ανύπαρκτων προδιαγραφών. Δείτε πώς μπορείτε να αναγνωρίσετε την απόλυτη αποτυχία (όταν πλέον είναι πολύ αργά) και ταξιδέψτε νοερά στον μαγικό κόσμο του επιφωνήματος "ΑΡΓΚ!" οταν ο πελάτης ανοίξει το στοματάκι του λίγο πριν την ολοκλήρωση του έργου για το οποίο (νομίζατε οτι) είχατε πληρεις προδιαγραφές......
|
-
Το είδα αναδημοσιευμένο από πολύ κόσμο αλλά δεν αντέχω να μη το βάλω κι εδώ. Πρόκειται για τον απόλυτο ορισμό της συν-δημιουργίας και τι μπορεί να κάνει το Internet και τα νέα μέσα για να μας βοηθήσουν. Κάποιος ξεκινά το τραγούδι με μια φωνή και κιθάρα, ένας άλλος έρχεται στο δρόμο και βάζει τα κρουστά, κι ένας τρίτος συμπληρώνει τους ήχους με άλλα όργανα κάνοντας την ενορχήστρωση ακόμη πιο πλούσια. Για φαντάσου να είχαμε και άλλες εναλλακτικές ενορχηστρώσεις και να αποφασίζαμε εμείς πως θα το ακούσουμε. Ποια έκδοση του τραγουδιού μας αρέσει πιο πολύ, η χαρούμενη ή η λυπημένη. Ακόμη κι εμείς σαν ακροατές μπορούμε να συμμετάσχουμε στη δημιουργία του. Πως ήταν εκείνες οι ταινίες που οι θεατές αποφασίζαν πως θα τελειώνανε. Ενα τέτοιο πράγμα, μόνο που τώρα μπορούμε να παίξουμε κι εμείς στην ταινία αν θέλουμε. Δείτε όλη την ιστορία εδώ ....
|
-
Έχω προσέξει τελευταία ότι η ερώτηση που απαντάω πιο συχνά στο dotnetzone ή στη δουλειά είναι "Τί χρειάζεται για να περάσω ελληνική ηµεροµηνία/αριθµό στον Sql Server/στο .NET/στη VB6 ?" ή η παραλλαγή της "O Sql Server είναι στα αγγλικά και το PC στα ελληνικά. Τί να κάνω?". Και το επιστέγασµα όλων "Έγραψα ελληνικά στον Sql Server και τώρα µου γυρίζει ερωτηµατικά. Τί πρέπει να κάνω?". Και η απάντηση σε όλα τα παραπάνω είναι ΤΙΠΟΤΑ! Σε όλες τις περιπτώσεις τα προβλήµατα εµφανίστηκαν επειδή κάποιος έκανε κάποιο λάθος προσπαθώντας να "διορθώσει" τη συµπεριφορά του Sql Server ή της VB6 ή του .NET. Ας πάρουµε τα πράγµατα µε τη σειρά ξεκινώντας µε την ευκολότερη ερώτηση: Πως αποθηκεύουµε ελληνικά/ινδικά/φαρσί σε αγγλικό/νιγηριανό/ρωσικό Server? Απλά αποθηκεύοντας σε πεδία nchar/nvarchar/ntext. Τα πεδία αυτά είναι φτιαγµένα για να αποθηκεύουν strings σε Unicode. Εντωµεταξύ, η VB6 και φυσικά το .NET χρησιµοποιούν Unicode για όλα τα strings τους οπότε δεν υπάρχει κανένα πρόβληµα µετατροπής µεταξύ VB6 ή .NET και Sql Server....
|
-
Ήταν θέμα χρόνου. Το λέγαμε, έχει όλη την υποδομή έτοιμη ώστε μόλις οι ταχύτητες και η ζήτηση το επιτρέψουν θα γυρίσει στην παροχή Οn Demand Video. Ηρθε μάλλον νωρίτερα από ότι κι αυτοί υπολόγιζαν. Το Netflix ξεκινά την παροχή streamed television shows και ταινιών. Στην αρχή η υπηρεσία αυτή θα είναι διαθέσιμη σε ένα μέρος των 6.000.000 συνδρομητών του, αλλά σε ένα διάστημα 6 μηνών σταδιακά θα τη δώσει σε όλους. Περισσότερες λεπτομέρειες εδώ και εδώ και για demo video εδώ ....
|
-
Σε προηγούμενο post Efficient schema changes είχα αναφέρει το πόσο χρονοβόρα μπορεί να γίνει μια διαδικασία αλλαγής του schema ενός πίνακα, όταν αυτός είναι γεμάτος data. Ας δούμε μια περίπτωση. Το σενάριο είναι το εξής: Έχουμε έναν πίνακα με ένα πεδίο σταθερού μεγέθους το οποίο θέλουμε να μειώσουμε ώστε να χωρέσουν περισσότερες εγγραφές στα data και index pages. Εκ πρώτης όψεως δεν φαίνεται δύσκολο κάτι τέτοιο. Μπορούμε να γράψουμε ένα ALTER TABLE … ALTER COLUMN … statement και να ξεμπερδέψουμε. Σπάνια όμως θα παίξει κάτι τέτοιο (δείτε στα Books On Line τους περιορισμούς). Και αν παίξει, αυτό που θα γίνει θα είναι να κλειδώσει ολόκληρο τον πίνακα όσο γίνεται η διαδικασία, όπερ σημαίνει ότι ως λύση δεν είναι και τόσο ελκυστική. Εναλλακτικά, μπορεί να γίνει αυτό που κάνει το Management Studio/Enterprise Manager όταν κάνουμε αυτή τη δουλειά μέσω του UI. Δημιουργία ενός νέου temp πίνακα με το νέο schema, μετά INSERT INTO από τον παλιό στο νέο, drop του παλιού, rename του νέου με το παλιό όνομα. Ρίξτε μια ματιά στο...
|
-
Ενα ενδιαφέρον post για το πόσο ανάλογη είναι η επιτυχία της EasyJet με πρωτότυπες τεχνολογικές πρωτοποριακές ιδέες όπως το Skype . Και στις δύο περιπτώσεις το μυστικό είναι : - Σωστή μελέτη και πρόβλεψη της αγοράς, και - Κατάλληλες κινήσεις την κατάλληλη χρονική στιγμή Enjoy....
|
-
Πολλά και άκρως ενδιαφέροντα όσα ανακοινώνονται στην CES 2007. Μπορείτε να δείτε περισσότερα και εδώ : http://microsoftatces.com (Εχει και το keynote του Gates) Αλλά δεν αντέχω να μη σχολιάσω το νέο messenger της Yahoo, βασισμένο εξ ολοκλήρου σε W P F . Ρίξτε μια ματιά στο http://messenger.yahoo.com/windowsvista για να πάρετε μια ιδέα. Έχει και Video preview. 'Αντε, άντε να ξεκινάνε η μια μετά την άλλη οι χρωματιστές προσθήκες στο desktop μας. Α, μη το ξεχάσω, Καλή Χρονιά !...
|
-
Ο Ζαχαρίας έρχεται αντιμέτωπος με το πιό μισητό είδος στους software developers (μετά τον project manager): ΤΟΝ ΠΩΛΗΤΗ. Θα καταφέρει να βγεί νικητής από την αναμέτρηση, ή η εταιρία του θα υποκύψει στη γοητεία και τα παραπλανητικά λόγια του ταλαντούχου κ. Αεριτζίδη Κοπανιστόπουλου;...
|
-
Ειναι παλιό, αλλά μπορεί να μην το έχετε πάρει χαμπάρι ακόμα: Οι τύποι στο www.connectionstrings.com έχουν συγκεντρώσει μια τεράστια συλλογή από πρότυπα connection strings για κάθε είδους database (και όχι μόνο). Την επόμενη φορά λοιπόν που θα έχετε απορία για το πώς πρέπει να συντάξετε το δικό σας connection string, ανατρέξτε εκεί και δεν υπάρχει περίπτωση να μην σας λυθεί....
|
-
Ο κύριος που θα βρείτε σε αυτή τη διεύθυνση: http://www.ilovejackdaniels.com/cheat-sheets/ έχει μαζέψει ένα πακέτο από cheat sheets που είναι σχεδιασμένα για να τα τυπώσετε σε μια Α4 σελιδούλα και να τα έχετε δίπλα σας για γρήγορη αναφορά. Μεταξύ αλλων περιλαμβάνονται τα εξής: HTML, CSS, ASP 3.0, Regular Expressions κλπ. Τα cheat sheets διατίθενται σε μορφή PDF και PNG. Επίσης μπορείτε να παρακολουθείτε αυτόν εδώ τον κύριο: http://john-sheehan.com/blog/index.php/net-cheat-sheets/ ο οποίος όχι μόνο παρακολουθεί τον απο πάνω κύριο αλλά μαζεύει και υλικό για cheat sheets από άλλες πηγές. Τελευταία του προσφορά ένα .NET String Format Quick Reference (σε μορφή PDF)...
|
-
Δεν χρειάζεται να πω παραπάνω. Είναι μια μηχανή social bookmarking η οποία εξειδικεύεται στο περιεχόμενο για .NET. Μπορείτε να τη δείτε στη διεύθυνση http://www.dotnetkicks.com , και αν εγγραφείτε έχετε και την προσωπική σας σελίδα. Ορίστε η δική μου: http://www.dotnetkicks.com/users/sotirisf Δυστυχώς οι δημιουργοί ήταν διστακτικοί στο να απαντήσουν θετικά στην ερώτηση που τους έκανα για δημοσίευση περιεχομένου σε γλώσσα άλλη πλην της Αγγλικής, με το επιχείρημα οτι η πλειοψηφία του κόσμου διαβάζει Αγγλικά. Παντως ακομα και έτσι παραμένει μια αξιόλογη υπηρεσία. Ειναι στα πρώτα της βήματα και καλό είναι να την γνωρίσει ο κόσμος γιατί φαίνεται οτι οι άνθρωποι έχουν όρεξη. Δινουν και κουμπάκι να βάζετε στις δημοσιεύσεις, καθώς και script για τα feeds τους....
|
-
Το βασικότερο βήμα κατά την εκτέλεση ενός query στον SQL Server είναι η δημιουργία του execution plan, δηλαδή ο καθορισμός του τρόπου που θα γίνουν access τα δεδομένα (χονδρικά, τι indexes θα χρησιμοποιηθούν και πως). Η δημιουργία του execution plan είναι μια περίπλοκη διαδικασία που υλοποιείται από το query engine λαμβάνοντας υπόψη διάφορους παράγοντες με έναν μηχανισμό που ονομάζεται cost-based query optimization. Ο query optimizer βελτιώνεται διαρκώς όχι μόνο από έκδοση σε έκδοση στον SQL Server αλλά ακόμη και από SP σε SP καθώς το development team του SQL Server έχει ειδικές συμφωνίες με μεγάλους πελάτες που παρέχουν πραγματικά δεδομένα και σχετικά traces για το πώς αυτά χρησιμοποιούνται. Ήδη από την έκδοση 2000 του SQL Server, ο query optimizer είναι πολύ αποτελεσματικός και σχεδόν πάντοτε προτείνει το βέλτιστο execution plan. Εντούτοις, πολλοί developers, για διάφορους λόγους, θεωρούν ότι πρέπει να υποχρεώσουν τον SQL Server να εκτελέσει κάποιο query με συγκεκριμένο τρόπο, επιβάλλοντας δηλαδή συγκεκριμένα...
|
-
Η 37signals είναι μια εταιρία που εδρεύει στο Chicago και είναι γενικότερα γνωστη ως οι δημιουργοί του Ruby On Rails web- app framework. Σήμερα εντόπισα ένα βιβλίο που έχουν γράψει με τον τίτλο Getting Real: The smarter, faster, easier way to build a successful web application . Προσωπικά με διασκέδασε και με προβλημάτισε... Το προτείνω στον Ζαχαρία για μελέτη και για νέες ιδέες......
|
-
Διαβάζοντας τις κυριακάτικες εφημερίδες μου βρήκα αυτό και μου άρεσε πολύ με κίτρινο είναι όσο αφορούν τον χώρο μας καλή ανάγνωση και Μηδένα προ του τέλους μακάριζε... Προβλέψεις που... δεν έγραψαν ιστορία Επιστήμονες, επιχειρηματίες, πολιτικοί, στρατιωτικοί που νόμισαν ότι είδαν το μέλλον, αλλά η πραγματικότητα τους διέψευσε οικτρά Του Πασχου Μανδραβελη από την εφημερίδα Καθημερινή της 24/12/2006 Ο μεγάλος φυσικός Νιλς Μπορ χαριτολόγησε κάποτε ότι «η πρόβλεψη είναι πολύ δύσκολο πράγμα. Ειδικά αν αφορά το μέλλον». Είχε δίκιο αν κοιτάξουμε την ιστορία, όχι μόνο της πολιτικής, αλλά και της οικονομίας, και κυρίως της τεχνολογίας. Υπάρχουν προβλέψεις που έμειναν θρυλικές για την ανοησία τους, ή έστω αυτό που με τη σημερινή γνώση θεωρούμε ανοησία. Τελικά, μάλλον είχε δίκιο ο κωμικός Τζος Μπίλινγκ, ο οποίος προέτρεπε: «Μην προβλέπεις. Αν η πρόβλεψή σου αποδειχθεί λάθος, κανείς δεν θα την ξεχάσει. Αν αποδειχθεί σωστή, κανείς δεν θα την θυμάται.» Το 1876 ο William Orton, πανίσχυρος πρόεδρος της τηλεγραφικής εταιρείας...
|
|
|
|