Archivo de la etiqueta: software libre

Retroinformática Libre: JuegaLinEx (el libro de 2006) (Parte 1)

Si bien el señor Fanta en su blog Mierda.tv esta hablando de vez en cuando de la “retroinformática” convencional de juegos privativos pero con su encanto y su sabor añejo, como en el articulo King Quest V versión disquetes sobre GNU/Linux.

Pero claro, el software libre no nació ayer, llevamos décadas, ya hay software mas viejo que la Dreamcast (por ejemplo el videojuego Nethack que es del 1985) que desde hace un tiempo la gente la ha metido en el mundo del “retro”…y a mi me parece nuevisima…

Yo creo que la gente no ve “retro” juegos como el Nethack porque no se han quedado fosilizados como huesos de dinosaurio perdidos en el tiempo, si no que siguen vivos en desarrollo. ¿Sería entonces “retro” las primeras versiones estables del juego?

Y un día paseando por una biblioteca de los madriles, me encontré este libro que a decir verdad, ni sabía que existía. Por cierto un consejo niños y niñas, las bibliotecas son buenas, defender las bibliotecas, hay mucha gente que no tiene recursos y necesita ese alimento cultural, yo he visto gente “sintecho” disfrutando de la lectura o internet en bibliotecas públicas, y me siento orgulloso (a medias porque no es la solución completa a todos los problemas) de que exista un servicio público para tengan acceso a la cultura como lo tenemos los mas privilegiados con libros electrónicos y tablets y de mas chorradas.

Es curioso la fuerza que tuvo LinEx un proyecto de un montón de cosas, todas relacionadas con mejorar las condiciones técnicas (tanto en conocimiento, titulaciones, desarrollo, educación, servicios públicos) de una zona mas o menos “pobre” (porque usar palabras bonitas) de España, y que la parte mas visible fue una distribución.

El libro ya tiene sus 10 años largos, incluye el típico DVD en la contraportada…como odio que los pusieran ahí (en el típico libro de informática) porque al final para protegerlo de que no se doblada, lo tenias que recortar y guardar en otro lado.

Lo asombroso del software libre para alguien de fuera del mundillo, es que el DVD tiene todos los juegos de los que habla, es como si te compras un libro del Minecraft o del último Fifa o el último Call of Duty, y te meten el juego en un DVD.

Y es que encima vienen 142 juegos, algunos de mucha calidad…pídele eso al papa EA o Micro$oft o Nint€ndo que una editorial publique un libro sin ser ellos y te metan 142 juegos.

Y lo curioso del DVD, es que te ofrece en la instalación del sistema un menú con la opción de instalar solo los juegos infantiles sin violencia ni cosas chungas, también te ofrece instalar juegos que no necesiten de aceleración 3D (si niños y niñas en los 90 y los dosmiles el 3D era cosa cara).

Y bueno el libro se divide en los capítulos:

  • Introducción
  • Guía de instalación de JuegaLinex
  • Géneros
    • Arcade
    • Estrategia
    • Naipes
    • Plataformas
    • Rompecabezas
    • Simuladores
    • Tablero
    • Misceláneo

Y creo que para la 1º parte de esta serie de artículos vamos bien, en las siguientes, según voy ojeando el libro os voy a destacar juegos o cosas curiosas que he visto.

Robot con ruedas “de esas” hecho a mano

El hecho a mano esta puesto en negrita, porque como ves en el vídeo no usa impresoras 3D, ni usa CNCs, ni cortadoras laser, ni nada, todo a la vieja escuela con materiales y herramientas de toda la vida.

Y el resultado es espectacular…aunque el mando es un poco cutrecillo…ahí si que se lo podía haber currado un poco mas…

Aprendiendo a jugar a Cataclysm DDA (Parte 5)

He vuelto a este genial juego porque….YA HAY VERSIÓN PARA ANDROID, YA EXISTE EL CATACLYSM DDA PARA ANDROID…

Podéis apuntaros a la beta para instalarlo en vuestra tablet o móvil y seguir el hilo de mensajes o incluso ayudar al desarrollador en el post en reddit Android Version beta test has begun!

El port no es simplemente que funcione el juego y ya esta, si no que ha metido cosas:

  • como un joystick virtual que aparece donde dejes el dedo y sustituye a los cursores, cosa muy útil, puedes verlo en la captura de pantalla siguiente.
  • Una lista de atajos de teclado, sensibles al contexto e incluso que se van añadiendo los que vas usando.

    Como buen roguelike, el uso del teclado es total, pero Android salvo teléfonos o tablets raros, no tiene un teclado físico, para hacer agradable la experiencia de jugarlo con la pantalla táctil, el juego te pone abajo a la izquierda una lista de comandos ha hacer si tuvieras el teclado, pero es que encima detecta en que parte del juego estas para ponerte los necesarios e incluso si alguna vez usas otro te los va guardando para ser la próxima vez mas fácil.
  • Guardado automático cuando se manda a segundo plano el juego, como nos pasa a todos, usamos el móvil para varias cosas por lo que el juego para no perder el avance que vas haciendo si cambias de app se guarda automáticamente.

El autor recomienda que tengamos un teclado “serio” virtual instalado en Android, por ejemplo Hacker keyboard, ya que se necesita tener las teclas de ESC, ALT y demás que no dan los teclados virtuales estándar porque son mas para escribir y ya esta.

La forma de jugarlo, pues:

  • arrastrar el dedo, para mover el personaje o por las opciones de los menus.
  • una pulsación, para confirmar la acción en un menú o pausar el juego.
  • dos pulsaciones, para cancelar o volver al menú anterior o pantalla anterior.
  • pellizar (como en el google maps), para hacer zoom en el juego.
  • botón de atrás del Android, para sacar el teclado virtual
  • mantener pulsado el botón de atrás del Android, para ocultar la barra de atajos de teclado.

La verdad que es impresionando, ver este gigantesco juego en Android y encima sin comer batería, funciona muy bien y se hace muy agradable de jugar gracias a las adaptaciones que ha hecho el programador del port de este genial videojuego de software libre y roguelike de supervivencia en un mundo post-apocalíptico zombie.

Yo creía que iba a tardar en años en salir una versión para android y esperaba que fuera difícil de jugar por la falta de un teclado…pero me he confundido, tenéis el mejor videojuego para pasar esos momentos de WC o transporte público.

Minetest, la ALTERNATIVA a Minecraft, consejos y pequeña guía en español (Parte 2)

Posts in this series
  1. Minetest, la ALTERNATIVA a Minecraft, consejos y pequeña guía en español (Parte 1)
  2. Minetest, la ALTERNATIVA a Minecraft, consejos y pequeña guía en español (Parte 2)

Ya en la parte 1 de esta pequeña guía damos unas pinceladas de lo grande que es Minetest la ALTERNATIVA a Minecraft. Ahora vamos a como instalar subgames o packs de juego en Minetest.

Un pack de juego es un conjunto de scripts / mods, packs de gráficos, músicas y sonidos para cambiar completamente o en parte el Minetest.

Para instalarlos (en GNU/Linux) es tan simple como ir al directorio del juego, en mi caso:

/home/md/.minetest

Ahora tenéis que ver si hay un directorio llamado

/home/md/.minetest/games

Si no, pues crearlo.

Ahora hay que descargar un subgame para Minetest, os recomiendo Mineclone2 que es mas o menos parecido al Minecraft, le faltan algunas cosas como:

  • Nether
  • Ver las flechas volar
  • Experiencia
  • Pociones
  • Pueblos de NPC
  • Y alguna cosa mas, porque yo me desenganche del m$-minecraft hace 5 años.

Por supuesto Mineclone2 es software libre. Y podéis ayudar a mejorarlo.

Para descargarlo es en:

http://repo.or.cz/MineClone/MineClone2.git/shortlog

En la última columna tenéis el zip para descargar.

Y solo hay que descomprimirlo en el directorio games que os conté antes y os quedara algo tal que así:

/home/md/.minetest/games/MineClone2

Y al arrancar el Minetest, veréis abajo 2 cubos de tierra que son el icono para acceder al MineClone2, al pulsar cambiara el menú al que veis en la captura de pantalla.

Cuando hagáis un mundo para Mineclone2, tenéis que poner en el formato/MapGen v6 si no os va salir mal el mundo y va ser como un desierto lunar solo con piedra y sin arboles ni nada.

Aviso: Los mundos creados en un subgame no pueden llevarse a otro subgame.

Minetest, la ALTERNATIVA a Minecraft, consejos y pequeña guía en español (Parte 1)

Posts in this series
  1. Minetest, la ALTERNATIVA a Minecraft, consejos y pequeña guía en español (Parte 1)
  2. Minetest, la ALTERNATIVA a Minecraft, consejos y pequeña guía en español (Parte 2)

Minetest es la ALTERNATIVA a Minecraft o mejor dicho Micro$oft Minecraft…cago en todos tus muertos mas frescos Notch. no olvidamos la promesa de que ibas a liberar el código, Notch’s forgotten promise to make Minecraft’s sources Public Domain.

Es la ALTERNATIVA por las siguientes razones:

  • Es software libre
    • no depende de un gordito calvo de europa del norte que vende su culo a micro$oft.
    • Hay mucha gente mejorandolo.
    • Hay versiones para muchas videoconsolas e incluso móvil como Android.
  • Es en C++
    • Es un lenguaje de programación mejor que el Java para videojuegos…y diría a nivel personal que para todo en general.
    • Aprovecha mucho mejor la maquina, si el minecraft te funciona lento y mal, seguro que con Minetest va mejor. Minetest además usa las mejoras de las tarjetas gráficas directamente sin problemas como cualquier otro juego.
  • Mejoras frente a minecraft.
    • MODs son en el lenguaje de programación LUA.
      • Lo que facilita a los “modders” mucho la vida, porque no tienen que hacer ingeniería inversa, ni inventos raros, al ser un proyecto de software libre ama que la gente lo toque y le meta cosas.
    • Soporta packs de texturas.
      • Puedes verlo lo mas bonito que quieras.
      • Puedes verlo lo mas detallado que quieras (es C++ no se va arrastrar la máquina).
      • O incluso lo puedes lo mas simple que quieras porque lo estas jugando en un PC lentito.
    • Soporta packs de juegos
      • Puedes tener multitud de juegos distintos.
    • Es mas grande que el micro$oft minecraft, los mapas pueden ser de miles de unidades mas grandes.
    • Soporta luz dinámica, se ve mas bonitas las cuevas con las antorchas.
    • Montar servidores y administrarlo es mucho mas fácil que con m$-minecraft.
    • No todo es cuadrado o cubico, soporta cargar modelos realizados en Blender, bienvenido a las curvas.

Bueno pues vamos con los consejos:

  • El juego se instala muy bien en cualquier GNU/Linux así que ahí creo que no tengo ni consejos, ni bocatas de calamares.
  • El juego viene con dos packs de juegos, son los iconos de abajo en el menú principal:
    • Minetest Game, como el minecraft, pero sin redstone y sin monstruos.
    • Mininimal development test,  ese es un juego muy básico y se usa mas para desarrollar y probar cosas de programación.
    • Puedes añadir mas packs de juegos. Los llaman subgames en el wiki.
  • Cada mundo que generes para jugar esta enganchado a un pack de juego.
  • Hay un botón muy útil, el shift que tanto vale para caminar como para andar por los bordes de tus construcciones sin caerte.
  • El botón del medio del ratón te mueve los objetos de 10 en 10.
  • No hay que hacer cajón de herramientas del minecraft, ya tienes el 3×3 directamente para craftear.

De momento creo que no hay mucho mas que explicar en este primer articulo.

 

Quedan 7 días para votar por los mejores juegos libres del 2016

En la comunidad del elbinario, hemos organizado una votación por los mejores juegos libres del 2016.

“¿Por qué soy tan pesado con la encuesta?” Pues además que me gustan las tradiciones y se perdió hace años esta costumbre de la página linuxjuegos (ya que murió aunque sigue ahí en plan zombie como pixfans). Si no se consigue un gran numero de votos, va ser un poco triste los resultados porque apenas va ha haber un recuento interesante de votos…a parte de que puede que haya gente confusa con las votaciones y vote por juegos que no han salido en este último año 2016 una versión pública.

Animaros a votar por vuestros juegos favoritos, además seguro que os descubren otros grandes juegos que no conocíais.

Jugar a Magic: The Gathering libre en GNU/Linux

Bueno si has llegado aquí, como yo, te salvaste de drogarte en tu adolescencia…salvo que fueras un niños de papa y te sobrará el dinero para pagarte estos cartoncitos y la droja….y puede que te salvará de enfermedades venéreas.

Así que sabes que es el famoso jueguecito este de las cartas de magic, si no el consecuente link de la wikipedia: Magic: el encuentro .

Y para el que no tenga ganas de entrar a leer el articulo, lo explicamos rápido y sencillo, es un juego de cartas coleccionables, donde cada jugador lleva de su casa una baraja de cartas con hechizos, bichos y otras cosas, y su objetivo es matar al otro jugador atacándolo con las cartas que tienen un precio (en el juego, en la realidad es otra historia) para jugarlas y se pagan con otras cartas en juego.

El juego en si es muy chulo y divertido, y creo que marco época como la aparición de la radio o televisión, pero el problema es pese al matemático que lo invento hizo un juego matemáticamente perfecto, es decir era no coleccionable solo iba a haber un pack de cartas y ya esta, porque era un piedra, papel, tijera, no había ninguna carta bestia que jodiera al resto de cartas y jugadores….pero hete aquí que en la imprenta esa americana le sobró una imagen y pensaron “¿Qué hacemos con esta imagen de pajaritos…la tiramos a la papelera?”…y en vez de darle un telefonazo al matemático y decirle “ehh chacho, ehh garfiel que tenemos unos pájaros que nos sobran…” pues en vez de eso se inventaron una carta llama Aves del Paraíso y ahí se jodió el juego antes de salir a la calle, el feto se deformo antes de parirlo, porque entonces paso de ser un juego matemáticamente perfecto a tener una carta muy fuerte que hizo que la juguetera sacara cada medio año o así una nueva expansión “intentando arreglarlo”, paso a ser un juego pay to win vamos dejaté las perras en cada pack de cartas nuevo que sale en la tienda de comics de tu barrio, porque el friki baboso con el que juegas y desconoces tu nombre alguna vez te jode la vida porque sus padres tienen buen poder adquisitivo. Yo pique, yo me metí en esta droga, realmente te sientes como los yonkis estos que se apiñan en la esquina de tu ciudad esperando para ir a por droga, porque ibas a campeonatos de esos de fines de semana y salias asqueado y diciendo para que he venido aquí, o ibas a tiendas de comics a jugar….a sufrir por las tarde y es que eras tonto y seguías con esta mierda que te hacia daño, al bolsillo y a tus ánimos de la vida.

Y no he hablado de la especulación en la reventa de cartas, magic es el ejemplo claro de que el capitalismo es una mierda, ahora nos quejamos del precio de las casas…pero en estos cartoncitos infantiles se ve el germen de la maldad humana, y ahora no sorprende que se especule con bienes de primera necesidad.

Pero tranquilos, se sale, después de haberle pagado un par de ferraris a los tenderos de comics, pero se sale. Os doy unos consejos a los que estéis metido en esta mierda de los cartoncitos:

  • Date cuenta de el saca cuartos que es esta mierda.
  • Rompe con el entorno ya, pero ya, no compres revistas (en estos tiempos no visites páginas webs), no vayas a las tiendas de comics, y si vas no mires las estanterías de las magics, y rompe con esos desconocidos que no son tus amigos que solo esperan que vayas cual tierno cordero cada semana a que te masacren y te destrocen. E igual con los campeonatos.
  • Pasado un tiempo prudencial, meses u años, vuelve a jugar, pero con gente normal, QUE JUEGA PARA DIVERTIRSE. En mi caso fue unos primos de mi edad mas o menos que no tenían nada de friki, y que jugábamos esas noches en su casa con sus colegas albañiles, con cervezas y tal, y lo que mas buen rollo había era que aunque lleváramos un “mazo campeón” al terminar cada partida, nos intercambiábamos los mazos ¡¡sacrilegio son tus impolutas e intocables cartas!! (ains estarás pensando eso tontorrón) y jugabamos con otros mazos, y ya esta disfrutábamos, unas noches ganábamos otras veces perdiamos pero bien.

Hace años que no juego físicamente, desde que deje mi ciudad natal, hace años que no gasto un céntimo en las cartitas magic (mucho he gastado) y hace todavía mas años que no sufro jugando, aunque suene un poco bruto es como una liberación y sentirte bien contigo mismo como cuando algunas mujeres descubren el sexo con su primer novio y es un violador en potencia y un desgraciado y creen que es pura mierda el sexo, pasan de volver a la cama con nadie, y pasado los años y cicatrizadas las heridas vuelven a probar de otra manera y piensan que coño, esto mola…pero el problema es que ahí afuera en ese mundo hay mucho desgraciado sin autoestima que su única forma de sentirse importante es jodiendo a los demás.

Pues vamos a por la parte digital, como perro viejo os voy a contar batallitas. Corrían los principios del dosmiles, empezaba internet para todos y todas en españa (no como antes que solo los pijos frikis tenían BBS y tal y el resto apenas teníamos un Spectrum), eran tiempos antes incluso del mesenger de micro$oft (nunca lo toque directamente, gracias al viejo Gaim (renacido como Pidgin)), si no que la gente chateaba con IRC, salió un programa para micro$oft windows98, el Aprendice, era feo como el solo, las cartas en vez de ser rectangulares, eran cuadritos, y tenía un handicap muy importante, bueno dos, uno que no tenía una IA mas o menos lista para jugar solo en casa y no solo para jugar en internet (porque internet estaba viniendo pero despacio), y la otra, es que era una “mesa de juego virtual”, que viene a decir que podías hacer lo que querías en el programa, atacar con una tierra y quitarle 666 de vida al jugador, sacar todas las cartas en cualquier momento, campo abonado para tramposos y para descuidados.

También salió en software privativo, un videojuego creado por la genial empresa Microprose, Magic: The Gathering (1997 video game), que contar de este juego, pues que también era muy muy feucho, pero este si calmaba las ansias de jugar a magic en tu casa sin aguantar a frikis babosos, ya casi no me acuerdo de el, pero le tuve mucho cariño, me vino en un CD-Mix (historias de abuelete) que era una recopilación de juegos piratas que se pasaba de mano en mano, el juego te ponía en la piel de un mago que tenia que matar a 5 magos (los 5 colores de magic) que cada uno estaba en su castillo, había en el mapa pueblos y otros puntos donde entrar y comerciar con cartas y un pequeño inventario (una comida que se gastaba en cada paso que dabas al estilo de los roguelikes), y por supuesto las peleas con todo bicho viviente era una partida a magic. Visualmente todo eso era feucho feucho, pero cuando pasabas a jugar la partida, ahí si que tenia todo la fuerza y encanto el juego, porque a parte de al contrario de Aprendice este si tenia programadas las reglas de juego, visualmente era espectacular con un menú a la derecha muy útil y que veía la carta que tuvieras el ratón encima, dice la leyenda en aquél tiempo que había gente muy lista que capturaba la pantalla e imprimía las cartas que salían ahí en grande para timar a algún pobre incauto. En global el juego era divertido con el modo historia, las veces que lo rejugué nunca me dio por hacer el pokemon de conseguir todas las cartas iba a por cartas que me gustaban como el mítico Tornillo Siniestro (lo que me hizo disfrutar esa carta en este videojuego).

Y a partir de aquí en mi historia abandona el software privativo, y pasamos al software libre, recuerdo aun de haber pisado alguna tienda de comics y la gente hablar del juego de magic de la 1º Xbox que decían que era espectacular visualmente pero no tenia la esencia del juego y parecía una partida de voleibol, y recuerdo que empezó el Magic Online pero que a mi ni fu, ni fa, ya estaba fuera de ese mundo yonki y lo mas cercano adelantandos del pasado al presente que probé hace un año o así fue la “app oficial de magic para tablet” y vi que era otro sacacuartos mas y encima que era un comebaterias con tanta tontería de animación en 3D quemaCPU.

Volviendo al pasado, otra vez, haya por el 2011 o así un amigo, Oscar el hombre me recomendó probar en la PSP, un juego homebrew llamado Wagic, tenía la PSP recién comprada para jugar en los largos caminos al trabajo en cercanías (momento de mi vida que mas libros he leído y videojuegos en portátil he jugado), a penas tenia juegos y casi todos de 2º mano y nada de pirateo, pues le hice caso, rootearla (puto asco de palabra, que maldición, ahora hasta las lavadoras nos las dan capadas). Y chico, junto con el Disgaea, Wagic ha sido el software mas tiempo y mucho con diferencia ejecutado mi PSP, una videoconsola, estas palabras deberían llegar a todos los emails de las empresas de videoconsolas, que el mejor juego que tenga una consola no venga de una empresa comercial y sea una obra de la comunidad y que es software libre.

Bueno volvamos a Wagic, creo que nació en la PSP (comentaristas a mi), es bastante sencilla y sin rayadas esta implementación de este juego de cartas, una parte para gestionar la colección de cartas, una parte para elegir las IAs contra las que jugar, una tienda donde comprar cartas nuevas y un modo historia basado en misiones que te va mandando el tendero.

Para los que solo podáis jugar en el WC, recomendaros que tienen versión para android.

En serio es un juego con unos gráficos preciosos que no hace falta bajarse un pack de cartas escaneadas originales, el menú de la izquierda en plan rueda es super útil y los menús que te ayudan de vez en cuando con las opciones si – no – no a todo. Por supuesto no os he dicho que están implementadas las reglas de juego, no es una mesa de juego virtual. Y por supuesto es jugable con teclado, pantalla táctil, ratón y gamepad.

A partir de aquí os puedo contar que los siguientes proyectos libres para mi personalmente no tienen el nivel de Wagic aunque aportan otras cosas.

  • Magic-Project: este lo conocí de rebote hace años y es muy javero y de aspecto de escritorio. Creo que el proyecto murió. En su momento me pareció un proyecto imposible, el de meter las reglas de miles de reglas de las miles de cartas…pero wagic lo consiguió.
  • Cockatrice: es un clon libre del apprendice, ni mas ni menos, una mesa virtual que no te da nada mas.
  • Xmage: ni lo he probado, lo siento…si alguno quiere comentar en los comentarios…
  • Maganera: este proyecto es el que me ha hecho empezar a escribir este articulo, cierto es que es java…pero bueno…tiene bonitas animaciones, esta implementanda las reglas y desde el propio programa descarga los escaneos de las cartas originales. Recomendable, aunque el rollito de comprar cartas que tiene wagic mola mucho.

Y fuera del silicio y los electrones, tenemos otras alternativas de juegos de mesa print and play:

  • Dvorak: un juego de cartas que es como la versión 2.0 al famoso (en los círculos satánicos) 1000 en blanco.
  • 1000 cartas en blanco: yo lo meto en que se parece a las magic…no se tu…es muy divertido.

Cosas que odio de los lenguajes de programación

Nota: Llevo casi un año escribiendo de a poquito el articulo por el móvil y tal. Le he metido un empujón para que salga antes de terminar el año.

Ya son muchos años, soy un perro viejo en esto de picar código, posiblemente…tu lector puede que seas un tierno cachorrito lleno de ilusión…pero bueno ya te irás siendo un perro apaleado.

Dicen que “no hay bala de plata” a la hora de resolver un problema de programación, que cada lenguaje es bueno para una cosa, y creo que desde mis años perrunos opino que es cierto.

También dicen “cuando tienes un martillo entre manos, todo son clavos”, y eso veo que le pasa a los cachorritos, por ejemplo ahora (cuando estoy escribiendo estas líneas) esta de moda el rollo de node Js y javascript, y los cachorritos lo quieren usar para todo.

Pero bueno viendo algunos lenguajes, os voy a relatar mis odios mas ocultos…o no tan ocultos:

  • Perl: lo odio casi completamente, aunque si tuviera que odiar algo particularmente, es los sigils, que son esos pequeños simbolitos que acompañan a las variables para diferenciarlas de palabras reservadas y tal, que en lenguajes como PHP son muy útiles, básicamente porque solo hay el $ y resalta visualmente donde están las variables y te la libertad de usar $return sin problemas por ejemplo. Pero Perl es un infierno de simbolitos, que unos hacen que la variable sea un puntero o un array o un hash. ¿Alguien tiene una chuleta o cheatsheet con lo que hace cada uno y como se puede volver atrás….porque pasa como con los punteros en C que se te pierde la variable…pero mas raro?
  • Javascript: todo lo he escrito en el futuro pasado en Sigo pensando que javascript apesta, resumen no hay sleep, y es multihilo pero no te deja manejarlos. Añado que se esta llenando de capas y capas de abstracción en plan como java.
  • PHP: lo quiero es un fiel compañero que me ha dado de comer muchos años, pero como buen amigo tiene sus pequeñas manías que le respetas pero están ahí. A ver no nos llevemos las manos a la cabeza, pero PHP fue un lenguaje de programación inventado a caballo que refleja un poco los problemas del caos ordenado de la gestión de proyectos de software libre, y no es un lenguaje muy estandarizado su idioma, como el español con los verbos irregulares que sabiamente los niños regularizan pero los castran para que siga siendo así el español. Hay un documento o paper (como dicen los modernitos) muy famoso sobre el caos ordenado que es,  PHP: a fractal of bad design. Quizá lo que a mi me molesta es que no tenga hilos (pero por lo menos no los tiene de verdad, no como javascript que te los niega),  que sea de tipado dinámico las variables que te da problemillas (que han resuelto en el 7 pero que lo están volviendo un poco C). Bueno si hay una cosa si que odio es la lista de parámetros por defecto en las funciones te vuelve loco cuando solo tienes que meter el último y tienes que mirar el código fuente la función para poner a mano los anteriores, python lo arreglo esto bastante bien.
  • Java: la eterna promesa, es como medio novia que te traiciona una y otra vez pero vuelves a sus brazos, mi ultima vez fue cuando comenzó Android, creía que esta vez si…pero no otra vez la traición…sigue siendo un lenguaje que primero tienen sobrecargado el operador + para strings pero tu no puedes, con capas de capas de abstracción para causar erecciones poderosas en teóricos de la programación pero que no se manchan las manos a diario. Es un cristo programar en Android y encima parece que programas como el viejo asqueroso m$-visual basic te salen la aplicación visualmente fea y cuadriculada con miles de lineas y cosas complejas como que no puedes acceder al valor seleccionado de una lista o combobox sino que necesitas otro objeto iterador. He visto lineas de 300 y pico caracteres para abrir una base de datos y no se perderán como lagrimas en la lluvia porque las cárnicas (consultoras) que venden carne de informático al peso siguen con proyectos de mierda en java con miles de capas.
  • Python: que no tenga un switch (perl tampoco lo tiene) y te hace llenar el código lineas y lineas de if – else – elif …hay gente lo pregunta en stackoverflow Replacements for switch statement in Python?, por lo demás mas o menos no tiene mucho problemas, salvo el tema de los tipos mutables y no mutables que es un poco lio pero no mucho. Y bueno que tampoco hay manera de definir variables estáticas dentro de una función…que también lo comentan por stackoverflow What is the Python equivalent of static variables inside a function? . Parece que este lenguaje de programación ha sido tocado por el dedo de dios, me tengo que poner seriamente con django porque puede ser una alternativa a mi querido PHP.
  • C#: otro que odio del todo porque es un producto comercial de micro$oft que lo venden como un lenguaje de programación y es un feto mal parido hijo de m$ visual basic (si lo has sufrido veras que tiene mucha mierda parecida). Pero por desgracia se esta poniendo de moda gracias a Unity3D y parece que la siguiente versión de Godot va a incluirlo en su hermano gemelo libre Mono así que habrá que empezar a aceptarlo.
  • Resto: o ya no se usan o son tan producto comerciales que no merece gastar caracteres en este texto. Y C, ASM es como las matemáticas hay que aprenderlo y respetarlo por ser old school…C++ pues tampoco me pegado mucho para odiarlo.

Hay un wiki que también trata nuestros odios en los lenguajes de programación: YourLanguageSucks

Y vuestros odios sobre lenguajes de programación cuales son…comentad…confesar…calmad vuestra alma.

2 issues que he abierto en github y me siento orgulloso

Bueno esto es un blog ¿no? Pues voy a hablar de mi, ale un poco de egocentrismo digno de esos tiempos blogueriles del pasado…ahora la gente egocéntrica esta en redes sociales…mas fácil y un goce mas instantáneo…

Los issues o bugs que registramos en por ejemplo en los proyectos de software libre dentro github, es una forma de ayudar a los proyectos, el software libre en lo una de las muchas cosas que destaca es en solido como una roca, y es gracias a la gente que vamos diciendo oye que he encontrado un “problemilla” o “problemón”, y todo eso se apuntan en páginas llamadas bugtrackers (seguidores de bug).

Y en otra cosa que destaca el software libre es en la cercanía a las necesidades de la gente, y eso es por medio de “wish” o deseo, que normalmente caen también en los bugtrackers, porque algunas veces los usuarios somos un poco caprichosos o tontos y pensamos que un deseo es un problema, pero tranquilos que normalmente se categorizan por alguien que revisa.

Pues aquí mi pequeña lista de bugs …o wish que he abierto en github que representan un tema interesante:

  • DoomRL (o ahora llamado D*mRL) se ha liberado hace apenas unas semanas, es un gran roguelike de estos para empezar con esta secta satanica de género.
    • How to make the GNU/Linux binary? : Pues este es el bug, pese a que si tenían versión para GNU/Linux, si coges el código fuente tal cual…¡¡no compila!! Lo bonito de este bug es que demuestra el musculo del software libre porque hay mucha gente echando una mano a ver si conseguimos el binario….puede que tu seas el caballero que saque la espada de la piedra.
  • OpenRCT2 es el engine libre para ese genial juego de estrategia comercial el Roller Coaster Tycoon (el 2 que es un 1.5), ha sido espectacular ver este último año como empezaron con un código descompilado sucio lo están convirtiendo en algo legible y reparando y mejorando, siguen una estela de otro proyecto que trajo un gran juego a GNU/Linux del mismo desarrollador original del cerrado el juego estrategia comercial de transportes OpenTTD,
    •  is there a repository for Free Assets? : aunque esta cerrado y mas que un bug es un wish, es una cosa que había que decir en público y me oyó la gente. Y es que ya el código esta al 100% libre pero los ficheros datos del juego es necesario tirar de pirateo u original, y lo importante es que el juego pase a ser libre total como su hermano de los trenes.

Y bueno amigos y amigas, no tengáis vergüenza a decir vuestros problemas…en el software libre, ayudará a madurar mucho al proyecto.

Chuleta de tmux

Tmux es una excelente herramienta para trabajar cómodamente con la terminal en GNU/Linux, lo que hace es darte como darte en forma de terminal una especie de escritorio (como Mate, XFCE, LXDE…) pero en plan tiling o paneles en vez de ventanas (como el editor Atom, o el programa de 3D Blender, o el escritorios de paneles Awesome, i3), e incluso el tmux trae un sistema de escritorios virtuales cosa muy útil que me asombro cuando descubrí GNU/Linux hace años.

Y todo ello mouseless que esta tan de moda porque “aumenta la productividad”.

También esto es una autochuleta porque nunca me acuerdo de todo los atajos de teclado de tmux, y no estan todos, si no los que mas útiles me parecen a mi.

Por cierto, el que me embarco a empezar a usar tmux, fue el tutorial de Santiago Romero sobre tmux y un ex-compañero de curro Ramón que lo usaba efusivamente.

Bueno vayamos con la chuleta:

  • Panel = “Ventana tmux”
  • Ventana = “escritorio tmux”
  • Solo hay un panel activo y tiene el  borde marcado a verde.
  • Solo hay una ventana activa y aparece marcada en “la barra de tareas” abajo con un * .
  • Paneles
    • ctrl + b: para empezar  a mandarle comandos al tmux, todas empiezan así y después es pulsar otra tecla o combinación.
    • esc: cancela el modo comando tmux por si te has liado y quieres volver a empezar.
    • ctrl + b ?: muestra un listado de los comandos.
    • ctrl + b %: divide el terminal actual en dos paneles en vertical, dejándote en el mismo path y todo, pero no lo que este en ejecución ni su salida.
    • ctrl + b “: divide el terminal actual en dos paneles en horizontal.
    • ctrl + b (cursores dirección): te cambia de panel activo, si pulsas izquierda al que esta a la izquierda y así con todas las direcciones, es rotativo si estas en la mas arriba empieza en la de abajo.
    • ctrl + b q: muestra unos números grandes que identifican a cada panel durante un segundo mas o menos, si pulsas el numero vas a ese panel (solo funciona con números del 0 al 9).
    • ctrl + b ctrl + (cursores dirección): estrecha o amplia el panel activo, es decir si pulsas hacia la izquierda y es el derecho lo agrandas estilo como las ventanas cuando tiras del borde con el ratón.
    • ctrl + b x: cierra el panel actual.
    • ctrl + b z: amplia el panel actual a toda la pantalla, volver a pulsar para volver a ver el mosaico de paneles.
    • ctrl + b [: entra en el “modo buffer” en el panel actual porque si no te has dado cuenta has perdido las barras de desplazamiento de tu ventana (del escritorio) del terminal, para salir pulsa q o esc.
  • Ventanas (estilo escritorios virtuales repito)
    • ctrl + b c: crea una nueva ventana, te pone como activa y veras abajo que la añade a la lista de ventanas.
    • ctrl + b <numero>: cambia a la ventana con ese número.
    • ctrl + b !: crea una ventana nueva del panel actual, ¡ojo! no hay vuelta atrás.
    • ctrl + b &: cierra la ventana actual con todos sus paneles, pregunta abajo en la barra de tareas.
  • Para trabajar en remoto con servidores
    • ctrl + b d: sirve para “desenganchar” el tmux actual, se queda en ejecución con todos sus paneles y ventanas.
    • ctrl + b s: lista todos los tmux que hay en ejecución para engancharte, ¡ojo! que al desengancharte del actual vacío para engancharte a otro te lo deja ahí y la lista cada vez se hace mas gorda.
    • tmux list-sessions: desde el terminal antes de ejecutar tmux, para listar los tmux abierto, mejor que el de ctrl + b s.
    • tmux attach -t <numero>: engancharte a un tmux vivo sin crear uno nuevo.
  • ctrl + b : :entra en modo estilo vi y puedes escribir por ejemplo kill-session para cerrar todo el tmux actual.

Mi siguiente paso es aprender a usar bien bien, el escritorio tileado/mosaico como I3 para buscar la máxima comodidad y quitar comerecursos.