Principios de concurrencia: Soluciones por hardware

Etiquetas

, , , ,

Este artículo es el primer manuscrito del capítulo Soluciones por hardware del libro que estoy escribiendo Principios de concurrencia para programadores. Todo el código de los ejemplos están en Github.

Soluciones por hardware

Hasta ahora hemos visto soluciones al problema de la exclusión mutua sin soporte de hardware y con solo registros de lectura-escritura atómicos, todos ellos son spinlocks pero muy ineficientes. Por un lado por el consumo de memoria, tanto para la solución de dos procesos (Dekker y Peterson) como para N procesos (Panadería) el número de registros necesarios es proporcional al número de procesos máximos que sincronizarán[31]. Esta necesidad de memoria impone una sobrecarga importante para mantener la consistencia de la memoria caché, además del consumo de CPU por la espera activa todos los procesos involucrados tienen que acceder al mismo rango de memoria que los demás. Es una penalización muy importante para sistemas con varios procesadores o núcleos. Por otro lado, si se tiene un único procesador el avance es tan lento que lo que tarda décimas en uno puede tomar horas en otros[32] en el caso de que exista mucha competencia (contention) porque varios procesos desean entrar a la sección crítica de forma casi simultánea.

Desde el inicio se buscaron soluciones por hardware que permitiesen implementar algoritmos de sincronización de forma mucho más eficiente.

Sigue leyendo

Nota rápida sobre el “no hackeo” del cifrado de Telegram

Etiquetas

, ,

Antes que nada, no tengo ni la mínima intención de defender a Telegram, tampoco sé si sus métodos de cifrado son los mejores o no. Se trata simplemente te aclarar unos temas básicos de cifrado para el “drama” que están montando (por ejemplo) a partir del artículo original How I Hacked Telegram’s “Encryption”. (también erróneo por sensacionalista y poor ignorar de dónde está el problema, pero vaya, es cuestión de negocios, supongo).

Sigue leyendo

PIB, gasto y aumento de la deuda

Etiquetas

, , ,

El Producto Interno Bruto son mediciones estadísticas de la actividad económica de los habitantes e instituciones de un país. No hay que olvidar que es un “invento” con diferentes modos de medirlo (producción, ingresos y gastos), que la medición no puede ser perfecta (no se pude medir todo, se usan aproximaciones estadísticas), que con los cambios sociales de las últimas décadas se dejan muchos aspectos sin medir (por ejemplo no se mide el valor que aporta todo el trabajo detrás de la Wikipedia y los beneficios que genera) y tiene sus limitaciones. Aún así es una de las mejoras formas conocidas de medir la “riqueza” o actividad económica de un país que sirve analizar su evolución comparando el resultado de un período a otro. Si los datos se obtienen siempre de la misma forma dan información muy valiosa, casi imprescindible (hasta los presupuestos generales se hacen basados en estimaciones del PIB para el año correspondiente).

Sigue leyendo

Software libre y GNU/Linux en la UIB

Etiquetas

, ,

1993

Me encargan que de la asignatura de sistemas operativas en la UIB. No teníamos ningún Unix accesible a los usuarios, tampoco teníamos PCs para instalar el novedoso GNU/Linux, todo era Macintosh. Encuentro MacMinix, un port de Minix a Mac mínimo, se ejecutaba como programa normal de Mac que abría tres consolas de shell.

Lo pruebo en los Macs del aula informática (unos 70 ordenadores) de nuestro edificio. No funcionaba el teclado español y se colgaba cada pocos segundos. Desesperación, la asignatura comenzaba en febrero de 1994, me quedaban pocos meses y no tenía una plataforma “seria” para darla.

Decido que no hay otra solución que intentar arreglar esos problemas. Pido un portátil Mac prestado al Dept. (un MacBook, me tomaba 45 minutos compilar el kernel) y me pasé unos tres meses modificando el núcleo del Minix. Descubro que el problema del teclado estaba ocasionado porque las tablas de E/S de caracteres del  Minix eran de 7 bits y se necesitaban 8 para el teclado español. Modifico todas esas funciones para trabajar con 8 bits, logro que funcione correctamente. Luego detecto que el culpable de los cuelgues era por la pila de red de Apple Talk, los ordenadores estaban conectados a una que cubría toda la universidad y claramente tenía muchas race conditions no solucionadas. Deshabilito todas esas funciones, el problema se soluciona, no tendríamos red pero tampoco era necesaria.

Así doy dos cursos, 93-94 y 94-95.

Sigue leyendo

Las cosas que no soporto que diga un programador

Etiquetas

,

…y quizás tampoco las soportan los demás programadores.

En mi ordenador funciona

Si el código no funciona en un ordenador con toda las dependencias adecuadas instaladas es un error de tu programa, sin dudas, no hay excusas. Nunca digas esta frase, sólo demuestra que todavía no estás preparado ni para asumir la responsabilidad de tu propio código. Si eres alumno demuestra que no te interesa aprender sólo aprobar con el menor esfuerzo posible… además de tomar como tonto al profesor, como si nunca hubiese oído esta excusa (la oímos decenas de veces cada vez que se presentan prácticas).

Sigue leyendo

¿Qué tecnologías utilizarías?

Etiquetas

, , , , , ,

Hoy un viejo conocido me hizo esta pregunta:

Estuve a punto de contestar pero me di cuenta que soy incapaz, y que tampoco debería. Lo haré al final, como una cuestión muy personal y después de un rant de matizaciones.

Sigue leyendo

Contexto vs anecdato

Etiquetas

, ,

Contexto

  1. El gasto que supondría X es un y% de la partida presupuestaria correspondiente del Ministerio.
  2. El gasto familiar medio en café es un x% de la media de ingresos familiares, nos ubica en tal posición en Europa.
  3. La tasa de paro en Andalucía es de x%  y la ubica en la posición Y en España.
  4. La tasa de accidentes de tráfico en Andalucía es de X cada 100.000 habitantes y la ubica en la posición Y en España.
  5. Los muertos anuales por accidentes en carretera en España se mantiene relativamente estable desde que entró en carnet por puntos.
  6. La repatriación de enfermos de ébola ha causado un total de X contagios e Y muertos en Europa y EEUU.
  7. Las temperaturas actuales entran dentro de las variación normal de lo esperado para estas fechas.
  8. El gasto en defensa de España es un x% de los Presupuestos Generales del Estado y un y% del PIB. Nos coloca en tal posición en Europa.
  9. El gasto de EEUU para poner un hombre en la luna supuso un x% de su PIB durante 10 años.
  10. Bárcenas pagó tanto de IRPF el año pasado, un x% de sus ingresos brutos totales.
  11. Los presupuestos de todas las CCAA para educación son un x% del PIB, el rescate a los bancos de un y%.
  12. La tasa de profesionales emigrados por la crisis es de X cada por cada millón de habitantes, nos ubica en tal posición en Europa, creció un y% desde el inicio de la crisis.
  13. Las pruebas de eficacia del nuevo medicamento X no son concluyentes todavía, algunos estudios le dan una eficacia del 20% para enfermos con la cepa Y del virus y efectos adversos en el 80% de enfermos totales.
  14. Las ventas en España de la Multinacional representan un 30% de sus ventas totales.

Anecdatos (y churramerinismos)

  1. El gasto que supondría X es equivalente al gasto del Ayuntamiento de Pisuerga para las fiestas de la Vírgen de la Lluvia Fina.
  2. Con lo que gasta en café una familia española se pueden alimentar a 10 niños en África.
  3. Andalucía es la comunidad española con más parados. La Rioja la que menos.
  4. Andalucía es la comunidad española con más accidentes de tráfico. La Rioja la que menos. (Este caso tan frecuente se merecía un duplicado)
  5. Terrible, los muertos en carretera del domingo pasado superan un 15% a la misma fecha del año anterior.
  6. La cantidad de contagios y muertos por ébola en Europa y EEUU superan a los de Paraguay.
  7. Las temperaturas de estos días son las más bajas de los últimos 7 años si no se tiene en cuenta la del año pasado.
  8. España gasta en armas más que Luxemburgo, siendo este un país mucho más rico.
  9. Fuimos capaces de poner un hombre en la luna pero todavía no hay cura para X.
  10. La declaración de IRPF a Bárcenas le salió a devolver.
  11. El presupuesto para educación de la partida del Ministerio es inferior al rescate a Bankia.
  12. El número de exiliados de España bate records y es superior a la de Bolivia.
  13. Al cuñado del primo del director de redacción le funcionó.
  14. La Multinacional sólo paga el 30% de sus impuestos en España.

Algunos casos son por simple ignorancia y sesgos. Otros porque intentan venderte una idea a favor de su activismo. Otros para conseguir clics o RTs. En cualquier caso y a largo plazo nos perjudican más de lo que ayudan.

Cuando hasta catedráticos de economía caen en la trampa de estadísticas y comparaciones erróneas

Etiquetas

, ,

Anoche vi el siguiente tuit:

Me sorprendió mucho la comparación por dos motivos, sabía que el food stamps (hoy se llama Supplemental Nutrition Assistance Program, y no es sólo para los que “no tienen para comer”) en EEUU cambió mucho en las últimas décadas, que desde la crisis se amplió la cobertura, y que los números eran demasiado extraordinarios. Me tomó solo unos minutos documentarme y confirmar lo que sospechaba que estaba comparando peras con manzanas. Debo decir que en el informe que enlaza dice lo mismo (más manipulación, que además sacan de uno “noticia” publicada en RT.com) y que lo reconoció:

Aún así no se da cuenta del problema: esos números por sí solos no indican nada. Pueden indicar que hay 10 veces más pobreza, o que se aumentó 10 veces la cobertura social del estado (entre 1970 y 2014 es mucho más de lo segundo que de lo primero). Es fácil verificar que la comparación no tiene sentido: desde 1970 hasta ahora hubo más de 10 reformas al programa, y fundamentalmente el crecimiento geográfico no alcanzó a todo EEUU hasta el 1 de julio de 1974. De la wikipedia:

In April 1965, participation topped half a million. (Actual participation was 561,261 people.) Participation topped 1 million in March 1966, 2 million in October 1967, 3 million in February 1969, 4 million in February 1970, 5 million one month later in March 1970, 6 million two months later in May 1970, 10 million in February 1971, and 15 million in October 1974. Rapid increases in participation during this period were primarily due to geographic expansion.

Desde esos años hasta ahora se subieron mucho los límites, basados en el 130% de lo que el estado federal define como umbral de pobreza. Por la crisis de 2008 se incrementaron las ayudas y se dio más libertad a los estados para rebajar los límites. Actualmente, en general, son elegibles individuos con ingresos brutos anuales menores a $ 15.000 (12.250 €), u hogares cuyos ingresos brutos son iguales o menores a $ 30.624 (unos 25.000 €), o los que gasten de vivienda más del 50% de sus ingresos (con topes, por supuesto). Aunque no tenemos datos oficiales de medianas de ingresos individuales y por hogares (sólo se publican “medias” [*]), con estos números apostaría a que no fallaría demasiado si afirmo que aproximadamente la mitad de hogares en España serían elegibles para las food stamps (nuestra “mediana de ingresos según la OECD” por hogar es de unos 15.000 €, aunque no hay discriminación por tamaño).

En el siguiente gráfico que hice a partir de los datos oficiales se pueden observar los saltos y ondulaciones en correlación con las crisis económicas.

Personas que reciben "food stamps" en EEUU

Es verdad que desde la crisis de 2008 aumentó considerablemente la pobreza y subió la cantidad de beneficiarios de los food stamps, pero en un número mucho menor al de 10 veces más que dice el informe que divulgó Juan Torres López (si estáis interesados en leer más del problema, además de la Wikipedia, este es un buen artículo para empezar). Con esas cifras y siendo economista debería haber sospechado que se estaba comparando peras con manzanas. Abusando un poco de la analogía, es como asegurar que somos más pobres que en 1940 dado que hoy en España hay más receptores del seguro de desempleo.

Las estadísticas son una herramienta fundamental para analizar y entender los problemas en un mundo tan complejo. Siempre me quejo del mal/no uso de las estadísticas por parte del periodismo pero hasta los especialistas caen en las mismas trampas. Los sesgos humanos son muy fuertes y hay que hacer un esfuerzo considerable para no caer en la trampa cuando se manipulan los números para decir lo que queremos oir. Pero al menos espero que los expertos sean más cuidadosos, sobre todo cuando se enfrentan a cifras tan extraordinarias.

Por eso debemos ir siempre alerta y estudiar un poco de estadísticas, así es más fácil detectar manipulaciones y documentarse muy rápidamente (para eso es muy útil Google). Aunque el mensaje de fondo sea cierto, la manipulación o mal uso de los datos no nos ayuda en nada, solo aumenta la divulgación de eslóganes simplistas y el desconocimiento de nuestra realidad.

[*] La mediana la forma correcta para conocer la distribución de ingresos, en EEUU se usa habitualmente pero en España. El problema ésta está siempre desplazada hacia números mayores porque la distribución no es normal, la desigualdad hace subir esa media. En cambio la mediana nos permite conocer inmediatamente cuál es el ingreso máximo de exactamente la mitad de la población. Y ojo, la mediana ingresos en EEUU es más del doble que la española.

PS: Si queréis ver otro mal/no uso reciente de estadísticas, leed Desde que Rajoy es presidente Tráfico ha recaudado… ¡500 millones en multas!, a ver si descubrís al menos los dos problemas muy importantes.

PS2: El tuit original tiene ya casi 200 RTs, los que enlacen a este artículo que lo corrige no tendrá ni una pequeña parte. Es lo triste de esto, y explica el problema de los sesgos que comenté antes.

Mi resumen del 2014

Etiquetas

Un año malo. Sobre todo por el tiempo dinero y energías gastadas en juicios por defender la libertad de expresión y en luchar contra la mayor chapuza y sinsentido legislativo que vi en mi vida (y eso que aquí ha llovido) que además me afectaba personal y directamente. Sí, el #canonAEDE. Con resultados colaterales que también me desagradan mucho, como el boicot a algunos medios, nunca puede ser bueno. Te deja desganado -o agotado, todavía no lo sé- y lo peor es que solo tiene pinta de empeorar.

Año de mierda. Me abstengo de temas personales y familiares íntimos. Nada más que añadir

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 28.069 seguidores