25
Feb 14

Guía del sistema electoral para abstencionistas.

urna
Desde el comienzo de la crisis se ha descubierto un pastel que todos conocíamos pero que es de esas cosas que duele confirmar: Nuestra clase política es corrupta hasta la médula.

La constatación de esta realidad por parte de la sociedad la ha arrastrado a la desidia más absoluta. Esta se traduce a la hora de votar en la abstención. La abstención perjudica a todos, porque dan mayor poder con su pasividad a los partidos mayoritarios, esos que tienen el país podrido hasta las raíces.

Si te encuentras con un abstencionista este te dirá que no vota porque no se siente representado por este sistema y no quiere legitimarlo con su voto, o que esa es su forma de demostrar su disconformidad. Hay algunos (los más convencidos) que hasta animan a otros a que no voten para que haya una participación ínfima y así se inicie un proceso constituyente. Y los que son la mayoría según mi experiencia personal, los que simplemente dicen que votar no sirve de nada

Los del primer grupo, los convencidos en mayor o menor grado, son dificilmente "salvables" con lo que contaré en este post. Tienen un ideario, que es más de lo que tiene la mayoría de la gente, y eso en este país suele significar morir defendiendo esos principios. Eso sí, dejaré aquí un dato para ese grupo que espero que les haga reflexionar:

En las elecciones de 2004 de Eslovaquia, hubo una abstención del 85% y ¿sabéis que pasó? NADA. Ni disimisión en bloque de los políticos, ni proyecto reconstituyente, ni toma de la bastilla. Ellos solos se legitiman, les basta con que voten sus afiliados. Europa por su parte mientras pagues y seas dócil lo mismo le da.

Al otro grupo, el que no es abstencionista por idearios sino por simple desidia, es al que va fundamentalmente este post (aunque eso no significa que siendo abstencionista convencido no sigas leyendo :P). Confío en que la explicación sobre la Ley Electoral con datos y matemáticas, pueda convencer a algunos de que hay posibilidades de destronar a los mismos de siempre.

Cómo funciona nuestro sistema electoral

HondtEl sistema electoral español se basa en la Ley d’Hondt, que es una fórmula electoral creada por el belga Victor d’Hondt, y que permite obtener el número de cargos electos asignados a las candidaturas en unas elecciones. Curiosamente lo que intentaba este señor era dar mayor representatividad a las minorías. Eso se cumpliría en un mundo idílico donde todos votáramos y la circunscripción fuera única, pero ya se han encargado los estamentos de poder de manipular el sistema para sus propios intereses.

A parte de utilizarse la ley d’Hondt, para las elecciones generales no hay una circunscripción única, sino a nivel de Provincia. Esto tiene como objetivo, en un principio, dar representatividad a todas las regiones, pero no es más que el primer escoyo para tener un sistema electoral verdaderamente representativo.

Como mínimo debe haber dos diputados por provincia, menos en Ceuta y Melilla, que les corresponde un diputado a cada uno. A partir de ahí se reparten los restantes 248 escaños restantes (son 350 escaños en total) en proporcionalidad con la población de cada provincia. Esto al final se traduce en que hay muchas regiones que tienen un poder completamente desproporcionado del que deberían, ya que con toda su población ni siquiera llegarían a sumar esos 2 escaños gratuitos.

Por ejemplo, en Madrid, a la que le correspondían 34 escaños en 2008, para conseguir un sillón en el congreso hacía falta que te votaran 187.850 personas, mientras que en Soria, a la que le corresponden 4 (tened en cuenta que 2 vienen “gratis”), con 47.550 votos ya tenías tu puesto fresco. Esto se traduce en que el voto de un soriano vale 5 veces más que el de un madrileño. Al final las zonas más rurales, despobladas y envejecidas, donde las visiones conservadoras ganan y el caciquismo está a la orden del día, tienen mayor poder que cualquier población urbana, como Madrid o Catalunya. Primera traba al reparto justo.

Entraría más en ver estimaciones con diferentes circunscripciones, pero esto se nos escapa un poco del objetivo de este post, que es ver que ocurriría si los abstencionistas participaran en el sistema electoral actual. Si queréis, puedo hacer un post futuro sobre el tema e incluso de como habrían sido los resultados con otros sistemas de reparto de escaños. A groso modo, y por no extenderme mucho, solamente destacaré que esta problemática se podría arreglar tan sólo con poner una circunscripción única o a nivel autonómico.

Pese al problema de las circunscripciones provinciales, se puede conseguir cambiar las tornas si hay un conocimiento claro del reparto de escaños y una movilización amplia del electorado.

Veamos pues, con varios ejemplos, como funciona el sistema electoral y que pasaría si los abstencionistas fueran a votar.

Como se reparten los escaños

Para ver como se calculan los escaños aplicando la Ley d'Hondt utilizaré un ejemplo pequeño para que este post no parezca sacado de Jot Down. En concreto he utilizado los datos electorales de las Elecciones Generales de 2011 de Santa Cruz de Tenerife, provincia a la que le correspondían 7 escaños.

Veamos los votos de mis paisanos:

 

Votos contabilizados: 464580 64.9 %
Abstenciones: 251234 35.1 %
Votos nulos: 7580 1.63 %
Votos en blanco: 5051 1.11 %

 

Ahora veamos cómo se repartieron entre los partidos los votos contabilizados:

 

Partido Escaños Votos Porcentaje
PP 4 204977 44.85 %
PSOE 2 107317 23.48 %
CC-NC-PNC 1 90358 19.77 %
IUC-IpH-LV 0 20105 4.39 %
UPyD 0 11293 2.47 %
SSP-SxTF-EQUO 0 10153 2.22 %
PACMA 0 2885 0.63 %
ANC 0 2188 0.47 %
PUM+J 0 1364 0.29 %
P.C.P.E. 0 841 0.18 %
U.C.E. 0 468 0.1 %

 

Como veis el nivel de abstencionismo fue enorme, con un 35.1%. Para que os hagáis una idea, el partido que más votos recibió fue el PP, con un 44.85% de los votos reales. Pero si comparamos con el cómputo global de electores, el resultado sería más exiguo, un 29% de la población. Es decir, el PP sacó mayoría siendo votado por poco más de un cuarto de la población. Se quedaron practicamente las mismas personas en casa que votantes pusieron en su sobre la gaviota libertaria del PP.

Los partidos con menos de un 3% de los votos totales en su circunscripción ni siquiera entran en el recuento de votos. Como veis, aquí tenemos otra trampa más para evitar la correcta distribución de escaños. Al quitar partidos se reduce el número de grupos que entran en juego en el reparto de escaños, y además los partidos que quedan necesitarán menos votos para adquirir un sillón en el congreso. Por tanto, el sistema de un plumazo se hace muy desproporcionado gracias al absentismo. En Canarias, partidos como IU o EQUO se quedaron fuera del reparto, por poner un ejemplo:
 

Partido Votos
PP 204977
PSOE 107317
CC-NC-PNC 90358
IUC-IpH-LV 20105

 
Ahora se dividirán los votos de cada partido por 2,3,4... hasta llegar a 7, el número total de escaños.
 

Partido Votos/1 Votos/2 Votos/3 Votos/4 Votos/5 Votos/6 Votos/7
PP 204977 102488 68326 51244 40995 34163 29282
PSOE 107317 53659 35772 26829 21463 17886 15331
CC-NC-PNC 90358 45179 30119 22590 18072 15060 12908
IUC-IpH-LV 20105 10053 3351 838 168 28 3

 
Lo siguiente que se hace es coger de todos los coeficientes los 7 mayores.
 

Partido Votos/1 Votos/2 Votos/3 Votos/4 Votos/5 Votos/6 Votos/7
PP 204977 102489 68326 51244 40995 34163 29282
PSOE 107317 53659 35772 26829 21463 17886 15331
CC-NC-PNC 90358 45179 30119 22590 18072 15060 12908
IUC-IpH-LV 20105 10053 3351 838 168 28 3

 
Por tanto, los resultados quedarían tal que:
 

PP 4 escaños
PSOE 2 escaños
CC-NC-PNC 1 escaño

¿Cuál ha sido el coste de votos por escaño para cada partido?

Pues dividamos votos totales por número de escaños:
 

PP 204977 / 4 = 51244 por escaño
PSOE 107317 / 2 = 53659
CC-NC-PNC 90358 / 1 = 90358

¿Es o no es obvio que aquí sólo se benefician los dos mayoritarios?

Ahora que por fin ya sabemos todos cómo funciona la dichosa ley electoral, empecemos a responder las típicas frases de los abstencionistas con la obviedad de las matemáticas.

¿La abstención sirve de algo?

Obviamente NO. El número total de escaños se calcula a partir del censo, pero a la hora de repartirlos sólo se tienen en cuenta los votos emitidos, ergo, tu abstención no sirve de nada.

Es que votar a un minoritario no vale de nada.

Si no va a conseguir un mínimo del 3% de los votos efectivamente no vale de nada, pero en el momento que se sube esa barrera y el partido consigue al menos un escaño, tu voto sí que es útil.

Veamos qué hubiera pasado si la mitad de esos 251.234 abstencionistas hubieran votado a IU y a UPyD a partes iguales.
 

Votos totales: 715814

 

Partido Votos Porcentaje
PP 204977 29%
PSOE 107317 15%
IU 145722 20%
UPyD 136910 19%
CC-NC-PNC 90358 13%

 
Como se puede observar la cosa cambia bastante. Estos dos partidos no sólo han conseguido entrar en el voto de escaños (sistema más distributivo), sino que como se puede ver el PSOE pasa a ser la segunda fuerza menos votada y CC desciende al último puesto, partido muy votado en Canarias, aunque afectado en las últimas elecciones por la ola del “cambio” (al pasado) del PP y los casos de corrupción del propio partido.

Veamos ahora como quedarían los coeficientes en esta ocasión:
 

Partido Votos/1 Votos/2 Votos/3 Votos/4 Votos/5 Votos/6 Votos/7
PP 204977 102489 68326 51244 40995 34163 29282
PSOE 107317 53659 35772 26829 21463 17886 15331
IU 145722 72861 48574 36431 29144 24287 20817
UPyD 136910 68455 45637 34228 27382 22818 19559
CC-NC-PNC 90358 45179 15060 3765 753 125 18

 

Partido Escaños
PP 2 escaños
PSOE 1 escaño
IU 2 escaños
UPyD 1 escaño
CC-NC-PNC 1 escaño

 
Como se puede ver la cosa cambia bastante. El PP empataría a escaños con IU, por lo que me quitaríamos de la ecuación al otro partido mayoritario, el PSOE. Por otra parte habría un triple empate entre PSOE, UPyD y CC. Tendría que darse un gobierno de coalición lo cual es bastante mejor que la abrumadora mayoría que sacó el PP con los resultados reales.

Obviamente con esto seguiría siendo difícil que un partido minoritario pudiera gobernar cómodamente y muy probablemente los 3 partidos mayoritarios (y podridamente corruptos) de Canarias - CC, PP y PSOE - se unirían para gobernar. No obstante hay que tener en cuenta que he cogido un ejemplo con pocos escaños como Canarias, lo que hace que la proporcionalidad sea mucho menor. Si hiciéramos los cálculos con, por ejemplo, Madrid, veríamos que las cosas variarían muchísimo más, y se podría dar perfectamente un resultado mucho más esperanzador.

Lo pongo en modo resumen para que veáis la diferencia.
 

Escaños totales: 36

 

Votos contabilizados: 3396471 76.01 %
Abstenciones: 1072228 23.99 %
Votos nulos: 36047 1.06 %
Votos en blanco: 35090 1.04 %

 

Partidos Escaños Votos Porcentaje
PP 19 1.708.572 50,84%
PSOE 10 875.044 26,03%
UPyD 4 346.122 10,29%
IU-LV 3 270.223 8,04%
EQUO 0 64.828 1,92%
PACMA 0 13.064 0,38%
EB 0 12.836 0,38%
FAC 0 6.624 0,19%
ANTICAPITALISTAS 0 6.508 0,19%
PUM+J 0 5.265 0,15%
PCPE 0 4.076 0,12%
RPS 0 4.038 0,12%
PH 0 2.695 0,08%
POSI 0 1.710 0,05%
P-LIB 0 1.666 0,04%
SAIN 0 1.183 0,03%
UCE 0 880 0,02%

 
Hay que destacar que los resultados de Madrid en las últimas elecciones dieron la mitad de los votos al PP y que las cosas no pintan igual que en la actualidad. Seguramente la abstención suba muchos más, el PP pierda una gran cantidad de votos, y muchos desencantados voten a partidos minoritarios. Pero no nos dispersemos, vayamos a los datos.

Para empezar, vemos como se desperdician 125.373 votos, casi un 4% de los electores.

Si hacemos lo mismo que en Canarias, es decir, sumar los abstencionistas al 50% entre IU y UPyD las cosas habrían quedado de la siguiente forma:

Partidos Votos Porcentaje
PP 1708572 50,30%
PSOE 875044 25,76%
UPyD 882236 25,98%
IU-LV 806337 23,74%

 
El reparto final de escaños quedaría de la siguiente forma:
 

Partido Escaños
PP 15
PSOE 7
UPyD 7
IU-LV 7

 
Como véis, el PP, que sacó una brutal mayoría en Madrid (recibió la mitad de votos) ahora ni siquiera podría gobernar, a no ser que se aliara con otro partido, como UPyD o PSOE.

De todas formas este ejemplo ya se que es irreal, está claro que no se votarían sólo a 2 partidos, sino que habría un voto mucho más dispersado. De todas formas, para ver una aproximación con más partidos, metamos en el reparto igualitario a EQUO y PACMA, a ver que ocurre.
 

Partido Votos Porcentaje
PP 1708572 50,30%
PSOE 875044 25,76%
UPyD 614179 18,08%
IU-LV 538280 15,85%
EQUO 332885 9,80%
PACMA 281121 8,28%

 
Y como quedarían los escaños:
 

Partido Escaños
PP 15
PSOE 8
UPyD 5
IU-LV 4
EQUO 2
PACMA 2

 
Veamos ya para terminar, una estimación un poco libre. Utilizaré los datos de Metroscopia de intención de voto con los datos censales de Madrid. A ver que pasa:
 

Mepostroscopia-enero

Participacion 71,7%
Total censo 4539836
Total votos 3255062

 

Partido Porcentaje Votos
PP 30,8% 1398270
PSOE 32% 1439128
IU-LV 14% 612878
UPyD 9% 385886

¿Cómo quedarían los escaños?

Partido Escaños
PP 13
PSOE 14
IU-LV 6
UPyD 3

 

Partido Escaños
PP 13
PSOE 14
IU-LV 6
UPyD 3

¿Qué pasaría si ese 28,3% de abstencionistas votara a IU y UPyD?

Partido Escaños
PP 7
PSOE 7
IU-LV 12
UPyD 10

 
Como veis, aquí podría surgir una coalición de dos minoritarios con mayoría.

Por desgracia en este país aún hay mucha gente que sigue votando a los ladrones de la casta. Ya sea por ese fanatismo tan español que se toma las ideologías políticas como si de equipos de fútbol se trataran, o la creencia dogmática de ese mensaje que tanto caló sobre el voto útil, aún tenemos un 62,5% de electores que votarían al PPSOE.

En la mayoría de ejemplos menciono a IU y UPyD porque ambos llevan en su programa una reforma de la ley electoral, lo cual entiendo que para los abstencionistas es la gran meta a seguir, que el sistema electoral represente sus ideas de una manera más fiel.

¿Y el voto nulo o blanco?

El voto blanco es peor si cabe que el abstencionismo, ya que entra en los cómputos de votos totales, lo que disminuye la proporcionalidad y aúpa más a los mayoritarios. Los minoritarios necesitarán más votos para alcanzar el escaño.

El voto nulo en cambio, no entra en el recuento de votos, por lo que es lo mismo que no ir a votar. Es como abstenerse pero al menos puedes quedarte agusto metiendo una loncha de chorizo en el sobre, o poniéndolos a parir en la papeleta.

 
En conclusión, la abstención no sólo no sirve de nada, sino que encima beneficia a la casta del PPSOE.

Está claro que es una tarea titánica conseguir "hackear" el sistema electoral y que para muchos resulte más sencillo y rápido ir por las bravas, es decir, tomando las armas. No obstante, no se pierde nada por intentarlo antes por la vía pacífica cambiando las tornas en las urnas, y dándole el poder a algún partido que incluya en su programa cambios en el sistema que permitan tener una democracia directa y participativa.

Si he conseguido convencerte de ir a las próximas elecciones a votar, te animo que hagas llegar a tus familiares, amigos y demás allegados, este mensaje. A lo mejor dentro de 2 años conseguimos echar del poder a los perritos falderos de los poderes financieros. Por probar, no se pierde nada.

EDIT:

El Boletín ha publicado este artículo. No os podéis hacer una idea de la ilusión que me hace que un periódico considere que este artículo es suficientemente digno para ser publicado. ¡Muchísimas gracias!

Guía del sistema electoral para abstencionistas (El Boletín)

Share
24
Feb 14

Pildoritas de POO y Java: Conceptos básicos de programación. Datos

pildoras poo java

Antes de adentrarnos a la Programación Orientada a Objetos tenemos que ver algunos conceptos básicos indispensables para poder entender cualquier programa. Para ello explicaremos mejor qué es un algoritmo y veremos que elementos contiene. Cada una de sus partes se dividirá en una Pildorita.

Por primera vez habrán algunos ejemplos en Java, pero serán muy básicos y completamente alejados de la POO. La idea de estas tres pildoritas será aprender la sintáxisis de Java más básica antes de adentrarnos en POO.

 

¿Qué es un algoritmo?

Un algoritmo es un conjunto de instrucciones o reglas ordenadas con principio y final, que describen como realizar un problema o actividad hasta llegar a su solución.

Las instrucciones pueden servir para almacenar información, realizar operaciones, o dirigir el orden de la ejecución de las sentencias del algoritmo.

La programación no es más que describir algoritmos comprensibles para un ordenador, por lo que los conceptos de la algorítmica son en sí mismos los de la programación.

 

Elementos de un algoritmo

Datos

Es la información con la cual trabaja el programa para resolver el problema. Los datos son fundamentalmente numéricos y caracteres, aunque hay otros tipos como los booleanos, que indican Verdadero o Falso, pero que pueden resumirse en 1 ó 0. También existen tipos más complejos utilizados para organizar los tipos simples, como Arrays, Listas, tablas hash, etc.

Variables

Son contenedores de datos, por lo que también son del tipo de dato que contienen. Este contenedor puede almacenar cualquier valor y que varíe según el tiempo de ejecución en el que se encuentre el programa.

En algunos lenguajes el tipo de las variables se decide en tiempo de ejecución, dependiendo del dato que contengan en ese momento, lo que se conoce como lenguajes poco tipados. Por el contrario, otros lenguajes, en cambio, si que necesitan que se indique el tipo de la variable. Este es el caso de Java, que es fuertemente tipado.

Para definir una variable en Java, bastaría con la siguiente sentencia:

int total;

También se puede declarar una variable y al mismo tiempo asignarle un valor.

int total = 5;

Constantes

Las constantes contienen también datos, pero el valor de este dato jamás cambiará. Un ejemplo de constante en java sería:

static final int PI = 3,1416;

Realmente la palabra reservada static no es necesaria, pero con ella indicamos que esa variable pertenece a la clase y es compartida por todas las instancias de la misma (quizás ahora os suene a chino pero en unas pildoritas entenderéis por qué lo pongo así :P)

Tipos de datos

Los datos pueden ser numéricos (de carácter matemático) o alfanuméricos (para representar caracteres), pero los lenguajes definen una serie de tipos dentro de estos dos grandes grupos. Por otra parte, los tipos pueden ser primitivos, es decir, que estén incrustados dentro del lenguaje y complejos, que son formas más sofisticadas de almacenar los datos.

 

Tipos primitivos

Numéricos

Enteros
Tipo Longitud Rango
byte Tamaño 8-bits {-128, 127}
short Tamaño 16-bits {-32768, 32767}
int Tamaño 32-bits {-2147483648, 2147483647}
long Tamaño 64-bits {-9223372036854775808, 9223372036854775807}

 

Ejemplos en Java:

byte b = 10;
short  s = 5;
int i = 127;
long l  = -2839403;

 

Decimales
Tipo Longitud Rango
float Tamaño 32-bits.
double Tamaño 64-bits

 

Ejemplos en Java:

float f = -23412.234f; 
double d = 12349.29857;

Pese a que Java es fuertemente tipado, permite poder sumar números de diferentes tipos. El intérprete convertirá (casting) el dato con un tipo menos preciso en el que más. El resultado, eso sí, se deberá almacenar en una variable del tipo más preciso.

Veamos un ejemplo:

d = d + i; //d valdrá 12476.29857

* Con la doble barra indicamos comentarios en Java.

 

Si intentáramos hacer la operación i = i + d; tendríamos un error, a no ser que forzáramos a Java por medio de un Casteo.

i = (int) (i + d) //En i se almacenaría el número 12603

Lógicos

Lógicos
Tipo Descripción
boolean Puede contener los valores true o false.

 

Ejemplo en Java:

boolean si = true;

 

Alfanuméricos

Caracteres
Tipo Longitud Rango
char Tamaño 16-bits Unicode. Desde 'u0000' a 'uffff'. {0, 65535}

 

Ejemplo en Java:

char letraA = 'A';
char letraM = \u004d; 
char letraZ = 90;

Tipos complejos

En Java los tipos complejos no son más que Clases. Aún no hemos ahondado en este concepto, pero basta decir que las clases son tipos que no van incrustados en el propio lenguaje. Hay multitud de estos tipos complejos, todos ellos encuadrados en la librería java.util. Ya veremos que son las librerías, pero por ahora basta decir que son definiciones de tipos almacenadas en ficheros externos.

String

Los String son conjuntos (arrays) de caracteres. Aunque los Arrays no se explican hasta el siguiente punto, tampoco se necesita saber por ahora que son, ya que para nosotros su funcionamiento es trasparente. Para crear un string sólo hay que entrecomillar varios caracteres.

String titulo = “Pildoritas de POO y Java”;

Array

Un array es un conjunto de datos del mismo tipo y ordenados. Para entender este concepto hay que pensar en “cajitas” consecutivas que contienen datos del tipo del array.

Lo mejor para entenderlo es verlo visualmente. Veamos un array de int:

0 1 2 3 4
1 3 -2 8 5

 

Para crear un array en Java lo haríamos de la siguiente forma:

int[] arrayEnteros = {5, 3, -2, 8, 5};

Los arrays en Java tienen una dimensión finita que se define a la hora de su creación. En nuestro ejemplo al inicializarlo con los valores anteriores, el intérprete ya sabe que el array es de longitud 5. No obstante, también pueden definirse sin dimensión:

int[5] arrayEnteros;

Además, el número de “cajita” de un array se enumera de 0 a N-1, siendo N el tamaño del array.

Para crear un “array” del cual desconocemos su número de elementos de antemano, utilizaremos la clase Vector, que además de añadir esta mejora, ofrece métodos de inserción o borrado entre dos elementos, etc.

Por ejemplo, si quisiéramos cambiar el valor del tercer elemento de -2 a 0, haríamos lo siguiente:

arrayEnteros[2] = 0;

Los arrays pueden ser de más de una dimensión, pero para eso es mejor usar otros tipos, como las matrices.

Matriz

La matriz no es más que un array de dos dimensiones. Es, en definitiva cuenta, una tabla. Veamos mejor con un ejemplo su estructura y funcionamiento en Java.

int [][] matriz = {{2,4,5,6},{8,10,12,14},{16,18,20, 22}};

Lista

Las Listas (ArrayList) son también arrays dinámicos, como en el caso de los vectores, pero hay una serie de diferencias que hacen que ambos tipos de colecciones convivan en armonía.

Los vectores tienen la característica thread-safety. No entraremos mucho en el tema, pero hay una disciplina de la programación, la programación concurrente, por la que varios procesos pueden ejecutar al mismo tiempo un mismo código. En ese caso se comparten variables, cuestión que crea muchos problemas de inconsistencia de datos, interbloqueos, etc. Los vectores controlan internamente que nunca dos procesos toquen al mismo tiempo un elemento de su colección de datos.

Esta característica tan deseable en concurrencia tiene una desventaja, y es que las variables de tipo vector son más pesadas y ocupan más memoria. Por tanto, si sabemos que el conjunto de elementos no se va a ver afectado por la concurrencia, la opción de la Lista es más deseable.
 
 
Y ya llegamos al final de esta primera Pildorita de conceptos básicos. En la próxima pildorita veremos los Operadores.

Índice de Pildoritas

Share
20
Feb 14

Correo de Pepephone a sus clientes después de la demanda a Vodafone

Hoy salía a la luz la noticia de que Pepehone demandaba a Vodafone por incumplir el acuerdo de suministro de 4G a sus lineas y que utilizarían las redes de Yoigo.

Soy cliente de Pepephone y me acaba de llegar ahora mismo este e-mail desde la compañía:

pepehone
Estimado cliente,

Es muy posible que recientemente hayas leído una noticia sobre nuestro desacuerdo con Vodafone -el operador a través del cuál te prestamos servicio hoy- y nuestra decisión de cambiar en unos meses su cobertura por la cobertura conjunta de Yoigo y Movistar. Si lo has leído, te lo aclaramos. Si no lo has leído, en este correo te informamos.

Nosotros tenemos claro nuestro orden de prioridades y nos debemos a nuestros clientes, es decir, a ti y al servicio que te prestamos. A nadie más. Y no porque nos queramos hacer los buenos. Simplemente porque vivimos de ello y no sólo en sentido económico, sino también emocional, ya que tenemos la suerte de poder hacer nuestro trabajo de forma ética y responsable (algo que se dice en sólo dos palabras, pero que se tarda en construir 6 años). Esto nos permite dormir cada noche tranquilos sabiendo que no tenemos alfombras donde esconder cosas que el cliente no ve, que siempre podremos explicar todo lo que hacemos (a veces acertado y a veces erróneo) y que un modelo ético en telecomunicaciones, no sólo funciona, sino que además es rentable.

Tener una lista de prioridades tan pequeña y sencilla nos ha convertido en un caso (no sabemos si extraño) de compañía en la que incluso los accionistas saben y respetan que jamás ejecutaremos ninguna decisión que no siga esta prioridad o que incumpla cualquiera de los principios de comportamiento que en 2008 publicamos en nuestra página web. Ellos comparten, igual que todos los que trabajamos en Pepephone, que cuando cuidas el trabajo y te preocupas por hacerlo bien, el beneficio (casi) siempre llega. Sin embargo, cuando te preocupas sólo por el beneficio o por mantener tu zona de confort, el trabajo se echa a perder y (salvo que seas una compañía gigante) también el beneficio se pierde. Y el confort.

En estos 6 años, siempre hemos tomado decisiones que entendemos que son coherentes con nuestra forma de ser, incluso en contra de nuestra propia empresa, pero nunca en contra de nuestro modelo de comportamiento. Siempre es la suma de muchas cosas lo que da un resultado y no la visión parcial del corto plazo. Esta vez, hemos tomado una decisión algo más difícil de tomar, pero igual de fácil de explicar. Para ello, nada más adecuado que la verdad, que no debe ser ni corta ni larga, sino completa:

- Nosotros tenemos un contrato con Vodafone que les obliga a ofrecernos el servicio 4G para nuestros clientes. El servicio 4G -4ª generación de móvil- es la evolución de la actual telefonía 3G y permite velocidades de navegación 10 veces más rápidas que la actual. Hoy te puede parecer sólo una ‘novedad’, pero es lo que va a cambiar todo.

- En junio de 2013, Vodafone lanzó el servicio 4G para sus clientes, pero no para los de Pepephone, con el perjuicio que eso supone para nosotros. En ese período también lo lanzaron los otros tres operadores con red propia que hay en España (Movistar, Orange y Yoigo).

- El servicio 4G es el futuro de la telefonía móvil y la apuesta estratégica de todos los operadores de España, como seguramente estarás viendo todos los días en los anuncios de la TV.

- 10 meses después de ese lanzamiento y, a pesar de nuestros múltiples requerimientos, Vodafone sigue sin darnos ni ofrecernos el servicio. Ni siquiera hemos conseguido una fecha concreta de disponibilidad o un coste aproximado. Lo que sí tenemos es un montón de “ya si eso, nos vemos”. El único hecho claro y demostrable es que si quieres 4G hoy y eres cliente de Pepephone basta con que pidas la portabilidad a Vodafone y lo tendrás en 24h. Esto no es casualidad.

- Curiosamente, ningún operador virtual de España tiene 4G en la actualidad, a pesar de haber 30 operadores como Pepephone esperándolo. A todos nos ocurre lo mismo que mencionamos en el punto anterior.

- Tras muchos meses, no hemos obtenido ni una respuesta concreta, ni sobre fecha de disponibilidad ni sobre precio, pero tenemos un montón de “ya si eso, nos vemos” impecablemente correctos.

Debido a lo anteriormente expuesto y en nuestro legítimo derecho de buscar una solución, hemos hablado con Yoigo, que es el operador de España que mayor cobertura 4G tiene (comparte su red con Movistar) y, en teoría, el único que no estaba obligado a prestarlo a otros operadores y nos ha entendido, así que hemos decidido cambiar a su red. Esto tiene implicaciones y costes graves para Pepephone, pero a ti no te afectarán en absoluto. Nosotros asumimos las consecuencias de tomar una decisión que creemos que es responsable y correcta. Deseamos competir libremente y que el día que te vayas de Pepephone a otro operador lo hagas porque él te ha ganado y no porque ha provocado que nosotros te perdamos.

Como este cambio te suscitará preguntas, aquí te respondemos a las que creemos que son más importantes.

¿En qué me afecta esto?

De momento en NADA. Hasta dentro de unos meses, nada cambiará. Esperamos poder empezar en junio, pero te lo confirmaremos.

¿Cambiará mi cobertura?

En unos meses, tras el cambio, dispondremos de la cobertura de red en España y en el extranjero de Yoigo+Movistar. Debería ser la mejor de España, pero es probable que para algunos mejore y para otros empeore, dependiendo del lugar.

¿Tengo que llamar o hacer algo?

Nada. Nosotros nos encargaremos de todo. Te avisaremos y haremos el cambio sin coste para ti y con las mínimas molestias posibles.

¿Cambiará algún servicio, habrá alguna limitación, condición, etc.?

Ninguna.

¿Bajaréis los precios?

Sí. Todo cambio tiene algo bueno y, en este caso, no sólo tendrás 2G+3G+4G, sino que mejoraremos tu producto y tu precio todo lo que podamos.

A mi el 4G no me interesa para nada. No tengo un smartphone de última generación.

También te bajaremos el precio.

Yo tengo también vuestro ADSL, ¿hay algún cambio?

No. Este cambio sólo afecta a la telefonía móvil. Has recibido este mensaje porque eres cliente de móvil.

¿Cambiará algo más?

Nada. Sólo lo que no ves. La red. El resto seguirá siendo Pepephone. En lo bueno y en lo malo.

Siempre hemos deseado aparecer lo mínimo en tu vida y que te olvides de que tienes un operador de telefonía móvil. Jamás te enviamos publicidad, ni te damos la paliza cuando decides irte, ni te llamamos para venderte cosas y ni siquiera te molestamos cuando un precio baja para los nuevos clientes. Te lo bajamos a ti primero y punto. El problema es que ahora sí te tendremos que contactar en unos meses para pedirte que te cambies con nosotros de nuevo, uno a uno, y enviarte una nueva tarjeta SIM. El caso es que te molestaremos. No deseábamos hacerlo, pero nos toca hacerlo.

Te informaremos puntualmente de todo.
Perdón.

Mail: pepephone@pepephone.com
Blog: http://blog.pepephone.com
Twitter: @Pepephone
Teléfono: 1212

Por mi parte tienen una cliente que les va a ser fiel de por vida (si siguen con esas políticas, claro)

Share
20
Feb 14

Facebook, WhatsApp y el poder de la información

Hoy la noticia del día ha sido la compra de WhatsApp por 16.000 millones de dólares por parte de Facebook.

Con este movimiento Facebook se hará con el dominio de la mensajería mundial. Hasta el momento lo intentó de mil maneras con su Messenger, que sólo ha tenido aceptación en EE.UU. pero con la compra de la compañía de mensajería la cosa cambia.

WhatsApp no sólo domina el mercado sino que ha sido el culpable de la muerte del SMS. Cuenta con 450 millones usuarios activos al mes de los cuales 320 lo son a diario.

La política de la aplicación supuestamente – según sus responsables – seguirá igual. Nada de anuncios, cuota mensual nominal, anonimato e independencia. Lo dudo.

whastsbook

A muchos les ha parecido que la cifra de compra es una auténtica locura, viendo la diferencia con otras compras como la de Skype por Microsoft (6.000 millones) o Youtube por Google (1.500 millones), pero la realidad es que esta cifra no es disparatada cuando tu negocio es el Big Data y la venta de la información de sus usuarios a otras compañías.

Todos se sorprenden además de que Facebook tenga tanta pasta como para pagar esa ingente cantidad de dinero por WhatsApp “¿Cómo es posible que una red social gane tanto dinero?” Pues porque la información es poder y es algo que se sabe desde hace mucho en este mundo. Zuckerberg nunca ha sido un tío original ni ha descubierto la rueda, pero ha sabido explotar la idea de otros en este aspecto mejor que nadie. Por otra parte, tampoco es un tío respetuoso con la ética y la moral. Si habéis visto la red social sabréis como la idea de Facebook surgió cuando un mezquino Zuckenberg ante tanto rechazo por parte de sus compañeras de universidad, decidió hacer una red social en Harvard donde puntuar a sus compañeras como si de carnaza se tratara.

Ya hemos visto la relación de amor incondicional entre Facebook y la NSA. En la red social hay información personal, laboral y de relaciones de amistad de millones de personas. Datos muy jugosos para cualquier organización que quiera controlarte, espiarte o simplemente acosarte con anuncios que no has pedido. Esa venta de datos a la NSA y otras compañías e instituciones que ni siquiera conocemos, es lo que hace a Facebook tan rica.

Ahora al comprar WhatsApp, Facebook tiene la mensajería móvil de la mayoría de población mundial, datos que además podrá cruzar con los que ya tiene de su red social. No os creáis que no se va a mercadear con esa información por mucho que digan, ya vimos en los papeles de Wikileaks que su mayor comprador es el servicio de inteligencia yankee.

Ahora muchos claman por la alternativa de Telegram, pero no olvidemos que Telegram es un servicio de mensajería perteneciente a VK, la mayor red social de Rusia, así que más de lo mismo, quitando el hecho de que en Rusia ni siquiera te tienes que cortar para mercadear con datos sensibles, ya que allí la Ley de Protección de Datos es poco más que una fantasía.

¿Qué ocurrirá por tanto con la mensajería mundial? Auguro que la mayoría de gente no cambiará de servicio, por mucho que la privacidad de sus datos esté en entredicho. La gente no suele ser consciente de lo que eso supone. Los que sí lo sean no les quedará más narices que tragar, porque es la única forma de poderse comunicar hoy en día con los demás.

Share
17
Feb 14

Pildoritas de POO y Java: Introducción

pildoras poo java

Comenzamos ya sí que sí, estas Pildoritas de POO y Java. Este primer post es puramente introductorio, pero no por ello menos importante.

Vamos a ver muy por encima qué es la programación, un poco de fundamentos de informática relacionados a la misma y el progreso histórico que ha sufrido esta rama hasta llegar a nuestros días. También veremos tres de los pilares fundamentales de la programación como son la Abstración, la Encapsulación y la Modularidad.

Como no me puedo extender demasiado (podría surgir otra serie de Pildoritas si lo hiciera xD), esta parte será muy resumida (aunque no os lo parecerá), así que recomiendo abrir los enlaces a la Wikipedia que hay en el post.

¿Qué es la programación?

Según la wikipedia es "el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales".

Quizás de primeras esta definición os suene a chino, así que mejor explicarlo un poco mejor.

Un poco de historia

Los ordenadores están compuestos de una CPU, de la Memoria y de los dispositivos de Entrada/Salida. Dentro de la CPU tenemos registros que almacenan estados pequeños, la ALU (Unidad Aritmético-Lógica), encargada de realizar operaciones aritméticas y lógicas, y la Unidad de Control, que coordina el flujo del procesador y comunica a través de los buses de datos la información entre sus diferentes componentes. Esta Arquitectura se denomina Aquitectura Von Neumann, y es la utilizada tanto en el famoso ENIAC, como en el PC o el Smartphone con el que estás leyendo esta pildorita.

A partir de sentencias almacenadas en memoria e interpretadas por la CPU, se pueden realizar funciones que atajen determinados problemas. Estas sentencias, que primero comenzaron como puros 0 y 1, y más adelante con ensamblador hasta llegar a Java, no son más que algoritmos que explican al procesador que operaciones realizar. Eso es lo que comúnmente se conoce como programas informáticos.

Los programas no son más que el código fuente que describe las acciones a realizar por parte de un proceso informático, y un proceso informático es un programa en ejecución. En la definición de la wikipedia se habla del mantenimiento del código fuente de un programa, lo cual es redundante. El código fuente es en sí el programa.

Cuando nosotros “piquemos” en Java estaremos haciendo programas. Cuando ejecutemos ese programa, este será un proceso más en ejecución de nuestro sistema operativo (que no es más que otro proceso).

Desde que el ser humano convive con los ordenadores, ha intentado siempre que la comunicación con el ordenador se realizara en un lenguaje cada vez más amigable para las personas. Es por ello, que la evolución de los lenguajes, hasta llegar a la POO (y otras más novedosas como la Programación Orientada a Aspectos), ha seguido siempre estas tres metas.

Abstracción

Es el proceso mental por el cual el ser humano se centra en lo esencial, ignorando los detalles superfluos.

La abstracción es subjetiva y depende del observador, por lo cual los detalles en cada metodología son diferentes.

Encapsulación

Proceso que oculta las características esenciales del proceso de abstracción utilizado. Por tanto, la encapsulación y la abstracción son complementarios.

Resumiendo, si no es necesario el conocimiento de cierta información, no debe de conocerse.

Modularidad

Descomposición de un programa en trozos independientes (no acoplados) y con significado por si mismos (cohesivos).

Cuando menos acoplado e independientes sea una aplicación, menor será su nivel cohesivo, ya que cuanto más se separe el software resultará más incomprensible. Por otra parte, un software muy acoplado tampoco es bueno, ya que aumenta ingentemente el esfuerzo en el desarrollo y mantenimiento de ese código, por no hablar de que habrá código repetido y redundante.

 

En la persecución de estas tres metas, han surgido muchos paradigmas de programación, pero todos están englobados en dos grandes bloques: programación declarativa y programación imperativa.

Paradigmas de programación

La programación imperativa se describe en términos de estados y de sentencias que cambian dichos estados. En ella, se indica al ordenador en todo momento que tiene que hacer, se le da órdenes. La programación imperativa se divide en muchos otros sub-paradigmas, como la Programación Modular, la Estructura, o la Programación Orientada a Objetos.

Por contraposición, la programación Declarativa no indica al procesador como llegar exactamente a la solución de un problema, sino que establece preposiciones, condiciones, ecuaciones, restricciones, etc. que describen el problema. La programación declarativa está también dividida en otros paradigmas: Lenguajes lógicos, algebraicos y funcionales.

De los dos paradigmas el más extendido de lejos es el imperativo, no obstante, esto no significa que supla en sí el declarativo. Muchos problemas se abordan de mejor forma con uno de los paradigmas y no el otro. Por ejemplo, para programas de carácter científico o matemático, por norma general el paradigma más utilizado es el declarativo.

No obstante, como estas pildoritas van sobre Programación Orientada a Objetos, vamos a centrarnos en la Programación Imperativa para ver rápidamente el desarrollo de este paradigma hasta desembocar en su “opera prima”, la Programación Orientada a Objetos.

Desarrollo de la programación imperativa

Como decía antes, en un principio se microprogramaba, es decir, se indicaba con 0 y 1 las acciones a seguir por la unidad de proceso. Este es lo que se llama Código Máquina, y es el nivel más rudimentario de comunicarse con un ordenador.

Debido a lo complejo y tedioso que resulta implementar problemas medianamente extensos con esta mecánica, se creó el Lenguaje Ensamblador, que utiliza, ya sí, un lenguaje un poco más comprensible para un ser humano.

A partir de identificadores, variables (que sustituían las direcciones de memoria donde se encontraban alojados los datos), constantes en hexadecimal (y no en binario como hasta entonces) y controles de flujo (GO TO), se simplificó enormemente la tarea de programar.

No obstante, este primer lenguaje seguía sin ser una buena solución para programas complejos y extensos, resultando en muchos casos un esfuerzo titánico entender el flujo del programa.

Es por ello que surgió la Programación de Alto Nivel, algo ya más parecido a lo que podríamos ver hoy en día, y que acercaba enormemente los lenguajes de programación a los de los seres humanos. Con ella surgen las Estructuras de Control de flujo de ejecución, y los Subprogramas, aunque no se utilizan de forma permanente.

La imposición de esas dos novedades generaron dos nuevos paradigmas dentro de la Programación Imperativa: La Programación Estructurada y la Modular.

La Programación Estructurada nos da un conjunto de estructuras de control de flujo de comportamiento predecible y los algoritmos quedan expresados mediante jerarquías de composición de dichas estructuras de control. De esta forma resultaba mucho más sencillo codificar y comprender un programa.

El otro paradigma, el Modular, centra la construcción de programas en la realización de módulos, es decir, trozos o porciones de subprogramas y variables independientes. Además, surgieron los conceptos de parte Pública, la que puede ser utilizada fuera de los módulos, y parte Privada, aquella interna del módulo y que el resto de procesos no conoce. Por tanto, este paradigma aumentó considerablemente la abstracción, encapsulación y modularidad en los programas informáticos.

Al igual que estos paradigmas surgieron por el uso sistemático de los conceptos de abstracción, encapsulación y modularidad en la programación de alto nivel, la Programación Orientada a Objetos surgió por el uso sistemático de los Tipos Abstractos de Datos (los módulos) y la Herencia, concepto adquirido de la Inteligencia Artificial. No entraremos en la Herencia hasta la parte teórica de POO, pero basta decir que aumentaba enormemente la cercanía de los lenguajes de programación a nuestra concepción del mundo.

 

Bueno, con esto ya ponemos punto final a la pildorita más coñazo de toda la serie. Espero que la chapa no os haya repelido a leer las próximas entregas, pero este tostón es necesario para aquellos que se acerquen por primera vez al mundo de la programación. ¿Cómo aprender a programar si no tienes ciertos conceptos claros de informática?

Además, yo me he podido dar el gusto de meter una pequeña introducción de la informática y hasta mencionar el ENIAC. Por un momento me he recordado a mi misma cuando estudiaba diciendo "¿Otra vez el coñazo del ENIAC?"

Índice de Pildoritas

Share
10
Feb 14

Pildoritas de POO y Java

pildoras poo java

Los pocos que me seguisteis en las Pildoritas de Bases de Datos, recordareis que dije al final que tenía en mente hacer una nueva serie de artículos sobre programación. El tema en cuestión que tenía en mente era POO y Java.

Seguramente muchos acabéis aquí atraídos por los cantos de sirena de Java. A día de hoy es el segundo lenguaje más utilizado en el mundo, sólo superado por C, y el más utilizado en Programación Orientada a Objetos. No obstante, y aprovechando este reclamo, lo que quiero de verdad en estas pildoritas es ahondar en lo que a mi parecer es lo más importante, tener claros los conceptos de la POO.

Si tienes formación y/o experiencia en POO y quieres aprender Java está sera una primera aproximación en para aprender lo básico. Si en cambio vienes aquí sin conocimientos en programación o en otros paradigmas, podrás adquirir (o esa es mi intención) una base sólida en este nuevo paradigma. Cuando uno trabaja día a día desarrollando, lo verdaderamente importante no es la tecnología, con la cual uno se hace después de un tiempo de adaptación, sino tener claro como hacer un programa en POO.

Las Pildoritas comenzarán con una parte introductoria, donde se entrará un poco en la historia de la programación y como se ha llegado hasta la POO. También aprovecharé esta misma parte para ver unos conceptos básicos de programación, como controles de flujo, funciones, etc., en cuya parte también se verá la sintaxis básica de Java. Tras esto continuaremos con la teoría específica de POO, todo esto con ejemplos en Java. Por último, se verán conceptos particulares de Java (véase Excepciones) que no se pueden incluir dentro de la teoría de objetos.

Espero poder ser capaz de ordenar todo lo que tengo en mi cabeza y que me queden unas pildoritas decentes, donde se adquieran buenos conocimientos de POO y Java. Si lo consigo, podré seguir con Pildoritas de Java más avanzadas.

Para finalizar esta parte de presentación, quisiera también indicar que, aunque no voy a copiar y pegar de mis libros de facultad, sí que me guiaré por el contenido de mis apuntes de carrera. No veo una manera mejor de hacerlo. Es por ello que me gustaría referenciar el libro de Programación II de la Escuela Universitaria de Informática de la Universidad Politécnica de Madrid, ya que en más de una ocasión lo consultaré en la realización de estas pildoritas.

Índice de Pildoritas

Share