Key type ssh-rsa not in PubkeyAcceptedAlgorithms

No me podía conectar a unos servidores con una versión reciente de Debian, y descubrí que era porque las llaves ssh-rsa están en proceso de depreciación. Ugh.

Hay que agregar esto en /etc/ssh/sshd_config:

PubkeyAcceptedAlgorithms +ssh-rsa

y después reiniciar sshd, probablemente con sshd -t primero para confirmar que está bien escrito, y después con sudo killall -HUP sshd para terminar. Si estás conectado por ssh te va a sacar, y siempre existe la remota posibilidad de que no regrese el servicio, entonces ten a la mano una manera alterna de conectarte.

Probando Markdown

Llevo varias sesiones de hackeo junto con el Nuker para lograr implementar Markdown en el GeekLog. Y es que me he vuelto fan de Markdown, porque es muy sencillo de utilizar en todas partes. Es como la evolución del WikiWiki, y ustedes saben que soy fan de esa cosa desde hace como 20 años o más.

¿Qué ventajas nos ofrece usar Markdown en lugar de Ratamarkup?

El principal problema con Ratamarkup es que se trata de un markup no tan conocido: es una variante de org-mode de Emacs. A estas alturas, Emacs tiene buen soporte para Markdown, entonces no viene resultando tan indispensable.

La principal ventaja hasta el momento es que el Geeklog parece ser amigo de buenos editores, como Obsidian. Entonces puedes abrir tu carpeta de Geeklog y editar tu contenido directo en Obsidian. Si has seguido nuestras recomendaciones y tienes tu contenido sincronizado con Mega, Nextcloud o Dropbox (etc) entonces puedes escribir en tu computadora y ver los resultados en vivo unos segundos después. ¡Es una maravilla!

Joplin es un entorno cerrado, como un wiki autocontenido. Puedes usar la función de exportar para generar el código que lea el Geeklog... aunque pues esto como que no rifa tanto, ya podrías generar el HTML directamente.

MarkdownPad también funciona bien.

¿Renunciaremos a Ratamarkup?

No por el momento, pero definitivamente creo que es la dirección que debe seguirse. Hace unos meses no parecía haber una manera concreta de lograr meter plugins como lo tenemos con Ratamarkup. Pero es cuestión de tiempo para que se converja en un estandar. Por ejemplo, ya están los famosos callouts, que son esos bloquecitos de texto fancy. Usando eso como base puedes lograr muchas cosas.

[!info] Ejemplo Este es un admonition, que funciona bien en Obsidian, pero que nuestro renderer en Geeklog en Abril 2023 todavía no lo renderea.

La desventaja es que todavía no se estandariza ni el nombre: ¿son callouts o admonitions?

PowerToys

Hace algunos ayeres eramos fans de una colección de herramientas llamadas PowerToys para Windows 98. Ahora tenemos Microsoft PowerToys para Windows 10 y 11, que son igual que antes, una serie de pequeñas herramientas que son extremadamente útiles.

Mis favoritas:

  • Always on top: Presiona Ctrl+Win+T para dejar una ventana siempre visible.
  • FancyZones: Presiona Ctrl+Win+Ñ (o supongo que la tecla a la derecha de la L) para acomodar tus ventanas en un layout todo loco que puedes definir. Muy útil si tienes un monitor grande.
  • Hosts file editor: Buena herramienta, no solo para n00bs.
  • Text extractor: OCR de la pantalla.
  • Awake: Es el viejo Caffeine de las Mac, ahora en Windows.
  • Color Picker: Excelente y sencillo.
  • Run: Mi favorito: presiona Alt+Space y te abre un lanzador de aplicaciones igualito al Spotlight de Mac.
  • Explorer Add-ons: Soy fan del preview de Markdown.

Son pequeños detalles que hacen la vida más sencilla. De todos el Run es mi favorito, soy fan de ese tipo de launchers desde que vi el de Snow Leopard. Desde Windows 10 se medio piratearon esa función en el menú de inicio, pero esto es 100% dedicado y mucho más efectivo.

SQLite y Unicode en Perl

Aparentemente tengo una atracción para este tipo de problemas. Estaba haciendo unos experimentos para adaptar un app a Plack y SQLite, y me topé con que no podía mostrar correctamente acentos, me salían caracteres medio raros, así que pegué en la base de datos un texto en kanji y ya perl tronó con un error de wide character found.

Fueron dos partes:

La primera fue la documentación de DBD::SQLiteestán listados los parámetros, y ahí está el importantísimo sqlite_string_mode, que puse en DBD_SQLITE_STRING_MODE_UNICODE_STRICT y entonces ya funcionó todo bien. Antes había visto sqlite_unicode, pero eso está obsoleto, y no funciona igual.

La segunda fue la codificación: usar encode_utf8($string) tuvo éxito. Yo había encontrado en StackOverflow que tenía que usar decode( 'utf8', $string ), pero no sirvió.

Así, el texto que saqué de SQLite era una columna con JSON, y JSON::XS ya me aceptó el texto y lo manejó correctamente.

Markdown en Geeklog

Estamos probando en Geeklog una nueva característica: Markdown.

Últimamente se están poniendo de moda muchos tipos de CMS, y también muchas apps que soportan Markdown, que es una variación de los miles de lenguajes de marcado existentes en blogs, en foros y demás; pero Markdown es distinto porque está relativamente estandarizado y porque se ha usado con todo éxito en sitios como GitHub y StackOverflow, que son recursos importantes para todo programador, así que ahora todos lo usamos sí o sí.

Ventajas de Markdown

Markdown es muy sencillo, y existen muchos editores que permiten trabajar con él de manera sencilla, además de que, a estas alturas, todos han de estar familiarizados con él.

Por qué Ratamarkup no se va

La principal razón por la que Ratamarkup no irá a ninguna parte es porque la estructura del documento depende de los marcadores de sección. Ratamarkup usa el § para delimitar diferentes secciones de documento y hacer cosas mágicas, incluyendo cambiar el lenguaje de markup.

En ese sentido, lo que estamos implementando es un header default-markup: markdown para que todos los campos de texto que normalmente se procesarían con Ratamarkup, ahora se procesen con Markdown.

Eso nos daría lo mejor de dos mundos: Markdown en todo el texto, pero conservar los bloques que permiten ajustes de layout y demás.

¿Y para cuándo el release?

El release 1.0 de Geeklog es un tema aparte, pero ahora que empieza a tomar forma podríamos empezar a hacer una lista de las características que se tienen que completar.

Tenemos a Nuker como colaborador, lo que significa que estamos avanzando más que antes.

Más noticias en este respecto en github.

VM ARM gratis en Oracle Cloud

Oracle Cloud

Oracle Cloud tiene un kit de servicios Always Free en su oferta de IaaS. Entre otras cosas incluye:

  • Hasta 2 máquinas virtuales AMD x64 con 1 GB de RAM
  • Hasta 200 GB de almacenamiento (cada instancia necesita mínimo 50 GB)
  • Instancias Ampere/ARM “ilimitadas” con el equivalente incluido sin costo de 4 unidades de procesador y 24 GB de RAM al mes

Esa última es fantástica porque es mucho.

Agarré una instancia con 3 unidades y 18 GB de RAM, e instalé en ella Nextcloud—hay un Nextcloud Snap oficial que hace que la instalación sea muy fácil.

No creo que mucha gente ande pensando en usar esas shapes Ampere, pero la verdad es que para desarrollo web son fantásticas: de todas formas estás tratando con puros lenguajes interpretados, entonces si el intérprete está disponible en ARM, estás del otro lado.

Si estás buscando una VM muy barata para algún proyecto, yo no puedo pasar por alto recomendar abrir una cuenta de Oracle Cloud. Es engorroso, pero eso te ayuda a entender muchos de los conceptos de IaaS, que también se utilizan en AWS o en Azure. Hasta te puedes aventar la puntada de ponerlo en tu CV.

Windows Terminal

Windows Terminal

Hace unos meses salió una nueva app, Windows Terminal, que es una nueva consola o terminal de modo texto para Windows. Hay mucha gente por ahí que no comprende la importancia de tener una interfaz de texto para la computadora, y no vamos a entrar mucho en detalle, solo diré que las posibilidades de automatización y de conexión remota se amplían formidablemente.

Si no quieren refinarse un rollote, entonces me limitaré a decir que Windows Terminal es un app excelente, que cumple con todo lo que promete y más. Si eres unixero atrapado en Windows entonces probablemente te las veas más sencillas con mintty, pero si ya estás acostumbrado a batallar con Windows entonces Windows Terminal te funcionará excelentemente.

¿Por qué una nueva terminal?

Esto viene de la mano directamente con el famoso WSL: Windows Subsistem for Linux: ahora tienes una necesidad real y tangible de conectarte a algo que no tiene más frontend que una interfaz de texto.

Por fortuna Microsoft se abstuvo de forzar alguna especie de GUI improvisada e incompatible, y en lugar de eso optaron por seguir el camino unix: hacer una herramienta de uso general. ¡Kudos!

Ya existía en Windows un componente de terminal, el Console Host, que probablemente has visto por ahí nombrado en el administrador de tareas. Y sí se le han hecho mejoras, pero es un componente que está amarrado a las tripas del sistema, y no sería fácil ampliarlo para convertirlo en una terminal hecha y derecha.

Una pequeña comparación

Vamos a comparar un poco WinTerm contra su competidor más cercano, MinTTY.

Primero vamos a ver WinTerm en modo full-retro:

/images/winterm-mintty-1.png

Se ve muy fancy, y la verdad es que muy probablemente la usaré en algún video... pero en la vida diaria no me resulta demasiado práctico. ¿O tal vez sí? No lo sé, habrá que probar.

El modo transparente te obliga a usar lo que llaman el acabado acrílico, que es una especie de empañado. En esta imagen vemos a MinTTY adelante, que no hace el efecto empañado, y se puede leer claramente lo que está detrás (me gusta más así):

/images/winterm-mintty-2.png

Por último, WinTerm delante, para que puedan ver cómo el empañado no permite en absoluto leer lo que hay detrás. Para efectos de privacidad es mejor, para evitar que por ahí se filtren datos delicados en un screenshot:

/images/winterm-mintty-3.png

Ventajas

Entre lo que distingue a Windows Terminal (en adelante, WinTerm) de otras terminales:

  • Excelente soporte Unicode/UTF-8
  • Soporte nativo para Command y PowerShell
  • Soporte para shells tipo unix: bash, tcsh, zsh
  • Sistema de perfiles muy útil, incluyendo el conectarse desde el perfil a un host remoto vía ssh
  • Eye-candy: modo terminal retro (con scanlines y persistencia de fósforo)
  • Modo que distingue entre AltGr y Ctrl+Alt, cosa extremadamente útil para usar Emacs en terminal
  • Incluye la nueva font Cascadia Code, bastante agradable para usar ahí y en cualquier editor de código

Desventajas

Y pues claro que tiene algunas desventajas, ya tú decidirás qué tan malas son:

  • Es un app de Microsoft Store, tienes que usar una cuenta Microsoft para descargarla
  • Los shortcuts no son estándar... aunque creo que nunca lo son
  • Por default usa el OpenSSH incorporado de Windows

El OpenSSH incorporado de Windows es estándar, pero el mecanismo para guardar las llaves es propio, así como la ruta de la configuración del servidor. No es muy complicado y vale mucho la pena echarlo a andar.

¿Qué tal se compara a la competencia?

Tal vez no lo sepan, pero el mundo de las terminales en Windows está muy competido gracias a Cygwin.

  • MinTTY: Es el componente de terminal de puTTY, si lo han usado saben que es bastante digno de reconocimiento. Tiene soporte Unicode impecable, y en general es una terminal muy sólida, es mi daily driver cuando estoy en Windows.
  • Xterm: Si hay un programa que no recibe el amor que merece, sin duda es Xterm. Aunque tal vez se merece el olvido por depender de Xresources para configurarse, jaja. La recordamos como una terminal de fondo blanco y font pixeleada, pero en realidad se puede personalizar para lograr un aspecto muy moderno, incluyendo texto antialiasado (si es lo tuyo), soporte TTF, colores personalizados y más.
  • Console Host: Ya está instalada, y funciona sorprendentemente bien con Cygwin. Incluso se pueden personalizar los colores para diferentes temas dependiendo del programa que estés corriendo, aunque cambiar las fonts es absurdamente complicado.
  • Cualquier terminal remota: También podrías usar X11 y jalar tu terminal unix favorita... pero la verdad es que Xterm es la mejor, aunque hay quien jura que Terminator o Gnome-terminal valen la pena. Incluso hay todavía por ahí algún fan de Rxvt. Ninguna será mejor que WinTerm.

La principal ventaja que tiene WinTerm contra las demás es el soporte para Ctrl+Alt como una combinación de teclas distinta a AltGr. Esto es un problema bastante fastidioso en Windows, y tener un app que le pueda dar la vuelta significa que tiene remedio.

En conclusión...

Windows Terminal es un complemento formidable a la experiencia WSL. Su integración con Windows y con PowerShell la hacen una herramienta de por sí indispensable en tu máquina. No es un hack improvisado: realmente Microsoft invirtió tiempo y talento en hacer de Windows Terminal un app digna de WSL y del legado Unix que conlleva.

En lo personal yo he usado MinTTY por varios años, pero muy probablemente estaré usando WinTerm ocasionalmente, en especial cuando no esté en mi máquina de escritorio.

Probando Bait

bait

Bait es uno de los nuevos proveedores virtuales de telefonía móvil. Para los que no lo sepan, estos proveedores usan todos una red común llamada Altán, que busca tener la máxima cobertura en las áreas pobladas, tratando de mantener servicio de alta calidad en regiones rurales.

En zonas urbanas y suburbanas, hasta donde yo he podido ver, funciona más o menos igual que Telcel: si no agarra Telcel, probablemente tampoco agarra Altán. Pero Altán siempre tiene 4G.

Tarifas Bait para telefonía móvil

El principal problema con Bait es que no permite compartir WiFi, excepto en la recarga más cara de $300.

Recarga Vigencia Características
Mi Bait $300 30 días 20 GB + navegación lenta, access point
Mi Bait $200 30 días 20 GB + navegación lenta
Mi Bait $125 20 días 10 GB + 10 GB lentos
Mi Bait $100 15 días 10 GB + 10 GB lentos
Mi Bait $65 10 días 10 GB + 1 GB para redes sociales
Mi Bait $50 7 días 5 GB + 5 GB lentos

Bait dice que tienen Internet ilimitado, pero leí las letras pequeñas y resulta que te venden 20 GB a velocidad máxima, y el resto del plazo tendrás una navegación a velocidad reducida, que caerá primero a 512 kbps, y después de 20 GBs más, caerá a 128 kbps.

En lo personal yo sé hacer maravillas con 128 kbps, pero en lo general eso significa que después de tus 20 GB nomás podrás usar WhatsApp.

¿Me conviene?

Si no necesitas compartir internet entonces sí te conviene

El paquete de $200 es mucho valor por tu dinero, te está dando más datos que los paquetes más baratos de Plan Mix de Telcel, además de que podrás seguir conectado (más o menos) aunque te los acabes. Incluso el paquete $100 puede ser mejor opción, porque en un lapso de 30 días te estaría dando 2k minutos en lugar de 1.5k. ¿Alguien habla todavía por teléfono?

Si necesitas compratir internet entonces... más o menos

El paquete de $300 puede ser una opción decente, aunque entonces tenemos mejores opciones con Newww.

Quick Picture Viewer

Hoy Google tuvo una buena recomendación: Module Art Quick Picture Viewer.

Quick Picture Viewer es un rápido visor de imágenes. Es un app extremadamente ligera, y eso es muy importante porque eso significa que carga en un segundo. No tengo nada en contra del visor de fotos de Windows 10, pero el QPV carga muchísimo más rápido. Generalmente solo uso el visor de imágenes para mirar screenshots de bugs que acabo de descargar, entonces para mí es muy importante que cargue lo más pronto posible—si no, en lugar de seguir en el hilo de lo que estoy haciendo, me pongo a escribir aquí 😜.

Es una descarga de 3.4 MB. Cuenta con el sello de aprobación del Rat 👍

Deku Deals

DekuDeals screenshot

Website
DekuDeals.com
Descripción
Scrapper para la Nintendo Switch store, historial de precios, wishlist con notificaciones.

La Nintendo Switch es probablemente la mejor consola para juegos indie, y quiero enfatizar el probablemente porque yo recuerdo que en la PS3 había algunos juegos indie, pero realmente las stores de las consolas son patéticas.

Pensé en hacer mi propio scrap bot para checar los precios de los items de mi wishlist, pero no fue necesario llegar a tal extremo porque me topé con Deku Deals: en este sitio puedes ver las ofertas actuales y el historial de precios para cada juego, lo que te permite tomar mejores decisiones a la hora de comprar, te puede avisar de las ofertas en los items de tu wishlist, y puedes hacer listas personalizadas. En una sola pantalla puedes ver el precio con su historial, las listas en las que tienes el juego, ratings de Metacritic, cantidad de jugadores, horas de juego esperadas, y más.

Ampliamente recomendable, chéquenlo.