A desire to travel, to understand one's very existence on the border of Order and Chaos

Τελευταία

*Jflap*

Γειά σας και σήμερα!

Ο τίτλος δεν λέει και πολλά για να ψαρώσετε και να μην κλείσετε το παράθυρο ευθύς αμέσως αλλά ελπίζω σήμερα να κάτσει κάποιος να το  διαβάσει διαφορετικά θα μιλάω μόνη μου και δεν είναι καλό σημάδι!

Anyway, το θέμα που σκέφτηκα να θίξω σήμερα μάλλον αφορά πολύ κόσμο της σχολής οπότε ίσως προσεγγίσει κάποιους που το θεωρήσουν ενδιαφέρον. Για μένα δεν είναι καινούριο μαθησιακό γεγονός διότι χρησιμοποίησα πέρυσι αυτό το εργαλείο στο πλαίσιο ενός μαθήματος(αν και εγώ και η ομάδα μου το ανακαλύψαμε μόνοι μας-όπως ξέρετε δεν γίνεται νύξη για αυτό στο μάθημα). Η αφορμή για να γράψω για αυτό μου δόθηκε μεσα από συζητήσεις στο ενδιάμεσο των μαθημάτων όπου όλοι ήταν κάπως αγχωμένοι ως γνωστόν με το 1ο σετ compilers που μπήκε νομίζω αυτές τις μέρες. Για να μην πολυλογώ λοιπόν,πρόκειται για το jflap. Λίγα λόγια αυτό: πρόκειται για ένα λογισμικό με το οποίο μπορείς να πειραματίζεται πάνω σε «θέματα γλώσσεων» θέτοντας το κάπως γενικά,συμπεριλαμβάνοντας μη ντετερμινιστικά αυτόματα, μηχανες turing, διάφορα είδη γραμματικής κτλ. Είναι προφανές ότι είναι πολύ χρήσιμο για το μάθημα των compilers αφού πχ μπορεί κάποιος να φτιάχνει εκεί το αυτόματό του και πολύ εύκολά να ελέγχει με παραδείγματα αν αυτό καλύπτει όλες τις περιπτώσεις που περικλύει η κανονική έκφραση που έχει, ή μπορεί από ένα ντετερμινιστικό αυτόματο να βγάλει κανονική έκφραση και πάλι να ελέγξει για την ορθότητά της, να μετατρέπει μν ντετερμινιστικά αυτόματα σε ντετερμινιστικά και πολλά άλλα.

Σε κάθε περίπτωση μπορεί να βοήθησει στη κατανόηση της δομής πολλών πραγμάτων στη θεωρία των αυτομάτων αλλά και όχι μόνο.

Συνοπτικά εγώ χρησιμοποιήσα αυτές τις λειτουργίες που παρουσιάζω παρακάτω αλλά η χρησιμότητα του για κάποιον που θα το ψαξει καλύτερα είναι πιο ευρεία.

Δημιούργησα

* DFA

* NFA

* regular grammar

* regular expression

και μετέτρεψα

* NFA -> DFA -> Minimal DFA

* NFA <-> regular expression

* NFA <-> regular grammar

Είναι μόνο ένα jar file οπότε ως προϋπόθεση επιτυχούς εγκατάστασης έχει την ύπαρξη java 1.4 και νεότερη στο pc.

Το site το οποίο είναι πολύ καλό και παρέχει πολλές σχετικές πληροφορίες είναι το εξής

http://www.jflap.org/

απ’ όπου θα κατεβάσουμε και το πρόγραμμα.

Στη αριστερή στήλη επιλέγουμε get jflap και μας πετάει σε μια σελίδα που ζητάει να συμπληρώσουμε μια φόρμα , η οποία δεν είναι τίποτα το ιδιαίτερο αφού πρόκειται μάλλον για μια μικρή «δημοσκόπηση» του πανεπιστήμιου που εφτιαξε το πρόγραμμα για να δουν το target group που χρησιμοποιεί το πρόγραμμα και τους λόγους. Επομένως συμπληρώστε την άφοβα(και αγόγγυστα-σιγά δεν είναι μεγάλη!) Α, εννοείται πως μπορούμε να το κατεβάσουμε και από αλλού ευθύς αμέσως αλλά αυτός είναι ο ενδεδειγμένος τρόπος. hehe! Αφου συμπληρώσαμε τη φόρμα μας ανακατευθύνει αυτόματα στη σελίδα που θα το κατεβάσουμε, η οποία περιέχει πολλές εκδόσεις του jflap με τις τελευταίες να είναι οι πιο αναθεωρημένες οπότε επιλέγουμε την τελευταία όπως φαίνεται και στο screenshot.

Οδηγίες για το πως θα το τρέξουμε αφού κατέβει περιέχονται εδώ(ανάλογα με το λειτουργικό που χρησιμοποιείτε)

http://www.jflap.org/jflaptmp/toRun.html

Για linux-οειδή συστήματα, κλασικά στην κονσόλα εκτελούμε java -jar JFLAP.jar και εμφανίζεται ως δια μαγείας αυτό:

wiki: http://jflap.wikia.com/wiki/JFLAP

tutorial: http://www.jflap.org/tutorial/

Ένα  screenshot με παράδειγμα υλοποιήσης στο jflap είναι το εξής:

Περί αυτού πρόκειται. Όσο για μένα ο σκοπός και το εύρος στο οποίο το χρησιμοποιήσα είναι φανερός. Ίσως είναι χρήσιμο και για άλλα μαθήματα, όποτε παίζει να διαβάσω και το tutorial γιατί το χρησιμοποήσα λίγο εμπειρικά και δεν γνωρίζω τις λειτουργίες του στην ολότητά τους! read the f*** manual δεν λένε; τυχαίο;;

Μέχρι το επόμενο post, καλά..tweets! Τα λέμε αύριο στο μάθημα! 🙂

Advertisements

Macbuntu?!?

Λοιπόν, σήμερα είπα να πω δυο λογάκια για ένα θέμα όχι και τόσο χρήσιμο αλλά διασκεδαστικό παραταύτα. Ήξερα ότι κάτι τέτοιο είναι εφικτό αλλά ποτέ δεν μου κίνησε την περιεργία να το εφαρμόσω. Ενώ λοιπόν βρισκόμουν σε ένα forum  προσπαθώντας κλασικά να λύσω κάποιο πρόβλημά μου, ανάκαλυψα ένα εύκολο τρόπο να αλλάξουμε το theme του υπολογιστή μας και συγκεκριμένα από Ubuntu(ναι ξέρω όλο post που αφορούν linux κάνω αλλά προς το παρόν αυτό θα ισχύσει για αρκετό καιρό αφού τρέχω μόνο αυτό το λειτουργικό και οι δημοσιεύσεις μου γίνονται και αφορούν real time μαθησιακά γεγονότα), σε OS X GUI(για τους λάτρεις των mac) με τη βοήθεια του Macbuntu theme.

Ναι, ναι όπως το ακούσατε, για σας που είστε fans του mac λειτουργικού αλλά δεν σας πάει η καρδιά να δώσετε τόσα χρήματα για εναν mac ή να εγκαταλείψετε το πολύτιμο linux-οειδές λειτουργικό σας το Macbuntu θα εγκαταστήσει όλες τις απαραίτητες εφαρμογές, εικονίδια κτλ στο pc σας ώστε να μην έχει να ζηλέψει τίποτα από ένα αυθεντικό mac(τουλάχιστον στην εμφάνιση :P).

Λοιπόν, η ώρα της κρίσης έφτασε γι’ αυτό ανοίξτε την κονσόλα σας και πληκτρολογήστε τις παρακάτω εντολές πατώντας enter μετά την καθεμία.

wget https://downloads.sourceforge.net/project/macbuntu/macbuntu-10.04/v2.2/Macbuntu-10.04.tar.gz -O /tmp/Macbuntu-10.04.tar.gz

tar xzvf /tmp/Macbuntu-10.04.tar.gz -C /tmp

cd /tmp/Macbuntu-10.04/

./install.sh

Αυτό! Κατά τη διάρκεια εγκατάστασης δίνει και μερικές επιλογές τύπου τι logo να χρησιμοποιήσει στο menu, κάτι για τα θέματα του firefox, thunderbird κτλ .Και επειδή το δοκίμασα και εγώ σήμερα έχω να πω πως είναι αρκετά διασκεδαστικό να δοκιμάζεις ένα καινούριο θέμα-έστω και προσωρινά. Μπαίνεις λίγο στη διαδικασία εξευρεύνησης του αν και λίγο στην αρχή εγώ ένιωσα μια αμηχανία πχ όταν δεν έβρισκα που πάνε τα minimized παραθυρά μου! Αν πάλι δεν σας κάθεται καλά μπορείτε πολύ εύκολα να το απεγκαταστήσετε πληκτρολογώντας πάλι τις ίδιες εντολές αντικαθιστώντας το ./install.sh με ./uninstall.sh
Εγώ ακόμα δεν το έκανα, για να δούμε!

Ορίστε και ένα screenshot από το δικό μου desktop:

Ubuntuλεξικό!

Λοιπόν, σήμερα θα εγκαταστήσουμε ένα λεξικό στο ubuntu διότι τελευταία στιγμή όταν χρειάζεσαι να μεταφράσεις κάτι δεν βρίσκεις τίποτα της προκοπής ως online λεξικό! Εγώ το πρωί έπρεπε να προλάβω την διορία αποστολής κάποιων εγγράφων στο εξωτερικό ενώ έπρεπε πρώτα να τα μεταφράσω. Πάνω στη βιασύνη μου, το μυαλό μου κόλλησε και για κάποιες λέξεις έπρεπε να ανατρέξω σε λεξικα. Τι λεξικά όμως, που προσπαθησα να χρησιμοποιήσω ότι έβρισκα μπροστά μου στο google και το αποτέλεσμα ήταν σχεδόν καταστροφικό.. γι’ αυτό ορίστε το stardict για να το ‘χέτε όταν το χρειαστείτε!

Εγκατάσταση:

1)Ανοίγουμε το synaptic package manager και κάνουμε search για stardict

Θα εμφανιστούν μερικά προγράμματα.
Με δεξί κλίκ εγκαθιστούμε το qstardict (σε kde) ή το stardict-gnome (σε gnome) μαζί με τις εξαρτήσεις τους.

2)Μετά ανοίγουμε την κονσόλα και εκτελούμε διαδοχικά τις εντολές:

cd /tmp

wget http://files.ubuntu-gr.org/forum/ftso/various/Dictions.zip

sudo unzip /tmp/Dictions.zip -d /usr/share/stardict/dic/

sudo chmod -R +rwxr+xr+x /usr/share/stardict/dic/*

rm /tmp/Dictions.zip

3)Τέλος ανοίγουμε το πρόγραμμα που εγκαταστήσαμε από το μενού και κάνουμε τις κατάλληλες ρυθμίσεις επιλέγοντας όποια από τα λεξικά μας ενδιαφέρουν.

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

Πως να χρησιμοποιήσετε το pc σας ως ξυπνητήρι

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

Η λύση ειναι το Alarm-clock! Λοιπόν ο τρόπος εγκατάστασης του είναι πολύ απλός:

1)Πηγαίνετε System/Administration/Synaptic Package Manager και στο search βάζετε alarm clock

2)Αυτόματα σας εμφανίζει μια σειρά από προγράμματα και σεις με δεξί κλικ επιλέγετε mark for installation στο alarm clock


3)Στο παράθυρο που εμφανίζεται και σας ρωτάει αν θα εφαρμοστούν οι καινούριες αλλαγές επιλέγετε Apply.

4)Αυτό ήταν! Τώρα πηγαίνετε Applications/Accessories/Alarm Clock και το ξυπνητήρι είναι έτοιμο να το προσαρμόσετε στις ανάγκες σας!

  • Η εγκατάσταση μπορεί να γίνει και από την κονσόλα πληκτρολογώντας

sudo apt-get install alarm-clock

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

Το slideshow περιέχει εικόνες του interface της εφαρμογής.

Το σλάιντ απαιτεί την χρήση JavaScript.


Getting Things Done!

Λοιπόν, επειδή πολύς ντόρος έγινε τώρα τελευταία για όλα αυτα που έχουμε να κάνουμε για τη σχολή και όχι μόνο, ορίστε μια ελεύθερου λογισμικού πολυπλατφόρμα οργάνωσης προγράμματος βασισμένη στο concept «Get things done». Είναι απλή και “ελαφριά” και προσφέρει πολλά ενδιαφέροντα χαρακτηριστικά όπως λίστες, προτεραιότητες, projects κτλ.

Τα βήματα εγκατάστασης είναι πολύ απλά και είναι τα εξής:

(η περιγραφή αφορά εγκατάσταση σε ubuntu-linux και απαιτεί να έχετε java 1.6 ή κάποια νεότερη έκδοσή της στο pc σας.)

1)Μπαίνετε στη σελίδα sourceforge.net/projects/gtd-free/ και πατάτε download now όπως δείχνει και το screenshot


2)Έπειτα, κατεβαίνει το αρχείο gtd-free-0.6-beta.jar και στο παράθυρο επιλογής πατάτε Save file


3)Στη συνέχεια ανοίγετε την κονσόλα και με cd Downloads (εστω Downloads ο φάκελος αποθήκευσης του αρχείου που κατεβάσατε) μπαίνετε σ’ αυτόν τον φάκελο και μετά εκτελείτε στην κονσόλα

java -jar gtd-free-0.6-beta.jar

Σε κάποια φάση ανοίγει ένα παράθυρο και ρωτάει σε τί τύπου βάσης δεδομένων θέλετε να αποθηκευτούν τα δεδομένα σας. Εγώ διάλεξα σε XML database, η επιλογή εδώ είναι προσωπική, η διαφορά των επιλογών φαίνεται στο screenshot.


4)Και….δεν υπάρχει 4ο βήμα αφού τώρα σας έχει ήδη ανοίξει το interface του gtd-free και περιμένει να…οργανωθείτε!

Υ.Γ εικονίδια κτλ δεν υπάρχουν, κάθε φορά που θέλετε να το ανοίξετε ακολουθείτε το βήμα 3.

  • Άλλες παρόμοιες εφαρμόγες ειναι τα tasktoy, vitalist, remember the milk.

Η αλήθεια είναι πως πρόκειται για ένα νέο πρόγραμματάκι για μένα, δεν έχω ασχοληθεί ακόμα και πολύ μαζί του ώστε να μπορώ να δώσω επιλπέον tips και tricks ωστόσο θεωρώ ότι είναι μια ωραία ιδέα οργάνωσης όλων αυτών που έχω να κάνω, γιατί πόσο να αντέξει πια η ram του μυαλού μου;; 😛

Περιμένω εντυπώσεις!

Το σλάιντ απαιτεί την χρήση JavaScript.


Ubuntu One: Μια διαδικτυακή υπηρεσία συγχρονισμού αρχείων

Ήταν κάτι που έλειπε από το Ubuntu αλλά από την έκδοση 9.10 (Karmic Koala) άρχισε να είναι προ-εγκατεστημένο. Πρόκειται για το Ubuntu One, μια cloud web service παρόμοια του Dropbox. Πρόκειται δηλαδή για μια υπηρεσία που συγχρονίζει τα αρχεία σε έναν ή περισσότερους υπολογιστές. Η υπηρεσία δίνει την δυνατότητα αποθηκεύσης και να συγχρονισμού αρχείων μεταξύ υπολογιστών online. Το Ubuntu One έχει ένα client ο οποίος μπορεί να τρέξει σε έκδοση 9.04 ή νεότερη και προσφέρει 2GB αποθηκευτικό χώρο εντελώς δωρεάν. Σύμφωνα με την επίσημη ιστοσελίδα είναι δυνατή η αύξηση του αποθηκευτικού σου χώρου στα 50GB έναντι κάποιου αντιτίμου.Ο συγχρονισμός δεν αφορά μόνο αρχεία αλλά και επαφές τηλεφώνου(συμβατό με iphone και androids), bookmarks και notes μεταξύ του pc και του personal cloud. Δεν πρέπει να παραλείψω να τονίσω το cloud music store που παρέχει μέσω του οποίου μπορεί κάποιος να αγοράσει τραγούδια και να τα αποθηκεύσει στο pc του. Επίσης, αξιοσημείωτη είναι η δυνατότητα πρόσβασης στα αρχεία και από το Web Interface, όπου μπορεί κάποιος να κάνει όλες τις ενέργειες που έκανε και με τον client του Ubuntu. Έτσι εύκολα μπορεί κάποιος από ένα υπολογιστή που δεν “τρέχει” Ubuntu αλλά μία διαφορετική έκδοση Linux ή Windows ή Mac OS να κάνει upload, download ή synchronization κάποιο αρχείο.

  • Η εγκατάστασή του είναι εύκολη υπόθεση αλλα έχει μικρές διαφορές για τις διάφορες εκδόσεις linux. Γι’ αυτό το λόγο κι επειδή δεν έχει νόημα να κάνω στεγνή αναπαραγωγή των βημάτων προς εγκατάσταση παραθέτω το link όπου υπάρχει λεπτομερής οδηγός για εγκατάσταση για τις διάφορες εκδόσεις linux:

https://wiki.ubuntu.com/UbuntuOne/Tutorials/Setup

  • Παρόμοιες υπηρεσίες που υποστηρίζουν Linux είναι και οι παρακάτω:

ZumoDrive (1GB), Dropbox (2GB), Wuala (1GB)

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

  • Περισσότερα μπορείτε να διαβάσετε εδώ:

https://wiki.ubuntu.com/UbuntuOne/

http://voices.canonical.com/ubuntuone/

https://one.ubuntu.com/dashboard/

  • και για επιπλέον νέα και tricks:

http://twitter.com/ubuntuone

Ακολουθεί ένα μικρό slideshow me screenshots από το online interface που παρέχει η υπηρεσία:

Το σλάιντ απαιτεί την χρήση JavaScript.


WINE

Τον τελευταίο καιρό χρησιμοποιώ αρκετά ubuntu με αφορμή το οτι ο σκληρός μου δίσκος μαλλον αργοπεθαίνει και τα windows δεν bootαρουν καν. Όλα καλά σχετικά, ‘ντάξει είχα και έχω τα κλασικά προβλήματα αρχάριου σε unix-οειδές περιβάλλον, όπως δυσκολία σε κάποιες εγκαταστάσεις προγραμμάτων, κάποιες ασυμβατότητες, στενή γνωριμία με την κονσόλα κτλ κτλ. Ωστόσο, στην πορεία και όταν τα πράγματα που κάνω καθημερινά μου το επέβαλλαν, ήρθα σε επαφή με το Wine. ‘Hθελα να περάσω τραγούδια στο ipod μου και έτσι χρειάστηκα το itunes. Ποιό itunes όμως στο ubuntu; Και επειδή σίγουρα κάποια στιγμή θα αναρωτηθείτε και ‘σεις το ίδιο-αν δεν το ‘χετε κάνει ήδη, είπα να σας το «γνωρίσω».

Λοιπόν, το ανακάλυψα αφού γύρισα κάμποσο στα άδυτα του internet και των forums. Δεν είναι τίποτα άλλο από μια πλατφόρμα η οποία τρέχει windows εφαρμογές σε unix-περιβάλλοντα. Για την ακρίβεια, ειναι ένα λογισμικό ανοιχτού κώδικα, δωρεάν φυσικά, που όχι μόνο τρέχει εφαρμογές που γράφτηκαν για windows αλλά παρέχει και μια βιβλιοθήκη, την winelib, με τη βοήθεια της οποίας οποιοσδήποτε μπορεί να συμβάλλει στο να υπάρξουν επιπλέον windows-εφαρμογές για unix. Επομένως,είναι φανερό πως δεν πρόκειται απλώς για μια εικονική μηχανή αλλα η ύπαρξη της βοηθάει εμάς τα linux-noobia να εισαχθούμε ομαλότερα σε linux-οειδή λειτουργικά συστήματα. Και μην είστε προκατειλλημένοι, δεν έχεις μόνο μια κονσόλα απέναντι σου αλλά παρέχει και γραφικό περιβάλλον! Αρκεί να κατεβάσεις για παράδειγμα το itunes και να το ανοίξεις με το wine. Συνηθισμένα πράγματα δηλαδή.. Και αν υπάρξει και κάποιο πρόβλημα μπορείς να στείλεις το report του bug σου στο Bugzilla έτσι ώστε να ληφθεί υπόψην και πιθανόν ένα patch να σου λύσει το πρόβλημα, το οποίο ίσως να μην είναι και μόνο δικό σου..

Και γενικά να το δείς, το wine λέει διότι μπορείς και εκμεταλεύεσαι τα δυνατά χαρτια ενός linux λειτουργικού, όπως είναι η σταθερότητα, η ευελιξία του κτλ χωρίς να σου λείπουν προγράμματα απ’τα οποία εισαι σίγουρα εξαρτημένος..ή έστω συνηθισμένος.  Άσε που μπορείς να ‘χεις remote access σ’όλα αυτά ενώ μέχρι τωρα έπρεπε να μπείς στα windows του υπολογιστή σου. Και αν ξέρεις να γράφεις και κανα scriptακι ή να ψιλοπρογραμματίζεις μπορείς να το προσαρμόσεις στις ανάγκες σου.

Τι θα λεγες τώρα για ένα ποτηράκι κρασί;;

Οδηγίες: https://help.ubuntu.com/community/Wine

Επίσημη ιστοσελίδα: http://www.winehq.org/

Υ.Γ. Δεν ξεχνάμε τα εναλλακτικά προγράμματα που έχουν γραφτεί για να τρέχουν παντού. Δεν χρειάζεται η συνήθεια να περιορίζει τους ορίζοντές μας.

Εδώ: αντίστοιχα του itunes είναι τα amarok, banshee.