Aprende ensamblador dibujando pixeles

  • April 12, 2016
  • tuxotron
  • box-256.png

    Aprender a jugando es probablemente la mejor forma de aprender. Esto es aplicable, yo diría, que a cualquier materia. En este caso la idea es aprender ensamblador o más bien la “forma de pensar” cuando nos sentamos a escribir código en ensamblador, ya que dependiendo de la arquitectura dicho lenguaje varía, pero las formas y metodología es prácticamente la misma.

    En box-256.com podemos pasar un buen rato jugando con un sistema ficticio de 8bits, con 256 bytes de memoria, 16 colores y pantalla de 16x16. En éste, nuestro objetivo es reproducir exactamente el juego de pixeles de la parte inferior de la column output con el número mínimo de ciclos de CPU.

    Si te fijas bien en dicha columna, está dividida en dos partes, la parte superior está inicialmente vacía y la parte inferior tiene una serie de pixels formando un gráfico en uno o varios colores. Nuestro objetivo es reproducir una copia exacta escribiendo código en ensamblador en la parte izquierda de la pantalla, la que además representa la memoria. En la columna derecha disponemos de una ayuda abreviada sobre las instrucciones, tipos de datos y colores de los pixeles.

    El juego dispone de una ayuda bastante más amplia la cual puedes consultar aquí, donde encontrarás información más detallada sobre el juego en si, el conjunto de operaciones con sus códigos de operación y sintaxis, el uso de valores constantes, direcciones de memoria y punteros, etc

    El primer reto ya viene solucionado y puedes ejecutarlo paso a paso para hacerte una mejor idea de como funciona y cuales son tus objetivos. El juego actualmente dispone de un total de 12 niveles o retos.

    Aunque puedes jugar perfectamente desde el navegador, ahí una pequeña pega, y es que no puedes copiar el código al portapapeles, si esto es un problema para ti, puedes descargar una versión de dicho juego para Windows.

Libro sobre Deep Learning

  • April 10, 2016
  • tuxotron
  • deep-learning.png

    Según la wikipedia:

    Aprendizaje profundo (en inglés, deep learning) es un conjunto de algoritmos en aprendizaje automático (en inglés, machine learning) que intenta modelar abstracciones de alto nivel en datos usando arquitecturas compuestas de transformaciones no-lineales múltiples.
    En deeplearningbook.org podemos encontrar un libro (en proceso de publicación por MIT press) sobre este subcampo de la inteligencia artificial. En dicha web podemos además encontrar enlaces a tutoriales sobre deep learning, y pronto también publicarán presentaciones usada por sus autores para la enseñanza de esta materia.

    Es un libro orientado a estudiantes universitarios y aquellos profesionales que no tengan una base en machine learning y más específicamente en deep learning.

The Little Go Book en español