Πέμπτη, 02 Σεπτεμβρίου 2010
Google Hack search only for Drupal modules at Drupal.org
site:drupal.org/project -inurl:issues -inurl:cvs -inurl:usage -inurl:filters -site:drupal.org/project/modules KEYWORDs
Replace KEYWORDs with the keywords with you want to search
Example:
Search modules for Τwitter
v0.1
από nsyll στις 12:34
Ακούμε συχνά τους καθηγητές πληροφορικής να λένε ότι οι αντικειμενοστραφείς γλώσσες προγραμματισμού, μιμούνται αρκετές λειτουργίες της φύσης και του περιβάλλοντος μας γενικότερα ... δίνοντας επίσης και διάφορα παραδείγματα αντικειμένων και μεθόδων όπως: "Δημιούργησε ένα αυτοκίνητο" ... Vehicle car = new Vehicle(); "Δημιούργησε ένα μικρο κουτί" ... Box small_box = new Box(); "Δημιούργησε ένα μεγάλο κουτί" ... Box big_box = new Box(); "Βάψε το αυτοκίνητο μπλε" ... car.setColor(blue); "Κανε το αυτοκίνητο μικρότερο" ... car.setSize(small); "Τοποθέτησε το αυτοκίνητο μέσα στο μικρό κουτί" ... small_box.add(car); "Τοποθέτησε το μικρό κουτί μέσα στο μεγάλο κουτί" ... big_box.add(small_box); ... κ.ο.κ Ας δούμε τώρα ένα ποιο extreme παράδειγμα(!), εμπνευσμένο από τη φύση. Παρακάτω ακολουθεί ένα παράδειγμα εμβολιασμού φυτού (*).  Σε αυτή τη περίπτωση υπάρχουν δυο αντικείμενα, το ρίζωμα και ο βλαστός. Η λογική του εμβολιασμού είναι να τοποθετήσουμε τον βλαστό ενός φυτού στο ρίζωμα ενός άλλου φυτού, ώστε το πρώτο να επικρατήσει και να αναπτυχθεί κανονικά υποβοηθούμενο από το δεύτερο... Μιλώντας με έννοιες του αντικειμενοστραφούς προγραμματισμού, τόσο το ρίζωμα όσο και ο βλαστός έχουν την ιδιότητα του υποδοχέα (container), δηλαδή το ένα μπορεί να τοποθετηθεί μέσα στο άλλο, τηρώντας πάντα κάποιους κανόνες. Στη περίπτωση των φυτών πρέπει να είναι συγγενικά είδη, ενώ στη περίπτωση του Α.Π ένας από τους κανόνες είναι να είναι του ίδιου τύπου δεδομένων. Ποιο κάτω ακολουθεί ένα πολύ απλό παράδειγμα σε Java. Χρησιμοποιώ δυο υποδοχείς JPanel οι οποίοι είναι τοποθετημένοι ο ένας μέσα στον άλλο, ενώ και οι δυο μαζί είναι τοποθετημένοι σε έναν τρίτο υποδοχέα JFrame. Να πώς το κάνει η Java ....  import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class panel_grafting { private static void createAndShowGUI() { JFrame frame = new JFrame("JPanel Grafting"); JPanel quince_tree = new JPanel(); JPanel pear_tree = new JPanel(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel C1_Labe1 = new JLabel("C1_1"); JLabel C1_Labe2 = new JLabel("C1_2"); JLabel C2_Labe1 = new JLabel("C2_1"); JLabel C2_Labe2 = new JLabel("C2_2");
frame.setPreferredSize(new Dimension(400, 400)); frame.setLayout(new BorderLayout()); quince_tree.setLayout(new BorderLayout()); pear_tree.setLayout(new BorderLayout());
quince_tree.setBorder(BorderFactory.createTitledBorder("Quince tree")); pear_tree.setBorder(BorderFactory.createTitledBorder("Pear tree"));
frame.getContentPane().add(quince_tree, BorderLayout.CENTER);
quince_tree.add(C1_Labe1, BorderLayout.EAST); quince_tree.add(C1_Labe2, BorderLayout.WEST);
quince_tree.add(pear_tree, BorderLayout.CENTER); //τοποθέτηση ενός αντικειμένου μέσα σε ένα άλλο
pear_tree.add(C2_Labe1, BorderLayout.EAST); pear_tree.add(C2_Labe2, BorderLayout.WEST);
frame.pack(); frame.setVisible(true); }
public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } }
(*) Ναι, ναι ... έχω περίεργα χόμπι! :)
από Χατζηκυριάκου Γιώργος (ghadjikyriacou@gmail.com) στις 16:45
Today I desperately needed to draw arrows in a picture to point parts of an Arduino stack with an Ethernet and Xbee shield.
So, I took the picture of the stack, increased the contrast and made other adjustments to perfect the pictures, and I was ready to place the arrows. Arrows? How? OK, I googled and found this http://registry.gimp.org/node/20269
You just have to download the .scm file. If you are a Linux user (obviously I use Fedora), go to your Home Folder and press Control+H to unhide the hidden folders. Next, go to the “.gimp-2.6″ (1st: Yes there is a full stop, 2nd: 2.6 is the name of the folder right now according to GIMP’s current version). Inside this folder find the folder “scripts” and place there the .scm file. Now, open GIMP (or re-open if already running), go to Tools and you are good to go
(Tip: To draw an arrow you must use the path tool at the toolbox. Just click one time to point the start of the arrow and a second time to point the end. You will just make a straight line that will be used as a path)
In Greek : Στον σύνδεσμο που υπάρχει παραπάνω μπορείτε να κατεβάσετε το .scm αρχείο που θα σας επιτρέψει να σχεδιάζετε βέλη με το GIMP αυτόματα. Για να λειτουργήσει το αυτό το script πηγαίνουμε στο Home Folder, πατάμε Control+H για να αποκαλυφθούν οι κρυφοί φάκελοι και στη συνέχεια πηγαίνουμε στον φάκελο “.gimp-2.6″ (1ον ναι υπάρχει τελεία, 2ον το όνομα προέρχεται από την τωρινή έκδοση”). Μέσα σε αυτόν τον φάκελο υπάρχει ο φάκελος “scripts” όπου και τοποθετούμε το .scm αρχείο. Ανοίγωντας το GIMP τώρα μπορούμε να δούμε στο Tools το Arrow
(Συμβουλή: Για να φτιάξετε το arrow πρέπει να σχηματίσεται ένα μονοπάτι με το path tool. Αν απλά κάνετε ένα κλικ για την αρχή και άλλο ένα για το τέλος του βέλους εκεί που επιθυμείτε είστε έτοιμοι να φτιάξετε το βέλος με το Arrow που βρίσκεται στα Tools)

από constanton στις 10:36
Τετάρτη, 01 Σεπτεμβρίου 2010
Today I discovered another linux kernel patchset/fork that attempts to bring many features not in mainline together, called pf-kernel.
Quoting from its website:
“pf-kernel is another Linux kernel fork, that provides you with new useful features, that are not merged into mainline. It’s not based on any existing Linux fork or patchset, but some parts of Zen kernel may be merged if there’s no official release of needed patch. The name of this fork is not connected with BSD Packet Filter. «pf» means «post-factum» in the short form.”
At this point the latest patchset includes the following:
* mainline update: 2.6.35.4
* -ck patchset (BFS included)
* BFQ
* TuxOnIce
* LinuxIMQ
Its main advantage over other forks seems to be that it’s regularly updated
I’m using it on my main system without any issues, so I added it to Gentoo’s tree:
* sys-kernel/pf-sources
Available versions:
(2.6.31_p9) (~)2.6.31_p9!b!s
(2.6.32_p16) (~)2.6.32_p16!b!s
(2.6.33_p4) (~)2.6.33_p4!b!s
(2.6.34_p7) (~)2.6.34_p7!b!s
(2.6.35_p7) (~)2.6.35_p7!b!s
{build deblob symlink}
Homepage: http://pf-kernel.org.ua/
Description: Linux kernel fork with new useful features not merged into mainline
Many thanks to Oleksandr for taking the time to create and maintain it
από wired στις 17:12
Πέμπτη, 02 Σεπτεμβρίου 2010
Το έργο αυτό αναφέρεται σε ένα Sketch (πρόγραμμα σε Arduino) το οποίο με την βοήθεια ενός ρελέ (ηλεκτρομηχανικός διακόπτης), του συστήματος VRBot και της κάρτας επέκτασης για αισθητήρες (Sensor Shield) μπορεί να οδηγήσει (ενεργοποιήσει ή απενεργοποιήσει) μία εξωτερική συσκευή (π.χ. ένα φωτιστικό, έναν συναγερμό αυτοκινήτου, ένα οικιακό κλιματιστικό, κ.λπ) με διπλό χτύπο της παλάμης.
Διάφορες εικόνες της εφαρμογής.
Έλεγχος φωτιστικού με διπλό χτύπο της παλάμης – 1.
Έλεγχος φωτιστικού με διπλό χτύπο της παλάμης – 2.
Έλεγχος φωτιστικού με διπλό χτύπο της παλάμης – 3.
Έλεγχος φωτιστικού με διπλό χτύπο της παλάμης – 4.
Για περισσότερες πληροφορίες μπορείτε να προμηθευτείτε το ίδιο το έργο `clapping_control_light_bulb‘.
Η υλοποίηση αυτού του έργου έγινε στον προσωπικό μου φορητό υπολογιστή, ο οποίος εκτελεί το λειτουργικό σύστημα GNU/Linux. Το οποίο, αποτελεί σύνθεση του σύστηματος GNU και του πυρήνα Linux. Η συγκεκριμένη διανομή που χρησιμοποιώ είναι η “Debian GNU/Linux” (θεωρώ πως είναι ένα Λ.Σ κατάλληλο για ανάπτυξη, συντήρηση και παραγωγή Ελευθέρου Λογισμικού).
Τέλος, σε περίπτωση που δεν μπορείτε να ανοίξετε το αρχείο ή το λειτουργικό σας σύστημα δεν αναγνωρίζει αυτόν τον τύπο αρχείου παρακαλώ εγκαταστήστε το ακόλουθο πρόγραμμα `7-Zip’.
Το παραπάνω έργο προστατεύεται με την Γενική Άδεια Δημόσιας Χρήσης GNU (για όπου υπάρχει πηγαίος κώδικας οποιασδήποτε υλοποίησης) και την Άδεια Ελεύθερης Τεκμηρίωσης GNU (για τα εγχειρίδια της εφαρμογής, την ανάλυση και σχεδίαση).

από lafs στις 10:39
Τετάρτη, 01 Σεπτεμβρίου 2010
23 με 27 Αυγούστου πραγματοποιήθηκε το DrupalCon στην Κοπεγχάγη . Επτά άτομα από την Ελλάδα βρεθήκαμε στον Συνέδριο του Drupal και με όσους βρήκαμε εκεί κάναμε μετά το τέλος κάθε ημέρας μια ανασκόπηση τι είδαμε, τι ακούσαμε, τι μας έκανε εντύπωση.
Έτσι ο Κώστας Κουράκης, Στέλιος Κουράκης και David Bash από pointblank.gr, Νίκος Ανδριόπουλος από Αττικές Εκδώσεις, Γιώργος Παπαδόγγονας από infowonders.gr και εγώ Νεκτάριος Συλλιγαρδάκης (nsyll.net) απο eresus.gr προσπαθήσαμε να καταγράψουμε τις εντυπώσεις στα παρακάτω τρία videos.
<!--break-->
Video από της παρουσιάσεις στο συνέδριο ανεβαίνουν στο http://www.archive.org. Μερικές αξίζει τον κόπο να τις παρακολουθήσετε.
από nsyll στις 16:28
Η Εταιρεία Ελεύθερου Λογισμικού/Λογισμικού Ανοικτού Κώδικα (ΕΕΛ/ΛΑΚ) διοργανώνει Ημερίδα με θέμα Έργα ΕΛ/ΛΑΚ: Χρήσιμα για το Δημόσιο Τομέα . Η Ημερίδα θα πραγματοποιηθεί την Τετάρτη 29 Σεπτεμβρίου 2010 στην Αθήνα στο Εθνικό Ίδρυμα Ερευνών στο Αμφιθέατρο 'ΛΕΩΝΙΔΑΣ ΖΕΡΒΑΣ'.
Στόχος της Ημερίδας είναι η προώθηση έργων ΕΛ/ΛΑΚ που είναι χρήσιμα για το Δημόσιο Τομέα και η διάχυση της γνώσης και των νέων εξελίξεων σχετικά με το ΕΛ/ΛΑΚ. Στην ημερίδα, θα παρουσιασθούν οι ελληνοποιήσεις λογισμικού και οδηγιών χρήσης τους για να μπορούν να χρησιμοποιηθούν εύκολα στον Ελληνικό Δημόσιο Τομέα. Οι συμμετέχοντες στην ημερίδα θα ενημερωθούν για τις δράσεις στα παρακάτω έργα:
Ελληνοποίηση Ολοκληρωμένου Συστήματος Αυτοματισμού Βιβλιοθήκης Koha
Το KOHA θεωρείται το πρώτο σύστημα αυτοματοποίησης βιβλιοθηκών ανοιχτού κώδικα. Η ανάπτυξη του ξεκίνησε το 1999 από την Kapito Communications Ltd και πρωτοχρησιμοποιήθηκε από την βιβλιοθήκη Horowhenua Library Trust το 2000. Στην συνέχεια η ευθύνη για την περαιτέρω ανάπτυξης και συντήρηση “πέρασε” στην κοινότητα των πληροφορικών και βιβλιοθηκονόμων ανά το κόσμο. Περισσότερες πληροφορίες για το ΚΟΗΑ στην διεύθυνση http://koha-community.org/ (http://koha-community.org/). Δείτε περισσότερα για τον εξελληνισμό (index.php?option=com_openwiki Itemid=103 id=ellak:koha)
.
13:24
Κυκλοφόρησε η νέα έκδοση της συλλογής λογισμικού KDE 4.5.1 με την κωδική ονομασία "Cronjob"

Η κοινότητα του KDE κυκλοφόρησε την πρώτη έκδοση μεταφράσεων και υπηρεσιών της σειράς 4.5
Το KDE έχει κυκλοφορήσει μια σειρά από ενημερώσεις για τον χώρο εργασίας Plasma Desktop και Netbook, όπως στις εφαρμογές και την πλατφόρμα ανάπτυξης. Αυτή η ενημερωμένη έκδοση είναι η πρώτη σε μια σειρά από ενημερώσεις σταθεροποίησης στην 4.5.0.
Το KDE 4.5.1 είναι μια προτεινόμενη ενημερωμένη έκδοση για οποιοδήποτε έχει εγκατεστημένη το KDE 4.5.0 ή ακόμα και παλαιότερες εκδόσεις. Δεδομένου ότι το δελτίο περιλαμβάνει μόνο διορθώσεις σφαλμάτων και ενημερώσεις μετάφρασεων, θα είναι μια ασφαλής και ευχάριστη ενημέρωση για όλους. Το KDE 4 SC έχει ήδη μεταφραστεί σε περισσότερες από 55 γλώσσες, με περισσότερους να έρθουν.
διαβάστε περισσότερα
από petros στις 10:26
Παρακάτω περιγράφω την εγκατάσταση της δοκιμαστικής έκδοσης του nautilus elementary σε Ubuntu 10.10. Η διαδικασία ισχύει μόνο για τη συγκεκριμένη έκδοση του Ubuntu, λόγω συμβατότητας βιβλιοθηκών, καθώς και για οποιαδήποτε διανομή χρησιμοποιεί τις ίδιες δοκιμαστικές βιβλιοθήκες.
Αρχικά φροντίζουμε να ενεργοποιήσουμε στο Synaptic τα repositories του πηγαίου κώδικα και να εγκαταστήσουμε κάποια απαραίτητα πακέτα:
sudo apt-get install build-essential intltool
sudo apt-get install bzr
sudo apt-get install libzeitgeist-dev
Όταν τελειώσει η εγκατάσταση των παραπάνω πακέτων, συνεχίζουμε δίνοντας στην κονσόλα τις εντολές διαδοχικά και αφού το κάθε βήμα ολοκληρωθεί χωρίς σφάλμα:
sudo apt-get build-dep nautilus
sudo apt-get install gir-repository-dev gobject-introspection
bzr branch lp:nautilus-elementary/2.31+
cd 2.31+/
./autogen.sh –prefix=/usr
make
sudo make install
nautilus -q
Αν η διαδικασία ολοκληρωθεί χωρίς σφάλματα, σε αυτό το σημείο, ανοίγοντας τον nautilus θα έχουμε την elementary έκδοση.

Αν θέλουμε να χρησιμοποιήσουμε την rgba διαφάνεια πρέπει να έχουμε κάποιο από τα θέματα που την υποστηρίζουν. Αυτά είναι θέματα που στηρίζονται στην murrine engine, όπως το Ambiance ή το Radiance. Πρέπει επίσης να πάμε στο φάκελο του θέματος που βρίσκεται στο /usr/share/themes και στον υποφάκελο gtk-2.0 να αλλάξουμε το αρχείο gtkrc. Συγκεκριμένα βρίσκουμε τη boolean μεταβλητή rgba και αλλάζουμε την τιμή της από FALSE σε TRUE.
Περισσότερα εδώ. Η διαδικασία είναι λίγο αλλαγμένη γιατί όπως περιγράφεται στο link δεν ολοκληρώνεται.
Related posts: - Nautilus Elementary 2.30 σε Ubuntu 10.04 Lucid Lynx...
- Nautilus multiview: tabs στο Gnome 2.24...
- Ubuntu tweak: Ρυθμίσεις με τον εύκολο τρόπο...

από fog στις 06:57
Τρίτη, 31 Αυγούστου 2010
From when I stopped using libetc, because a wide variety of programs were incompatible with it, the mess came back on my ~ directory. I became full with dot* directories, and I had to do something in order to save my valuable dotfiles. I created a directory, named config, separated in categories with folders and symlinked everything. That seemed to worked pretty good.
So, for example, for Xorg, I moved all my Xorg related dotfiles to config/xorg, and used this script in order to automatically symlink everything:
for i in config/xorg/.* ; do ln -s $i $HOME/; done
and these files really got symlinked where they should:
lrwxrwxrwx 1 gtklocker gtklocker 23 Aug 31 14:40 .Xauthority -> config/xorg/.Xauthority
lrwxrwxrwx 1 gtklocker gtklocker 22 Aug 31 14:40 .Xdefaults -> config/xorg/.Xdefaults
lrwxrwxrwx 1 gtklocker gtklocker 20 Aug 31 14:40 .xinitrc -> config/xorg/.xinitrc
lrwxrwxrwx 1 gtklocker gtklocker 21 Aug 31 14:40 .xsession -> config/xorg/.xsession
Now the possibilites to split things up and have .* status more clear are countless! Shell magic. :D
από gtklocker στις 11:48
Δευτέρα, 30 Αυγούστου 2010
Τρίτη, 31 Αυγούστου 2010
Η παρακάτω εφαρμογή απευθύνεται σε όσους θέλουν να ελέγχουν την πρόσβαση σε διάφορους χώρους όπως γραφεία, server rooms, χρηματοκιβώτια (:P) κ.α Ακολουθεί βίντεο παρουσίασης:
Όπως παρατηρείτε στο βίντεο, υπάρχουν πέντε "αισθητήρες". Πριν ξεκινήσει η καταγραφή των κινήσεων πρέπει να αρχικοποιήσουμε τις τιμές των pixel στα συγκεκριμένα σημεία, αυτό γίνεται πατώντας μία φορά με το mouse πάνω στην εικόνα (προσέχουμε τα σημεία να μην είναι πάνω σε κινούμενα αντικείμενα). Οι "αισθητήρες" ενεργοποιούνται, όταν τα pixel αλλάξουν τιμές (από άσπρο,μαύρο ή από μαύρο,άσπρο), σε αυτό με βοήθησε το φίλτρο " THRESHOLD". Ακολουθεί ο κώδικας: //Webcam Access Control by George Hadjikyriacou //Version 0.1 (31/8/2010) //License: GPL v3 (http://www.gnu.org/licenses/gpl.html)
import codeanticode.gsvideo.*; int w_width = 640; int w_height = 480; String video_dev = "/dev/video1"; color cp_1,cp_2,cp_3,cp_4,cp_5; color ch_1,ch_2,ch_3,ch_4,ch_5; int counter=0; GSCapture cam;
void setup() { size(w_width+80, w_height, P2D); cam = new GSCapture(this, w_width, w_height, video_dev); }
void draw() {
if (cam.available() == true) { cam.read(); cam.loadPixels(); image(cam,0,0); filter(THRESHOLD);
ch_1 = get(w_width/2,w_height/2); ch_2 = get(w_width/2,0); ch_3 = get(w_width/2,w_height-1); ch_4 = get(w_width/2,w_height/4); ch_5 = get(w_width/2,(w_height+w_height/2)/2);
if(cp_1!=ch_1||cp_2!=ch_2||cp_3!=ch_3||cp_4!=ch_4||cp_5!=ch_5) { fill(color(255,0,0)); rect(w_width+10,10,60,60); counter++; println("Moves: "+counter); } else { fill(0); rect(w_width+10,10,60,60); } } cam.updatePixels(); noFill(); ellipse(w_width/2,w_height/2,10,10); ellipse(w_width/2,0,10,10); ellipse(w_width/2,w_height-1,10,10); ellipse(w_width/2,w_height/4,10,10); ellipse(w_width/2,(w_height+w_height/2)/2,10,10); } void mousePressed() { cp_1 = get(w_width/2,w_height/2); cp_2 = get(w_width/2,0); cp_3 = get(w_width/2,w_height-1); cp_4 = get(w_width/2,w_height/4); cp_5 = get(w_width/2,(w_height+w_height/2)/2); println("Initial values: "+hex(cp_1)+","+hex(cp_2)+","+hex(cp_3)+","+hex(cp_4)+","+hex(cp_5)); counter=0; }
Στην εφαρμογή θα προστεθούν στο μέλλον και άλλες λειτουργίες, όπως για παράδειγμα τη δυνατότητα να φωτογραφίζει ( σε αρχεία .jpg) αυτό που προκάλεσε την ενεργοποίηση των αισθητήρων!
από Χατζηκυριάκου Γιώργος (ghadjikyriacou@gmail.com) στις 05:56
Πέμπτη, 02 Σεπτεμβρίου 2010
Το έργο αυτό αναφέρεται σε ένα Sketch (πρόγραμμα σε Arduino) το οποίο υλοποιεί ένα παιχνίδι ενίσχυσης οπτικών δεξιοτήτων. Ουσιαστικότερα, είναι ένα παιχνίδι αντανακλαστικών. Μπορεί να παιχθεί από έναν χρήστη (single-player) ή από πολλαπλούς χρήστες ταυτόχρονα (multi-player). Κάθε παίχτης έχει στην κατοχή του ένα κουμπί. Το σύστημα ανάβει και σβήνει κατάλληλο LED σε ψευδοτυχαίες χρονικές στιγμές. Οι παίχτες οφείλουν να πατήσουν όσο πιο γρήγορα γίνεται το κουμπί τους ώστε να κερδίζουν πόντους.
Οι πόντοι των παιχτών απεικονίζονται σε κατάλληλες οθόνες 7-segment. Κάθε μία από τις οθόνες οδηγούνται με την βοήθεια ενός καταχωρητή ολίσθησης 74HC595 8 ψηφίων. Σε περίπτωση που κάποιος από του παίχτες συμπληρώσει τις απαραίτητες νίκες τότε κερδίζει το σετ, παράγεται μουσική μελωδία με κατάλληλο Piezo μεγαφωνάκι και ξεκινάει το παιχνίδι από την αρχή.
Το παιχνίδι είναι ευέλικτο με αποτέλεσμα να μπορεί να υποστηρίξει μεγάλο αριθμό παιχτών.
Παρακάτω ακολουθεί εικόνα του έργου:
Παιχνίδι Ενίσχυσης Οπτικών Δεξιοτήτων – Εικόνα 1.
Παιχνίδι Ενίσχυσης Οπτικών Δεξιοτήτων – Εικόνα 2.
Για περισσότερες πληροφορίες μπορείτε να προμηθευτείτε το ίδιο το έργο `game_visual_reflexes‘.
Η υλοποίηση αυτού του έργου έγινε στον προσωπικό μου φορητό υπολογιστή, ο οποίος εκτελεί το λειτουργικό σύστημα GNU/Linux. Το οποίο, αποτελεί σύνθεση του σύστηματος GNU και του πυρήνα Linux. Η συγκεκριμένη διανομή που χρησιμοποιώ είναι η “Debian GNU/Linux” (θεωρώ πως είναι ένα Λ.Σ κατάλληλο για ανάπτυξη, συντήρηση και παραγωγή Ελευθέρου Λογισμικού).
Τέλος, σε περίπτωση που δεν μπορείτε να ανοίξετε το αρχείο ή το λειτουργικό σας σύστημα δεν αναγνωρίζει αυτόν τον τύπο αρχείου παρακαλώ εγκαταστήστε το ακόλουθο πρόγραμμα `7-Zip’.
Το παραπάνω έργο προστατεύεται με την Γενική Άδεια Δημόσιας Χρήσης GNU (για όπου υπάρχει πηγαίος κώδικας οποιασδήποτε υλοποίησης) και την Άδεια Ελεύθερης Τεκμηρίωσης GNU (για τα εγχειρίδια της εφαρμογής, την ανάλυση και σχεδίαση).

από lafs στις 10:39
Δευτέρα, 30 Αυγούστου 2010
As I write on my about page, I closely track Arch Hurd development. Today giselher posted this on #archhurd:
11:30:50 giselher | http://www.archhurd.org/ look at that :D
11:31:22 giselher | I am gonna taking a short break :)
I visited it and got really surprized. A deluge of php* packages were up. As he said, the HAMP system is pretty much ready, we just need a server to play the role of the.. "first Arch Hurd server, eveh!". My father has a spare machine at work, which isn't getting used there, so I'll probably take it at home, put Arch Hurd on it [*] and make it the first Arch Hurd server alive. :D
Thanks giselher for making that true! :)
[*] It seems it has pretty much everything needed for it: VIA Rhine II, Intel Celeron, IDE HDD.
Edit: hayashi was faster than me, check the results here. Congrats hayashi. :D
από gtklocker στις 09:53
For the past year i am looking for http 404 (not found) on my blog. I have only two sites, a blog & a wiki, so without any other web application, i can monitor for web vulnerabilities (that hackers are looking for) by just looking for 404 (Not Found) http errors.
I am using mod_rewrite for URL manipulation. My custom .htaccess redirects every Not Found (404) page to my index.php.
You can use it too, but you must be extremely careful.
You MUST NOT have any valid URLs with one the files below.
If you have, just remove the specific line from the .htaccess file.
An example:
Url: http://ebalaskas.gr/README doesnt exist,
so if you click on it, you should redirect to my home page.
RewriteEngine on
RewriteRule xmlrpc.php$ index.php
RewriteRule login_page.php$ index.php
RewriteRule setup.php$ index.php
RewriteRule config.inc.php$ index.php
RewriteRule multithumb.php$ index.php
RewriteRule orderSuccess.inc.php$ index.php
RewriteRule send_reminders.php$ index.php
RewriteRule config.php$ index.php
RewriteRule ask_password.php$ index.php
RewriteRule msgimport$ index.php
RewriteRule README$ index.php
RewriteRule fastenv$ index.php
RewriteRule main.php$ index.php
RewriteRule sql.php$ index.php
RewriteRule error.php$ index.php
RewriteRule errors.php$ index.php
RewriteRule sitemap.xml$ index.php
RewriteRule show_image_in_imgtag.php$ index.php
RewriteRule phpmyadmin$ index.php
RewriteRule blackhat.dll$ index.php
RewriteRule general.js$ index.php
RewriteRule get_reminders.php$ index.php
RewriteRule install.txt$ index.php
RewriteRule get_events.php$ index.php
RewriteRule auth.inc.php$ index.php
RewriteRule delete.php$ index.php
RewriteRule adxmlrpc$ index.php
RewriteRule class.dashboard_lms.php$ index.php
RewriteRule home$ index.php
RewriteRule default.php$ index.php
RewriteRule index.inc.php$ index.php
RewriteRule logging.php$ index.php
RewriteRule public.php$ index.php
RewriteRule index.inc.php$ index.php
RewriteRule add-cats.php$ index.php
RewriteRule nosuichfile.php$ index.php
RewriteRule judge.php$ index.php
RewriteRule apple-touch-icon.png$ index.php
RewriteRule apple-touch-icon-precomposed.png$ index.php
RewriteRule host-meta$ index.php
από Evaggelos Balaskas (ebalaskas@ebalaskas.gr) στις 05:22
Κυριακή, 29 Αυγούστου 2010
Από μια αναφορά του Doleros στο Twitter έμαθα απόψε ότι το Υπουργείο Παιδείας της Ελλάδας ανακοίνωσε πως φέτος δε θα χορηγηθούν φορητοί υπολογιστές στους μαθητές της Α’ Γυμνασίου.
Μια σύντομη αναζήτηση έφερε στην επιφάνεια κι άλλες αναφορές, όπως αυτή του Antennaonline και ένα blog post στο eduportal.gr.
Η αιτιολόγηση που φέρεται να χρησιμοποίησε η Υφυπουργός Παιδείας ήταν, σύμφωνα με το antennaonline:
“Οι 150 χιλιάδες υπολογιστές που δόθηκαν πέρυσι, δεν χρησιμοποιούνταν για το μάθημα, αλλά οι μαθητές τους έπαιρναν στο σπίτι και έπαιζαν παιχνίδια.”
Το αστείο με αυτή τη δικιολογία είναι πως, ταυτόχρονα, (α) περιγράφει ακριβώς ποιό είναι το πρόβλημα με τη χρήση των υπολογιστών ως μέρος της μαθησιακής διαδικασίας και (β) επικεντρώνεται μόνο στο πρόβλημα χωρίς όμως να δείχνει διάθεση για αναζήτηση μιας ουσιαστικής λύσης.
Δεν είμαι εκπαιδευτικός, ούτε έχω προσωπική εμπειρία από τη χρήση των υπολογιστών μέσα στο σχολείο. Έχω όμως ασχοληθεί με την τεχνολογία των υπολογιστών, σχεδόν χωρίς διακοπή, για 20 χρόνια πλέον. Βλέπω ότι η τεχνολογία των υπολογιστών εισέρχεται είτε με άμεσο είτε με έμμεσο τρόπο σε τόσους πολλούς τομείς της καθημερινής ζωής μας που θα είναι πολύ περιοριστικό να μην έχουν καμία επαφή οι επόμενες γενιές μαθητών με τον κόσμο της τεχνολογίας.
Δε χρειάζεται να γίνουμε όλοι προγραμματιστές υπολογιστών. Μάλιστα, από κάποιες απόψεις, ίσως κάτι τέτοιο να είναι ακόμη κι επιζήμιο. Η ποικιλομορφία των γνώσεων, τόσο ειδικού όσο και γενικού χαρακτήρα, την οποία έχει το σύνολο της ανθρώπινης δημιουργίας στον πλανήτη μας είναι, κατά την όχι και τόσο ταπεινή άποψή μου, εκτός από όμορφη και συναρπαστική, εντελώς απαραίτητη για την επιβίωση και την εξέλιξή μας ως είδος.
Από την άλλη, όμως, είναι κοντά η εποχή που θα πρέπει, θα επιβάλλεται από το περιβάλλον — ίσως ακόμα να αποτελεί, μετά από αρκετό καιρό ακόμα και μετρήσιμο εξελικτικό πλεονέκτημα — η ικανότητα αφομοίωσης των εξελίξεων της τεχνολογίας.
Σκεφτείτε, για παράδειγμα, τι είδους περιορισμούς συναντά κάποιος σήμερα αν δεν ξέρει π.χ. να στείλει ένα απλό μήνυμα sms. Δε μπορεί, για παράδειγμα, να στείλει ένα μήνυμα σε δικούς του ανθρώπους να τους πει: «Είμαι στην Εγνατία, στο 18ο χιλιόμετρο από τα Γιάννενα, και έχω μείνει από λάστιχο. Μπορείς να καλέσεις την Express Service να με βρουν, γιατί αλλιώς θα ξενυχτήσω εδώ απόψε». Δε μπορεί να στείλει ένα, εντελώς αθόρυβο, μήνυμα sms από το σπίτι, την ώρα που υποψιάζεται ότι μπήκε διαρρήκτης, για να πει σε κάποιον άλλο: «Βοήθεια! Έχει μπει κλέφτης κι είμαι κλειδωμένος στο μπάνιο». Κι αυτά είναι δύο πολύ απλά παραδείγματα, για ένα πολύ στοιχειώδες τεχνολογικό αντικείμενο.
Σήμερα, με τον καταιγισμό από νέες γνώσεις τις οποίες αφομοιώσαμε ως γενιά εμείς, είναι στοιχειώδες το να μπορείς να στείλεις ένα sms. Πριν από 20 χρόνια όμως, δεν ήταν.
Φανταστείτε, λοιπόν, ότι σε άλλα 20 χρόνια μπορεί να θεωρείται εξίσου στοιχειώδες το να μπορείς να χρησιμοποιήσεις άνετα το κινητό σου ή τον φορητό υπολογιστή σου για να κλείσεις αεροπορικά εισιτήρια, να κάνεις φορολογική δήλωση, να αγοράσεις τα απαραίτητα προς το ζην από το super-market, να βγάλεις εισιτήριο για το τρένο που θα πάρεις σε λίγες ώρες για να πας στη δουλειά σου το πρωί, να κλείσεις εισιτήρια για μια συναυλία, μια θεατρική παράσταση, να αγοράσεις βιβλία, να διαβάσεις τα βιβλία που αγόρασες, κοκ.
Τώρα φανταστείτε ότι σε ένα κόσμο στον οποίο έχει γίνει καθημερινό βίωμα η τεχνολογία των υπολογιστών υπάρχουν δύο ειδών νέοι. Αυτοί που εδώ και 50 χρόνια ξέρουν να παίζουν στα δάχτυλα το φορητό υπολογιστή τους κι αυτοί που είναι μεν νέοι σε ηλικία, αλλά οι γνώσεις τους έχουν μείνει πίσω στην εποχή των παππούδων τους.
Σε ποιά από τις δύο ομάδες θέλουμε να είναι οι νέοι στη χώρα μας;
Θλίβομαι που βλέπω ότι όλο το εγχείρημα με τη χρήση φορητών υπολογιστών στην εκπαιδευτική διαδικασία ήταν, βασικά, μια ακόμα αρπαχτή μιας χρονιάς και μόνο.
Ελπίζω, ειλικρινά, αυτό που τώρα δείχνει ως αρπαχτή της μιας χρονιάς, να διορθωθεί αν όχι φέτος, του χρόνου. Ελπίζω, κάποτε, τα παιδιά των παιδιών μας, όταν έρχονται στο σπίτι μας για να δουν τους παππούδες τους, να κάνουν πραγματικότητα το ανέκδοτο που μ’ αρέσει να λέω σε παρέες προγραμματιστών και μη:
Καλά, γελάτε τώρα, αλλά κάποτε θα είμαστε παππούδες και θα έρχονται γελώντας τα εγγόνια μας στο δωμάτιο που τον έχουμε ψιλοπάρει το μεσημέρι δίπλα από το τζάκι και θα μας ρωτάνε ξεκαρδισμένα:
— “Παππού, παππού! Για πες μας πάλι πως το λένε εκείνο που είχατε παλιά για να γράφετε με το ΧΕΡΙ στο μοναδικό μηχάνημα του σπιτιού… Το πλήρο… πλήκο… πρήλο…”
— “Πληκτρολόγιο, το κέρατό μου! Θα με αφήσετε να κοιμηθώ λίγο βρωμόπαιδα; Με μένα βρήκατε να παίξετε;”
Για να γίνει αυτό όμως πραγματικότητα πρέπει να προσπαθήσουμε από τώρα να μάθουν όλα τα νέα παιδιά ότι η τεχνολογία είναι όχι απλώς ένα ακόμα εργαλείο, αλλά ΤΟ εργαλείο το οποίο ενεργοποιεί την εξέλιξή μας, την κάνει δυνατή, και πολλές φορές καθορίζει τον τρόπο με τον οποίο αναπτυσσόμαστε ως προσωπικότητες, καταλαβαίνουμε το παρόν μας, οραματιζόμαστε το μέλλον μας και πραγματοποιούμε ακόμα και τα πιο τρελά μας όνειρα.
Κι αυτό απαιτεί να κάνουμε όσα περισσότερα μπορούμε για να φέρουμε τις νέες γενιές σε επαφή με την τεχνολογία, να μάθουν να ζουν με αυτή, να γίνουν αυτοί οι άνθρωποι οι οποίοι θα την πάνε μπροστά, όσο πέρα μπορούμε να την πάμε εμείς κι ακόμα παραπέρα. Κι αν αυτό κοστίσει σήμερα μερικές χιλιάδες laptop, να σηκώσουμε εμείς το βάρος αυτού του κόστους, επενδύοντας στις απίστευτες εξελίξεις, στα εντελώς φανταστικά επιτεύγματα προς τα οποία αυτές ακριβώς οι νέες γενιές θα μας δείξουν το δρόμο, τότε που εμείς θα είναι καιρός να κάνουμε στην άκρη κι ως απλοί παρατηρητές πλέον να απολαμβάνουμε τον κόσμο τον οποίο δημιουργήσαμε γι αυτές, και γιατί όχι… αν προλάβουμε λίγο, τον κόσμο που αυτές θα φτιάξουν για τις επόμενες!
Filed under: Computers, Humanity, Science Tagged: Computers, Humanity, Science 
από keramida στις 20:37
Οπως ολοι γνωριζουμε, ο grub εχει ενα menu, οπου σου δινει τη δυνατοτητα, ειτε να επιλεξεις καποιο αλλο λειτουργικο να κανεις boot,
για οσους εχουν πανω απο ενα λειτουργικο εγκατεστημενο, ειτε να κανουμε boot σε παλιοτερο kernel (πυρηνα), κλπ.
Για να μπουμε στο menu, αυτο που χρειαζεται ειναι να κρατησουμε πατημενο το πληκτρο Shift λιγο πριν φωρτοσει ο grub!
Το menu εχει την παρακατω εμφανιση

διαβάστε περισσότερα
από vagrale13 στις 12:40
Πέμπτη, 02 Σεπτεμβρίου 2010
Το έργο αυτό αναφέρεται σε ένα Sketch (πρόγραμμα σε Arduino) το οποίο υλοποιεί τη λογική ενός ψηφιακού ενδείκτη περιεκτικότητας οινοπνεύματος. Το σύστημα αυτό μπορεί να χρησιμοποιηθεί ως συσκευή για αλκοτέστ. Στο σύστημα υπάρχει ο αισθητήρας MQ-3 για τον εντοπισμό του οινοπνεύματος. Κατάλληλο Bar Graph από πολλά LED (το οποίο οδηγείται με την βοήθεια ενός καταχωρητή ολίσθησης 74HC595 8 ψηφίων) χρησιμοποιείται ως ενδείκτης διαβαθμίσεων σχετικά με την περιεκτικότητα του οινοπνεύματος. Σε περίπτωση που η περιεκτικότητα οινοπνεύματος είναι μεγάλη τότε παράγεται μουσική μελωδία με κατάλληλο Piezo μεγαφωνάκι. Τέλος, στο σύστημα υπάρχουν δύο πλήκτρα για λειτουργίες όπως On, Off καθώς και ένα LED ως ενδείκτης λειτουργίας.
Παρακάτω ακολουθεί εικόνα του έργου:
Ψηφιακός Ενδείκτης Περιεκτικότητας Οινοπνεύματος – 1.
Ψηφιακός Ενδείκτης Περιεκτικότητας Οινοπνεύματος – 2.
Ψηφιακός Ενδείκτης Περιεκτικότητας Οινοπνεύματος – 3.
Για περισσότερες πληροφορίες μπορείτε να προμηθευτείτε το ίδιο το έργο `alcohol_breathalyzer‘.
Η υλοποίηση αυτού του έργου έγινε στον προσωπικό μου φορητό υπολογιστή, ο οποίος εκτελεί το λειτουργικό σύστημα GNU/Linux. Το οποίο, αποτελεί σύνθεση του σύστηματος GNU και του πυρήνα Linux. Η συγκεκριμένη διανομή που χρησιμοποιώ είναι η “Debian GNU/Linux” (θεωρώ πως είναι ένα Λ.Σ κατάλληλο για ανάπτυξη, συντήρηση και παραγωγή Ελευθέρου Λογισμικού).
Τέλος, σε περίπτωση που δεν μπορείτε να ανοίξετε το αρχείο ή το λειτουργικό σας σύστημα δεν αναγνωρίζει αυτόν τον τύπο αρχείου παρακαλώ εγκαταστήστε το ακόλουθο πρόγραμμα `7-Zip’.
Το παραπάνω έργο προστατεύεται με την Γενική Άδεια Δημόσιας Χρήσης GNU (για όπου υπάρχει πηγαίος κώδικας οποιασδήποτε υλοποίησης) και την Άδεια Ελεύθερης Τεκμηρίωσης GNU (για τα εγχειρίδια της εφαρμογής, την ανάλυση και σχεδίαση).

από lafs στις 10:38
Σάββατο, 28 Αυγούστου 2010
Το VoxForge είναι μια αρκετά φιλόδοξη προσπάθεια συλλογής ακουστικών μοντέλων ομιλίας. Τα ακουστικά μοντέλα (στην γλώσσα των προγραμματιστών ανάλυσης φωνής ονομάζονται speech corpus ή corpora) θα χρησιμοποιηθούν ώστε να βελτιωθούν οι δυνατότητες αναγνώρισης φωνής σε διάφορες βιβλιοθήκες αναγνώρισης ομιλίας όπως η Sphinx (άδεια BSD), ISIP (public domain), Julius (άδεια BSD like) και HTK (HTK licence) και όλα τα αρχεία καταγεγραμμένου ήχου θα είναι κάτω από την GPL. Η δυνατότητα αυτή θα παρέχει την ικανότητα φωνητικού ελέγχου τον υπολογιστών μας.
Αν θέλετε να βοηθήστε την προσπάθεια αυτή και την ενσωμάτωση Ελληνικών στο VoxForge μπορείτε να επισκεφθείτε αυτή την σελίδα, με το μικρόφωνο του υπολογιστή σας και ένα Java Applet που θα βρείτε σε αυτή την σελίδα. Το μόνο που έχε να κάνετε είναι να διαβάστε φωναχτά το κείμενο που θα βλέπετε στο Java Applet σας. Μάλιστα μπορείτε να διαλέξτε και με τι προφορά θα μιλήστε (πχ. Κρητική, Κυπριακή, Βόρειας Ελλάδας). Τα υπόλοιπα αφήστε να τα αναλάβει η ομάδα ανάπτυξης του VoxForge. Επίσης μπορείτε να προσθέστε και corpora σε άλλες γλώσσες όπως τα Αγγλικά, τα Γερμανικά, τα Γαλλικά, τα Ισπανικά, τα Εβραϊκά, τα Ιταλικά, τα Ολλανδέζικα,τα Πορτογαλικά και τα Ρώσικα.
Παράλληλα το VoxForge χρησιμοποιεί την τεράστια βάση του LibriVox (που συλλέγει audiobook βιβλίων που δεν έχουν πλέον πνευματικά δικαιώματα) για να συλλέξει δεδομένα.
μοιραστείτε το:
σχετικά άρθρα:
από Eleftherios Kosmas στις 21:15
Πέμπτη, 02 Σεπτεμβρίου 2010
Processing: Μέρα 5η ... :) Παρακάτω ακολουθεί μια εφαρμογή που έγραψα σε processing η οποία ανιχνεύει και "ακολουθεί" χρώματα τα οποία "συλλαμβάνονται" μέσω μίας webcam, σε πραγματικό χρόνο. Για να καταφέρω να κάνω χρήση της web κάμερας μέσω της Processing χρησιμοποίησα την βιβλιοθήκη GSVideo. Ακολουθεί βίντεο:
Για να γίνει η ανίχνευση πρέπει πρώτα να δηλώσουμε το χρώμα, αυτό το πετυχαίνουμε ( edited) κάνοντας "κλικ" με το mouse κάπου πάνω στην εικόνα (στο αντικείμενο)... Αυτό που πρέπει να προσέξουμε είναι οι παρεμβολές από χρώματα του περιβάλλοντος, η ευκρίνεια της κάμερας και ο φωτισμός. Παράδειγμα, στο βίντεο που έδωσα ποιο πάνω στο 0:24 πέφτει ο φωτισμός, ενώ στο 1:45 όταν χρησιμοποιώ το κίτρινο, κάποια στιγμή μπερδεύεται ο ανιχνευτής και αντί να δείχνει το αντικείμενο, δείχνει το χέρι μου (χμμμμ ... :/). Κώδικας Processing ( edited): //Webcam color tracking by George Hadjikyriacou //Version 0.2 (29/8/2010) //License: GPL v3 (http://www.gnu.org/licenses/gpl.html)
import codeanticode.gsvideo.*; int x=0,y=0,a=0,b=0; color pick_1=0; color pick_2=0; int w_width = 640; int w_height = 480; int fine = 500; String video_dev = "/dev/video1"; GSCapture cam;
void setup() { size(w_width+80, w_height, P2D); cam = new GSCapture(this, w_width, w_height, video_dev); }
void draw() {
if (cam.available() == true) { cam.read(); cam.loadPixels();
for (int i=0; i < w_width*w_height; i++) { if(cam.pixels[i]>color(pick_1-fine) && cam.pixels[i]< color(pick_1+fine)) { x=(i%w_width); y=i/w_width; } if(cam.pixels[i]>color(pick_2-fine) && cam.pixels[i]< color(pick_2+fine)) { a=(i%w_width); b=i/w_width; } } background(255); cam.updatePixels(); image(cam, 0, 0); fill(255); ellipse(x, y, 20, 20); fill(255); ellipse(a, b, 20, 20); fill(pick_1); rect(w_width+10, 10,60,60); fill(pick_2); rect(w_width+10, 80,60,60); } if (mousePressed && (mouseButton==LEFT)) { pick_1 = get(mouseX,mouseY); } else if (mousePressed && (mouseButton==RIGHT)) { pick_2 = get(mouseX,mouseY); } }
PS: Με την webcam του aspire one είχα καλύτερα αποτελέσματα με ανάλυση κάμερας 640x480 ...
από Χατζηκυριάκου Γιώργος (ghadjikyriacou@gmail.com) στις 15:32
Σάββατο, 28 Αυγούστου 2010
flowchart, n.:
The innumerate misleading the illiterate.
— Stan Kelly-Bootle, “The Devil’s DP Dictionary”
A mechanical engineer who sees the symbol ⊥ in a diagram will immediately realize that a feature is specified to be perpendicular to another. In contrast, a software engineer looking at a diagram’s line ending with the symbol ◊ will, at best, wonder whether it denotes aggregation (as in UML), or a “zero or one” cardinality (as in IDEF1X), or something else invented by a creative academic. Worse, many developers will simply scratch their head in bewilderment.
από Diomidis D. Spinellis στις 08:48
The last month, I see a great willing from blogs, newspapers, individuals, etc. to replace facebook with some other, newfound, social networks. For example I see that and I wonder: "Don't they know the way things affect large mazes?". From 2008 or earlier, people are joking by creating groups on facebook like "I'm getting protected from CIA" and some other stupidities.
They really seem to have misunderstood what's going on. Facebook is a company right now, strongly connected with Google and many other big companies. All that chain leads to a pile of information, aparted of millions of people, that goes to such companies. And here is the problem. People had to delete their facebook accounts since that problem existed and they knew it! At least Facebook-tracking would stop at some point. Yet, noone has deleted his account. And they all get angry with facebook but none acts.
My point is, that there are many opensource social networking applications (like elgg) and sites which use them (like gnewbook.org). But if you said anyone to get from facebook to gnewbook.org, you'd be characterized at least insane. And of course noone would really care. They'd say "I got all my friends here". Well, since they keep using that thing, and their friends do so, and the friends of their friends do so, and so on, nothing will change. So the problem isn't really the small number of social networking applications, but how people treat them. Because if one would change, he/she could trigger one of his/her friends to do so, and so on.
To conclude, if people really wanted to get out of the strict Facebook policies, they easily could, but they don't want to.
από gtklocker στις 07:18
Οι καταχωρήσεις συλλέγονται αυτόματα χωρίς ανθρώπινη παρέμβαση και αποτελούν πνευματική ιδιοκτησία των συγγραφέων τους. Τα παραπάνω δημοσιεύματα δεν αντικατοπτρίζουν απαραίτητα τις απόψεις της Ένωσης Χρηστών και Φίλων Linux Ελλάδας
|