Psicofonías

(algo así como el blog de Psicobyte)

Prompt de bash para git

Si, de las cinco palabras que tiene el título de este post, sólo entiendes dos, lo más probable es que el resto del post que viene a continuación no te interese absolutamente nada.

Las personas que trabajamos con el sistema de control de versiones git somos como chimpancés inquietos, porque nos pasamos el día cambiando de rama.

Saber en qué rama de un proyecto estás en un momento determinado es muy útil y, de hecho, todos los IDEs tienen alguna forma de indicarlo, al igual que muchas herramientas de ayuda a la programación.

Y, dado que el terminal es una herramienta prácticamente indispensable en programación, también hay aplicaciones, como la espectacular Powerline que tienen diversas opciones para mostrar la rama actual en la línea de órdenes.

Mi aproximación personal a este último aspecto es mucho menos sofisticada y bastante más artesanal, y consiste en hacer que el propio prompt de bash indique el nombre de la rama cuando el directorio actual está bajo seguimiento de git; además, el color con el que se muestra ese nombre varía según la rama (el nombre de las ramas "main" y "master" usa un color, las ramas "development" y "dev" usan otro, y todas las demás otro distinto).

El efecto final es más o menos el siguiente:

Prompt de bash para git

Como se puede ver, cuando el directorio actual está dentro de un repositorio, el prompt reemplaza el tradicional usuario@host: por el nombre de la rama actual en el color que le corresponda.

Todo esto se hace mediante este simple código:

declare -A BRCOLOR=(
[master]="\e[31m"
[main]="\e[31m"
[development]="\e[32m"
[dev]="\e[32m"
)

REST_OF_BRANCHES="\e[34m"
DEFAULT_COLOR="\e[0m"

PS1="\$(\
    BRANCH=\$(__git_ps1 '%s')
    if [[ \${BRANCH} = '' ]]; then echo -e \"$PS1\"
    else
        COLOR=\${BRCOLOR[\${BRANCH}]}
        if [[ \${COLOR} = '' ]]; then COLOR=$REST_OF_BRANCHES
        fi
        echo -e \"\[\${COLOR}\]\${BRANCH}>\[${DEFAULT_COLOR}\]\w\$ \"
    fi)"

Los colores se asignan mediante el array asociativo BRCOLOR, que contiene nombres de ramas como clave (los nombres que se ven entre corchetes) y códigos de color ANSI como valores (entre comillas); de este modo, la rama llamada "master" usará el color "\e[31m" (rojo), etcétera.

Las ramas cuyo nombre no esté en BRCOLOR, usarán el color definido en REST_OF_BRANCHES; mientras que DEFAULT_COLOR, por su parte, es el color por defecto que usa el terminal (a causa de cómo se usan los colores en un terminal, hay que volver a asignar el color "normal" después de la cadena coloreada).

Si quieres usarlo, solo necesitas copiar el código en tu archivo .bashrc y, la próxima vez que inicies una sesión en tu terminal, tendrás activo el nuevo prompt.

Puedes personalizarlo cambiando o añadiendo nombres de ramas en el array BRCOLOR y asignándole el código de color que prefieras.

Yo vengo a hablar de mi (otro) libro

Quizás sepas (porque lo dije por aquí) que hace unos años escribí un libro de introducción a Python.

Python es un lenguaje de programación que, con los años, se ha hecho muy popular gracias a cosas como su claridad y flexibilidad, y cuyo uso se ha extendido un montón (incluso en campos muy alejados de la programación en sí, como la biología, el arte o la ciencia de datos).

Desde que escribí aquel libro han pasado muchas cosas:

Por un lado, Python ha avanzado, cambiando y evolucionando, con montones de adiciones y novedades.

Por el otro, yo he aprendido mucho desde entonces. Sobre todo (en lo que respecta a este tema), he impartido muchos cursos y he dado muchas conferencias y, en ese camino, he ido notando qué conceptos del lenguaje parecen resultar más fáciles que otros, y cuáles son necesarios entender primero para que los siguientes pasos sean más fáciles.

Por estas y por muchas otras razones, ya hacía tiempo que quería escribir otro libro sobre Python. Uno actualizado, claro, aunque también más extenso y con más profundidad; pero tratando siempre de que el aprendizaje sea lo más fácil y natural posible.

El resultado de todo esto es "El lenguaje de programación Python de principio a fin".

El lenguaje de programación Python de principio a fin

Hay muchas horas de trabajo en este libro. Explicar el lenguaje con la suficiente profundidad y el suficiente detalle, de un modo que sea útil para quien ya conoce el lenguaje pero también accesible a las personas que aún no lo conocen es una tarea compleja, que obliga reescribir, reordenar y replantear muchas veces cada aspecto del libro. Por otro lado, me había puesto un límite de setecientas páginas, pero había mucho que decir, y me ha sido muy difícil recortar contenidos.

¿En qué se diferencia este libro del que ya habías escrito?

Aquel fue un pequeño libro introductorio de 230 páginas.

Este dedica sus 734 páginas a meterse a fondo en Python, con un nivel de profundidad y detalle que no podría alcanzar un libro más breve.

Aquel hablaba de Python 2.7, una versión obsoleta del lenguaje para la que ya no hay soporte.

Este está actualizado a la última versión liberada hasta el momento, la 3.10.

Aquel fue el encargo de una conocida editorial de libros de informática (lo que, al final, acabó resultando en una pésima experiencia).

Este está auto publicado en Amazon (y está por ver cómo resulta esta experiencia).

Aquel se limitaba a explicar la sintaxis del lenguaje.

Este libro habla de Python, claro, y también de algunos de los innumerables paquetes que amplían sus capacidades; pero, además, en sus páginas también ha sido necesario explicar (aunque con mucho menos detalle, claro) otros lenguajes accesorios, como SQL, las expresiones regulares o el minilenguaje de formato de texto.

Qué razones hay para comprar este libro?

Con un peso de 1.4 Kg, el libro "El lenguaje de programación Python de principio a fin" sale a un precio de menos de catorce euros el kilo. Eso es mucho más barato que la ternera del Mercadona. Y, además, la carne de ternera no te enseñará a programar en Python.

Dicen que el presidente Roosevelt (Theodore , no Franklin D.) se salvó de morir en un atentado gracias a que su discurso, de apenas cincuenta páginas, frenó la bala lo suficiente para que no le matara. El libro "El lenguaje de programación Python de principio a fin", con 734 páginas, es casi quince veces más efectivo en ese sentido (aunque no tan efectivo cono no estar en la trayectoria de una bala, que es la opción que recomiendo).

El libro "El lenguaje de programación Python de principio a fin" no contiene gluten. Tampoco trazas de frutos secos. En cualquier caso, no se recomienda la ingestión de este libro a personas alérgicas o con intolerancias alimentarias. Tampoco se recomienda su ingestión a personas sin alergias ni intolerancias alimentarias. Pero su lectura sí que se recomienda (especialmente a personas interesadas en aprender Python).

¿Tienes objetos en muebles o estanterías que están 4.22 centímetros más allá de tu alcance? ¿o quizás una mesa con una pata 4.22 centímetros más corta que el resto? ¡Enhorabuena! El grosor del libro "El lenguaje de programación Python de principio a fin" es justo el que necesitas para resolver tu problema.

¿Te gustan los juegos sadomasoquistas pero no tienes un libro que sea a la vez lo bastante contundente para dar unos azotes y lo bastante flexible para no dejar marcas difíciles de explicar? "El lenguaje de programación Python de principio a fin" es tu libro. Además, puedes aprender Python (individualmente o en grupo) en las pausas entre sesiones de disciplina inglesa.

El ISBN-13 del libro "El lenguaje de programación Python de principio a fin" es 979-8840562086 que, como se nota a simple vista, tiene una gran significación cabalística y numero lógica.

"El lenguaje de programación Python de principio a fin" tiene un volumen de 1757.63 mililitros; menos que una botella de dos litros de Coca cola. Además, no contiene ninguna bebida gaseosa excesivamente azucarada que pueda ser perjudicial para tu salud.

Las autoridades religiosas consultadas manifiestan que no existe ninguna razón de tipo teológico, dogmático o espiritual que se oponga a la lectura y disfrute del libro "El lenguaje de programación Python de principio a fin".

Una exhaustiva comparación efectuada entre "El lenguaje de programación Python de principio a fin" y el libro "Programming Perl" ha demostrado sin lugar a dudas que, mientras que este último es mucho mejor para aprender Perl, el primero es claramente superior cuando se trata de aprender Python.

Dadas las dimensiones de "El lenguaje de programación Python de principio a fin" (17,5 cm × 4,22 cm × 23,8 cm), si se recortan sus páginas con cierta habilidad para crear un hueco interior, es posible usarlo para esconder pequeños objetos e incluso armas de pequeño tamaño (ADVERTENCIA: perforar de este modo el interior de este libro reducirá drásticamente su utilidad cono medio para aprender Python).

El título "El lenguaje de programación Python de principio a fin" es mucho más largo que, por ejemplo, "Python paso a paso"; lo que implica, evidentemente, que es un libro mucho mejor.

Los colores de la portada del libro "El lenguaje de programación Python de principio a fin" han sido inteligentemente elegidos para que coincidan con los colores del logotipo de Python, lo que evidencia un extremado cuidado por los detalles.

Pero, si ninguna de las razones anteriores te convence y lo único que quieres es aprender Python o profundizar en tu conocimiento de este lenguaje, puede que el libro "El lenguaje de programación Python de principio a fin" también sea una buena opción.

¿Y los ateos? ¿qué hacen en Navidad?

Respuesta a una duda que suelen consultarme por estas fechas:

Cosas que hacen los ateos en Navidad:

  • Decorar árboles.
  • Montar belenes.
  • Comer con los amigos.
  • Cantar villancicos (y, maldita sea, escucharlos).
  • Visitar a la familia.
  • Comer turrón, mantecados...
  • Comprobar que han vuelto a poner "Qué bello es vivir" en la tele.
  • Recibir visitas.
  • Salir a cenar.
  • Hacer regalos. Y recibirlos.
  • Discutir con los cuñados durante la cena.
  • Salir al centro a ver las luces.
  • Comer. Mucho.

(Como se puede ver, ninguna de las actividades mencionadas en esta lista tiene relación con las creencias religiosas -o su ausencia-, e incluso los creyentes pueden practicarlas)

Cosas que no hacen los ateos en Navidad:

  • Creer en dioses.

El cielo sobre la bahía

El otro día leí como alguien insultantemente joven describía a otras personas igualmente jóvenes el ruido blanco de una pantalla como:

"[...] la pantalla de una tele antigua con nieve (los píxeles estos grises) [...]".

Y yo he recordado que ya lo predije en twitter:

La generación TDT nunca entenderá "El cielo sobre la bahía tenía el color de un una pantalla de televisor sintonizada en un canal muerto"

Buenas referencias

Ni títulos, ni cartas de recomendación, ni diplomas, ni méritos, ni leches.

A partir de ahora, en mi curriculum, voy a poner las valoraciones que hacen de mí mis alumnos del Campus Infantil de Software Libre:

  • "Pablo:porque tiene un pelo muy chulo y es muy guay un 120%"
  • "Pablo, por ser tan simpático con nosotros y por su forma tan graciosa de explicarnos las cosas le doy un 10."
  • "A Pablo le he puesto un 10 porque es un buen profesor."
  • "A Pablo le doy un 1111111111111111/10 por que es muy gracioso"
  • "PABLO: Le pongo un 9.99 porque explica muy bien y es muy gracioso."
  • "Pablo: es muy simpático y gracioso, por eso le pongo un 9."
  • "PABLO:10 porque es muy simpatico."
  • "Pablo: 9 porque explica muy bien"
  • "Pablo es muy simpático y gracioso aunque nos tiene que aguantar por la explicación y todo le daría un 11 de 10"

Aunque no todas las valoraciones son del todo buenas, y parece haber cierto consenso en que no les dejo jugar lo suficiente:

  • "Pablo: es bueno pero no nos deja de casi nada de tiempo de juego. 7"
  • "Al profe Pablo le pongo un 9’95, porque , no nos deja jugar"
  • "Pablo: A Pablo le pondré un 9 porque aunque es un gran profesor lo único es que a veces no se explica bien."
  • "PABLO: 8 por que no nos deja jugar."
  • "Pablo: 8 porque tendría que dejarnos jugar mas."

De todos modos, en general, parece que han salido contentos:

  • "Pensaba que estar aquí iba a ser muy aburrido con menos actividades.Pero me ha encantado todo lo que he hecho, los profesores son simpatiquísimos y volvería a repetir,"
  • "yo quiero volver el proximo año"
  • "Hoy es el último día y me lo he pasado muy bien y he aprendido muchas cosas.me gustaría venir el año que viene."
  • "hoy es el último día. me ha gustado mucho este campus y pienso volver el año que viene."
  • "El año que viene SEGURO que REPETIRÉ"
  • "el campus ha estado de 10 y que el que tenga la oportunidad de apuntarse que lo hagan."
  • "Me da un poco de pena que se acabe el campus, pero puedo decir que el año que viene yo quiero repetir."
  • "EL CAMPUS ME A GUSTADO MUCHO."

Incluso los alumnos que este año están en otros grupos se acuerdan un poquito de mí:

  • "Y Pablo : aunque no nos haya dado clase el resto de los años no le hemos dicho nada asink: gracias por aguantarnos estos año y tener tanta paciencia, el año que viene tintate la coleta de naranja pls"
Posts Posteriores 1/35 Posts Anteriores
PPCMS 2022