... and you will be assimilated

  • iSH app, un Linux en tu iPad

    Y de nuevo, siguiendo con la misma temática de mi último post, en el que escribí sobre utilidades del terminal, de la línea de comandos, hoy os descubro una app para iOS que he descubierto recientemente. Se llama iSH y permite ejecutar una distro Linux (sabor Alpine para más señas) dentro de una app de iOS. Llegados a este punto pueden pasar dos cosas, que te importe bastante poco el tema y digas ¿para qué quiero yo eso? o bien que digas un Linux en mi iPad ¡cómo mola! Para el segundo grupo, van los siguientes párrafos.

    Tan sencillo como instalar la app y ejecutarla y ya estaréis en una consola linux de Alpine 3.14. Boom. Y ahora qué, bueno pues ahora todo porque tendréis acceso al repositorio de paquetes de Alpine y de ahí a instalar lo que necesitéis. Parece que la app vivía de hace tiempo entre las sombras y los jailbreaks pero recientemente Apple ha aprobado su distribución en la App Store, parece que hay alguna política que ha cambiado y a raíz de esto, se permite distribuir la app y funciona perfectamente.

    Bien, llegados a este punto, qué tal va, qué opciones se permiten, para qué lo uso… bueno pues primero lo malo: olvidaros de ejecutar cualquier entorno gráfico o aplicaciones avanzadas, dicen por ahí que los dockers no van (no he probado) y además el performance no es nada bueno. Pensad que esta app está emulando una arquitectura x86 en un sandbox de una app de iOS, o sea bueno, tomadlo como que se abre un mundo de posibilidades y de control pero es como si tuviéseis una máquina virtual ahí sin mucho más y, por otro lado, no todo funciona pimpam en este entorno, está bastante limitado y hay que andar un poco a prueba y error.

    Y ahora lo bueno. Muchas aplicaciones funcionan bastante bien en este entorno de consola linux: vim, mutt, ranger, msmtp, pyton, node, npm, nginx, openssh… y en cambio otras pues no tanto. En el caso de vim por ejemplo, hay cantidad de plugins que funcionan y otros que no van muy finos y hay que buscar alternativas. También se pueden instalar fuentes alternativas (y algunas nerdfonts) a través de apps como Fontcase o iFont y aquí también hay que ir un poco a prueba y error para que os funcionen. Otra cosa interesante, poder montar carpetas de vuestro iPad o de vuestro iCloud en este entorno Linux, y de esta forma tener acceso a ellos. Otra cosa bastante guay si usáis la consola y las herramientas que vimos en el post anterior, es conectaros a vuestro mac por ssh, solo tenéis que saber la IP local de vuestro mac y conectaros remotamente.

    Posibilidades, frikear, cacharrear, cosas nuevas, sistemas alternativos, entornos de pruebas, programar en tu iPad, acceder a tus archivos en iCloud y un sistema en evolución. La verdad os digo, vale la pena probarlo, seguro que le encontráis un uso que se adapta a vuestras necesidades. Si os mola vim, ya podéis desinstalar iVim (si nunca lo tuvisteis) porque esto es una alternativa muchísimo mejor y completamente gratuita (al menos de momento).

    Y sí, como ya habéis sospechado, estoy escribiendo este post, con neovim, ejecutándose remotamente en mi mac al que conecto vía ssh desde iSH en mi iPad, escribiendo en el sofá de casa, con mi Plank EZ y mi iPad Pro en el respaldo del apoyabrazos.

  • Redescubriendo la belleza del terminal

    Siguiendo con la estela marcada por el último post, en el que escribí sobre Vim, hoy quería comentar un poco sobre cómo he redescubierto la belleza que esconde la línea de comandos, del terminal, de la consola. Es minimalismo extremo, consumo escaso de recursos (o vaya mucho más que cargar cualquier GUI claro) y uso intensivo del teclado, y además compatible ya para cualquier sistema operativo (linux, macos, windows o lo que queráis que pueda tener una aplicación de Terminal). Y ahí va un pequeño recopilatorio de las herramientas que uso y por qué las uso (y ojo con esto que no me considero ningún experto ni mucho menos, simplemente son herramientas que he ido descubriendo y que a mí me sirven).

    iTerm 2

    No cuesta un duro, no cuesta ningún esfuerzo instalar, no cuesta nada de configurar, tiene tantas opciones que es difícil hacer una lista. Permite pestañas si te van las pestañas, permite personalizar la interfaz, la fuente, los colores, hasta límites difícilmente explicables. Hay otras opciones (y muy buenas), Alacritty, Fish, Hyper… pero yo elegí iTerm por su facilidad de uso.

    ¿Para qué lo uso?

    Pues básicamente como reemplazo de terminal del sistema. Lo tengo en el Dock, lo activo siempre, me sirve para bastantes cosas, como descubriréis a continuación si continuáis leyendo.

    Enlace oficial

    iTerm2

    tmux

    Agarraos que vienen curvas. Tmux es un multiplexador de terminal. ¿Cómo os habéis quedado? ¿Y eso qué puñetas es? Pues básicamente es añadir una dimensión más al terminal, en un sentido es similar a trabajar con pestañas en iTerm2 pero con muchísimo más control sobre qué ventanas están abiertas y con posibilidad de guardar sesiones y recuperarlas. Es como una navaja suiza del terminal, en la que simultáneamente, puedes tener corriendo multitud de herramientas en paralelo. Compartiendo o no la misma pantalla, en modo split o en ventanas (piénsalo como pestañas) separadas, y otra vez, con una capacidad de personalización muy bestia para que se adapte a tu flujo de trabajo.

    ¿Para qué lo uso?

    Pues bueno tengo una sesión con varias herramientas que describo a continuación corriendo en paralelo, pero es que además me permite muy fácilmente abrir una nueva ventana de terminal y hacer lo que sea, y cuando ese lo que sea termina, volver a otra ventana abierta o cerrar la ventana actual o moverme entre las distintas ventanas de terminal solo con el teclado. Y tiene muchísimas más posibilidades pero bueno, con esto que os explico, que es un poco la superficie, solo con esto ya vale la pena instalarla (se puede instalar con brew) y experimentar un poco con ella. Y hay mogollón de recursos online y de posts que explican sus entresijos. Se adapta como un guante a distintas tareas y si tienes que usar el terminal constantemente es una gran herramienta.

    Enlace a github

    tmux

    Neovim

    Neovim que es una especie de fork de vim hecho en Lua, que añade bastantes opciones al ecosistema de plugins de Vim y que de alguna manera se está volviendo un IDE en toda regla con soporte a los LSP (language server protocol), que sirven para controlar sintaxis/coloreado, dar algunas advertencias (linter) y sobretodo para autocompletar código, de forma similar a como hace pues Visual Studio, o Pycharm o (ponga usted aquí el IDE que más le guste o que conozca).

    Neovim es ultraligero, y permanece en una sesión de terminal, es retrocompatible con todo lo que funcione sobre vim y tiene numerosos nuevos plugins que por lo general (aunque en algunos casos es discutible) mejoran los que hay disponibles para vim. Por ejemplo, Telescope sin ir más lejos es una mejora, almenos para mí vaya y creo que objetivamente es mejor a FZF para búsquedas relativas o fuzzy dentro de un proyecto/directorio.

    Además, cosa que yo no uso, pero lo comento por si alguien le pica el gusanillo, hay bastantes paquetes ya hechos que lo transforman en un IDE y preinstalan una serie de plugins ya enfocados a programar. Hay multitud de “distros” como Doom, NvChad, y otros si os va la droga dura pero no queréis ensuciaros las manos y cacharrear con mogollón de plugins y configuraciones. Lo bueno es que los instalas y a correr, lo malo es que eligen por ti, claro y si hay otro autocompletado que mola más u otro gestor de ficheros, al final tendrás que personalizar un poco el paquete a tu medida.

    ¿Para qué lo uso?

    Uso Neovim principalmente como editor de textos en markdown y como editor de código y además como pequeño gestor de notas relacionadas con mi día a día. Tengo distintas notas en markdown que me sirven para ordenar mi trabajo, seguir reuniones, como agenda de distintas tareas y como pequeños snippets de código a los que tengo que recurrir a menudo. Ojo no es que tenga todas mis notas ahí, no lo uso como un repositorio de notas. Para eso uso Bear que me permite categorizar por tags y encontrar muy rápidamente lo que busco.

    Enlace oficial

    Neovim

    Neomutt / mutt

    Mutt (y su reversión Neomutt más moderna pero basada en el original, un poco como vim y neovim) son clientes de correo del terminal con los que puedes sincronizar una cuenta IMAP o POP (¿hay alguien que use pop?) y bueno pues todo a través de consola, puedes moverte por carpetas, recibir correo, enviar correo a través de SMTP y usan el editor de textos que tengas configurado en tu terminal (o sea Neovim, claro). Con ellos puedes leer, responder, descargar adjuntos, hasta cierto nivel previsualizarlos, hacer forward, clasificar emails en carpetas, borrarlos, marcarlos como leídos y algunas cosas básicas más.

    Van razonablemente bien, tienen posibilidades de configuración, permiten definir shortcuts y personalización con themes.

    ¿Para qué lo uso?

    Tener un cliente de correo en el terminal, pues qué queréis que os diga, a mí me funciona bien pero no lo uso como herramienta principal. Sí lo tengo abierto en la segunda pestaña de mi sesión tmux y lo consulto principalmente para no salir del terminal e ir más rápido con algunos correos que sean o de respuesta muy sencilla o algo muy puntual. También lo uso para borrar algunos correos que llegan de forma rápida y clasificar algunos otros rápidamente. Pero, vaya, mi cliente de correo principal sigue siendo Mailmate, no obstante mutt se convierte como en una extensión de este en la consola, cosa que no está nada mal.

    Enlace oficial

    Neomutt mutt

    lf

    lf es un gestor de archivos que vive en el terminal. Nace de ranger, otro clásico (bastado en python) y muy similar. lf es como una reversión también del programa clásico y más moderno y ligero. Tiene los mismo atajos, bebe de la filosofía vim para los atajos más comunes pero permite configurarlo hasta la saciedad. Y también ofrece soporte para varias herramientas añadidas con las que podrás visualizar detalles de los archivos o tener una previsualización de ellos directamente en el terminal, cosa que nunca está de más. Ahora sí, eso requiere ponerle un poco de cariño a la configuración de la herramienta, no obstante, de saque oye pues ya tienes bastante terreno cubierto y quizás no necesites más.

    Claro como todo buen gestor de archivos, permite todas las operaciones básicas, como copiar, cortar, pegar, navegar rápidamente, crear carpetas, borrarlas, renombrar archivos… ofrece también selección múltiple y puede lanzar lo que el sistema tenga predefinido para abrir ese archivo. Y, evidentemente, permite usar tu editor de texto favorito dentro del mismo terminal (otra vez Neovim) para abrir y editar los archivos de tipo texto o código.

    ¿Para qué lo uso?

    Pues lo tengo abierto en una sesión de tmux y lo uso para operar con ficheros rápidamente, gestionar rápidamente lo que tengo en la carpeta de descargas, mover archivos a documentos o a otras localizaciones en mi sistema. También para previsualizar brevemente a veces según qué archivos o para lanzar preview de algún pdf. En fin, no es la panacea, no os digo que reemplaza por completo al uso que hago de Finder, pero si estás dentro del terminal, oye te da una libertad y navegación muy rápidas a través de teclado.

    Enlace al proyecto en github

    lf

    htop

    htop es una herramienta de monitorización de recursos del sistema. Como el monitor de actividad de Mac OS? Pues eso pero en el terminal. Y muy currado. Y con muchísimas posibilidades de filtro y de visualización de los procesos que corren en tu máquina. Puedes, como en la utilidad de mac, ordenar por un determinado criterio, ver el proceso que está consumiendo, ver en modo árbol o no, permite ver la ruta donde está ubicado el proceso, y puedes matarlo, pararlo, lo que quieras.

    ¿Para qué lo uso?

    Pues he dejado de usar la herramienta de Mac en este caso, casi siempre voy a través de htop, otra herramienta que tengo abierta siempre y que me resulta muy útil en el día a día.

    Enlace oficial

    htop

    openfortivpn

    Seguro que trabajando en casa, usáis un cliente de VPN. Hay muchos y para gustos, colores. A mí me ha tocado usar Fortigate y las aplicaciones que tienen para mac dan bastante pena, de hecho, yo la he apodado, y siempre cariñosamente, la fortigaita. Entonces pues bueno, hay unos tíos que se han preocupado de buscar un cliente CLI para las VPN Fortinet y ofrecerlo en código abierto. Pues ahí que vamos. Configurarlo es un juego de niños y te da pues eso control sobre la conexión y no tener ahí aplicaciones con GUI ensuciando tu menú o tu Dock, te conectas y listo.

    ¿Para qué lo uso?

    Cuando tengo que conectarme a las herramientas o entornos de desarrollo que requieren de conexión VPN. He dejado de usar la herramienta del fabricante y actualmente accedo mediante terminal. Requiere permisos de admin, requiere contraseña en prompt, pero bueno las pones y listo.

    Enlace al proyecto en github

    openfortivpn

    Y hasta aquí las herramientas que más uso en el terminal, y cómo he redescubierto la belleza de usar la consola del sistema y las posibilidades que ahí se esconden. Otro día, podemos hacer un poco una revisión de los temas y colores que uso en el terminal, porque no, no se todo en blanco y negro… hay un mundo de color ahí también y grandes posibilidades de personalización en todas estas herramientas, ya sea a través del soporte que ellas mismas ofrecen (caso Neovim o Neomutt por ejemplo) o bien con la integración en la consola y el control que ejerce sobre ella iTerm2.

    Si usáis el terminal en vuestro día a día, seguro que ya conocíais la mayoría de estas herramientas (y si usáis alguna más compartidla!) y hay muchas más que no he destacado (bat, neofetch, ranger, lynx, pandoc, exa, …), pero si no, échale un vistazo a lo que te estás perdiendo, igual no sirven para tu día a día, o igual sí, quién sabe, no se pierde nada por probarlo.

  • Vim is awesome, dude

    Quería hablaros hoy de Vim y cómo se ha convertido en una de las aplicaciones que más uso para multitud de tareas. Alguien que lo haya probado y haya sucumbido ante su complejidad y su curva de aprendizaje endiabladamente empinada, dejará de leer en este momento (considerando, claro, que este blog todavía lo lea alguien a parte de mí). Y vaya yo le diría que se equivoca en no seguir leyendo y se equivoca en no darle una segunda oportunidad a Vim, porque yo era uno de los suyos, de los que pensaba que alguien que usase Vim sólo podía ser alguien muy técnico o muy friki y que no merecía la pena darle una segunda oportunidad.

    Y os digo sin miedo y con rotundidad del que ha probado y ha visto mundo que estamos delante de probablemente la mejor herramienta jamás creada para editar textos y trozos de código, y además por múltiples razones. Acompañadme en este viaje a los confines del frikismo editorial. Por cierto ¡qué post tan meta! (efectivamente estoy usando Vim para escribirlo, claro).

    Primero un poco del por qué digo esto de que es de lo mejor para editar textos. A ver, lo primero que te encuentras es una pared: para empezar siquiera a usarlo, debes invertir bastante tiempo en leer cómo usarlo. Y eso hace que uno se desespere y además piense: no sé qué hago aquí si con Atom o con VSCode o con Sublime o con cualquier otro editor, es abrirlo y todo se hace según los cánones establecidos. Y voy a pararme en esta frase. Que algo funcione distinto, tampoco tiene que ser malo ¿verdad? Y si no oye no estaría escribiendo en Colemak por ejemplo y contento de haber hecho esa transición. Bien, pues lo primero es como con la transición de layout de Qwerty a Colemak, ¿te sientes bien en Qwerty? Oye fenomenal, ¿estás dispuesto a probar otra cosa para ver si te funciona mejor? Pues ánimo y al lío, y si descubres que no es para ti, y que estás supercómodo en Qwerty o usando tu editor de textos de toda la vida como Notepad++ o el que sea que se adapte mejor a tu workflow, yo no te voy a decir que cambies, pero sí te voy a decir que en mi caso el cambio ha valido muchísimo la pena.

    En mi caso yo probé Vim hace tiempo, muuucho tiempo, en mi época de consultor y bueno, más por obligación, porque tenía que editar algo en una sesión en unix, y luego vamos, descartándolo casi de inmediato por su complejidad. En otras ocasiones lo había usado por consola para editar algo rápidamente desde la línea de comandos (en mis épocas algunos servidores remotos en AIX y otros derivados de unix me encontré). En Mac, hace algún tiempo me instalé MacVim (que es una especie de GUI para el vim que tengas instalado) y decidí darle una oportunidad. También lo hice porque tiene una comunidad de seguidores muy grande, y que todos dicen que va tan bien. Y además, como con el cliente de correo u otras herramientas de uso diario, uno siempre va en busca del santo grial, una herramienta de trabajo que se le ajuste como un guante, le consuma pocos recursos y le permita adaptarla a la perfección con su flujo de trabajo.

    Y tras probar Vim yo siempre volví a Atom, en su día volví a Notepad++ cuando usaba Windows (han pasado años), volví incluso a alternativas mucho más sencillas como TextEdit en Mac o al Bloc de Notas en Windows para editar archivos de texto sencillos. Pensé esto de Vim, no es para mí. Y volví a esas aplicaciones porque ahí hay seguridad, opciones limitadas, atajos comunes del sistema. Ahí hay calma, sosiego, incluso por qué no, modernidad, UIs vistosas, y como decía se gobiernan por unos cánones. Entonces, ¿por qué voy a usar algo que es complicadísimo si con lo que tengo ya me vale? Matarse a aprender algo así como Vim habiendo alternativas muy buenas para editar textos y picar código en un momento puntual es bastante absurdo, ¿o no?.

    Pues resulta que según cómo lo mires no. Lo primero, definamos qué le pedimos a un editor de textos y luego también pensemos si hay herramientas específicas para ello, y estoy pensando en los IDE (herramientas como Xcode que están pensadas para el desarrollo). ¿Cumplen esas herramientas todos nuestros objetivos? Si la respuesta es sí, no hace falta cambiar o invertir en Vim, a no ser que quieras ver si Vim satisface aquello que te falta en esas herramientas. Si ya estamos satisfechos con las posibilidades que nos ofrecen, plantearse un cambio, y más un cambio a una herramienta mucho más compleja y que cuesta aprender yo creo que no vale la pena. Es así, si uno ya está contento con Sublime, Atom, VSCode, o el editor de Python que se tercie y los conoce al dedillo, o bien tiene por costumbre abrirse un IDE como Visual Studio o como los que tiene Jetbrains para multitud de lenguajes, pues oye yo creo y quizás pueda equivocarme, que Vim poco le va a aportar a su día a día porque abandonar esas herramientas para irse a la consola y a un editor como Vim, pienso que es una aventura, pero no sé muy bien qué gana con el cambio (¿quizás rendimiento si esos IDEs consumen muchos recursos o son muy costosos de configurar?), interpreto que más bien poco. Yo os puedo hablar de mi experiencia con editores de texto y de mi caso de uso particular, que no tiene porque ser el de la mayoría, y esto va de contar las cosas en primera persona (por si después de tanto tiempo alguien se ha perdido).

    Os cuento mi caso

    En primer lugar, yo uso editores de texto para dos cosas principalmente:

    1. Editar textos y notas, principalmente usando Markdown (y aquí incluyo escribir posts como este para mi blog que migré a jekyll hace algún tiempo). También os digo que de un tiempo a esta parte lo uso para tomar notas de algunas reuniones y de cosas que tengo que diseñar o desarrollar luego y como guía de notas o como “acta” de una reunión pues anotarlo en markdown en un archivo y tenerlos agrupaditos, funciona bastante bien.

    2. Editar pequeños trozos de código / proyectos sencillos (normalmente en temas web y bbdd: HTML, JS, CSS, SQL). En mi trabajo, desde hace muchos años ya no desarrollo, es decir, mi actividad principal no va de desarrollar, pero siempre he tenido ¿buena? mano para el código, y bueno a veces para probar cositas sencillas, instalarse el código de producción en tu máquina y tener un entorno local, bueno, siempre intento tirar por ahí para probar cosas nuevas y experimentar.

    Estaremos de acuerdo que para estos casos, cualquier alternativa es buena. Incluso hay herramientas como MacDown o IAWriter que te permiten tener previsualización del Markdown, y hay otras como pueden ser Atom o VSCode que llevan ya linters/coloreado de syntaxis de código, están orientadas al trabajo por proyectos, se integran a la perfección con git, y en fin, qué os voy a contar, llevan ya de saque múltiples opciones que satisfacen esos dos casos de uso con creces y con muy poco esfuerzo y un par de plugins, uno está en su salsa y tiene muy pocos quebraderos de cabeza. Atom (un editor que salió hace algún tiempo de la plataforma github) es un muy buen ejemplo de editor superversátil, y tiene tantos plugins y themes, que no te los acabas. VSCode es otra opción increíblemente buena para el punto 2 y que tiene muchos seguidores. Entonces, vayamos al quid de la cuestión: ¿por qué dejarlas de lado y abrazar Vim? Pues porque Vim de entrada y objetivamente, permite un control muchísimo mayor sobre lo que estás escribiendo, una vez entras en su rollo, es terriblemente eficiente. De hecho, hay multitud de plugins para Atom y VSCode que intentan emular vim, o emular sus modos de funcionamiento. ¿Sorprendidos? pues ahí está el meollo, ahí está el quid de la cuestión. Entender cómo funciona o porqué tengo que tocar i para escribir texto o pulsar Esc y :wq para guardar y salir.

    Primero hay que romper el ¿esto cómo funciona? y especialmente ¿por qué funciona así? Y una vez lo descubres, te das cuenta de que Vim es increíblemente preciso y el editor de textos más versátil que puedas imaginar. Con una cantidad de plugins y de configuración que es enorme, tan grande y basta que es difícil de explicar. Puedes llegar a configurarlo de la forma que quieras, desde lo más sencillo y simple a lo más complejo. Y los atajos de teclado que usa son aberrantemente funcionales cuando descubres cómo usarlos en tu beneficio. Vim tiene una gramática, una manera de usarlo que te permite usarlo a tu antojo de mil maneras distintas, unas más eficientes que otras, todo hay que decirlo y no se aprende de la noche a la mañana.

    Cómo se adapta Vim a mi caso de uso

    Bueno pues para lo primero, vim cuenta de saque con coloreados de syntaxis que soportan markdown y muchos más lenguajes. Pero lo bueno no es eso, lo bueno de vim es que no funciona igual que un editor de texto tradicional pero MacVim le acerca a la experiencia de uso de un editor tradicional añadiéndole una capa de atajos y uso común. Por ejemplo, puedes seleccionar texto con el ratón (sacrilegio para algunos vimers), puedes guardar un arhcivo, un texto con Cmd+S, o hacer Cmd+T par ir a un nuevo tab por ejemplo. De alguna forma, acercan Vim a lo que uno está más acostumbrado. Sin embargo, Cuando dominas un poco más te das cuenta de que bueno teniendo buffers igual los tabs, pues oye, tampoco son tan importantes o que para guardar un texto puede irte mejor otro atajo.

    Y esto de los atajos de teclado es importante. Por ejemplo la selección de texto o el poder trabajar con dos archivos al mismo tiempo se puede conseguir muy fácilmente en vim sin despegar tus manos del teclado, sin usar el ratón para nada.

    Pongo un ejemplo de lo más sencillo. Quiero ir 3 párrafos más arriba de donde estoy escribiendo. En un editor cualquiera, con el ratón puedo ir hasta ahí clicar y mover el cursor hasta esa posición, o puedo también moverme pulsando Alt+flechas (3 veces) o bien con vim puedo pulsar { tres veces o con 3{ estando en modo normal. Ya pero debes recodar ese atajo. Y no lo negaré, eso es complicao, se aprende con el tiempo. Por eso MacVim en ocasiones funciona de maravilla cuando no recuerdas qué debes de pulsar o mejor dicho, cual es el atajo óptimo que te lleva a conseguir tu resultado esperado, pero puedes seguir con tu vida y ya lo aprenderás porque es cierto que cuando entras en esa espiral, es difícil parar. En vim tienes multitud de opciones para conseguir un determinado objetivo, algunas más buenas que otras.

    Y ese es un ejemplo muy tonto, pero en vim tienes de todo y lo mejor de todo: lo puedes personalizar a tu gusto. Hay un archivo de configuración que es la pera y unos plugins que ayudarán a que usar vim se adapte mucho más a lo que estás buscando. Hago un repaso por cosas que tiene de saqué: marcado de sintaxis, corrección ortográfica, trabajar con múltiples archivos, buscador de texto, buscador de archivos, es que Vim tiene todo eso y más, consume poquísimos recursos y es brillantemente estético en la aplicación de temas visuales y esquemas de color.

    Cómo lo pruebo?

    Esto es lo más sencillo porque vim existe en múltiples versiones y para todas las plataformas. Yo, en macos, me instalé VimBox que es un conjunto de herramientas y plugins y que ya tocan de saque el archivo de configuración y luego a partir de ahí lo adapté para mí. Hay otras alternativas ya más completas como Spacevim que cuenta con multitud de seguidores. Y si estás en Mac (o en Windows estoy seguro de que hay alternativas similares) yo me instalé MacVim. Y a partir de ahí, ver tutoriales, seguir cuentas en twitter para aprender atajos como Learn Vim y adaptarlo a vuestro gusto.

    Hay multitud de gente que publica su configuración en github, sus “dotfiles” y yo he ido picando un poco de aquí y un poco de allí. Yo he ido tuneando un poco ese vim y luego con las lecciones aprendidas he adaptado también neovim que es como una evolución de vim y que quizás dé para otro post. Mi configuración ha evolucionado de MacVim (básico sin nada, con vim a pelo), luego instalé VimBox y experimenté un poco con los plugins principales que lleva (desinstalé mogollón que no me servían de nada) y las configuraciones más básicas y más avanzadas, y este vim ya adaptado lo mantengo y todavía lo uso. Y además tengo neovim, con el que estoy escribiendo esto y que lo he adaptado totalmente con las lecciones aprendidas de vim. Uso dracula como theme.

    Resumen TL;DR

    Vim es una herramienta tremenda para editar textos y tocar código. Ocupa poquísimos recursos y sus posibilidades de configuración son infinitas. No vale para todo el mundo, y tiene una curva de aprendizaje muy empinada. Hay mucha documentación y ayudas para que entrar en su uso no sea un calvario. Creo que merece mucho la pena darle una oportunidad.

  • Preonic, en busca del endgame

    Hace bastantes días que no me pasaba por el blog, parece que la última entrada es de finales de 2020 dónde os contaba cómo mi odisea con el MacBook Pro tocaba a su fin con el nuevo usuario y la solución de homebrew y otros problemillas que tenía. Hoy vengo casi medio año después y volviendo al tema recurrente de los teclados mecánicos.

    Y sí, tengo nueva adquisición: un nuevo teclado de OLKB, un Preonic que me regaló por mi ¡41! cumpleaños mi adorable media naranja @ladymadona, después de yo insistirle mucho, durante meses. Estoy escribiendo estas líneas con él y la verdad es que no puedo estar más contento.

    Si hacemos memoria, yo hace más de año y medio, compreme un teclado 40%, un Planck EZ con el que estaba muy, muy a gusto. No me he separado de él, incluso me lo llevo a la oficina (dónde algunas personas se han fijado y me han hecho comentarios al respecto, no deja a nadie indiferente…), y la verdad que nunca os he hablado de él, ni he sentido la necesidad de escribir sobre él hasta ahora porque es que literalmente no he tenido ningún problema, de hecho me hice unas cuantas layers de un buen principio que para mí, bueno no sé cómo decirlo pero se me adaptan perfectamente a lo que hago y me funcionaban como un reloj suizo.

    Entonces, si tan bien funciona el Planck, ¿Por qué ahora un Preonic? Por varios motivos, que listo a continuación:

    • En primer lugar los números, es quizás uno de los mayores problemas que veo en el Planck, no contar con números es un poco drama porque si bien no es nada difícil acceder a ellos tras un layer (en mi caso en el layer raise), sí a veces encontraba dificultades en acertar según qué combinaciones. En los 2FA que están mal hechos y no te enseñan los números que picas (desde aquí un llamamiento a todos los que ocultáis los números como si fueran una contraseña en el MFA, desde un punto de vista de UX es totalmente absurdo) era un poco tortura, vas con pies de plomo de no equivocarte. También en otras situaciones similares en las que tienes que copiar números o introducir cambios, en un Excel por ejemplo… resultaba un poco coñazo. De hecho esto me llevó a comprarme un Macropad del que hablaré en otro post porque no me funciona muy bien, no por el propio aparto que va de lujo (9x9, con QMK, muy barato en aliexpress) si no por el uso. Así que por todo eso, sí echas de menos la barra numérica y de hecho incluso a veces me veía tecleando números con el teclado del MacBook. Este problema desaparece en el Preonic (en resumidas cuentas es un Planck con una línea más, la de números en la parte superior).

    • En segundo lugar los LEDs. Cuando compré el Planck EZ, uno de los motivos fue el tema de la personalización y los LEDS, que por aquél entonces yo pensé que tendrían gran utilidad, molaban un huevo y los iba a usar mucho y me equivocaba completamente. Estéticamente muy bien, para hacer una foto y el postureo, genial también. Pero molestan un huevo. De hecho, cuando los tienes encendidos y has elegido entre las tropocientas configuraciones que llevan lo único que quieres es apagarlos. Que el Preonic solo lleve unos cuantos decorativos, y que también se pueden apagar fácilmente, pues mira hasta lo agradezco, la verdad. A ver que esto tampoco es un problema en el Planck, se pueden apagar y encender accediendo a una capa, que no es problema, pero dices coño, he pagado yo por algo que no uso… pues vaya gracia, no sé cómo deciros.

    • En tercer lugar QMK. Con el Planck EZ, los señores de ZSA (unos cracks, todo hay que decirlo) te ofrecen un configurador online llamado ORYX y una aplicación de escritorio llamada Wally que ambos son la ostia. Puedes hacer maravillas y el nivel de personalización que ofrecen es rotundamente espectacular. Pero con el Macropad aprendí que no son nada más que una capa o un añadido (y con carácter propietario, en cierto modo privativo) sobre algo que es opensource y que se llama QMK. Es un proyecto sobre el que la comunidad también ha añadido una herramienta online y una aplicación para mac/win que son al final al final unos wrappers chiripitiflauticos sobre un framework de código en C que te permite personalizar el chip del teclado hasta límites insospechados. No es que puedas hacer más cosas en QMK que en el configurador de ZSA, no me entendáis mal y además el entorno no es tan user friendly pero sí que te da un pelín más de control sobre lo que estás haciendo y hay una comunidad detrás que ha hecho las mil y una frikadas, y no solo eso, puedes tú mismo, con tiempo y una caña, bajar al código y tocar y experimentar, cosa que en el sistema cerrado de ZSA no puedes.

    Como veis los tres temas, quizás el primero de los números sea un poco relevante pero el resto, son puramente de matiz: los LEDs al final los puedes desactivar y no está de más tenerlos, y el nivel de personalización con QMK y el de ZSA son muy similares. Y de hecho lo primero que he hecho es por así decirlo replicar mis layers del Planck en el Preonic. En algunos símbolos y mi memoria muscular va a buscarlos con una combinación de teclas concreta. Entonces por qué gastarse tanto dinero, bueno pues la verdad que con el feeling de que con el Planck iba en la buena línea, intentas acercarte al endgame, a la última configuración, a la que te da mejor libertad y te permite ya dejarlo y enfocarte a otras cosas. Con el Planck descubrí los layers, descubrí un teclado ortogonal (no en disposición como las máquinas de escribir, ¿os habéis planteado por qué están ordenadas las teclas como están en una máquina de escribir?, yo os doy una pista: no tiene nada que ver con la ergonomía) y el Preonic era el paso siguiente para solucionar estos leves problemas. ¿Significa eso que voy a guardar el Planck en un cajón? Pues no, porque puedo usarlo con el iPad Pro que me va a llegar en un par de semanas.

    Por otro lado, no todo son ventajas, y hay algunas cosas que no están muy bien resueltas pero que me costará resolver: keycaps y Colemak. Con el Planck el perfil de teclas era el mismo, uniforme entre todas las teclas (usan un perfil OEM pero de fila 3 todas las teclas similar aunque un poco más elevado al perfil G20), en el Preonic no es así, los keycaps Acute van en perfiles más estándar (OEM estándar: R1,R2,R3,R4,R3), esto hace que si bien puedes tener las teclas que corresponden a Colemak (que visualmente correspondan quiero decir) estas no tienen en algunos casos el perfil correcto puesto que se mueven de fila. Es el caso de la R, la T, la E o la N que, bueno quedan en un perfil rarote. Apenas se aprecia pero bueno está ahí y es muy difícil solucionarlo porque hay que comprar teclas específicas. Otro problemilla es la memoria muscular y las nuevas posibilidades teniendo una fila más. La verdad es que hoy por hoy muy poca variación con las layers que tenía en el Planck, esto es en base a varias cosas, una buena es que las layers realmente estaban bien optimizadas, una mala es que cambiar cuesta, y hay que experimentar y exprimirse un poco los sesos para sacarle partido.

    Más cosas que tengo que contar y que no me da tiempo ahora mismo: Vim y Macropad 9x9. Sobre el Macropad os he hablado brevemente antes, pero me gustaría explicar por qué no lo uso, la verdad es que no lo necesito con el Planck o el Preonic, voy mucho más rápido con las capas no me aporta muchas ventajas, tengo que mover la mano para ir a buscarlo… os contaré más cuando pueda escribir sobre ello. De Vim no sé qué os voy a contar o cómo resumirlo pero es un editor de textos sobresaliente. No os lo podéis imaginar, aunque su curva de aprendizaje sea una puta mierda, es adictivo diría yo. Pero hay muchísimo sobre lo que hablar para justificar la locura de aprender a usarlo, y para mínimamente daros unos cuantos argumentos sobre los que reflexionar si os vale la pena el cambio, necesito un post entero que dedicarle.

    Más y mejor en el próximo post… que como os podéis imaginar no será pronto (si veis la frecuencia con la que escribo desde hace tiempo… ya os hacéis una idea).

  • Mi nuevo Usuario

    Os contaba hace unos días sobre mi odisea con el Macbook Pro. Desde 2015 hasta finales de 2020 con todo lujo de detalles, como había sido mi experiencia con los distintos ordenadores que he tenido y los quebraderos de cabeza al pasar a un nuevo MacBook Pro con arquitectura M1. Perdí la configuración de pantalla y escritorio que tenía pero bueno hemos ganado con el cambio., ahora tengo una pantalla mejor y bueno el rendimiento del nuevo MacBook es algo bueno totalmente increíble… incomparable a ningún otro portátil que haya probado yo hasta la fecha.

    El tema es que como comenté, tenía problemas con mi cuenta de iCloud: funcionaba bien iCloud drive, Photos, Music, las apps de la Mac App Store, etc. pero no funcionaban ni Mensajes, ni Facetime, tampoco el handoff de iPhone/iPad, ni de coña el portapapeles universal y la opción de desbloquear con el Apple Watch simplemente había desaparecido. Y bueno tras enredar con el servicio técnico de Apple varios días, he tenido que crear un usuario nuevo en el MacBook y enlazar mi iCloud de nuevo, y ahora todo funciona.

    Hay cosas que cuestan que vuelvan a la normalidad… por ejemplo homebrew (gestor de paquetes para el terminal) y jekyll (CMS basando en estáticos con markdown) no han sido sencillos de recuperar pero ahora que os escribo estas líneas, me doy por satisfecho porque he conseguido que vuelvan a funcionar decentemente y eso que el soporte para M1 de homebrew es un poco… rarito por decirlo de alguna forma. Si alguien está interesado o tiene problemas con ello, que me deje un comentario e intento explicarle las movidas que he tenido y cómo lo he solucionado.

subscribe via RSS