La virgulilla en JavaScript

Como me estoy leyendo algunas partes de You Don’t Know JavaScript, acabo de toparme con una cosita que me ha encantado, y es rápido y fácil: usar la virgulilla (~) en JavaScript:

Continúa leyendo La virgulilla en JavaScript

Anuncios

Cómo acceder a un registry privado de Docker, almacenando tu contraseña de forma segura

Asumiré 3 cosas:

  1.  Que te has encontrado con esta advertencia al hacer docker login en un registry privado:
    $ docker login registry.example.com
    Username: myuser
    Password: 
    WARNING! Your password will be stored unencrypted in /home/myuser/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    
    Login Succeeded
  2. Que estás usando una distro Linux con un escritorio en condiciones, como GNOME.
  3. Que usas Fish como tu shell.

Veamos cómo solucionarlo:

Continúa leyendo Cómo acceder a un registry privado de Docker, almacenando tu contraseña de forma segura

Cuando la BIOS detecta tu nueva RAM y Linux no…

Bueno, como dije en la última entrada, compré un nuevo módulo de RAM. Cual fue mi decepción cuando, tras instalarlo, Linux no era capaz de utilizarlo. Sin embargo, entrando en la BIOS sí que me decía que tenía los 16GiB de RAM (antes tenía 8). ¿Qué hice? Pues… te vas a reír…

Expediente X

Era curioso:

  • La BIOS mostraba los 16 GiB de RAM.
  • htop mostraba unos 6,9 (siempre es normal que haya algo de memoria reservada para el sistema, la tarjeta gráfica, etc. Esa cifra indicaba que solo detectaba un módulo de memoria de 8 GiB).
  • dmidecode mostraba los 16 GiB sin haber nada extraño.
  • free -m mostraba 6,9.
  • lshw mostraba 16.
  • dmesg mostraba… Bueno, un montón de letras raras que no lograba entender. 😅

Fascinante… 🤔

Diagnosticando problemas de hardware

Con semejantes rarezas, todo apuntaba a un problema de hardware: alguna pieza no funcionaba bien.

Continúa leyendo Cuando la BIOS detecta tu nueva RAM y Linux no…

Cómo saber la RAM que usa tu portátil

Generalmente necesitamos consultar varias fuentes para estar 100% seguros:

  • La web del fabricante.
  • El manual de instrucciones.
  • Los detalles técnicos de la placa base.
  • Alguna herramienta de diagnóstico que nos dé los detalles de la RAM que hay puesta ahora mismo.

Tal vez uses alguna versión de Windows… Bien, eso es tu problema… 🤣 Bueno déjame ayudarte un poco.

Supongo que la mayoría de lectores de este blog usan Linux, así que, para saber el modelo exacto de tu placa base:

Continúa leyendo Cómo saber la RAM que usa tu portátil

Cómo hacer un cherry-pick sin descargar todo el histórico de un proyecto en GitHub

Primero, el contexto: quería abrir este backport a OCB 9.0, pero había clonado así:

$ git clone --depth 100 --branch 9.0 https://github.com/OCA/OCB.git

El problema ahora es que para hacer cherry-pick del commit correspondiente en Odoo 10.0, hubiera necesitado mucho tiempo descargando todo ese árbol de código, que es considerablemente grande.

Es por eso que usé un par de herramientas que nos dan git y GitHub para estos menesteres:

Continúa leyendo Cómo hacer un cherry-pick sin descargar todo el histórico de un proyecto en GitHub

Cómo usar autosquash en Git

Cuando uno trabaja en una rama de desarrollo con git, es bastante habitual que haya que cambiar multitud de detalles hasta que se mezcla en la rama principal. A veces lo que estás desarrollando incluye varios commits lógicos, pero se acaban diluyendo entre multitud de “quitar basura”, “wip”, “typo”, “PR review”, etc.

Para que luego se quede el historial limpio, normalmente se hará un rebase manual, pero en tales circunstancias es un rollo.

Para evitar tener que hacer estas cosas, podemos hacer cualquiera de estos 2 comandos:

$ git commit --all --fixup $COMMIT
$ git commit --all --squash $COMMIT

El primero marcará el nuevo commit como para desaparecer y mezclarse con $COMMIT (ante las dudas, COMMIT=HEAD). El segundo hará lo mismo, pero en modo squash, es decir que mezclará no solo el código que ha cambiado sino el mensaje del commit (salvo la primera línea).

Cuando haya que hacer el squash final:

$ git rebase -i --autosquash

Y los commits que hayas marcado previamente te aparecerán en orden y ya premarcados con la acción correspondiente.

También puedes hacer este comportamiento el por defecto de rebase:

$ git config --global rebase.autoSquash true