Sunday, March 18, 2007
Επιτέλους, μετά από χρόνια οπισθοδρόμησης, ένα εργαλείο προγραμματισμού για το web, που επιτρέπει στον προγραμματιστή να ασχοληθεί με την ουσία και όχι με το UI. H Borland (ή μάλλον καλύτερα η CodeGear) κυκλοφορεί στο τέλος του Μάρτη το Delphi for PHP.
Thursday, March 15, 2007
Περισσότερα προβλήματα στρογγυλοποίησης
Μικρή, πρόχειρη σημείωση, μετά από ένα κουραστικό πρωινό γεμάτο αναφορές προβλημάτων για διαφορές ενός εκατοστού του Ευρώ ή ενός χιλιοστού του κυβικού μέτρου μεταξύ διαφορετικών εντύπων:
1. Πάντα να χρησιμοποιείς μια ρουτίνα στρογγυλοποίησης που να είσαι απόλυτα ξεκάθαρος για το πως λειτουργεί.
2. Να την χρησιμοποιείς για να στρογγυλοποιείς όλα, ανεξαιρέτως, τα ενδιάμεσα αποτελέσματα των υπολογισμών.
1. Πάντα να χρησιμοποιείς μια ρουτίνα στρογγυλοποίησης που να είσαι απόλυτα ξεκάθαρος για το πως λειτουργεί.
2. Να την χρησιμοποιείς για να στρογγυλοποιείς όλα, ανεξαιρέτως, τα ενδιάμεσα αποτελέσματα των υπολογισμών.
Saturday, February 10, 2007
color schemes in virtual machines
Για να καταφέρω να φτιάξω μία Unattended εγκατάσταση του Delphi7 που να συμπεριλαμβάνει όλα τα συμπληρωματικά εργαλεία και components που συνήθως χρησιμοποιούμε στη δουλειά, έστησα δύο virtual machines με XP στο VMWare, μία στην οποία εγκατέστησα το Delphi7 και τα παρελκόμενα του, και στην άλλη δοκίμαζα την εγκατάσταση καθώς εξελίσσονταν. Ανακάλυψα πόσο χρήσιμο και εύκολο είναι να έχεις διαφορετικό windows color scheme σε κάθε virtual machine για εύκολη οπτική αναγνώριση του ποιο είναι ποιο.
Chester, the imaginary tester
Πως όταν είσαι τρία έχεις τον φανταστικό σου φίλο και του μιλάς όταν είστε μόνοι; Στη δουλειά έχουμε τον Chester, τον φανταστικό Tester. Γιατί κάποιος πρέπει να επωμισθεί το δύσκολο έργο του να δοκιμάσει τις νέες και παλιές λειτουργίες των προγραμμάτων που φτιάχνουμε.
μια πάρα πολύ χρήσιμη συνήθεια
Το ουσιαστικό κέρδος από τη δουλειά που κάνω τα τρία τελευταία χρόνια, είναι ότι έμαθα ό,τι κάνω να το καταγράφω υπό μορφή οδηγιών. Μια πολύ, μα-πάρα-πολύ χρήσιμη συνήθεια
Sunday, February 04, 2007
Στρογγυλοποίηση
Δεν υπάρχει περίπτωση να καταλάβεις την έννοια των λαθών στρογγυλοποίησης μέχρι να φτιάξεις προγράμματα που διαχειρίζονται χρήματα. Εκεί, οι διαδοχικές στρογγυλοποιήσεις ποσοτήτων, οι αθροίσεις αυτών, οι στρογγυλοποιήσεις των αθροισμάτων, και οι ξανά-αθροίσεις των στρογγυλοποιημένων αθροισμάτων, τα μαρτυράνε όλα. Στο τέλος τις διαδικασίας, τα σύνολα σου έχουν μερικά Ευρώ διαφορά από τα αρχικά νούμερα.
Πχ πέντε άνθρωποι έχουν τους παρακάτω μηνιαίους μικτούς μισθούς και 13,5% κρατήσεις κάθε μήνα. Για να υπολογίσεις την κράτηση, πολλαπλασιάζεις με 0.135 και στρογγυλοποιείς στα δύο δεκαδικά (γιατί έτσι ορίζει ο νόμος, οι αξίες σε Ευρώ έχουν πάντα 2 δεκαδικά). Προκύπτουν οι κρατήσεις που φαίνονται στον παρακάτω πίνακα. Αν αθροίσεις τους μισθούς και προσπαθήσεις να βρεις τις κρατήσεις πολλαπλασιάζοντας το σύνολο με 13.5%, θα ανακαλύψεις ότι διαφέρουν κατά ένα λεπτό του Ευρώ (0.01€). Το 13.5% του 6060.00€ είναι 818,10€, ενώ το άθροισμα των στρογγυλοποιημένων επιμέρους κρατήσεων είναι 818,11€
Μισθός - Κρατήσεις
1.210,00€ - 163,35€
1.211,00€ - 163,49€
1.212,00€ - 163,62€
1.213,00€ - 163,76€
1.214,00€ - 163,89€
Σύνολα Μισθών - Κρατήσεων:
6.060,00€ - 818,11€
Πχ πέντε άνθρωποι έχουν τους παρακάτω μηνιαίους μικτούς μισθούς και 13,5% κρατήσεις κάθε μήνα. Για να υπολογίσεις την κράτηση, πολλαπλασιάζεις με 0.135 και στρογγυλοποιείς στα δύο δεκαδικά (γιατί έτσι ορίζει ο νόμος, οι αξίες σε Ευρώ έχουν πάντα 2 δεκαδικά). Προκύπτουν οι κρατήσεις που φαίνονται στον παρακάτω πίνακα. Αν αθροίσεις τους μισθούς και προσπαθήσεις να βρεις τις κρατήσεις πολλαπλασιάζοντας το σύνολο με 13.5%, θα ανακαλύψεις ότι διαφέρουν κατά ένα λεπτό του Ευρώ (0.01€). Το 13.5% του 6060.00€ είναι 818,10€, ενώ το άθροισμα των στρογγυλοποιημένων επιμέρους κρατήσεων είναι 818,11€
Μισθός - Κρατήσεις
1.210,00€ - 163,35€
1.211,00€ - 163,49€
1.212,00€ - 163,62€
1.213,00€ - 163,76€
1.214,00€ - 163,89€
Σύνολα Μισθών - Κρατήσεων:
6.060,00€ - 818,11€
Thursday, December 07, 2006
TLAs
Κατά λάθος, ο ανταγωνισμός μας κάλεσε να δούμε το προϊόν του το Σάββατο το πρωί στο Hyatt, και μπαίνοντας στο site του, βρήκα πληθώρα από εντυπωσιακά TLAs (Three Letter Acronyms, τριγράμματα ακρωνύμια, η πληροφορική είναι γεμάτη με τέτοια, μάλιστα θα μπορούσα να πω όλη η Αμερική είναι γεμάτη με τέτοια)
Τα μοδάτα ΤΓΑ του Σαββάτου, είναι:
ERP, Enterprise Resource Planning
CRM, Customer Relation Management
SOA, Service Oriented Architecture
MIS, Management Information System
OLAP, (που είναι τέσσερα γράμματα), On Line Analytical Processing
Τα μοδάτα ΤΓΑ του Σαββάτου, είναι:
ERP, Enterprise Resource Planning
CRM, Customer Relation Management
SOA, Service Oriented Architecture
MIS, Management Information System
OLAP, (που είναι τέσσερα γράμματα), On Line Analytical Processing
Saturday, December 02, 2006
Open-Source Delphi Libraries
Για όλους τους Delphi Developers εκεί έξω: Οι open-source Delphi βιβλιοθήκες με τα περισσότερα downloads (από το SourceForge):
1. JEDI VCL for Delphi (vcl components)
2. ZeosLib (database connectivity)
3. Free Pascal Compiler (αυτό που λέει)
4. TurboPower Async Professional
(βιβλιοθήκες επικοινωνίας με την σειριακή θύρα)
5. Jedi Code Library (γενικής χρήσης βιβλιοθήκες)
6. GLScene (βιβλιοθήκες για OpenGL)
7. GExperts (plugins παραγωγικότητας για το IDE)
8. SynEdit (πλήρες editor component με color coding)
Εκτός του GlScene (που είναι για OpenGL Graphics) και που δεν το έχω χρησιμοποιήσει, για τις λοιπές βάζω το χέρι μου στη φωτιά (που δεν χρειάζεται, το γεγονός ότι κατέχουν το top 10 μιλάει από μόνο του)
1. JEDI VCL for Delphi (vcl components)
2. ZeosLib (database connectivity)
3. Free Pascal Compiler (αυτό που λέει)
4. TurboPower Async Professional
(βιβλιοθήκες επικοινωνίας με την σειριακή θύρα)
5. Jedi Code Library (γενικής χρήσης βιβλιοθήκες)
6. GLScene (βιβλιοθήκες για OpenGL)
7. GExperts (plugins παραγωγικότητας για το IDE)
8. SynEdit (πλήρες editor component με color coding)
Εκτός του GlScene (που είναι για OpenGL Graphics) και που δεν το έχω χρησιμοποιήσει, για τις λοιπές βάζω το χέρι μου στη φωτιά (που δεν χρειάζεται, το γεγονός ότι κατέχουν το top 10 μιλάει από μόνο του)
Tuesday, November 28, 2006
LogMeIn.com
Κάποια στιγμή, κάποιος συνάδερφος, μας πρότεινε για τις remote access ανάγκες μας το LogMeIn.com. Μικρό προγραμματάκι, που εγκαθιστάς σε ένα υπολογιστή και μπορείς να συνδεθείς σε αυτόν τον υπολογιστή μέσω ενός browser (IE ή Firefox) από οποιοδήποτε σημείο στο internet. Επί πληρωμή για τις πλήρεις υπηρεσίες του, αλλά δωρεάν αν το μόνο που επιθυμείς είναι να βλέπεις ένα desktop.
Πάρα – πάρα πολύ βολικό αν θέλεις να βοηθήσεις κάποιον φίλο να ξεμπλέξει τον υπολογιστή του. Του ζητάς να το εγκαταστήσει (περνάει από τα περισσότερα firewalls και routers, κατά κανόνα, αν ο υπολογιστής βλέπει σελίδες, θα λειτουργήσει και το LogMeIn) και μετά μπορείς να συνδεθείς στον υπολογιστή του φίλου σου από την άπλα του σπιτιού σου και να του ρυθμίσεις το eMule…
Πάρα – πάρα πολύ βολικό αν θέλεις να βοηθήσεις κάποιον φίλο να ξεμπλέξει τον υπολογιστή του. Του ζητάς να το εγκαταστήσει (περνάει από τα περισσότερα firewalls και routers, κατά κανόνα, αν ο υπολογιστής βλέπει σελίδες, θα λειτουργήσει και το LogMeIn) και μετά μπορείς να συνδεθείς στον υπολογιστή του φίλου σου από την άπλα του σπιτιού σου και να του ρυθμίσεις το eMule…
metadata
Στη δουλειά, ένα από τα πράγματα που προσπαθώ να τελειοποιήσω στον ελεύθερο μου χρόνο, είναι να προσθέσω στο βασικό πρόγραμμα που πουλάμε, metadata.
Ο ορισμός λέει ότι metadata είναι data για τα data (εντάξει, είναι ηλίθιο, το ξέρω).
Το βασικό μας πρόγραμμα χρειάζεται μια βάση δεδομένων με τριακόσιους και κάτι πίνακες για να λειτουργήσει, και αυτοί οι πίνακες έχουν ονόματα στα Αγγλικά (ακόμη χειρότερα, έχουν ονόματα με λατινικούς χαρακτήρες, που δεν αντιστοιχούν πάντα σε αγγλικές λέξεις).
Θα ήταν πολύ βοηθητικό, να υπήρχαν και δυο τρεις πίνακες που να περιείχαν σαν πληροφορία τα ονόματα των άλλων πινάκων στα ελληνικά. Και το πρόγραμμα να εκμεταλλεύεται αυτήν την πληροφορία για να μπορεί να εμφανίζει στον χρήστη μηνύματα λάθους (επεξηγηματικά) στα ελληνικά, χωρίς ιδιαίτερο κόπο από τη μεριά του προγραμματιστή.
Συνήθως, για τέτοιες δουλειές, χρειάζονται τρεις πίνακες. Ένας για τα ονόματα των πινάκων στα ελληνικά, ένας για τα ονόματα των πεδίων των πινάκων στα ελληνικά, και ένας που να περιγράφει τις σχέσεις μεταξύ των πινάκων με ονόματα στα ελληνικά (που βοηθάει και αλλού, αλλά τώρα δεν θέλω να πω παραπάνω)
Ο ορισμός λέει ότι metadata είναι data για τα data (εντάξει, είναι ηλίθιο, το ξέρω).
Το βασικό μας πρόγραμμα χρειάζεται μια βάση δεδομένων με τριακόσιους και κάτι πίνακες για να λειτουργήσει, και αυτοί οι πίνακες έχουν ονόματα στα Αγγλικά (ακόμη χειρότερα, έχουν ονόματα με λατινικούς χαρακτήρες, που δεν αντιστοιχούν πάντα σε αγγλικές λέξεις).
Θα ήταν πολύ βοηθητικό, να υπήρχαν και δυο τρεις πίνακες που να περιείχαν σαν πληροφορία τα ονόματα των άλλων πινάκων στα ελληνικά. Και το πρόγραμμα να εκμεταλλεύεται αυτήν την πληροφορία για να μπορεί να εμφανίζει στον χρήστη μηνύματα λάθους (επεξηγηματικά) στα ελληνικά, χωρίς ιδιαίτερο κόπο από τη μεριά του προγραμματιστή.
Συνήθως, για τέτοιες δουλειές, χρειάζονται τρεις πίνακες. Ένας για τα ονόματα των πινάκων στα ελληνικά, ένας για τα ονόματα των πεδίων των πινάκων στα ελληνικά, και ένας που να περιγράφει τις σχέσεις μεταξύ των πινάκων με ονόματα στα ελληνικά (που βοηθάει και αλλού, αλλά τώρα δεν θέλω να πω παραπάνω)
some assembly required
Αν και θα προσπαθήσω να είμαι απλός στον τρόπο που τα γράφω, αυτό το blog θα είναι δυσνόητο για τον μη-σχετικό με την πληροφορική. You have been warned.
μικρό, σχεδόν οικογενειακό software house
Εφεξής, το μικρό, σχεδόν οικογενειακό software house στο οποίο δουλεύω, θα το ονομάζω "η δουλειά". Οπότε, όταν γράφω "Σήμερα στη δουλειά φτιάξαμε αυτό", μπορείτε να το μεταφράζετε σαν "Σήμερα, στο μικρό, σχεδόν οικογενειακό software house στο οποίο δουλεύω, φτιάξαμε αυτό"