Mis primeros pinitos desarrollando para iOS

Este fin de semana he dedicado unas horas a introducirme en el desarrollo de aplicaciones para iOS. Ya había hecho algún intento, pero no me había puesto a ello porque tanto en el trabajo como en casa tengo (tenía) Mac OS X Leopard y las versiones del SDK que se pueden descargar de la web Apple solo son válidas para Lion o Snow Leopard. Buscando por internet pude encontrar en el blog Drop the Nerd el enlace al SDK de iOS para Leopard, en la misma web de Apple. A continuación me bajé algún ejemplo ya hecho y descubrí que necesita firmar de alguna forma las aplicaciones para poderlas probar en un iPhone (aunque de todas formas aún no tengo ninguno). Por suerte hay formas de crearse uno mismo una firma digital para ello.

Con todo listo, me puse a buscar cursos que me permitieran aprender tanto Objetive-C como a desarrollar para iOS, que no son la misma cosa. Una de las páginas que más útil me ha resultado es esta en la que se enseña rápidamente las características de Objetive-C comparándolas con las equivalentes en otros lenguajes orientados a objetos como C++ o Java. Tras leer ese breve tutorial ya podía ir entendiendo código escrito por otros en Objetive-C. Tras leer lo que ya considera suficiente sobre Objetive-C decidí ponerme manos a la obra (lo que más nos gusta a los programadores) y busque un curso que ensañará paso a paso a programar un juego para iOS (en el fondo lo que queremos todos es hacernos ricos con el nuevo Angry Birds). He encontrado un curso muy básico pero que cubre la mayoría de los puntos más básicos del desarrollo un juego (bucle del juego, detección simple de colisiones, IA, pantalla inicial y sonido). Hay que tener un poco de paciencia con el curso porque se ve que tras un traslado o migración ha perdido la maquetación y algunos enlaces, pero es bastante productivo:

Y he aquí mi criatura:

Posted in Desarrollo | Leave a comment

Madrid 2020

Hoy (o ayer) se ha presentado el logo de la candidatura de Madrid a las olimpiadas de 2020 (¡Bienvenidos al día de la marmota!). Además del cachondeo por lo confuso y la indignación del autor del original, a mí se me ocurrido dedicar la hora del té y mis escasos conocimientos de Seashore a plasmar una ocurrencia de un amigo :D

Posted in Uncategorized | 1 Comment

RetroHard Midi

Después de llevarme 2 días completos actualizando una Xubuntu  desde la 9.4 hasta la 11.4 a base de descarga y actualización, descarga y actualización, … esta tarde me he puesto con el ¡RETROHARD MIDI!. Tengo un teclado MIDI antiguo de Creative, un Blasterkey, que venia en pack con una SoundBlaster AWE 32.

Creative Blasterkeys

Se conecta al ordenador por el desaparecido y obsoleto puerto de juegos. Tiene un conector estándar MIDI OUT (DIM 5), así que se puede aprovechar. El problema es que su única fuente de alimentación es dicho conector. Antes de poner a modificarlo para añadirle la fuente quería probarlo con una tarjeta de sonido PCI con chip de Yamaha y el necesario puerto de juegos. De ahí que me haya pasado 3 días montando y actualizando una torre de PC desahuciada con una placa con un Atom 230, que se negaba a aceptar Windows XP, Windows 7 y Ubuntu 11.4. Solo he conseguido instalarle desde un pendrive una Xubuntu 9.4, y desde ahí el largo calvario hasta Xubuntu 11.4.

Con el sistema actualizado y con ALSA instalado, no tenía forma de ver el interfaz MIDI de la tarjeta. Después de mucho buscar en internet, la solución era añadir al fichero /etc/modprobe.d/alsa-base.conf la linea:

options snd-ymfpci mpu_port=0×330 fm_port=0×388 joystick_port=1

Y ejecute en un terminal

$ depmod -a

Comprobé que habia funcionado con

$ aplaymidi -l
Port    Client name                      Port name
14:0    Midi Through                     Midi Through Port-0
16:0    Yamaha DS-1S (YMF744)            Yamaha DS-1S (YMF744) MIDI
17:0    OPL3 FM synth                    OPL3 FM Port

He hice alguna pruebas. Me ha llevado toda la tarde encontrar un programa interesante de simulacion de sintesis analogica: phasex. Hacerlo funcionar también ha tenido su trabajo pues me he tenido que instalar JACK, y para ello he tenido primero que saber de su existencia y entender su utilidad. Una vez lanzado el demonio correspondiente con:

$ jackd -d alsa

Desde QjackCtl he realizado las conexiones con cables virtuales y por fin me he puesto a jugar:

sintetizador

Debo dar mi agradecimiento al blog: http://www.josegdf.net/2009/01/sonido-en-ubuntu-studio.html, que me ha puesto en la pista correcta.

Posted in Música, Tecnología | Leave a comment

¡Funciona!

Parece que ya me han arreglado el hosting. Tengo “cienes” de cosas que contar atrasadas. Tengo que ponerme… mañana.

Posted in Uncategorized | Leave a comment

Renombrado de Registros y Especulación Dinámica

He publicado en mi blog del Departamento de Arquitectura y Tecnología de Computadores un resumen de artículo:

El renombrado de registros es una de las técnicas utilizadas para aumentar el paralelismo de instrucciones. Consiste básicamente en tener un número de registro físicos mayor que el expuesto por la arquitectura, llamados normalmente registros lógicos, de usuario o públicos . De esta forma, y siguiendo determinadas reglas, un mismo registro lógico puede ser renombrado a como distintos registros físicos en distintas instrucciones

Más aquí

Posted in Uncategorized | Leave a comment

Nuevo “chismito”: Boss GX-700

¡Buf! Mi anterior publicación es de Abril pasado. El tiempo pasa demasiado rápido como para dejarlo pasar sin producir nada. Mi proyecto secreto (Que yo llamo Alan Parson Project)  ha absorbido gran parte de mi tiempo. En fin, al tema que vamos: La semana pasada me llegó el Boss GX-700 que compré en ebay.

Fiel a mi nueva filosofía  de no gastar dinero de casa en mis caprichos, he estado vendiendo todo aquello que ya no uso y almaceno, incluyendo los pedales que no usaba, para pagarme el chisme.

El aparato es un multiefectos en formato rack, lanzado en 1996, que incluye simulaciones de amplificadores y altavoces. La tecnología que Boss llama COSM. Yo la he descubierto hace poco, y me ha sorprendido que ya existiera hace más de 15 años, imagino que menos conseguida que en modelos más modernos de esta empresa. Creo que no  voy a hacer mucho uso de las simulaciones, porque quiero seguir usando mi previo de vávulas Real Tube II. Unas de las razones por la que me decidí por este modelo es porque tiene un “loop” para incorporar efectos externos, y eso me permite insertar el previo de vávulas en el lugar correcto de la cadena de efectos: detrás de los efectos compresor, wah y distorsión, y delante de los efectos de modulación, eco, reverberación, etc. Otros de los motivos por el que lo compré es que tiene entrada para un pedal de expresión, con lo cual ya no tengo que comprarme un wah y puedo controlar otros efectos como el  Humanizer o Pitch Shifter, además del volumen. Encima puedo seguir usando mi ancianita pedalera midi Control Seven, de Digithech.

Con la llegada del GX-700 he jubilado mi multiefecto Yamaha REV100 y el EHX Worm. A ver si con la venta de estos dos chismes vuelvo a recuperar el saldo en mi reserva para aficiones.

Lo he podido usar poco tiempo debido a mi Alan Parson Project, y aún no estoy muy satisfecho con el resultado de meter el previo en la cadena de efectos. No acabo de encontrarle el punto al volumen y saturación que consigo. Seguiremos intentándolo. Os dejo con un vídeo de mi mismo desvariando bastante mientras pruebo el pedal de expresión

Posted in Los inventos de Ramón, Mi música, Tecnología | 2 Comments

La Menagerie – Febrero de 1994 – Fun Club – Sevilla

Ayer terminadé de subir el único documento sonoro que existe de La Menagerie, mi segundo grupo. Se trata del concierto que dimos en el Fun Club, en febrero de 1994. El grupo lo formábamos Rocío a la voz, Sergi Glez a la guitarra, David Peral Alcaide a la batería, Mariano Torres Cubillo al bajo y yo, también a la guitarra.

Posted in Mi música | Leave a comment

Problema del iMac parcheado

Después de toda una tarde intensa, he conseguido clonar la imagen del monitor principal en el monitor externo en mi iMac. No podía acceder ni por SSH, ni por Apple Remote Desktop ni por VNC, no podía modificar los ficheros de configuración porque no podía acceder como ‘root’ ni por FTP ni por compartición de fichero, …

Al final, estudiando en otro ordenador con Mac OS X las pulsaciones de teclas necesarias, he conseguido logarme, lanzar un terminal gracias a Namely y lanzar desde línea de comandos el servidor de Apple Remote Desktop con la orden:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart  -activate -configure -access -on -restart -agent -privs -all

Todo eso a ciegas. Así ya he podido acceder desde otro ordenador al escritorio de mi iMac, ahí a las propiedades del sistema y cambiar la configuración de pantallas para que mostrasen lo mismo (Pantallas duplicadas).

Y desde mi iMac escribo este post. ¡Uf! Creo que me voy a tomar un copazo y me voy a acostar que son las 2.20 de la madrugada.

Parcheando el iMac

Parcheando el iMac

Posted in Tecnología | 1 Comment

Activación directa de instrucciones

He publicado en mi blog del Departamento de Arquitectura y Tecnología de Computadores un resumen de artículo:

En los procesadores con ejecución desordenada de instrucciones, la lógica de activación (wake-up en inglés) tiene problemas de escalabilidad y de consumo eléctrico cuando aumentamos el tamaño de la cola de instrucciones. Ocurre esto tanto procesadores basados en colas de instrucciones con memoria direccionable por contenido (CAM, del inglés Content Adress Memory) como en aquellos que utilizan una matriz de dependencias.

Más aquí.

Posted in Arquitectura y Tecnología de Computadores | Leave a comment

La Tabla de Planificación

He publicado en mi blog del Departamento de Arquitectura y Tecnología de Computadores un resumen de artículo:

La tabla de planificación (TP) es una estructura en la que se va almacenando de forma secuencial las instrucciones que van a ser ejecutadas. Tiene el funcionamiento de una cola (FIFO). Para controlar el funcionamiento de la cola se usan dos punteros: uno indica la posición libre (puntero de cola, denominado aquí newp) donde se insertará la próxima instrucción enviada por la fase IS; el segundo puntero (de cabecera, llamado oldp) indica la próxima instrucción que va ser retirada la TP.

Más aquí.

Posted in Arquitectura y Tecnología de Computadores | Leave a comment