xfce 4.12

so a few days ago xfce released 4.12 !!!

I keep my own custom local repository and just found the time to update my xfce to the latest version !

my PKGBUILDs are mostly a template of the below file (git repo)

# Contributor: Evaggelos Balaskas < Evaggelos _AT_ Balaskas _DOT_ GR >
# Maintainer:  Evaggelos Balaskas < Evaggelos _AT_ Balaskas _DOT_ GR >

pkgdesc="Xfce's window manager"
license=('GPL v2')

depends=(libwnck exo)
makedepends=(automake autoconf libtool gcc m4 pkg-config intltool)



pkgver() {
    date +%Y%m%d

build() {

	if [ -d $_gitname ] ; then
		msg "cd $_gitname && git pull origin"
		cd $_gitname && git pull origin
		msg "The local files are updated."
		msg "git clone $_gitroot/$_gitname"
		git clone $_gitroot/$_gitname
		msg "The local files are updated."

	cd $srcdir/$_pkg
	./ --prefix=/usr --disable-debug 



package() {
	cd $srcdir/$_pkg
	make DESTDIR=$pkgdir install

The result is something like this:


If you want to check my entire xfce custom repo, just click


I used this order of installation:

Tag(s): xfce, archlinux
Changing Version On Mozilla Addons

Today i tried to install Quote Colors 0.3 on thunderbird.

But i keep hitting the “incompatibility” version problem.

So below my notes on how to “bypass” the Max Version on every mozilla addon xpi.

[~]> cd tmp/

[tmp]> mkdir -pv QuoteColors
mkdir: created directory ‘QuoteColors’

[tmp]> cd !$
cd QuoteColors

[QuoteColors]> wget
2015-01-30 13:32:13 (446 KB/s) - ‘addon-170-latest.xpi’ saved [37343/37343]

[QuoteColors]> unzip addon-170-latest.xpi
Archive:  addon-170-latest.xpi
  inflating: chrome.manifest         
  inflating: chrome/quotecolors.jar  
  inflating: defaults/preferences/quotecolors.js  
  inflating: install.rdf             
  inflating: license.txt             

[QuoteColors]> sed -i -e 's/3.0.*/99.9.9/g' install.rdf

[QuoteColors]> zip -r addon-170-latest.xpi .
updating: chrome.manifest (deflated 80%)
updating: chrome/quotecolors.jar (deflated 15%)
updating: defaults/preferences/quotecolors.js (deflated 77%)
updating: install.rdf (deflated 69%)
updating: license.txt (deflated 53%)
  adding: defaults/ (stored 0%)
  adding: defaults/preferences/ (stored 0%)
  adding: chrome/ (stored 0%)
Web Roles using Ldap attributes

A few days ago, I wrote a simple wiki page on how to Authenticate to a web site using LDAP backend.

There is a cool (and very simple way) to use Web Roles by matching your user’s ldap attributes to your web app.

A RFC 2255 from 1997 exists on how to implement (and use) the LDAP URL Format. The authldapurl syntax from mod_authnz_ldap explains that the “attribute” field can be used with comma to separate different attributes. Every attribute would be passed to your webserver as an AUTHENTICATED_attribute variable.

In my example:

AuthLDAPURL "ldap://,dc=domain,dc=org?uid,MyWebAccess?one?(WebAccess=MyWebApp_Level_*)"


Tag(s): ldap, apache
greek spammers v3

Dec 1 2014 - Jan 21 2015

top five spammers:


Blocked via postfix:


/massnews\.gr/                  REJECT  "Plz stop sending SPAM id= 1 "
/glc-emea\.com/                 REJECT  "Plz stop sending SPAM id= 2 "
/To:.*info@balaskas\.gr/        REJECT  "Plz stop sending SPAM id= 3 "
/Akis.Angelakis/i		REJECT  "Plz stop sending SPAM id= 4 "
/from.*            REJECT  "Plz stop sending SPAM id= 5 "
/specisoft\.biz/                REJECT  "Plz stop sending SPAM id= 6 "
/advantech\.gr/                 REJECT  "Plz stop sending SPAM id= 7 "
/adsgreece\.com/                REJECT  "Plz stop sending SPAM id= 8 "
/2020web\.gr/                   REJECT  "Plz stop sending SPAM id= 9 "
/nfs\.gr/                       REJECT  "Plz stop sending SPAM id= 10 "
/polimonotiki/                  REJECT  "Plz stop sending SPAM id= 11 "
/eliamep\.org/                  REJECT  "Plz stop sending SPAM id= 12 "
/ellak\.gr/                     REJECT  "Plz stop sending SPAM id= 13 "
/seminaria\.gr/			REJECT  "Plz stop sending SPAM id= 14 "
/stock-house\.gr/		REJECT  "Plz stop sending SPAM id= 15 "
/Lesfemmes/i			REJECT  "Plz stop sending SPAM id= 16 "
/aldridge\.com/			REJECT  "Plz stop sending SPAM id= 17 "
/inter\.net/			REJECT  "Plz stop sending SPAM id= 18 "
/plexpr\.tk/			REJECT  "Plz stop sending SPAM id= 19 "
/industrydisruptors\.org/	REJECT  "Plz stop sending SPAM id= 20 "
/xinis\.com/			REJECT  "Plz stop sending SPAM id= 21 "
/globalgreece\.gr/		REJECT  "Plz stop sending SPAM id= 22 "
/hostzone\.gr/			REJECT  "Plz stop sending SPAM id= 23 "
/mailinglist\.gr/		REJECT  "Plz stop sending SPAM id= 24 "
/profitconsult\.gr/		REJECT  "Plz stop sending SPAM id= 25 "
/pedersenco\.com/		REJECT  "Plz stop sending SPAM id= 26 "
/diadima\.gr/			REJECT  "Plz stop sending SPAM id= 27 "
/helenco\.gr/			REJECT  "Plz stop sending SPAM id= 28 "
/adplus\.gr/			REJECT  "Plz stop sending SPAM id= 29 "
/entos\.gr/			REJECT  "Plz stop sending SPAM id= 30 "
/4udeals\.gr/			REJECT  "Plz stop sending SPAM id= 31 "
/oncseminars\.gr/		REJECT  "Plz stop sending SPAM id= 32 "
/enimerwsi\.gr/			REJECT  "Plz stop sending SPAM id= 33 "
/eliamep\.gr/			REJECT  "Plz stop sending SPAM id= 34 "
/ymlpsrv\.com/			REJECT  "Plz stop sending SPAM id= 35 "
/dailysoccertip\.com/		REJECT  "Plz stop sending SPAM id= 36 "
/bookbazaar\.gr/		REJECT  "Plz stop sending SPAM id= 37 "
/zizoo\.gr/			REJECT  "Plz stop sending SPAM id= 38 "
/anthemionflowers\.gr/		REJECT  "Plz stop sending SPAM id= 39 "
/kourkouta\.com/		REJECT  "Plz stop sending SPAM id= 40 "
/ipatata\.com/			REJECT  "Plz stop sending SPAM id= 41 "
/ephost\.info/			REJECT  "Plz stop sending SPAM id= 42 "
/kadoikonte\@gmail\.com/	REJECT  "Plz stop sending SPAM id= 43 "
/mandrillapp\.com/		REJECT  "Plz stop sending SPAM id= 44 "
/springer\.com/			REJECT  "Plz stop sending SPAM id= 45 "
/mailchimp\.com/		REJECT  "Plz stop sending SPAM id= 46 "
/altec\.gr/			REJECT  "Plz stop sending SPAM id= 47 "
/winizi\.net/			REJECT  "Plz stop sending SPAM id= 48 "
/sed\.gr/			REJECT  "Plz stop sending SPAM id= 49 "
/pournara\.com/			REJECT  "Plz stop sending SPAM id= 50 "
/emailmarketingnow\.gr/		REJECT  "Plz stop sending SPAM id= 51 "
/entypa\.net/			REJECT  "Plz stop sending SPAM id= 52 "
/4green\.gr/			REJECT  "Plz stop sending SPAM id= 53 "
/imagemail\.eu/			REJECT  "Plz stop sending SPAM id= 54 "
/cbr300r\.bike/			REJECT  "Plz stop sending SPAM id= 55 "
/PRINTEX\ DIGITAL/i		REJECT  "Plz stop sending SPAM id= 56 "
/drassi\.gr/			REJECT  "Plz stop sending SPAM id= 57 "
/mailstudio\.gr/		REJECT  "Plz stop sending SPAM id= 58 "
/extratips\.net/		REJECT  "Plz stop sending SPAM id= 59 "
/crmedia\.gr/			REJECT  "Plz stop sending SPAM id= 60 "
/venan\.gr/			REJECT  "Plz stop sending SPAM id= 61 "
/tonerflow\.info/		REJECT  "Plz stop sending SPAM id= 62 "
/epiteugma\.com/		REJECT  "Plz stop sending SPAM id= 63 "
Tag(s): Greek, spam, postfix
Firefox Session Cookies

A couple days ago, i wrote a blog post about how firefox don’t delete cookies from Pin Tabs here.

A friend of mine D. Glynos from census suggested to me that this problem/feature may be related to session cookies.

I was troubled about it and today i did a little research on the matter.

So when using firefox session restoration feature, firefox keeps all the session cookies in place and you can continue your work without a problem. If you hit F5 (refresh page) then the session is terminated and you have to log-in from the start.

OK, i don’t use session restoration but Pin Tabs. Seems that firefox considers Pin Tab as a session restoration process and that’s why it keeps the session cookies.

And this is by design !!!!!!!

There is also a 7 years bug (still opened - click here) that applies on Pin Tabs also.

Till now, i have not found a config (in about:config) option to tell firefox NOT to keep the session cookies when closing the browser!

food hacking 101

[post only in greek - sorry]



Στο hackerspace ξεκινάει μια νέα open-related-culture ενότητα, το FoodHacking.

Εάν κι η ιδέα προϋπήρχε ανάμεσα στα μέλη του hackerspace, μετά την επίσκεψη μελών του hackerspace στο πρόσφατο 31st Chaos Communication Congress (31C3), εδραιώθηκε.

Εκεί (#31C3) υπήρχε food hacking assembly κι ήρθαμε σε επαφή με το Food Hacking Base .

Οι hsgr food hackers σκέφτηκαν πως ήρθε η ώρα να ξεκινήσουμε μια (μικρή για αρχή) ομάδα και να αρχίσουμε να πειραματιζόμαστε με συνταγές κι ιδέες. Ήδη στο παρελθόν διάφορες ομάδες στο εργαστήριο έχουν φτιάξει μπύρα, λεμοντσέλο, σούσι κι εάν δεν σας φτάνουν αυτά, έχουν προχωρήσει στην κατασκευή ενός Siphon Coffee maker !


Η δική μου πρόταση: Αλευρόπιτα !

Η δική μου πρόταση για το πρώτο meetup είναι μια παραδοσιακή συνταγή που κάνουν στο χωριό μου και το αποτέλεσμα το ονομάζουν Αλευρόπιτα (σε άλλα μέρη την ονομάζουν ζυμαρόπιτα). Είναι αρκετά απλή, θέλει λίγα υλικά κι είναι ένα από τα πιο υγιεινά σνακ (εάν έχετε παιδιά) που σε περίπου μισή ώρα (εντάξει λίγο παραπάνω) είναι έτοιμη.




Η συνταγή που χρησιμοποίησα είναι η παρακάτω. Επιδέχεται άπειρες αλλαγές και θεωρώ πως ακόμα κι ένας εντελώς άπειρος μπορεί να την φτιάξει πολύ γρήγορα.

  • 3ς κούπες αλεύρι
  • 3ς κούπες γάλα
  • 2 αυγά (μέτρια/μεγάλα) ή 3 μικρά
  • 1 πρέζα αλάτι
  • Φέτα
  • Λάδι

Προσωπικά χρησιμοποιώ μικρές πλαστικές λεκανίτσες για τα μείγματα. Είναι πάμφθηνες και καθαρίζονται εύκολα. Αλλά εάν έχετε ανοξείδωτα ή γυάλινα μπολ είναι πάντα καλύτερο. Πάντα να επιλέγεται μεγάλα μπολ γιατί αρκετές φορές το μείγμα διογκώνεται (ανάλογα τη συνταγή φυσικά).


Γενικές Πληροφορίες

Μερικές πολύ γενικές πληροφορίες:

Όλα τα υλικά χρειάζεται να είναι σε θερμοκρασία δωματίου (εκτός εάν λέει αλλιώς η συνταγή). Δεν αναφέρω γραμμάρια αλλά κούπες/πρέζες γιατί θεωρώ πως στο μαγείρεμα (σε αντίθεση με την ζαχαροπλαστική) είναι καθαρά προσωπική άποψη. Για παράδειγμα στην συγκεκριμένη συνταγή η πρέζα (μια δόση δλδ) μπορεί να είναι σε κουταλάκι του γλυκού/τσαγιού αλλά εάν η φέτα είναι ξαλμυρισμένη και τα προτιμάτε αλμυρά, τότε θα πρέπει να ρίξετε λίγο παραπάνω. Εάν η συνταγή περιέχει αλεύρι κι είναι μείγμα, νερό βάζετε όσο χρειάζεται. Εάν πρέπει να βγει πηχτό λίγο, εάν είναι να βγει αραιό πολύ. Επίσης είναι καλή πρακτική το αλεύρι να το κοσκινίζεται για να μην σβολιάσει. Εάν η συνταγή θέλει φούρνο, πρέπει να τον προθερμάνετε. ΔΕΝ χρειάζεται να είναι πάντα στην θερμοκρασία ψησίματος, αλλά να έχει ομοιόμορφη ζεστή θερμοκρασία. Μπορείτε να χρησιμοποιήσετε και αντικολλητικό χαρτί ψησίματος (κι ίσως πρέπει σε κάποιες συνταγές) αλλά προσωπικά μου αρέσει όταν τα μείγματα ψήνονται απευθείας στο ταψί (ξέρω ξέρω - βίτσιο). Ακόμα, εάν οι συνταγές έχουν δύο μέρη (ξερά/υγρά) τα κάνουμε ξέχωρα και να ενώνουμε στο τέλος! Εάν η συνταγή έχει αυγά - θέλει πολύ καλό χτύπημα. Να θυμάστε την έκφραση: “Χτύπα τα σαν να σου χρωστάνε λεφτά”!


Πιο ειδικά για την παραπάνω συνταγή:

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


Πως προχωράμε:

Έχουμε κάνει την φέτα, τρίμμα από πριν. Χρησιμοποιούμε λατεξ γαντάκια για να μην λερωθούμε. Στο μπολ μας (ή στο λεκανάκι εγώ) ρίχνουμε το αλεύρι (ή το κοσκινίζουμε) και το αλάτι. Ανακατεύουμε. Ρίχνουμε τα αυγά και το γάλα. Ανακατεύουμε. Ρίχνουμε το τρίμμα. Ανακατεύουμε. Ρίχνουμε όσο νερό χρειάζεται για να αραιωθεί το μείγμα μας. Δεν θέλουμε να είναι νερουλό, αλλά να μην είναι πολύ πηχτό. Ρίχνουμε λίγο λάδι κι ανακατεύουμε.

Εάν βγει νερουλό το μείγμα, προσθέτουμε αλεύρι. Εάν είναι πολύ πηχτό κι έχουμε ρίξει αρκετό νερό, ρίχνουμε γάλα.

Έχουμε προθερμάνει τον φούρνο μας με το ταψάκι του μέσα στο φούρνο.

Βουτυρώνουμε το ταψί (ή το λαδώνουμε) και περιχύνουμε το μείγμα μας. Θα πρέπει να γεμίσει το ταψί μας αλλά σε ύψος πρέπει να είναι 1/2 εκατοστά. Εάν είναι παραπάνω δεν θα ξεροψηθεί και θα χρειαστεί παραπάνω ψήσιμο. Καλύτερα να βάλετε δύο ταψάκια εάν βγει το μείγμα παραπάνω. Εάν βγει λιγότερο ΜΗΝ ΑΓΧΩΝΕΣΤΕ. Στο μπολ ρίχνουμε αλεύρι, γάλα ή νερό και συμπληρώνουμε όσο χρειάζεται για να φτάσει στο επιθυμητό αποτέλεσμα.

Το αφήνουμε στους διακόσιους (200) βαθμούς για περίπου 35 λεπτά. Εδώ ένα ακόμα “μυστικό” ! Το 35 σημαίνει ότι ανάλογα με την ποσότητα μπορεί να είναι έτοιμο στα 30 ή στους 40 λεπτά ! Κοιτάμε ανά δέκα λεπτά την επιφάνεια της πίτας μας. Εάν το χρώμα του είναι όπως στην παραπάνω εικόνα, τότε είμαστε καλά.

Scottish Vs Irish

Burke & Barry Blended Scotch Whisky


Tullamore Dew Irish Whiskey



Your choice !

firefox security cookie monster bug

[ PLZ read my new blog post on the matter]

Today i came across to a very nasty security firefox bug: when using Pin Tabs, firefox doesnt remove the first (in alphabetical order domain) cookies.

I am using Firefox v34.0.5 so it’s the latest stable version as of the time of writing this blog post.

PLZ, Let me try to walk you through my findings.

Below my settings:


As you can see, firefox should remove all the cookies when I close it.
I use Pin Tabs for my day-to-day web sites/apps.

I ‘ve noticed that I am always logged in to a specific web site.
That gave me the creeps. How the hell i am already logged in to this web site.
I have just opened up my firefox and firefox should have removed all the cookies!

I closed every opened/pinned tab and removed all cookies by hand.
Restarted firefox, logged in to this site and then closed firefox.
Opened up again firefox and there was no cookie.


I am now thinking that my morning coffee had vodka inside.

Pin Tabbed a few sites, logged in to all of them, restarted firefox and then i am still logged in only to this specific web site.
Opened up the “Show Cookies …” setting from preferences and show a few cookies. Restarted once more firefox and invest the cookies again. Still logged in to this specific site.

The “Show Cookies …” setting presents the domain cookies in alphabetical order. So that gave me a clue. The site starts from the letter C and is always the first one domain cookie.

OK, time to write some php cookie code to further investigate this issue.


if ( !isset ( $_COOKIE["aaaa"] ) ) { 
        $cookie_value = 0;

$cookie_value = ++$_COOKIE["aaaa"];
setcookie ( "aaaa" , $cookie_value , strtotime("+1 day")  );

        echo "Hit F5<br>";
        echo "cookie value is: " . $_COOKIE["aaaa"];

Keep in mind, that the visiting server must send the set_cookie within the html headers. Before the html body.

Closed everything, removed every cookie. UnPin every tab and restarted firefox.
Visited my php test page, show cookie value, restarted firefox. No cookie.

Opened up once again firefox, visited my php test page. “Pin Tab” the test page, hit F5 a few times and then restart firefox. A cookie !!!!

So there is a security bug.

I’ll try to pass this to my mozillian friends so they file a security bug report.

Remember if you are logged in to amazon via a Pin Tab … amazon will always track you as it would (perhaps) be the first (in alphabetical order) domain cookie.

Tag(s): firefox, bug, cookie
Flowers for Algernon

I like spending my free time reading books. Although i don’t have a good memory and my english are far from perfect, i prefer to read books in english.

A few days ago I was wondering what my potentials would be if i could remember everything i have ever read in my life. When discussing that with a good friend, she told me to read:

Flowers for Algernon


The book is AMAZING !

Is about the life of a retarded person, Charlie Gordon, whom - through a brain surgery - was given the gift of intelligence. The only problem is that no one knows how much time Charlie has, before loosing it all. What would you do if you had all the knowledge of the world, speaking 12 languages and understanding every scientific field there is? We are viewing the progress of Charlie though his reports and seeing him transform from a dummy friendly person to an egoistic self-center genius!

Charlie also has another problem. The problem that no one treats him like a person. Before he was the laugh of everyone, after a guinea pig. As his understanding of the world is growing, the same goes for his mental and physiological state. He is straggling to find out who is he real, what’s his place in the world. To learn from his retarded past, to make amens with his parents, to accept his future.

“First published in 1959 as a short story, Flowers for Algernon was released in novel form in 1966 and has since sold millions of copies.”

There are already two movies (at least), some theatrical plays, audio books, cliff notes, study notes, summaries, reviews, etc etc

You have to read this book!

Tag(s): books
tinc-vpn on android

I ‘ve updated my wiki page to add an android section to my tinc-vpn setup.

So here it is my: tinc-vpn to a redirect-gateway instructions.

genetics and police procedural

From my previous book-related blog post, I ‘ve read NONE of them and started two new books:



So, why did I choose those books?

I am a fan boy of police procedural stories (Jeffery Deaver is the BEST in this category) and the DNA-genetic approach was intriguing me. I had tons of questions and a very good friend of mine answered all of my questions on the subject.

So what’s the story of the first book ?

A detective with a dark side is trying to solve a missing-person case. With a strange twist the missing case is transformed to a series of deaths relating to a company that performs genetic research! The dark side of the detective is based on his primitive instincts and that is a result of genetic chimeras. I dont want to spill the beans and that’s way i will not write more about the book. The story is well written and has a technical base around genetics. The book challenges the ethics of DNA research and at what cost we are going to change the quality of our life.

The second book is the sequel of the detective’s story. The detective doesnt seem to be so stable as in the first book. He has health problems and the biggest one is that he is now trying to catch a serial killer who is defacing his victims with acid! The main story is around a HIV research facility which is doing human trials on a new vaccine. The detective is running out of time as his body crashing and everyone has abandoned him.

Tag(s): books
greek spammers part two

Nov 2 2014 - Dec 1 2014

Top spammers:


Blocked via postfix:


/massnews\.gr/                  REJECT "Plz stop sending SPAM id=1"
/glc-emea\.com/                 REJECT "Plz stop sending SPAM id=2"
/To:.*info@balaskas\.gr/        REJECT "Plz stop sending SPAM id=3"
/Akis.Angelakis/		REJECT "Plz stop sending SPAM id=4"
/from.*            REJECT "Plz stop sending SPAM id=5"
/specisoft\.biz/                REJECT "Plz stop sending SPAM id=6"
/advantech\.gr/                 REJECT "Plz stop sending SPAM id=7"
/adsgreece\.com/                REJECT "Plz stop sending SPAM id=8"
/2020web\.gr/                   REJECT "Plz stop sending SPAM id=9"
/nfs\.gr/                       REJECT "Plz stop sending SPAM id=10"
/polimonotiki/                  REJECT "Plz stop sending SPAM id=11"
/eliamep\.org/                  REJECT "Plz stop sending SPAM id=12"
/ellak\.gr/                     REJECT "Plz stop sending SPAM id=13"
/seminaria\.gr/			REJECT "Plz stop sending SPAM id=14"
/stock-house\.gr/		REJECT "Plz stop sending SPAM id=15"
/Lesfemmes/i			REJECT "Plz stop sending SPAM id=16"
/aldridge\.com/			REJECT "Plz stop sending SPAM id=17"
/inter\.net/			REJECT "Plz stop sending SPAM id=18"
/plexpr\.tk/			REJECT "Plz stop sending SPAM id=19"
/industrydisruptors\.org/	REJECT "Plz stop sending SPAM id=20"
/xinis\.com/			REJECT "Plz stop sending SPAM id=21"
/globalgreece\.gr/		REJECT "Plz stop sending SPAM id=22"
/hostzone\.gr/			REJECT "Plz stop sending SPAM id=23"
/mailinglist\.gr/		REJECT "Plz stop sending SPAM id=24"
/profitconsult\.gr/		REJECT "Plz stop sending SPAM id=25"
/pedersenco\.com/		REJECT "Plz stop sending SPAM id=26"
/diadima\.gr/			REJECT "Plz stop sending SPAM id=27"
/helenco\.gr/			REJECT "Plz stop sending SPAM id=28"
/adplus\.gr/			REJECT "Plz stop sending SPAM id=29"
/entos\.gr/			REJECT "Plz stop sending SPAM id=30"
/4udeals\.gr/			REJECT "Plz stop sending SPAM id=31"
/oncseminars\.gr/		REJECT "Plz stop sending SPAM id=32"
/enimerwsi\.gr/			REJECT "Plz stop sending SPAM id=33"
Tag(s): greek, spam, postfix