Με αφορμή το ταξίδι στην FOSDEM σκέφτομαι φέτος να το συνδυάσω και με ένα ταξίδι στο Άμστερνταμ.
Η ιδέα είναι η εξής:
- Αεροπλάνο: ATH-BRU στις 05.02.2009 με την πτήση 147 (16:30 αναχώρηση)
- Τραίνο: στις 08.02.2009 για Αμστερνταμ
- Αεροπλάνο: AMS-ATH στις 09.02.2009 με την πτήση 152 (14:20 αναχώρηση)
Φυσικά θα βαρεθώ εάν είμαι μόνος μου, εάν υπάρχει ενδιαφέρον από κάποιον ας επικοινωνήσει μαζί μου.
Στην αναζήτηση μου για να ανεβάσω τον κώδικα του PIrsyncD σε μία ελεύθερη πλατφόρμα λογισμικού με υποστήριξη mercurial κατέληξα στις εξής δύο λύσεις:
α. SourceForge
β. BitBucket
Είμαι μέλος του sf από το 2002 (7 χρόνια), μάλιστα η πτυχιακή μου ήταν βασισμένη στο sf (δημιούργησα το ellak-dev και λειτούργησε στις αρχές ως πλατφόρμα λογισμικού για έλληνες developers υπό το ellak.gr) και πλέον το sf υποστηρίζει Mercurial, αλλά … αλλά τελικά κατέληξα στο bitbucket κυρίως λόγω της απλότητάς του:
http://bitbucket.org/ebal/pirsyncd/
Οπότε εάν κάποιος θέλει ένα αντίγραφο του PIrsyncD μπορεί να το κατεβάσει κι έτσι:
hg clone https://ebal@bitbucket.org/ebal/pirsyncd/
Τα λόγια είναι περιττά, η ελληνική προπαγάνδα για την επέλαση των Ρωμιών στο Βέλγιο ξεκίνησε.
Όλοι στην Fosdem 2010
Μην λείψει κανείς.
Σας περιμένει ένα ταξίδι εμπειριών και γνώσεων.
Διοργανώνουμε ελληνική αποστολή (ομαδικό check-in/hostel κ.λ.π.) όπως και πέρσι
κι ελπίζουμε φέτος οι συμμετοχές να σπάσουν κάθε ρεκόρ.
Όποιος ενδιαφέρεται για περισσότερες λεπτομέρειες ας μου στείλει προσωπικό μήνυμα.
Είναι μία από τις καλύτερες εμπειρίες για να γνωρίσεις ανθρώπους της παγκόσμιας open source κοινότητας, κυρίως developers από κάθε μεγάλο ή μικρό project κι όχι μόνο.
Φέτος ξεκινάει η ελληνική προπαγάνδα λίγο νωρίτερα κυρίως λόγο της ανυπομονησίας που έχουμε.
Μην ξεχνάτε λοιπόν: Σάββατο 6 και Κυριακή 7 Φεβρουαρίου 2010
FOSDEM: Free & Opensource Software Developer’s European Meeting
Και για να πάρετε μία μικρή γεύση πως ήταν πέρσι: Fosdem 2009
/etc/rc.conf
LOCALE=”el_GR.UTF-8”
HARDWARECLOCK=”localtime”
TIMEZONE=”Europe/Athens”
KEYMAP=”gr”
CONSOLEFONT=”gr737a-9×16”
CONSOLEMAP=”8859-7”
USECOLOR=”yes”
From ChangeLog:
- Add Max-Size & Min-Size exclude functionality
- Remove Usage Examples from –help
- Add –examples for Usage Examples
- minor code fixes
Get the latest version of PIrsyncD v20091115
TODO (or next goal): Exclude files via pattern
From ChangeLog:
- pyinotify.py was updated to the latest stable version (0.8.8).
- rsync partial functionality was added.
- Minor code changes were made.
Get the latest version of PIrsyncD v20091114
TODO (or next goal): Excludes, Sure there would be files that you dont want to synchronize.
Ημερομηνία: Κυριακή 01 Νοεμβρίου 2009
Τοποθεσία: Θησείο
Μέρος: Μορφή
Διεύθυνση: Ηρακλειδών 21-23 (χαμηλά στην Ηρακλειδών)
Γεγονός: Πάρτυ έκδοσης της διανομής ubuntu 9.10
Φωτοντοκουμέντα:
http://www.flickr.co … s/44234142@N06/show/
http://www.flickr.co … ubuntu-gr/pool/show/
Εάν και κάθε κυριακή ακολουθώ μία ιεροτελεστία ύπνου & καφεδάκι με φίλους χαλαρά για να ξεκουραστώ και να προετοιμαστώ για την πάντα δύσκολη Δευτέρα, εχθές αποφάσισα να τροποποιήσω λίγο το πρόγραμμά μου και να παραβρεθώ στο release party του ubuntu-gr
Μεγάλη παρέα (νομίζω γύρω στα 25 άτομα), άτομα κάθε ηλικίας (από 13ών έως 73ών) με αρκετή όρεξη … για τούρτα.
Γνώρισα αρκετά φιλαράκια (την καλημέρα μου σε Γιώργο,Αντώνη,Ηλία,Νίκο,Λευτέρη,Λουκά,Γιάννη,Κώστα,Θάνο,Διονύση κι όλους τους υπόλοιπους).
Δύο τούρτες οι οποίες εξαφανίστηκαν σε μερικά δευτερόλεπτα, αλλά δυστυχώς οι περισσότεροι πήγαν χορτάτοι (κι εγώ στο μυαλό μου είχα άλλα πράγματα). Μοιραστήκαμε με τον Παπαδήμα μισό λίτρο ρακή (κατά την προσωπική μου εκτίμηση ΟΧΙ και τόσο … αξιόλογη), κι έτσι ζεσταθήκαμε λίγο (εχθές είχε αρκετή υγρασία).
Οι κύριες μου συζητήσεις με τα παιδιά του ubuntu-gr ήταν πιο πολύ “γνωριμίας”.
Γνώριζα μερικά άτομα από άλλους χώρους, αλλά για τους περισσότερους ήμουν άγνωστος.
Οι πιο ειδικές συζητήσεις που είχα (μιας κι ήμουν ο μόνος εκτός ubuntu-gr, μάλιστα πρέπει να ήμουν κι ο μόνος χωρίς Ubuntu !!!) είχαν ως κύριο θέμα τα διάφορα forums/συλλόγους/συμμετοχή κι επέμενα στην παγιωμένη μου θέση:
- Εάν θέλεις να προσφέρεις, κάντο.
- Δεν χρειάζεται να είσαι μέλος σε κανένα forum/σύλλογο/παρέα/λίστα/irc (γενικότερα ΔΕΝ χρειάζεται να φοράς ταμπέλες),
- δεν χρειάζεται να περνάς τον χρόνο σου γκρινιάζοντας με τις επιλογές των άλλων όταν δεν συμφωνείς,
- δεν χρειάζεται να επικρίνεις άλλες συμπεριφορές,
- δεν χρειάζεται να βρίσκεις συνέχεια δικαιολογίες ότι δεν έχεις χρόνο/γνώσεις ή δεν ξέρω εγώ τι άλλο.
Εάν πραγματικά θέλει κάποιος να προσφέρει, βρίσκει τρόπο
Κι επιστρέφω στο αρχικό μου θέμα … πέρασα πάρα πολύ ωραία.
Γνώμη μου είναι ότι κάποια στιγμή θα πρέπει να κανονίσουμε μια συνάντηση όλα τα μέλη από όλες τις κοινότητες/forum/συλλόγους/ομάδες. Πιστεύω ότι θα είναι μία υπερβολικά πολύ καλή συνάντηση με αρχικό σκοπό την γνωριμία των μελών κι έπειτα την συνεργασία των διαφόρων κοινοτήτων (κάτι σαν τα τσίπουρα στην fosscomm στην λάρισσα). Η συμμετοχή σε τέτοιες συναντήσεις είναι πάντα πολύ καλές ευκαιρίες για να γνωρίσεις ενδιαφέροντες ανθρώπους που έχουν μεράκι κι ασχολούνται τελικά λίγο έως πολύ με αυτό που ασχολούμαστε όλοι μας: το linux
Έφτιαξα ένα screencast που παρουσιάζει πως γίνεται η εγκατάσταση της διανομής Ubuntu 9.10 σε ένα σύστημα που έχει μόνο ένα δίσκο (10gb) με Windows XP.
Το αποτέλεσμα είναι ένα Dual Boot σύστημα με Ubuntu & Windows.
DownLoad:

Installation:
Ubuntu 9.10 with Windows XP on a single hard disk from Evaggelos Balaskas on Vimeo.
Εάν θέλει κάποιος να κατεβάσει το βίντεο:

ΥΓ: Έχω χρησιμοποιήσει το VirtualBox, αλλά και σε πραγματικό σύστημα η διαδικασία είναι ακριβώς η ίδια.
Μέχρι την εκδοση 5.2.x όταν ήθελα να εγκαταστήσω την php ως fastcgi έπρεπε κατά το configuration να προσθέσω το εξής:
./configure --enable-fastcgi
Στην έκδοση 5.3.0 παρατήρησα το εξής:
FastCGI is now always enabled and cannot be disabled
Τι σημαίνει αυτό θα ρωτάτε;
[ebal@myarch php-5.3.0]$ ./configure –enable-fastcgi
…
…
…
Notice: Following unknown configure options were used:–enable-fastcgi
Check ‘./configure –help’ for available options
Δεν χρειάζεται να παραμετροποίησουμε απολύτως τπτ. Με ένα απλό ./configure, αρκεί για να εγκατασταθεί η php ως FastCGI.
Ναι αλλά πως μπορώ να ρυθμίσω τον apache ώστε να εκτελεί τα web apps σε php;
Η αλήθεια είναι ότι δεν είναι ιδιαίτερα δύσκολο! 3 βήματα φτάνουν (τουλάχιστον απλά για να δείτε ότι παίζει).
Εάν ακολουθήσετε τις default εγκαταστάσεις σε apache 2.2.14 & php 5.3.0 θα καταλήξετε με παρόμοια (εάν όχι ακριβώς ίδια εγκατάσταση) με αυτή που έχω εγώ.
1. Πρέπει να δημιουργήσουμε το εξής script:
cat > /usr/local/apache2/cgi-bin/php5.3.0.cgi << EOF
#!/bin/sh
exec /usr/local/bin/php-cgi
EOF
2. Πρέπει να δώσουμε σε αυτό το script δικαίωμα εκτέλεσης και να το τροποιήσουμε τα δικαιώματα σε αυτά του User/Group που έχουμε δώσει στον apache.
chmod u+x /usr/local/apache2/cgi-bin/php5.3.0.cgi
chown apache.apache !$
3. Να ρυθμίσουμε τον apache ώστε να στέλνει όλες τις php σελίδες στο παραπάνω script
vim /usr/local/apache2/conf/httpd.conf
...
AddType application/x-httpd-php .php
Action application/x-httpd-php /cgi-bin/php5.3.0.cgi
...
Αυτό ήταν!
Δημιουργούμε το εξής αρχείο:
# cat > /usr/local/apache2/htdocs/p.php << EOF
<?php phpinfo(); ?>
EOF
Και εκκινούμε τον apache:
/usr/local/apache2/bin/httpd -k start
Εάν ανοίξουμε τo http://localhost/p.php θα παρατηρήσουμε το εξής:
PHP Version 5.3.0
Server API CGI/FastCGI
Simple As That
Κατά καιρούς έχω δεχθεί την εξής ερώτηση (με παραλλαγές):
- Τι cms/blog/wiki/forum να βάλω στο site μου.
Η απάντηση μου είναι η εξής:
- Να δοκιμάσεις τα πιο δημοφιλή σε ένα lampp περιβάλλον και να επιλέξεις αυτό που σε κάνει να νιώθεις πιο άνετα μαζί του.
Χρήσιμα links είναι τα εξής:
Να έχετε στο πίσω μέρος του μυαλού σας τα εξής στοιχεία:
- Να είναι ευκολόχρηστο, μακριά από περίπλοκα συστήματα.
- Να δουλεύουν σωστά τα ελληνικά με UTF-8
- Να μπορεί να αναβαθμιστεί εύκολα (κρίσιμο σημείο)
- Να είναι ενεργό ως έργο τουλάχιστον 6 μήνες πριν
- Να είναι αρθρωτό και να υποστηρίζει θέματα
- Να χρειάζεται την ελάχιστη συντήρηση
- και τέλος να νιώθετε άνετα μαζί του.
Για να οργανωθούμε λίγο:
Τετάρτη 14 ως τη Κυριακή 18 Οκτωβρίου στο Γκάζι.
Υπάρχει μάλιστα ξεχωριστή ενότητα Open Source
Πολύ ενδιαφέρον για όποιον ενδιαφέρεται να αγοράσει ένα laptop και θέλει να εργαστεί με opensolaris:
Ένα αρκετά καλό σημείο για να ελέγξει κανείς τις αδυναμίες σε ένα web site είναι φυσικά τα logs του web server.
Τι προσπαθούν οι hackers να βρουν;
Τι προσπαθούν να κάνουν;
Έχω μόνο δύο εφαρμογές στο balaskas.gr:
οπότε τα περισσότερα hits τα παίρνω από το 404 (not found) error του apache.
Ενδεικτικά παραθέτω μερικά entries:
- /phpmyadmin//scripts/setup.php
- /phpMyAdmin//scripts/setup.php
- /mambots/content/multithumb/multithumb.php
- /mysql/config/config.inc.php
- /p/m/a/config/config.inc.php
- /scripts/setup.php
- /phpmyadmin/config/config.inc.php
- /pma/config/config.inc.php
- /xmlrpc/xmlrpc.php
- /PHPMYADMIN/config/config.inc.php
- /xmlsrv/xmlrpc.php
- /admin/config/config.inc.php
- /pma//scripts/setup.php
- /b2/xmlsrv/xmlrpc.php
- /phpadsnew/adxmlrpc.php
- /dbadmin/config/config.inc.php
- /webmail/bin/msgimport
- /phpads/adxmlrpc.php
- /xmlrpc.php
- /drupal/xmlrpc.php
- /wordpress/xmlrpc.php
- /phpAdsNew/adxmlrpc.php
- /community/xmlrpc.php
- /phpMyAdmin/config/config.inc.php
- /blogs/xmlrpc.php
- /blog/xmlsrv/xmlrpc.php
- /adserver/adxmlrpc.php
- /blog/xmlrpc.php
- /mysql//scripts/setup.php
- /php-my-admin/config/config.inc.php
- /ads/adxmlrpc.php
- /roundcube/bin/msgimport
- /blogs/xmlsrv/xmlrpc.php
- /phpmyadmin/main.php
- /adxmlrpc.php
- /bin/msgimport
- /mail/bin/msgimport
- /phpgroupware/xmlrpc.php
- /b2evo/xmlsrv/xmlrpc.php
- /pMA//scripts/setup.php
- /myadmin/config/config.inc.php
- /blogtest/xmlsrv/xmlrpc.php
- /includes/orderSuccess.inc.php
- /database/main.php
- /mantis/login_page.php
- /typo3/phpmyadmin/js/keyhandler.js
- /horde-3.0.9//README
- /pma/js/keyhandler.js
- /administrator/phpMyAdmin-2.6.3/main.php
- /mycal//tools/send_reminders.php
- /websql/js/keyhandler.js
και κάπου εδώ σταματάω να γράφω, νομίζω όλοι το έχετε πιάσει το νόημα.
Μερικές συμβουλές:
- Διαβάστε τα logs
- Κρατήστε επαφή με τις τελευταίες εκδόσεις των προγραμμάτων που υπόσχονται λύσεις σε όλα τα bugs και security holes που έχουν βρεθεί στις προηγούμενες εκδόσεις
- Μετονομάστε τους καταλόγους των προγραμμάτων σε κάτι διαφορετικό από τα κοινά ονόματα. Έτσι θα δυσκολεύσετε λιγάκι τους επιτιθέμενους.
- Αλλάξτε τα default συνθηματικά των εφαρμογών
- Κρατήστε επιτέλους ένα αντίγραφο, σώζει ζωές το έχουμε ξαναπεί.
Δοκίμασα στον υπολογιστή μου να εγκαταστήσω μερικά gtk engine, themes & styles.
Ορίστε το αποτέλεσμα στο xfce.
Gtk Themes & Styles on Xfce 4.7.0git from Evaggelos Balaskas on Vimeo.
Εάν θέλετε να κατεβάσετε όλο το αρχείο: xfce.gtk.themes-styles.ogv
Μαρκάρετε την παρακάτω ημερομηνία στο ημερολόγιo σας:
10.10.09
Ημέρα Σάββατο στους 5 δρόμους στα εξάρχεια κανονίζουμε μία συνάντηση για μπύρες, (to know us better).
Το συζητάμε εδώ,
αλλά αφορμή ψάχνουμε για να μαζευτούμε παρέα και να πιούμε μια μπύρα.
Η πρόσκληση είναι ανοιχτή για όσους διαβάζουν αυτό το post
(εάν τυπώσετε αυτό το post - τα νερά θα είναι κερασμένα)
http://ftp.otenet.gr/www/linuxgazette
cool εεεε ?
Κάτι το οποίο με ταλαιπώρησε αρκετά σήμερα ήταν το γεγονός ότι ο dovecot-lda: /usr/local/libexec/dovecot/deliver δεν είχε την δυνατότητα να παραδώσει τα emails που δεχόταν από τον smtp daemon.
Οπότε τροποποίησα το configuration αρχείο για να καταγράφει όσο το δυνατόν περισσότερα μηνύματα και τελικά βρήκα στα logs το εξής:
==> dovecot-local-deliver.log <==
deliver(dovecot): Sep 22 22:25:52 Fatal: setgid(1000(dovecot)) failed with euid=1000(dovecot), gid=12(mail), egid=12(mail): Operation not permitted
Μετά από μερικά λεπτά διαλογισμού ήρθε η θεία επιφοίτηση ως δια μαγείας:
chgrp mail /usr/local/libexec/dovecot/deliver
chmod 04750 !$
όλα τέλεια πλέον ;)
Αυτά τα μικρά πραγματάκια είναι που σε στέλνουν!
16:15 εγκατάσταση postfix από sources
17:35 1st log entry - attempt for spam (open relay)
1 ώρα και 20 λεπτά !
NOQUEUE: reject: RCPT from mout3.freenet.de[195.4.92.93]:
Τον τελευταίο καιρό προσπαθώ να θυμηθώ βασικές αρχές προγραμματισμού από τον καιρό που ήμουν φοιτητής. Δεν θεωρώ τον εαυτό του σε καμία περίπτωση προγραμματιστή. Μάλιστα οι κόποι μου αποτελούν μικρά patches (diffs) στην δουλειά που κάνουν ήδη άλλοι (hacks) και πιο ειδικά στο xfce.
Όμως απογοητεύτηκα αρκετά από τους προγραμματιστές της isc. Προσπαθώντας να εγκαταστήσω ένα dhcp server για τις ανάγκες ενός μικρού lan από τον πηγαίο κώδικα, διαπίστωσα ότι κατά το compilation που επέστρεφε ένα όχι και τόσο συνηθισμένο σφάλμα:
packet.c:139: error: ‘ip’ is used uninitialized in this function
Οκ προφανώς κάτι μου λείπει;
Αυτό δεν σκέφτεστε όλοι;
Κι όμως ….
Η έκδοση που χρησιμοποιώ είναι η current stable: DHCP 4.1.0p1 και μετά από αρκετό διάβασμα του κώδικα τελικά κατάφερα να βρω γιατί επιστρέφει το συγκεκριμένο μήνυμα.
Ο dhcp προσπαθεί by-default να υποστηρίξει IPV6. Οκ μέχρι εδώ όλα καλά.
Δυστυχώς όμως οι προγραμματιστές ΔΕΝ έχουν βάλει ένα IF-THEN-ELSE κατά την περίπτωση που το linux-box ΔΕΝ έχει ipv6!!! και για αυτό “σκάει” το compilation με το παραπάνω μήνυμα.
Η λύση είναι εξαιρετικά απλή: Πρέπει να απενεργοποιηθεί η υποστήριξη για IPV6
./configure --disable-dhcpv6; make; make install
Αλλά μέχρι να το βρεις από ξυρισμένος κόντρα, καταλήγεις σαν τον stallman
Κατά καιρούς (και μέχρι να μάθω από regular expressions) ένα από τα προβλήματα που με έχει ταλαιπωρήσει αρκετά ήταν το εξής:
Ήθελα σε άπειρα εις το τετράγωνο αρχεία που βρίσκονται κάτω από άπειρους καταλόγους να τροποποιήσω ένα και μόνο αλφαριθμητικό. Στο google θα βρείτε αρκετά προγράμματα κ.λ.π. - κ.λ.π., αλλά μπορεί να γίνει πανεύκολα με μία και μόνο εντολή:
find ΑΡΧΙΚΟΣ_ΚΑΤΑΛΟΓΟΣ -type f -name “ΤΟ ΜΟΤΙΒΟ ΤΩΝ ΑΡΧΕΙΩΝ” -exec sed -r -i ’s/ΑΛΦΑΡΙΘΜΗΤΙΚΟ/ΤΟ_ΝΕΟ_ΑΛΦΑΡΙΘΜΗΤΙΚΟ’ {} \;
και δίνω ένα παράδειγμα για να γίνω πιο κατανοητός:
find /www -type f -name "*.php" -exec sed -r -i 's/ebal/Evaggelos Balaskas/' {} \;
Εάν για παράδειγμα θέλετε να αντικαταστήσετε παραπάνω από ένα αλφαριθμητικό τότε μπορεί κανείς να χρησιμοποιήσει κάτι τέτοιο (έστω ότι θέλω να αλλάξω τις λέξεις ebal ή ebalaskas με το Evaggelos Balaskas):
find /www -type f -name "*.php" -exec sed -r -i 's/(ebal|ebalaskas)/Evaggelos Balaskas/' {} \;
ΥΓ: Την 1η φορά που κατάφερα να κάνω μία υπερβολικά περίπλοκη εργασία σε μερικά δευτερόλεπτα ένιωσα έτσι: i know regular expressions !!!