El siguiente robot es feo como el solo pero útil

La gente del MIT no deja de sorprender, y le han dado una vuelta de tuerca al típico robot serpiente o gusano, dándole mas posibilidades, en el vídeo podéis verlo en funcionamiento:

¿Esta muriendo Sourceforge?

Es algo que la gente se esta preguntando desde que GitHub se esta comiendo el terreno.

Pues lamentablemente si se esta muriendo,

Cuarenta características de Python que quizás no conoces de Victor Terrón

He encontrado esta vieja conferencia de Victor Terrón…que aunque tiene 3 añitos, es simplemente espectacular. Si conoces un poquito de Python te va a ayudar a profundizar mas, si no…puede que te suene a chino o te quedes con la boca abierta de la potencia del lenguaje.

La hizo en el la PyCon Española del 2013.

Y la presentación la tienes en PDF en: http://2013.es.pycon.org/media/python-cuarenta.pdf

Siempre lo diré, Google tenia que haber metido Python en Android y no el asqueroso Java, es que encima tenia en nomina al creador del Python.

 

¿Gaia estas ahí? Por que creo que tienes un infarto

Ver el vídeo de el tráfico en Los Angeles (USA) recuerda mucho al sistema sanguíneo, pero en este vídeo parece como si tuviera un infarto en ciernes, y no es mas por celebrar la fiesta de comer el pavo allí.

Otro puñado mas de artículos sobre autómatas celulares

Vía el decadente elefante naranja, en su cocina, he encontrado un meneo sobre autómatas celulares con los siguientes links:

Y el articulo previo que escribí por aquí fue: A vueltas con los autómatas celulares

Hay un comentario que me encanta en el elefante naranja en horas bajas, que lo copio por aquí:

Siempre utilizo este ejemplo como referencia mental de ‘complejidad emergente’. Como a partir de reglas muy simples aparece una complejidad que podemos observar en la naturaleza, y como buen ejemplo de la no-intencionalidad que dirige los procesos evolutivos ; patrones complejos que nos cuestan entender sus principios ‘sencillos’. Por: sangaroth

#Freebassel: Hoy hace un año de la siguiente noticia

Mi agenda me ha recordado que hay un desarrollador de software libre condenado a muerte en Siria, en concreto esta es la noticia de hace un año: Syria secretly sentenced free software developer Bassel Khartabil to death

Y el problema es que no ha mejorado, este hombre sigue encarcelado con la pena de muerte sobre su cabeza.

En el articulo de wikipedia tenéis mas información Bassel Khartabil.

Pero no se, poca esperanza tengo, porque el mundo va cuesta bajo de culo y sin frenos con toda la mierda de alrededor Trump en USA, Mariano en Españistan, Julian Assange encerrado en una embajada, Chelsea Manning encerrado también, Edward Snowden supongo que cagado de miedo porque el amigo de Putin ha ganado las elecciones en bastardos unidos …

Por favor, por lo menos no olvidemos.

Acabo de tener una relevación en plan Matrix sobre los tabuladores

Toda la vida he pensado que los tabuladores existen, que son reales que cuando  los veo en un editor de código ahí están dejando todo bien ordenadito y organizadito…muchos editores como Geany te avisa que son 4 espacios.

Pero ahora que en mis momentos de meditación en el trono de roca los dedico a la noble tarea de aprender ensamblador y código maquina del microprocesador que representa la década de los 80, nuestro querido Z80. Estoy re-empezando (en el pasado tuve un flush) o mas bien mas veo las letras verdes detrás de cada letra escrita o de cada pixel. Y cuando ponemos en plan bonito:

#include <stdio.h>

int main(int argc, char **argv)
{
	printf("HELLO FUCKING WORLD\n");
	
	return 0;
}

Eso no esta tan bonito en el fichero resultante, porque el tabulador es 1 carácter, lo que parece tan ordenado, sigue siendo feo debajo, sigue siendo como cuando destripas un animal y tiene los intestinos retorcidos en su barriga.

Quedaría nuestro código destripado como:

#include <stdio.h>

int main(int argc, char **argv)
{
 printf("HELLO FUCKING WORLD\n");
 
 return 0;
}

Y claro ahora que sabes la verdad, como el señor Neo…»¿Quieres, quiero seguir viviendo en Matrix?», levantándome cada día programando ordenadito y claro para saber que es una mentira que nos dan los editores de texto. Es que algunos editores hasta te los pone los tabuladores alineados al final de algo anterior de la linea para cuando tienes lineas como:

/****************************************
*					*
*	Mi función pitifloro,		*
*	que hace florecitas azules	*
*	Parámetros:			*
*		flor: tipo de planta que*
*			quieres		*
*			para tu jardín	*
*		tonalidad_azul: azul PP	*
*			o azul como el	*
*			gato.		*
*					*
*****************************************/

Y es que como Judas representado en Cifra que vendió a todos en la peli, tenemos el problema que la verdad es asquerosa porque:

  • ¿Ponemos 4 espacios por cada tabulador de mentira?
    • Pros
      • Es mas real, lo que vemos es lo que escribimos.
    • Contras
      • Pulsar 4 veces el espacio.
      • Que no se nos olvide cuando son mas vas veces (8, 12 o mas) y al final quede guarro el código.
      • Cuando quieres dejar alineadas las lineas a algo de la anterior, no es múltiplo de 4.
      • Ocupa 4 veces mas que un tabulador en el fichero.
  • ¿Ponemos 2 espacios por cada tabulador de mentira?
    • Pros
      • Es mas real, lo que vemos es lo que escribimos.
      • Es mas fácil de seguir la regla, dos pulsaciones «placa placa».
      • No se desmadra muchos un montón de lineas porque o es impar o par y es una dupla mas o menos.
    • Contras
      • No queda tan identadas las lineas para que sean vistas bien a primera vista los bloques de código.
      • Ocupa 2 veces mas que un tabulador en el fichero.
    • ¿Ponemos 1 espacio por cada tabulador de mentira?
      • Pros
        • Es extremadamente fácil seguirlo, una pulsación solo.
      • Contras
        • No se nada de ve bien los bloques de código.

Y ahora diréis…»¿Qué hacemos?»…pues no se ahí tenéis la información cada uno que escoja su camino…yo creo que seguiré en la Matrix de los tabuladores…no se..no se, amistades jóvenes de sangre nueva de estos de node.js y moderneces, usa 2 espacios, cuando me lo dijo me escocia y me salían granitos…pero empiezo a comprender su postura…

Drakon: Diagramas de flujo soviets, porque en rojo mola mas

Creo amable lector que sabes que vivimos en una mentira, cosas supuestas como que la «2º Guerra Mundial se gano por los americanos» gracias a su propaganda en cine cuando se sabe que fue el esfuerzo de la URSS, como que el «1º en llegar a la Luna fueron los americanos», cuando los soviéticos tenían ya allí un robot parecido a los que mandamos a Marte y no contamos que fueron los primeros en el satélites artificiales y seres vivos.

Pues todos conocemos los típicos gráficos de flujo que siempre hemos visto, y la gente ochentera hemos masticado para aprender a programar.

Pues del otro lado del telón de acero, los científicos e ingenieros también trabajaban, y crearon el o estandarizaron su propio diagrama de flujo llamado Drakon …joder encima con un nombre épico.

Que tiene como ventajas frente al americano/europeo:

  • Es mucho mas organizado.
  • Es mucho mas claro visualmente, es la máxima, intentar que se lea bien.
  • Tiene «implementado» programación métodos, funciones y programación en paralelo.
  • Sleeps, es que caguen hasta el diagrama de flujo lo tiene y Javascript no….me cago en mi pena negra.

Para conseguir que sea claro, la dirección de ejecución del programa es siempre hacia abajo y de izquierda a derecha, también indica que las distintas cajas y lineas sean siempre iguales en tamaño y distancia en todo el diagrama.

Y el resto de el estándar soviético de diagramas de flujo Drakon puedes aprenderlo en el siguiente vídeo.

Y por supuesto en el mundo del software libre como buenos perroflautas masones comunistas ateos que somos, tenemos software para hacer diagramas Drakones para conquistar el mundo.

  • DRAKON editor: es un editor muy usable que incluso exporta el diagrama a varios lenguajes de programación.
  • Lo raro es que Dia Diagram Editor, un viejo y buen programa de GNU/Linux no tenga un set de gráficos para Drakon.

Videoconsolas libres

Ayer hablábamos de videoconsolas virtuales y sus alternativas libres (en el articulo Pico-8 no es software libre, pero hay alternativas libres), hoy vamos a salir de esos emuladores de consolas de fantasía, para meternos en la fantasía del hardware libre.

Arduinocade

Basándose en un Arduino y tuneandolo un poco y fácilmente, poniendole un «nuevo reloj» para que corra casi a 30mhz y después sencilla circuitería para conectar gamepad puedes tener una consola de 8 bits muy impresionante, el proyecto salio por hackaday hace un año mas o menos en su articulo Retro Games on ArduinoCade Just Shouldn’t Be Possible. Y que podéis ver en el siguiente vídeo:

Uzebox

Otra consola libre, que lleva desde el 2007 dando guerra, bastante mas potente que la Arduinocade, tiene mas colores en pantalla con lo que le da una sensación de videoconsola mas cercana a la NES que  la Atari , pero mas difícil de montar aunque tenéis mucha información incluida la wikipedia hispana en https://es.wikipedia.org/wiki/Uzebox  . También se basa en un micro de atmel (están en todos los lados). Y podéis asombraros de la buena pinta que tiene en los siguientes vídeos.

Y finalmente tienes las FPGAs pero que son bastante caras y de momento solo hay ¿cores? para consolas clásicas como la master system, nintendo 8 bits, etc.

Ouya, GP32 (y hermanas mayores), las dejo fuera porque son consolas abiertas pero no hardware libre, si acaso en un paso mas intermedio esta la RaspBerry Pi donde si hay mucho software y videojuegos libres pero el hardware no es abierto.

 

 

Pico-8 no es software libre, pero hay alternativas libres

Parece que Pico-8 gracias a Pocket C.H.I.P. se ha puesto de moda, pero la gente anda un poco confundida y como no es plato de buen gusto el rollo «videojuego en Unity3D opensource» o como se decía antes «videojuego en Flash opensource».

Vamos a aclarar sin mucha lejía, primero como supongo que andas vaguete no habrás clickado en los links, Pocket C.H.I.P es una especie de videoconsola portátil / ordenador basado en ARM muy parecido a lo que hace años fue el Ben NanoNote pero con un rollito crowdfunding de ese de ahora y menos libre que el Ben (la CPU del Ben es Hardware libre), corre un GNU/Linux y trae entre otras cosas los binarios de Pico-8.

pico8-on-pocketchip-celeste-by-matt-thorson-noel-berry-credit-michael-bucuzzo

Y ahora te preguntaras que es el Pico-8, pues aunque parezca nombre la eneava parte de una peli de kinkis ochentera española, es «una videoconsola/microordenador virtual», a ver me explico, un buen día el respetable programador japones que invento el videojuego Voxatron pensó «porque no hago un emulador de una videoconsola de 8 bits muy kawai y pixeleda con colorines». En vez de basarse en una consola real, una gameboy o una megadrive o yo que se, pues el tío en un alarde de originalidad (que no hay tanta como leeréis mas adelante) se invento una consola de fantasía que no existe llamada Pico-8, una consola bastante capada en hardware (baja resolución,  sonido…) pero que se programa en un subconjunto del lenguaje de programación brasileño mas famoso, Lua. Y el buen hombre se dedico a vender su emulador para distintos sistemas operativos, dejando una versión (que no se si es completa) del emulador en javascript+html para que la gente pudiera ofrecer sus videojuegos a los navegantes. No se, porque pero de repente hubo una moda muy fuerte entre los indies por el Pico-8 y empezaron a hacer juegos como churros, lo que fue una bola de nieve que ha crecido sobre este emulador de una consola inventada inexistente. Que ademas de no ser software libre, no por que lo venda, si no por no ofrecer las fuentes, aunque sea un API abierta, no es nada original porque en los 70 ya se invento algo parecido llamado CHIP-8 en este caso para facilitar la «port-eación» de videojuegos entre distintas maquinas de aquella época. Como nota curiosa, los «juegos» de Pico-8 se distribuyen en ficheros de imagen PNG con la imagen del cartucho en plan ochentero pero dentro tiene el código ejecutable y los datos, no se si embebidos como metadatos o están en «estenografía»…vamos mezclados con los bytes de la imagen, la verdad es que queda muy resulton y da ese tilín nostálgico.

pico8_main

Creo que ya has visto que estamos en la situación de plataforma cerrada (aunque sea emulada) y ahí nuestros amigos los hackers tomaron los teclados por banda para empezar a solucionarlo.

PicoLove: si Pico-8 es Lua…porque no picar usando como referencia el API de la maquina una versión con Löve, un genial engine de videojuegos multiplataforma que se pica en Lua. Aunque PicoLove no es perfecto, no funcionan todos los juegos que he probado, tiene una ventaja…e inconveniente (desde mi punto de vista que les dije en su bugtracker A parameter to set «stricted mode Pico-8», y es que trae muchas mejoras frente al limitado hardware de Pico-8, como números en coma flotante, mas memoria y tal, vamos que como la tontería del Pico-8 se ponga de moda y PicoLove también, no va ha haber un estándar único y van a haber futuros problemas de compatibilidad entre plataformas.

LIKO-12: otro emulador de consola virtual escrito en Lua y con el engine Löve. Este va mas allá que PicoLove, porque además de traer muchas mas mejoras como mas resolución, ya no usa el API de Pico-8 y usa todo el lenguaje Lua completo. Vamos que LIKO-12 es a Pico-8 como la SuperNintendo a la Nintendo, una consola «emulada y virtual» distinta a su prima pequeña. Pero como no sabemos por donde van a ir los caminos, hay que reseñarla por si en un futuro cercano añade compatibilidad con Pico-8…o se fusiona con PicoLove para buscar esa compatibilidad o se hace presidente de la Casa Blanca, vaya usted a saber.

Finalizamos con unos consejillos, si eres jugador PicoLove y que tengas suerte de que te funcione el juego, si eres desarrollador pues LIKO-12 que te da mas vidilla que Pico-8.

Lo siento solo es un blog.