martes, noviembre 13, 2018

¿Despidió Facebook a Palmer Luckey, fundador de Oculus por su apoyo a los Republicanos?

Palmer Luckey fue uno de los fundadores de Oculus VR, una empresa especializada en el diseño de programas y equipos de realidad virtual, donde fue un de los diseñadores implicados en las gafas de realidad virtual Oculus Rift. Facebook compró Oculus por algo más de 3000 millones de dólares en el año 2014.

Palmer pasó a formar parte del equipo directivo de Facebook. Sin embargo, según publica El Wall Street Journal (tras muro de pago), parece ser que tras conocerse que Palmer había contribuido con donaciones al Partido Republicano de EEUU, se empezó a ejercer presión sobre él para que se retractase. Palmer abandonó el equipo directivo de Facebook seis meses después de publicarse esta noticia. Parece ser que el apoyo a la causa republicana causo un cabreo considerable en la cúpula de Facebook y otras empresas de Silcon Valley. Nunca se han publicado las causas de esta ruptura hasta ahora: Según el Wall Street Journal:

Internal Facebook emails suggest the matter was discussed at the highest levels of the company. In the fall of 2016, as unhappiness over the donation simmered, Facebook executives including Mr. Zuckerberg pressured Mr. Luckey to publicly voice support for libertarian candidate Gary Johnson, despite Mr. Luckey’s yearslong support of Mr. Trump, according to people familiar with the conversations and internal emails viewed by The Wall Street Journal. …

Ahora, la pregunta que cabe hacerse es que si realmente eso está ocurriendo en las tecnológicas. ¿Podemos asumir que no existe el shadow banning o que los algoritmos no están ajustados para ser políticamente correctos en las búsquedas. Cuando nos estamos planteando la existencia de publicaciones científicas bajo seudónimo para evitar las legiones de acosadores que se han visto cuando se tocan temas delicados, imaginad el poder de estas empresas y las implicaciones que podría tener si está ocurriendo esto.

viernes, noviembre 09, 2018

29 años de la caída del Muro de Berlín

Hoy hace 29 años de la Muro de Berlín, la parte de la frontera más conocida de la frontera que separa la democrática República Federal Alemana de la la totalitaria República Democrática Alemana. Se estima que antes de la construcción del muro, hasta un 20% de la población del supuesto paraiso comunista huyó a la República Federal Alemana

Hoy, los nostálgicos de aquellas fronteras y de aquellas políticas con la misma efectividad para crear riqueza y bienestar para la sociedad, que la homeopatía para curar enfermedades, nos venden que aquellas fracasadas recetas que intentaron aplicar los países que quedaron tras el Telón de Acero y del cual el Muro de Berlín era su parte más visible, nos van a arreglar nuestros problemas. Lo peor, es ver a todos ellos cómodamente vivien do en las socialdemocracias en la que no creen y quieren destruir desde dentro. Si, esos homéopatas morados que no te dicen que el Muro de Berlín se construyó para evitar la huída de su propia población de ese sistema, el cual según algunos, sus recertas ha conseguido importántes éxitos en Venezuela.

lunes, noviembre 05, 2018

Apple T2 Security Chip: ¿Se puede recuperar los datos de un SSD cifrado?

(Gracias Jaime) Me apunta Jaime que Apple ha dejado una puerta para poder recuperar los datos del SSD de un MMac en caso de que se estropee parte de la placa base. Como comentaba en Apple T2 Security Chip Overview, por defecto el chip T2 del Mac cifrará el contenido de la SSD aunque no se haya configurado FileVault. Bien, pues suponiendo que parte de la circuitería de la placa base funcione, especialmente la parte de Secure Enclave del T2 y el bus thunderbolt funcione, parece ser que Apple tiene un modo de funcionamiento que permitiría extraer los datos del SSD del ordenador.

Esto, sin embargo, presenta de nuevo un problema: Si te roban el portátil y no tienes activado FileVault, podrían extraer tus datos sin dificultad. En todo caso, el T2 lo que permitiría es evitar que alguien use la SSD en otro ordenador, atando esa SSD a un ordenador determinado.

El chip T2 está involucrado en el cifrado del disco (su motor de cifrado está en el bus que comunica la CPU/RAM con el SSD), lo que sería interesante ver es como la clave que se genera para cifrar el disco depende de las claves del T2 o es independiente.

miércoles, octubre 31, 2018

Apple T2 Security Chip Overview

Apple acaba de publicar un informe sobre el chip T2 y las funciones que desempeña dentro de la plataforma Mac.

El chip tiene dos funciones bien diferenciadas:

  • Implementa varios controladores que se encargan del sonido, procesado de imagen, controlar la SSD y el manejo del sistema
  • Un coprocesador llamado Secure Enclave que se encargará de proporcionar seguridad a la plataforma y ser la raíz de confianza de todo el sistema de firma del sistema.

El documento de Apple se centra en la descripción de las funciones del Secure Enclave y como interactúa con el resto de los componetes de la plataforma, tanto de hardware como de software.

Según el documento publicado por Apple,este Secure Enclave incluido en el chip T2 va a ser el encargado de de dar soporte a todo lo relacionado con el cifrado y la gestión de las claves usadas en los procedimientos criptográficos que realice el ordenador. Además, se va a encargar de varias operaciones de cifrado sin que las claves usadas salgan del chip, ni siquiera a través de mecanismos de depuración como puede ser una interfaz JTAG.ve

El Secure Enclave contiene una clave AES, llamada UID, definida en la fabricación de cada chip. Esta clave nunca abandona dicho coprocesador y la única manera de obtenerla sería sacar el chip de la máquina y realizar una ingenieria inversa sobre el chip. Además, existe una segunda clave, llamada GID es común a todos los procesadores de una misma clase. Ambas claves se utilizan en un motor de cifrado que implementa el algoritmo AES implementado en el chip, de tal manera que el coprocesador cifrará los datos que se le pida y devolverá los resultados.

El Secure Enclave está situado entre el procesador y el acceso al almacenamiento SSD, de tal manera que es capaz de cifrar los datos de manera muy rápida cuando se almacenan en el SSD

Estas claves se utilizan para implementar una jerarquía de claves que se usará en las diferentes necesidades de cifrado que tenga el ordenador. Como estas claves depende de una única de cada dispositivo, una vez habilitado el cifrado de disco con FileVault, no podrá acceder a los datos ni siquiera cambiando la SSD de ordenador, ya que la clave de cifrado depende del chip T2. Esto nos deja una primera consecuencia importante: Si se te estropea el hardware del Mac, como no tengas una copia de seguridad externa, no vas a poder recuperar tus datos. Decir quie si no se ha activado FileVault, se usará la clave UID, con lo cual, tampoco se podrá sacar los chips y leerlo en otro ordenador.

Otra particularidad importante del Secure Enclave es que si fallamos demasiadas contraseñas, el chip ya no realizará más tareas de verificación de claves o intentos de descifrar el volumnen de datos:

To prevent malware from causing permanent data loss by trying to attack the user’s password, these limits are not enforced after the user has successfully logged into the Mac, but will be re-imposed after reboot. If the 30 attempts are exhausted, 10 more attempts are available after booting into macOS Recovery. And if those are also exhausted, then 30 more attempts are available for each enabled FileVault recovery mechanism (iCloud recovery, FileVault recovery key, and institutional key), for a maximum of 90 possible attempts. Once those attempts are exhausted, the Secure Enclave will no longer process any requests to decrypt the volume or verify the password

Otra misión que tiene el Secure Enclave es garantizar que los programas encargados de arrancar el Mac no han sido alterados. Para eso, se utiliza la firma digital de los mismos, apoyándose en la autoridad de certificación que está dentro del chip. Además, para evitar modificaciones, el primer código que se ejecuta no es actualizable, ya que se encuentra en una ROM dentro del propio chip T2. A partir de ahí, se irán verificando los diferentes componentes que forman la cadena de arranque.

Este chip también es el encargado de gestionar las huellas digitales que usa el sensor Touch Id y tiene incorporado un generador de números aleatorios para usar en las funciones criptográficas.

Este Secure Enclave no es algo nuevo: Apareció por primera vez en los iPhones que tenían sensor de huella digital. Y ha habido diversos intentos de ver como funciona o acceder a su firmware. Por ejemplo, la presentación de la BlackHat Demystifying the Secure Enclave Processor donde se analiza el firmware del mismo desde una de las actualizaciones de Apple. (también está disponible video de la charla, Demystifying the Secure Enclave Processor y el artículo con el mismo tema. Para los que os guste la ingeniería inversa, de obligada consulta.

Referencias

  1. informe sobre el chip T2
  2. Seguridad de iOS (iOS 11)
  3. Demystifying the Secure Enclave Processor
  4. Demystifying the Secure Enclave Processor, Diapositivas de la BlackHat

martes, octubre 30, 2018

Delatar a castellanohablantes en los colegios catalanes

(vía El Mundo) Según publica el Mundo, el gobierno regional de Cataluña quiere que alumnos y padres delanten a aquellos colegios donde no se cumpla aquellas órdenes en materia lingüistica que la correspondiente consejería de educación tenga a bien imponer. ¿Qué directrices son esas?.Recordemos que hace algunos años se publicaron noticias donde se castigaba a los alumnos que usaran el español al comunicarse o bien forzar a los alumnos a usar el catalán exclusivamente en el patio1.

Realmente, lo que ellos llaman inmersión lingüistica es mentira. El programa lingüistico catalán no busca un bilingüismo real entre el español y el catalán. Quiere que la única lengua que esté presente sea la catalana. Las multas por no rotular en catalán que se han ido imponiendo y la presencia de entidades como la Plataforma por la llengua o som escola lo demuestran2

Ahora, un hecho que me llama la atención es que todos ven como una barbaridad la agresión a una ciudada española en Londres por usar el español para comunicarse. Pero sin embargo, todas las barbaridades que se llevan realizando en Cataluña en contra de los que deciden usar el idioma español, importa bastante poco. A veces leer lo que publican panfletos como Vilaweb o Ara te da una idea bastante clara de cual es el juego y lo que piensan el independentismo del uso del español

Los años siguen pasando y me sigue sorprendiendo como los catalanistas han usado su lengua, una herramienta de comunicación, para establecer barreras. Y es una lástima, porque podrían funcionar con los dos idiomas perfectamente y al mismo nivel de importancia, pero sus dirigitenes políticos y parece que la parte más rural de la población no quiere.3. Canadá es un ejemplo de uso de bilingüismo. Aquí se llega al absurdo de ver a Ada Colau tener que traducir al español desde el catalán porque los presentadores de TV3 no les sale de los bajos hablar español.

Notas

  1. Esto ocurre porque la ley catalana considera la hora del patio como horario lectivo (artículo 10.4) y debe de cumplirse los principios del programa educativo, entre otros, desterrar el español de las clases.
  2. Una cosa que produce risa, sino fuera por lo serio que es, es el lema de Som Escola, per un país de tots,l'escola en català, que deja bastante claro que ellos no consideran ciudadanos de la región de Cataluña a aquellos que no comulgan con sus políticas.
  3. Una de las excusas más burdas es que si no se potencia el catalán, desaparecería. Eso es mentira y la prueba es Francia. Cuando uno estado quiere hacer desaparecer las lenguas regionales, lo hace.

Post data

Otra noticia en el mismo sentido es la denuncia por discriminación por no hablar Bable.. Está claro que cada vez más regiones españolas ven en el tema del idioma una manera de levantar barreras frente a personas que vengan de otras zonas de España, especialmente en el acceso a los puestos de funcionariado público. Cuidado con estas cosas no vaya a ser, que algún día en un examen de lengua española haya que saber que es un gañafote, un róbalo o un carocho, donde cada región empiece a tirar de las palabras propias de la zona.... y carocho no es lo mismo en Castilla y León que en Huelva.

martes, octubre 23, 2018

Darling: Capa de emulación de binarios de OS X en Linux

Darling es un software que provee una capa de emulación de Mac OS X sobre Linux. Su objetivo es permitir la ejecución de binarios de OS X sin modificar sobre Linux. En el estado actual del proyecto, no puede ejecutar aplicaciones qure usen el entorno gráfico de OS X, pero si puede ejecutar herramientas en línea de comando como toda las herramientas de compilación en línea que incluye el XCode. Adicionalmente el proyecto tiene un componente llamado darling dmg. Ambos proyectos están publicados con la licencia GPL3.

Si fuera capaz de correr algo similar al entorno de OS X 10.4 (Tiger) o 10.5 (Leopard), me encantaría. A pesar de los años que llevo usando OS X (actualmente usio High Sierra), esas dos versiones del sistema, sumado a la línea de comando,cubrían muchas de mis necesidades. Si eso le añadimos un API Carbon y el Cocoa, podía ser entretenido :)

Aunque todavía le queda mucho camino por recorrer, Wine empezó exactamente igual y a día de hoy es capaz de ejecutar un amplio catálogo de software.

Material para prepararse el examen de radioaficionado: Enlaces

Me he propuesto obtener el certificado HAREC para solicitar la autorización de radioaficionado. Llevo un tiempo buscando información por Internet y esta entrada la quiero usar como un índice de las cosas que me voy encontrando para preparar dicho examen.

Enlaces

miércoles, octubre 17, 2018

Macbook Pro 2018 y múltiples monitores: problemas de imagen

Durante estos últimos cinco años he estado usando un Macbook Pro de finales de 2013. Lo tenía conectado a dos monitores Dell modelos U2415 uno usando el puerto HDMI y otro con el Display Port. En estos años de uso intensivo no he tenido ningún tipo de problemas de imagen con los monitores.

Recientemente, me han cambiado el ordenador del trabajo a un Macbook Pro de última generación. Este ordenador utiliza puertos USB-C para conectarse con periféricos, incluido los monitores. Con dos cables USB-C a DisplayPort puedo conectar ambos monitores al Macbook y seguir trabajando como hacía con el ordenador viejo. Sólo que de serie, la calidad de imagen deja bastante que desear: halos en el renderizado de las letras, trazas azules en las mismas. Una calidad de imagen pésima.

Tras buscar un rato por Internet encontré este artículo donde explica el porqué del problema y cómo se soluciona.

Los monitores actuales pueden comunicarse con los dispositivos a los que están conectados. Esto se consigue transmitiendo la información definida en el Extended Display Identification Data a la tarjeta gráfica del ordenador por un bus. Por desgracia, los monitores no siempre transmiten esa información de manera correcta a los ordenadores, y pueden aparecer algunos artefactos como los que ocurren entre el Macbook Pro y esos monitores Dell. Concretamente, en el caso del U2415 está transmitiendo mal la manera de codificar el color, diciendo que soporta el espacio de color YCrCb cuando realmente debe ser RGB. El Mac prefiere usar el primer sistema - se supone que el monitor le ha dicho que soporta ambos - y la calidad de imagen se degrada.

¿Cómo puede solucionarse ese problema?. Bien, pues es necesario sobrescribir la información EDID que ha mandado el monitor con una configuración que desactive el espacio de color YCrCb para ese monitor. Es necesario leer la información que nos da el monitor, parchearla y posteriormente hacer que el Mac la utilice en vez de la que le está proporcionando el monitor. Para ello es necesario generar unos ficheros de configuración que se deben de instalar (al menos en High Sierra) en:

/System/Library/Displays/Contents/Resources/Overrides

Este directorio se encuentra protegido por el sistema, con lo cual será necesario arrancar en modo de recuperación (cmd - r), ejecutar un terminal y copiar la información a dicho directorio.

¿Cómo generamos los archivos de configuración necesarios?. Con ayuda de este script. Lo bajamos, lo ejecutamos en nuestro ordenador y nos generará unos directorios y ficheros con la información EDID de los monitores que tengamos conectados, parcheando la misma para que use sólo el espacio de color RGB. Por ejemplo, en el caso de mi ordenador me genera la siguiente estructura

DisplayVendorID-10ac
  DisplayProductID-a0b8
  DisplayProductID-a0bc

Arrancando el sistema en modo de recuperación y copiando ese directorio:

cp -r DisplayVendorID-10ac /System/Library/Displays/Contents/Resources/Overrides

Sólo debe de copiarse la configuración generada para aquellos monitores que tengamos problemas. Una vez copiada la configuración, reseteamos el ordenador para que tenga efecto.

martes, octubre 16, 2018

Crónicas del golpe de estado catalán: El censo electoral

Durante los meses de septiembre y octubre del pasado año 2017, parte de la clase política catalana decidió dar un golpe de estado rompiendo con la legalidad y dejando fuera a todos los ciudadanos españoles en los que está depositada la soberania nancional. Se ignoraron todo tipo de resoluciones judiciales, se secuestró por algunos partidos el Parlament de Cataluña, se les advirtió desde instancias jurídicas de la ilegalidad que iban a cometer y siguieron adelante: Aunque el Estado tardó en reaccionar usando las herramientas que la Ley había puesto a su disposición, el resultado de la asonada ha sido varios políticos presos, que se enfretan a acusaciones de rebelión y otros, más cobardes, huídos. Actualmente el propio presidente de la comunidad autónoma catalana sigue forzando la situación, continuando con el golpe de estado a cámara lente, aunque mucho más cuidado que sus predecesores, para evirar que le acusen de lo mismo

Para llevar a cabo el simulacro de votación del pasado uno de octubre, los golpistas que se adueñaron de las instituciones catalanas1, necesitaban el censo electoral. Evidentemente, el Estado no iba a ceder dicho censo para que se hiciera un uso ilegal de los datos contenidos en los mismos. Sin embargo, según varias noticias publicadas, este censo acabó en manos de los organizadores de la consulta. Las investigaciones aputan a que el censo de los ciudadanos catalanes fue cedido por funcionarios de las propias instituciones catalanas, pertenecientes al Instituto Catalán de Estadística.

Lo interesante de este hecho es que estamos viendo a los funcionarios de la propia administración catalana filtrando datos personales para cometer delitos. Evidentamente, si han hecho eso con el censo, tenían la esperanza de hacerlo con todos los datos de los ciudadanos y empresas catalanas. Probablemente, ya esos datos estén a buen recaudo dentro por parte de los golpistas, con lo cual no es extraño que las empresas quisieran salir de Cataluña como salieron. Todo un aviso a navegantes. No se le está dando la suficiente importancia este tipo de cosas.

Notas

  1. Una de las grandes dudas es porqué el Estado no fue capaz de actuar antes. El catalanismo es golpista

lunes, octubre 01, 2018

Google paga 9000M de dólares por ser el buscador por defecto en iOS

Por defecto, el buscador de uso gratuito que lleva configurado en Safaro en iOS y OS X es Google. Pero esta configuración no le sale gratis a Google. Se estima que paga 9000 millones de dólares anuales a Apple en ese concepto, es decir ser el buscador gratuito por defecto del sistema operativo. Cuando pagas semejante cantidad de dinero anual es que Google espera obtener un beneficio mucho mayor. Ahora, leeros este tuit de Mikko Hypponen, investigador jefe de F-Secure:

How much is your data worth? So much that Google just paid Apple $9 billion to be the default search engine in the iPhone. $9 billion, to get people to use a ’FREE’ search.

No pagamos con dinero. Pagamos con nuestros datos y nuestro perfilado, como bien apunta Mikko en su TL. Sacad vuestras propias conclusiones. Y que coste, soy un usuario habitual de los servicios de Google, empezando por este blog.

domingo, septiembre 30, 2018

Código fuente de MSDOS v1.25 y v2.0

Microsoft acaba de publicar en github el código fuente de MS-DOS, v1.25 y v2.0. Lo hace con licencia MIT, una de las licencias más permisivas dentro del software libre.

La versión 1.25 fue la primera que se vendió a aquellos fabricantes que comenzaron a ofrecer clones compatibles con el IBM PC. En la negociación entre IBM y Microsoft, esta última consiguió que pudieran ofrecer el sistema a otros fabricantes, abriendo el camino que aupó a Microsoft hasta ser una de las mayores compañías de software del mundo.

Aunque el código fuente fue publicado en el Computer History Museum el año 2014, tenerlo ahora en github y permitir su uso con una licencia tan permisiva abre un abanico de oportunidades a aquellos que quieran estudiar los sistemas de los primeros PC y adaptarlo, llegado el caso, para su uso personal

Ya sólo falta que Apple haga lo mismo con Snow Leopard :)

sábado, septiembre 29, 2018

Autotools, tutorial de uso (VIII): Añadir soporte para ejecutar tests

Introducción

Test-driven development (TDD) es una técnica de desarrollo de software consistente en escribir primero las pruebas que debe de superar una unidad de código determinada, posteriormente implementar dicha unidad y llegado el caso, refactorizarla. Por otra parte, las pruebas se puede desarrollar para probar ciertas unidades de código que ya se tienen . Estos últimos años, donde los sistemas de integración contínua son cada vez más comunes, implementar pruebas que nos permitan detectar cuanto antes problemas en el código es una práctica muy recomendable de ingeniería de software.

Las autotools (automake, autoconf, etc) permite construir de manera fácil los ejecutables de las pruebas. Después de generar el makefile, estas pruebas se ejecutarán con un simple:

make check

Esta pequeña entrada se dan los pasos básicos para poder incorporar a nuestro proyecto que usa las autotools la ejecución de las pruebas.

Añadiendo los tests a nuestro proyecto con automake

Supongamos que tenemos una estructura de directorios tal que así de un proyecto llamado tut6:

tut6
  src
    tests

Queremos que cuando se ejecute la orden make check se ejecuten los tests necesarios de nuestro paquete de software. Estos checks pueden ser programas compilados o bien scripts que llaman a otros programas. Para eso, se define una varible TESTS en nuestro Makefile.am situado en el directorio tests, que es donde residierán los programas o scripts que se quiere ejecutar en la fase de pruebas. Por ejemplo, si el programa que hace los tests se llama list_test bastaría con poner en el Makefile.am:

TESTS = list_test

Por otra parte, puede que sea necesario compilar programas específicos para tests, que no se instalarán y que sólo se ejecutaran cuando el usuario quiera pasar los tests. Para ello existe una serie de variables, cuyo prefijo es check_ que nos permitirán compilar el programa, librerias, etc que nos interese durante la ejecución de los pasos asociados al make check.

Siguiendo el ejemplo anterior, supongamos que el programa list_test depende del fichero list_test.c y del fichero situado en las fuentes list.c. Queremos que dicho programa se compile cuando se ejecuta la orden make check en nuestro proyecto. Bien, pues basta con añadir a nuestro fichero Makefile.am las siguientes líneas:

TOP = $(top_srcdir)
TESTS = list_test
check_PROGRAMS = list_test
# List lib
list_test_SOURCES = list_test.c $(TOP)/src/list.c
list_test_CFLAGS = -I$(TOP)/src/

Como puede verse, las variables se establecen con el prefijo del programa (list_test_ en este ejemplo) corresponde a opciones que se pasarán al compilador de C (si fuera, C++, sería _CPPFLAGS)

Puede encontrarse el código de un ejemplo de todo lo anterior en tut6

viernes, septiembre 28, 2018

martes, septiembre 25, 2018

The Art Of The Algorithms

(vía RomanSoft) Para el que le guste la Demoscene - esa manera de hacer arte programando los ordenadores - , os dejo aquí este documental titulado The Art Of The Algorithms. ¡Disfrutadlo! :)

lunes, septiembre 17, 2018

Los cohetes en el INTA

Hace unos días, leyendo el foro FAS, encontré una referencia al INTA-156 Banderilla: Se trataba de un misil aire aire de guía infrarroja que se empezó a desarrolar en el Instituto Nacional de Técnica Aeroespacial a finales de los años 60 en colaboración con la francesa Matra. Desconocía que en España se intentó conseguir un misil que mejorara los AIM-9B que por aquellos tiempos se usaban en los aviones comprados a Estados Unidos.

Buscando información sobre dicho misil, encontré un libro publicado por el INTA, Los Cohetes del INTA (pdf) donde se da una descripción bastante detallada de lo que se empezó a desarrollar en España desde la década de los 40 hasta nuestros días, con un capítulo completo dedicado al Capricornio, una investigación que de seguir adelante nos hubiese dado la posibilidad de poner en órbinta mini satélites de 50 kg. Este proyecto - como tantos otros - fue abandonado por el INTA. Quizás - y esto es mera especulación - por los complejos españoles de una tecnología dual con usos militares como era esta.

Sólo he leído la parte del misil INTA-156 Banderilla, y es bastante interesante para aquellos que les guste la tecnología de estos misiles guiados. Otro proyecto cancelado - y especulando de nuevo -, probablemente la venta por EEUU de un AIM-9 Sidewinder más avanzado que el que teníamos (la versión B) hiciera perder al Ejército del Aire el interés en este proyecto.

viernes, agosto 24, 2018

El IVA del cine

El pasado 5 de julio entraba en vigor el nuevo IVA cultural, consistente en una bajada del tipo de IVA para la cultura, medida que todo el sector pedía para ganar más dinero dinamizar el sector y que el público acudiese más a espectáculos culturales, especialmente a las salas de cine. Esta medida fue incluida por el Partido Popular y Ciudadanos en el prespuesto, y jaleada por el por el PSOE.

Como era esperable, la mayoría de las salas de cine no han bajado los precios de las entradas. Según el ministro - de ese ministerio que no debería existir - Guirao, si la bajada no se repercute, habría que replanteársela. No será que la consecuencia de esta bajada de IVA no fuera la esperable: que muchas salas no la iban a aplicar y a beneficios.

Sin embargo, este no es el fondo del debate. Si tan buena son las bajadas de IVA, según el propio PSOE para el sector. ¿Por qué no se aplican a todos los sectores?. Eso si, luego a muchos se le llenan la boca que en España se recauda poco vía IVA. A lo mejor, la auténtica reforma del IVA sería unificar todos los tipos en uno, porque lo que no se puede estar uno quejando de que se recauda poco por un lado y estableciendo por sectores bajadas o exenciones fiscales en función de la presión que es capaz de hacer el lobby de turno.

domingo, agosto 12, 2018

Compilar SDL 1.2.15 en macOS X 10.13 (High Sierra)

Simple DirectMedia Layer es una librería multiplataforma que permite control de video, dispositivos de entrada y sonido. La versión actual de es la 2.x, siendo la 1.2.x una versión histórica y fuera de soporte. Sin embargo, aunque no se desarrolle, todavía hay programas, como Caprice 32 el emulador de Amstrad CPC que lo necesita para ejecutarse.

Esta librería necesita dos pequeñas modificaciones para que compile sin problemas en la última versión de macOS X, ya que no compila de serie:

diff -ru SDL-1.2.15/src/video/quartz/SDL_QuartzVideo.h SDL-1.2.15.macosx/src/video/quartz/SDL_QuartzVideo.h
--- SDL-1.2.15/src/video/quartz/SDL_QuartzVideo.h 2012-01-19 07:30:06.000000000 +0100
+++ SDL-1.2.15.macosx/src/video/quartz/SDL_QuartzVideo.h 2018-07-22 23:36:18.000000000 +0200
@@ -91,7 +91,9 @@
     CGDirectDisplayID  display;            /* 0 == main display (only support single display) */
     const void         *mode;              /* current mode of the display */
     const void         *save_mode;         /* original mode of the display */
+#if (MAC_OS_X_VERSION_MIN_REQUIRED < 1070)
     CGDirectPaletteRef palette;            /* palette of an 8-bit display */
+#endif
     NSOpenGLContext    *gl_context;        /* OpenGL rendering context */
     NSGraphicsContext  *nsgfx_context;     /* Cocoa graphics context */
     Uint32             width, height, bpp; /* frequently used data about the display */
diff -ru SDL-1.2.15/src/video/x11/SDL_x11sym.h SDL-1.2.15.macosx/src/video/x11/SDL_x11sym.h
--- SDL-1.2.15/src/video/x11/SDL_x11sym.h 2012-01-19 07:30:06.000000000 +0100
+++ SDL-1.2.15.macosx/src/video/x11/SDL_x11sym.h 2018-07-22 23:41:47.000000000 +0200
@@ -165,7 +165,7 @@
  */
 #ifdef LONG64
 SDL_X11_MODULE(IO_32BIT)
-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
+SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
 SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
 #endif

Para compilar hay que especificar el path de las librerías de X11, de la siguiente manera:

env CFLAGS="-I/usr/X11/include" LDFLAGS="-L/usr/X11/lib" ./configure --prefix=/usr/local
make
# Como administrador
make install

viernes, julio 27, 2018

Videotutorial com los primeros paso con git

git es un sistema de control de versiones cuya principal ventaja es su facilidad par trabajar en entornos distribuidos. Hay muchas maneras de aprender a usar este software, pero para dar los primeros pasos (creación de repositorios, añadir ficheros al mismo, commit) este pequeño video tutorial de 20 minutos, puede servinos. No esperéis grandes descubrimientos, es sólo los comándos básicos para empezar, pero lo mismo os puede servir si queréis saber como se usa. Podéis encontrar más documentación en Resources to learn Git

(vía Reddit.programming)

domingo, julio 15, 2018

Google vs Yahoo vs Bing: Una curiosidad

Carguemos Firefox y no estemos loguedos en ningún servicio. Hagamos una búsqueda sencilla, por ejemplo APG-65 en cada uno de los principales buscadores. Lo normal es que el primer resultado sea el de la wikipedia. Veamos cuales son las URL's que nos devuelven, usando botón derecho y copiar ruta de enlace

Google

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwj8rOXn9qDcAhVK1BoKHZ0SBYwQFggnMAA&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FAN%2FAPG-65_radar_family&usg=AOvVaw01dDz3jRT1kiBuX8DySHwx

Yahoo

https://r.search.yahoo.com/_ylt=AwrJS9YjJktbVikAiBCT.Qt.;_ylu=X3oDMTByaW11dnNvBGNvbG8DaXIyBHBvcwMxBHZ0aWQDBHNlYwNzcg--/RV=2/RE=1531680419/RO=10/RU=https%3a%2f%2fen.wikipedia.org%2fwiki%2fAN%2fAPG-65_radar_family/RK=2/RS=wqAqykBebI6AweYjwtNAYf_.Zdg-

Bing

https://en.wikipedia.org/wiki/AN/APG-65_radar_family

De los tres buscadores principales sólo Bing devuelve el enlace real, de tal manera que si pulsas en él, te vas directo al resultado. Tanto Google como Yahoo, si pulsas en enlace, primero pasas por los servidores de Google - para guardar los correspondientes datos - y luego te realiza la redirección. Evidentemente, si estás logueado en cualquiera de estas dos plataformas, estos datos pasan a formar parte de las estadísticas que se tienen y las preferencias de los usuarios. En el caso de Google no siempre fue así, recuerdo que tiempo atrás funcionaba igual que Bing.

Simplemente, es ser consciente como se alimentan los grandes cuerpos de datos de estos gigantes de Internet.

sábado, julio 14, 2018

Libros de programación de los años 80 de Usborne

Usborne es una editorial británica especializada en libros para niños y adolescentes. Durante los años 80 publicaron varios libros de programación alguno de los cuales fueron traducidos en España la editorial Plesa-SM en la colección electrónica. Hace dos años Usborne decidió poner a disposición de todos los libros en PDF para que los nostálgicos puedan descargarlos y con una licencia de uso bastante liberal así como permitir la adaptación de los programas siempre que no se usen para fines comerciales.

These pdf copies of the original Usborne Computer Guides published in the 1980s are free to download for your own personal or educational use. The books and files are the copyright of Usborne Publishing. You can provide a link to the pdfs from your website, but you may not host or distribute the original files.
You may adapt any of the programs in these books to modern computer languages, and share the adaptations freely online. You may not use the adaptations for commercial purposes. Please credit the name of the Usborne book from which you adapted the program, and provide a link to this webpage.

La lista de títulos puestos a disposción por Usborne es la siguiente:

Silicon Valley kill zone

Hace unas semanas The Economist publicaba un artículo American tech giants are making life tough for startups, en el que se habla como los gigantes tecnológicos están usando todos los datos de los usuarios para identificar a las posibles startups que puedan suponer una amenaza para sus negocios y comprarlas, cuando no directamente replicar la funcionalidad que están ofreciendo para evitar la competencia. Los partners que usan los servicios de las grandes nubes pueden encontrarse con la sorpresa que les han copiado la funcionalidad y que las puede ofrecer de manera más barata o incluso gratuita, sacándolos del mercado.

Según el artículo, cualquier startup que esté trabajando en un producto para consumidores finales, no es tan atractiva para el venture capital como era ante, con lo cual puede tener dificultades para obtener financiación para poder crecer.

Pero sin embargo, este comportamiento de los grandes gigantes de internet tiene otro incentivo: Construir las startups para caer en el radar de los grandes grupos y que la compren cuanto antes.

Lo realmente interesante de todo esto, es como se están usando los datos y las telemetrías de estos gigantes de Internet. Y me atrevo a decir, que las búsquedas que los posibles ingenieros de esas startups estén usando para identificar las amenazas.

jueves, julio 12, 2018

El PSOE va a cometer de nuevo el error de los 80 con las nucleares

Dicen que el hombre es el único animal que tropieza dos veces con la misma piedra. Y el PSOE el partido político dispuesto a encarecer la electricidad y a hacer a España un país menos competitivo de nuevo, con la propuesta del cierre de las centrales nucleares.

En Alemania también adoptaron esas medidas han conseguido es aumentar sus emisiones de dióxido de carbono, retrasar el cumplir los objetivos y aumentar el precio de la electricidad. Alemania sacó de golpe 8 Gw de producción nuclear, posteriormente cerró otros dos reactores y ha instalado a lo largo de estos años 42 GW de fotovoltaica y 55 GW de eólica.

¿Tiene importancia todo esto? Mucha más de la que pensamos, por ejemplo Costes eléctricos y competitividad industrial:

Como promedio, para los sectores industriales españoles el precio de la energía ha aumentado un 19% por encima de los precios de los productos que ofrecen. Esta cantidad contrasta con los datos promedio de los demás países europeos de referencia, donde dicho aumento no es mayor del 9%, para Francia o del 3% en Alemania.

Notas

miércoles, julio 04, 2018

Reactores nucleares EPR y AP1000 conectados a red en China

China tiene un ambicioso programa de construcción de reactores nucleares con el objetivo de dotarse de una de las fuentes de generación eléctrica más estables, baratas y limpias con la que dar servicio a su población. Aproximadamente el 40% de los nuevos reactores se están construyendo en el país asiático.

En los reactores nucleares de tercera generación, se han incorporado las evoluciones y mejoras que se han ido desarrollando durante estas últimas décadas de explotación en los reactores de la anterior generación. Dentro de este grupo están en construcción varias centrales con dos diseños, el AP1000 de Westinghouse y el EPR de Framatome. Ambos son reactores de agua a presión (PWR). China está construyendo centrales donde se usa ambos diseños de reactor.

A principios del pasado mes de junio, el primer reactor EPR de la central china de Taishan 1 alcanzaba la criticidad y a finales de mes se conectaba a la red eléctrica.

De igual manera, el reactor AP1000 de la planta de Sanmen 1 alcanzaba la criticidad el 21 de junio, mientras que el pasado 2 de julio se conectaba a la red eléctrica.

Mientras tanto en Europa, especialmente en España, seguimos con los debates sobre si cerrar o no las nucleares sin ser conscientes que el abaratamiento de costes tanto de producción de energía como mediambientales va a suponer para China el parque de reactores nucleares que tiene en construcción. Veremos quien compite con ellos en el mundo industrial y globalizado en el que vivimos. Y eso sin contar que probablemente, disponer de energía barata, no dependiente del petróleo permita a China mejorar de manera significativa las condiciones de vida de su población.

Sigue habiendo demasiadas personas que piensan que encarecer la energía eléctrica, que no deja de ser un bien intermedio, es una buena idea.

viernes, junio 29, 2018

Dos notas breves sobre el intento de Golpe de Estado en Cataluña

Sobre el intento de golpe de estado en Cataluña comandado por Esquerra Republicana de Cataluña (ERC), Partido por Cataluña (PxCat) y la Candidatura de Unidad Popular (CUP) se ha escrito mucho desde que se empezó a gestarse en las vergonzosas sesiones del Parlamento de Cataluña el 6 y 7 se septiembre del año pasado, donde esos partidos políticos decidieron que la mitad de la población de su región no tenían derechos políticos dignos de ser respetados.

La primera noticia que quiero traer aquí es del uso - con la complicidad de los mandos de la mismas - de los Mozos de Escuadra como policía política: entre la documentación que se intentó destruir por parte de la policía regional se encontraron informes sobre asistentes a actos en contra del independentismo. Infornes y fotografías. A esto hay que añadir los que se dedicaron a espiar a las fuerzas y cuerpos de seguridad con motivo de la falsa votación que ocurrió el 1 de Octubre en Cataluña. Para servir a los ciudadanos (los independentistas, los otros son de segunda categoría).

La segunda nota tiene que ver con el espacio radioeléctrico, probablemente uno de los dominios donde el Estado ejerce más control. El golpista Puigdemont tenía lista la expropiación de las diferentes licencias de los operadores de radio y televisión, según la documentación incautada en la oficina de Antoni Molons: Las cartas que les iba a enviar a los medios diciendo que las licencias actuales dejaban de tener validez.

Con estos golpistas, son los que según el actual gobierno de España, presidido por Sanchez Castellón, según vimos hace unos días en una respuesta en el Parlamento al diputado Gabriel Rufián, que está apoyando a los golpistas , son con los que hay que destensar la situación y llegar a acuerdos :)

jueves, junio 28, 2018

Dos enlaces a libros gratuitos sobre Software Defined Radio y Tratamiento de señales en Python

Si os gusta el tratamiento de señales usando Python, se ha publicado en PDF Think DSP escrito por Allen B. Downey para los que queráis introduciros en el tratamiento de señales usando Python. El libro se divide en los siguientes capítulos:

  • Chapter 1 - Sounds and signals
  • Chapter 2 - Harmonics
  • Chapter 3 - Non-periodic signals
  • Chapter 4 - Noise
  • Chapter 5 - Autocorrelation
  • Chapter 6 - Discrete Cosine Transform
  • Chapter 7 - Discrete Fourier Transform
  • Chapter 8 - Filtering and Convolution
  • Chapter 9 - Differentiation and Integration
  • Chapter 10 - LTI systems
  • Chapter 11 - Modulation and sampling

Para aquellos que os guste el Software Defined Radio, Software-Defined Radio for Engineers, de Travis F. Collins, Robin Getz, Di Pu y Alexander M. Wyglinski. El libro se divide en los siguientes capítulos:

  • Chapter 1 – Introduction to Software-Defined Radio
  • Chapter 2 – Signals and Systems
  • Chapter 3 – Probability in Communications
  • Chapter 4 – Digital Communications Fundamentals
  • Chapter 5 – Understanding SDR Hardware
  • Chapter 6 – Timing Synchronization
  • Chapter 7 – Carrier Synchronization
  • Chapter 8 – Frame Synchronization and Channel Coding
  • Chapter 9 – Channel Estimation and Equalization
  • Chapter 10 – Orthogonal Frequency Division Multiplexing
  • Chapter 11 – Applications for Software-Defined Radio

lunes, junio 18, 2018

Primer Aniversario del incendio de Pedrógão Grande

Hoy se cumple el primer aniversario del terrible incendio que arrasó la zona portuguesa de Pedrógão Grande,localidad situada en el centro de Portugal. Como consecuencia del incendio fallecieron 64 personas, muchas de ellas atrapadas por el fuego en sus coches mientras intetaban huír del fuego que arrasó más de 50000 hectáreas de terreno. En las labores de extinción colaboraron medios aéreos de España, Marruecos, Francia e Italia ayudando a los bomberos portugueses y a los procedentes de otros países como la UME española.

Algunas de las imágenes que vi de aquellos días en cuentas de instagram del 43 Grupo daban una idea del infierno que se desató en el centro de Portugal y de la gran dificultad a la que tuvieron que hacer frente todos los medios implicados en la extinción.

Sólo cabe acordarse de la víctimas y agradecer a todas las personas del operativo que hicieron posible la extinción del incendio: Sois el baluarte que protege el medio forestal.

jueves, mayo 31, 2018

Nucleares y la moción de censura

Esto es una noticia sobre las nucleares que leía, sobre una de las posibles consecuencia de la más que previsible victoria de los que han presentado la moción de censura en España: El forzar el cierre de las centrales nucleares existen en España cuando alcancen los 40 años aunque estén en condiciones técnicas y de seguridad adecuadas para su funcionamiento, afirmación respaldada en este tuit de Cristina Narbona, antigua ministra de medioambiente del PSOE.

Afirma:

estamos perdiendo oportunidades de mayor bienestar y creación de empleo de calidad

Bien, esa oportunidad oportunidad se perdió cuando el partido de Narbona, el PSOE, decidió a mediados de los 80 parar la construcción de las centrales nucleares, haciéndonos perder acceso a una energía competitiva y obligándonos gastar dinero en la importación de combustibles fósiles y a comprar energía eléctrica de origen nuclear a Francia. Por no hablar, de las consecuencias que ha tenido las políticas energéticas del gobierno de Zapatero al cuál perteneció en el precio de la energía eléctrica, para pagar las primas de las renovables.

El nacionalismo vasco y catalán

Me hace bastante gracia - y reconozco mi culpa en esto - que las personas que estemos fuera del ámbito de influencia de los nacionalismos reaccionarios catalán y vasco pensemos que a los partidos que representan la supuesta - y mentirosa - máscara amable del nacionalismo se les contenta con dinero en los Presupuestos Generales del Estado.

Es una de las mayores falsedades que nos hemos crídos muchos - que no somos politólogos -, pero que también se han creído medios y políticos, y que nos han transmitido ese mensaje. Veamos, lo que que quiren tanto PNV como PDcat (CiU) es simplemente un Estado donde puedan hacer y deshacer a su antojo.

Por eso es normal que ahora mismo estén apoyando a Sánchez Castejón en la moción de censura en España los que hace apenas una semana firmaban con el mismo los prespuestos o los que acusaban de carceleros al PSOE por apoyar el uso del artículo 155 contra los golpistas catalanes: porque ahora le convienen a sus intereses y ven una oportunidad para doblar más la mano al resto del Estado para mantener sus reaccionarias ideas racistas.

Y cuanto antes nos demos cuenta de esto, mejor: Estos lodos vienen del trato de favor que se ha dado a los nacionalismos por la incapacidad patológica de los grandes partidos de ámbito español de ponerse de acuerdo (y sobre todo de los medios que los han apoyado).

Los datos del IRPF español fueron públicos

De vez en cuando, surgen voces qua apuestan por hacer públicos los datos de las declaraciones de haciencida de las personas físicas. Lo que mucha gente no sabe es que en el diseño original del IRPF tras la Constitución del 78, se aprobó que los datos fueran públicos. Cualquiera podía ir a la las delegaciones de hacienda y consultar cúanto ganaban sus conciudadanos:

El IRPF nació con tal afán de transparencia que el Gobierno aprobó en 1978 la publicación de los datos de contribuyentes. Las llamadas “listas” se colgaban en las sedes de Hacienda y cualquier español podía bucear en los inmensos tomos para conocer con nombres y apellidos las declaraciones de sus conciudadanos. Las listas se publicaron en 1979 y 1980

Pero claro, esa información pública, también tenía valor para los delicuentes, tal como demostraton los asesinos de ETA en el secuestro de Luis Suñer. Dejaron de publicarse en el año 1981 a raíz de este secuestro -recordad, estábamos en plenos años del plomo -.

Siempre que se habla de esta medida, se presenta como un incentivo para evitar el fraude fiscal: Si tus vecinos pueden consuntar lo que declararas y observan tu tren de vida, puede detectarse a aquellos cuyo tren de vida no es compatible con el IRPF declarado. Llegado el momento, podrían denunciar ante las autoridades correspondientes.Si se me permite un poco el cachondeo, parafraseando a Revel - La primera fuerza que dirige el mundo es la mentira. - , en España podríamos decir que La primera fuerza que dirige a los españoles es la envidia.

No me preocupa demasiado lo anterior: mucho más interés tiene el mal uso que puede hacerse de esos datos públicos por parte de delincuentes. Aunque España es un país seguro, hay que recordar que tenemos grupos de crimen organizado cometiendo crímenes, algunos de ellos, muy violentos y que nuestra frontera Sur es especialmente sensible con la inmigración ilegal y el tráfico de drogas. Sería poner en bandeja la selección de objetivos a los delicuentes.

Es cierto: medidas similares existen en los países l nórdicos, por ejemplo Suecia. Pero es necesario comparar las fronteras de Suecia con las españolas y cual es su población, 10 millones frente a los 46 millones de habitantes de España. Y, por supuesto, estas medidas tampoco han cortado de raíz el fraude fiscal en los países que las han aplicado.

domingo, mayo 27, 2018

Usar Ansible para instalar Python

Los módulos de Ansible están escritos en Python. Por lo tanto, si la máquina destino no tiene Python instalado, no se puede ejecutar hasta que no se instale. Ansible tiene la opción raw para poder ejecutar un comando usando la conexión ssh directamente, saltándose todo el sistema de módulos. El uso más normal de este comando es instalar Python para poder usar posteriormente el sistema de módulos. Un ejemplo de uso, es poder usar Ansible para provisionar una Ubuntu 16.04 instalada en EC2, ya que por defecto la ami que se usa no tiene Python. Si incluimos en nuestro playbook una tarea de este tipo:

  tasks:
    - name: install python 2
      raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
      become: yes

Sino encuentra el ejecutable de Python, nos instalará el mismo. Luego, podremos usar los módulos de Ansible como siempre. Un ejemplo completo de un playbook que despliega una máquina en EC2 usando la AMI de Ubuntu 16.04 y se instala python en la misma para poder usar el resto de los módulos. Las variables se pueden definir en un fichero de configuración y pasarlas con -e a ansible-playbook.

- name: Deploy EC2 machine and install python if no exists
  hosts: 127.0.0.1
  connection: local
  gather_facts: False
  tasks:
    - name: Create the security group
      ec2_group:
        name: "{{ec2securitygroup}}"
        description: Access
        rules:
          - proto: tcp
            ports:
              - 22
            cidr_ip: 0.0.0.0/0

    - name: Deploy the machine
      ec2:
        region: "{{ec2region}}"
        key_name: "{{ec2sshkey}}"
        instance_type: "{{ec2instancetype}}"
        image: "{{ec2ami}}"
        wait: yes
        count: 1
        group: "{{ec2securitygroup}}"
        vpc_subnet_id: "{{ec2subnetid}}"
      register: ec2

    - name: If EC2 exists, register its IP
      add_host:
         hostname: "{{item.public_ip}}"
         groups:
          - deployedMachines
      with_items: "{{ec2.instances|default([])}}"

    - name: Wait for SSH to come up
      wait_for:
          host: "{{item}}"
          port: 22
          delay: 10
          timeout: 60
          state: started
      with_items: "{{groups[\"deployedMachines\"]|default([])}}"


- name: Configure instance
  hosts: deployedMachines
  user: "{{remoteuser}}"
  gather_facts: False
  tasks:
    - name: install python 2
      raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
      become: yes
    - name: Update the system
      shell: apt-get update && apt-get -y install  python-apt
      become: yes


Las variables a definir en el fichero yaml de configuración son:

ec2machinename: Nombre de la máquina
ec2sshkey: Clave de la instancia que se va a usar.
ec2instancetype: Tipo de instancia
ec2region: Región de Amazon
ec2ami: "ami-43a15f3e" # Esta es la AMI de Ubuntu en us-east-1
ec2subnetid: ID de la subred donde se va a desplegar
ec2securitygroup: Nombre grupo de seguridad
remoteuser: "ubuntu" # Por defecto, el usuario de las AMI es este

jueves, mayo 24, 2018

Energía nuclear en España: Lo que pudo haber sido

La energía nuclear en España es la responsable de 20% de la generación eléctrica. Actualmente en existen siete reactores en funcionamiento: Almaraz I y II, Cofrentes, Ascó I y II, Trillo I y Valdellos II. En los años 80 había varias centrales en construcción y otros proyectos que fueron paralizados por el Gobierno del PSOE.

El miedo irracional a la misma fue incluido en el programa del PSOE del año 1982, que se concretaría en 1984 en la moratoria nuclear que forzó la paralización de las obras que se estaban haciendo en la central nuclear de Lemoniz (dos reactores para generar 2000 MWe)1, Valdecaballeros I y II (dos reactores de 975 MWe cada uno) y el segundo grupo de Trillo (que de usar el mismo reactor de Trillo I sería de unos 1066 MWe).

Se paralizaron obras con centrales en un estado muy avanzado de construcción, incluso en pruebas prenucleares como Lemoniz o Valdecaballeros, con un total de generación eléctrica prevista de unos 5016 MWe, sin contar con otros proyectos paralizados o en estudio. El coste de dicha paralización tuvo que pagarse a las empresas eléctricas que habían hecho las inversiones y que los consumidores pagamos con el famoso % de moratoria nuclear que incluían las facturas eléctricas2

Ese es el coste que se ve de haber parado la construcción de dichos reactores. El coste que no se ve, es el abaratamiento de la generación eléctrica que hubiesemos tenido los españoles de disponer de esos 5016 MWe en los años 80, y las ventajas que eso hubiese acarreado para nuestra economía,ya que disponer de una fuente de energía más barata nos hubiese hecho ser más competitivos y dedicar los recusos para comprar combustibles fósiles para la generación a otra cosa. Máxime cuando, porque al final hemos estado comprando a Francia muchos años energía de origen nuclear para cubrir la demanda que no erámos capaces de generar.

Una de las razones por las cuales Francia puede permitirse su Estado de Bienestar, sus inversiones y su industria es porque la apuesta que se hizo de usar energía nuclear para la generación eléctrica le permite ser mucho más independiente de fuentes de energía basada en combustibles fósiles y por tanto dedicar esos recursos liberados a otras cosas como su propio estado de bienestar o pagar sueldos más altos.

En el libro Energía nuclear: estado actual y perspectiva inmediata puede leerse un apartado dedicado a las consecuencias de dicha moratoria escrita por Juan Velarde, las consecuencias socio-económicas de la moratoria nuclear. Para Velarde, una de las raíces de la crisis del 90 al 96 en España es nuestra dependencia con otros países para los recursos energéticos. (aquí también)

También sería interesante encontrar un buen gráfico de las importaciones y exportaciones3 de electrocidad en España desde los años 70. Así como el % que las familias y la industria ha dedicado a la compra de energía sobre sus gastos totales, comparado con otros países, como Francia.

Notas

  1. En el caso de Lemoniz hay que tener en cuenta el papel de los asesinos de ETA contra los trabajadores de la central, incluyendo el secuestro y asesinato de José María Ryan Estrada por los valientes gudaris vascos ...
  2. Algunos opinan que esto fue un rescate a las eléctricas, como si en la España de la época, no fuera el gobierno quien fijara el precio de la electricidad.
  3. Si, tal ha sido la caída de actividad en la última crisis que hemos exportado electricidad.

sábado, mayo 19, 2018

Google: The Selfish Ledger o la ingeniería social que se nos viene encima

(vía Slashdot) Hace unos días se filtró un vídeo realizado hace unos años en Google X , una de las compañías de desarrollo de nuevas ideas de Google llamado Selfish Ledger - parafraseando la teoría del gen egoista de Dawkins -. Según el artículo publicado por The Verge y el propio video (lo enlazo al final), la visión del futuro de Google es un mundo donde se recaban todo tipo de datos, se procesan por los algoritmos y los sistemas de Google sirven para darnos cuales son las pautas correctas a seguir según los datos que ha ido procesando - y lo que opinen los diseñadores de esos sistemas de recomendación, esto es mío - . La idea, similar a la de los genes, es que esos corpus de datos, se pasen de generación en generación con el objetivo de mejorar la especie y acabar con los males del mundo. En el vídeo estos corpus de datos lo llama ledgers. El uso adecuado de estos ledgers, junto con los sistemas de recomendación pueden ser usados para cambiar el comportamiento de la especie humana.

Por supuesto, ni una palabra sobre privacidad ni anonimato, ya de la ingeniería social en la que incurren menos. Vale, el vídeo está hecho para provocar. Pero no está mal tener en cuenta estas cosas cuando veamos los 10 primeros resultados de una página de Google respecto a según que temas. Sólo os puedo aconsejad que lo veáis y leáis el artículo de The Verge y que saquéis vuestras conclusiones.

jueves, mayo 17, 2018

Configurar la captura de pantalla en OS X

OS X tiene una combinación de teclas que permite hacer una captura de toda la pantalla o de una de las ventanas. Si se quiere captura la pantalla completa se utiliza la secuencia shift + cmd + 3, mientras que si se quiere capturar una ventana la combinación de teclas a usar es shift + cmd + 4. Por defecto las capturas de pantalla se almacenan en formato PNG en el escritorio.

La carpeta donde se guarda las capturas de pantalla puede cambiarse fácilmente. Por ejemplo si se quiere que se almacenen en ~/Desktop/capturas:

mkdir -p ~/Desktop/capturas
defaults write com.apple.screencapture location ~/Desktop/capturas
killall SystemUIServer

Se puede cambiar el formato en el que se almacenan las imágenes. Por ejemplo, para que capture en formato jpg:

defaults write com.apple.screencapture type jpg
killall SystemUIServer

El tipo de formato puede ser jpg, png - por defecto - , pdf, tiff o gif.

Se puede cambiar el nombre del fichero de pantalla, cambiando la propiedad name:

defaults write com.apple.screencapture name "captura"
killall SystemUIServer

Referencias

martes, abril 24, 2018

Jordi Évole y la acción de la UE en el Mediterráneo

De todas las ficciones que le he leído a Jordi Évole, probablemente la que más me llama la atención es aquella en la que afirma sin despeinarse que la Unión Europea no está haciendo nada en el Mediterráneo para intentar salvar a los inmigrantes que las mafias dedicadas al tráfico de personas lanzan al mar desde las costas libias. De hecho, ha vuelto de nuevo a embarcase en los barcos de Open Arms para grabar un programa. Aquí tenéis algunos ejemplos de tuits con los que se despacha (1,2)

Que Jordi Évole lleva bastante tiempo mintiendo sobre la relación de la Unión Europea y el tráfico de personas en el Mediterráneo es algo que puede comprobar fácilmente cualquiera. Sólo tiene hay que ir a la página web de EUNAVFOR MED o operation Sophia y podrá ver la cantidad de medios que la Unión Europea lleva dedicando desde octubre del 2015. El velero Astral, de la ONG Open Arms se adquirió en julio de 2016. Curiosamente, lo primero que se hace es embarca el equipo de Évole en el velero.

Jordi Évole lleva bastante tiempo afirmando que en la Unión Europea no se ha hecho nada para ayudar a los inmigrantes que salen desde Libia. Veamos los hechos con una pequeña muestra:

Podría seguir buscando referencias - cosa que haré cuando tenga un hueco - . Hay multitud de noticias donde se habla de la participación de los distintos medios puestos por la Unión Europea para ayudar a la lucha contra el tráfico ilegal de personas en el Mediterráneo. Y a esto le sumanos la inestimable labor que realizan multitud de ONGs en la zona, que nadie critica su labor.

Decir que la Unión Europea no ha puesto recursos para salvar a personas en el Mediterráneo es simplemente una mentira. Se ha puesto muchos medios y dinero. ¿Se podría poner más? ¿Se podría hacer más? No lo sé. Pero,ni está ciega ni mira para otro lado. Aquellos que realizan esas afirmaciones, mienten. Pronto tendremos un nuevo Salvados donde se nos intentará convencer de nuevo que la UE está de brazos cruzados. Y ahora, reflexionen sobre lo que muestra o no quiere mostrar el famoso documental Astral. Lo que no es justo es presentar a ciertas ONGs como las únicas que se preocupan por el problema de la inmigración y retratar a la UE como un ente frío que pasa del problema. Algo, por otra parte, clásico del maniqueísmo que suele hacer gala Évole.

Por otra parte, las mafias saben perfectamente que los europeos vamos a hacer lo posible por rescatar a las personas que los traficantes dejan en medio del mar. No me extrañaría mucho, que incluso se lo digan a los mismos inmigrantes que cuentan con esa baza. Un ejemplo de lo que digo es lo que le sucedió a Helena Maleno, a la que las mafias del tráfico de personas en el Estrecho, avisaban para que ésta llamase a Salvamente Marítimo.

Enlaces

viernes, abril 13, 2018

Jon Ritman estará en Retromadrid 2018

¿Os suena el videojuego de Batman o el maravilloso Head Over Heels?. Ambos desarrollados originalmente para máquinas de 8 bits con 64 Kb de memoria y apenas 4 Mhz. Usan la perspectiva isométrica que popularizó juegos como el Knight Lore. En mi caso, el Head Over Heels me proporcionó muchísimas horas de diversión en mi infancia en mi viejo Amstrad CPC 6128.

Pues Retromadrid en la edición que se celebrará este año el fin de semana del 28 y 29 de Abril, se trae el domingo 29 a Jon Ritman el programador de estos dos clásicos, a una charla coloquio. Todo un mito de la programación de los 8 bits. Merecerá la pena oír que cuenta sobre esa época.

lunes, abril 09, 2018

Applescript y Spotify: Uso del API para hacer un sistema de notificaciones

En MacOS X, el cliente de Spotify tiene un API accesible a través de Applescript, que permite controlar el reproductor y obtener información sobre las pistas que están sonando (álbum, artista, portada, etc). Está un poco limitado: no permite gestionar las listas de reproducción de manera sencilla.

Mi idea original era utilizar algún tipo de script que me permitiera gestinar mis listas de reproducción y hacer una copia de seguridad de la misma, así como ver la posibilidad de sincronización con otras aplicaciones. Sin embargo, el API no permite esta funcionalidad - al menos, de manera directa - , así que por hacer una prueba con el mismo, he implementado un pequeño script que se ejecuta desde los launch agents, comprobando cada cierto tiempo si está corriendo Spotify, en caso de que así sea, cuál es la canción que está reproduciendo y se compara con la anterior. En caso de que sea nueva, se muestra una notificación con la nueva canción que se ha empezado.

El script que implementa eso es el siguiente:

-- This script will loop if Spotify is running, showing a notification each time a new 
-- track is playing
use framework "Foundation"
use scripting additions
on getCurrentlyPlayingTrack()
  tell application "Spotify"
    set currentArtist to artist of current track as string
    set currentTrack to name of current track as string
    set currentAlbum to album of current track as string
    set theText to currentArtist & " - " & ¬
      currentAlbum & " - " & ¬
      currentTrack
    return theText
  end tell
end getCurrentlyPlayingTrack

on run
  set currentTrackID to ""
  repeat
    if application "Spotify" is running then
      tell application "Spotify"
        if player state is stopped or player state is paused then
          current application's NSThread's sleepForTimeInterval:2
        else
          set tmpTrackID to id of current track
          if tmpTrackID = currentTrackID then
            current application's NSThread's sleepForTimeInterval:2
          else
            display notification my getCurrentlyPlayingTrack()
            set currentTrackID to tmpTrackID
          end if
        end if
      end tell
    end if
    current application's NSThread's sleepForTimeInterval:2
  end repeat
end run

Las dos partes más interesantes de este script son aquellas partes que interaccionan con Spotify y la técnica usada para realizar una espera activa.

La interacción a través del API, nos permite saber cual es el estado actual del player, player state, que puede ser playing, paused o stoped:

tell application "Spotify"
  if player state is playing then
    display dialog "Player running"
  else if player state is paused then
    display dialog "Player paused"
  else if player is stopped then
    display dialog "Player is stopped"
  else
    display dialog "Unknow state"
  end if
end tell

Por otra parte, se obtiene información de la pista actual seleccionada en el reproductos con current track:

tell application "Spotify"
  set currentArtist to artist of current track as string
  set currentTrack to name of current track as string
  set currentAlbum to album of current track as string
  set theText to currentArtist & " - " & ¬
    currentAlbum & " - " & ¬
    currentTrack
  display dialog theText
end tell

El resto de las propiedades pueden verse añadiendo la aplicación al Editor de Script y viend las propiedades del objeto: Se puede controlar el volumen, la pista que se está reproduciendo, pasar a la siguiente pista, a la anterior...

Puede que nos interese que este script siempre se esté ejecutando, pero claro, no nos interesa estar haciendo espera activa, usar la funcionalidad presente en las versiones de AppleScript incluidas a partir de Yosemite, de llamar a clases de Objective-C, en vez de usar el comando delay, hago un sleep para que el control se ceda a otro hilo:

use framework "Foundation"
use scripting additions
current application's NSThread's sleepForTimeInterval:2

Para que nuestro pequeño script se arranque cada vez que entremos en el ordenador, lo ideal es implementarlo como un un Launch Agente. Si nuestro script está grabado en la ruta ~/Library/Scripts/spotify.scpt, se puede crear un fichero XML en ~/Library/LaunchAgents y cargarlo en el sistema con ayuda de launctl. Si creamos en el directorio de agentes un fichero que podemos llamar local.spotify.nexttrack.plist con el siguiente contenido:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>local.spotify.nexttrack</string>
  <key>ProgramArguments</key>
  <array>
    <string>sh</string>
    <string>-c</string>
    <string>osascript "$HOME/Library/Scripts/spotifyon.scpt"</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

Y ahora, lo ponemos bajo supervisión del launchd, que lo lanzará cada vez que nos loguemos en el sistema:

cd ~/Library/LaunchAgents
launchctl load local.spotify.nexttrack.plist

Tal como está desarrollado el script, este hará un bucle, comprobará si está Spotify ejecutándose. De ser así, mirará el estado del reproductos, y si está reproduciendo y la pista es distinta a la anterior, mostrará una notificación.