Ya falta poco

Geek & Poke

Aprovecho esta tira cómica de Geek & Poke (la cual os recomiendo seguir si sois unos geeks y os dedicáis a la programación o con proyectos del Internet) para deciros que los exámenes están casi encima.

Y con ellos vienen esas ganas de hacer cualquier otra cosa que no sea estudiar. Así que, ya falta poco para volver a las andadas, y espero que con nuevos contenidos :)

La máquina de Turing se hace realidad: en LEGO

La máquina de Turing es un modelo matemático abstracto que formaliza el concepto de algoritmo.

Fuente: Wikipedia

¿Seguro? Pues mira esto y guarda la tarjeta de crédito.

¿Cómo se te ha quedado el cuerpo al ver la Máquina de Turing en acción? Este vídeo lo tendrían que enseñar en las clases de Elementos de Programación, cuando explican este modelo matemático.

Vía | Boing Boing Gadgets
Vídeo | YouTube

Tutorial de C sobre XCode en Mac OS X

Por aquí ya sabréis que soy muy tozudo. Si no había tenido suficiente intenando aprender a controlar XCode con C++, el otro día me dio por aprender algo mucho más difícil.

Pensé que una buena opción de futuro es programar para el iPhone y el iPod Touch (de aquí en adelante OS X iPhone), pero sobre todo para la plataforma que uso: Mac OS X. Estuve mirando algún tutorial/manual sobre Cocoa y me dí cuenta de que para ello necesitaba saber Ojective-C. No hay problema, ya sabía yo que Ojective-C está basado en C, el lenguaje de programación del cual yo había aprendido una versión más potente: C++. Supuse que Objective-C sería más o menos sencillo de aprender con mis conocimientos. Error.

xcode iconoMe he dado cuenta de que necesito saber C, y más concretamente, utilizar XCode con C. Después de unas cuantas horas de lectura de tutoriales de XCode y C (que son bastante escasos), he podido adquirir unos conocimientos básicos, que voy a compartir con todos vosotros.

Conseguir XCode

XCode es gratuito y lo puedes conseguir tanto en el DVD de instalación de Mac OS X (en Leopard por lo menos viene) o desde la web de Desarrolladores de Apple (debes registrarte).

Una vez descargado e instalado (totalmente intuitiva), vamos a crear nuestro primer proyecto en XCode.

Seguir leyendo el resto de la entrada »

Terminando exámenes

Son las 12:30 y me quedan 4 horas para empezar el que va a ser mi último examen, el de **Laboratorio de Programación**.

Me espera un fin de semana agridulce, pero bueno; intentaré disfrutarlo.

Os dejo con una canción del nuevo disco de **The Offspring**: [Rise and Fall, Rage and Grace](http://es.wikipedia.org/wiki/Rise_and_Fall,_Rage_and_Grace).

**Actualización [21:00]:** Vaya mierda de examen que me ha salido >_< Durante las tres primeras horas fui bien, no había muchas complicaciones con lo que pedían; sin embargo fue a partir de ahí cuando empezaron a salir errores raros y el tiempo a volar.

En fin, una que me sacaré por cojones en septiembre.

C++ en Mac OS X

Como todos sabéis (y más por [twitter](http://twitter.com/tauron32)), tengo una asignatura que es **Laboratorio de Programación**, en ella se supone que vamos aprendiendo a programar en C++ usando el programa [Dev-C++](http://www.bloodshed.net/devcpp.html).

Realmente está bastante bien el programa. Por desgracia, sólo está disponible para Windows, lo cual es una pequeña putada para mí ahora que tengo mi MacBook. La cosa es que llevo bastante tiempo buscando alguna manera de poder programar sin problemas en C++ desde Mac OS X tal y como lo hacemos en clase.

Empecé probando con el Xcode ya que me venía en los discos de instalación de Leopard. Pero nada más lejos de la realidad, para C++ se me queda demasiado grande. No es lo que yo estoy buscando.

Ayer mismo, [Andrés Milleiro](http://www.andresmilleiro.info/blog/) escribió un twit hablando de [NetBeans](http://www.netbeans.org/) y decidí instalarlo para ver qué tal.

Sencillamente magnífico. Después de haber leído un poco sobre cómo usarlo, ya he conseguido hacer exactamente lo mismo que hago en clase. Salvo por dos cositas:

system("cls")        // Borra la pantalla
system("Pause")      // Hace una pausa

Estos dos comandos sólo se usan en Windows, ya que hacen un llamamiento al **sistema**. Cuando ejecutaba mis programas en Mac OS X con esos comandos, cada uno me daba un error en tiempo de ejecución, por lo que investigando un poco he llegado a lo que yo creo que es la mejor solución a la hora de poder entregar mis prácticas.

#ifdef __MSDOS__
system("cls")        // Si estamos en MSDOS, ejecuta el "cls"
#else
system("clear")    // En otro caso, ejecuta la equivalente en Mac
#endif

#ifdef __MSDOS__
system("Pause")
#endif

La función **”Pause”** no se utiliza en Mac OS X, que yo sepa, ya que lo hace automáticamente. Por lo tanto, si estamos usando MS-DOS, ejecutará “Pause”, en otro caso, no hará nada.

Es un poco engorroso, pero así me funciona en Mac OS X y también le funcionará al profesor cuando él lo ejecute en su ordenador con Windows.

Por supuesto, se admiten sugerencias.