Archivo de la etiqueta: git

Rescatando artículos: Git commit interactivo

Estoy recuperando los artículos interesantes que publique en cierta red social laboral privativa, los escribía ahí para dar el contenido que le falta…porque hasta los cojones de artículos de couching y neoliberales que salen.

Hoy haciendo un #commit de #git (que llevo usando años) en el portátil del curro se me escapo el dedo y en vez de hacer un `git add -u` he dado un `git add -i` y me ha salido un pequeño #TUI muy útil para empaquetar el commit. Que cosas mas curiosas trae el #softwarelibre .

https://media.licdn.com/dms/image/C4D22AQGp8_0bXA688w/feedshare-shrink_2048_1536/0/1671794523767?e=1689811200&v=beta&t=dHrIR0cHUdnF9OF0PhqiTnY7eSwwUKdK0F8Xw-p4-oA

Github ha muerto…bueno lo han asesinado

Github era un repositorio para proyectos usando git, comenzó antes del 15M, en el 2011. Antes de el había otros pesos pesados en terreno como viejo amado/odiado Sourceforge y otros mas o menos bizarros como Launchpad.

Poco a poco fue comiendole el terreno a Sourceforge, hasta que al final le arrebató la posición de Forja de proyecto….open source puto open source (ese es uno de los problemas que arrastraba Github antes de su asesinato).

Esta victoria sobre Sourceforge, imitó en mucho a la lucha entra Google y Yahoo, en sentido que Yahoo un viejo pesado de los buscadores de internet (bueno quien no recuerda Altavista) que la página principal era puro barroco, sobrecargada como una choni va sobrecargada de alajas, pulseras y maquillaje al botellón del parking del centro comercial, y Google que venía limpio sin ser un portal recargado, era casi una página en blanco…recuerdo una conferencia de hace años pero no recuerdo el titulo que contaba que «cuando comenzó Google recibía un misterioso email cada semana con un número que iba creciendo, hasta que supieron que era el número de enlaces en la portada». Pues la misma lucha, el viejo Sourceforge cargado de mierdas y joyas como una vieja ppera saliendo de misa un domingo y Github limpio como un joven albino sin espinillas.

También Github marco una diferencia clave frente a SourceForge, es que cambio el concepto de forja, antes las forjas eran orientadas a Proyecto, todo se articulaba entorno al Proyecto, para empezar en Sourceforge tenias que o hacer un Proyecto nuevo o unirte a uno, donde ya aunque no se quisiera había unas dinámicas. Y Github cambio eso, ahora todo se articulaba entorno a los Repositorios y era todo mas rollo orgía y caos (amable lector recuerda caos != anarkia ) de uy yo te forkeo tu Repositorio a ti, uy yo te lo forkeo a ti este otro. Lo que daba una libertada muy interesante, sobre todo con egocentricos desarrolladores, en plan «no aceptas mi parche…pues me forkeo tu proyecto con casinos y furcias» y entonces empezaba la carrera (veías en árbol de forks) que algunas ganaba el de los casinos y furcias y el egocentrico o desaparecía o tenia que aceptar el parche.

Pero Github siempre a cojeado, primero porque nunca a liberado nada de código (importante o interesante), vamos que no ha hecho como WordPress o Gitlab en plan mira nos basamos en este proyecto libre pero te ofrecemos una solución en plan SAS en nuestros servidores para que no te compliques.

Y en otra cosa que ha cojeado es en el tipo de gente que iba a su discoteca, como iban del rollito open source en vez de software libre, mucho de los niñatos con portátil blanco de la manzanita que decían. «Oye que MacOs es Unix y tengo terminal y entonces es mejor que GNU/Linux» y que no programaban en lenguajes de verdad, les encanto la discoteca Github, ahí los veías en starbucks, bibliotecas con sus portatiles blancos con pegatinas de Facebook y el pulpogato de Github. Los hipster de la informática (e incluso hipster de verdad), gente carente de profundidad para analizar el porque del movimiento y que colaboraban con el capitalismo con la tontería del open source.

Entonces Github, se convirtió en el basurero:

  • de millones de holas mundos
  • de millones de practicas de informática
  • de millones de proyectos a medias en nodejs
  • de millones de proyectos open source de videojuegos hechos en Unity3D…tus cojones 23 eso es como hacer un software libre en Flash.
  • de millones de proyectos a medias hechos en micro$oft .Net

Tengo que decir que hace unos meses, github mejoro mucho cuando metieron «etiquetas» a los repos, por lo menos no necesitabas AwesomeLists para filtrar entre tanta mierda, y forzaba a los usuarios a que si querían aparecer en algún lado tenían que etiquetar sus repositorios.

Del interfaz de Github no tengo ninguna queja, es simple y limpio, me recuerda la vieja y cerrada forja de Google Code. Quizá el rollo la sección en los Repositorios de Projects me parece un poco forzar a usar la metodología Kanban frente a otras ni mejores ni peores, distintas.

Y bueno también hay que recordar a Atom el editor basado en Electron (un navegador con solo la página sin barras ni nada) ¿Quién recuerda de la Mozilla fundation el proyecto Prisma? Aunque no lo creáis le cogí cariño a este Editor este último año, porque estaba muy bien el rollo de los plugins que tiene (yo use mucho, uno de FTP) y el fuzzy finder para buscar y lo de que todos los atajos de teclado se podían llegar desde un menú que salía con ctrl+may+p. Aunque también hay que decir el mamoncete de Atom comía memoría y tenia lag como el solo (para mejor la velocidad lo primero que tenias que hacer era quitar su plugin estrella del mapa del fichero), me recordaba de lento al viejo y querido Eclipse. Pues la pregunta que sera de el ahora que Github esta en manos de Micro$oft.

Bueno volviendo al tema, ayer o así escribí en el twitter (a ver si me paso a las redes sociales libres):

El tema es Microsoft usa el software libre (ahora porque hace años nos acusaba de comer niños) para acercar a la gente a sus productos y estándares, ejemplo .net, su editor, su formato de office. En vez de al revés, el acercarse al software libre y a los estándares que ya existen

Este artículo en la wikipedia que explica bien la táctica de Microsoft. Adoptar, extender y extinguir.

Vamos la imagen de arriba que acompaña el articulo, porque como:

  • microsoft jodió Nokia eso fue un escandalo, encima cuando estaba apostando por el software libre con Maemo. Menos mal que se fue a la puta el puto windows phone.
  • microsoft jodió Minecraft, que originalmente el autor (el gordo friki de Notch) iba a liberar el juego cuando vendiera lo suficiente, no lo digo yo…menos mal que archive.org existe https://web.archive.org/web/20100301103851/http://www.minecraft.net:80/about.jsp y al final el gordo friki cogió la pasta y huyo. Menos mal que tenemos Minetest.
  • linkedin ya estaba jodido de antes…que vergüenza de página a nivel técnico…a otros niveles pues ya sabéis es el sitio donde la gente que ha estudiado ADE se siente importante y donde las estúpidas que han estudiado psicología y tienen la empatia de un psicópata están de recursos humanos ahí dorando la píldora y mintiendo mas que hablan para cazar a incautos ingenieros y esclavizarlos.
  • falta que dolió mucho, Sega con su última videoconsola Dreamcast, que llevaba de serie Windows CE, si bien ella se murió sola, rápido Microsoft no dejo enfriar el cadáver y cual carroñero saco lo que necesito para crear la primera Xbox….que que casualidad el sistema de ficheros de los juegos era casi igual al de la consola de Sega.

Bueno Miguel y ahora cual es la solución.

Pues no tengo respuestas en la mano, yo de momento he empezado la migración de mis proyectos a Gitlab

Como por ejemplo el solitario cutrecillo hecho en C y SDL que hice hace años.

El proceso que hago es migrar el proyecto Gitlab, y borrar todo el historial de commits (ojo que si no esta migrado pierdes todo…salvo que tengas copia) y después subir un articulo de la FSF de Upgrade from Windows.

No es la gran solución pero bueno es la que he encontrado, me gustaría ser valiente y pasarlos a Savannah.

O probar cosas tan exotéricas como Mango que es IPFS + Git, pero creo que lo importante es que sea fácil de usar para la gente y para los no iniciados. Pero mola ese rollo de un sistema de archivos distribuido en internet y sobre el Git, hay un articulo curioso sobre ello en Mango: Git completely decentralised .

Hay que seguir investigando y sacarle el dedo al puto microsoft como hizo Linus Torvals a Nvidia.

Y por cierto y como palabras finales, Microsoft si ya ha hecho daño al software libre. Porqué aunque malo era Github, mas o menos ya había crecido comunidades y proyectos entorno a el, y ahora después del bombardeo a Github con la compra, esta todo el mundo huyendo y no hay un referente claro…todavía no hay un bandle «Fork me XXX».

Actualización: Se me olvido poner el link del análisis de la FSF del 2015 sobre Forjas de proyectos. GNU Ethical Repository Criteria Evaluations

Control de versiones: El bueno, el feo, el malo y el banquillo

Salvo que venga mañana una nueva tecnología disruptiva, creo que este articulo va aguantar un buen puñado de años.

Puede que no conozcas los sistemas de control de versiones, resumen rápido TE PUEDEN SALVAR EL CULO….MUCHAS…MUCHAS VECES.

Bueno en mi vida creo que he probado todos, pero todos, porque recuerdo una empresa de sistemas embebidos que usaba CVS en pleno dosmiles. Le tuve mucho cariño a SVN y me costo un poquito pasar a Git y viví la corta (fue cortisima, mas hemos tardado en asesinar a Flash o mas nos esta costando terminar de asesinar .Net otras mierdas de micro$oft) y cruel guerra de Git contra Mercurial …si algún otro perro viejo me dirá «…pero y Baazar…», yo creo que nadie en su época apostaba ni un puñado de €uros por el…pero seguro que dentro de 10 años dirán…«pues que bueno era Baazar, que lástima, era la Abadía del Crimen de los sistemas de control de código». En esa guerra, recuerdo que me posicione con mercurial por razones, muy tontas o curisosas, porque es Python (mas portable y con el lenguaje de moda) y en linea de comandos hg mola mas que git, porque era mas corto de escribir solo 2 pulsaciones, era el símbolo químico del mercurio. Pero bueno, hay que saber aceptar los cambios y adaptarte para seguir cabalgando en el código.

Después de el tochazo en plan abuelo cebolleta de los repositorios de código o control de versiones, volvamos al título.

«El bueno, el feo, el malo y el banquillo»

Hay que asumir que «el bueno», es ahora mismo git, ha conseguido junto al binomio github, ser una herramienta de referencia para el mundo del software libre (si lo siento open source lovers, de pegatinas en portatiles mac blanco), ha tumbado y casi enterrado a Sourceforge , quién lo diría, para mi ha sido la misma guerra Google vs Yahoo, sourceforge se estaba llenando de mierda la página y github ERA simple, digo ERA porque cada vez esta también empezando a acumular mierda como board projects con el rollo kaban.

Y para el «el feo» y «el malo», como buen director de cine os lo dejo a vuestra imaginación, en mi caso «el feo» sería Mercurial y «el malo» el BitKeeper.

Porque si no sabéis, venir a la chimenea mis pequeños programadores, ains chiquillos que os llamáis devops, cuando eso es ser como el pringadillo currante del telepizza que lo mismo coge la moto como cocina la pizza o limpia el wc…por cuatro perras como vosotros (y nosotros)….bueno ya estáis en al calor de la chimenea con el abuelo cebolleta. Os voy a contar una historia, en el pasado una de las piezas mas importantes de GNU/Linux, el nucleo Linux para coordinar todo el desarrollo de código, se usaba BitKeeper y os voy a contar una pequeña cosa y terrorífica…ERA SOFTWARE PRIVATIVO…pero el tito Torvals con sus grandezas y sus pedradas, decía que le sudaba la polla, hasta que les hizo una puñeta la empresa de BitKeeper y dijo tito Torvals «Fuck you Nvidia»…uy uy perdón el Alzheimer del abuelo cebolleta…realmente dijo «Pues me voy a crear mi propio control de versiones distribuido, con casinos y furcias…es mas paso del sistema distribuido…» y cogió una costilla de Richard Stallman he hizo Git.

El malo, el señor BitKeeper.

Y el banquillo. Están todos esos que han luchado por llegar al podium, mucho esfuerzo y sufrimiento para ser solo un nombre y la foto sean solo 3. En la carrera por el oro, plata y bronce tenemos:

  • las viejas glorias que siguen ahí luchando (o desisten como CVS que no hay versión nueva desde hace una decada) como por ejemplo SVN
  • los jugadores patrocinados por empresas gordas como Bazaar.
  • Y los inventos voladores raros, como los que surgieron en la 2º Guerra Mundial que tantos álbumes de cromos han dado. Ahí hay cosas tan bizarras como el «todo en 1» de Fossil.

Este articulo, lo ha motivado Freshcode.club el revival del mítico FreshMeat (otra historia de abuelo cebolleta) que no sabia que existía y lleva ya un par de años dando pelea. Y al contrario que github este es software libre…pero el repositorio de código esta en…chan…chan…chan….Fossil .

Y recuerdo cuando el señor Ramón hace años en nuestra conversaciones frikis, me contó la existencia de Fossil y lo friki que era, porque guarda todo en SQLite y tiene un frontend web y todo.

Y como el software libre se basa en colaborar, pues estoy intentando comprender Fossil.

Es curioso porque Fossil lo creo el inventor de SQLite el señor D. Richard Hipp, un poco siguiendo la estela 2 años después de Torvals, en plan yo me lo guiso y yo me lo como, y juntandolo con el rollo de Mercurial de demostrar que Python mola, en este caso SQLite.

Proyectos gordos que usen Fossil, solo hay SQLite.

Ya os iré contando mis experiencias con este desconocido, odiado…y no se si amado por alguien…control de versiones, me siento como si aprendiera Esperanto, algo friki y casi casi inutil. Pero oye muy noble, como podéis leer en la página Original author of Fossil here, with two comments .

Por cierto, para finalizar, por hablar de tecnologías disruptivas….¿Qué opináis de los inventos de Blockchain + git ? ¿Llegaran a algo algún dí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

Buen tutorial para migrar Sourceforge (CVS) a Github (Git)

He encontrado este tutorial de como migrar del viejo (y yo diría obsoleto) CVS en Sourceforge al fashion Git.

Funciona bien, salvo la parte de dar de alta el origin que tienes que coger la forma que te da github cuando creas un directorio.

Migrating sourceforge CVS source repository to github

Quizá lo que no puede sacar de CVS es el email de cada comiteador por lo que github no te los puede casar con sus usuarios, pero bueno si CVS no lo tiene va ser difícil sacarlo de donde no lo hay.

Para SVN hay otros tutoriales muy interesantes.