Revista sobre Raspberry Pi

por Sin comentarios »

MagPi_1

Acaba de aparecer una nueva revista dígital dedicada exclusivamente a Raspberry Pi, ordenador del tamaño de una tarjeta de crédito que corre Linux. Ya hemos hablado anteriormente aquí y aquí.

La revista en cuestión se llama The MagPi y parece que será mensual. El contenido de la misma será para todos los niveles y ya está disponible el primer número de la misma, cuyo contenido es:

  • Affordable Computing
  • The fall of programming
  • The pioneers
  • Hardware development
  • Skutter
  • Live CD and Virtual Machine
  • Debian VirtualBox
  • Programming
  • The scratch patch
  • The Python Pit
  • Feedback
  • Web links and Credits

La podéis descargar desde aquí.
Para más información visita la web oficial y para estar al día puedes seguirla en Twitter

 

Post to Twitter

Entradas relacionadas:

Ebook, Electrónica, Gadgets, Linux mayo 7th 2012

MicroHistorias: salvando “Prince of Persia” de una muerte digital

por Sin comentarios »

krauss-princeofpersia-006

(Fotos: Wired)

Hoy vamos a hablar en nuestras MicroHistorias de un hecho reciente, la recuperación del fantástico clásico, el juego “Prince of Persia,y de cómo un grupo de geeks lo han salvado de una muerte digital segura.

Ya comentamos en CyberHades que Jordan Mechner había encontrado, gracias a su padre, tres cajas con discos de 3,5” en ProDos con el código fuente de “Prince of Persia” y luego también comentamos en un post que lo había puesto a disposición del público.

Bueno pues entre que lo encuentra y lo pone a disposición del público hay toda una Microhistoria digna de contar.

Es curioso que Mechner guardara meticulosamente  todo el proceso de creación de su juego , como los videos donde aparece su hermano saltando, trepando y corriendo como modelo para las animaciones del personaje:

Y también guardara diarios muy detallados sobre el proceso de creación.

Pero parece que no puso mucha atención en guardar el principal tesoro, el código fuente del juego.

Cuando estaba programando el juego “Prince of Persia: The Sands of Time” en 2002 para Playstation 2, le preguntaron que podría introducir dentro del juego, al estilo “Huevo de Pascua”, el “Prince of Persia” original. Él dijo “No hay problema, lo he guardado todo”. Pero parece que no lo guardo todo. El juego original para Apple II sí era fácil de encontrar en Internet, pero el código fuente no lo fue tanto. Preguntó a todo el mundo que había estado relacionado con el desarrollo del juego original pero nada.

Diez años después, el padre de Mechner  le envió una caja llena de cosas que había estado perdida dentro de un armario durante todo ese tiempo. Entre pilas de versiones del juego llenos de polvo había también unos disquetes etiquetados como “PRINCE OF PERSIA Source Code (Apple). ©1989 Jordan Mechner (ORIGINAL).

Fantástico, el disco había aparecido, pero ahora había que sacar la información.

Mechner necesitaba ayuda, así que fue en busca de algunos amigos geeks para que le echaran una mano.

Un camión de mudanzas aparcó en la casas de Mechner en Los Angeles. En el camión viajaba Tony Diaz, un coleccionista de ordenadores clásicos que tiene una gran colección de todo tipo de material de ordenadores vintage. Comenzaron a descargar cajas llenas de cables, ordenadores Apple II, unidades de disco, etc. Todo el material necesario para extraer toda la información posible de esos discos.

También se unió a la tarea, Jason Scott, uno de los colaboradores del sitio The Internet Archive, que voló desde Nueva York llevando consigo un KryoFlux, hardware que se utiliza para realizar imágenes de datos almacenados en viejas copias magnéticas

Los tres empezaron el proceso de sacar toda la información almacenada en los discos y enviarlos a una nueva vida en Internet.

krauss-princeofpersia-003

(Foto: Wired. Todo preparado para comenzar)

Antes de empezar, para calentar motores y no dañar los originales con el código fuente del “Prince of Persia“, probaron otros discos que aparecieron junto a los otros donde se suponía que habría información adicional del juego que no había visto la luz en mucho tiempo. Luego Diaz usaría el programa Locksmith 6.0 (aquí tenéis un manual) que es una utilidad para copiar discos protegidos. Los primeros discos no tenían buena pinta, pero poco a poco fueron apareciendo caracteres ASCII en el monitor indicando el contenido de los sectores del disco, y parece que estaban en perfecto estado aunque aparecieron otros sectores que parecían dañados, el éxito aún no era total.

A muchos discos le faltaba la protección metálica deslizante, por lo tanto estaban llenos de polvo y pero a Diaz parece que no le preocupaba, según decía él mismo “he recuperado discos llenos de errores críticos”.  Lo primero que hicieron fue sacarlos del estuche de plástico y lavarlos en el fregadero con agua y jabón, esto hizo que Jason Scott temblara (y cualquiera de nosotros también ¿verdad?), pero Diaz ya tenía experiencia en esto.

Entonces empezaron a recuperar un juego llamado “Quadris”, una versión sospechosamente parecida a Tetris. La disquetera del Apple II empezó a hacer aquellos ruidos que todos nosotros tenemos grabados en nuestra memoria y Diaz preguntó “¿Queréis verlo?”, ya os podéis imaginar la respuesta.

Mechner cogió el teclado y seleccionó el nivel “principiante”. De repente, un juego que había estado años sepultado en el olvido, volvió a la vida. Una curiosidad, como Mechner no encontraba las teclas para rotar las piezas, empezó a pulsarlas una a una. De repente, en la pantalla apareció lo que parecía una aplicación de texto bastante aburrida, Mechner había pulsado “la tecla del jefe”, esa que se pulsa cuando estás jugando en el trabajo y el jefe aparece, rápidamente pulsas esa tecla y parece que estás trabajando. Mechner ni se acordaba.

Una vez visto el éxito de recuperación de “Quadris”, empezaron con el siguiente. Al introducir el disco apareció el texto “Asteroids”, un juego que creó cuando era joven basado en el clásico de Atari. Esta restauración no fue tan bien como la de Quadris, los gráficos no se renderizaban bien, habrá que hacerle una restauración.

Finalmente insertaron el disco con el código fuente del “Prince of Persia”, la verdadera joya. Diez insertó el disco y un mensaje apareció “No errors”. La copia se había realizado sin problemas, “vamos a ver que contiene”, dijo Diez.

krauss-princeofpersia-015

(Foto: Wired. El disco original con el código fuente preparado para ser recuperado)

Todo coincidía, las fechas, los nombres de ficheros, las carpetas, todo parecía estar bien. Al 99%, el código fuente se había recuperado.

krauss-princeofpersia-016

(Foto Wired. Jordan Mechner, el inventor de Prince of Persia, tomando una foto del código fuiente recuperado con Jason Scott, izquierda, y Tony Diaz, derecha)

¿Qué hicieron justo después?, publicarlo en Internet.

krauss-princeofpersia-018

(Foto: Wired. Mechner identifica el código fuente)

Prince of Persia” había vuelto a la vida.

Artículo original de Wired.

Post to Twitter

Entradas relacionadas:

Guardando la información de 5.000 discos de 3 1/2, automáticamente

por Sin comentarios »

Dwellers quería almacenar el contenido de sus 5.000 discos de 3 1/2 de su Commodore Amiga (tuxotron aún tiene que guardar por lo menos, 2.500 ;) ). Pero claro, hacerlo uno a uno es bastante monótono y pesado. Así que se puso manos a la obra para construir una máquina llamada Floppy Autoloader que automáticamente inserta un disco, almacena la información en un disco duro y hace una foto de la etiqueta del disquete. Él sólo tiene que cargar unas cajas de madera preparadas con los discos apilados y la máquina se encargará del resto.

Al principio lo intentó usando Lego Mindstorm (funcionaba pero no era viable ya que la posibilidad de que la máquina insertara dos discos a la vez era alta, puedes ver el prototipo en su blog) , pero al final decidió hacer algunas modificaciones (usando Arduino) a un duplicador de disquetes que encontró por eBay. El proceso de copiar cada disco tarda unos 3 o 4 minutos por disco y cada caja de carga contiene unos 300.

Aún le queda un largo camino por delante, aunque comenta que mientras se hace la copia, está escribiendo un programa para almacenar de forma correcta toda esa información.

Visto en Make.

Post to Twitter

Entradas relacionadas:

52 cosas que deberías saber si quieres dedicarte a la criptografía

por Sin comentarios »


62374.gif

Según la Universidad de Bristol, la critografía abarca matemáticas pura, ciencias de la computación e ingeniería electrónica. Por ello y según su criterio, todo estudiante del doctorado en el campo de la criptografía (en dicha universidad) al final del primer año, debería ser capaz de responder al 90% de las siguientes preguntas:

Computer Engineering ([E])

  1. What is the difference between the following?
    • A general-purpose processor.
    • A general-purpose processor with instruction-set extensions.
    • A special-purpose processor (or co-processor).
    • An FPGA.
  2. What is the difference between a multi-core processor and a vector processor?
  3. Estimate the relative computational and storage capabilities of
    • a smart-card
    • a micro-controller (i.e. a sensor node)
    • an embedded or mobile computer (e.g., a mobile phone or PDA)
    • a laptop- or desktop-class computer.

    Theoretical Computer Science ([F])

  4. What is meant by the complexity class P?
  5. What is meant by the complexity class NP?
  6. How can we interpret NP as the set of theorems whose proofs can be checked in polynomial time?
  7. How does randomness help in computation, and what is the class BPP?
  8. How does interaction help in computation, and what is the class IP?
  9. What are Shannon’s definitions of entropy and information?

    Mathematical Background ([A,B])

  10. What is the difference between the RSA and the Strong-RSA problem?
  11. What are the DLP, CDH and DDH problems?
  12. What is the elliptic curve group law?
  13. Outline the use and advantages of projective point representation.
  14. What is a cryptographic pairing?

    Basic (Practical or Deployed) Cryptographic Schemes and Protocols ([A])

  15. Describe the key generation, encryption and decryption algorithms for RSA-OAEP and ECIES.
  16. Describe the key generation, signature and verification algorithms for DSA, Schnorr and RSA-FDH.
  17. Describe and compare the round structure of DES and AES.
  18. Draw a diagram (or describe) the ECB, CBC and CTR modes of operation.
  19. Describe the Shamir secret sharing scheme.
  20. How are Merkle-Damgaard style hash functions constructed?

    Cryptographic Implementation Details ([A])

  21. How does the CRT method improve performance of RSA?
  22. How do you represent a number and multiply numbers in Montgomery arithmetic?
  23. Write a C program to implement Montgomery arithmetic.
  24. Describe the binary, m-ary and sliding window exponentiation algorithms.
  25. Describe methods for modular reduction using “special” primes that define GF(p) and GF(2^n).
  26. Describe the NAF scalar multiplication algorithm.

    Security Definitions and Proofs ([A,B,C])

  27. What is the IND-CCA security definition for symmetric key encryption?
  28. What is the IND-CCA security definition for public key encryption?
  29. What is the UF-CMA security definition for digital signatures?
  30. Roughly outline the BR security definition for key agreement?
  31. Give one proof of something which involves game hopping
  32. Outline the difference between a game based and a simulation based security definition.

    Mathematical Attacks ([A,B])

  33. How does the Bellcore attack work against RSA with CRT?
  34. Describe the Baby-Step/Giant-Step method for breaking DLPs
  35. Give the rough idea of Pollard rho, Pollard “kangaroo” and parallel Pollard rho attacks on ECDLP.
  36. What is meant by index calculus algorithms?
  37. Roughly outline (in two paragraphs only) how the NFS works.

    Practical Attacks ([D])

  38. What is the difference between a covert channel and a side-channel?
  39. What is the difference between a side-channel attack and a fault attack?
  40. What is usually considered the difference between DPA and SPA?
  41. Are all side channels related to power analysis?
  42. Look at your C code for Montgomery multiplication above; can you determine where it could leak side channel information?
  43. Describe some basic (maybe ineffective) defences against side channel attacks proposed in the literature for AES.
  44. Describe some basic (maybe ineffective) defences against side channel attacks proposed in the literature for ECC.
  45. Describe some basic (maybe ineffective) defences against side channel attacks proposed in the literature for RSA.

    Advanced Protocols and Constructions ([A,B])

  46. What is the Fiat-Shamir transform?
  47. What does correctness, soundness and zero-knowledge mean in the context of a Sigma protocol?
  48. What is the purpose and use of a TPM?
  49. Describe the basic ideas behind IPSec and TLS.
  50. What is the BLS pairing based signature scheme?
  51. What is the security model for ID-based encryption, and describe one IBE scheme.
  52. Pick an advanced application concept such as e-Voting, Auctions or Multi-Party Computation. What are the rough security requirements of such a system?

Vamos, que yo no paso ni de la primera hora del primer día de clase :(

Fuente

Post to Twitter

Entradas relacionadas:

Ciencia, Electrónica febrero 23rd 2012

Er docu der finde: La guerra del chip

por Sin comentarios »


Videos tu.tv

Post to Twitter

Entradas relacionadas:

Las mejores publicaciones académicas (“papers”) de Informática de los últimos 16 años

por 1 comentario »

PaperInverseEqui

(Documento: “Computational Rationalization: The Inverse Equilibrium Problem”)

Uf!, aquí tenéis para un rato de diversión ;)

Ojo porque esta lista de documentos no es para dejarla pasar. Personalmente creo que hay que descargar todos los ficheros y dejarlos bien guardaditos para echarles un vistazo en cuanto tengáis algo de tiempo.

Dividido en categorías, en cada una de ellas se encuentran las publicaciones más valoradas de ese año en ese campo en concreto.

Por ejemplo aquí tienes las publicaciones de Inteligencia Artificial (AAAI), Interacción Hombre-Ordenador (CHI), Ingeniería del Software (FSE), etc.

Todos son trabajos publicados en el entorno académico universitario, de gran calidad y muy avanzados.

La mayoría está en PDF preparados para su descarga.

Lista completa aquí.

Visto en Reddit.

Post to Twitter

Entradas relacionadas: