VMWare Fusion and Ubuntu

Ever since I got a Mac, I bought VMWare’s Fusion in order to be able to work with software that exists only in the Windows world. The really nice thing that good friend Moses pointed out yesterday, is that Fusion now supports easy installs for Ubuntu too! I had never took notice of that, since I run most of my VMs on VirtualBox.

I am an LXDE fan, so I first tried a Lubuntu install. It went fine, but it was not an Easy Install (in Fusion’s terminology). Then I went ahead and installed normal Ubuntu and afterwards (since I cannot do any real work with Unity) installed LXDE. The Easy Install went smooth and I did not need even need to consider keyboard configurations (something I had to do with Debian-LXDE and VirtualBox). I also changed the available RAM for the VM and now I have a machine that just works.

Oh the fun of using closed software in order to work easier with open source.

Στα τρία κορνερ πέναλτι

Τελικά μικροί ήμασταν πολύ άπλες. Ενώ η πιθανότητα να μπει γκολ από ένα πέναλτι είναι περίπου 75%, η πιθανότητα να μπει από κόρνερ κυμαίνεται από 1% – 6%.

Έγραψα και αμέσως μετά σκόραρε η Γερμανία από κόρνερ το πρώτο. Δεν έχω πατήσει submit και γράφει ήδη τρία τέσσερα…

Damn!

lxterminal settings on Debian LXDE

For sometime now, my main desktop has been Debian LXDE virtual machine. There is a problem with lxterminal though. Whenever I changed its settings they were not saved. It turns that this is a permission problem. You have to make sure of two things:

  • Directory ~/.config/lxterminal exists and is owned by you. You may find it owned by root. chown this.
  • File ~/.config/lxterminal/lxterminal.conf exists and it is owned by you. You may find that it does not exist. Create it using touch.

Ποιος την έχει πιο μεγάλη;

Μην απορείτε με τον τσακωμό του Μανιάτη με τον Τζαβέλλα κι ας είναι ο ένας αρχηγός του Πρωταθλητή κι ας έχει περάσει και ο άλλος από δύο σοβαρές Λίγκες. Αδικαιολόγητοι και οι δύο. Έχουν τις παραστάσεις και την εμπειρία να διαχειριστούν καλύτερα τις καταστάσεις. Τα ανήλικα στο Δημοτικό τα βρίσκουν πιο εύκολα. Όμως:

Αντιπροσωπευτικό συγκρότημα λέμε την Εθνική Ομάδα. Αντιπροσωπευτικό Ελληναρισμό δείξανε και τα παλληκάρια. Βάλανε το κοντόφθαλμο (short term) οπαδικό κέρδος τους πάνω από την συμμετοχή τους στην κορυφαία διοργάνωση του επαγγελματός τους. Φαντάζομαι το έχουν σιγουράκι πως μπορούν να πάνε και στο επόμενο. Μπορούν να κοιτάξουν κατά Ζλάνταν μεριά για να δουν πόσο σίγουρο είναι αυτό για ογκόλιθους του αθλήματος, πόσο μάλλον για πετρούλες.

Ξεφτίλες.

WorldCup 2014

Αυτό είναι το τρίτο Παγκόσμιο Κύπελλο που βλέπει αυτό το blog (μια και ξεκίνησε κάπου στο 2006). Το 2006 είχα γράψει κάτι λίγα (βοήθησε και ο Ζιντάν). Το 2010 δεν θυμάμαι (και βαριέμαι να ψάξω) εάν έγραψα κάτι (κάτι έγραψα). Τώρα πάλι δεν ξέρω.

Θα ήθελα να δω τελικό Βραζιλία – Ουρουγουάη, αλλά νομίζω δεν βγαίνουν οι διασταυρώσεις για κάτι τέτοιο.

We’ve come a long way dear blog and we’ve changed.

fork()

“When you come to a fork in the road, take it.”Yogi Berra

Once during a cataclysmic flood there was this priest that the rescue teams tried to save. “Children he said, go on and save other people in need. I am at the hands of God. God will save me.”. This happened between the priest and the rescue teams a number of times, until eventually the priest got drowned. When before the Maker he asked “How is it possible that you left me to drown, me who I lead such a devoted life?” and the Maker replied “And who do you think sent all those rescue teams towards you?”.

One of the hardest lessons to learn in your career is to let it go. But the hardest, especially if you think high of organisational loyalty is to let yourself go.

So I am taking my sense of duty and taking the fork.

– Are you not afraid? Of course I am.

Martijn on Dual_EC_DRBG

Good friend Martijn Grooten (twitter, blog) and chief editor at the Virus Bulletin was at Athens for a day or so yesterday and was kind enough to make a presentation about Dual EC DRBG and the possible involvement of the NSA on it. The event was hosted at the Hackerspace. It was a scientifically balanced presentation with a cool explanation of how elliptic curves are used in such cases and what kind of risks this entails.

Pizzas after the presentation were curtesy of the Greek OWASP Chapter.

Polling an exit

– Έχουμε σκεφτεί και νέους τρόπους ελέγχου, είπε ο Η. Νικολακόπουλος πριν λίγο.

Άκου να δεις όμως τι συμβαίνει μάστορα: Όταν η πλειονότητα όσων ρωτάς δεν πιστεύει στην αξία των exit polls και αντίθετα θέλει πάρα πολύ να αποτύχουν, όσους ελέγχους και να βάλεις, έξω θα πέσεις. Κοντά θα πέσεις από σύμπτωση.

Και ξέρεις γιατί συμβαίνει αυτό μάστορα; Γιατί ποτέ δεν εξήγησες σε αυτόν που ρωτάς ποια αξία έχει για αυτόν το να σου απαντήσει ειλικρινά. Την αξία που έχει για εσένα (“Εδώ το μάθατε πρώτοι”) την ξέρουμε όλοι. Αλλά επειδή το exit poll δεν γίνεται για την επιστήμη αλλά για να μπορέσεις να οργανώσεις τις επόμενες τηλεοπτικές σου ώρες, θα έχεις garbage in, garbage out. Γιατί έτσι βγαίνει και ένα τηλεοπτικό προϊόν με ανατροπές στους πανηγυρισμούς στο οποίο αρέσκεται το φιλοθεάμον κοινό.

On ansible and the script module

Ansible offers the convenience of running scripts on remote servers. But as the documentation notes:

It is usually preferable to write Ansible modules than pushing scripts. Convert your script to an Ansible module for bonus points!

There is a reason for this. Usually you have ansible run a script on your behalf when what you want to do is not achievable via a module or some combination of modules in a playbook. In extreme circumstances you will need to run a script via ansible when the receiving computer has no Python installed.

But there is a problem with running scripts this way: They are opaque.

A playbook that is applied to your machines is actually a model of that part of the machines that you want to manage. And ansible is your sensor that deals with the situation when things go sour.

It is very easy to write a script that does one thing well to one machine and does not check for failure. Now apply this to 100 or 500 machines that are similar, yet have some subtle differences between them. Can you imagine what a rewrite your script needs in order to account for all corner cases? And if you make it bullet-proof, congratulations! You’re half-way through to making your own incompatible version of ansible.

Having said that, I am guilty of running scripts instead of describing work to be done in a playbook. This mostly involves stuff that needs to be executed from a login shell (hello rvm!) which means the script begins with #!/bin/bash. However, in order to exercise better control in such situations I am not running more than one command plus checks for return codes in every script. This breaks the script down in many smaller ones, but allows me a better view when something goes wrong. Because my playbooks instead of having one script directive, they have 5 or six in a row.

You may have not described an accurate model of what you want to do using a playbook’s markup, but at least the name: directive for every single task is accurate enough to let you know what is executing, rather than having it issue a larger script where you wait whether it succeeded or not, and if not try to find out from which point exactly to roll back (if rolling back is possible).

So the new rule is:

When pushing a script through ansible, it should execute one command only plus any checks needed for return status.

The Last Sysadmin

Nothing coherent today, just three excerpts from an article, an interview and a book that are separated years apart, yet I find them somehow connected in my mind. From “Electrical Engineering — A Diminishing Role?“:

“Projecting the current trends, future computers will consist of a single chip. No one will have the foggiest idea what is on that chip. Somewhere in the basement of Intel or its successor will be a huge computer file with the listing of that chip. The last electrical engineer will sit beside the file, handcuffed to the disk drive like a scene out of “Ben Hur.” That engineer will be extremely well paid, and his or her every demand will be immediately satisfied. That engineer will be the last keeper of the secret of the universe: E = IR.”

Ever since I first read it, I always thought it was talking about The Last System Administrator.

The next piece comes from an interview that Raspberry Pi creator, Eben Upton gave to the IEEE Techwise Conversations podcast:

“I think we’ve had a reduction from, say, if you think about 1995, which was when I went to college, you could typically rely on an undergraduate having done a substantial amount of real programming, often quite a deep level of technical work on one or more platforms. Many of us could program in one or more assembly languages. And yeah, within 10 years of that point, we were getting to a point where your average applicant was maybe somebody who’d done, as you say, a little bit of Web design, maybe a little bit of Web programming—you know, we saw quite a bit of people who‘d maybe done some PHP but not that kind of deep technical understanding of how machines work.”

And the last piece comes from the “Flash Boys“:

“Russians had a reputation for being the best programmers on Wall Street [… because in Russia … ] they had been forced to learn to program computers without the luxury of endless computer time.”

Stuff to think about now that your data center has been reduced to a tab in your browser.