Εμφάνιση αναρτήσεων με ετικέτα software. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα software. Εμφάνιση όλων των αναρτήσεων

Τετάρτη, Ιανουαρίου 19, 2011

vi stories (και κανά-δυο tips)

Πρώτη επαφή με τον vi, κάποια χρόνια πριν, στο εργαστήριο των ΛΣ ΙΙ. "Όποιος δεν ξέρει να χειρίζεται vi στο τέλος του εξαμήνου, κόβεται αυτόματα." Ακολούθησε ένα γενικό στραβομουτσούνιασμα στην αίθουσα και 20κάτι άτομα πάλευαν για τους επόμενους μήνες να συνηθίσουν τα τρία modes του vi.

Για κάποιο λόγο, μόνο εγώ είχα ενθουσιαστεί - και μάλλον ήταν ο λόγος που κάποιοι με κοιτούσαν περίεργα. Απαξιώ όμως, για αυτό και έκατσα και ασχολήθηκα με τον vi (και τον vim - vi improved) και εκτός μαθήματος, και αργότερα και εκτός σχολής. Κατέληξα να βγάλω όλη την πτυχιακή του master σε vi - σετάρισμα των router, scripting, γράψιμο του thesis report παρέα με LaTeX (άλλη ταλαιπωρία από κει, αποτελεσματικό όμως).

Είμαι σίγουρος ότι σε αυτό το σημείο οι περισσότεροι κουνάτε το κεφάλι σας αποδοκιμαστικά. Haters gonna hate, απαξιώ.

Το θέμα είναι όμως ότι όσο δύστροπος και unfriendly μπορεί να είναι ο vi, είναι ένας ελαφρύς αλλά ΠΟΛΥ ισχυρός text editor από μόνος του, πριν ακόμα βάλεις plugins ή τον παραμετροποιήσεις. Αυτό ακριβώς είναι που τον κάνει 1η επιλογή σε άτομα που πρέπει να δουλεύουν σε διαφορετικά συστήματα. Δεν έχει σημασία αν δουλεύω στο Macbook μου, στον Debian server, στο χακαρισμένο με OpenWRT Linksys, στον Bifrost/Linux router, στο FreeBSD μηχάνημα - ο vi είναι εκεί, με τα ίδια shortcuts, με το ίδιο functionality. ΟΚ ίσως όχι το ίδιο ακριβώς functionality, τα desktop συστήματα συνήθως έχουν vim και όχι απλό vi, αλλά δεν πειράζει να σου λείψουν μερικές υπερ-προχωρημένες λειτουργίες πάνω στο embedded σύστημα του bluetooth handsfree σου (λέμε τώρα). Υπάρχει σχεδόν παντού και για αυτό ακριβώς τον θεωρώ ως το πρώτο πράγμα που πρέπει να μαθαίνει ένας εκκολαπτόμενος sysadmin ή network engineer.

Νταξ, μην αρχίσετε οι πιστοί της Εκκλησίας του Emacs τις επιθέσεις. Έτυχε να μάθω πρώτα vi και δεν έτυχε να ασχοληθώ ποτέ με Emacs, αυτό είναι όλο. Φαντάζομαι ότι τα ίδια περίπου ισχύουν και για τον Emacs, αν και έχω την εντύπωση ότι υπάρχει μεγαλύτερη δυνατότητα παραμετροποίησης μεν, μικρότερο portability δε.

Σύντομο ανέκδοτο: ο technical supervisor της πτυχιακής στο μάστερ είναι linux guru παλιάς κοπής και Emacs ninja - όταν βλέπεις στο X-mailer field "Emacs+κάποιοplugin", ΞΕΡΕΙΣ. Όταν με είδε πρώτη φορά να κάνω edit ένα configuration file σε vi, ψιλοχλώμιασε. "No, no, don't use that, it's no good." Την άλλη βδομάδα, άρχισα να κουβαλάω μαζί μου την αγαπημένη μου κούπα του καφέ, The Mug of Vi References, η οποία καθόταν επιδεικτικά δίπλα στο πληκτρολόγιο. Δεν νομίζω ότι έχω ξαναδεί άνθρωπο να προσπαθεί να αγνοήσει κάτι με τέτοια αποτυχία. Είμαστε κι εμείς, αλλά είστε κι εσείς...

Ναι, η εκμάθηση του vi είναι μανίκι, αλλά οι πραγματικοί λόγοι είναι δύο μόνο.
α) Τα operation modes και η λογική τους είναι λίγο περίεργη (ακολουθεί σύντομο tutorial στο τέλος), τελείως διαφορετική από την WYSIWYG λογική απεχθών προγραμμάτων όπως Notepad, Word κλπ. Ο κόσμος στραβώνει.
β) Ο κόσμος δεν κάθεται να μάθει keyboard shortcuts. Θα επιλέξω αυτή την παράγραφο με το mouse, θα κάνω δεξί κλικ, θα κάνω κλικ στο copy κλπ κλπ. Μόλις μάθεις να δουλεύεις αποκλειστικά με πληκτρολόγιο, δύσκολα γυρνάς πίσω.

Πιστεύω ότι σαν χρήστης vi έχω δρόμο ακόμα - είμαι ένας μικρός vi padawan. Το functionality που παρέχει είναι ατέλειωτο και ο vim, ο οποίος αναπτύσσεται ενεργά, προσθέτει συνεχώς καινούρια χαρακτηριστικά. Δεν θα απαριθμήσω features - δεν ξέρω ούτε τα μισά. Θα γράψω όμως μερικά tips που μπορούν να βοηθήσουν τους αρχάριους.

- Με :set number εμφανίζεται αρίθμηση των γραμμών στα αριστερά, πολύ χρήσιμο για όλες τις λειτουργίες που θέλουν πλήθος γραμμών (π.χ. 13dd). Όσοι έχετε Vim 7.3, :set rnu για σχετική αρίθμηση - ο αριθμός δίπλα από την γραμμή δείχνει την σχετική απόσταση από την γραμμή του κέρσορα.

- Το find and replace all matches γράφεται :%s/old_text/new_text/g

- Αυτό κάπου το είδα πρόσφατα, αλλά δεν θυμάμαι που. Τα :help! και :Ni! επιστρέφουν εξυπνάδες :)

- Προσωρινή έξοδος στο shell με :sh. Ιδιαίτερα χρήσιμο όταν έχω κάνει 5-10-50 αλλαγές σε ένα αρχείο, κάνω :w και μου λέει Read-only. Drop to shell με :sh, αλλαγή δικαιωμάτων ή remount του δίσκου ως writable και επιστροφή στο vi γράφοντας exit.

- :make για να αρχίσει η εκτέλεση του make, σύμφωνα με το makefile που έχεις ετοιμάσει. Έχω ένα μικρό makefile για το LaTeX, για να μου ετοιμάζει και ανοίγει το pdf.
 # makefile
pdf: thesis.tex
pdflatex --shell-escape --synctex=1 thesis.tex
evince thesis.pdf (ή open thesis.pdf για MacOSX)
- Πατάς m και ένα γράμμα για να αφήσεις bookmark (mark κατά το vi manual) στην γραμμή που είσαι εκείνη την στιγμή. Επιστροφή με ' ("μονό αυτάκι") και το γράμμα. Δηλαδή, ma για να μαρκάρεις με a την γραμμή, πας 23.000 γραμμές κώδικα (τσσσσ) παρακάτω, αντιγράφεις κάτι, 'a για να επιστρέψεις εκεί που ήσουν. Και φυσικά, άλλο το ma, άλλο το mb, άλλο το mc, άλλο το mA κ.ο.κ. ;)

- Η ταπεινή τελεία επαναλαμβάνει το τελευταίο edit του αρχείου. Όταν λέμε edit, εννούμε ό,τι έκανες στην τελευταία φορά που μπήκες σε insert mode. Αναίρεση φυσικά με undo (πλήκτρο u).

- Το προηγούμενο tip είναι και ο λόγος που θα πρέπει να μάθεις από νωρίς μια καλή συνήθεια: να επιστρέφεις πάντα σε command mode. Δηλαδή, πατάς i για να μπεις σε insert mode, γράφεις αυτό που θες, πάτα Esc για να βγεις από insert mode σε command mode. Μην μετακινείσαι με βελάκια 40 σειρές πιο κάτω ενώ είσαι ακόμα σε insert mode, γιατί αν χρειαστεί να κάνεις undo, θα το μετανιώσεις - θα φύγουν όλες οι αλλαγές από τότε που μπήκες στο insert mode. Ναι, είναι σπαστικό στην αρχή αυτό το πράγμα, αλλά αν πρέπει να κρατήσεις ένα tip από όλα αυτά, είναι αυτό εδώ.

- Indentation μιας γραμμής με >> (προσθέτει ένα επίπεδο indentation). Προφανώς με << φεύγει ένα indentation level. Φυσικά, όπως και στις περισσότερες εντολές του vi, μπορείς να ορίσεις ομάδα γραμμών, π.χ. 4>> για να κάνεις indent την γραμμή που είσαι και τις τρεις επόμενες. Και αν δεν σου κάνει ένα indentation level, πάτα την τελεία για επανάληψη της εντολής ;)

- Syntax highlighting με :set syntax=on.

- Search κάνεις με το /, πχ /wordtofind. Προχωράς στο επόμενο match με n. Επίσης, βοηθάει το :set hlsearch (κάνει highlight τα αποτελέσματα) και το :set incsearch (κάνει LIVE highlight τα αποτελέσματα όπως οι πιο πρόσφατοι browsers, δηλαδή την ώρα που γράφεις το search term). Λίγοι έχουν πάρει χαμπάρι ότι σαν tribute στον vi, το / χρησιμοποιείται και στον Firefox για search. Μεταξύ μας, πολύ πιο βολικό από το Ctrl/Cmd+F.

- Που είναι η άλλη άκρη της παρένθεσης; :set showmatch για να σου δείχνει αυτόματα το άλλο άκρο παρένθεσης ή bracket όταν ο κέρσορας περνάει πάνω από ένα τέτοιο.

- Σου αρέσουν αυτά τα options για showmatch, hlsearch κλπ; Βάλτα στο αρχείο .vimrc που (πρέπει να) βρίσκεται στο home dir σου. Όταν θα ξανανοίξεις τον vi, θα είναι ήδη ενεργοποιημένα.

ΥΓ: vi-vi-vi, the number of the beast :P
-----------------

Υπεραπλουστευμένο vi operation modes tutorial.

Δεν είναι τόσο άσχημα τα πράγματα, βασικά τα operation modes του vi είναι πολύ εύκολα, απλά δεν είναι όπως στους τυπικούς text editors. Θα το πάω συγκριτικά με το notepad για να έχουμε κάποια σημεία αναφοράς.

Περίληψη:

insert mode: γράφω κείμενο
command mode: δίνω εντολές με shortcuts
command line mode: δίνω εντολές γράφοντας όλο το command και τα parameters
Το βασικό mode λειτουργίας του vi είναι το command mode!

Λίιιιιγο πιο αναλυτικά:

Κατά vi, υπάρχουν τρία modes λειτουργίας: command, insert και command line modes. Στο notepad υπάρχει μόνο το insert mode. Και στους δύο editors είναι το mode στο οποίο ό,τι πληκτρολογείς εισάγεται στο κείμενο. Για το notepad, είναι το default mode λειτουργίας.

Στο notepad, αν πατήσεις ctrl+κάποιο γράμμα, θα κάνει μια δουλειά. Θα εκτελέσει μια εντολή. Αφήνεις το ctrl και συνεχίζεις να γράφεις. Στον vi, αυτό λέγεται command mode, αλλά έχει αρκετές διαφορές. Για να πας από insert mode σε command mode, πατάς το Esc ΜΙΑ ΦΟΡΑ. Δεν το κρατάς πατημένο. Πλέον, ό,τι πατήσεις είναι εντολή. Αν πατήσεις δύο φορές d, θα σου σβήσει την γραμμή που είχε τον κέρσορα. Μπορείς να δώσεις πολλές εντολές, την μία μετά την άλλη. Για να πας πάλι σε insert mode, δίνεις μια εντολή εισαγωγής κειμένου (i, a ή o).

Δεν είναι τόσο περίεργο τώρα που το σκέφτεσαι, έτσι; Ε είναι λίγο, γιατί το command mode είναι το default του vi - όταν τον ξεκινάς, ο vi αρχίζει ΠΑΝΤΑ σε command mode. Άρα με τον που ανοίγεις, πρέπει να πατήσεις π.χ. i για να αρχίσεις να γράφεις. Και πάλι όμως, δεν είναι πυρηνική φυσική, έτσι;

Στο notepad νομίζω υπάρχει ένας συνδυασμός πλήκτρων (Ctrl+F10; Alt+F10; θα σε γελάσω) ο οποίος σε πηγαίνει στο menu bar, εκεί που έχεις τα File, Edit κλπ. Εκεί πλέον μπορείς να πλοηγηθείς με τα βελάκια μέχρι να βρεις το search and replace, να βάλεις την λέξη που θες να αλλάξεις και να πατήσεις το ok. Σε γενικές γραμμές, δεν θα έλεγες ότι αυτό είναι μια υπολειτουργία του "command mode" του notepad;

Στο command mode του vi πατάς το : για να σου εμφανίσει μια σειρά στο κάτω μέρος της οθόνης όπου γράφεις μια πιο περίπλοκη εντολή μέχρι να την ολοκληρώσεις και να πατήσεις enter για να εκτελεστεί. Ένα παράδειγμα; :w filename και Enter για να σώσεις (write) το αρχείο με το όνομα filename. Αυτό λέγεται command line mode.

Ναι, οι διαφορές command και command line mode είναι μικρές και να σου πω την αλήθεια, ούτε εγώ κάθομαι να τα πολυξεχωρίσω. Είναι πιο εύκολο (και ίσως πιο "υγιές") να τα θεωρήσεις ένα και να τελειώνεις. Απλά, στο command mode, οποιοδήποτε πλήκτρο πατήσεις, εκτελείται μια εντολή (πχ το u είναι undo), ενώ στο command line mode πρώτα συνθέτεις την εντολή και μετά την "τρέχεις" πατώντας το enter.

Σάββατο, Μαΐου 08, 2010

Σπασμένα για κανέναν

Καλέ μου φίλε που μου ζητάς να σου κατέβασω σπασμένα Windows/Office για να κάνουμε format το PC σου. Ξέχνα το.

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

Αυτό όμως που δεν πρέπει να κάνεις είναι να βάζεις εμένα να σου βρίσκω σπασμένα. Πολλοί οι λόγοι, οι κυριότεροι είναι:
1) δεν γουστάρω (και θα μου πείς ειρωνικά "ωραίος φίλος :P")
2) με εμπλέκεις στην παρανομία σου (και θα σου πω ειρωνικά "ωραίος φίλος :P")

Είμαι "υποχρεωμένος" (γιατί θέλω, ως φίλος) να σε βοηθήσω να φορμάρεις το PC σου και να περάσεις τα πάντα από την αρχή, αλλά δεν είμαι "βαποράκι" κανενός. Αν θες μπορώ να σου δείξω free εναλλακτικές (π.χ. OpenOffice.org, Google Docs), αν θες μπορώ να σου δείξω που θα βρεις την χαμηλότερη τιμή για αυθεντικό Office. Δεν είμαι καθόλου υποχρεωμένος να σου παρέχω software και ειδικότερα σπασμένο software. Δεν είμαι υποχρεωμένος να ξοδέψω χρόνο δοκιμάζοντας cracks αμφιβόλου ποιότητας και ασφαλείας γιατί εσύ βαριέσαι, τσιγκουνεύεσαι ή "δεν ξέρεις".
Αν βαριέσαι εσύ, βαριέμαι κι εγώ.
Αν τσιγκουνεύεσαι να αγοράσεις software, υπάρχουν free εναλλακτικές. *
Αν δεν ξέρεις, ρωτάς και μαθαίνεις.

Αν θες σπασμένα, ψάξε μόνος σου.

Καλού-κακού, όταν τελικά βρεις το software που θες (με οποιαδήποτε μέσα, μου είναι αδιάφορο), κράτα το σε ένα CDάκι, flashάκι ή σε κάποιον εξωτερικό δίσκο για backup. Ξέρεις ότι θα χρειαστεί να ξανακάνεις format σε έναν χρόνο και πάλι θα ψάχνεις.

Λίστες με εναλλακτικές προτάσεις σε software:

* κάνουμε γαργάρα το γεγονός ότι οι περισσότεροι που τσιγκουνεύονται τα λεφτά για software έχουν δώσει και συνεχίζουν να δίνουν ένα κάρο λεφτά σε κινητό, ζάντες αλουμινίου και μπουκάλι/πρώτο τραπέζι πίστα.

Τετάρτη, Μαΐου 27, 2009

The CUinHD project

Το Communication Systems Design ήταν το μόνο μάθημα που είχα αυτή την περίοδο. Πρόκειται για ένα είδος "πρακτικής άσκησης", καθώς ομάδες φοιτητών αναλαμβάνουν να φέρουν εις πέρας ένα project εντός 4 μηνών.

Το δικό μας project ήταν ντουμπλ-φας: HD video conferencing με open-source software και fiber δίκτυο με 10 Gbit routers που τρέχουν Linux. Εξού και το εξυπνακίστικο όνομα του project: CUinHD.

Στο conference κομμάτι, βασικά παίζαμε με το Minisip, ένας open-source client που αναπτύχθηκε εντός του πανεπιστημίου. Όταν το πιάσαμε στα χέρια μας, το Minisip είχε υποστήριξη μόνο για USB webcams - έπρεπε να προσθέσουμε υποστήριξη για video capture cards, και συγκεκριμένα για κάρτες της Matrox. Μετά έπρεπε να προσθέσουμε compression, διότι καλό το raw uncompressed HD video, αλλά πιάνει 1,5 Gb/s στο δίκτυο... Οτιδήποτε είχε να κάνει με το conference system βρίσκεται υπό την σκεπή του HDViper, ένα πανευρωπαϊκό project για HD conferencing μεταξύ πανεπιστημίων.

Το δικτυακό κομμάτι: για να σιγουρευτούμε ότι το HD conference δεν θα περιορίζεται από το δίκτυο, έπρεπε να στήσουμε και ένα πειραματικό δίκτυο 10 Gb/s. Στο όνομα του low-cost και του open-source, οι routers είναι τετραπύρηνοι AMD με fibre cards της Sun που τρέχουν Bifrost, ένα specialized routing Linux distro που ανέπτυξε το πανεπιστήμιο της Uppsala.

Το πρώτο 10 Gb/s link είναι ήδη up and running μεταξύ των δύο campuses του πανεπιστημίου (22χλμ) και επειδή είμαστε θύματα καλοί μαθηταί, χρησιμοποιούμε και WDM units για να πολυπλέκουμε διαφορετικά optical wavelengths μέσα στην οπτική ίνα. Αυτή την στιγμή, η οπτική ίνα μεταφέρει δύο κανάλια, ένα στα 10 Gb/s και ένα στο 1 Gb/s. Το "μικρό" 1 Gb/s αφιερώνεται ως production traffic και το άλλο είναι το playground του πανεπιστημίου. Η προσθήκη κι άλλων καναλιών είναι απλά θέμα αγοράς των routers που θα συνδεθούν στα WDM units. Να σημειωθεί ότι τα WDM tests, πριν στήσουμε το link, πολύ απλά μας έφαγαν τα συκώτια.

Σημαντικότερος stakeholder του project (μετά, φυσικά, από το πανεπιστήμιο) είναι το πανεπιστημιακό νοσοκομείο Κarolinska. Οι εν λόγω κύριοι θέλουν το conference system για να παρακολουθούν χειρουργεία live εξ' αποστάσεως, με την λογική ότι ο χειρούργος θα μπορεί να κάνει κλήση σε κάποιον πιο έμπειρο και εξειδικευμένο γιατρό που θα τον καθοδηγήσει κατά την διάρκεια της επέμβασης. Κάμερες στο ταβάνι, live feed από τα όργανα κλπ. Φυσικά, το Karolinska αναγκάστηκε να απολύσει 900 άτομα πριν 2-3 μήνες και η παραγγελία του hardware έχει παγώσει, οπότε εμείς δεν προλαβαίνουμε να στήσουμε τίποτε εκεί πέρα...

Όμως, ο καλός ο έμπορας καθηγητής έχει φροντίσει να προωθήσει το δικτυακό κομμάτι του project σε Τανζανία και Μοζαμβίκη, όπου τα εκεί πανεπιστήμια είναι στην φάση ανοικοδόμησης υποδομών (ξέρατε ότι η κεντρική Αφρική έχει μόνο μια χερσαία γραμμή internet;), οπότε οι φτηνοί Bifrost routers τους έρχονται λουκούμι. Όπου φτηνοί, σημειώστε γύρω στα $5000 το κομμάτι, αλλά 4x-20x φτηνότεροι από Cisco και Juniper...

Το group μας ήταν 8 άτομα - 4 σουηδοί, 1 αλβανίδα, 1 ουκρανός, 1 κολομβιανή και yours truly. Η όλη εμπειρία ήταν εκπληκτική, και από άποψη learning experience και από το geek factor του θέματος. HD camera των $4500 και 10 Gb/s δίκτυο για να παίζουμε; Ένας Core i7 για encoding; Μια 42αρα TFT για δεύτερη οθόνη στον client; Θέλουμε τίποτα άλλο;

Η κούραση βέβαια ήταν αρκετή διότι απαιτούσε 8ωρο κάθε μέρα, για 4 μήνες, με αναλυτικά time reports κάθε βδομάδα να γράφουν πως ξόδεψες την κάθε ώρα της ημέρας και ποιο ήταν το αποτέλεσμα αυτής της ώρας. Δεν έφτανε μόνο να το "κάνεις να δουλέψει", έπρεπε να γράψεις και το απαραίτητο documentation, με installation guide, use instructions, οποιαδήποτε βλακεία χρειάζεται. Να τρέχεις σε meetings, να ετοιμάσεις παρουσιάσεις, να κυνηγάς τον υπεύθυνο του πανεπιστημίου που σου δίνει hardware, να να να να, οτιδήποτε μπορείς να σκεφτείς. Όχι, δεν ήταν μια κλασική εργασία της σχολής με καθαρά εκπαιδευτικό ενδιαφέρον, π.χ. "υλοποίησε bubble sort". Ήταν as real as it gets.

Και χθες τελείωσε. Κάναμε το exhibition μας, όπου κόσμος περνούσε από το δωμάτιο μας να δει το σύστημα να δουλεύει και να του εξηγήσουμε τι κάνει. Σήμερα υποτίθεται ότι θα έρχοταν και μια επιτροπή εκπαίδευσης του Ευρωπαϊκού Κοινοβουλίου να μας καμαρώσει or something, αλλά τελευταία στιγμή (20 λεπτά πριν εμφανιστούν) το ακύρωσαν. Οπότε... μιας και είμαι στο project room, είπα να γράψω το σεντόνι ποστάκι αυτό.

Για όποιον ενδιαφέρεται για όλες τις ανατριχιαστικές λεπτομέρειες, υπάρχει το site του CUinHD project. Στην αριστερή πλευρά, κάτω από τα Deliverables, θα βρείτε τα Documents, όπου υπάρχει όλο το βουνό του documentation που χρειάστηκε να κάνουμε σε αυτούς τους 4 μήνες. Αν θέλετε να γελάσετε με τις μάπες μας, θα βρείτε και το video... :P

ΟΚ, διακοπές τώρα.

Τετάρτη, Φεβρουαρίου 11, 2009

Το project του τετραμήνου

Αυτή την περίοδο έχω το Communications Systems Design, ένα μάθημα 30 μονάδων ECTS και διάρκειας 4 μηνών (σε σύγκριση με τα δίμηνα μαθήματα των 7,5 ECTS), το οποίο είναι ουσιαστικά πρακτική άσκηση. Είμαστε ένα γκρουπάκι 8 ατόμων και μας ανέθεσαν την υλοποίηση ενός πειραματικού δικτύου 10Gbps μεταξύ Valhallavägen και Kista (main campus και IT παράρτημα του KTH), με τις οπτικές ίνες να τερματίζονται σε routers που θα τρέχουν Bifrost, μια καρα-customαρισμένη διανομή linux για routing που αναπτύσσεται από το Uppsala University με συνεργασία του KTH. Θεωρώντας δεδομένο ότι θα δουλεύει το δίκτυο (χε), πρέπει να στήσουμε on top of that και ένα video conferencing σύστημα με δυνατότητα HD video. Όλα αυτά βέβαια με open-source software - Open Source Networking initiative και λοιπές ιστορίες... Το project δεν είναι ακριβώς ολοκαίνουριο καθώς συνεχίζουμε την δουλειά του αντίστοιχου γκρουπ που το είχε ξεκινήσει τον Σεπτέμβρη.

Απώτερος στόχος: να επιδείξουμε working σύστημα ώστε να αγοράσει το Karolinska (πανεπιστημιακό νοσοκομείο) ένα ίδιο και να τους το στήσουμε κιόλας. Μετά, προώθηση του συστήματος σε αναπτυσσόμενες χώρες της Αφρικής (Τανζανία, Μοζαμβίκη). Υπάρχει η δυνατότητα (για όσους θέλουν) να κυνηγήσουμε υποτροφία για να πάμε το καλοκαίρι Αφρική για εγκατάσταση του όλου συστήματος. Από αισιοδοξία πάμε καλά.

Ολίγα λόγια για τα τεχνικά. Το Bifrost έχει σχεδιαστεί για να τρέχει σε "low-cost commodity hardware". Το low-cost φυσικά είναι σε σύγκριση με το τι πρέπει να σκάσεις στην Cisco για να πάρεις κάτι ανάλογο. Ο υπεύθυνος ανάπτυξης του Bifrost μας είπε ότι τα καλύτερα μέχρι τώρα αποτελέσματα (~9 Gbps) τα έχει δει μέχρι τώρα σε τετραπύρηνους AMD Barcelona CPUs - λέει ότι παίζει μεγάλο ρόλο ο on-die memory controller. Ακόμα δεν πέρασε από Core i7, αλλά έχει μέλλον η υπόθεση.

Nα επαναλάβω ότι το low-cost είναι σχετικό. Η κάθε dual-port 10Gbps κάρτα της Sun που χρησιμοποιούμε, μαζί με τα δύο XFP modules, κοστίζει γύρω στα €4500... Α ναι, κάπου τόσο κάνει και η HD camera, η οποία φυσικά δεν είναι USB, αλλά χρειάζεται capture card.

Software. Εδώ πέφτει η χοντρή σφαγή, καθώς οι ασυμβατότητες είναι πολλές και αγεφύρωτες. Οι τέσσερις κατηγορίες που μας ταλαιπωρούν είναι drivers, SIP client, SIP server και MCU.
  • Ο SIP server (OpenSIPS) είναι αυτός με τα λιγότερα προβλήματα. Μέχρι τώρα όλα καλά.
  • Drivers. Γελάτε, ε; Οι drivers για τις capture cards είναι προβληματικοί και δύο εκδόσεις παλιότεροι από αυτούς που κυκλοφορούν τώρα. Το update κοστίζει $40 παρακαλώ. Το KTH φυσικά δεν κολλάει να καλύψει τέτοια ποσά, αλλά αυτό δεν σημαίνει ότι δουλεύουν κιόλας...
  • SIP clients. Ο μόνος που δείχνει να δουλεύει στην τοπολογία μας μέχρι τώρα είναι το proprietary Confero της σουηδικής Alkit Communications. Όχι τέλεια και ακόμα δεν έχουμε δοκιμάσει με HD (βλ. drivers). Ο απώτερος στόχος είναι η χρήση του Minisip το οποίο είναι open-source (και γένημα-θρέμμα KTH), αλλά έχει πολυυυυυυ δρόμο ακόμα.
  • MCU ή αλλιώς Media Concetrator Unit, το οποίο έχω αναλάβει κυρίως εγώ. Το software είναι του ισπανικού ιδρύματος i2CAT και η δουλειά του είναι να διαχειρίζεται τα conference rooms στα οποία μπαίνουν οι clients. Επίσης, απαλλάσει τους clients από την πολλαπλή αποστολή του video/audio stream τους: λαμβάνει από κάθε client ένα stream και τα μεταδίδει σε όλους τους υπόλοιπους. Κουτσά-στραβά δουλεύει, αλλά φαίνεται λίγο προχειρο-γραμμένο και το πρώτο μου καθήκον ήταν η δημιουργία ενός decent interface γιατί το δικό του CLI είναι α-πα-ρα-δεχχχχχ-το. Επόμενο βήμα... debugging και κάποιες προσθήκες λειτουργικότητας που θα έπρεπε να υπάρχουν όπως π.χ. να βλέπεις ποια conference rooms είναι διαθέσιμα και να μπορείς να τα διαγράψεις. Truly ρε φίλε, τόσο άχρηστο αυτό το feature και δεν το έγραψες;
A little bit about my mates. Τρεις Σουηδοί και μια Σουηδέζα. Καλά παιδιά, χαβαλετζήδες (ξέρω, δε με πιστεύετε) και συννενοούμαστε πολύ καλά. Μια Κολομβιανή έχει αναλάβει το μεγαλύτερο μέρος των business reports και proposals - φοιτήτρια του Entrepreneurship προγράμματος. Η Αλβανίδα κάνει το δεύτερο master της και μαζί με τον Ουκρανό έχουν αναλάβει για αρχή τοπολογίες και SIP clients. Δουλεύουν κυρίως στο σπίτι και δεν τους πολυβλέπουμε - πάλι καλά γιατί ο Ουκρανός έχει αρχίσει να μου κάθεται στον λαιμό.

Κάπου εδώ θα κάνω σύνδεση με το προηγούμενο post μου.

Η Σουηδέζα είναι η μόνη από τους συναδέλφους μου που έχει υπηρετήσει στον στρατό. Πήγε εθελόντρια (υποχρεωτική θητεία μόνο για άνδρες - αν υπάρχουν λόγοι αντικαθίσταται με community service). Δεδομένου ότι η στρατεύσιμη ηλικία στον σουηδικό στρατό είναι 18-24, είπε να πάει "να δω πως είναι τώρα που μπορώ, μετά θα έχω όλη μου την ζωή για σπουδές, ταξίδια και δουλειά". Μετά από την βασική εκπαίδευση, έγινε τεχνικός μηχανημάτων ναρκαλίευσης, και έκανε 15 μήνες επάνω σε ναρκαλιευτικό σκάφος. Σε γενικές γραμμές της άρεσε πάρα πολύ, εκτός από τις σκοπιές που έπρεπε να κάνει μετά την εκπαίδευση . Μπροστά στο παλάτι. Στην Στοκχόλμη. Χειμώνα.
(γκρίνιαξε κανένας γιωτάς για τα θαλαμοφυλίκια; Όχι; Έτσι μπράβο)

Μετά το προηγούμενο post, έκανα το λάθος να την ρωτήσω για την οικονομική κάλυψη. 66 κορώνες (~6€) την ημέρα, δηλαδής 183€ τον μήνα. Καμία σχέση με τα 8 και 60 του Έλλην πλην τίμιου φαντάρου, αλλά το περίμενα. Αυτό που δεν περίμενα είναι το εφάπαξ των 40.000 κορονών (3700€) μετά την απόλυση. Καλό;

Το κορυφαίο της συζήτησης βέβαια ήταν που άκουσα την Σουηδεζούλα να λέει "α ναι, με αυτόν είμασταν μαζί φαντάροι"... ΤΟ πολιτισμικό σοκ!

Τρίτη, Σεπτεμβρίου 16, 2008

Thunderbird 3 alpha 2


Το εικονίδιο του τελευταίου Thunderbird (3.0 alpha 2) θυμίζει λίγο... άλλες εποχές.

Δευτέρα, Μαΐου 19, 2008

DD-WRT firmware

Μόλις πέρασα DD-WRT firmware (συγκεκριμένα το vpn-build) στο Linksys WRT54GL μου. Dear God, γιατί δεν το είχα κάνει μέχρι τώρα;


Επί της ευκαιρίας, ακολουθήστε τις οδηγίες πιστά. Reset factory defaults, μετά upgrade σε dd-wrt micro generic, μετά dd-wrt vpn. Ειδάλλως, φροντίστε να έχετε εύκαιρο το firmware της μαμάς Linksys. Μιλάει η εμπειρία...

Τρίτη, Μαΐου 13, 2008

Bonjour se linux

Bonjour είναι το zeroconf πρωτόκολλο της Apple. Βασική του λειτουργία είναι να "διαφημίζει" τις υπηρεσίες ενός υπολογιστή στο τοπικό του δίκτυο ώστε να μπορούν οι γείτονές του να συνδέονται εύκολα και γρήγορα. Οι χρήστες Mac που έχουν βρεθεί εντός τοπικού δικτύου με άλλους ομοιδεάτες σίγουρα θα έχουν δει στον Finder τους γείτονες να διαφημίζουν τυχόν shared iTunes libraries ή IMs όπως iChat και Adium/Pidgin.

(Η χρήση IM apps μέσω Bonjour σας επιτρέπει να συνδεθείτε με τον διπλανό σας χωρίς να κάνετε login σε κάποιον server - δεν χρειάζεται καν να έχετε σύνδεση στο Internet).

Η αντίστοιχη υλοποίηση του πρωτοκόλλου αυτού στο Linux ονομάζεται avahi και είναι πολύ εύκολη στην χρήση. Ακολουθεί παράδειγμα για να "διαφημίζουμε" τα samba shares μας.

1. Εγκαταστήστε το avahi-daemon. Είναι προεγκατεστημένο σε πολλές διανόμες.
2. Δημιουργήστε ένα καινούριο αρχείο για το κάθε service που σας ενδιαφέρει, π.χ. /etc/avahi/services/samba.service
3. Προσθέστε στο καινούριο αρχείο τα παρακάτω. Προφανώς, αλλάζετε το port για να σημαδεύει στο service που θέλετε.

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>
<name replace-wildcards="yes">%h smb</name>
<service>
<type>_smb._tcp</type>
<port>139</port>
<host-name>myserver.local</host-name>
</service>
</service-group>

4. Κάντε restart το avahi-daemon και είστε έτοιμοι.

Φυσικά, πρέπει να έχετε και κάποιον client που υποστηρίζει το πρωτόκολλο αυτό - στην περίπτωση του παραδείγματος ο Finder του Leopard είναι απόλυτα συμβατός και εμφανίζει άμεσα τα samba shares.

Μπορείτε να χρησιμοποιήσετε μια εφαρμογή όπως το Bonjour browser για να δείτε τι υπηρεσίες παίζουν στους γειτονικούς υπολογιστές σας.

Πέμπτη, Μαρτίου 27, 2008

Native OpenOffice για MacOSX


Άντε, καιρός ήταν, βαρέθηκα να παιδεύομαι με το NeoOffice.

Την mac native έκδοση του OpenOffice μπορείτε να την βρείτε στα daily build repositories.

Οι πρώτες εντυπώσεις είναι θετικές, φαίνεται λίγο πιο σβέλτο και ελαφρύ από το NeoOffice και τα κουσούρια με τα ελληνικά στις παλιότερες εκδόσεις είναι παρελθόν. Bugs υπάρχουν διάσπαρτα, αλλά δεδομένου ότι δεν είναι ούτε καν beta, αναμένεται μπόλικη βελτίωση.

Πέμπτη, Φεβρουαρίου 21, 2008

Η Microsoft τα ανοίγει...

...τα APIs.

( σα δεν ντρέπεστε, ένας Θεός ξέρει τι βρώμικο σκεφτήκατε πάλι)


Μεταξύ αυτών, τρία πράγματα θεωρώ πολύ μεγάλης σημασίας: Exchange Server, Office formats και Windows Networking (κοινώς, Samba), τους τρεις μεγαλύτερους λόγους που χρησιμοποιούνται MS products σε εταιρικά περιβάλλοντα.

Για να δούμε, πόσο καιρό θα κάνει άραγε η open-source κοινότητα για να αφομοιώσει τα APIs και να προσφέρει π.χ. Thunderbird έτοιμο για Exchange Server...

Πειράζει που το θεωρώ σημαντικότερη κίνηση από το λανσάρισμα των Vista;

Κυριακή, Δεκεμβρίου 30, 2007

GPL Worms clone - ξεδώστε!

[ Wormux ]

Ξεδώστε λέμε!

Μ'αρέσει να βλέπω τόσο περιποιημένες υλοποιήσεις free/open source software. Μαζί με το άλλο διαμάντι του F/OSS κόσμου, το Battle for Wesnoth, αποτελούν τον λόγο που λιώνω στο σπίτι αυτές τις μέρες.

Έχει βέβαια ένα κουσούρι - του λείπουν τα θρυλικά speech samples του original πακέτου.

Όπως όμως όλες οι καλές F/OSS εφαρμογές, είναι multi-platform.

Τρίτη, Αυγούστου 21, 2007

Το Fusion ρίχνει στα αυτιά στο Parallels

Το CNet έκανε μερικά benchmarks για να δει ποια virtualization solution είναι καλύτερη, το VMware Fusion ενάντια στο Parallels Desktop.

Καλά, όπως ήταν προφανές, το Boot Camp είναι πολύ πιο αποδοτικό και από τους δύο ανταγωνιστές, αλλά πάλι.... ποιος ασχολείται με reboots;

Εν Jobs αδελφή pixie, νομίζω ότι η αγορά έπιασε τόπο :D

Κυριακή, Αυγούστου 12, 2007

Γλυτώστε τα $70 του StarOffice

Το StarOffice 8 πλέον διατίθεται δωρεάν αν το κατεβάσεις ως μέρος του Google Pack - οι υπόλοιποι θα πρέπει να σκάσουν $70 για να το αποκτήσουν.

Το ερώτημα είναι.... ποιος χρησιμοποιεί Google Pack;

[source: digg]

Σάββατο, Αυγούστου 04, 2007

VMware Fusion beta

Τελικά, υπέπεσα στον πειρασμό και έκανα preorder το VMware Fusion for MacOSX.

Η αλήθεια είναι ότι αμφιταλαντευόμουν μεταξύ Parallels Desktop και Fusion, αλλά σε διάφορα reviews είδα ότι πρακτικά οι διαφορές είναι μικρές και τον τελικό λόγο τον είχε η τιμή - το Fusion έχει μεν την ίδια τιμή με το Parallels ($79.99) αλλά μιας και είναι ακόμα beta (η final 1.0 θα βγει μέσα στον μήνα), μπορείς να κάνεις preorder στην μισή τιμή ($39.99 ή 30 έουρος).

Όσοι ενδιαφερόμενοι, σπεύσατε. Η δυνατότητα preorder στην μισή τιμή τελειώνει αύριο.

Εντυπώσεις to be posted later.

Κυριακή, Μαΐου 06, 2007

OpenGL στα Vista

Ο Γιάννης παρατήρησε μια άθλια απόδοση των Vista σε ότι είχε OpenGL. Δοκίμασε διάφορους drivers αλλά δεν υπήρξε καμιά βελτίωση και το αποτέλεσμα ήταν το ίδιο - οτιδήποτε είχε OpenGL πήγαινε εξαιρετικά αργά ενώ το cpu usage έφτανε στο ταβάνι, δηλαδής όλα τα 3Ds τα έβγαζε ο επεξεργαστής...

Ξέρει κανείς αν αυτό οφείλεται στους drivers ή είναι καινούρια μονοπωλιακά τερτίπια της MS;

Δευτέρα, Απριλίου 23, 2007

Επικίνδυνος ο νέος Thunderbird

Άλλαξαν κάποια keyboard shortcuts.

Πήγα να compose a new message και έσβησα 2-3 email μέχρι να το αντιληφθώ... :D

Πέμπτη, Απριλίου 19, 2007

Μεγάλη μέρα σήμερα...

Σήμερις βγήκε ο Thunderbird 2.0 - χαρά στους απανταχού email junkies!

Οι αλλαγές είναι αρκετές. Με μια πρώτη ματιά, υπάρχει καινούριο redesigned theme, message history σε στυλ browser (πατάς το Back για να δεις το προηγούμενο μήνυμα που διάβαζες) καααααιιιιι..... message tags!

Τι ΔΕΝ έχει; Integration με το Address Book.app. Γαμώτ...

Επίσης, σήμερα βγαίνει και το Ubuntu 7.04. Το site τους σέρνεται και βγάζει περιοδικά time-outs άρα συρρέει αρκετός κόσμος για να πάρει το good stuff. Στην ουρά, κύριος!

Σάββατο, Μαρτίου 10, 2007

Vista vs user - part 2

Στο καθημερινό σήριαλ της blogόσφαιρας, σήμερα...

...ανακάλυψα ότι η ίδια η Creative κατήργησε την υποστήριξη της τιμημένης μου SoundBlaster Live! Platinum και την κήρυξε "End of life". Άρα για ήχο πρέπει να το γυρίσω στο ενσωματωμένο AC'97. Ιιιιιιιχ.

...η Kworld θα βγάλει driver για την κάρτα tv που έχω μέσα στον μήνα. Υπομονή.

...ο ΙΕ7 είναι αργός και με 2-3 tabs αρχίζει να παρουσιάζει περίεργη συμπεριφορά. Από την άλλη, ο Firefox παίζει μια χαρά. Εγγύηση!

...τελικά, δεν είναι και πολύ βαριά τα Vista. Αισθητά πιο αργά από τα XP, αλλά όχι τόσο ώστε να το παρατηρείς σε καθημερινές εργασίες. Ο απλός χρήστης Internet-Office-Mail δεν θα καταλάβει ουσιαστική διαφορά στην ταχύτητα. Βέβαια, μην έχοντας ακόμα ήχο, δεν μπόρεσα να κάνω πιο βαριές εχχμμμ εργασίες (gaming, video playback/encoding). Αναμείνατε.

...ωραίο το Calendar και το Contacts. Θυμίζουν σε όλα τους τα αντίστοιχα iCal και AddressBook του MacOSX, κάτι που θεωρώ καλό, αφού τα δύο συγκεκριμένα mac apps με έχουν σώσει. Θα προσπαθήσω να συγχρονίσω με το κινητό για να δοκιμάσω το integration (και το καινούριο Sync Center που έχει το Control Panel).

...το Windows Mail παραμένει ένα Outlook Express με νέα ρούχα. Πολύ μυστήρια η λογική για τα spam - μπορώ να δηλώσω ότι ένα mail ΔΕΝ είναι spam αλλά δεν μπορώ να δηλώσω ότι ΕΙΝΑΙ. Αναγκάζομαι και κάνω drag'n'drop τα spam στον αντίστοιχο φάκελο. Μετά τον Thunderbird, το χάος.

...πολλά antivirus software έχουν πρόβλημα με τα Vista. Το πολυαγαπημένο AVG είναι free και δουλεύει άψογα. Τέλεια!

...το κουμπάκι shutdown δεν κάνει πλέον shutdown - βάζει το pc για νάνι (hibernate). Η λογική είναι ότι "οι χρήστες περιμένουν τον υπολογιστή να συμπεριφέρεται όπως μια π.χ. τηλεόραση, με άμεση εκκίνηση και κλείσιμο". Whatever. Ξενίζει λίγο τον έμπειρο χρήστη (που έχει σκαλίσει αγάλματα κατά τα άπειρα restarts των παλιότερων Windows) αλλά κατατάσσεται στα θετικά.

Δεν είναι άσχημα τα άτιμα, όλο το πρόβλημα είναι στο hardware. Αν υποστηρίζεται και κατά πόσο το σηκώνει. Κακά τα ψέμματα, το Aero ζητάει παπάδες για να κάνει ένα τίποτα.

Κυριακή, Μαρτίου 04, 2007

Σαββατιάτικα mac & pc thoughts...

  • Ο Firefox είναι αδικαιολόγητα αργός στο MacOSX, τελεία και παύλα. Ο Safari είναι πολύ πιο σβέλτος, έχει και καλύτερο integration με το σύστημα, αλλά μάλλον είναι πιο αυστηρός στην τήρηση των web standards, για αυτό και μερικές σελίδες (όπως το blogger.com, καλή ώρα) είναι δυσλειτουργικές. Δεν μ'αρέσουν και τα keyboard shortcuts του, αλλά ας όψεται η ανάγκη...
  • Έχοντας side-by-side ένα intel mac και ένα ppc mac, με το ίδιο OS και τα ίδια updates, μπορώ να πω ότι κάποιες universal binary εφαρμογές είναι μακράν πιο σταθερές σε ppc παρά σε intel - φωτεινό παράδειγμα το Cyberduck που έχει αρχίσει να με εκνευρίζει ταμάλα στο macbook, ενώ δουλεύει υποδειγματικά στο mac mini (με τον G4). Έχω αρχίσει να πιστεύω ότι η intel version του MacOSX βγήκε λίγο στο πόδι, ίσα για να έχουν λειτουργικό σύστημα τα intel macs, και θα δούμε μεγάλη διαφορά σε ταχύτητα και σταθερότητα με το επερχόμενο Leopard. Όσοι σκοπεύετε να ψωνίσετε, περιμένετε.
  • Το αθόρυβο μηχάνημα γεννιέται, δεν γίνεται.
  • Το pc που τρέχει ακόμα Windows XP (ιιιιιιι) καταφέρνει να παρουσιάζει προβλήματα και καθυστερήσεις χωρίς να κάνει τίποτα. Ψέμματα, ανοίγω την κάρτα tv και χαζεύω μεσημεριανά κουτσομπολίστικα (είμαι άνεργος, και εδώ και μια βδομάδα άρρωστος). Έχω εντυπωσιαστεί.
  • Έχω αρχίσει εδώ και καιρό ένα project για να περνάω την ώρα μου: συλλέγω free software για Windows και φτιάχνω ένα CD, το οποίο θα μοιράζω σε φίλους και γνωστούς που θα μου ζητάνε κάποιο πρόγραμμα για να κάνουν την δουλειά τους. Τα περισσότερα είναι open-source, κάποια closed-source αλλά free και κάποια είναι free για προσωπική ή εκπαιδευτική χρήση. Όλα νόμιμα φυσικά. Οι κατηγορίες καλύπτουν σχεδόν όλες τις ανάγκες, από office apps και browsing μέχρι system και security tools. Η λογική είναι ότι, όταν θα χρειαστεί να πάω στο σπίτι ενός φίλου για service στο pc του, θα έχω μαζί μου σε ένα δισκάκι ότι πρόγραμμα μπορεί να χρειαστεί (π.χ. 7-zip, φοβερό compression utility), και το οποίο δισκάκι μετά θα του το αφήσω ώστε να μην μπει στον πειρασμό να ψάξει αργότερα στο ....torrentάδικο της γειτονιάς για να βρεί "ανοιχτήρι" για το WinRAR, να κατεβάσει το Nero κλπ κλπ. Κυρίως βέβαια το ξεκίνησα θέλοντας να δω κατά πόσο ένας χρήστης μπορεί να κάνει την δουλειά του σε ένα Windows PC χωρίς να καταφύγει στα παράνομα. Η συλλογή βρίσκεται ήδη στο v0.2 και φτάνει τα 950 MB.
  • Το linux αξίζει να λέγεται "το καλύτερο OS του κόσμου" μόνο και μόνο για την εκπαιδευτική του αξία. Δεν μπορώ να φανταστώ ότι σε κάποια φάση της ζωής μου δεν θα έχω ένα linuxάκι για να το ψαχουλεύω.