DIY y FaceBook

Desde hace tiempo tengo una idea que no me puedo quitar de la cabeza. Desde muy chaval, con 16 o 17 años, he estado participando en diversas “escenas” DIY (Do It Yourself ó hazlo tu mismo), principalmente relacionadas con la música, pero también alrededor del software y la cultura libres. Desde grupos de amigos que nos juntábamos para tocar juntos y pasarlo bien, a organizar conciertos y pequeños festivales sin ánimo de lucro para bandas independientes. Todo se hacía “en casa”, en consonancia con esta ética DIY que abogaba por prescindir de empresas y sellos discográficos que en la mayoría de casos hacían perder la esencia de este tipo de música y movimientos sociales. Desde hacerles la comida y acoger en nuestras casas a los grupos que venían a tocar, hasta empaquetar y llevar personalmente al correo discos que se intercambiaban entre pequeñas distribuidoras de música, fotocopiar y grapar a mano pequeños fanzines con reseñas de los nuevos discos y agendas de conciertos, y pasar noches creando las primeras páginas web con este tipo de contenido allá cuando internet empezaba a ser popular. Muchas veces no era fácil, y el esfuerzo por organizar conciertos coincidía con días lluviosos por semana que nos hacían perder dinero personal para poder al menos pagarles la comida y la gasolina del viaje a los grupos que venían a tocar, pero eso era parte de la apuesta por esta manera de hacer las cosas.

Nos plantamos a día de hoy, y aunque tengo que reconocer que ya no estoy tan involucrado en la organización de estas cosas, si que sigo participando y colaborando ocasionalmente con amistades que siguen en ello, acogiendo grupos en mi casa, ayudando a cocinar la comida y echando una mano con otras pequeñas cosas que a menudo hacen falta. Pero hay algo que a mi parecer ha cambiado en gran medida, quizá parezca sutil y sin importancia para algunas personas, pero a mi modo de ver es muy significativo y opuesto a todo lo que este tipo de manifestaciones culturales representan.

Hace años había diversas webs que consultar para enterarte de que estaba pasando en la “escena”, webs que recopilaban la agenda de los conciertos y eventos, webs de opinión y reseñas de discos, las propias webs de los colectivos que organizaban eventos y distribuían el material, y algunos foros donde se intercambiaban opiniones, se compraba y vendía material y equipo de segunda mano, se quedaba para compartir coches para ir a conciertos y en definitiva se hacía comunidad, no siempre muy bien avenida o cohesionada, pero comunidad al fin y al cabo. Ahora tenemos FaceBook.

Personalmente no soy usuario de FaceBook. Tuve una cuenta hace años, pero la borré cuando empecé a preocuparme por la privacidad y las estrategias comerciales de esta empresa, además de por no encontrarme a gusto con la interacción social en esta plataforma basada en gran medida en la apariencia más que en el contenido, pero esa es otra historia. El problema, y la raíz de este texto, viene de la asimilación masiva por parte de FaceBook de todo este tipo de cultura (con la colaboración de todas las personas involucradas en ella, claro). La mayoría de las web citadas ya no existen; en su lugar se han ido sustituyendo por grupos en la red social, anuncios de eventos, y otro tipo de herramientas que ofrece. Aquí se plantea el dilema: una manifestación cultural basada en la autoorganización e independencia, totalmente basada en los servicios de una de las empresas multinacionales más poderosas de la actualidad, que  utiliza todo el contenido publicado en su plataforma para comerciar con los datos que genera y enriquecerse, contenido que por cierto censura a merced, y que participa además en el mayor sistema de control e invasión de la privacidad personal concebible. Cada cual hace con su privacidad lo que quiere, no voy a entrar a discutir esto en este texto porque no es el tema que quería comentar, pero parece irónico que por comodidad y conveniencia se esté a merced de una de las mayores multinacionales para compartir contenido de una cultura basada en una supuesta ética DIY. Y esto no es sólo aplicable a este pequeño colectivo, muchos otros en los que me muevo alrededor del software y la cultura libre parecen estar en el mismo punto.

Las alternativas nunca fueron fáciles. Gestionar y mantener económicamente nuestros propios servicios en internet como webs, blogs, listas de correo, foros, etc, es un trabajo poco agradecido y que muchas veces no tiene el alcance y la repercusión de uno de estos grupos de FaceBook, pero creo que el debate debería de por lo menos estar presente, al fin y al cabo, se trataba de ser independientes, ¿verdad?.

 

ASHAB NearSpaceOne

Desde hace unos meses un grupo de aficionados a la electrónica abierta y fabricación digital que nos conocimos alrededor de fabLAB Asturias, estamos desarrollando un proyecto de misión de alta altitud usando globos meteorológicos. La idea era participar en Global Space Balloon Challenge, un concurso abierto e internacional consistente en precisamente en la realización de estas misiones para promocionar la investigación y la experimentación científica por la ciudadanía, usando un entorno tan atractivo como es el acercamiento al espacio.

Este proyecto lo hemos llamado ASHAB (Asturias High Altitude Ballooning), y NS1 (Near Space One) a nuestra primera misión.

La misión básicamente  consiste en poner a prueba la base de los sistemas que pensamos emplear para futuras misiones: ordenador de a bordo, comunicaciones, imagen, sistema de recuperación y estaciones de tierra. A partir de esta primera misión, esperamos poder probar ideas más técnicas y sistemas más complejos, pero primero vamos a intentarlo con lo básico. Para registrar el vuelo, llevaremos varias cámaras HD y sensores, y la ultima adición es una cámara 360º que esperemos consiga unas imágenes increibles de toda la misión.

Todo el proyecto es por supuesto abierto. Estamos compartiendo los diseños y el código tanto en el wiki del grupo, como en repositorios online como github, y el contenido generado (datos, imágenes, vídeos) será también publicado con licencias libres una vez realizada la misión.

Para más información, podeis consultar la web y el wiki.

FCDControl

Después de mucho tiempo sin postear, subo una pequeña actualización con algo de lo que he estado haciendo ultimamente.

He vuelto a retomar la radioafición, y en serio, ahora tengo la licencia EA1IDZ, y ya llevo buenas experiencias con DX, antenas caseras, satélites, e incluso un contacto con la ISS.

Entre otras cosas, he estado trasteando con una FunCube Dongle, una SDR (software Defined Radio), muy compacta y con un gran espectro (de 64 a 1700MHz), que me ha permitido escuchar muchas bajantes de satélites, decodificar APRS, y jugar con GNURadio, una de las suites más impresionantes que he usado de software libre.

Como siempre, echaba de menos una aplicación para linea de comandos para controlar la FunCube Dongle, asi que me puse manos a la obra. Basándome en el código de la aplicación gráfica, no fue difícil hacer una herramienta básica para seleccionar la frecuencia, correción y ver el estado de la radio. Depués de publicarlo en la lista de correo del proyecto FunCube, he recibido incluso un parche para configurar la ganancia del LNA, y otras cosillas.

El código está disponible en Gitorious, y ya de paso comentar que a partir de ahora, las cosas que desarrolle las iré subiendo ahi, he aprovechado para subir varios de mis proyectos. Podeis echar un vistazo en https://gitorious.org/~ladecadence

Espero postear de nuevo con más asiduidad, ahora que ya tenemos server dedicado  (gracias a vieju.net!) y que tengo bastantes cosas en el tintero.

Saludos.

Implementación VHDL del MBC5

Hacía mucho que no posteaba algún proyecto, pero esto lo merece.

Desde hace un tiempo, llevo pensando en poder prescindir de los chips MBC5 originales de nintendo en mis cartuchos flash para GameBoy, ya que es difícil andar consiguiendo cartuchos antiguos, tiendas de segunda mano, ebay, amigos…

Así que había pensado en reimplementar el MBC5 usando algún chip de lógica programable. El problema es que no tenía conocimientos sobre ello :-)

Así que me puse a diseñar el funcionamiento del MBC5 en puertas lógicas, usando el Ktechlab, hasta que tuve algo que más o menos se comportaba como debía, asi que entonces ya me empezé a plantear en hacer un diseño definitivo.

Buscando encontré la gama XC9500 de Xilinx, CPLDs pequeños de 5V, con el más simple de todos, el XC9536, en formato TQFP de 44 pines, muy similar al MBC5 de 32 pines, que podria adaptar fácilmente a mi cartucho. Asi que me puse manos a la obra. Amazon y a buscar un libro de VHDL. Encontré de segunda mano “Digital Design, an embedded systems approach using VHDL” a buen precio, asi, que lo compré, y me está resultando una buena lectura, muy recomendable. Una vez aprendido lo básico, ya me puse a jugar con un kit de desarrollo CoolRunnerII que tenemos en el LABee, y cogiendo algo de soltura. Asi que un dia me puse a escribir líneas de VHDL y este fin de semana, más o menos he dejado el  diseño listo.

En la captura podeis ver la simulación de mi implementación del MBC5 funcionando, pruebo todos los modos posibles, selección de bancos ROM bajo, ROM alto, bancos de RAM, activación y desactivación de la RAM externa, escritura en la RAM externa, reset… todo parece funcionar según el diseño original del MBC5. Lo único que he cambiado es el mapeado del banco 0 para la compatibilidad con el MBC1. El MBC5 permite mapear el banco 0 en el segundo banco de ROM físico del cartucho a partir de 4000h, mientras que el MBC1, si le pedimos seleccionar el banco 0, nos pondrá el banco 1 en 4000H. No conozco ningún juego o programa que mapee el banco 0 en 4000h, asi que creo que es más interesante usar el formato del MBC1 y asi evitar incompatibilidades con programas antiguos.

Con el ISE de xilinx, ya he sintetizado el diseño, seleccionado los pines para la E/S y dejado todo listo para cuando me lleguen los CPLD’s que tengo pedidos y el JTAG USB de xilinx. En seguida podré probarlo en hardware real y a ver que pasa.

Ahora que he empezado con la lógica programable, me va a ser difícil parar, esto es demasiado interesante y útil como para no hacer más cosas :-)

En cuanto tenga todo comprobado publicaré los fuentes VHDL de mi diseño. Además tengo pensado hacerle unos añadidos, ya que me sobran dos o tres pines… más ROM? más RAM?, I/O? ya veremos ;-)

PlataformaCero

Desde hace un par de meses, estoy trabajando en un nuevo proyecto muy interesante. Ahora soy coordinador técnico de PlataformaCero, un nuevo centro de producción artístico en LABoral centro de arte, a cargo de Pedro Soler.

La apuesta es por el arte interactivo y visual, electrónica, prototipado, interacción, performance extendida… y me he encargado de equipar dos espacios muy interesantes, el LABee, laboratorio de electrónica experimental, un lab equipado con todo tipo de equipamiento para el desarrollo electrónico, y el fabLAB, un laboratorio de fabricación digital, con cortadora láser, fresadora CNC con eje rotatorio, impresora 3D… unos recursos geniales para cualquier tema de desarrollo experimental. Además disponemos del Plat0, un plató de televisión experimental, equipado con un estupendo equipo audiovisual, estaciones de edición, y equipo de audio profesional, y el EcoLAB, un laboratorio ambiental para expetimentar con permacultura, cultivo sostenible, redes de sensores y control de las plantaciones, etc. De hecho en este último, estoy ahora desarrollando un sistema de monitorización ambiental basado en arduino+xbee, para mapear el entorno cara a estudiar las condiciones y decidir que plantar y demás.

Además se realizará una convocatoria abierta de proyectos cara a residencias pagadas y con dinero para producción, talleres profesionales sobre temas relacionados con  la linea del centro, pequeños talleres mensuales sobre materias relacionadas con los espacios (electrónica, fabricación, etc), y un evento anual, ya clásico en el mundillo, el SummerLAB.

Dentro de poco publicaremos abiertamente el proyecto  con toda la información.

Salam ‘alaykum El Cairo

“Salam ‘alaykum” o “La paz sea contigo”, el saludo típico, también es un sentimiento que te embarga al llegar a El Cairo. Su inmensidad, la sensación del pasado en el presente, ejemplificado por la silueta de las tres pirámides que hacen sombra sobre el mar de luz visible al llegar de noche en avión, es sobrecogedor. Una ciudad que nunca duerme, y que te despierta a las 4:30am con la casi musical llamada a la oración, otro ritmo de vida.

Este será mi “hogar” durante un mes, durante el cual impartiré cursos sobre electrónica y arduino para el OpenLab de Medrar, una estupenda oportunidad que me ha sido concedida gracias a la gente de Hangar. Muchas gracias.

Empieza el viaje.

Nuevo server, vuelta del foro.

Vieju.Net, la red de retroinformática donde se aloja ladecadence.net, se ha hecho con un server nuevo bastante majo (dual xeon, 2gb de ram, 4 discos scsi en raid), asi que se ha aprovechado para instalar un debian 5 reluciente y poner todo al dia. Yo por mi parte acabo de actualizar el wordpress, y parece que todo va bien. Y para finalizar, como digo en el título, he revivido el foro. Hace tiempo lo cerré por un enorme problema de spam, pero aprovechando la migración, me he metido con ello, y después de decenas de consultas cruzadas de SQL(10.000 mensajes de spam y unos 1000 usuarios-bot), parece que lo he dejado limpio. Además he actualizado el software del foro y he añadido captchas para el registro e identificación, que supongo que ayudarán a que lo del spam no vuelva a pasar.

Podeis visitarlo en http://ladecadence.net/foro/
Espero que vuelva a coger inercia.

Un saludo.

Humor en el código. BeOS.

No hay duda que BeOS fue un gran sistema operativo, un sistema operativo que por presiones del mercado y por qué no decirlo, mala suerte, pasó casi sin pena ni gloria, aunque mucha gente que llegó a usarlo en su momento, quedó enamorada de él y todavía hoy conserva una base de usuarios significante para un sistema operativo que no se actualiza oficialmente desde noviembre de 2001, aunque gracias a proyectos de software libre como Haiku, puede que dentro de poco veamos un “OpenBeOS” que puede dar mucho que hablar.
Beos siempre se caracterizó por sus impecables APIs, alabadas en su momento por los programadores, su arquitectura y su rendimiento. Pero volviendo al tema del post, en ese impecable código, te puedes encontrar bastantes guiños de los programadores, que se ve que amaban lo que hacian, y se permitian pasarselo bien mientras creaban el sistema.

Unos ejemplos de la API:

int32 is_computer_on(void)

Returns 1 if the computer is on. If the computer isn't on, the value returned by this function is undefined.

double is_computer_on_fire(void)

Returns the temperature of the motherboard if the computer is currently on fire. If the computer isn't on fire, the function returns some other value.

Ahora por ejemplo en las enumeraciones de las CPU’s y plataformas soportadas podemos encontrar cosas como:

typedef enum cpu_types {
B_CPU_PPC_601,
B_CPU_PPC_603,
[...]
B_CPU_Z80,


typedef enum platform_types {
B_BEBOX_PLATFORM = 0,
B_MAC_PLATFORM,
B_AT_CLONE_PLATFORM,
B_ENIAC_PLATFORM,
B_APPLE_II_PLATFORM,
B_CRAY_PLATFORM,
B_LISA_PLATFORM,
B_TI_994A_PLATFORM,
B_TIMEX_SINCLAIR_PLATFORM,
B_ORAC_1_PLATFORM,
B_HAL_PLATFORM,
B_BESM_6_PLATFORM,
B_MK_61_PLATFORM,
B_NINTENDO_64_PLATFORM
} platform_type;

Ahi dejan claro que una cosa es un sistema multiplataforma y luego está BeOS :-)
Un saludo.

Preview de VMUDingoo

He estado portando un emulador de la Visual Memory de Dreamcast a Dingux. El emulador era para PSP, asi que he tenido que tocar bastantes cosas, resolución, mapeo de controles, inicialización, etc, pero ya está casi listo.

Os dejo con un video de preview, en cuanto depure un par de cosas y le añada un selector de roms propio, lo publicaré.

Un saludo.

VMUDingoo – Preview from David Pello on Vimeo.