La huelga general no es la solución

Mañana hay huelga general en España. Y yo no la voy a secundar. Y no será porque no piense que las cosas están rematadamente mal, que este Gobierno no ha hecho más que mentir, que estoy harto de Europa y de la Merkel, de la prima de riesgo y de la madre que los parió a todos.

Si no voy a secundar la huelga es porque pienso que hay otras formas de luchar más eficientes y más efectivas. Ocurre como con las medidas de la Merkel: ella tiene unas ideas, seguramente haya aproximaciones mejores para el problema de la crisis. No creo que (tratar de) paralizar un país sea la solución a nuestros problemas, sino más bien al contrario.

Si echamos la vista atrás, veremos que ninguna huelga general en los últimos 20 años ha solucionado absolutamente nada. Incluso las masivas manifestaciones contra la guerra de Iraq parecieron importarle muy poco a José María Aznar, presidente en aquél momento. ¿Por qué?

Bueno, yo tengo mi propia hipótesis sobre el tema, y es la siguiente: cuando se organiza una huelga para mejorar las condiciones salariales de los empleados de una empresa y se paraliza dicha empresa, el negocio corre el serio riesgo de ir a la quiebra si la situación no se soluciona. Dichas huelgas duran días, e incluso semanas, hasta que se llega a un acuerdo. Esas huelgas son efectivas, porque el presidente de turno de la compañía trata de llegar a un acuerdo para seguir generando riqueza.

Cuando se convoca una huelga general y se paraliza un país, únicamente nos podemos permitir hacerlo por un día, porque si no las consecuencias para el país serían muy graves. Con eso no se llega a nada. No se convence a nadie. No son patentes y visibles las consecuencias de dicha huelga. Por otro lado, en un país, al contrario que en una empresa, no hay jefes que revisen las cuentas y que se jueguen sus propias lentejas si no se soluciona la papeleta. Cuando hablamos de un país estamos hablando de jugarnos nuestro propio pellejo: nosotros somos nuestros propios jefes. En mi opinión, una huelga general es tirar piedras contra nuestro propio tejado.

Además, una huelga general es una demostración de fuerza de los sindicatos y del partido de la oposición. Una mera manipulación para que la gente haga algo porque ellos lo dicen. También del gobierno, manipulando las cifras de seguimiento de la huelga. Al final, todo se convierte en un juego divertido para pocos (ellos) y nada divertido para el resto. Y desde luego, me hace sonreír con ironía los que apoyan esta huelga y cuando gobernaba el PSOE miraban para otro lado: hipocresía, demagogia, manipulación. A mí no me la dais, muchachos.

En mi caso, trabajo en una empresa pequeña, con poco más de una decena de empleados. En el último año, hemos aumentado un 30% nuestra plantilla. Si acudo a la huelga, ¿qué flaco favor hago a una empresa que ha hecho un gran esfuerzo por paliar la crisis y contratar a más gente? ¿a quién pretendo hacer daño? ¿al Gobierno? ¡venga ya! El Gobierno va a pasar totalmente de esta huelga, ya lo dijo hace mucho tiempo Rajoy. Y no, amigos, yo voy a trabajar porque me da la gana, nadie me ha coartado para que no acuda a la huelga o me ha amenazado con despedirme si lo hago.

Una cosa quiero que quede clara con todo esto: no digo que no haya que luchar por unos principios, un bienestar social y unos derechos que ha costado muchos años y mucha sangre conseguir; eso bajo ningún concepto. Las mentes ignorantes son las que están adormiladas y adoctrinadas; las mentes rebeldes son las que cambian el mundo. No, lo único que digo es que esta no es la forma correcta. Deberíamos devanarnos los sesos para pensar en algo más inteligente para cambiar el país para mejor amonestando al mismo tiempo a nuestros políticos cuando no estamos de acuerdo con lo que están haciendo. Tan sólo digo eso.

Finalmente, cada uno es muy libre de acudir o no acudir a la huelga, y todo aquél que constriña dicho derecho, tanto por obligar a acudir como por obligar a trabajar, debería ser penado a no vivir en sociedad.

Personalmente pienso y espero que la huelga general de mañana sea un fracaso más, afortunadamente, y habrá gente que se dará cuenta de que tratar de paralizar un país es una locura que solamente puede hacernos daño a nosotros mismos.

Mi opinión es: manifiéstate, quéjate, sílbales, no les votes; pero vete a trabajar, cumple con tu obligación. Al menos si eres un patriota, si amas a tu país. Para mí un patriota no es un gilipollas besando una bandera, es una persona que lucha porque sus hijos, los de sus vecinos y los de sus enemigos crezcan libres. Buenas noches a todos, y buena suerte.

Anuncios

Katas in python (I)

Recently I found this interesting website about solving interesting programming quizzes. By the way, I’d like to congratulate the authors of the website for the idea and the result: a website pretty similar to StackOverFlow where you can post your solutions, vote for your favorites and so forth, but aimed to coders that want to improve or demonstrate their programming skills to the community.

My objective was to practice with python, as I’ve been learning this language for a few months and lately I stopped my training, as I moved on to other things (Android, mainly).

So, I’ll publish here the solutions to the problems that I’m solving, so that other people can check them, comment about it and probably suggest better approaches. I would really appreciate that. Thanks in advance!!

Kata I: Phonewords – from phone numbers to words

Modern phones have keyboards with letter-to-number assignments as per the ITU-T E.161 standard:

2 ABC
3 DEF
4 GHI
5 JKL
6 MNO
7 PQRS
8 TUV
9 WXYZ

Using that mapping, people can create phonewords, which are words used to remember part of a phone number.

Write a function that takes as input a number and a wordlist (e.g: an array slurped from /usr/share/dict/words) and returns a list of candidate phonewords for that number. For example, the number 43556 may yield the list/array (Gekko, hello), and 2663742 may yield (amnesia, amnesic, anoesia).

The solution

from sys import argv

def translator(figure):
    if figure == "2":
    return "ABC"
    if figure == "3":
        return "DEF"
    if figure == "4":
        return "GHI"
    if figure == "5":
        return "JKL"
    if figure == "6":
        return  "MNO"
    if figure == "7":
        return "PQRS"
    if figure == "8":
        return "TUV"
    if figure == "9":
        return "WXYZ"
    return ""

def get_words():
    dictionary = open("/usr/share/dict/words")

    words = []
    for line in dictionary:
        words.append(line)

    dictionary.close()
    return words

script, number = argv

words = get_words()

pos = 0
for figure in number:
    aux = []
    for word in words:
    pattern = translator(figure)

    if pattern == "":
            print "Cannot find a match"
            exit(1)

    for letter in pattern:
            if word[pos] == letter:
                aux.append(word)
    words = aux
    pos = pos + 1

print "The matches found are: %r" % words

This reads the dictionary placed in /usr/share/dict/words and puts it in a list. Then iterates over the figures that compose the number and translates to every possibility of the dictionary, saving the matches for the next iteration over the next figure.

That’s not a bad solution (well, I definitely hate the translator function), IMHO, but this one is much better and shorter, and it’s not mine ;):

import re

def numbertoreg(num):
    letras="[a,b,c]","[d,e,f]","[g,h,i]","[j,k,l]","[m,n,o]","[p,q,r,s]","[t,u,v]","[w,x,y,z]"
    regexp = "\\b(" #only completed words is best
    for n in num:
        regexp=regexp + letras[int(n)-2]
    return regexp   + ")\\b" #word boundaries

def phonewords(phone):
    regexp = numbertoreg(phone)
    f = open("/usr/share/dict/words","r")
    r = re.compile(str(regexp))
    print r.findall(f.read())
    f.close
    return

phonewords("2663742")

Owner: arraclan

This uses spreadly regular expressions (which I neither know how to use them in Python, nor came to my mind the idea of using regular expressions :() to map the numbers to its corresponding letters. Then build the regular expression resulting of the number given and search for matches in the /usr/share/dict/words dictionary. Basically, it delegates the hard work to the library 🙂

I hope you’ll find this interesting, at least I hope you’ve learnt how to use regular expressions in Python, as I did. See you soon.