Evaggelos Balaskas - System Engineer

The sky above the port was the color of television, tuned to a dead channel

Blog
Posts
Wiki
About
Contact
rss.png twitter linkedin github gitlab profile for ebal on Stack Exchange

Next Page »
  -  
« Previous Page
Oct
13
2014
Moving Away from Closed Source
Posted by ebal at 11:04:32 in blog, planet_ellak, planet_Sysadmin

The last couple months (all started when comzeradd ordered two fairphones) i am going through the Great Transition: “Moving Away from every closed source/service to free (opensource) software.”

As i have already mentioned: Moving to free/opensource applications isnt always easy. But then again, when freedom was an easy thing ?.

So the transition has a few bumps in the way.

Some of my decisions are in my twitter’s timeline and some on my wiki.

I will document EVERYTHING but I’ll do it on separated blog posts and code will be in my wiki so that the entire documentation will no be a huge mesh.

I am fortunate enough to have smarted people than me to suggest brilliant things all the time.
Their comments (twitter/blog/mail) have made my life easier and are helping me with this transition.

I would love to read your comments (just remember that i dont accept http links inside blog comments).

So let’s start !

Sep
25
2014
postgres nightmare
Posted by ebal at 21:51:18 in blog, planet_ellak, planet_Sysadmin

Some time in the last week, the iscsi volume of one of our PostgreSQL went up to 98% and nagios vomited on the standby mobile.

The specific postgres database holds customer’s preferences related to our webmail.

Unfortunately the webmail is a java web app (tomcat) - custom written by some company and the source code is a spaghetti mesh. The code has also gazillion bugs, so we took a decision to migrate to an opensource php based webmail. Hopefully in the near future we will official migrate to the new webmail platform and all known problems to humanity will cease to exist.

Till that time, we have to maintain the current webmail platform and figure out how a ~500Mb database has become a nearly ~50Gb nightmare!

My knowledge on databases are not basic but to be fair i lack in experience. As a veteran standby engineer I know that I need to apply a quick & dirty patch and investigate afterworks. Also I am not afraid to ask for help! And so i did.

First thing to do: increase the volume on the storage machine. I’ve said already that we are using an iscsi partition so it’s pointless that action. In fact - no it isnt !!! The storage machine has a percentage for reserving storage for snapshots. And the increase gave us a little space to breath as the snapshots were “eating” space from the actual volume! You are probably thinking that we should resize the partition - but this is a live-production machine and we dont want a downtime on the service (umount/resize/mount).

From 98% to 93% with only one command.

Second, but most popular thing to do, was VACUUM. A colleague took that step and tried to VACUUM each table separately so not to “lock” or provoke the daemon to a crash or even worst. That gave us a 88% of free space and the time to think before we act again.

For all you people that dont know postgres, postgres doesnt delete actual data from the storage only from the database. So you need to enable autovacuum or vacuum by hand from time to time.

Of course before everything else (or even vacuum) we took a pg_dump to another partition.
But pg_dump was taking hours and hours to complete.

After further investigation, we found a table that pg_dump was getting difficult with.

Fired up a new database and tried to restore this table there.
I couldnt. There was an error of duplicates and the restoration process was failing.

Tried to figured out the duplicate entries. 20 entries! The table has only four columns and a ~ 50.000 data entries. Only 20 of them were duplicates. The amount of data in size is ~20Mb. I was looking the data/entries and removed by hand the duplicates. After that i re-index the specific table and an hour later over 20Gb were free. Down to 44% from 98% by deleted 20 entries.

At that point i was thinking that postgres is mocking me. How the hell a 20Mb table had gone over 20G ?

Now pg_dump is taking 6.5 minutes - but is still taking a long time to dump this specific table.

Tomorrow is a new day to experiment with PostgreSQL

[edit1]: Just to be fair, postgres version is 8.1
[edit2]: The VACUUM process just finished. Another 20G free !!! So in total for 20 duplicate entries a total 40G disk free! We are now at 9% from 98% of used disk.

PS: We have already discussed a lot of plans (upgrade postgres version, restore the dump to a new machine etc etc) in our department but we believe not to focus to any of them (yet) as we havent found the trigger that fired up the database from 500Mb to 50Gb. After that all plays are in hand.

Tag(s): postgres
    Tag: postgres
Sep
11
2014
The Cathedral and the Bazaar
Posted by ebal at 12:44:00 in blog, books

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

the_cathedral__the_bazaar.jpg

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

Tag(s): books
    Tag: books
Sep
02
2014
Dockerfile for Two-Factor Authentication
Posted by ebal at 21:48:19 in blog, wiki, planet_ellak, planet_Sysadmin

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.

Tag(s): barada, dockerfile
    Tag: barada, dockerfile
Sep
01
2014
reading books
Posted by ebal at 12:56:20 in blog, 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.

neuromancer.jpg

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.

burning_chrome.jpg

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
    Tag: books
Aug
29
2014
Web Proxy Autodiscovery Protocol with dnsmasq
Posted by ebal at 10:15:18 in planet_ellak, planet_Sysadmin

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:

wpad.dat



function FindProxyForURL(url, host)
{
        return "PROXY 192.168.1.2:8080; 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 192.168.1.2/wpad.dat

after that a simple entry on Dnsmasq



dhcp-option=252,"http://192.168.1.2/wpad.dat"

and restart your dnsmasq

Dont forget to do a dhcp release on your windows machine

Tag(s): dnsmasq, squid, WPAD
    Tag: dnsmasq, squid, WPAD
Aug
28
2014
dnsmasq with custom hosts file
Posted by ebal at 18:14:20 in planet_ellak, planet_Sysadmin

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:

A.

as root


wget http://winhelp2002.mvps.org/hosts.txt -O /etc/hosts.txt && 

and

B.

in /etc/dnsmasq.conf


addn-hosts=/etc/hosts.txt

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 0.0.0.0 www.facebook.com >> /etc/hosts.txt

restart your dnsmasq service and check it:


# dig www.facebook.com @localhost +short
0.0.0.0
Tag(s): dnsmasq
    Tag: dnsmasq
Aug
26
2014
[old] GPG key
Posted by ebal at 10:10:56 in blog, planet_ellak, planet_Sysadmin

I have decided to expire my current PGP key:

EF6DC21A

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.

Aug
13
2014
customer problems
Posted by ebal at 13:46:01 in blog

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

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

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

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

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

Tag(s): work_related
    Tag: work_related
Aug
13
2014
virtual disks
Posted by ebal at 07:34:02 in blog, wiki, planet_ellak, planet_Sysadmin

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
    Tag: losetup
Aug
10
2014
breaking bad humor
Posted by ebal at 17:32:00 in blog

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

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

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

αχααχαχαχχαχαχαχαχα

Aug
05
2014
work related
Posted by ebal at 09:10:27 in blog

This post is being written only in Greek.

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

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

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

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

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

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

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

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

Tag(s): work
    Tag: work
Jul
20
2014
apache Redirect permanent your web app to https
Posted by ebal at 12:27:15 in planet_Sysadmin

This is pretty simple to even document, but i need a reference point !



<VirtualHost 1.2.3.4:80>

        ServerName example.com
        Redirect permanent / https://example.com

</VirtualHost>

dont forget to create the https virtual host, something like that:


<VirtualHost 1.2.3.4:443>

        ServerName example.com

        ServerAdmin admin@example.com

        # Logs
        CustomLog logs/example.com.access.log combined
        ErrorLog  logs/example.com.error.log

        DocumentRoot /www/examplecom
        DirectoryIndex index.html

        <Directory "/www/examplecom">
                Order allow,deny
                Allow from all 

                AllowOverride All 

                AuthType basic
                AuthName "Enter At Your Own Risk"
                AuthUserFile /www/htpasswd_for_examplecom
                Require valid-user

        </Directory>

        # HSTS 
        Header always set Strict-Transport-Security "max-age=31536000; "

        # SSL Support
        SSLEngine on

        SSLProtocol all -SSLv2 -SSLv3
        SSLHonorCipherOrder on
        SSLCipherSuite HIGH:!aNULL:!MD5

        SSLCertificateFile      /certs/examplecom.crt
        SSLCertificateKeyFile   /certs/examplecom.key
        SSLCertificateChainFile /certs/class3.crt

</VirtualHost>
Tag(s): apache, ssl, https
    Tag: apache, ssl, https
Jul
18
2014
book status
Posted by ebal at 12:35:49 in books

Just finished

The Man Who Mistook His Wife for a Hat and Other Clinical Tales by Oliver Sacks

a book about clinical stories on neuropsychology !

oliver_sacks.jpg

next book in list:

Neuromancer by William Gibson

neuromancer.jpg

Tag(s): books
    Tag: books
Jun
30
2014
Btrfs with Multiple Devices on LUKS
Posted by ebal at 22:33:03 in blog, planet_Sysadmin

I’ve written down some simple (i hope) instructions on creating an encrypted btrfs raid1 disk !

My notes have the form of a mini howto, you can read all about them here:

Btrfs with Multiple Devices on LUKS

Tag(s): btrfs, raid1, luks, encrypted
    Tag: btrfs, raid1, luks, encrypted
Jun
24
2014
random MAC address
Posted by ebal at 23:11:16 in blog, planet_Sysadmin

Gnu has a very interesting project for changing your mac address every time you want. I have found it very useful - apparently for security reasons!

The project has the name: macchanger and i will not tell you how to installed it !

I will tell you how i am using it. Become root and type: crontab -e

add the below line

@reboot macchanger -r wlan0 

Now, every time you boot up your machine the mac address on you wireless card will be a random new one !

Happy privacy

Tag(s): privay
    Tag: privay
Jun
14
2014
broken phone
Posted by ebal at 10:49:39 in blog

GR

Friday 13

17.00 Ο πελάτης επικοινωνεί με το helpdesk, διότι μεταβαίνει σε νέα mail πλατφόρμα και χρειάζεται “ΕΠΕΙΓΟΝ” διαθεσιμότητα μηχανικού 19.00 - 20.00

17.30 Το helpdesk επικοινωνεί με τον standby μηχανικό

19.35 Συνδέεται ο standby μηχανικός για να δει το αίτημα του πελάτη - ΔΕΝ υπάρχει κανένα αίτημα.

Sat 14

00.00 Το helpdesk επικοινωνεί με τον standby μηχανικό, ότι ο πελάτης μόλις έστειλε το αίτημα

00.30 Ενημερώνεται ο πελάτης μέσω helpdesk ότι δεν υπάρχει άμεση διαθεσιμότητα μηχανικού – διευκρινίζεται με τον πελάτη κι επικοινωνείτε σε όλους ότι θα γίνει το πρωί.

10.30 Ο πελάτης επικοινωνεί με το helpdesk για να ολοκληρωθεί το αίτημά του για να μεταβεί στην νέα mail υπηρεσία/πλατφόρμα

11.15 Ο μηχανικός ενημερώνει το helpdesk ότι ο πελάτης ΔΕΝ έχει στείλει κανένα αίτημα. Ο πελάτης αναφέρει απλά “την επιβεβαίωση dns εγγραφών”.

Tag(s): work_related
    Tag: work_related
Jun
08
2014
Dockerfile to build a docker archlinux image with ssh
Posted by ebal at 22:12:07 in blog, wiki, archlinux, planet_Sysadmin

Today’s work : A dockerfile to build an archlinux image with sshd

You can find my notes here: Dockerfile notes

Tag(s): dockerfile, docker, archlinux
    Tag: dockerfile, docker, archlinux
Jun
07
2014
Time at hackerspace
Posted by ebal at 22:23:53 in blog, wiki, archlinux, planet_Sysadmin

I am a very proud member of Athen’s Hackerspace.

I am enjoying the entire 3+ years time (and money) that i’ve spend at this hackerspace. Love it.

Today was a very productive day.

With a good friend of mine, are working to setup an ansible, docker, btrfs workshop !

We want to contribute back to the community and we thought that this is a great opportunity.
We are not guru or anything like that - no, we just want to share the knowledge we are getting by spending time at hackerspace. Nothing more, nothing less. Just share our feedback to all the people that have helped us till now.

So, we are working together (collaboration) by making small steps towards to build these workshop.
Today’s work: Creating a tiny compressed archlinux docker image.

My instruction set is documented here: archlinux installation for docker.

Hopefully my next blog post will be about a simple ssh docker file.
We are trying to keep simple notes so that many people can read and use them.

Tag(s): archlinux, docker, btrfs
    Tag: archlinux, docker, btrfs
May
20
2014
Mechanical computers
Posted by ebal at 08:35:10 in blog, planet_Sysadmin

I am currently pseudoparallel reading (i am currently reading one other book) The Pattern On The Stone By Daniel Hillis and i am really really impressed about the simple explanation on logical gates (boolean algebra).

Hillis is using as an example The Tinkertoy computer - the mechanical computer for playing TicTacToe !
Look at this page to take a quick look: The Tinkertoy computer

BTW The first mechanical computer is the The Antikythera mechanism 100BC to predict astronomical positions and eclipses.

Truly Amazing !

Tag(s): books
    Tag: books
Next Page »
  -  
« Previous Page

Search

Admin area

  • Login

Categories

  • blog
  • wiki
  • pirsynd
  • midori
  • books
  • archlinux
  • movies
  • xfce
  • code
  • beer
  • planet_ellak
  • planet_Sysadmin
  • microblogging
  • UH572
  • KoboGlo
  • planet_fsfe

Archives

  • 2025
    • April
    • March
    • February
  • 2024
    • November
    • October
    • August
    • April
    • March
  • 2023
    • May
    • April
  • 2022
    • November
    • October
    • August
    • February
  • 2021
    • November
    • July
    • June
    • May
    • April
    • March
    • February
  • 2020
    • December
    • November
    • September
    • August
    • June
    • May
    • April
    • March
    • January
  • 2019
    • December
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2018
    • December
    • November
    • October
    • September
    • August
    • June
    • May
    • April
    • March
    • February
    • January
  • 2017
    • December
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2016
    • December
    • November
    • October
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2015
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • January
  • 2014
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2013
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2012
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2011
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2010
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
  • 2009
    • December
    • November
    • October
    • September
    • August
    • July
    • June
    • May
    • April
    • March
    • February
    • January
Ευάγγελος.Μπαλάσκας.gr

License GNU FDL 1.3 - CC BY-SA 3.0