Όλοι ετοιμάζονται για το τριήμερο της Πρωτομαγιάς, υπάρχουν όμως και μερικοί geeks που ετοιμάζονται για το επόμενο ΣΚ. Εάν δεν ξέρετε τι είναι το επόμενο ΣΚ τότε πιθανά αυτό το post δεν σας ενδιαφέρει.
Είναι το 2ο Συνέδριο Κοινοτήτων Ελεύθερου Λογισμικού / Λογισμικού Ανοιχτού Κώδικα
και μόλις έκλεισα και ξενοδοχείο σήμερα το πρωί και το πιο πιθανό σενάριο είναι
να ξεκινήσω από Αθήνα το Σάββατο 9 του μήνα αρκετά πρωί.
Περισσότερα διαβάστε εδώ:
Τα λέμε Λάρισα (σε είδα και λαχτάρισα)
Βρήκα ένα πολύ ενδιαφέρον post και σκέφτηκα καλό να το μοιραστώ μαζί σας
Kernel Log: What’s coming in 2.6.30 - File systems: New and revamped file systems
The patches adopted in Linux 2.6.30 introduce many significant changes affecting data security and Ext3 and Ext4 performance. Support for the EXOFS and NILFS2 file systems is new, as is the cache for the AFS and NFS network file systems. There are also a few fixes for the almost forgotten ReiserFS file system.
Tftpd on Ubuntu (jaunty) 9.04
On Linux machine:
sudo apt-get install tftpd
sudo mkdir -pv /srv/tftp
sudo chmod 777 !$
sudo /etc/init.d/openbsd-inetd restart
On Cisco Router:
Router#copy run tftp:
Address or name of remote host []? 192.168.2.2
Destination filename [Router-confg]?
!!
2722 bytes copied in 0.036 secs (75611 bytes/sec)
Linux Desktop - Fast & Furious
Ως διαχειριστή παραθύρων χρησιμοποιώ το xfce και μάλιστα από subversion. Αποτέλεσμα αυτού να έχω ένα ελαφρύ και γρήγορο περιβάλλον. Πριν από λίγες καιρό και με αφορμή αυτό το post ξεκίνησα να εγκαθιστώ και να δοκιμάζω διάφορα gtk engines.
Στο εξής site gtk engines benchmarks μπορείτε να βρείτε μία πάρα πολύ ωραία παρουσίαση γύρω από τα πιο δημοφιλή gtk engines και να δείτε μερικές μετρήσεις.
Το πρόγραμμα που μπορεί οποιοσδήποτε να χρησιμοποιήσει για να μετρήσει το πόσο γρήγορο είναι το gtk dekstop του είναι το gtk perf
Παραθέτω την δική μου μέτρηση κάνοντας χρήση του cleanice engine με Xfce-light Theme and Human Icons:
ebal@xubuntu:~\€ cat .gtkrc-2.0
gtk-theme-name = "CleanIce"
Και η μέτρηση:
ebal@xubuntu:~\€ gtkperf -a
GtkPerf 0.40 - Starting testing: Fri Apr 24 23:07:13 2009GtkEntry - time: 0,00
GtkComboBox - time: 0,85
GtkComboBoxEntry - time: 0,59
GtkSpinButton - time: 0,12
GtkProgressBar - time: 0,07
GtkToggleButton - time: 0,10
GtkCheckButton - time: 0,10
GtkRadioButton - time: 0,23
GtkTextView - Add text - time: 0,81
GtkTextView - Scroll - time: 0,22
GtkDrawingArea - Lines - time: 0,86
GtkDrawingArea - Circles - time: 0,71
GtkDrawingArea - Text - time: 1,19
GtkDrawingArea - Pixbufs - time: 0,11
—
Total time: 5,96Quitting..
Φυσικά μπορείτε να βρείτε στο google αρκετά gtk engines
Η αρχή πάντως γίνεται από εδώ: gtk engines
Αναβάθμιση της διανομής Ubuntu από 8.10 σε 9.04
1. Backup
sudo su -
tar jcvf backup.conf.tbz2 /boot/ /etc/ /usr/local/etc/
2. Sources
Πρόσθεσα στο αρχείο: /etc/apt/sources.list
Τα εξής repositories:
deb ftp://ftp.otenet.gr/ubuntu jaunty main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-updates main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-security main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-proposed main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-backports main multiverse restricted universe
Οπότε το αρχείο μου: /etc/apt/sources.list
πλέον δείχνει ως εξής:
deb ftp://ftp.otenet.gr/ubuntu intrepid main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu intrepid-updates main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu intrepid-security main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu intrepid-proposed main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu intrepid-backports main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-updates main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-security main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-proposed main multiverse restricted universe
deb ftp://ftp.otenet.gr/ubuntu jaunty-backports main multiverse restricted universe
3. Αναβάθμιση των repositories
apt-get update
4. Αποθήκευση των νέων πακέτων στον δίσκο μου
apt-get -dy dist-upgrade
5. Πριν την αναβάθμιση του συστήματος
Κλείνω όλες μου τις εφαρμογές
Μεταβαίνω με ctrl+alt+F1 σε τερματικό
Σκοτώνω τα γραφικά κι ότι υπηρεσία βρω που δεν χρειάζεται για την ώρα
6. Αναβάθμιση
apt-get dist-upgrade
7. Επανεκκίνηση (με τον νέο πυρήνα)
reboot
8. Καθαρισμός
Στο αρχείο μου /etc/apt/sources.list
αφαιρώ όλες τις δηλώσεις για το intrepid
αφήνω μόνο όσες υπάρχουν για το jaunty
Στην συνέχεια:
apt-get update
apt-get autoremove
apt-get autoclean
apt-get clean
Κι έπειτα ανοίγω το synaptic, μεταβαίνω στην κατηγορία “Κατάσταση”
και καθαρίζω ότι έχει μείνει.
Μέσα σε μία ωρίτσα (πάνω κάτω) έχει ολοκληρωθεί η αναβάθμιση χωρίς το παραμικρό πρόβλημα.
Χρόνος εκκίνησης: 22 δευτερόλεπτα
ΥΓ: Από τον Aύγουστο του 2006 που έβαλα Ubuntu κάνω συνέχεια dist-upgrade.
Δεν έχω “καθαρή” εγκατάσταση και δεν έχω κάνει format.
Αρχίζω να νοσταλγώ το format στα windows.
Ασχολούμαι με μεταφράσεις.
Κάθε φορά περιμένω να είναι ενημερωμένα τα αρχεία μετάφρασης.
Ε λοιπόν δεν είναι πάντα.
Κι επειδή από το 2002 (περίπου) ποτέ δεν με απασχόλησε παραπάνω (κυρίως επειδή είμαι τεμπέλης)
η εντολή είναι αυτή:
msgmerge -U el.po program.pot
Άντε μπας δλδ και το μάθω μετά από 7 περίπου χρόνια.
Παρακολουθώ με μεγάλο ενδιαφέρον την πρόοδο και εξέλιξη του midori.
O midori web browser βασίζεται στο webkit
και μπορεί να περάσει με επιτυχία το acid 3 test.
Είναι εξαιρετικά γρήγορος/ελαφρύς και πολύ απλός στην χρήση.
Μάλιστα έχει υλοποιηθεί και για το maemo κάνοντας χρήση του hildon.
Φτάνοντας στην έκδοση 0.1.6 φαίνεται ότι αρχίζει σιγά σιγά να κερδίζει το χαμένο έδαφος
από τις προηγούμενες εκδόσεις του - οι οποίες είχαν το χαρακτηριστικό να crashάρουν πολύ γρήγορα.
Πιο σταθερός και με περισσότερες λειτουργίες αξίζει έστω και για λίγο το ενδιαφέρον σας.
Φυσικά ακόμα είναι σε πρώιμα στάδια και χρειάζεται αρκετή δουλειά.
Το xfce τον έχει συμπεριλάβει στα project του
και ο κώδικας βρίσκεται στο git αποθετήριο του xfce.
Σκέφτηκα ότι θα είναι καλή ιδέα να μοιραστώ μαζί σας μερικά screenshots:
midori v0.1.6
ΥΓ: Έχω κάνει την μετάφραση - οπότε εάν βρείτε κάτι στείλτε μου mail :)
Πόσες φορές έχουμε όλοι βρεθεί στο σημείο να έχουμε διαγράψει κάποιο αρχείο χωρίς να έχουμε κρατήσει κάποιο αντίγραφο; Ή ακόμα και να έχουν γίνει αρκετές αλλαγές από το χρονικό σημείο που κρατήσαμε κάποιο αντίγραφο;
Η προφανής λύση θα είναι να κάνουμε χρήση ενός COW (Copy On Write) File System ώστε να μην χάνουμε απολύτως τπτ. Φυσικά τέτοιες λύσεις συνήθως είναι και αρκετά ακριβές.
Για να καλύψω τις δικές μου ανάγκες κάνω χρήση του rsnapshot και μάλιστα μπορώ έχοντας ένα ssh σε κάποιο άλλο μηχάνημα να έχω και off line backup. Αλλά και πάλι δεν είναι μία 100% bullet proof λύση.
Στο παράδειγμα της ανάπτυξης ενός προγράμματος η προφανής λύση είναι κάποιο versioning control system (π.χ. mercurial).
Αναζητώντας μία πιο αξιόπιστη λύση για snapshots (μέχρι το B-tree FS να γίνει stable) παλαιότερα είχα δει το ext3cow. Το οποίο είναι ένα από τα πιο ενδιαφέροντα project που έχω δει. Η βασική του λειτουργία απλή, ένα cow σύστημα σε ext3. Versioning COW File System.
Πριν από μερικούς μήνες εντόπισα και το NILFS. Το οποίο είναι ένα Log-Structured File System το οποίο υποστηρίζει snapshots. Μου φάνηκε αρκετά πιο εύκολο στην εγκατάσταση αλλά και πιο straight forward από το ext3cow.
Κατέγραψα τις προσπάθειες μου στην παρακάτω σελίδα και πιστεύω ότι αξίζει κάποιος να το δοκιμάζει:
http://balaskas.gr/wiki/nilfs
Δείτε πως γίνεται η εγκατάσταση και τυπικά παραδείγματα λειτουργίας.
Μου λέει εχθές ένας φίλος:
- Έχεις ασχοληθεί με το Gnu Win II;
- Το είχα χρησιμοποιήσει μερικές φορές
- Μα εδώ γράφει το όνομά σου: credits
- εεεε? που το γράφει;
Μετά από μερικά λεπτά σύγχυσης διαπιστώνω ότι όντως είχα ασχοληθεί κάπως με το gnuwin, αλλά με τι; Άντε τώρα να θυμηθείς !!! Προφανώς κάτι θα είχα προσπαθήσει να μεταφράσω στο site.
Διαβάζοντας το παρακάτω post έμαθα μία πολύ ωραία εντολή την logsave.
Πρακτικά αποθηκεύει το αποτέλεσμα της εξόδου από μια εντολή σε ένα αρχείο ώστε να μπορούμε να το επεξεργαστούμε.
π.χ. quick & simply example:
ebal@amilo:tmp$ logsave -v fdisk.log sudo fdisk -l
Log of sudo fdisk -l
Fri Apr 10 00:04:54 2009Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×35f135f0Device Boot Start End Blocks Id System
/dev/sda1 * 1 3916 31455232 7 HPFS/NTFS
/dev/sda2 3916 9418 44194821+ 5 Extended
/dev/sda3 9419 12161 22033147+ bf Solaris
/dev/sda5 3917 4177 2096451 82 Linux swap / Solaris
/dev/sda6 4178 8113 31615920 83 Linux
/dev/sda7 8114 9418 10482381 83 LinuxFri Apr 10 00:04:54 2009
—————-
ebal@amilo:tmp$
ebal@amilo:tmp$
ebal@amilo:tmp$
ebal@amilo:tmp$ cat fdisk.log
Log of sudo fdisk -l
Fri Apr 10 00:04:54 2009Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×35f135f0Device Boot Start End Blocks Id System
/dev/sda1 * 1 3916 31455232 7 HPFS/NTFS
/dev/sda2 3916 9418 44194821+ 5 Extended
/dev/sda3 9419 12161 22033147+ bf Solaris
/dev/sda5 3917 4177 2096451 82 Linux swap / Solaris
/dev/sda6 4178 8113 31615920 83 Linux
/dev/sda7 8114 9418 10482381 83 LinuxFri Apr 10 00:04:54 2009
—————-
ΥΓ: Μην ξεχνάτε ότι υπάρχει και αρκετοί άλλοι τρόποι, νομίζω όμως ότι αυτός είναι ο πιο elegant
ebal@amilo:tmp$ sudo fdisk -l > fdisk.log
ebal@amilo:tmp$ sudo fdisk -l | tee -a fdisk.log
κι πιθανά πολλοί ακόμα τρόποι
Υπάρχουν στιγμές που θέλω να κάνω μία δύσκολη μαθηματική πράξη (π.χ. 4+4) και δεν βρίσκω τον άβακά μου.
Σε κονσόλα το πρόγραμμα που χρησιμοποιώ για να κάνω αριθμητικές πράξεις είναι το bc και με έχει εξυπηρετήσει αρκετές φορές.
π.χ.
ebal@the_machine_that_goes_PING:~\€ echo 4+4 | bc
8
Αλλά τώρα πρόσφατα βρήκα ότι την ίδια δουλειά κάνει και το bash ακόμα κι εάν δεν έχουμε εγκατεστημένο το bc.
π.χ.
ebal@the_machine_that_goes_PING:~\€ echo $((4+4))
8
Note: Για όσους έχουν απορία:
ebal@the_machine_that_goes_PING:~\€ echo $((34523452345245/0))
bash: 34523452345245/0: division by 0 (error token is “0”)
ΠΡΟΣΟΧΗ Το bash ΔΕΝ καταλαβαίνει από δεκαδικούς αριθμούς, μόνο το BC:
echo $((4+0.5))
bash: 4+0.5: syntax error: invalid arithmetic operator (error token is “.5”)
ενώ με bc
echo 4+0.5 | bc
4.5
Εάν θέλουμε δεκαδικό αποτέλεσμα, χρησιμοποιούμε την παράμετρο -l
echo 10/3 | bc -l
3.33333333333333333333
Αυτό το ΣΚ ήταν από το πιο αντι-παραγωγικό ever.
Κι όταν εάν έχεις καλή παρέα είναι δύσκολο να προτιμήσεις να διαβάσεις για π.χ. email από το να βγεις έξω.
Ως εκ τούτου εχθές κατά τις 13.30 ξεκίνησα παρέα με ένα φίλο για 1 καφεδάκι στα γρήγορα.
Αφού βρήκαμε παρεούλα συναδέλφους από την δουλειά που ετοιμάζουν ταξίδι στην Αμερική,
έπειτα αποφασίσαμε να πάμε στο καπάκι βόλτα παρέα με δύο φίλες μου.
Ως γνήσιοι άντρες πάμε στο καπάκι με άπλυτα t-shirt και ψιλοσκισμένα τζιν (από την χρήση - κι όχι από μόδα) για καφεδάκι στις κοπέλες. Το ένα νερό έφερε το άλλο και τελικά αποφασίσαμε να μεταφέρουμε την παρέα μας σε άλλο μαγαζί. Μιας και όλη μέρα δεν είχαμε προλάβει να φάμε, σκεφτήκαμε ότι θα ήταν καλή ιδέα να πάμε για φαγητό σε ταβερνούλα.
Η κεντρική ιδέα: Θαλασσινά.
η σχετική παραγγελία:
Γόνοι
Χταπόδι (στα κάρβουνα)
Γαρίδες (8 μεγάλες στα κάρβουνα)
Καλαμαράκια
Μπακαλιάρο
Χωριάτικη
Πατατοσαλάτα
Χόρτα
Φέτα
Φέτα Ψητή
Φλογέρες
Τυροπιτάκια
Και ξεκινήσαμε με 1/2 ltr λευκό κρασί.
Το μαγαζί μας κέρασε μία μερίδα στρείδια και άφθονο κρασί, το οποίο πρέπει να έφτασε περί τα 3ltr
Μας κέρασαν επίσης και σόδες μπας και χωνέψουμε αλλά δεν γινόταν τπτ, οπότε άρχισαν να μας
κερνάνε τσίπουρα. Μιας και δεν είχα το αμάξι εχθές αλλά πολύ καλή παρέα αποφάσισα να το ρίξω λίγο έξω.
Τα πιάτα ήταν αρκετά γενναία αλλά φυσικά δεν μπορούσαμε να τα φάμε όλα.
Ο λογαριασμός ήταν 120ευρώ και φυσικά για όλα τα παραπάνω ήταν αρκετά λογικός.
Να ‘μαστε καλά να το ξανακανονίσουμε
Κι έτσι καταλήγω στον τίτλο του post: Η καλή παρέα τελικά φέρνει πονοκέφαλο :)
Μα καλά ποιος normal άνθρωπος έχει στο προσκέφαλό του ένα βιβλίο PERL
Μία από τις σειρές που βλέπω είναι και αυτή: Chuck
Και παρατήρησα ότι ο πρωταγωνιστής κοιμάται με το Programming Perl
ΥΓ: Γιατί αυτά τα προσέχω μόνο εγώ ρε γαμώτο;