Linux T440s lid script

April 11, 2014

I wouldn’t like to start talking about the sorry state about the Linux Power Management in laptops, because the whole situation is at least disappointing.  (Having digged the situation only a little bit, power management is done by systemd-logind, acpid, and pm-utils, and the way all these interact if you add laptop-mode is not clear at all).  I use my new T440s either as is, or as “desktop” replacement using external monitor, keyboard and mouse. In the second case when I “docked” and connected the peripherals, I didn’t want by closing the lid to activate screensaver, or suspending the system, on the other hand, whenever I was using the laptop undocked, when I closed the lid I wanted to be put in sleep mode. After having fiddled a little bit with the configuration I thought that the best way was to create the following script which I put in /etc/acpi/local/lid.sh.pre

#!/bin/sh

# This script affects the way lid behaves. The logic is described
# If the laptop is connected to an external display 
#   If we have a display in the active displays that is not the built in
#       unset everything (do nothing)
# else
#	don't touch anything

#getting the outputs
d=/tmp/.X11-unix
for x in $d/X*; do
    displaynum=${x#$d/X}
    getXuser;
    if [ x$XAUTHORITY != x ]; then
       export DISPLAY=:$displaynum
       connectedOutputs=$(su $XUSER -s /bin/sh -c "xrandr" | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/")
       activeOutput=$(su $XUSER -s /bin/sh -c "xrandr" | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") 
       connected=$(echo $connectedOutputs | wc -w)
    fi
done

#if we have one display do nothing
if [ $connected -gt 1 ]
then
	for display in $activeOutput
	do
		if [ x$display != x$XRANDR_OUTPUT ] 
		then
			LID_SLEEP=""
			LOCK_SCREEN=""
		fi
	done
fi

This scipt is called by /etc/acpi/lid.sh which in turn is called when an lid event is received which is defined in /etc/acpi/events/lidbtn

Κύθηρα survival guide

August 18, 2013

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

  • Η θάλασσα είναι και εδώ άριστη. Δεν μου άφησε την εντύπωση της Αλοννήσου, αλλά από τις καλύτερες που έχω πάει. Μετά τις διακοπές εδώ θέλω να ξαναπάω Αλόννησο για να δώ μήπως είμαι υπερβολικός για την θάλασσα της.
  • Το νησί έχει άπειρα πράγματα. Και 10 μέρες να το γυρίσεις όλο δεν φτάνουνε. Κάτι θα αφήσεις. Εμείς λόγο αέρα είδαμε κυριώς νοτιοανατολική και ανατολική πλευρά. Βόρεια και βορειοδυτική δεν. Επίσης ετοιμαστείτε για περπάτημα διότι σε πολλά σημεία υπάρχουνε μονοπάτια (βλ. πιο κάτω).
  • Απαραίτητο να έχετε αμάξι. Επιβατικό κάνει, αλλά για full πανσιόν 4×4 ή νοικιάρικο που το κάνουμε να πάει :p. Το οδικό δίκτυο υπάρχει για να λέει ότι υπάρχει (σε πολλά σημεία έχει μόνο 1 λωρίδα και για τις 2 κατευθύνσεις) ΑΛΛΑ είναι σημαντικό ότι οι άνθρωποι εκεί οδηγάνε κανονικά και δεν είναι τόσο πρόβλημα. Οι ωραίες όμως παραλίες είναι με χωματόδρομο, άρα το 4×4 κάνει τα πράγματα πιο άνετα.
  • Δωμάτια θα βρείτε μέτρια (70Ε), ακριβά (90Ε) και πολύ ακριβά (120Ε). Ίσως να αξίζουνε τα λεφτά τους .. αλλά δεν θα ήταν σωστό tip αν δεν έδειχνε το δρόμο για φτηνά αλλά πολύ καλά δωμάτια στο ριμαδόρος. Άρα υπάρχουνε και φτηνά αλλά δύσκολο να τα βρείτε.
  • Παραλίες must: Καλάμι (εδώ έχει περπάτημα και λίγο καταρήχηση, αλλά αξίζει τον κόπο με τα 10000000. Μην πάτε με σαγιονάρα, διότι αν και γίνεται κινδυνεύει να μείνει η σαγιονάρα εκεί :p), Χαλκός (είναι και οργανωμένη αλλά καλό βότσαλο), Διακόφτι (ναι το λιμάνι. Παραλία με απίστευτη άμμο. Ακόμη και εμένα που είμαι ενάντια στην άμμο μου άρεσε, αλλά να ξέρετε ότι θα βρείτε πολλές οικογένειες με παιδάκια), Κομπονάδα (οι καλύτερες ξαπλώστρες και relaaaax), Καλαδί (το τοπίο είναι απίστευτο .. 150 σκαλάκια να κατεβείτε).
  • Το Καψάλι αν και ακούγεται πολύ .. μην περιμένετε τίποτα τρελλά ανεπτυγμένο .. μια σειρά από σπίτια είνα :p Αλλά το βράδυ είναι όμορφο για βόλτα.
  • Στο Καψάλι βρίσκουμε το glass bottom με τον captain Spyros που πάει σίγουρα Χύτρα. Πάμε, καλύτερα το 6-8 διότι τότε όπως δύει ο ήλιος πέφτει το φως στις σπυλιές και είναι πανέμορφα. Ο Captain Spyros είναι μορφή.
  • Για πιο ήσυχες παραλίες πάμε Βρουλέα και Στενό Αυλάκι που ακόμη και Αύγουστο δεν έχει πολύ κόσμο.
  • Αξίζει να δούμε την παραλία της Κακιάς Λαγκάδας, όχι το Lagada beach .. προχωράμε πιο μετά εκεί που τελειώνει ο δρόμος. (στο χάρτι θα το δείτε σαν παραλία Λίμνη). Εκεί σε ένα στενό κομμάτι από βότσαλα από τη μία είναι η θάλασσα και από την άλλη μια μεγάλη λίμνη που πάει στο φαράγγι της Κακιάς Λαγκάδας.
  • Η Χώρα είναι όμορφη, και το κάστρο έχει καταπληκτική θέα (εμείς το είδαμε το βράδυ)
  • Φαγητό πολύ καλό αλλά όχι να μας πέσει το σαγόνι (γούστα είναι αυτά .. και εγώ δεν τρελαίνομαι για ψάρι). Καλά είναι το Υδραγωγείο (Καψάλι), Φιλιώ (Κάλαμος), Σωτήρης (Αβλέμονα), Πλάτανος (Μυλοπόταμος).
  • Αβλέμονας είναι πανέμορφος. Αξίζει να πάτε να τον δείτε.
  • Καφέ by far και πολύ καλό στο Καμάρι (Μυλοπόταμος). Πήγαμε 3 φορές.
  • Καταράχτες είναι καρα-must. Μην δείτε την ταμπέλα για Νερόμυλους στο δρόμο πως Λιμνιώνα, αγνοείστε την. Πάτε στον καταρράχτη Νεράιδα και μετά ακολουθείτε στο μονοπάτι Μ41 .. και πάτε στο ίδιο σημείο από πολύ πιο όμορφη διαδρομή (θέλει 30 λεπτά περπάτημα .. εκτός αν πάτε γρήγορα που τότε θέλει 20).
  • Καταδύσεις κάνετε στον Λιμνιώνα. Βέβαια μην περιμένετε να επικοινωνήσετε τηλεφωνικά η κάτι άλλο. Πάτε εκεί να κλείσετε. Το σήμερα στα κινητά σε πολλές περιοχές είναι απλά τραγικό.
  • Αν πάτε στον Λιμνιώνα και θέλετε να δείτε κάτι απίστευτο οπλιστείτε με θάρος, καλά παπούτσια και πάτε αριστερά (όπως βλέπετε τη θάλασσα) ακολουθείτε κάτι πασαλάκια που γράφουνε Μ2 και μετά από 1 ώρα περπάτημα σε βράχια (και λίγο κατάβαση) θα φτάσετε με μια φυσική πισίνα δίπλα στην θάλασσα (περισσότερες πληροφορίες με email ή comment). To θέαμα αξίζει τον κο
  • Σπήλαια έχει 2 μεγάλα με εκκλησία μέσα. Και τα 2 λέγονται Σπήλαιο της Αγίας Σοφίας, το ένα στον Κάλαμο, και το άλλο στο Μυλοπόταμο. Το δεύτερο έχει και ξενάγηση και είναι όμορφο. Αυτό που άρεσε πιο πολύ όμως είναι το εκκλησάκι της Αγιας Πελαγίας που είναι δίπλα στην παραλία της Φενωτής. Είναι μέσα σε σπήλαιο και αυτό. Πάμε προς την παραλία της Φενωτής και λίγο πριν εκεί που έχει 2 κτήρια και ένα χωματόδρομο προς τα κάτω, σταματάμε ακολουθούμε τον χωματόδρομο και το μονοπάτι και φτάνουμε

In one of the projects we had a number of virtual machines that were servicing the same content. The content was duplicated in each of them in the local filesystem. The storage space that was used for the VM infrastructure was getting full, therefore we were asked politely from the VM infrastructure provider if we could do something about it.

The first step was easily decided and we set up a VM that had all the content and was sharing it through NFS with the other web servers. The next part was to resize the disks of the VMs so that the exceeded space could be free. One of the possible ways was to attach a second disk, transfer everything there, change the configuration for the VM and it should work. However, this sounded a good idea to try a few things with LVM. This is a small step by step guide on how to do it.

Read the rest of this entry »

Let’s not have the argument whether tomcat should be run as standalone (with tcnative and APR) or with a web server in the front that proxies the requests back to tomcat, but let’s assume that we have the case of tomcat native.
In this case one issue that comes up regularly when tomcat is also configured to do client certificate authentication is the CRL expiration. When the CRL expires tomcat refuses to do any more authentication and the application comes to a halt. Although this is not a bad thing to do per se (who would like to permit people to login if he is unable to have at least a rough estimate if one of the certificates has been revoked), the problem arises that there is no clean way of making tomcat reload the CRL if the old one expires. So in order to fix this problem a new patch for tcnative was created.
More information about the issues and the patch can be found in : code.uoa.gr link.

The important issue about this patch to me, is that the patch was created without having a test system and debugging was done by code inspection. The test system, and the debugging process where needed afterwards when another issue come up that had to do with the OCSP patch integration to tomcat. ( double apr_poll_destroy()). I was happy since it has been a while since I was able to develop anything without the use of a debugger, and the usual write-compile-debug procedure!

Selective port forwarding

September 18, 2012

A short post to document the solution that was used in a somehow reoccurring situation.
A colleague had a machine in the internal network that he wanted to provide access to someone outside our network. Lets assume that the IP of the internal machine is xxx.xxx.xxx.xxx and the external IP of the other person is yyy.yyy.yyy.yyy.
The solution was to use his machine as a gateway and with port forwarding. The interesting part is what happens if we want to forward a port that a service already listens to. It his case the solution is easily done using iptables, using the following script:

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -j DNAT -p tcp -s yyy.yyy.yyy.yyy --dport pp --to-destination xxx.xxx.xxx.xxx:pp
iptables -t nat -A POSTROUTING -p tcp -s xxx.xxx.xxx.xxx -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -d xxx.xxx.xxx.xxx -j MASQUERADE

In case the default policy for PREROUTING is DROP another rule is needed:

iptables -t nat -A PREROUTING -p tcp --dport pp -j ACCEPT

This way the machine with IP yyy.yyy.yyy.yyy can access the service in the internal machine, whereas the all the other machines will just use the service that runs in the local machine.

I can think a number of usages of this case. It can be done in order to provide a small authentication daemon on that same port, that when someone authenticates he can be added to the port forward chain, or a small service that bans IPs that try to connect to this service if they are not explicitly permitted

Μετά τις φετεινές διακοπές μερικά tips από την εμπειρία μου στην Ζάκυνθο, χωρίς κάποια συγκεκριμένη σειρά:

  • Η θάλασσα και εδώ πέρα απίστευτη. Καθαρά νερά. Δεν ήταν Αλόννησος, αλλά απίστευτη θάλασσα.
  • Οι παραλίες είναι άριστες. Αν κάποιος αγαπάει την άμμο, τότε είναι στο μέρος με την καλύτερη άμμο. Κάτι ξέρουνε οι caretta – caretta.
  • Νότιο ανατολικό κομμάτι τα νερά είναι ρηχά και μετά το μεσημέρι ζεστα. Όταν λέμε ζεστά εννοούμε πραγματικά ζεστά, νομίζεις πως άναψες θερμοσίφωνα. Αυτά σε μικρό βάθος, διότι σε μεγαλύτερο, τα νερά είναι κρύα!!! (βλ. καταδύσεις)
  • Το δυτικό κομμάτι (και βόρειο) το σκηνικό αλλάζει και μοιάζει περισσότερο με τα υπόλοιπα Ιόνια νησιά (πολυ βαθιά και αρκετά πιο κρύα νερά).
  • Επειδή υπάρχει θαλασσιο πάρκο, αν δεν πάτε στις κλασσικές αμμουδιές (Banana beach, Γέρακας, κτλ κτλ) υπάρχει πολύ ζωή κάτω να δείτε. Άρα μάσκα, αναπνευστήρα, βατραχοπέδιλα και ακόμη καλύτερα καταδύσεις!! Αν πάτε για καταδύσεις προτιμάμε το diver’s paradise διότι ο Φάνης εκτός από πολύ έμπειρος είναι και μεγάλη μορφή! Να θυμάστε τα νερά σε βάθος είναι ΚΡΥΑ και το κρύο έρχεται απότομα.
  • Best νοτια παραλία ο Γέρακας. Πάμε από πρωί να προλάβουμε ξαπλώστρα διότι θέλει σκιά. Προσοχή στα αυγά από τις χελώνες.
  • Το ναυάγιο και τις σπηλιές πάμε να τις δούμε, αλλά ρωτάμε πρώτα για τον καιρό, και αν μας κατεβάζουνε για μπάνιο, διότι όταν έχει καιρό πολύ πάνε το δείχνουνε και μετά λέμε οκ και τώρα φεύγουμε. ΔΕΝ λέει. Αν είστε προς βόρεια, και δεν σας πειράζει η οδήγηση τότε καλύτερα καραβάκι από Αγ. Νικόλαο
  • Λαγανά, Καλαμάκι, Τσιλιβή και Αργάσι δεν πατάμε. Είναι η απόδειξη του τι γίνεται όταν ο τουρισμός πάει στραβά. Εκτός αν η έννοια του μεθυσμένου τουρίστα με το να γίνονται διάφορα μας αρέσει ιδιαιτέρως. Γενικά όλο το νησί είναι too tourist και μερικές περιοχές ξεφεύγει πολύ.
  • Φαγητό όχι τίποτα ιδιαίτερο. Μα καλά ολόκληρο νησί μια ψαροταβέρνα λίγο πιο παραδοσιακή δύσκολο να βρεθεί?? Όλα είχανε γυρίσει σε ψητά, σουβλάκια, pizza, κτλ κτλ. Οι τιμές διάφορες.
  • Πιστωτική κάρτα δεν θα τη χρησιμοποιήσετε εύκολα. Σχεδόν όλοι θέλανε μόνο cash.
  • Όπως ενημερώνει το έτερον ήμισυ τα μαγαζάκια για ψώνια ήταν μούφα και πανάκριβα
  • Μπόχαλη να πάτε. Πολύ όμορφη θέα, αλλά οι τιμές στα εκεί καφέ λιγάκι φωτιά και η ποιότητα μέτρια
  • Κερί επίσης αξίζει. Στο φάρο να προλάβετε και ο ηλιοβασίλεμα .. και να δείτε και την τεράστια ελληνική σημαία στην ταβέρνα λίγο πιο κάτω.

Following this post what was left was my discomfort that cisco didn’t provide a way to log the commands send to the switch using radius accounting, but one had to use only tacacs+. As I have written there:

In the accounting section Cisco unfortunately (READ: WHY DEAR GOD, WHY??) doesn’t support sending each command a user types to RADIUS, but only for TACACS+, so the accounting part is at least handicapped.

So I was looking for a solution to the Internet. I didn’t find anything that could just fit it so I try to code my own version.
Read the rest of this entry »