Archivo de la categoría: Tecnología

Chuleta pequeña sobre Git

El maravilloso git que fue regalo del dios en la tierra Torvals jejejeje…lastima que no triunfara mercurial…que era en el maravilloso Python.

Tiene un par de comandos que siempre se me olvidan y me toca buscar, es jugar con las ramas, porque no es algo diario pero con la suficiente rutina para que maldigas la falta de memoría.

  • Crear rama (en local y en remoto)
git checkout -b <branch_name>
git push <remote_name> <branch_name>

Por ejemplo:

git checkout -b feature_para_ayer
git push origin feature_para_ayer
  • Borrar una rama (en local y en remoto)
    git branch -d <branch_name>
    git push <remote_name> :<branch_name>

Por ejemplo:

git branch -d feature_para_ayer
git push origin :feature_para_ayer

Llega el veranito y quiero mejorar mi ingles…coño ayuda a la comunidad del software libre

Dentro de las incongruencias del ser humano, tenemos dos muy importantes:

  • las promesas de año nuevo, que nunca se cumplen o quedan lejos del éxito.
  • y con llegada del verano, las miles de ideas de aprovechar el tiempo…»que si me voy de turismo ONGero», «que si me apunto a clases de ingles», «que si voy al curro en bici»…pero al final la única bici que ves es las que te hacen dormir la siesta en La2 con la vuelta de españa.

Pero bueno, desde los tomates, no vamos desanimarte en tu intento de mejorar con la lengua de la isla.

Pero ya que te mola el turismo ONGero…¿Por qué no aprovechas tu esfuerzo de aprender ingles, ayudando a la comunidad del software libre?

Ayudaras a proyectos de software libre traduciendo sus textos al español desde el ingles, y además te vale para curriculum, porque es una colaboración con un proyecto.

Desde aquí te pasamos una lista de webs donde hay alojados los textos a traducir al español:

  • Launchpad: es una web montada por Canonical (Ubuntu) donde a parte de proyectos de esta distribución, encontrarás muchos otros proyectos que aprovechan las herramientas que les dan para gestionarlos, entre ellas un panel web de traducción.
  • Transifex: un web que ofrece servicios de traducción a proyectos de software, pero que si el proyecto es software libre se lo da gratuitamente.
  • Traducciones de la wikipedia: aquí puedes además de traducir del ingles al español, al contrario. Y además tienes que esforzarte en la redacción y no son palabras sueltas. Aportas contenido y refuerzas la mayor enciclopedia colaborativa y de cultura libre que no es otra que la wikipedia.

Y de propina Stringlate, es una APP libre que puedes encontrar en F-Droid un «store de APPs libres para Android», esta te da un formulario muy fácil también para colaborar en la traducción de aplicaciones libres de Android.

¿Sabes algún otro sitio donde se pueda colaborar en traducciones de material libre al español?

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…

Teres I, otro portátil libre

Vía barrapunto, que todavía sigue algo vivo, me entero de la siguiente noticia:

Teres-I, portátil ARM64 Open Hardware

Ya hemos hablado en los tomates de portátiles libres…por lo menos un poquito…porque las CPUs son harinas del otro costal…

Tiene buena pinta, pero hay algo que me escama, no se si sera porque el cariño que le tengo ha cierto bulgaro clasista, machista, egocentrico y apedreado de la vida. Pero este portátil que viene de Bulgaria, no aporta nada, no se es como ir al mierdimark o a algún sitio similiar y pedir piezas solo con el calificativo de «eco» o en este caso «open». No se, veo mas potentes el uso de piezas comunes aunque no sean libres del todo como la Raspberry Pi.

Pero bueno vamos a ver si esto es un OpenMoko, y ayuda a que otros proyectos levanten las alas y comiencen a volar.

Y para los vaguetes, aquí la lista de otras veces que se ha hablado de portátiles libres:

La herramienta definitiva (de momento)

He encontrado este vídeo por hackaday y me quedado flipado, es mezclar dos herramientas en una, pero no es el rollo mezclar nocilla con chorizo.

Por un lado una impresora 3D de metales de 4 ejes (o 5 yo ya he perdido la cuenta), no conocía la tecnología esta de usar laser y no se como se comporta después el metal, si queda duro a fin de cuentas.

Y por el otro una fresadora CNC con torno y todo.

Tiene que ser un disparate la energía que gasta la maquina, pero es espectacular.

El vídeo mas cyberpunk y real que he visto

Vivimos en un mundo cyberpunk que se puede definir rápidamente en una frase como: «alta tecnología y bajo nivel de vida»

¿Acaso no es verdad?…las corporaciones dominan ya en público con un presidente americano dueño de una…

La historia es un brazo prostético para un tatuador manco.

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.