Alpha's Manifesto

A black and white figure's thought-hive

Code Katas

El por qué de practicar y ejercicios para hacerlo

Algún tiempo atrás JM nos había compartido un artículo sobre TDD Katas que básicamente explicaba qué son y por qué valen la pena. En dicho artículo Kata – The only way to learn TDD Peter Provost nos explica la mecánica básica tras la enseñanza de los Katas, una forma fácil de poner a práctica nuestros conocimientos teóricos.

No mucho tiempo después encontré el sitio de CodeKata, aplicado a una serie de metodologías más general, a aprender a desarrollar en distintas disciplinas o ámbitos. El artículo de Code Kata – Background tiene una buena introducción a lo que puede encontrarse en el resto del sitio.

¡A poner esas habilidades a practicar!

Exploit exercises

Exploit this!

Parecido a los laboratorios de seguridad, hace poco me encontré con un sitio llamado Exploit Exercises, un sitio web que dispone de guías y máquinas virtuales que podemos bajar para probar y aprender sobre escalado de privilegios y corrupción de memoria en entornos Linux.

Soy un zorrinito inseguro.

Link del día: Cosmos (C# OS)

Cosmos es un proyecto opensource hosteado en Codeplex, que se trata de un sistema operativo completo construido en C#. Como tal, podemos deducir que no corre realmente de forma nativa en una máquina, sino sobre la plataforma .NET, pero creo que merece su atención como proyecto de extrema complejidad. No he visto el código, pero no dudo que mucho se podrá aprender de eso con solo mirarlo. Aparentemente, también hace utilización de extensas capabilidades de Visual Studio para un buen debugging del mismo, con lo que también es un buen ejercicio para aprender de esta herramienta.

Soy un zorrinito emulado.

UPDATE 3/1/2012 12:00 PM: Andrés agrega en los comentarios hablando de Singularity, un proyecto similar también en código managed (IL), pero no construido enteramente sobre eso, sino que tiene un kernel hecho en Assembler y un par de drivers hechos en C++. Aparentemente, este sí calificaría como un sistema operativo completo, ya que puede correr de forma independiente.

Link del día: Fomentando el pensamiento crítico

Paseando por Facebook me encontré con una propuesta interesante que estaba proponiendo uno de los grupos que sigo. El grupo se llama Gracias a Dios soy Ateo!. Fuera de considerarme un ateo militante (que no, no me considero uno), me gustan este tipo de grupos ya que por lo general suelen publicar información muy interesante sobre descubrimientos científicos que están en el límite de lo que la humanidad conoce.

Pero dejando de lado las ciencias, también se trata de aprender a pensar y defender una postura que, se considera, es la más correcta basada en la evidencia que uno pueda recolectar. Angelus, uno de los administradores del grupo, propuso el siguiente ejercicio:

Parte 1: cualquiera, tenga la postura que tenga, defienda la existencia de Dios, dando un argumento lo más conciso posible. No importa si piensan otra cosa, den el argumento más convincente y serio sobre por qué Dios existe.

Parte 2: (Es mucho mejor si se termina la 1 siquiera antes de leer esta). Refutar el argumento que anteriormente expusieron. Si lo hicieron lo suficientemente bien, les va a costar, y deberán esforzarse para poder debatir ese razonamiento.

Por supuesto, el ejercicio no tiene que hacerse necesariamente con el concepto de un Dios, sino con cualquiera de dos opciones contrapuestas. Y por supuesto, el pensamiento crítico es algo muy importante para una gran cantidad de actividades.

Soy un zorrinito crítico.