|
Τελευταία ενημέρωση:
|
Δευτέρα, 15 Μαρτίου 2010#Portal: Ellak.gr
Ημερίδα Labs.opengov - Οι παρουσιάσεις
Την Πέμπτη 4 Μαρτίου, έγινε στο Εθνικό Ίδρυμα Ερευνών - αμφιθέατρο Λεωνίδας Ζέρβας , ημερίδα σχετικά με το έργο labs.opengov, και παρουσιάστηκε το έργο που έχει γίνει. Στο προηγούμενο άρθρο Ημερίδα Labs.opengov (%22http://ellak.gr/index.php?option=com_content task=view id=6940 Itemid=1%22) παρουσιάσαμε κάποιες από τις παρουσιάσεις των πολιτών. Για να είναι εύκολα αναγνώσιμο, τις υπόλοιπες τις παρουσιάζουμε σε αυτό το άρθρο.
Τρίτη, 16 Μαρτίου 2010Χατζηκυριάκου ΓιώργοςΓιατί Vista κύριοι; (Μέρος 4ο)
Αρχίζω να ντρέπομαι που ασχολούμαι ακόμα με αυτό το θέμα, χωρίς να υπάρχει σοβαρή αντιμετώπιση του από το υπουργείο παιδείας και πολιτισμού.
Σε νέα επιστολή που έστειλε η κοινότητα ubuntucy.org, το υπουργείο προτίμησε να απαντήσει "παπαγαλίζοντας" την απάντηση που έδωσε στις 30/1/2009 30/1/2009 4) Το λειτουργικό σύστημα Linux είναι πολύ καλό σε περιπτώσεις πεπειραμένων χρηστών. Έχουμε την άποψη ότι σε περιπτώσεις μαζικής εφαρμογής σε σχολικό περιβάλλον και με χρήστες εφήβους, η πρωτοβάθμια συντήρηση των υπολογιστών θα αποτελούσε πραγματικό πρόβλημα. Κύριοι, ήσασταν, είστε και θα είστε παπαγάλοι ... και παπαγάλους καθηγητές και μαθητές θέλετε ... Μπράβο και εις ανώτερά! Προς το παρόν δείτε και ένα βίντεο από ένα άλλο, παράλληλο σύμπαν ... από Χατζηκυριάκου Γιώργος (ghadjikyriacou@yahoo.com) στις 09:20 Δευτέρα, 15 Μαρτίου 2010#Portal: Ellak.gr
Συνέδριο ΕΛ/ΛΑΚ 2010 - Κάλεσμα για Εισηγήσεις
Η Εταιρεία Ελεύθερου Λογισμικού / Λογισμικού Ανοικτού Κώδικα (ΕΕΛ/ΛΑΚ) διοργανώνει συνέδριο με θέμα ΕΛ/ΛΑΚ: Επιχειρηματικότητα, Δημόσιος Τομέας, Εκπαίδευση, Έρευνα . Το συνέδριο θα πραγματοποιηθεί Παρασκευή 14 και Σάββατο 15 Μαΐου 2009 στην Αθήνα (ΕΜΠ), ενώ την Κυριακή 16 Μαΐου θα πραγματοποιηθούν αντίστοιχες ημερίδες σε Θεσσαλονίκη (Παν. Μακεδονίας), Ηράκλειο (Παν. Κρήτης) και Πάτρα (Παν. Πατρών). Η ΕΕΛ/ΛΑΚ προσκαλεί δημιουργούς(developers) ΕΛ/ΛΑΚ και γενικώς όσους συμβάλουν(contributors) σε έργα ΕΛ/ΛΑΚ, να παρουσιάσουν τη δουλειά τους και τo έργo τους. Οι ενδιαφερόμενοι θα πρέπει να υποβάλλουν την πρότασή τους, καθώς και για την πόλη που θέλουν να συμμετέχουν, για κρίση από την επιστημονική επιτροπή, μέσω e-mail προς τη διεύθυνση info @ ellak.gr, το αργότερο μέχρι και την Κυριακή 18 Απριλίου. Οι προτάσες μπορούν να αφορούν τόσο παρουσιάσεις, όσο και workshops.
#Portal: Ellak.gr
Γενική Σενέλευση ΕΕΛ/ΛΑΚ
Στις 28 Ιανουαρίου έλαβε χώρα η Γενική Συνέλευση της Εταιρίας Ελεύθερου Λογισμικού / Λογισμικού Ανοιχτού Κώδικα.
Στα πλαίσιά της έγινε ενημέρωση απ'
τον πρόεδρο του ΔΣ για τις επόμενες δράσεις της ΕΕΛ/ΛΑΚ.
Σάββατο, 13 Μαρτίου 2010#LinuxFormat.gr
Οι τρείς γίγαντες...Το οικοσύστημα του Linux είναι μια πολύπλοκη οντότητα. Από τη μια μεριά ο καθένας επωφελείται από την δωρεάν παροχή υπηρεσιών από τρίτους (προγραμματιστές, εθελοντές, μεταφραστές κλπ.), ενώ από την άλλη υπάρχει συχνά εχθρότητα και διαμάχη μεταξύ των διανομών και των κοινοτήτων τους (θυμηθείτε το Ubuntu).
Οι άνθρωποι συχνά παραπονούνται ότι υπάρχει πάρα πολύ "ελευθερία επιλογών" στον κόσμο του Linux και ότι το Linux θα ήταν σε καλύτερη θέση αν υπήρχε μόνο μια ή δύο επιλογές (διανομές) Linux .
Χατζηκυριάκου ΓιώργοςArduino: ψηφοφορία (αποτελέσματα)Πριν ένα μήνα τοποθετησα στην δεξιά στήλη του blog μία ψηφοφορία για να δω πόσοι από τους αναγνώστες ασχολούνται ή δεν ασχολούνται με το arduino board. Τα αποτελέσματα ήταν: Ναι, το αγόρασα, ασχολούμαι: 5 (21%) Ναι, το αγόρασα, αλλά δεν ασχολούμαι: 2 (8%) Όχι, δεν το αγόρασα αλλά με ενδιαφέρει να ασχοληθώ ... κάποια στιγμή: 9 (39%) Όχι, δεν το αγόρασα και ούτε πρόκειται να ασχοληθώ: 2 (8%) Τι είναι αυτό;: 5 (21%) Σύνολο ψήφων: 23 Ξεκινώντας από την τελευταία ομάδα που ρωτούν "Τι είναι αυτό;", παρακάτω ακολουθεί ένα άρθρο μου που δημοσιεύτηκε στο τεχνολογικό περιοδικό Gratis στην κατηγορία "friends talk" (Τεύχος 08 - 12 Μαΐου 2009): Γνωρίστε το Arduino Το Arduino είναι ένας μικροελεγκτής ο οποίος περιλαμβάνει ένα chip ATmega. Με λίγα λόγια διαθέτει εισόδους και εξόδους που αντιδρούν βάση του προγραμματισμού που κάναμε και που φορτώσαμε στο chip με τη βοήθεια του υπολογιστή. Η γλώσσα προγραμματισμού που χρησιμοποιεί είναι η Wiring, η οποία είναι αρκετά εύκολη στη σύνταξη και διατιθεται σε πλατφόρμες Linux, MAC και Windows με αδεια χρησης GPL. Αυτό όμως που κάνει το Arduino ακόμα ποιο σημαντικό είναι ότι όλο το κύκλωμα της πλακέτας διατίθεται υπό την άδεια χρήσης Creative Commons, πράγμα που σημαίνει ότι ο καθένας μπορεί να κατασκευάσει την δική του πλακέτα όπως αυτός θέλει. Φυσικά για τους αρχάριους το να κατασκευάσουν την πλακέτα μόνοι τους, ίσως ακουστεί λίγο τραβηγμένο, οπότε είναι ευκολότερο να αγοράσουν μια μια έτοιμη πλακέτα Arduino από το διαδίκτυο η οποία διατιθεται σε πάρα πολύ προσιτή τιμή. Στο site του Arduino ( http://arduino.cc/ ) θα ανακαλύψετε μια μεγάλη κοινότητα με αρκετές πληροφορίες όσο αφορά τις εκδόσεις την αγορά και το προγραμματισμό της πλακέτας. Η πλακέτα Arduino μέχρι αυτή τη στιγμή διατίθεται σε 12 βασικές παραλλαγές οι οποίες αναφέρονται σε διαφορετικές χρήσεις η κάθε μια, ανάλογα με τις ανάγκες της εφαρμογής μας. Στον ένα χρόνο που ασχολούμαι με τον προγραμματισμό του Arduino Diecimila, διαπίστωσα ότι αν και μικροσκοπικό (7x5 cm) οι δυνατότητες που προσφέρει είναι πάρα πολλές. Μπορούμε να το χρησιμοποιήσουμε σε εφαρμογές ρομποτικής και γενικότερα σε αυτοματισμούς καταφέρνοντας έτσι πάρα πολλά όπως: την κίνηση servo, stepper και DC κινητήρων, τη λήψη πληροφοριών από διάφορους αισθητήρες (θερμοκρασίας, υγρασίας, υπερύθρων κ.α), την αμφίδρομη σειριακή επικοινωνία μεταξύ Arduino και PC χρησιμοποιώντας γλώσσες προγραμματισμού (όπως Java και python), όπως επίσης την αναπαραγωγή και αντίληψη ήχων και πολλά άλλα. Θα ήταν μεγάλη μου παράληψη να μην αναφερθώ και στην εισαγωγή του Δημήτρη Καλαμαρά για το Arduino στο τεύχος 19 του Ελληνικού Linux Format. Αυτό το άρθρο ήταν η αφορμή για εμένα να γνωρίσω και να ασχοληθώ ακόμα περισσότερο με αυτή την καταπληκτική πλακέτα. Όσο αφορά την τρίτη ομάδα (9 άτομα) που σκέφτεται να ασχοληθεί κάποια στιγμή με το arduino, στο ελληνικό online κατάστημα του internetnow.gr, μπορούν να παραγγείλουν την πλακέτα και πολλά άλλα εξαρτήματα που θα τους βοηθούν την ανάπτυξη εφαρμογών σε Arduino. Για την δεύτερη (2 άτομα) και τρίτη ομάδα ετοίμασα το πρώτο μέρος από μια σειρά ασκήσεων που σκέφτομαι να συνεχίσω στο μέλλον, σε περίπτωση που δω ότι υπάρχει ανταπόκριση (και θετικά σχόλια). Το κάθε μέρος θα είναι χωρισμένο σε τρία μέρη, το θεωρητικό, το πρακτικό (παραδείγματα) και τις ασκήσεις. Το σύνολο αυτών των κειμένων ελπίζω στο τέλος να αποτελέσει έναν οδηγό για αρχάριους . Τα περιεχόμενα του πρώτου (δοκιμαστικού) μέρους: Τι είναι το Arduino; Εισαγωγή Το περιβάλλον ανάπτυξης Ρυθμίσεις του περιβάλλοντος ανάπτυξης Δομή προγράμματος Μεταβλητές Σταθερές Πίνακες – Arrays Αριθμητικοί τελεστές Τελεστές σύγκρισης Λογικοί τελεστές Ψηφιακή Έξοδος Ψηφιακή Είσοδος Ασκήσεις Όσοι ασχολούνται με το Arduino και θέλουν να βοηθήσουν με οποιοδήποτε τρόπο στη σύνταξη αυτού του οδηγού, μπορούν να επικοινωνήσουν μαζί μου στο mail: ghadjikyriacou at yahoo dot com. από Χατζηκυριάκου Γιώργος (ghadjikyriacou@yahoo.com) στις 22:44 Μπαχαράκης Χρήστος
Let’s Rock at Athens – OpenFest 2010Trying to follow the Fedora’s 13 moto “Rock it” i am traveling to Athens to catch up the rest of the Greek Fedora ambassadors to represent Fedora project at a two days FOSS conference called OpenFest. During the weekend we will have the opportunity to discuss some major topics such as a localized forum for Fedora and general our next moves inside Greece. As always Fedora will have a talk from Kostas introducing Fedora 13 new futures-Fedora community and as always, a cool booth. Pierros, Kostas, Anastasis and Thalia have done a great job burning 300+ Fedora 12 Live cds, printing posters, coffee cups, creating/printing some Fedora cheat cubes and so many others goodies! Thank you guys. Additionally we are determined to complete the Greek translations for the Fedora 13 release. That’s why we are organizing a Fedora translation marathon which will be a parallel event inside Openfest. It is a good opportunity to show the people how is the leading force in Greece works and to find new translators/contributors! That’s all for now. I’ll keep you posted from my twitter account and I will write about my experiences after the event. Till then, happy hacking ![]() Παρασκευή, 12 Μαρτίου 2010Μπαλάσκας ΕυάγγελοςChrooted DropBearI had installed DropBear (Dropbear is a relatively small SSH 2 server and client.) to a chroot environment. The existed documentation is very poor, so i wrote down my notes here: Chrooted DropBear. If you have any questions, i ‘ll be glad to answer them. Σπινέλλης Διομήδης
Email's Ten by Ten Law
I drown in email and my aspirations for handling it are becoming increasingly
lame.
In the 1980s my goal used to be an empty mailbox at the end of each
session.
During the 1990s the goal became to empty the mailbox by the end of the day.
But tasks I couldn’t complete within the day accumulated, so in the 2000s
I just tried to have only so many messages as could fit in a window without
a scrollbar, so that I could immediately scan what I had to do.
Nowadays my modest goal is to keep the size of my mailbox below 100
messages, and I succeed in that only half of the time.
Ρούσσος Νίκος
Running Fedora
I always like to test distributions but due to lack of time i rarely do it :) I’m using Gentoo for quite some time now (and Debian on some machines I administrate), but i wanted a more desktop-oriented distribution, at least for my netbook where Gentoo compile-all philosophy was not the best way to go. I have to admit that my first thought was Ubuntu. Maybe because I’m already using an apt-get distro and it seemed like the obvious choice. But who am I kidding? I’m an active member of Greek FOSS Communtiy, so the existence, and more important the quality and activities, of the community that inevitably grows around a distribution is very important thing to me. So I was looking for a desktop-oriented distribution with bleeding-edge technologies and vivid community. And the only name that came up to my mind was Fedora! I first installed it on my netbook, where I also had the ability to test Moblin (on Fedora it’s just a ‘yum install @moblin-desktop’ away :)) and I was so pleased by the performance that I have already Fedorized my Desktop! Did i said anything about the community? I was impressed by the quality of Fedora community last year on Fosdem and that impression was enhanced this year by Fedora’s participation on the biggest FOSS European Conference. Besides that, over the last 1-2 years i have met some members of the Greek Fedora Community, the Greek Fedora Ambassadors, and i have to admit that it’s one of the most active and vivid community in Greece. Being willing to contribute, as i already do in many ways for FOSS in general with mostly advocating activities, I have already apply for Fedora Ambassador and hoping to find the time to be more involved and active inside Fedora ecosystem. PS. for those wondering, Gentoo (and secondly Debian) will still be my first choice when it comes to Systems Administration, but it was time i move over to a new Desktop Distribution. ![]() Κοσμάς Λευτέρης
ένας διαδραστικός πίνακας ανοιχτού κώδικα για το Νέο Σχολείο;
1 commnent(s) for this post:
Αδαμόπουλος ΓιώργοςUniversal Systems LanguageWhile clearing my IEEE/Computer stack I read about the Universal Systems Language (December 2008 issue). Mind blowing stuff! USL and its Deal-Before-The-Fact methodology have their roots in the Apollo space program:
As is highlighted in the article “Correct use of USL eliminates the majority of errors, including all interface errors within a system modem and its derivatives”. It is a pity that the 001 Tool Suite seems to cost $9950 :( That way we can only read (and dream) about it. ![]() Πέμπτη, 11 Μαρτίου 2010#Portal: FedoraProject.gr
Openfest 2010 στο TEI ΠειραιάΤο Openfest 2010 είναι ένα φεστιβάλ για το ελεύθερο και ανοιχτό λογισμικό που θα διεξαχθεί στο ΤΕΙ Πειραιά τo Σάββατο και την Κυριακή 13 & 14 Μαρτίου.στο ΤΕΙ Πειραιά. Το Fedora δεν θα μπορούσε να λείψει φυσικά και έτσι εκτός από την παρουσία μας σε booth θα γίνει και παρουσίαση στις 18:00 - 18:30. Περισσότερες πληροφορίες στον ιστότοπο του Openfest 2010. Για την οργάνωση της παρουσίας του Fedora στο φεστιβάλ οργανώσαμε μια σελίδα στο wiki μας #Portal: Ellak.gr
Ημερίδα Labs.opengov
Την Πέμπτη 4 Μαρτίου, έγινε στο Εθνικό Ίδρυμα Ερευνών - αμφιθέατρο Λεωνίδας Ζέρβας , ημερίδα σχετικά με το έργο labs.opengov, και παρουσιάστηκε το έργο που έχει γίνει. Στην ημερίδα συμμετείχαν εκπρόσωποι από κυβερνητικούς και μη οργανισμούς, όπως ο κ. Γιάννης Πανάρετος Υφ. Παιδείας, Πολιτικός Υπεύθυνος για την Ανοικτή Διακυβέρνηση η κα. Γ. Παπαρίδου, Β' Αντιπρόεδρος Δ.Σ. Σ.Ε.Π.Ε, ο κ. Στέφανος Γκρίτζαλης, Ειδικός Γραμματέας Διοικητικής Μεταρρύθμισης, Υπουργείο Εσωτερικών, Αποκέντρωσης και Ηλεκτρονικής Διακυβέρνησης, ο κ. Διομήδης Σπινέλλης, Γενικός Γραμματέας Πληροφοριακών Συστημάτων, Υπουργείο Οικονομικών και ο κ. Αντώνης Μαρκόπουλος, Ειδικός Γραμματέας Ψηφιακού Σχεδιασμού, Υπουργείο Οικονομίας, Ανταγωνιστικότητας και Ναυτιλίας.
Μπαλάσκας ΕυάγγελοςHibernationΕργάζομαι αρκετά συχνά στο laptop (κυρίως λόγο δουλειάς) κι ένα από τα πράγματα που επιθυμώ να δουλεύει τέλεια είναι το: hibernation για να μπορώ να αποθηκεύω την κατάσταση του υπολογιστή και της εργασίας μου ώστε να συνεχίζω από εκεί που σταμάτησα την επόμενη φορά που θα το ανοίξω. Αλλά τι είναι το hibernation και τι κάνει; Το λειτουργικό σύστημα και οι εφαρμογές μας όταν τρέχουν χρειάζονται να διαβάζουν/γράφουν και να επεξεργάζονται δεδομένα. Τα δεδομένα αυτά, τα αποθηκεύονται προσωρινά στην μνήμη RAM του υπολογιστή μας. Η μνήμη RAM είναι εξαιρετικά γρήγορη σε διαβάσματα/γραψίματα αλλά έχει δύο σημαντικούς περιορισμούς. Ο πρώτος είναι το μέγεθος σε Mb (ή πλέον Gb) και το δεύτερο πιο σημαντικό είναι ότι δεν μπορεί να αποθηκεύσει τα δεδομένα. Εάν δεν υπάρχει ρεύμα είναι κενή (άδεια) σε αντίθεση με τον σκληρό δίσκο που ακόμα κι εάν είναι σβηστός ο υπολογιστής τα δεδομένα δεν χάνονται. Στο linux ως επέκταση της μνήμης RAM χρησιμοποιούμε την κατάτμηση swap. Ο παλιός κανόνας, μας πρότεινε να είναι διπλάσιο σε μέγεθος της μνήμης, αλλά πλέον δεν είναι ούτε καν απαραίτητο να έχουμε κατάτμηση swap σε μία διανομή linux (εάν κι αρκετές το επιβάλουν κατά την εγκατάσταση). Για να μπορούμε να αποθηκεύσουμε λοιπόν την κατάσταση του υπολογιστή μας και να μπορούμε να την χρησιμοποιήσουμε την επόμενη φορά που θα τον ανοίξουμε, χρειάζεται να αποθηκεύσουμε την πλήρη εικόνα των δεδομένων από την μνήμη RAM μας κι όλα τις απαραίτητες πληροφορίες από τις συσκευές μας κάπου. Κι από αυτό το σημείο ο πυρήνας μας την επόμενη φορά να διαβάσει όλες τις πληροφορίες που χρειάζεται ώστε να μας επαναφέρει την προηγούμενη κατάσταση (πριν κλείσει). Αυτό το ΚΑΠΟΥ συνήθως είναι δύο πράγματα: ένα αρχείο ή η κατάτμηση swap. Η διαδικασία είναι πλέον εξαιρετικά απλή και στο archlinux που χρησιμοποιώ δουλεύει σχεδόν 100% σωστά! Χρειάζεται να εγκαταστήσουμε το πρόγραμμα pm-utils και να κάνουμε δύο τροποποιήσεις. Η 1η είναι στο εξής αρχείο: /etc/mkinitcpio.conf Δείτε πως είναι το δικό μου: HOOKS="base udev autodetect pata scsi sata resume filesystems" Μόλις το κάνουμε αυτό πρέπει να πληκτρολογήσουμε την εξής εντολή: mkinitcpio -p kernel26 ώστε η εικόνα του πυρήνα μας να ενημερωθεί με το νέο HOOK Η 2η αλλαγή που πρέπει να κάνουμε είναι στο εξής αρχείο: /boot/grub/menu.lst Εάν για παράδειγμα η κατάτμηση swap είναι η : /dev/sda2 Δείτε πως είναι το δικό μου: kernel /boot/vmlinuz26 root=/dev/sda1 resume=/dev/sda2 ro Αυτό ήταν όλο! Τώρα από την γραμμή εντολών μπορούμε να πληκτρολογήσουμε την εξής εντολή: Δοκιμάστε το και πείτε μου τις εντυπώσεις σας. Χατζηκυριάκου ΓιώργοςΚυκλοφόρησε ο blueJ 3.0.0 preview
Στις 8/3 κυκλοφόρησε η νέα έκδοση 3.0.0 του bluej η οποία είναι σε κατάσταση preview, δηλαδή μία έκδοση με πολλές αλλαγές, που όπως γράφει στο site προορίζεται για δοκιμές και feedback. Εκτός από το πανεπιστήμιο του Kent, υποστηρίζεται από την Oracle (πλέον) και το πανεπιστήμιο La Trobe της Αυστραλίας ... Μπορείτε να το κατεβάστε από εδώ. Η stable έκδοση παραμένει η 2.5.3.
από Χατζηκυριάκου Γιώργος (ghadjikyriacou@yahoo.com) στις 19:20 Κρητικάκος ΠαναγιώτηςFrozen PentlandsΤετάρτη, 10 Μαρτίου 2010Μπαλάσκας ΕυάγγελοςOpenfest 2010Μην ξεχάσω αυτό το ΣαββατοΚύριακο (13 & 14 Μαρτίου) είναι το ΟπενFest 2010 στο ΤΕΙ Πειραιά. Εάν δεν ξέρω πως τα πάω: http://openfest.teipir.gr/how-to-come/ Αλλά το πιο σημαντικό από όλα είναι να μην το ΞΕΧΑΣΩ! #Hellug Forum: Εκδηλώσεις
Έκθεση dte 2010Έβαλα
Έβαλα στην λίστα http://lists.hellug.gr/pipermail/hellug/2010/010312.html μία ανακοίνωση και θα ήθελα η συμμετοχή σας σε μία συζήτηση η εδώ στο φόρουμ η στη λίστα.
Richard Μπαλάσκας ΕυάγγελοςContribution from a programmer's point of viewΠριν από αρκετό καιρό έγραψα ένα προγραμματάκι μόλις 17 γραμμών σε python με σκοπό να συγχρονίζει δεδομένα μεταξύ δύο διαφορετικών καταλόγων σε δύο διαφορετικά συστήματα κάνοντας χρήση της δυνατότητας του πυρήνα να καταγράφει τα inode events. Ήταν (και είναι ακόμα) το πρώτο και μοναδικό μου πρόγραμμα σε python! Χρησιμοποίησα python γιατί βρήκα την καλύτερη τεκμηρίωση και υλοποίηση του inotify σε python κι ήταν αφορμή να δω αυτή την scripting γλώσσα που οι περισσότεροι γνωστοί μου, μου παρουσίαζαν ως την καλύτερη scripting γλώσσα προγραμματισμού. Στην αρχή τα πράγματα φάνηκαν αρκετά απλά, έγραψα το πρόγραμμα που έκανε την δουλειά που ήθελα κι άρχισα να το εμπλουτίζω σιγά,σιγά. Χωρίς πολλές φανφάρες το δημοσίευσα μέσω του πλανήτη κι έπειτα από λίγο καιρό σκέφτηκα να το διαφημίσω και μέσω του freshmeat. Η συνέχεια με εξέπληξε πολύ ευχάριστα. Κοιτώντας από τα στατιστικά μου διαπίστωσα πως αρκετός κόσμος το έχει ήδη κατεβάσει (φυσικά δεν αναφέρομαι σε bots) και τουλάχιστον 13 άτομα παρακολουθούν πότε βγάζω νέα έκδοση! Κι αυτό δεν ήταν τίποτα σε σχέση με την πρώτη φορά που πήρα feedback για το προγραμματάκι, που πλέον μεγάλωνε σε γραμμές και λειτουργίες. Κι ύστερα ήρθαν τα πρώτα requests κι έπειτα τα πρώτα patches!! Το προγραμματάκι που μέχρι πριν από λίγο καιρό έγραφα μόνος μου κι εξυπηρετούσε μόνο εμένα, αυτή την στιγμή λειτουργεί σε production υποδομές εξυπηρετώντας κι άλλους. Μάλιστα έχω φτάσει στο σημείο να κάνω πλέον review σε patches για να προσθέτω νέες λειτουργίες. Οι τελευταίες δύο εκδόσεις του PIrsyncD είναι βασισμένες σε patches και οι προσθήκες που έχω κάνει εγώ είναι μόνο για error handling κυρίως και διορθώσεις των patches ώστε να ακολουθούν την KISS φιλοσοφία. Από 17 γραμμές έχει φτάσει τις 302. Κι εάν εδώ ακούσω κάποιον να λέει: σιγά τις πολλές γραμμές, να αναφέρω ότι είναι 17φορές περισσότερες από το αρχικό κι ο σκοπός ύπαρξής του είναι υπερβολικά συγκεκριμένος. Να συγχρονίζει καταλόγους χωρίς την ύπαρξη κάποιου cron script ή κάποιας άλλης εξωτερικής παρέμβασης! Είμαι πολύ ενθουσιασμένος για την πορεία. Εύχομαι να μην σταματήσει εδώ. Εν κατακλείδι: - Μην διστάζετε να υλοποιείται και να δημοσιεύετε τις ιδέες σας. Ακόμα κι εάν δεν είστε προγραμματιστής (όπως εγώ!) ή εάν δεν πιστεύετε ότι γράφετε ποιοτικό κώδικα. Ανήκουμε σε μία ευρύτερη κοινότητα, αυτή του ανοιχτού κώδικα, του ελεύθερου λογισμικού και η συνεισφορά μας μπορεί να μας φαίνεται μικρή για την ώρα αλλά σαν τσουνάμι μπορεί να φτάσει στην google και να μας αγοράσει (”δανεισμένο” από φίλο εκ πατρών). Μπαλάσκας ΕυάγγελοςPIrsyncD new version: 20100310PIrsyncD stands for: Python Inotify Rsync Daemon. Description: A lot of changes over the past couple releases From ChangeLog:
Thanks Jeff Templon < templon AT nikhef DOT nl > and Jan Just Keijser < janjust AT nikhef DOT nl > for your feedback on PIrsyncD. plz try ./PIrsyncD –help to see more Get the latest version of PIrsyncD v20100310 Κοσμάς Λευτέρης
10 ώρες στον υπολογιστή μέσα σε 1 λεπτό
Για να πετύχει αυτό το αποτέλεσμα ο Dave χρησιμοποίησε τα εξής προγράμματα. To FFmpeg, το ImageMagick και το scrot. Αν θέλετε να κάνετε και εσείς κάτι παρόμοιο στο Linux μπορείτε να εγκαταστήσετε τα εν λόγω προγράμματα μέσα από το package manager της διανομής της προτίμησης σας. Μετά μπορεί να κατεβάστε ένα script-άκι με όνομα capture.sh που θα μπορείτε να το κάνετε download από εδώ. Αφού το κατεβάστε (πχ στο home directory σας) για να το κάνετε εκτελέσιμο δώστε:
To script-άκι είναι γραμμένο για να εξυπηρετεί χρήστες Linux και Mac γι’αυτό αν μπείτε στο κόπο να ελέγξετε αν χρειάζεται αλλαγές. Σε πολλά σημεία το script έχει οδηγίες ώστε να κάντε τις αλλαγές που εσείς χρειάζεστε. Το τελικό αποτέλεσμα (στο βίντεο που ακολουθεί σε Mac αλλά και στο Linux οι διαφορές είναι μικρές) θα μοιάζει κάπως έτσι: Αν θέλετε μπορείτε επίσης να φτιάξτε ένα ακόμη script-άκι για να “ανεβάζετε” αυτόματα βίντεο σας στο youtube.
1 commnent(s) for this post:
Τρίτη, 09 Μαρτίου 2010Κεραμίδας ΓιώργοςUnit Testing Uncovers BugsAs part of the ‘utility’ library in one of the projects we are using at work, I wrote two small wrappers around strtol() and strtoul(). These two functions support a much more useful error reporting mechanism than the plain atoi() and atol() functions, but getting the error checking right in all the places they are called is a bit boring and cumbersome. This is probably part of the reason why there are still programs out there that use atoi() and atol(). For example here’s how I usually check for errors in calls to the strtol() and strtoul() functions:
This is a lot of code for parsing a single long value. For one or two input strings it may be ok to repeat the code in the places where the numeric parsing code is needed. For more than a couple of input strings it really feels boring to repeat this code again and again. When I set out to write the wrapper code for strtol() and strtoul() my goal was to make it very easy to parse input strings. A typical call to the parsing function should be a single line of code; it should be very clear if the parsing attempt succeeded or failed; it should also be possible to get both the parsing success or failure and the numeric value we just parsed; it should also be possible to get hold of the last character we managed to parse, so that strings like “100 200 300″ can be parsed efficiently without having to manually find where the textual representation of the first number ends or the second one starts. That’s quite a list of goals for a single function, but the function call style I envisioned looked something like this:
The return value of parselong() makes it very clear if the parsing attempt succeeded or failed. A return value of zero means success. Any other return value means failure. The parsed value is returned through the &value pointer. If the parsing attempt has failed parselong() can leave the value unmodified to avoid inflicting spurious side-effects to its calling code because of a failed attempt to parse an input string. If the parsing attempt has succeeded, &endp may be set to point right after the last character that was successfully parsed. This is actually part of the documented interface of strtol() and strtoul(), so it comes for free by wrapping these functions. Finally, parsing a long value is a single function call. It is a lot easier to call the parsing function without having to repeat all the error checking boilerplate at each calling site. It’s even easy to “chain” multiple parsing attempts using a style similar to:
Not that this is a good style of reporting errors, but it is possible, just because it’s now easy to parse a value and check if it was parsed correctly with a single line of code. The Unit Tests Fail on Linux Several months passed after I wrote the initial parselong() and parseulong() functions. In the meantime I had to port the program using them to other platforms. The initial target platform was FreeBSD. This is a bug that lurked for a few months in the initial code of parselong() until I had to port the function to another platform and started writing unit tests to verify that it works the way I expected it to work on all possible systems. In retrospect I should have started by writing the unit tests, but that’s something I can say now because I finally got around to doing it and they did serve a very useful purpose. When I had to port my ‘utility’ functions to work on several Linux versions too, I wrote a collection of unit tests for parselong() and parseulong(). The testing framework I used was CUnit because of the way it nicely integrates with plain ANSI C code. One of the test functions I wrote was supposed to check for failures returned by parselong() for invalid input strings. The bulk of the test function was something like this:
Running the unit tests on FreeBSD seemed to work fine. After all the initial version of the parselong() function had been manually tested with the same input strings earlier. When I tried running the same test cases on Linux though, they failed. Apparently parselong() was not detecting that strtol() failed to parse the input string “xxx” or any other input strings from the ones tested in the test_parselong_failures() function! The Bug Uncovered Adding a couple of debugging printf() calls to parselong() itself showed that on Linux parselong() was returning zero for invalid input strings when strtol() could parse no character at all from the input string. The initial version of the error checking code for strtol() was similar to:
The highlighted part (endp != str) of the error checking code assumes that strtol() will move the ‘endp’ pointer at least one character after the start of the input string. Apparently on Linux this is not the case. The strtol() function of Linux does not move ‘endp’ at all if it cannot parse even a single character of the input string. This seems to be the correct behavior for strtol(), but it was hidden for a while, lurking in the original parselong() code, until I ran the unit tests of the function on Debian GNU/Linux. The CUnit driver program that I used to run the test cases failed on Linux with error messages like:
The culprit for these test case failures was the assumption that Linux would set errno to a non-zero value for an invalid input string… Apparently, it doesn’t. The following small program prints different output on BSD vs. Linux:
On FreeBSD the output of this program includes an errno value of EINVAL: freebsd$ cc strtest.c freebsd$ ./a.out str = 0x8048604 = "xxx" endp = 0x8048604 "xxx" endp[0] = 'x' (120 0170 #x78) errno = 22 value = 0 00 #x0 freebsd$ fgrep 22 /usr/include/sys/errno.h #define EINVAL 22 /* Invalid argument */ freebsd$ On a recent update of Debian GNU/Linux “testing” the output is slightly different: debian$ cc strtest.c debian$ ./a.out str = 0x8048630 = "xxx" endp = 0x8048630 "xxx" endp[0] = 'x' (120 0170 #x78) errno = 0 value = 0 00 #x0 debian$ This means that the only indication we have that the Linux version of strtol() failed to parse some of the input text is the value of ‘endp’: it’s the same as the input string. The error-checking code of the original parselong() wrapper was:
But on Linux both of the following are true:
This caused parselong() to bypass the error checking code, and try to return a ‘valid’ result even tough the Linux strtol() version has failed. Hence the failure of the unit tests. Removing the (endp != str) conditional expression means that the error checking code works equally well on Linux and BSD. The BSD version of strtol() returns a non-zero errno value, triggerring the first part of the error checking code. The Linux version returns an endp pointer that is non-null and fails the ‘\0′ check later on. The new parselong() function is slightly shorter and it passes the unit tests on both BSD and Linux. Conclusions There is something thrilling about fixing bugs by removing code. This bug was one of the few cases I’ve come across during the last couple of months where removing code was an improvement. There’s probably a joke about “writing too much code” and the bug-resolving debt each line of new code introduces. I think I’ll leave that for another time though. The most important conclusion of today’s bug hunting session was that Unit Testing really does work and it pays back in real, quite tangible ways. Had I not spent a bit of time to think about what the parselong() and parseulong() functions are supposed to do, when they are supposed to fail and how they are allowed to fail, I would not spent the time to write test cases for them. Had I not written the test cases, I wouldn’t notice there is a failing test case on Linux. Had I not seen that I wouldn’t realize some times the two functions were returning completely bogus results on Linux systems. The central place the unit testing code has in this story is an important and serious lesson for me: KEEP TESTING!
Filed under: Computers, FreeBSD, GNU/Linux, Linux, Programming, Software Tagged: Computers, FreeBSD, GNU/Linux, Linux, Programming, Software, testing ![]() Σάββατο, 13 Μαρτίου 2010Σκαλκώτος ΝίκοςnVidia and Slackware-Current
A week ago slackware-current got a huge update and one of the things that were updated was the kernel. Kernel 2.6.33 intr0duced a new nvidia driver: nouveau, which resulted by reverse-engineering the official driver I think. The problem is that out of the box, at least for now, neither nouveau, nor the official nvidia driver are runnable on the system.
For nouveau, the Xorg that is included with slackware-current does not contain the needed xf86-video-nouveau driver. You can download and compile this, but you need to find the suitable for your nouveau kernel module and this is not the latest from the nouveau repository: git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau/ You could of course download the latest pair of kernel and xorg driver and this should work, but for now, I decided to stay with the official driver from nvidia. Two problems arise here. First the nouveau driver is loaded automatically in the boot process when the hardware is probed and it is conflicting with the official nvidia driver. Second, the latest nvidia driver 190.53 does not compile with kernel 2.6.33. In order to overcome the first problem you'll probably need to blacklist the nouveau module, or unload it every time before starting X-Window. You cannon directly unload nouveau and it's dependencies using rmmod. You have to unbind the nouveau frame buffer first. See here for more info. Anyway, blacklisting the modules is easier. Simply append this: blacklist drmto /etc/modprobe.d/blacklist.conf and the old vga console driver will run the next time you boot the system. For the latest nvidia driver (190.53) you need first to apply the patch found here: nvidia-betasam-2.6.33.patch.txt You can apply a patch like this: sh ./NVIDIA-Linux-x86-190.53-pkg1.run --apply-patch nvidia-betasam-2.6.33.patch.txtThis will create a new file: NVIDIA-Linux-x86-190.53-pkg1-custom.run with the patched driver, which is compatiple with kernel 2.6.33. Δευτέρα, 08 Μαρτίου 2010#Portal: Ellak.gr
OpenFest του ΤΕΙ Πειραιά
Οι σπουδαστές του τμήματος Ηλεκτρονικών Υπολογιστικών Συστημάτων του ΤΕΙ Πειραιά, θα διοργανώσουν το φεστιβάλ τεχνολογίας OpenFest 2010, υπό την αιγίδα του τμήματος Η/Υ Συστημάτων του ΤΕΙ Πειραιά. Η διημερίδα θα πραγματοποιηθεί το Σαββατοκύριακο 13 και 14 Μαρτίου 2010 στο χώρο του ΤΕΙ Πειραιά. Το OpenFest είναι ένα φεστιβάλ με θέμα το ελεύθερο λογισμικό και τον ανοιχτό κώδικα διάρκειας δύο ημερών. Διοργανώνεται από τους σπουδαστές του τμήματος Ηλεκτρονικών Υπολογιστικών Συστημάτων του ΤΕΙ Πειραιά, δεν βασίζεται σε χορηγίες και έχει τελείως αφιλοκερδή χαρακτήρα. Σκοπός της διημερίδας είναι να παρουσιάσει το ελεύθερο και ανοιχτό λογισμικό σε μαθητές και σπουδαστές, καθώς και στους άλλους επισκέπτες που είναι ευπρόσδεκτοι να παρευρεθούν στο χώρο της εκδήλωσης. Περιληπτικά, τo OpenFest 2010 θα περιλαμβάνει:
Μπαχαράκης Χρήστος
Fosscomm 2010 – ΠαράτασηΔευτέρα 8 Μαρτίου 2010, η προθεσμία υποβολής ενδιαφέροντος για παρουσιάσεις/workshops έχει τελειώσει αλλά όλα τα προάστια της Θεσσαλονίκης είναι χιονισμένα και παγωμένα. Τι άλλο πρέπει να γίνει για να καταλάβουμε ότι πρόκειται για ένα σημάδι από μια ανώτερη δύναμη με απώτερο στόχο να δοθεί μια μικρή παράταση;! Σας δίνουμε λοιπόν ακόμη μια βδομάδα να απολαύσετε το χιόνι, να φτιάξετε χιονάνθρωπους, να παίξετε χιονοπόλεμο αλλά και να αναλύσετε/αναπτύξετε την ιδέα σας. Έτσι λοιπόν θα δεχόμαστε υποβολές ενδιαφέροντος για παρουσιάσεις/workshops μέχρι και την Κυριακή 14 Μαρτίου 2010. Για όλους εσάς που ακόμη το σκέφτεστε, τι περιμένετε; Στείλτε μας ένα mai στο thessaloniki@fosscomm.gr περιγράφοντας την ιδέα σας και ποιος ξέρει, μπορεί να γίνετε εσείς ο νικητής του διαγωνισμού “Best ομιλητής Fosscomm 2010″! Μέχρι τότε, από την κάτασπρη Θεσσαλονίκη, φιλάκια ρουφηχτά. Εκ μέρους της οργανωτικής επιτροπής Μπαχαράκης Χρήστος ![]() #Κοινότητα: Πολυτεχνείο Αθηνών (Άρθρα)
Debian Live CDΤα live cd είναι ένα πολύτιμο εργαλείο για κάθε χρήστη. Μπορούν να χρησιμοποιηθούν, μεταξύ άλλων, για την επιδιόρθωση του bootloader ενός συστήματος, την ανάκτηση αρχείων από κάποιο δίσκο, ή την συλλογή πληροφοριών για το hardware ενός υπολογιστή, εκτελώντας για παράδειγμα κάποιο benchmark. Στον οδηγό αυτό θα δούμε πως μπορεί κανείς να δημιουργήσει το δικό του live cd με βάση τη διανομή Debian, επιλέγοντας ο ίδιος τα πακέτα που θέλει εγκατεστημένα στο live σύστημα. Αντί για cd βέβαια μπορεί κάλλιστα να δημιουργήσει ένα live dvd ή usb stick! Όλα αυτά είναι δυνατά χάρη στο Debian Live Project.
Δείτε όλα τα άρθρα. --MikeX 00:58, 8 Μαρτίου 2010 (UTC) Κυριακή, 07 Μαρτίου 2010Αδαμόπουλος ΓιώργοςAlgorithms on StringsI was first exposed to string matching by given to read “Algorithms for Finding Patterns in Strings” back in 1990, when I naively asked Prof. Stathis Zachos something like “How does grep work?”. Time passed, I became a system administrator and most of my exposure to string matching was through scripts and sysadmin stuff automation. Automata are nice, but Perl and shell brought food to the table. These memories surfaced because I got to read “Algorithms on Strings” in January thanks to Bill Gasarch. Complete, self-contained and with plain and well understood English, the book covers the subject fulfilling simultaneously the needs of those who want to just read the theory, those who want to see the proofs and those who just want to write code. The pseudocode in the book is understood by anyone who has ever written a single program in C or Java. It either introduces new functions or makes use of others previously defined. This may make it a little difficult at first for people who need to write something described in, for example, chapter six and may find themselves reading from chapter one up to six. In this process the book manages to educate even the programmer who does not care about theory not only about how to do certain functions, but why they are done the way they are. As a plus, references to appropriate Unix shell tools (e.g. diff) are given when appropriate. A really impressive book, definitely worth your time! A book that you can use both to learn about stuff and as a reference. ![]() #Linux.gr
Διαθέσιμο το 7ο Τεύχος του Περιοδικού Ubuntistas
http://ubuntistas.ubuntu-gr.org/ Η έβδομη έκδοση του Ubuntistas κυκλοφορεί! Το 2010 μπήκε για τα καλά και οι εξελίξεις για το Ubuntistas είναι θετικές. Βλέπουμε σιγά σιγά περισσότερους εθελοντές και η σταθερή ομάδα του περιοδικού μεγαλώνει. Βέβαια, είναι χαρά μας να βλέπουμε ενεργά μέλη και πάντοτε όσοι θέλετε να προσφέρετε είστε καλοδεχούμενοι. Μην διστάσετε να δραστηριοποιηθείτε στην παρέα μας. Όσον αφορά την ύλη, στην συνέντευξη φιλοξενούμε τον Άλκη Γεωργόπουλο (καθηγητής δευτεροβάθμιας εκπαίδευσης στον χώρο του ελεύθερου λογισμικού), παρουσιάζουμε την διανομή Debian squeeze, εκφράζουμε τις απόψεις μας σχετικά με την ελευθερία, το Ubuntu Linux και την Ελληνική κοινότητα του Ubuntu. Ακόμα στις 37 σελίδες του περιοδικού θα βρείτε ενδιαφέροντα how-to (Εισαγωγή στην QT), reviews (Comic readers, Blender), hints & tips, και νέα-ειδήσεις του Linux και της κοινότητας Ubuntu-gr #Linux.gr
23η Συνάντηση Εκπαιδευτικών στη Δυτική Μακεδονία σε Θέματα Τ.Π.ΕΤα Κέντρα ΠΛΗ.ΝΕ.Τ. του Ν. Κοζάνης, Ν. Φλώρινας και Πτολεμαΐδας, η Λέσχη Φίλων Ανοιχτού Λογισμικού Κοζάνης και το Παράρτημα της Π.Ε.ΚΑ.Π. Κεντρικής και Δυτικής Μακεδονίας συνδιοργανώνουν την 23η Συνάντηση Εκπαιδευτικών στη Δυτική Μακεδονία σε Θέματα Τ.Π.Ε. (Τεχνολογιών Πληροφορίας και Επικοινωνιών). Τόπος Διεξαγωγής: Βιβλιοθήκη Τ.Ε.Ι Δυτικής Μακεδονίας - Κτήριο Κ.Τ.Ε. - Κοίλα Κοζάνης ΘΕΜΑΤΑ 23ης Συνάντησης :
Εισηγητές:
Πληροφορίες:
Οι καταχωρήσεις συλλέγονται αυτόματα χωρίς ανθρώπινη παρέμβαση και αποτελούν πνευματική ιδιοκτησία των συγγραφέων τους. Τα παραπάνω δημοσιεύματα δεν αντικατοπτρίζουν απαραίτητα τις απόψεις της Ένωσης Χρηστών και Φίλων Linux Ελλάδας
|
Το planet.hellug.gr αποτελεί ένα τόπο συνάντησης των μελών της ελληνικής κοινότητας ελεύθερου λογισμικού.
|