Πέμπτη 25 Νοεμβρίου 2010

Τι πραγματικά κάνει το Disk defragmentation

Πέρασε αρκετός καιρός απο τότε που έκανα τελευταία φορά τον υπολογιστή μου format, με αποτέλεσμα να σέρνεται λόγο υπερφόρτωσης στον σκληρό δίσκο. Έτσι αποφάσισα να χρησιμοποιήσω το Disk Defragmenter το οποίο γενικά κάνει μια αναδιοργάνωση των αρχείων που βρίσκονται σε αυτόν.
Πιο συγκεκριμένα, έστω ότι έχουμε την μνήμη του σκληρού δίσκου χωρισμένη σε bloks στην οποία έχουμε αποθηκευμένα δεδομένα και προγράμματα. Για να χρησιμοποιήσουμε ένα παράδειγμα, ας εξετάσουμε την πιο κάτω εικόνα.


Στην αρχική περίπτωση (1) έχουμε τα δεδομένα A,B,C,D,E και τον υπόλοιπο χώρο στην μνήμη μας ο οποίος είναι άδειος. Εάν το αρχείο Β διαγραφεί (2) , τότε ο χώρος τον οποίο κατείχε τώρα έχει σημειωθεί ώς άδειος. Μία ιδέα θα ήταν όλα τα αρχεία μετά το Β, να μετακινηθούν προς τα αριστερά ώστε να συμπληρωθεί ο καινός χώρος. Αυτό όμως θα ήταν πολύ επίπονο για τον υπολογιστή ο οποίος έχει να χειριστεί χιλιάδες αρχεία. Έτσι, αυτό που γίνεται είναι ο χώρος αυτός να συμπληρωθεί αργότερα με δεδομένα όπως το F και G (3)(4). Τι συμβαίνει όμως όταν το G δεν χωράει ολόκληρο αρχικά στον ελεύθερο χώρο ανάμεσα σε F και C; Ή ακόμα και αν χωράει, τι θα γίνει αν το G πρέπει να επεκταθεί; Λύση υπάρχει! (5) Ένα μέρος του θα τοποθετηθεί στον άδειο χώρο μετα το E το οποίο θα δεικτοδοτείται απο το πρώτο μέρος του G που βρίσκεται ανάμεσα σε F και C.

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

                                                                 (Before Defragment) 
                                           
                                                                    (After Defragment)





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

Κυριακή 21 Νοεμβρίου 2010

Microsoft Word : Κείμενο σε μορφή εξισώσεων

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

 10                      Ν 
  Ι(χ^5)dx           Σ(χ^5)
-10                     χ=0

Όταν έχεις να γράψεις μεγάλη εξίσωση αυτό είναι πολύ βαρετό! Τυχαία σήμερα καθόμουν στο σπίτι ενός φίλου ο οποίος έπρεπε να παραδόσει ενα Word αρχείο με κείμενο της μορφής 10*x^5 και με ρώτησε εαν γνώριζα πως να το κάνω σε κανονική μορφή εξίσωσης. Εγώ φυσικά δεν ήξερα αλλά είπα να αφιερώσω 2-3 λεπτά για να βοηθήσω. Η πρώτη μου σκέψη ήταν να πάω στο menu Insert όπου και το μάτι μου πήρε στα δεξιά τα συμβολικά γράμματα π και Ω. Κάτω απο το π υπήρχε η  λέξη Equation και λέω εδώ είμαστε. Πάτησα πάνω και είδα πως υπήρχαν αρχικά κάποιες γνωστές εξισώσεις και κάτω κάτω Instert new equation . Κάπου εκεί λύσαμε και το πρόβλημα.
Πραγματικά είναι κάτι πολύ χρήσιμο όταν ασχολείσαι με κείμενο τύπου εξισώσεων. Θα ήθελα να υπήρχε τέτοια εφαρμογή και στο MSN ή σε άλλη εφαρμογή Chat αλλά μέχρι στιγμής δεν έχω βρεί κάτι. Το καλό είναι πως είμαστε προγραμματιστές!

Ένα σχετικό video με ένα απλό παράδειγμα:
http://www.youtube.com/watch?v=5y8o8ewScK8

Εδώ και πολλά χρόνια, ενώ είχα αυτό το πρόβλημα ποτέ δεν μπήκα στον κόπο να ψάξω κάποια λύση, γιατί έστω και βασανιστικά έκανα τη περιγραφή που ήθελα. Για δική μου τύχη προσφέρθηκα να βοηθήσω ένα φίλο σε ένα πολύ απλό πρόβλημα. Απλό γιατί, ήμουν 100% σίγουρος πως υπάρχει σχετική εμαφρογή στο Word, αλλά πάντοτε το αγνοούσα και "αρνιόμουν" να το μάθω. Ηθικό δίδαγμα?
Βοηθάτε αλλήλους :) Κάτι έχουμε να μάθουμε όλοι μας.

Πέμπτη 18 Νοεμβρίου 2010

Uniform Server : Απλή και χρήσιμη εφαρμογή για local host server

Στα πλαίσια του μαθήματος Ανάπτυξη και Σχεδίαση Λογισμικού, ήρθα για πρώτη φορά αντιμέτωπος με το θέμα σχεδιασμού ιστοσελίδας. Για να μπορέσω να πάρω μια ιδέα για το πώς σχεδιάζεται μια ιστοσελίδα, βρήκα ένα βιβλίο σχετικό με την PhP γλώσσα, το οποίο ξεκίνησα να διαβάζω. Το πρώτο πράγμα που πρέπει να κάνεις για να ξεκινήσεις την διαδικασία δημιουργίας ιστοσελίδας, είναι η εγκατάσταση μιας εφαρμογής, η οποία βασικά δημιουργεί ένα εικονικό Server(Local Host), όπου θα είναι αποθηκευμένα τα .php αρχεία που αποτελούν τη συνολική εφαρμογή της ιστοσελίδας. Προσπάθησα να ακολουθήσω κατα βήμα τις οδηγίες για το πώς να εγκαταστήσω τα δύο απαιτούμενα προγράμματα, τον Apache Server και MySQL server. Για κακή μου τύχη, παρουσιάστηκαν κάποια προβλήματα τα οποία δεν σχολιάζονταν στις οδηγίες και δεν μπόρεσα να συνεχίσω. Αν και υπήρχε εναλλακτική εφαρμογή, επι μέρες προσπαθούσα να βρώ λύση στο πρόβλημα, αλλά τίποτα. Έτσι αναγκαστικά έπρεπε να ακολουθήσω την εναλλακτική επιλογή, η οποία αναφερόταν σε μια εφαρμογή, Uniform Server,η οποία παρείχε τόσο τον Apache όσο και τον MySQL server μαζί.
Είναι μια πολύ απλή εφαρμογή, η οποία εκτός των άλλων είναι και portable (δηλαδή δεν απαιτεί εγκατάσταση). Πιο κάτω παρουσιάζεται πως λειτουργεί και πώς πρέπει να χρησιμοποιηθεί ο Uniform Server ώστε ένας "πρωτάρης" να ξεκινήσει να προγραματίζει την δική του ιστοσελίδα.

1. Επιλέξτε το UniController.exe 


2. Όπως βλέπετε, μπορείτε να επιλέξετε Start Apache,Start MySQL. Εναλλακτικά μπορείτε να επιλέξετε Start All ώστε να ενεργοποιηθούν και τα δύο. O Z Drive είναι ένας εικονικός δίσκος ο οποίος αναπαριστά το χώρο δεδομένων του εικονικού Server. Αφού επιλέξετε Start All ο Apache και MySQL Server θα ενεργοποιηθούν (τα κόκκινα τετραγωνάκια θα γίνουν πράσινα)


3. Στο My Computer θα διαπιστώσετε πως έχει δημιουργηθεί ο εικονικός Δισκος Ζ:/ .


4. Επιλέξτε τον Δίσκο Ζ και όπως θα δείτε μέσα υπάρχουν διάφορα αρχεία. Στο φάκελο " www "
μπορείτε να δημιουργήσετε ένα φάκελο με το όνομα του project σας (στην περίπτωση αυτή eCommerceProject) και να τοποθετήσετε μέσα σε αυτόν τα αρχεία .php που απαρτίζουν την ιστοσελίδα σας.



5. Στον browser που χρησιμοποιείτε(πχ Firefox)  δώστε την διεύθυνση http://localhost/project_name
όπου project_name είναι το όνομα φακέλου που περιέχει τα .php αρχεία. Στα Windows7, αντί localhost χρησιμοποιήστε το ip 127.0.0.1 . Δηλαδή, στην συγκεκριμένη περίπτωση
http://127.0.0.1/eCommerceProject/ . Αυτό, θα κατεβάσει απο τον Server το αρχείο
Z:/www/eCommerceProject/index.php και θα το εμφανίσει στον browser.



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

Δευτέρα 15 Νοεμβρίου 2010

Μέθοδος για αναγνώριση θύρας(port) που χρησιμοποιείται απο κάθε διεργασία

Είναι γνωστό πως κάποια προγράματα χρησιμοποιούν το ίδιο Port Number, με αποτέλεσμα να μην μπορούν να τρέξουν και τα δύο ταυτόχρονα. Έαν το ένα απο αυτά τρέχει, το άλλο θα παρουσιάσει σφάλμα το οποίο θα λέει κάτι τέτοιο..


Σε τέτοιες περιπτώσεις, υπάρχουν δύο εναλλακτικές λύσεις. Η μία απο αυτές είναι να αλλάξουμε το Port Number που χρησιμοποιείται απο το δεύτερο πρόγραμμα ώστε να διαφέρει απο αυτό του άλλου που ήδη τρέχει (πχ. Εδώ ο MySQL server προσπαθεί να τρέξει στο Port 3306 το οποίο χρησιμοποιείται απο άλλη διεργασία). Αυτό, σε μερικά προγραμματα όπως είναι το Skype είναι εύκολο να γίνει, πηγαίνοντας στα Options του προγράματος και στο πεδίο Use Port βάζουμε ένα διαφορετικό αριθμό.
Σε πιο πολύπλοκα προγράμματα όπως είναι ο MySQL server, πολλές φορές δεν είναι και τόσο απλό να αλλάξουμε το Port Number που χρησιμοποιούν. Έτσι μπορούμε να ακολουθήσουμε μια εναλλακτική διαδικασία για να επιλύσουμε το πρόβλημα.
Αν και εδώ στο Error Message λέει πως το Port 3306 χρησιμοποιείται, δεν διευκρινίζει ποιά διεργασία το χρησιμοποιεί. Αυτό που παρουσιάζεται στο πιο κάτω video  είναι πως μπορούμε να βρούμε, ποια διεργασία χρησιμοποιεί το συγκεκριμένο Port 3306 ώστε να την τερματίσουμε και να μπορέσουμε να τρέξουμε τον MySQL server.
video link :   http://www.youtube.com/watch?v=w2DFbI2sJ-E

Αυτό είναι ένα απο τα πολλά προβλήματα για τα οποία ο πιο εύκολος τρόπος να βρείς άμεση λύση είναι χρησιμοποιώντας το google. Εναλλακτική θα ήταν να βρείς το manual του προγράμματος και να ανακαλύψεις απο μόνος σου την λύση. Εδώ μπαίνει στο θέμα μας ο τρόπος με τον οποίο αντιμετωπίζουμε το πρόβλημα. Αρχικά έψαξα για "how to change port number of MySQL server". Μόλις είδα πως η λύση αυτή ήταν πολύπλοκη, είπα να δοκιμάσω εναλλακτική λύση. Αφού ήξερα ποιο Port ήταν σε χρήση, το μόνο που έμενε ήταν να βρώ ποια διεργασία το χρησιμοποιεί. Επομένως έψαξα για  "How to determine which program is using a given port" το οποίο μου επέστρεψε μια λύση την οποία θεωρούσα ευκολότερη να εφαρμόσω. Αυτό έπραξα και έδωσα λύση στο πρόβλημα.
Φυσικά, αργότερα, απο περιέργεια και μόνο δοκίμασα και την άλλη λύση η οποία δούλευε, αλλά μου πήρε αρκετό χρόνο.
Το μάθημα που πήρα ήταν, όταν παρουσιάζεται ένα πρόβλημα, εάν μια λύση που βρίσκεται αρχικά θεωρείται πολύπλοκη, να ψάχνουμε για κάποια εναλλακτική(πιο γενική). Εάν βρεθεί και είναι ευκολότερη, καλό είναι να ακολουθούμε αυτή. Δηλαδή, είναι ευκολότερο να τερματίσεις μια εφαρμογή που χρησιμοποιεί το ίδιο Port Number με μια άλλη, παρά να ψάχνεις κάθε φορά πώς να αλλάξεις το Port Number συγκεκριμένης εφαρμογής.
 

Κυριακή 14 Νοεμβρίου 2010

Xcas: Μια απο τις ιδιαιτερότητες του

Πάνε μέρες που έχω υλοποιήσει ένα αλγόριθμο στο Xcas (μαθηματικό εργαλείο με το οποίο ασχολούμαστε στο μάθημα Υπολογιστικής Άλγεβρας) αλλά δεν μπόρεσα να βρώ το πρόβλημα (bug) που είχε, μέχρι απόψε. Ενώ ο αλγόριθμος έτρεχε κανονικά για μικρό αριθμό επαναλήψεων (πχ 500 ), για μεγαλύτερο αριθμό το πρόγραμμα έμπαινε σε Not Responding mode και τερμάτιζε αυτόματα. Έψαχνα για αρκετή ώρα  στον κώδικα για να βρώ που μπορεί να είναι το λάθος, κάνοντας print τα ενδιάμεσα αποτελέσματα, return(Lists) κλπ. Όλα δούλευαν όπως έπρεπε, εκτός απο την συνάρτηση nuage_points(List) η οποία παίρνει σαν όρισμα μια List και εκτυπώνει σε γραφική τα σημεία (x,y) που εμπεριέχει η λίστα αυτή. Λέω εδώ είναι το πρόβλημα! Δεν μπορούσα όμως να κάνω κάτι σχετικά με αυτό ,έτσι σκέφτηκα να χρησιμοποιήσω μια εναλλακτική συνάρτηση, η οποία ενεργοποιεί τα pixels της οθόνης στη γραφική παράσταση,δίνοντας σαν όρισμα το σημείο pixel (pixon(x,y) ). Τρέχοντας το πρόγραμμα μου προέκυψε ένα κατεβατό απο warnings τα οποία, όλα αναφέρονταν σε μια ανάθεση η οποία αφορούσε μια πράξη με την σταθερά pi. Εκεί, χωρίς δεύτερη σκέψη κατάλαβα ότι έψαχνα σε λάθος σημείο. Πήγα και αντικατέστησα όπου pi =3.14159265359 και προσπάθησα να τρέξω ξανά το πρόγραμμα. Το αποτέλεσμα; Το πρόβλημα είχε λυθεί!
Δεν έχω καταλάβει ακριβώς ποιο ήταν το πρόβλημα, αλλά αυτό που μπορώ να σκεφτώ είναι πως το Xcas αντιμετώπιζε δυσκολία στο να κάνει πράξεις με την σταθερά pi ενώ με την προσεγγιστική τιμή του δεν υπήρχε κανένα απολύτως πρόβλημα.
Χρησιμοποιώντας διάφορα εργαλεία προγραμματισμού μπορούμε να διαπιστώσουμε τις ιδιαιτερότητες του καθενός. Συγκρίνοντας με την C, τέτοιες σταθερές δηλώνονται ως #define pi 3.1415
και έτσι χρησιμοποιείται το pi σαν ο αριθμός 3.1415. Αντιθέτως, στο Xcas to pi είναι δεσμευμένη λέξη και αντιστοιχίζεται σε αυτή κατευθείαν η τιμή της(συμβολική ή πραγματική). Το παράδοξο έιναι πως, επειδή το Xcas χρησιμοποιεί διαφορετικούς τρόπους επίλυσης πράξεων, μπορεί να προκύψουν "προβλήματα" όπως το πιο πάνω.

(στην εικόνα πιο κάτω φαίνονται οι δύο διαφορετικές μορφές που αναπαριστάται το pi )


Μετά απο αρκετή ώρα σπαζοκεφαλίας, κατάλαβα πως ειδικά στον προγραμματισμό, ένα "λάθος" μπορεί να είναι πολύ καλά κρυμμένο. Ενώ αλλού φαινόταν αρχικά να υπάρχει το πρόβλημα, αλλού βρέθηκε. Η ανακάλυψη του βέβαια έγινε με λίγη δόση τύχης αλλά και επιμονής. Αν δεν χρησιμοποιούσα την εναλλακτική επιλογή ( pixon() ), το πιο πιθανό είναι πως ακόμα θα έψαχνα. Χρησιμοποιώντας εναλλακτικές επιλόγές για debugging είναι πολύ ευκολότερο να καταλήξουμε στο σφάλμα (το λογικό και όχι το συντακτικό) γιατί κάθε μέθοδος αποκαλύπτει το "πρόβλημα",εάν υπάρχει, απο διαφορετική οπτική γωνία.

Πέμπτη 11 Νοεμβρίου 2010

Προβολή αρχείου .docx χωρίς την χρήση Microsoft Office 2007

Ένα πρόβλημα που έχω ξανα παρατηρήσει αλλά δεν μπήκα ποτέ στο κόπο να ασχολήθω γιατί δεν με αφορούσε άμεσα εκείνη τη στιγμή, είναι η αδυναμία προβολής .docx αρχείων με εκδόσεις Microsoft Office πριν απο το 2007.
Χθές έπρεπε να στείλω ένα .docx αρχείο σε ένα φίλο ο οποίος δεν διαθέτει τα Office 2007. Σαφώς θα μπορούσα προηγουμένως να το αποθηκεύσω ως .doc και να μην υπάρχει τέτοιο πρόβλημα. Για δική μου τύχη, το αρχείο το είχα στείλει στο gmail.  Το αρχείο αφού κατέβηκε, δεν μπορούσε να γίνει open . Κατα λάθος, το παιδί πρόσεξε πως μέσω του gmail , μπορείς να κάνεις προβολή .docx αρχείων χωρίς να έχεις εγκατεστημένο το Office2007. Έτσι έμαθα και εγώ πως υπάρχει αυτή η δυνατότητα.
Το έψαξα λίγο αργότερα περισσότερο και βρήκα πως υπάρχει και το google docs όπου μπορείς να ανεβάσεις αρχεία, έστω .docx τα οποία μπορείς να τα διαβάσεις απο εκεί.

Ένα μαθησιακό γεγονός μπορεί να προκύψει χωρίς την θέληση μας. Μερικές φορές μαθαίνουμε πράγματα απο τυχαία γεγονότα, όπως το πιο πάνω. Καλό είναι να ψάχνουμε και εναλλακτικούς τρόπους αντιμετώπισης συγκεκριμένων προβλημάτων ώστε αργότερα  να έχουμε ευελιξία στις επιλογές μας.

Δευτέρα 8 Νοεμβρίου 2010

Windows can speak!

Έτυχε μια μέρα καθώς καθόμασταν παρέα στο σπίτι να ακούσω τον υπολογιστή να μιλά! Λέω κάποιος θα πειραματίζεται και πηγαίνω προς τον υπολογιστή. Καθόταν ένα παιδί απο την παρέα και ό,τι έδινε σαν input σε μία ιστοσελίδα, ακουγόταν απο το ηχεία. Έβαζε κατι biiib biiib και το μόνο που κάναμε ήταν να γελάμε. Κανείς δεν είχε δώσει σημασία σε πιο site πειραματιζόταν.
Τυχαία διάβαζα ψες για διάφορες λειτουργείες που παρέχουν τα windows, που ως συνήθως δεν γνωρίζουμε.( Προσωπικά δεν ασχολούμε περισσότερο  απο ο,τι χρειαζομαι για να φέρω εις πέρας αυτό που θέλω να κάνω την συγκεκριμένη στιγμή). Ούτως παραδόξως, έπεσε στο μάτι μου "make your pc to speak" και λόγω του γεγονότως που είχε συμβεί, πήγα κατευθείαν να το διαβάσω.

Είναι υπερβολικά εύκολο να γίνει ακολουθώντας τα πιο κάτω βήματα
1. Δημιουργήστε ένα νεό αρχείο .txt και copy-paste μέσα σε αυτό το πιο κάτω κείμενο

Dim message, sapi
message=InputBox("What do you want me to say?","Speak to Me")
Set sapi=CreateObject("sapi.spvoice")
sapi.Speak message




2.Κάντε save as.. το αρχείο αυτό με το όνομα speak.vbs



3. Ανοίξτε το αρχείο speak.vbs που μόλις δημιουργήσατε και γράψτε το κείμενο που θέλετε να ακούσετε. Επιλέξτε  ΟΚ.


Όσο και αν φαίνεται παράξενο κάποια πράγματα που ξεκινούν απο αστείο μπορεί να καταλήξουν σε γεγονότα μάθησης.Αν δεν τύγχαινε το γεγονός εκείνο το βράδυ,δηλαδή να καθήσουμε και να γελάσουμε με τον υπολογιστή που μιλούσε,το "make your pc to speak" είμαι σίγουρος πως θα το προσπερνούσα. Αν και εδώ το γεγονός μάθησης δεν είναι απο μόνο του σημαντικό μπορεί και μή ενδιαφέρον,έχω καταλάβει πώς και τα καθημερινά αστεία μπορεί να μας οδηγήσουν στην γνώση.

Σάββατο 6 Νοεμβρίου 2010

"Steganography " Απόκρυψη κειμένου σε εικόνα

Σε συζήτηση που είχα με ένα φίλο σχετικά με την ασφάλεια δεδομένων που υπάρχει, ή καλύτερα που δεν υπάρχει στο διαδίκτυο, λέγαμε διαφορους τρόπους με τους οποίους μπορείς να στείλεις σε κάποιο άτομο δεδομένα τα οποία να μην είναι προσβάσιμα απο τρίτο πρόσωπο. Σαφώς μπορείς να βάλεις τα δεδομένα σε ένα .rar αρχείο και να το κλειδώσεις με ένα κωδικό. Αυτό όμως ,εύκολα ή δύσκολα μπορεί να σπάσει.
Στα διάφορα που λέγαμε,  άκουσα για "Stenography". Είχα ξανακούσει την συγκεκριμένη λέξη αλλά δεν έμαθα ποτέ τι σήμαινε. Οταν επέστρεψα σπίτι το έψαξα λίγο περισσότερο.. Stenography είναι η απόκρυψη κειμένου (text), σε φωτογραφίες. Αυτό που την κάνει να διαφέρει απο άλλου είδους κρυπτογραφίας κατα τη γνώμη μου είναι ο αντιπερισπασμός. Αν κάποιος καταφέρει να υποκλέψει το αρχείο και δεί πως είναι απλά μια εικόνα, δεν θα καθίσει να ασχοληθεί περεταίρω!
Εχω βρεί ένα προγραμματάκι πολύ απλό στη χρήση το οποίο έχει την δυνατότητα να κάνει αυτού του είδους την κρυπτογραφία. Ονομάζεται  ImageHide και είναι freeware οπότε δοκιμάστε το ελεύθερα!

Ακολουθούν screenshots τα οποία δείχνουν την απλή λειτουργεία του.

1. Ανοίξτε το  ImageHide.exe και επιλέξτε Load Image.



2. Η εικόνα της επιλογής σας θα εμφανιστεί στο πρόγραμμα και κάτω απο αυτή μπορείτε να γράψετε το κείμενο το οποίο επιθυμείτε να κρυπτογραφηθεί μέσα σε αυτή.

  
3. Αφού το κάνετε,επιλέξτε Write Data ώστε το κείμενο να αποθηκευτεί. Κάτω αριστερά πρέπει να γράφει Data written to image OK!




4. Επιλέξτε Save Image και αποθηκεύστε το σαν .bpm ή .png



5. Εάν ανοίξετε το αρχείο που μόλις αποθηκεύσατε με το ImageHide και επιλέξετε Read Data, το κείμενο που αποθηκεύσατε θα εμφανιστεί!



Με τέτοια είκονα σίγουρα θα έχω κινήσει το ενδιαφέρον :) Πού να φανταστεί ο άλλος πως κρύβει μηνύματα!
Προυπόθεση για να μπορέσουν να επικοινωνήσουν 2 άτομα με τέτοιου είδους "μηνύματα" είναι να χρησιμοποιούν και οι 2 αυτό το προγραμματάκι.
 
Το μάθημα που πήρα ήταν να ψάχνω  περισσότερο πράγματα τα οποία ακούω και να μην τα προσπερνώ. Πολλές φορές λέμε δεν βαριέσε..κι όμως,πολλά είναι αυτά που μπορούμε να μάθουμε αν κάθε τι άγνωστο που ακούμε,το ψάχνουμε έστω και λίγο.

Δευτέρα 1 Νοεμβρίου 2010

Αποκάλυψη οποιουδήποτε κωδικού στο Login μιας ιστοσελιδας

Ένας απλός τρόπος για να αποκαλύψετε τον κωδικό που παρουσιάζεται με αστερακια * στο login ενός site είναι ο εξής:

Ανοίξτε τον browser και επιλέξτε μια σελίδα, πχ το hotmail. Στο Login, θα δείτε συμπληρωμένο το user  και password  (εάν έχετε ενεργοποιημένο το option ο κωδικός σας να φυλάσεται). Εάν τώρα στο link της σελίδας κάνετε copy paste το πιο κάτω java script και πατήσετε Enter, τότε θα αποκαλυφθεί ο κωδικός σας!

java script


javascript:(function(){var%20s,F,j,f,i;%20s%20=%20%22%22;
%20F%20=%20document.forms;%20for(j=0;%20j<F.length;%20++j)
%20{%20f%20=%20F[j];%20for%20(i=0;%20i<f.length;%20++i)
%20{%20if%20(f[i].type.toLowerCase()%20==%20%22password%22)
%20s%20+=%20f[i].value%20+%20%22\n%22;%20}%20}%20if
%20(s)%20alert(%22Passwords%20in%20forms%20on%20this
%20page:\n\n%22%20+%20s);%20else%20alert(%22There%20are
%20no%20passwords%20in%20forms%20on%20this
%20page.%22);})();

Εάν έχετε συμπληρωμένο το password σας σε μια ιστοσελίδα αλλά δεν θυμάστε πιο είναι και θέλετε να το βρείτε, απλα χρησιμοποιείτε αυτό το script. Υπάρχουν και προγραμματακια τα οποία κάνουν αυτή τη δουλεία αλλά κατα τη γνώμη μου αυτό είναι αρκετό. Σαφώς αυτό το βρήκα μετά απο ψάξιμο στο google γιατί ενώ είχα αποθηκευμένα τα στοιχεία και έκανα login κανονικά στην σελίδα, δεν θυμώμουν το password. Σε περίπτωση δηλαδή που θα έπρεπε να συμπληρώσω τον κωδικό εγώ ο ίδιος, δεν θα τον ήξερα..
Μπορεί και να χρησιμοποιηθεί και με κακόβουλες προθέσεις απο δεύτερο άτομο που έχει πρόσβαση στον υπολογιστή γι'αυτό ας προσέχουμε λίγο :)

HowTo video:

Σάββατο 30 Οκτωβρίου 2010

Αυτόματο Login στα Windows

Πολλές φορές η ασφάλεια κωδικού στο Login που παρέχουν τα windows είναι αχρείαστη έως και ενοχλητική.
Ένας εύκολος τρόπος για να γίνεται αυτόματα το Login στα Windows7 είναι ο εξής:

1. Πληκτολογήστε netplwiz στο Start -> Search Programs and files και επιλέξτε netplwiz


2. Απενεργοποιήστε το κουτί Users must enter a user name and password to use this computer και πατήστε Apply.



3. Συμπληρώστε User και Password και πατήστε ΟΚ. Στην επανεκκίνηση ο υπολογιστής σας πλέον θα κάνει login αυτόματα.






Κάποιος με την πρώτη ματία θα πεί "και γιατί να απενεργοποιήσω την ασφάλεια ;; ". Υπάρχουν περιπτώσεις όπου ο χρήστης μπορεί να χρησιμοποιεί τον υπολογιστή του για παιχνίδια κλπ τα οποία δεν αποτελούν δεδομένα ασφαλείας. Το πιο σημαντικό για μένα, και ο λόγος που έψαξα για να βρώ τον τρόπο απενεργοποίησης της ασφάλειας αυτής ήταν θέμα απόδοσης του ΗΥ. Τι θέλω να πω μ'αυτό.. Μετά απο πολύωρο downloading ο υπολογιστής λόγο μνήμης,υπερφορτώνεται με αποτέλεσμα να μην αποδίδει το μέγιστο.Υπάρχουν εφαρμογές όπως utorrent, τα οποία σου επιτρέπουν αφού τελειώσεις απο ένα download να επανεκκινήσεις τον υπολογιστή σου.Ο κωδικός ασφαλέιας στο login σε υποχρεώνει να είσαι εκεί κατα την επανεκκίνηση. Χωρίς αυτό τον έλεγχο όμως, ο υπολογιστής μπορεί να μπεί στα Windows και να συνεχίσει στο επόμενο αρχείο για download χωρίς την παρέμβαση του χρήστη (προυποθέτοντας πως πχ το utorrent συμπεριλαμβάνεται στα startup προγράμματα των windows)

Απόκρυψη .txt δεδομένων με streams

Επειδή η ασφάλεια των δεδομένων που υπάρχουν στον υπολογιστή μας είναι πολύ σημαντική, καλό είναι να γνωρίζουμε τρόπους με τους οποίους μπορούμε να αποκρύψουμε δεδομένα χωρίς την βοήθεια κάποιου λογισμικού αλλά μόνο με αυτά που μας προσφέρουν τα windows.

Το NTFS σύστημα αρχείων προσφέρει τα λεγόμενα Alternate Data Streams τα οποία σου δίνουν την δυνατότητα να αποθηκεύσεις δεδομένα πίσω απο ένα όνομα αρχείου χρησιμοποιώντας ένα stream name. Αυτό το αρχείο δεν μπορεί να βρεθεί στους καταλόγους αρχείων των Windows και ο μόνος τρόπος για να αποκτήσεις πρόσβαση σε αυτό είναι το μυστικό κλειδί που βάζεις κατά την δημιουργία του,δηλαδή το όνομα του stream.

Επίδειξη πως να δημιουργήσετε ένα stream βρίσκεται στο πιο κάτω video:


Η εντολή που χρησιμοποιείται στο command prompt είναι :
notepad SomeFile.txt:Secret.txt
To SomeFile.txt είναι το αρχείο που φαίνεται στους καταλόγους των Windows ενώ ολόκληρο το όνομα
SomeFile.txt:Secret.txt είναι και ο "κωδικός" για την πρόσβαση στο αρχείο μέσω του cmd prompt.

Ο λόγος που προέκυψε αυτό το γεγονός μάθησης είναι πως έχω πολλά users και  passwords σε .txt  αρχεία τα οποία σαφώς είναι εκτεθιμένα σε όποιον έχει πρόσβαση στον ΗΥ μου.Πέραν των κλασικών προγραμμάτων που παρέχουν προστασία αρχείων(κλέιδωμα,απόκρυψη) διαπίστωσα πως και τα windows μας παρέχουν λειτουργείες τις οποίες δεν γνωρίζουμε καν! Διαβάζοντας ένα εγχειρίδιο για πράγματα τα οποία πρέπει να γνωρίζει κάποιος χρήστης των windows, ανακάλυψα αυτό εδώ, το οποίο για μένα είναι αρκετά χρήσιμο.

Τετάρτη 27 Οκτωβρίου 2010

Αποτροπή ΗΥ απο αυτόματη επανεκκίνηση μετά απο εγκατάσταση Windows 7 Update

Ακολουθώντας τα πιο κάτω βήματα θα ενημερώσετε τον υπολογιστή σας ώστε να μην κάνει restart μετά απο εγκατάσταση Wibndows Update .

1. Επιλέξτε Start.

2. Στο Search Programs and files πεδίο γράψτε  regedit και τρέξτε το regedit.exe
     Στην οθόνη σας θα εμφανιστεί ο Registry Editor.

3. Στο αριστερό παράθυρο επιλέξτε HKEY_LOCAL_MACHINE/SOFTWARE/Policies/Microsof/Windows



4. Κάντε δεξί κλικ στο Windows -> New Key και δώστε όνομα WindowsUpdate (αυτό δημιουργεί νέο
   φάκελο στο αριστερό παράθυρο με το όνομα WindowsUpdate).



5. Κάντε δεξί κλικ στο WindowsUpdate που μόλις δημιουργήθηκε,επιλέξτε New Key και δώστε όνομα
     AU (αυτό δημιουργεί νεό φάκελο στο αριστερό παράθυρο με όνομα AU).



6. Στο δεξιό παράθυρο του AU κάντε δεξί κλικ οπουδήποτε και επιλέξτε New->DWORD(32-bit) Value
   και δώστε το όνομα NoAutoRebootWithLoggedOnUsers.



7. Κάντε δεξί κλικ στο NoAutoRebootWithLoggedOnUsers επιλέξτε Modify.. και σαν Value data: 1



8. Κλείστε τον editor,κάντε restart και είστε έτοιμοι.

Αυτο το γεγονός μάθησης δεν προέκυψε άμεσα απο κάποια αιτία. Μου είχε τύχει πιο παλία ο υπολογιστής μετά απο αυτόματο update να κάνει restart επειδή δεν ήμουν εκεί να το αποτρέψω,με αποτέλεσμα να χαθεί εργασία που δεν είχα αποθηκεύσει. Τώρα πρόσφατα σε ένα Windows7 Tips and Tricks ανακάλυψα πως υπάρχει λύση και σ'αυτό το "πρόβλημα".

Κυριακή 24 Οκτωβρίου 2010

LastPass you will have to remember

Το LastPass είναι ένα πρόγραμμα  το οποίο αποθηκεύει σε μια βάση δεδομένων τα user και passwords τα οποία χρησιμοποιείτε για να κάνετε login στις διάφορες ιστοσελίδες. Το ενδιαφέρον είναι πως τα δεδομένα σας αποθηκεύονται κωδικοποιημένα! Την ίδια λειτουργεία μπορεί να πεί κάποιος πως την παρέχουν και οι διάφοροι browsers(πχ Firefox), μόνο που τα στοιχεία αυτά δεν είναι κωδικοποιημένα, ούτε ασφαλή απο δεύτερα άτομα. 
Αυτό αποδεικνύεται τρέχοντας τον Firefox στο Tools-Options-Security-Saved Passwords όπου μπορείτε να δείτε την ιστοσελίδα - user -password.

Το πρόγραμμα αυτό είναι freeware και μπορείται να το κατεβάσετε απο  https://lastpass.com/

Ένα μικρό tutorial σε video για το πώς να χρησιμοποιήσετε το LastPass




Πώς προέκυψε να μάθω γι' αυτό ; Η αιτία ήταν το μάθημα της διδακτικής! Μετά απο την δημιουργία λογαριασμών σε 6-7 ιστοσελίδες είχα εκτεθημένα σε ένα .txt αρχείο users και passwords. Εκτός αυτού ήταν αναμενόμενο να καταντήσει λίγο έως πολύ σπαστικό κάθε φορά να κάνω login σε κάθε ιστοσελίδα. Έψαξα στο google για "password manager freeware" και ένα απο τα αποτελέσματα ήταν αυτό εδώ το προγραμματάκι.
( Προσωπικά, δεν θα το χρησιμοποιούσα για αποθήκευση κωδικών τραπεζικού λογαριασμού direct banking κλπ, αλλά για λογαριασμούς όπως twitter,bitly.. είναι ο,τι πρέπει )

Σάββατο 23 Οκτωβρίου 2010

Convert your physical discs into virtual discs

Ένα ενδιαφέρον προγραμματάκι είναι το Daemon Tools Lite το οποίο είναι freeware. Σκοπός αυτού του προγράμματος είναι να μετατρέψει ένα CD/DVD σε εικονικό δίσκο. Μία απο τις γνωστές καταλήξεις αρχείων εικονικών δίσκων είναι το .iso  . Αυτό που κατα την γνώμη μου είναι χρήσιμο, είναι το οτι σου δίνεται η δυνατότητα να αποθηκέυσεις τα περιεχόμενα ενός φακέλου σαν ένα ενοιαίο αρχείο .iso . Χρησιμοποιώντας το Daemon Tools Lite μπορείς να ανοίξεις αυτό το .iso  και να χρησιμοποιήσεις τα δεδομένα που υπάρχουν μέσα σ'αυτό. (Παρόμοια λειτουργεία θα μπορούσα να πω οτι παρέχει το WinRar,WinZip κλπ,με την μόνη διαφορά πώς σε αυτά πρέπει να κάνεις extract τα περιεχόμενα)

Αφού κατεβάσεται το προγραμματάκι και το εγκαταστήσετε, ένα εικονίδιο εμφανίζεται κάτω δεξιά στο menu taskbar.  
                                                         




( download link  http://www.daemon-tools.cc/eng/downloads )

Όπως προσέξατε, στο MyComputer έχουν εμφανιστεί 2 καινούργιοι εικονικοί δίσκοι. Στην δική μου περίπτωση ο G: και ο H:

                                                         
 Αυτό φαίνεται επίσης και κάνοντας δεξί κλικ στο εικονίδιο του Daemon στο menu taskbar


 Επιλέγοντας το Virtual Devices - Device 0:[G:] No Media θα σας εμφανιστεί το πιο κάτω παραθυράκι





Επιλέξτε Mount Image.. και βρείτε το .iso αρχείο που θέλετε να ανοίξετε.

Αφού πατήσετε Open, στο MyComputer θα δείτε ότι ο οπτικός δίσκος είναι σε λειτουργεία και μπορείτε να το τρέξετε σαν κανονικό CD Rom.



Η αφορμή για να μάθω για αυτό εδώ το προγραμματάκι προέκυψε βασικά απο .iso downloading αρχεία τα οποία αρχικά δεν ήξερα πως να τα ανοίξω. Το μόνο που είχα να κάνω ήταν να ψάξω στο google για ".iso" . Έτσι, μια απο τις εφαρμογές που μου έβγαλε σαν αποτέλεσμα ήταν το Daemon Tools. Το κατέβασα, έκανα μερικές δοκιμές και τα κατάφερα :)

Πέμπτη 21 Οκτωβρίου 2010

Πως να τοποθετήσετε shortcut key για executable αρχεία

Για να αποφεύγεται η τοποθέτηση shortcuts αρχείων στο desktop που χρησιμοποιούνται συχνά απο τον κάθε χρήστη υπάρχει ο τρόπος να θέσετε shortcut keys για τα αρχεία τα οποία χρησιμοποείτε ποιο συχνά ως εξή:

Πλήκρολογήστε δεξί κλικ και properties πάνω στο .exe αρχείο στο οποίο θέλετε να θέσετε shortcut key
και θα εμφανιστεί το πιο κάτω εικονείδιο. Τοποθετείστε στο πεδίο Shortcut key όπου None π.χ
Ctrl + Alt + C και πατήστε OK. Χρησιμοποιώντας τον συνδιασμό αυτών των πλήκτρων το .exe αρχείο θα τρέχει.


Ένα απο τα προβλήματα που είχα ανέκαθεν στη χρήση του υπολογιστή μου είναι πως μετά απο ένα μικρό χρονικό διαστημα χρήσης του, γεμίζω το Desktop με shortcuts προγραμμάτων που εχω κάνει εγκατάσταση. Κάποτε αυτό γίνετε απο απροσεξία κατά την εγκατάσταση των προγραμμάτων και άλλοτε για την δική μου ευκολία εκτέλεσης αυτών. Η μεγάλη ποσότητα όμως εικονιδίων στο Desktop εκτός απο αντιαισθητική, προκαλεί και χάος. Ενώ ο αρχικός σκοπός της εγκατάστασης shortcuts είναι η διευκόλυνση, εντέλη σαν αποτέλεσμα πάλι σε κάνει να ψάχνεις αυτό που θές να τρέξεις. Έτσι, μία καλή λύση είναι να θέσεις shortcut keys στα βασικότερα προγράμματα που χρησιμοποιείς συχνότερα ώστε να μήν χρειάζεται να τα έχεις στην οθόνη σου. Δεν είναι θεμιτό να θέσεις για κάθε πρόγραμμα και αντίστοιχο shortcute key. Αυτά που δεν χρησιμοποιείς, καλό είναι απλά να τα διαγράψεις απο την οθόνη. Την μέθοδο αυτή δέν έχω ψάξει για να την βρώ. Τυχαία διάβαζα tips τα οποία μπορεί κάποιος να χρησιμοποιήσει για να κάνει την ζωή του ευκολότερη χρησιμοποιώντας τα windows. Μπορώ να πώ πως έχω υιοθετήσει αυτή τη μέθοδο και έτσι καταφέρνω να διατηρώ το Desktop μου καθαρό :)

Τρίτη 19 Οκτωβρίου 2010

Εύκολος τρόπος για διάσπαση και επανένωση αρχείων

Χρησιμοποιώντας το freeware application Hj-Split, μπορούμε με πολύ εύκολο τρόπο να διασπάσουμε σε μικρότερα αρχεία ένα μεγάλο αρχείο και έπειτα να το επανενώσουμε χρησιμοποιώντας τα μικρότερα αρχεία. Αυτό ειναι χρήσιμο  για:  αποθήκευση αρχείου πχ 6Gb σε 2 dvd's των 4.7Gb /  upload στο rapidshare σε αρχεία μεγέθους 200Mb / αποστολή μικρότερων αρχείων σε P2P ώστε σε περίπτωση αποτυχίας αποστολής του αρχείου να μην "χαθεί" ολόκληρο.

( How to video at  http://bit.ly/94ChUD )

Μέχρι και πριν απο 2 χρόνια ασχολιόμουν αρκετά με παιχνιδια στον υπολογιστή. Σαφώς αυτά όπως όλοι γνωρίζουμε μπορούν να κατεβαστούν απο διαφορα sites ( λάθος αλλά πλέον είναι τάση της κοινωνίας ). Πριν μερικά χρόνια, τα παιχνίδια χωρούσαν σε ένα απλό Cd, έπειτα σε DvD, και τώρα σε BlueRay Discs. Αυτό που με ώθησε να βρώ αυτό το προγραμματάκι ήταν πως τα παιχνίδια είχαν χωρητικότητα γύρω στα 6GB και δεν χωρούσαν σε Dvd των 4.7GB. Ta BlueRay Writers και Discs ήταν πολύ ακριβά, ο σκληρός του υπολογιστή άρχισε να γεμίζει και έτσι υποχρεωτικά έπρεπε να βρώ λύση στο πρόβλημα. Μετά απο ένα σύντομο ψάξιμο στο google και σε διάφορα forums βρήκα την απάντηση. Σύντομο γιατι απ'οτι φάνηκε το πρόβλημα που αντιμετώπιζα απασχολούσε πολύ κόσμο. Όταν βρίσκεσε σε αδιέξοδο το μόνο που πρέπει να κάνεις είναι να ψάξεις. Προβλήματα στα οποία νομίζεις πως δεν υπάρχουν λύσεις την δεδομένη χρονική στιγμή λύνονται σχεδόν άμεσα. Η μόνη δυσκολία που προκύπτει όταν χρησιμοποιείς μηχανές αναζήτησης είναι να βρείς τις σωστές λέξεις κλειδιά που θα σε οδηγήσουν στο αναμενόμενο αποτέλεσμα. Αυτή πιστεύω είναι γνώση  που αποκτάται μόνο με την εμπειρία.

Πέμπτη 14 Οκτωβρίου 2010

Μετατροπή αρχείου .camrec σε .wmv

Χρησιμοποιώντας το Camtasia Studio, το τελικό αρχείο που αποθηκεύεται είναι τύπου .camrec το οποίο δεν αναγνωρίζεται σαν video απο τις ιστοσελίδες (π.χ youtube). Πρέπει να μετατραπεί σε τύπο .wmv ώστε να μπορεί να αναπαραχθεί.


Ο τρόπος μετατροπής αρχείου απο .camrec σε .wmv παρουσιάζεται στον πιο κατώ σύνδεσμο :
http://www.youtube.com/watch?v=aID_AF52IBU



Αφορμή για αυτό το πρώτο μαθησιακό γεγονός στάθηκε μια απορία που είχε κάνει ένας συμφοιτητής στο μάθημα σχετικά με ένα προβλήμα που παρουσιαζόταν κατα την αναπαραγωγή του video που είχε δημιουργήσει στο camtasia. Μέχρι εκείνη τη στιγμή εγώ δεν είχα ασχοληθεί με το συγκεκριμένο λογισμικό και όταν επέστρεψα σπίτι άρχισα να το ψάχνω. Είχα δημιουργήσει το πρώτο μου screencast και όταν πήγα να το ανεβάσω στο youtube, υπήρχε πρόβλημα με την συμβατότητα του αρχείου. Έτσι αρχισα να ψάχνω πειραματικά στο camtasia πως να κάνω save ένα video που δημιουργώ σε διάφορους τύπους δεδομένων, εχτός απο .camrec. Ομολογώ πως μου πήρε γύρω στη μία ώρα μέχρι να βρώ αυτό που έψαχνα. Είχα κάνει αρχικά μια προσπάθεια να βρώ απάντηση με την βοήθεια του google αλλά δεν τα κατάφερα. Έτσι υποχρεωτικά πήγα με την μέθοδο του πειραματίζομαι και βρίσκω. Απο τη μία μου πήρε σχετικά αρκετή ώρα για να βρώ κάτι απλό, απλό γιατι θεωρούσα δεδομένο οτι αυτή η λειτουργεία παρέχεται αλλά μέσα απο το όλο ψάξιμο ανακάλυψα κι άλλες λειτουργείες, άσχετες με αυτό που αρχικά έψαχνα,οι οποίες πολύ πιθανόν να μου χρησιμεύσουν αργότερα.