|
|
Πρόσφατες Δημοσιεύσεις
-
|
Ήταν θέμα χρόνου. Το λέγαμε, έχει όλη την υποδομή έτοιμη ώστε μόλις οι ταχύτητες και η ζήτηση το επιτρέψουν θα γυρίσει στην παροχή Ο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, πανίσχυρος πρόεδρος της τηλεγραφικής εταιρείας...
|
-
|
Την προηγούμενη εβδομάδα θέλησα να αγοράσω ένα καινούργιο wireless router και όπως είναι φυσικό το Internet έπαιξε το ρόλο του σ' αυτό. Τελικά δεν το αγόρασα από κάποιο e-commerce web site - γιατί έπρεπε να το έχω στα χέρια μου την ίδια ημέρα που το αποφάσισα, και δεν έχω βρει κάποιο με αυθημερόν παράδοση - αλλά πέρασα λίγη ώρα online διαβάζοντας και συγκρίνοντας τιμές και χαρακτηριστικά, αλλά και offline μέσα σε μαγαζιά προσπαθώντας να καταλάβω τι χρειάζομαι. Έβγαλα λοιπόν κάποια συμπεράσματα, είπα να τα γράψω εδώ, και φυσικά θα με ενδιέφεραν δικές σας εμπειρίες και σκέψεις για το θέμα. Έτσι: Θεωρώ αδιανόητο κάποιος να αγοράσει το οτιδήποτε χωρίς να έχει χρησιμοποιήσει το Internet για να καταλάβει τι υπάρχει εκεί έξω και ποιες είναι οι επιλογές του. Στην αντίθετη περίπτωση απλά θα δει ότι έτυχε να υπάρχει σε κάποιο κατάστημα την στιγμή που πήγε, και - στις περισσότερες περιπτώσεις - με ένα πωλητή πάνω από το κεφάλι του να του εξηγεί γιατί αυτό είναι η καλύτερη επιλογή του. Τα επίσημα sites των κατασκευαστών είναι...
|
-
|
Εύχομαι σε όλο το community, Καλά Χριστούγεννα και να έχουμε ένα ευτυχισμένο και δημιουργικό 2007!!! Κλείνοντας, είπα να στολίσω το blog μου με τα ανάλογα δεντράκια μιας και οι μέρες το ζητούν. class Program { static int GetIndexFromRule( char first, char second, char third) { if (first == ' ' && second == ' ' && third == ' ') return 0; else if (first == ' ' && second == ' ' && third == ' * ') return 1; else if (first == ' ' && second == ' * ' && third == ' ') return 2; else if (first == ' ' && second == ' * ' && third == ' * ') return 3; else if (first == ' * ' && second == ' ' && third == ' ') return 4; else if (first == ' * ' && second == ' ' && third == ' * ') return 5; else if (first == ' * ' && second == ' * ' && third == ' ') return 6; else //if (first == '*' && second == '*' && third == '*') return 7; } static IEnumerable< string > ExecuteRule( string rule, int times) {...
|
-
|
Σήμερα έδωσα το exam 70-431 καθώς χρειάζεται να κάνω upgrade το MCDBA certification μου. Γενικά δεν ήταν δύσκολο, ωστόσο αφορμή για αυτό το post ήταν μια ερώτηση που μου έκανε εντύπωση. Έλεγε ότι υπάρχει ένας πίνακας με προϊόντα και θέλουμε να προσθέσουμε ένα νέο πεδίο. Ποιος είναι ο ποιο efficient τρόπος για να γίνει αυτό; Και είχε τέσσερις διαφορετικές λύσεις. Αυτό που σκέφτηκα αμέσως είναι ότι αυτή η ερώτηση είναι ασαφής γιατί δεν προσδιορίζει τι μέγεθος έχει ο πίνακας. Αν έχει για παράδειγμα 1.000, 10.000 ή 1.000.000 εγγραφές. Πέρυσι είχα αναλάβει ένα performance tuning για έναν SQL Server που είχε έναν αντίστοιχο πίνακα με προϊόντα μόνο που είχε μερικά εκατομμύρια εγγραφές. Σε τέτοιες περιπτώσεις τα queries που δοκιμάζεις στον πίνακα θέλουν προσοχή γιατί αργούν να ολοκληρωθούν. Μια αλλαγή στα indexes απαιτεί και αυτή αρκετή ώρα για να ολοκληρωθεί. Γι αυτόν τον λόγο πρέπει όλα να γίνονται προσεκτικά ώστε να μην χάνεται τσάμπα χρόνος. Το ίδιο ισχύει και όταν συμβαίνουν αλλαγές στο schema. Για παράδειγμα, μπορεί...
|
-
|
Ρίξτε μια ματιά στο ανανεωμένο web site της Microsoft για ότι έχει σχέση με το Software as a Service http://www.microsoft.com/serviceproviders/saas/default.mspx Δεν πρόλαβα να το δω σε λεπτομέρεια, αλλά φαίνεται να δίνει αρκετά στοιχεία και πληροφορίες για το πως βλέπει η Microsoft το SaaS, εργαλεία, τεχνολογίες και προϊόντα για υλοποίηση SaaS λύσεων, προγράμματα προώθησης όπως το SaaS on Ramp για να ξεκινήσει κάποιος να παρέχει υπηρεσίες SaaS, ενώ τέλος στο ίδιο site θα δημοσιεύονται επιτυχημένες ιστορίες και πρακτικές από όλο τον κόσμο....
|
-
|
Πολύ συζήτηση αυτές τις μέρες για την απόφαση της Google να κόψει την πρόσβαση στις υπηρεσίες της μέσω του SOAP API. Αντί αυτού παρέχει ένα λιγότερο ευέλικτο AJAX API ικανοποιητικού για χρήση σε web sites κλπ. αλλά όχι προς την κατεύθυνση της χρήσης του web σαν πλατφόρμα παροχής και integration υπηρεσιών. Είναι φανερό ότι το business model του Web 2.0 δεν έχει ακόμη ξεκαθαρίσει. Παρόλα τα φωτεινά παραδείγματα όπως του amazon.com Δείτε περισσότερα εδώ : http://radar.oreilly.com/archives/2006/12/google_depreciates_SOAP_API.html...
|
-
|
Μια που όλο και περισσότερος κόσμος αρχίζει να παίζει μαζί του ... προτάσεις από τον ειδικό για το πως να στήσεις το ιδανικό WPF development PC. http://blogs.msdn.com/tims/archive/2006/12/20/building-a-perfect-wpf-developer-workstation.aspx...
|
-
|
Assume that you want to write the contents of a dataset to xml, in order to send that data via e-mail or any other means. Have you noticed how verbose xml files are? However, if you try to compress one, you will notice that size of the compressed file is only a small fragment of the original! Just for testing, I compressed an 200MB XML file into a zip file, to see that the resulting file was 9MB only! So, is it possible to write the contents of a dataset into an xml but include that xml directly into a zip file, Διαβάστε περισσότερα »...
|
-
|
Visual Studio SP1 Beta Uninstallation...
|
-
|
Imagine a form. A VB6 form. The form has a couple dozen controls. It also has a couple dozen methods. Each method has a couple hundred lines of code (net, no comments). Each method may call a half dozen ot h er methods, except some thousand-liners that call almost half of all the methods. And there is no centralized error handling. Nothing. Nada. Zip. In fact, there is no real error handling code at all. Each method returns either an exit code or a default value. Their callers have to check the return codes or guess whether the default return value is a normal value or the result of an error. Some may even return error messages instead of codes. And while the programmers were generally quite diligent in checking the result codes, some error conditions inevitably go unnoticed. Until a customer notices them, that is. Now, the methods do log the errors before returning the error codes. Only, they don't all do it the same way. Some log their names and the error description, others just a generic error message. Few...
|
-
|
Επεσα σήμερα επάνω σε αυτό το πολύ εκτενές document που έχει δημοσιεύσει η Microsoft και διαθέτει προς download, το οποίο περιγράφει αναλυτικά τη χρήση του νέου System.Transactions namespace. Ελπίζω να σας φανεί χρήσιμο. http://www.microsoft.com/downloads/details.aspx?familyid=AAC3D722-444C-4E27-8B2E-C6157ED16B15&displaylang=en...
|
-
|
Ε ναι λοιπον! Το www.triakilakodika.gr λειτουργεί! (Τι λειτουργεί δηλαδή, redirection κάνει στον πίνακα περιεχομένων του blog). Αλλα μια και το έκανα, να μην σας το πω; Κααααποια στιγμή (και αν είστε καλά παιδιά και μου στείλετε πολλά δώρα για τα Χριστούγεννα) μπορεί να βάλω και κάτι εκεί. Φεύγω τώρα γιατί έχω ένα deadline και αμα δεν το προλάβω θα καταλήξω εγώ σε flatline. Μαιρη; Κρίστμας! Το'ξερες; :)...
|
-
|
To My Web Pages Starter Kit είναι ένα δυναμικό και παραμετροποιήσιμο web site σε μορφή κώδικα , για όσους ενδιαφέρονται να αποκτήσουν εύκολα και γρήγορα ένα όμορφο προσωπικό web site αλλά και για όσους παράλληλα ενδιαφέρονται να ρίξουν μια ματιά στις τεχνολογίες που κρύβονται πίσω από τη δημιουργία ενός τέτοιου δικτυακού τόπου. Πρόκειται για ένα Starter Kit φτιαγμένο από την Microsoft βασισμένο σε σύγχρονες web τεχνολογίες ASP.NET 2.0, το οποίο δίνει τη δυνατότητα δημιουργίας και διαχείρισης ενός προσωπικού web site. Μέσα από απλές οθόνες διαχείρισης, ο χρήστης μπορεί να ορίσει τα χρώματα και την εμφάνιση του web site, να προσθέσει νέες σελίδες και να ορίσει νέες ενότητες περιεχομένου όπως π.χ. βιβλιοθήκη φωτογραφιών, λίστα νέων και άλλα. Το βασικό πλεονέκτημα του συγκεκριμένου Starter Kit όμως είναι ότι περιέχει και τον πλήρη κώδικα υλοποίησης του web site, έτσι ώστε κάποιος να μπορεί να πειραματιστεί με σύγχρονες web τεχνολογίες, αποτελώντας ταυτόχρονα και ένα χρήσιμο εργαλείο εκμάθησης. Γι’ αυτό το λόγο άλλωστε...
|
-
|
I have a blog post in mind. The title will be “The architecture that wasn’t”, or something along those lines. The subject, is a very popular architecture (a full system architecture, not just a description of the data access mechanism), which is widely used in Greece as well. Only thing is, it has some very strange characteristics: It has been successful for over a decade Whoever uses it in Greece, thinks he is the only one to do so. When they learn that others use it they go into shock. Most of the companies using it outside Greece tend to be quiet about it. It allows the creation of completely new applications in months (~6 months for complex enterprise level apps). People who don’t use it think it is impossible, even when they see the apps running before their eyes. People who do, can’t understand why the rest of the world doesn’t. After all, they can create new apps in months! Microsoft offers the tools for it almost for free. Next year, it will be almost totally free. And then, I think we should have a community...
|
-
|
Ένα νέο χαρακτηριστικό στον SQL Server 2005 είναι τα Schemas. To Schema είναι κάτι σαν το namespace στο .ΝΕΤ Framework. Κάθε database object δημιουργείται κάτω από ένα schema και το πλήρες reference στο object (το "fully qualified name" που λέμε) γίνεται χρησιμοποιώντας όνομα του τύπου server.database.schema.object (πχ SERVER01.AdventureWorks.Production.Product) Το παραπάνω μοιάζει με το fully qualified name που έχουμε στον SQL Server 7 & 2000 ωστόσο η ομοιότητα είναι μόνο οπτική. Στον 7 & 2000, το schema προσδιορίζεται από τον δημιουργό του object, υπάρχει δηλαδή άμεση συνάφεια μεταξύ user και schema. Στον 2005, τα schemas είναι ανεξάρτητα από τους users. Αυτή η οργάνωση έχει διάφορα πλεονεκτήματα όπως: Λιγότερα προβλήματα με τα object ownerships Απλουστευμένο μοντέλο security καθώς μπορούν να εκχωρηθούν δικαιώματα είτε σε schema level, είτε σε object level Ευκολότερη διαχείριση καθώς αν διαγραφεί ένας χρήστης δεν αφήνει ορφανά objects Διαδικασία Name Resolution Προκειμένου να καταλάβει ο SQL Server σε...
|
|
|
|