The Cathedral and the Bazaar

This amazing essay (you can find it here is one of the best reads you can have about the free & opensource movement.


If you havent read it yet, take a break and do it now

Tag(s): books
Dockerfile for Two-Factor Authentication

Most of the people that read this blog post should already know what Two-Factor Authentication is.

For those you don’t, in short terms 2FA is when you can login to a server/site/application using two things and not only one (your password).
Something you have and something you know, like when using your bank card (something you have) with it’s pin (something you know).

There are three (3) android apps at f-droid

* Google Authenticator
* FreeOTP
* Gort

I dont want to use the google authenticator, and i havent yet tested FreeOTP, so i’ve chosen Gort to write about.
Gort is using the barada-pam package as the back-end.

Barada/Gort are based on HMAC-Based One-Time Password Algorithm and not on time sync. This is useful if the clocks are drift and the server (barada) can “catch” one-time passwords even if the counter is out-of-sync by a little.

I ‘ve built a Docker image to show barada/gort on the next Security Talk at Athens,Greece Hackerspace and below is the link on my wiki that contains the Dockerfile.

Be aware on the notes/comments on the file.

reading books

I like to read.

One of my biggest fears is that I ‘ll never be able to read all the books I’ve checked in my entire life. Even in this technological era that everything is easier and faster - the amount of free time is always less than the year before. That’s the way it is for me and it seems that i can’t do anything to fix it. So i like to keep a short book list - cause my long book list is about a million of unread books (give or take a few thousands). I understand that the previous statement is somehow an overstatement but as I’ve already mentioned in the begging of this blog post, i like to read (although i am not a very smart person).

I never had read William Gibson and I thought to start with the Neuromancer. This would be my first cyberpunk culture book EVER so I believed that i would loved it.

If you have good friends - as i do - they will find a loophole to screw with you, in everything you ‘ll ever do. And so they did! They told me to stop reading Neuromancer and start the Burning Chrome by William Gibson.


And so I did! Burning Chrome is a collection of cyberpunk - science function short stories that are written before Neuromancer and that was my first intro to cyberpunk.

After that … i was reading about Transhumanism and watched videos about it.

But the most important thing of all is the fun of knowledge !

I wish i could figured it out that when i was young, in school and not arguing all day with my teachers about everything.

So I am finally reading Neuromancer! I am at 40% on the ebook, 50 days after my first attempt to read it.

Tag(s): books
Web Proxy Autodiscovery Protocol with dnsmasq

It seems that you can push a WPAD to desktops via dhcp.

My proxy is based on squid running on 8080.

I ‘ve build a WPAD file similar to the below:


function FindProxyForURL(url, host)
        return "PROXY; DIRECT";

next thing is to publish it via a web server.
I am using thttpd for static pages/files:

how to test it:

# curl -L

after that a simple entry on Dnsmasq


and restart your dnsmasq

Dont forget to do a dhcp release on your windows machine

Tag(s): dnsmasq, squid, WPAD
dnsmasq with custom hosts file

Title: dnsmasq with custom hosts file - aka ban sites with dnsmasq

I ‘ve already said it too many times, but dnsmasq is a beautiful project for SOHO (small office/home office) environment.

I am using it as DNS caching server, DHCP server & tftpd (PXE) server and it’s amazing.

One thing i do with the dns section is that i “BAN” urls i dont like. Think something like AdBlock on firefox.
Two configuration changes:


as root

wget -O /etc/hosts.txt && 



in /etc/dnsmasq.conf


You can also put the wget cmd in your crontab with the @monthly scheduler but you need to restart the dnsmasq every month!

Another amazing thing is that you can add your one entries:

echo >> /etc/hosts.txt

restart your dnsmasq service and check it:

# dig @localhost +short
Tag(s): dnsmasq
[old] GPG key

I have decided to expire my current PGP key:


0×5882be3def6dc21a is the long version !

in 30 days from now, on 25 Sep 2014.

You can still use it to send me encrypted msg and i will use it to digital sign emails (and other staff) till that day.

After the 25th of Sep you may assume that this key is no longer valid.

I haven’t decided yet if i want to upload or advertise my new GPG key.

customer problems

“Πελάτης” - προσοχή στα quotes - αγόρασε ένα domain από εμάς.

Έπειτα και χωρίς καμία επικοινωνία με το helpdesk ή τους εμπορικούς
δήλωσε ότι εμείς κάνουμε secondary dns service για αυτόν.

Έβαλε επίσης ως MX server ένα δικό μας μηχάνημα,
το οποίο δεν είναι καν ΜΧ server.

Φυσικά παρέχουμε dns secondary υπηρεσία & backup MX service
αλλά φυσικά το κάνουμε αφού μιλήσει ο πελάτης με το helpdesk
και το εμπορικό τμήμα.

Το θράσος του υποτιθέμενου πελάτη έφτασε στο σημείο
να διαμαρτυρηθεί εντόνως γιατί κι ενώ αυτός στην ζώνη του
τα έχει περάσει σωστά !!!!!!!! εμείς δεν του παρέχουμε
καμία από αυτές τις υπηρεσίες ?

Tag(s): work_related
virtual disks

I use dd frequently. Especially when i need a backup disk image to restore it to a disk with the same geometry. Most of the case this disk image has partitions. Mounting those partitions to my system is really easy with losetup. So i gathered some basic examples here: losetup examples .

Tag(s): losetup
breaking bad humor

Μιας και δεν χωράει στο twitter: Η αδελφούλα μου, μόλις ξεκίνησε να βλέπει το Breaking Bad.

Οπότε σχολιάζει την γαματοσύνη του με το παρακάτω:

“Άσε ρε, όλα βγαλμένα μέσα απο τη ζωή είναι.. στη Β λυκείου ο καθηγητής της Βιολογίας έφτιαχνε παράνομα cd και τα πουλούσε μέχρι που τον πιάσανε”


work related

This post is being written only in Greek.

[ disclaimer: Το παρακάτω είναι μια φανταστική ιστορία ]

Τα πράγματα δεν φαίνονται να πηγαίνουν πολύ καλά, οργανωτικά. Επιστρέφω μετά από 10 μέρες στην δουλειά για να διαπιστώσω ότι έχει γίνει εκ νέου αναδιοργάνωση. Νέος προϊστάμενος, υποδιευθυντής, διευθυντής κλπ κλπ κλπ κλπ - έχω πια ξεχάσει/χάσει την ιεραρχία - γενικά δεν ισχύει απολύτως τίποτα από ότι ίσχυε πριν από 10 μέρες. Το βασικό πρόβλημα είναι ότι χρειαζόμαστε υπαλλήλους και τα τελευταία χρόνια έχουμε γεμίσει - σε πλήθος - περισσότερους διοικητικούς από ότι ανθρώπους που παράγουν έργο.

Κι εκτός αυτού τέλος Ιουλίου/αρχές Αυγούστου μπήκε production νέο πληροφοριακό σύστημα για τις παραγγελιοληψίες. Το μόνο πρόβλημα που έχουμε, είναι ότι δεν δουλεύει όπως πρέπει ! Κατά την μεταβίβαση/φορητότητα (και διάφορες άλλες περίεργες λέξεις) το νέο σύστημα βγάζει inactive & expired τους πελάτες !!

Μετά από mini investigation, κι θέλω να πιστεύω ευλόγως απορία μου, ρωτώ: “Ποιο το workaround ? Πότε θα επιληφθεί ? κι Αφού δεν δουλεύει γιατί δεν επιστρέφουμε στο παλιό μέχρι να διορθωθούν τα προβλήματα ?”

και κάπου εκεί ξεκινά ο παραλογισμός:

- “Εμείς παραδώσαμε το project εντός προθεσμίας”
- “Μα δεν δουλεύει !”
- “Είναι μονάχα μια λειτουργία”
- “Μα υπάρχει ροή που βγάζει τους πελάτες inactive/expired”
- “Θα διορθωθεί σε μέλλοντα χρόνο, εμείς το παραδώσαμε στην ώρα του”

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

Κατά τα άλλα, πλέον αυτό το POST θεωρείτε βάση κανονισμού εργασίας ως πειθαρχικό παράπτωμα μιας και “χαλάει” το όνομα της εταιρείας !

Tag(s): work