viernes, julio 30, 2010

El dinero electrónico es una mala idea

La seguridad es una de las trampas a las que recurren diversos colectivos, normalmente cercanos a los gobiernos, para pedir leyes que quiten algo de libertad a los ciudadanos. Ayer leía en El Economista que en Suecia se plantean el uso del dinero electrónico en vez del dinero en metálico. Uno de los sindicatos de de empleados bancarios suecos sostiene que de esta manera habría menos atracos.

Mi tesis, sin embargo es diferente: de esta manera habría más control y los gobiernos podrían controlar de manera más efectiva el ahorro de los ciudadanos, para forzarlos a gastar cuando les interese:

  • El dinero en metálico tiene la virtud de ser anónimo. Cambia de manos, se compran bienes y servicios, pero en ningún momento lleva la información de que se ha hecho con él. Para mucha gente, cree que esto favorece el fraude y el dinero negro, pero para mi favorece mi privacidad. No quiero ni imaginar lo que se frotaría las manos cualquier Estado si tuviese acceso a todas las transacciones de sus ciudadanos. Decir que a día de hoy, tiene acceso a todas las que se hace con tarjeta y a cualquier movimiento bancario mayor que una determinada cantidad.Imagino a las mentes planificadoras, tantas veces fracasadas, frotándose las manos ante esta idea.
  • Muchos hemos visto como los bancos centrales han reducido el interés prácticamente a cero durante estos últimos años de crisis económica para intentar que la gente se siga endeudando. En Japón, durante su década perdida de los 90, los tipos de interés estuvieron siempre próximos a cero para intentar que la gente comprara cosas. Imaginad por un momento, que todo el dinero son apuntes electrónicos. Y que las autoridades monetarias deciden que la tasa de interés es negativa. Es decir, que tu dinero ahorrado pierde valor con el tiempo. Es un mecanismo para forzar a la gente a comprar cosas y mover el dinero en la economía. Destruyendo el ahorro, como siempre y favoreciendo vivir a crédito.

Es curioso que se hable que eso evitará los robos: Ya hemos visto como el dinero electrónico ha evitado el fraude de las subprimes - donde se concedían hipotecas a gente que positivamente se sabía que no iban a pagar, ha evitado el uso de productos financieros estructurados, donde el riesgo se diluía en armamentos matemáticos, ha evitado las estafas tipo Madoff,...


Technorati Tags:

miércoles, julio 28, 2010

Curioso kernel panic de MacOS X 10.6.4 con Flash Player

Llevo un tiempo teniendo un problema con un Macbook Pro i5 y el Snow Leopard, 10.6.4, en forma de kernel panic. Es la primera versión en casi siete años de uso de MacOS que tengo un problema de este tipo, y he estado investigando un poco cual puede ser la causa. El problema se produce justo cuando se selecciona una ventana del navegador, donde se está ejecutando el flash player, y se produce de manera totalmente aleatoria.

Lo primero que hay que saber que cuando en un Apple con microprocesador Intel se produce un kernel panic, esta información se almacena en la nvram de la máquina y posteriormente, durante el proceso de arranque del sistema, se almacenará en un fichero en el directorio /Library/Logs/DiagnosticReports con nombres que comienzan con Kernel_

Todos los kernel panic son similares, Page Fault, con un volcado de registros similar al siguiente:

Tue Jul 20 14:13:34 2010
panic(cpu 0 caller 0x2a8ab2): Kernel trap at 0x00000000, type 14=page fault, registers:
CR0: 0x80010033, CR2: 0x00000000, CR3: 0x00100000, CR4: 0x000006e8
EAX: 0x106e9e80, EBX: 0x00000000, ECX: 0x0000000c, EDX: 0x1073e000
CR2: 0x00000000, EBP: 0x924d3c08, ESI: 0x1073e000, EDI: 0x460df000
EFL: 0x00010246, EIP: 0x00000000, CS:  0x00000008, DS:  0x00ac0010
Error code: 0x00000010

Viendo un poco el resto del fichero de kernel panic me llama la atención el siguiente fragmento que es común a todos los kernel panic que me ha dado la máquina:

      Kernel Extensions in backtrace (with dependencies):
         com.apple.driver.AppleIntelHDGraphics(6.1.6)@0x11f6000->0x12a2fff
            dependency: com.apple.iokit.IOPCIFamily(2.6)@0x926000
            dependency: com.apple.iokit.IONDRVSupport(2.1)@0x959000
            dependency: com.apple.iokit.IOGraphicsFamily(2.1)@0x937000

BSD process name corresponding to current thread: WebKitPluginHost

El proceso que siempre se produce el problema está involucrado dicho proceso. Este proceso hace de contenedor para plugins de Safari que están compilados de 32 bits, se puedan usar desde el navegador de 64 bits, entre otros, el flash player. Buscando más información di con varios hilos en la página web de los foros de Apple, Apple Discussions,donde había gente con el mismo problema, y exactamente el mismo kernel panic. Había un denominador común en todos ellos: usamos un monitor conectado al Macbook Pro a través del puerto mini display port.

Una cosa muy interesante de la última hornada de Macbook Pro y de Snow Leopard es la posibilidad de activar una de las dos tarjetas gráficas que tiene, la nVidia o la Intel. Curiosamente, el volcado de pila que nos da el kernel panic implica el driver de la tarjeta de la intel com.apple.driver.AppleIntelHDGraphics.

Parece ser que hay algún tipo de bug en el conjunto de rutinas que se encarga de activar ambas tarjetas gráficas que lo levanta el plugin del Flash player que se está ejecutando dentro del proceso WebKitPluginHost. Esto es un error bastante grave de Apple, ya que un proceso de usuario, está causando un problema en todo el sistema, con lo cual sugiere que el aislamiento del sistema con ese API no es el adecuado, pudiendo ser un posible vector de ataque.

He reportado el bug a Apple, tanto a través de su página Bug Reporter, aparte de de la página de feedback del Macbook Pro.

Resumen

  • Sólo se produce cuando hay otra pantalla conectada a través del mini display port.
  • Siempre se produce al seleccionar la pantalla del Safari.
  • El stack trace que me da el kernel panic siempre es el mismo.
  • El módulo que aparece en el stack trace siempre es el com.apple.driver.AppleIntelHDGraphics.
  • Podría ser un problema de seguridad.

Technorati Tags:

Ahora no son especuladores, son inversores

¿Nadie recuerda a los principales políticos europeos poniendo en solfa la especulación con deuda pública hace apenas unos meses, que llegó con el rescate europeo a principios de Mayo?. ¿Las declaraciones del presidente de España, sr Rodríguez, contra los especuladores?.¿Las noticias de los periódicos del régimen , hablando de la especulación

Hoy el Tesoro público español ha colocado 3500 millones de euros en Letras del Tesoro. Curiosamente Público decía hace apenas quince días que la emisión a 15 años de 3000 millones de euros mediados de julio, que El respaldo de los inversores ha sido clave para la buena marcha de la subasta.

Ningún periódico económico, por supuesto,dirá que los que compran papel del estado lo hacen para ganar dinero. Ahora son inversores, no especuladores, que es como se les llaman cuando deciden no dejar madurar el papel en sus carteras y lo venden. Lo gracioso es que luego saldrá cualquier cantamañanas - me viene a la cabeza Manolito Chaves - hablando de especulación y abriendo telediarios, aprovechando la nula formación económica y espíritu crítico que tenemos los españoles, gobierne quien gobierne. Una pequeña noticia más de deuda pública, ¿saben ustedes en qué está el 85% de los ahorros del sistema de pensiones español. ¿Estos son especuladores o inversores?

Technorati Tags:

sábado, julio 24, 2010

Los dichosos test de stress de la banca europea

Acaban de publicarse hoy los resultados de lo test de esfuerzo a los que han sido sometidas 91 entidades financieras europeas. El resultado es que la inmensa mayoría de las mismas pasan las pruebas de requerimiento de capital necesario excepto siete, cinco de ellas españolas (lógico si se tiene en cuenta de que de las 91 entidades, 27 son españolas) Día de golpes de pecho de los dirigentes de las mismas sobre la fortaleza del sistema y de todos los políticos europeos.

Sin embargo - no soy economista - hay algunas noticias que me hacen desconfiar del optimismo por el cual se deja llevar todo el mundo:

  • ¿Por qué se ha prolongado hasta diciembre el FROB, el fondo de rescate bancario español. Para unos requerimientos de capital en el peor de los casos de los test de esfuerzo de 3000 millones de euros, según la prensa, da mucho que pensar que se siga autorizando un fondo que estaba dotado de 10000 millones de euros y que permite dotarse hasta 100000 millones, a través de la emisión de deuda pública. Parece ser que ya se ha aportado unos 11000 millones de euros a diferentes entidades.
  • Otro detalle son las continuas subidas del euribor que se han estado produciendo estos últimos tiempos. En un entorno donde hay confianza entre los bancos, donde ha habido una barra libre casi completa por parte del Banco Central para que la banca obtuviera financiación no deja de se curioso la evolución de este índice estas últimas semanas. ¿Por qué está subiendo cuando los tipos del BCE están al 0.5%?
  • Según las noticias, estos test han tenido en cuenta la cartera de bonos que los bancos utilizan para trading, pero no los que ellos se quedan para esperar su madurez, la inmensa mayoría de los bonos que poseen, que son ignorados por los test.

En un sistema financiero como el nuestro, donde la gente necesita de confianza en el futuro, para que se pueda endeudar, todo esto me suena a mucho de vender humo y propaganda, a ver si con un poco de suerte, la gente comienza otra vez la juerga de la deuda. Si ese bucle de vivir del dinero del futuro se rompe y la gente comienza a ahorrar para pagar sus deudas, gran parte del castillo de naipes que es nuestro sistema financiero se viene abajo. Por eso es imprescindible seguir vendiendo que todo está estupendo para que la gente se siga endeudando. Toda esta crisis no es más que el resultado de la brutal expansión de crédito de la cual los bancos, no han sido más que su correa de transmisión.


Technorati Tags:

viernes, julio 23, 2010

Como crear un sistema HFS+ sensible a mayúsculas y minúsculas en MacOS X

El sistema de ficheros que usa por defecto la instalación de MacOS X, no es sensible a mayúsculas y minúsculas, es decir, que dentro de la jerarquía de ficheros el nombre Hola,HOLA o HoLa, hace referencia al mismo fichero. Debido al trabajo, me he encontrado que en el repositorio git que usamos, tenemos ficheros con el mismo nombre pero que sólo se diferencia en las mayúscula y minúsculas, con lo cual no puedo editarlos en el Mac. Para buscar una solución a este problema, he decido usar un fichero de imagen para almacenar todo el repositorio de git y que distinga ficheros en mayúsculas y minúsculas.

La utilidad que nos permite comunicarnos con el framework encargado de gestionar las imágenes de discos en MacOS X es hdituil. El sistema de ficheros que queremos crear queremos que sea el estándar de MacOS X, HFS+, que sea sensible a mayúsculas y minúsculas (case sensitive), que use la tabla de particiones estándar de los Mac en Intel con Snow Leopard y que el fichero y vaya creciendo conforme se vaya añadiendo información hasta el límite que nos interese.

La opción que usaremos del hdiutil será create. Podemos ver toda la ayuda de la opción de la siguiente manera:

hdiutil create -help

Con todas las opciones anteriores, el comando que hay que introducir en el terminal para crear un fichero con las propiedades anteriores es la siguiente (todo en la misma línea):

hdiutil create -fs "Case-sensitive HFS+" -layout "GPTSPUD" -type SPARSE -megabytes 8000 -volname "git.image" git.image

Las opciones que se han pasado a hdiutil create son las siguientes:

  • -fs "Case-sensitive HFS+": El tipo de sistemas de ficheros que se creará dentro del fichero de imagen será HFS+ y los nombres de ficheros y directorios será sensible a mayúsculas y minúsculas.
  • -layout "GPTSPUD": Tipo de tabla de particiones. En este caso, indica que usa el sistema de particiones de Apple con una sola entrada y que genera un UUID para la misma. Este es el tipo de particiones que utiliza los Mac con procesador Intel. En el caso de usar un procesador con PowerPC se puede usar SPUD como tipo de partición.
  • -type SPARSE: Con esto indicamos que el no queremos que se reserve todo el espacio que va a tener la imagen. Ahorramos espacio, pero puede producir fragmentación en el fichero,haciendo más lento el acceso a los datos.
  • -megabytes 8000: Tamaño en megabytes que tendrá la imagen.
  • -volname "git.image": Etiqueta de volumen del nuevo sistema de ficheros. Nos aparecerá en el Finder como un disco con dicho nombre - siempre que no exista otro con el mismo nombre montado con anterioridad -.
  • git.image. Este es el prefijo del nombre de fichero que nos va a crear. Como hemos usado la opción -type SPARSE, el nombre del fichero que nos creará será git.image.sparse.

Ahora se puede ir uno al Finder y montar la imagen haciendo doble click sobre la misma. También es posible montarla desde la línea de comando con la siguiente orden:

swordcoast:Documents terron$ hdiutil attach git.image.sparseimage 
/dev/disk2                  GUID_partition_scheme                  
/dev/disk2s1              EFI                                    
/dev/disk2s2              Apple_HFS                              /Volumes/git.image

Con la orden mount desde la ventana de terminal podemos verificar que está correctamente montada la imagen:

swordcoast:Documents terron$ mount
/dev/disk0s2 on / (hfs, NFS exported, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk2s2 on /Volumes/git.image (hfs, local, nodev, nosuid, noowners, mounted by terron)
swordcoast:Documents terron$

Por último a mi me interesa que esta imagen esté siempre montada cuando utilizo una ventana de Terminal. La manera más sencilla de hacer esto, si se usa la shell bash en el terminal es añadir al fichero $HOME/.profile las siguientes líneas:

if [ !  -d /Volumes/git.image ]; then
        hdiutil attach /Users/terron/Documents/git.image.sparseimage
fi

Mejoras a futuro

Quizás de la parte que estoy más descontento es en la manera que se monta la imagen almacenada en /Users/terron/Documents a través del .profile no me convence. He estado buscando información para ver si el automount podría proporcionarme una interfaz cómoda para montar las imágenes, pero no he encontrado información suficiente. También tengo pendiente en publicar algunas notas del uso de hdiutil para manejar las imágenes de discos en MacOS X.


Technorati Tags:

viernes, julio 16, 2010

svn (IV): Ramas

He hablado en varias ocasiones en el blog sobre subversion, un sistema de control de versiones que he utilizado para llevar el control del código fuente de algunos programas. Una entrada que tenía pendiente desde casi hace un año es el uso de ramas (branches)

Ramas

Las ramas es una herramienta que nos permite seguir vías alternativas de desarrollo para poder posteriormente, si se desea, juntar los cambios en un camino principal. Supongamos que tenemos una serie de ficheros en los que estamos desarrollando que se llama trunk. Llegado el momento, queremos probar una serie de mejoras, una nueva funcionalidad, y no queremos que este código principal de desarrollo se toque, entonces lo que se crea es una nueva_rama, que no deja de ser una copia del código en un momento determinado del tiempo, donde el desarrollo diverge:

Cuando estamos en la situación del gráfico anterior hemos realizando una operación de crear una nueva rama en el punto uno. Podremos desarrollar en cualquiera de las ramas, (trunk o nueva_rama), y llegado el momento, lo normal es que integremos los cambios que nos interesen dentro de la rama trunk. ¿Por qué esta rama?. Porque por convenio, en subversion, la rama principal de desarrollo se llama así.

Normalmente la estructura de directorios un proyecto de subversion es tal como sigue:

proyecto
    trunk
    branches
    tags

Nosotros trabajamos dentro del directorio trunk que se corresponde con la rama principal de desarrollo. Ahora, ¿Cómo se crea una nueva rama a partir de una rama existente o la principal?. Pues se usa una copia de la rama que deseemos, usando el comando svn copy. Así por ejemplo, para copiar desde la rama trunk a nueva_rama tal como se ve en el caso anterior. En este caso estamos dentro de un repositorio de un proyecto llamado proyecto_svn

swordcoast:proyecto_svn terron$ svn copy trunk branches/nueva_rama
A         branches/nueva_rama
swordcoast:proyecto_svn terron$ svn status
A  +    branches/nueva_rama
swordcoast:proyecto_svn terron$ svn commit
swordcoast:proyecto_svn terron$cd branches/nueva_rama

Tras ejecutar la última orden, estaremos dentro del directorio de nueva rama, podremos seguir editando y modificando la misma, sin tocar la rama trunk, o bien mientras otros desarrolladores tocan dicha rama. Un detalle interesante respecto al concepto de rama dentro de subversion, es que realmente no hay ninguna "rama" real ni ninguna estructura interna que haga referencia a la misma, sino que no deja de ser una copia de un directorio determinado.

La última operación que nos queda cuando usamos ramas es mezclar (merge) los cambios de dos ramas. ¿Cómo realizamos dicha operacion?.A través del comando svn merge. Lo primero que debemos saber es la revisión que tiene cada rama que deseemos mezclar. Si seguimos con nuestro ejemplo, supongamos que la rama trunk está en la revisión 100 y la rama nueva_rama está en la revisión 150. Queremos incorporar a la rama trunk todos los cambios que hemos realizado en la rama nueva_rama. Para ello, dentro de nuestro directorio de proyecto:

cd trunk
svn merge -r 150:100 ../branches/nueva_rama
svn commit

Si todo va bien, la secuencias de comandos anteriores incorporará a la rama trunk los cambio que hemos desarrollado en la rama nueva_rama. A partir de aquí podemos dar por finalizado el trabajo en dicha rama, o bien seguir trabajando en las dos - esto es útil cuando se quiere tener una rama de desarrollo y otra estable, por poner un ejemplo sencillo -.

Sin embargo, puede producirse conflictos entre las versiones que la lógica automática del subversion sea incapaz de corregir. Llegado el momento, el sistema nos preguntará que queremos hacer:

Select: (p) postpone, (df) diff-full, (e) edit, (r) resolved,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options:
Lo que nos está pidiendo el sistema es una serie de opciones para ver que hacemos con aquellos merge que hayan fallado:
  • p Dejar los cambios para más tarde.
  • df Nos muestra un diff completo de todos los ficheros que han cambiado.
  • e Editamos el fichero que ha fallado al hacer el merge, para editarlo manualmente.
  • r Damos el merge por resuelto.

Lo normal en caso de que haya ocurrido un error en esta fase, es editarlo, resolviendo los posibles conflictos y luego hacer el commit. El tema de conflictos entre ficheros, lo trataré en un artículo posterior, de momento dejo aquí estas pequeñas pinceladas de como resolverlo.

Referencia

  1. Control de versiones con subversion
  2. Uso de Branches y Tags con SVN
  3. Copying Changes Between Branches

Technorati Tags:

jueves, julio 15, 2010

Cisla

Solemos visitar a unos familiares que viven en la localidad de abulense de Cisla,una pequeña localidad abulense, situada en la comarca de la Moraña, comarca situada al norte de la provincia de Ávila. Rodeada de campos de cereales y de remolachas azucareras, la actividad agrícola es el sostén de esta zona. En el pueblo se celebra las fiestas de San Antonio. Aprovechando que fuimos a pasar el día, nos llevamos la cámara, para sacar algunas fotografías del pueblo y los alrededores.

En primer lugar estuvimos sacando algunas fotos de los campos que rodean la población, justo en la salida de la carretera que lleva hacía Muñosancho.


Campos de cereal, Cisla


Cisla, desde uno de los caminos rurales

En el centro del pueblo puede verse la iglesia de Nuestra señora de la Asunción. Según la información que he estado buscando por internet, la torre puede fecharse entre los siglos XIV y XV, mientras que la cabecera parece estar construida en el siglo XVIII. No he podido encontrar demasiada información sobre la misma, más allá de lo que aparece en esta página


Iglesia de Nuestra Señora de la Asunción, Cisla


Detalle de la campana de la torre, Cisla

Aunque nunca hemos ido, en los alrededores de la población están los restos del castillo de Torralba, en una finca privada.El resto de las fotos que tomé ese fin de semana están en álbum de Picassa Cisla - Junio 2010

Technorati Tags: ,viajes