Mi Disco Duro es una PDA November 27, 2005
Posted by Iñigo in : Uncategorized , add a comment
Las nuevas tecnologías de memoria prometen un mundo donde quedarse sin pilas no nos obliguen a restaurar nuestra Palm de un backup.
Hace unos días comentabamos que en un futuro no muy lejano la memoria que utilizarán nuestros ordenadores estará basada en una tecnología que hará innecesario arrancarlos tal como hacemos ahora, ya que los contenidos de la memoria no se borrarán al apagarlos.
Los efectos de esta tecnología ya los conocen los usuarios de dispositivos móviles como PDAs y discos-llavero usb. Es muy fácil utilizar cualquiera de estos aparatos porque responden inmediatamente al encenderlos y los puedes empezar a usar al instante.
Estas nuevas memorias, por ejemplo, permitirían que una PDA no perdiera sus datos al agotarse las baterías. En estas circunstancias sincronizar una PDA con el PC resulta menos interesante de lo que parece:
- Los usuarios de PDAs las sincronizan con su PC por dos razones principales:
-
- Para actualizar datos desde/con el PC.
- Para disponer de una copia de seguridad de su PDA en caso de emergencia (fallo de las pilas, etc…).
Yo hace casi dos años que no sincronizo mi Handspring con mi PC. En su momento compré un módulo de backup junto con mi PDA que me permite llevarla a cualquier parte sin preocuparme mucho de cuánta pila me queda. Cuando toca cambiar las pilas, hago una copia de seguridad completa de la PDA en el módulo de backup.
Esto rompe por completo la metáfora “tentacle” de las Palm: tu PDA es una extensión de tu PC. Este no es mi caso. Mi Handspring no lleva información que esté en mi PC. No llevo correo ni ficheros de mi PC a bordo. Para lo que me ha servido mi PDA es para generar datos que, pasado un tiempo, he podido necesitar incorporar a mi PC.
Otra de las cosas que me hace reacio a sincronizar mi PDA es que tengo que instalar el Palm Desktop. En su momento esta era una idea estupenda, porque no había otra forma de comunicar una Palm y un PC que mediante un puerto serie y un programa de comunicaciones especializado. Desafortunadamente Microsoft siguió el camino de Palm en Windows CE, y posteriormente en sus PocketPC obligando al usuario a sincronizar su PDA con un programa que he instalado previamente (y que en ocasiones no detecta mi vieja iPaq).
Parece lógico que en el futuro esto cambie por varias razones:
- Las PDA son cada vez más potentes (por ejemplo, la PDA Dell AXIM basada en PocketPC incorpora un procesador ARM de 400Mhz - la misma frecuencia que hace tan solo 4 años utilizaba un ordenador de sobremesa puntero). Tarde o temprano estos equipos podrán ejecutar aplicaciones de potencia comparable al PC sin necesitar convertir los ficheros a un formato más sencillo.
- En algún momento las PDA comenzarán a utilizar memorias no volátiles. Al principio será una característica nueva para vencer más PDAs;en una segunda fase incorporarán estas memorias por motivos económivos agrupando en un mismo pedido memorias destinadas a PDAs y equipos de sobremesa.
- Existen estándares que permiten trabajar con un dispositivo USB/Firewire como un disco duro externo y además……
- …. los dispositivos externos extraibles pueden ejecutar un programa almacenado en el dispositivo en su momento de inserción.
A la vista de esto podemos pensar que en un futuro nuestras PDAs serán lo más parecidos posible a un disco duro portátil en el que almacenaremos nuestros ficheros para llevarlos de forma sencilla de un PC a otro, con la posibilidad añadida de consultar la información que contienen estos ficheros y además de incorporar nueva información.
¿Y tú que opinas?
OpenBSD 3.4 - Review
Posted by Iñigo in : Uncategorized , add a comment
La nueva versión 3.4 del Sistema Operativo OpenBSD incorpora un prometedor demonio de control del estado del hardware.
Este es el primero de una serie de artículos previos al lanzamiento de OpenBSD 3.4 en los que trataremos de avanzar las mejoras que se han introducido en esta versión.
¿Qué aporta esta versión?
La estrella de esta release es W^X un esquema de protección de memoria que implide que el contenido de una misma página de memoria pueda modificarse y ejecutarse indistintamente.
De esta forma separamos las zonas de memoria ejecutables (que contienen programas) de las zonasmodificables (que contienen datos), con lo que dificultamos el trabajo de entrar en el equipo a un hipotético atacante.
Este cambio ha obligado al equipo de OpenBSD a migrar el completamente la plataforma i386 al formato de ejecutable ELF, en lugar del formato a.out que se utilizaba hasta ahora.
Separación de Privilegios
En OpenBSD 3.3, conocimos por primera vez una característica de OpenSSH (otro proyecto de la casa) que se ha contagiado a los demonios servidores de OpenBSD 3.4: la Separación de Privilegios.
La técnica de Separación de Privilegios consiste en utilizar dos procesos por servidor en lugar de uno solo, como es habitual.
De esta forma tendremos un proceso poco privilegiado hablando directamente con la red y que, tras recibir los datos del cliente, se comunicará con un segundo proceso que será el encargado de llevar a cabo las tareas de servidor propiamente dichas. Por seguridad, el proceso que habla directamente con la red se encuentra en una zona restringida bajo un directorio raíz virtual (chroot) del que no puede salir.
Si un hackerconsigue entrar en el sistema, con toda probabilidad estará atrapado dentro del entorno chroot, donde no tendrá margen suficiente de maniobra como para ir mas allá.
En OpenBSD 3.4, la Separación de Privilegios se extiende también al demonio inetd, y a named(el encargado de asignar nombres a equipos, como por ejemplo www.eduangi.com), además de estar presente en OpenSSH.
OpenBSD34 review (2)
Posted by Iñigo in : Uncategorized , add a comment
Continuación del artículo de revisión de OpenBSD 3.4. Esta vez nos centramos en los cambios de licencia, y el nuevo hardware disponible soportado por el sistema.
Como vimos en el artículo anterior, OpenBSD 3.4 ha cambiado bastante respecto a lo que era hace tan solo uno o dos años.
Soporte de Hardware
Uno de los apartados en los que OpenBSD está cambiando mucho es en el apartado de hardware soportado.
La nueva versión 3.4 (que ya se puede ordenar en la web de OpenBSD) incorpora soporte nativo para dispositivos hardware nuevos como:
- Microprocesadores Transmeta
- Microprocesadores Via C3
-
- No no sólo se soporta el microprocesador;también se ha integrado en el marco criptográfico del sistema, lo que permite acelerar operaciones de cifrado - p.ej. SSL - en todo el sistema operativo.
- Tabletas Digitalizadoras Wacom USB en XFree
-
- Hasta ahora el soporte de tableta gráfica en OpenBSD se llevaba a cabo mediante uhid (USB Human Inteface Device) emulando un mouse, perdiendo la posibilidad de obtener datos de presión e inclinación del lápiz sobre la tableta gráfica.
- Controladores de red Wireless
Licencias
Durante la transición de 3.3 a 3.4 se ha realizado una operación de limpieza de licencias en todo el árbol del Sistema Operativo.
Anteriormente el software con licencia BSD debía incorporar una clausula de anuncio en la que se obligaba a anunciar la procedencia del código original a quien incorporase un fragmento o la totalidad de un programa en un proyecto propio.
Este requisito era razonable hace poco tiempo, pero a medida que los proyectos crecen y se van incorporando nuevos fragmentos de código - cada uno de ellos de una fuente distinta (empresa, organización, o colaborador) - resulta inviable acatar la cláusula de anuncio de la licencia (imagine tener que poner una línea por cada commiter).
Para evitar futuros problemas, se ha pedido a los colaboradores de OpenBSD que eliminen la cláusula de anuncio de sus módulos fuente (tal como han hecho NetBSD y FreeBSD), con el doble propósito de (1) No tener problemas de licencias en el propio proyecto OpenBSD y (2) favorecer la adopción de código del proyecto OpenBSD en otros proyectos de software.
Userland
Como consecuencia de la limpieza de licencias, se ha eliminado el código licenciado de forma “no uniforme” y se ha sustituido por nuevos módulos fuente. También se han sustutuido programas en espacio de usuario (userland) como bc(1) por otras nuevas más sencillas de mantener y con la misma funcionalidad.
Conclusiones
En los últimos 12-18 meses hemos podido comprobar que OpenBSD ya no es lo que era - en el buen sentido
Cada vez vemos nuevos proyectos independientes de software (como p0f y pf) que se terminan incorporando al Sistema Operativo como nuevas funcionalidades que lo hacen más atractivo.
Cada nueva release incorpora características de seguridad, que si bien hace unos meses eran útiles para la explotación de sistemas solamente, ahora resultan una ayuda prácticamente imprescindible para al desarrollador durante una fase de depuración (al incorporar de serie propolice y dar offsets de memoria “al azar” con malloc, podemos encontrar y parar problemas en nuestro código - también presentes al portarlo a otras plataformas - pero que en OpenBSD son sencillos de encontrar).
eXtreme System Administration
Posted by Iñigo in : Uncategorized , add a comment
La técnica de pruebas de eXtreme Programming aplicada a la administración de Sistemas.
Hasta hace poco tiempo, mis Proyectos de Sistemas seguían este orden:
- Concepción
- Prueba de Concepto
- Documento de Requisitos del Sistema
- Implementación (desarrollo, e integración)
- Pruebas de Aceptación
- Puesta en Producción
- Soporte
Este orden es, a grandes rasgos, correcto pero no tiene en cuenta algunas cosas:
- Desde que escribimos el Documento de Requisitos del Sistema hasta que ponemos en Producción el Sistema pasa el tiempo suficiente como para cambiar de opinión unas cuantas veces.
- En cualquier fase del proyecto conocemos muchas menos cosas sobre de lo que ocurrirá después de la puesta en Producción que en la fase siguiente.
Administración de Sistemas Extrema ( Xtreme SysAdministration )
Después de oir leer algo sobre eXtreme Programming pensé que podría tratar de aplicar alguna de sus técnicas en algún nuevo proyecto; en este caso la migración de el sistema de autenticación de 90 equipos Unix.
Este nuevo proyecto ha seguido este otro ciclo de desarrollo:
- Concepción
- Prueba de Concepto
- Documento de Requisitos del Sistema
- Bucle de eXtreme Programming (iterar hasta tener un resultado adecuado) :
-
- Selección de característicasa implementar.
- Pruebas automáticas (codificación y ejecución).
- Implementación (desarrollo, e integración)
- Puesta en Producción
- Soporte.
Parece que la diferencia no es muy grande; pero en realidad sí lo es:
Durante el Bucle de eXtreme Programming tenemos varias iteraciones, esto es, ciclos de desarrollo e integración en los que se van incorporando características al sistema precedidos de unas pruebas que nos van a mostrar en todo momento el estado del proyecto y del sistema en cada iteración.
Después de la puesta en producción del sistema, seguimos utilizando estas pruebas automáticas para comprobar que el sistema se comporta tal como se espera de él.
Al atender una llamada de soporte o escalar un problema al servicio técnico del proveedor, son las baterías de pruebas que introdujimos en el desarrollo las nos que permiten detectar y aislar problemas; es más en caso de tener que modificar el sistema, las pruebas automáticas nos dirán si ha cambiado su comportamiento y a qué afecta.
Conclusión
Las pruebas automáticas, heredadas del eXtreme Programming, en un entrorno de Administración de Sistemas nos permiten conocer el en todo momento estado de un sistema informático antes y después de la etapa de implementación.
RouteWord
Posted by Iñigo in : Uncategorized , add a comment
Un nuevo tipo de pasatiempos basado en grafos y lingüística.
He descubierto en OnLamp un artículo sobre un nuevo rompecabezas lingüístico-matemático llamado RouteWord.
RouteWord consiste en convertir una palabra en un grafo no dirigido (sin flechas), de forma que cada letra de la palabra aparezca una sola vez en el grafo.
La mayoría de las palabras que utilizamos en el lenguaje ordinario producen unos grafos sencillos, con pocas letras repetidas que produzcan bucles interesantes; pero podemos encontrarnos con joyas como asombro y asombroso.
Probad a entrar en RouteWord y poner en la demo “Hitchkcock”.
Probando Potrace
Posted by Iñigo in : Uncategorized , add a comment
Hace algún tiempo cayó en mis manos un programa OpenSource de vectorización de gráficos. Vamos a probar su funcionamiento con dibujos a mano alzada.
La prueba a la que hemos sometido a Potrace 1.1 es muy sencilla:
- Abrimos Procreate Painter (antiguo Fractal Design Painter) que viene con la tableta Wacom.
- Garabateamos algún dibujo sencillo
. - Guardamos el dibujo.
- Lo tratamos con Potraceutilizando las opciones por defecto.


