2 puntos por GN⁺ 2023-08-11 | 1 comentarios | Compartir por WhatsApp
  • Bram Moolenaar dejó en el código fuente, la documentación y vim_dev de Vim una actitud centrada en resolver problemas, y Neovim se ve a sí mismo como un proyecto que continúa el legado de Vim y de Bram
  • Más que las respuestas groseras o los juicios personales, la fortaleza de Bram se hizo visible en su forma de hacer avanzar la comprensión del problema, y se le recuerda como alguien que creó un valor silencioso pero profundo
  • El principio de Problem/Solution en los mensajes de commit de Vim es simple pero eficaz, y también se refleja en su forma de apoyar a Uganda, gestionando los recursos de manera directa en vez de abstracta
  • Como derivado de Vim, Neovim acepta al mismo tiempo la continuidad y la bifurcación, y lo toma como un eje clave para seguir con el mantenimiento, la documentación, la extensibilidad y el embedding
  • La dirección que Neovim busca heredar no es la novedad por sí misma, sino algo más cercano al pragmatismo: no perder de vista el objetivo y comparar las acciones con los resultados

La forma de resolver problemas que dejó Bram

  • Bram mostró, más allá de la artesanía técnica, una actitud humilde y una forma de resolver problemas anclada en la realidad
  • En vim_dev, el código fuente y la documentación de Vim quedan no solo las palabras y decisiones de Bram, sino también las decisiones que no tomó
    • No dependía de expresiones sensacionalistas ni de juicios personales
    • Incluso cuando recibía un trato descortés, muchas veces respondía de una manera que ayudaba a entender mejor el problema que había que resolver
  • El lema Problem/Solution de los mensajes de commit de Vim funciona como un principio de trabajo simple pero poderoso
  • Bram también eligió una forma de ayudar a la gente de Uganda gestionando los recursos de forma directa, en lugar de tratarlos de manera abstracta
  • La humildad es una forma de pensar que hace pasar los intentos por restricciones voluntarias, como una “cintura estrecha”, y puede producir resultados más combinables y potentes
    • Plugins como unimpaired son un ejemplo de una variación de esa corriente
  • La utilidad de los software de estilo de vida como Emacs y Vim no está en la ideología, sino en un ecosistema vivo y en un impulso que se sostiene por sí mismo

Lo que hereda y de lo que se separa Neovim

  • Desde el principio, Neovim se posicionó como un derivado de Vim, y al mismo tiempo conserva una continuidad con Vim y un carácter que también se diferencia de él
  • Desde la perspectiva de que un fork no destruye energía sino que la crea, aunque no se pueda transmitir el propio Vim sin Bram, algunos elementos esenciales pueden seguir vivos
  • Mantenimiento y documentación

    • Maintenance: experimentar es necesario, y la destrucción creativa y los fracasos juguetones también tienen valor, pero Neovim no representa la “neomania”, ese deseo por lo nuevo
    • Documentation: el hábito de documentación de Vim es evidente, y es una de las grandes ventajas que Nvim obtuvo al construirse sobre Vim
  • Extensibilidad y embedding

    • Extensibility: el proyecto Agide de Bram también apuntaba a una extensibilidad similar a la de Neovim, proponiendo usar herramientas separadas conectables en lugar de una sola aplicación
    • Embedding: :help design-not de Vim habla de usarlo como componente dentro de un shell o un IDE, en vez de convertir Vim en un shell o un sistema operativo
    • Bram no se tomaba a sí mismo demasiado en serio y también tenía su propio sentido del humor
    • Neovim debe permanecer como un monumento a Vim y a Bram, pero elegir la practicidad por encima del dogmatismo y revisar sus acciones con base en los objetivos y los resultados

1 comentarios

 
GN⁺ 2023-08-11
Opiniones en Hacker News
  • Gracias a Bram
    Usé Vim durante más de 30 años y, últimamente, a veces también Neovim; en la universidad usaba vi en varios sistemas BSD. Lo usé prácticamente todos los días laborales durante toda mi carrera, pero nunca me uní a la lista de correo de Vim, ni hice preguntas, ni envié reportes de bugs.
    Porque no hizo falta. Nunca me encontré con bugs, y cualquier duda siempre la resolvía con la documentación integrada. Fue un gran proyecto de software liderado por una gran persona, y una enorme inspiración.

    • Hace 25 años, en otoño, cuando empecé a trabajar en el departamento de TI de la universidad, mi jefe me dio libros de O'Reilly sobre Perl y vi, y así empecé a programar en servidores Unix. Desde entonces he usado vi y Vim todos los días durante toda mi carrera.
    • He trabajado con sistemas de control complejos, y la documentación era tan buena que siempre podía encontrar fácilmente la información que necesitaba.
      En cambio, con sistemas relativamente simples pero sin documentación —o una vez, por culpa de una documentación terrible— tuve que preguntar e investigar muchísimo más.
  • Vim tiene alma. Es una herramienta que uno sigue usando, como un formón heredado del abuelo.
    Quizá no tenga un mango de goma suave como un producto nuevo, pero se adapta bien a la mano y resulta cómodo. Es una herramienta con su propia historia.
    Al leer estos comentarios, parece que el espíritu hacker sigue vivo. Las nuevas empresas jóvenes de miles de millones de dólares serán reemplazadas por otra cosa en 10 o 20 años, pero Vim seguirá sobreviviendo. Algún día quisiera crear mi propio “Vim”.

    • Aunque hay una pequeña diferencia. Si un principiante toma el formón de su abuelo, no es que el formón se le quede pegado a la mano y solo se desprenda después de googlear un hechizo mágico de tres palabras.
    • Como el frasco de Galadriel: una luz que ilumina los lugares oscuros cuando todas las demás luces se han apagado.
  • Después de la muerte de Bram, repasé mi propio recorrido con Vim. Durante los últimos 10 años, desde proyectos universitarios hasta FAANG y startups donde todo estaba en llamas, fue mi único compañero profesional que no cambió.
    Todo lo hice en Vim: trabajos de los que me enorgullezco, trabajos que me dan vergüenza, trabajos que llevaron a ascensos y trabajos que terminaron en incidentes de millones de dólares. Sistemas operativos, bases de datos, lenguajes de programación, empresas y colegas van y vienen, pero Vim siempre permaneció.
    Gracias, Bram.

  • En el artículo enlazado [0] hay una captura de la actividad de Bram en GitHub y este texto:
    “Quizá todo eso acumulado explique por qué me llegó tanto leer la noticia de que Bram había fallecido. En el mensaje de su familia quedaba claro que Bram estaba enfermo. Decía que era ‘una condición médica que avanzó rápidamente en las últimas semanas’. La mayoría no lo sabía, y por eso la noticia resultó aún más sorprendente.”
    “Y cuando alguien señaló la actividad reciente de Bram en GitHub, me entristeció todavía más.”
    https://github.com/brammool
    [0] https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/
    Además, si se mira la lista de BDFL en Wikipedia, Bram parece ser la primera persona marcada con †.
    https://en.wikipedia.org/wiki/Benevolent_dictator_for_life

  • Hoy vi algo especial en la estación de tren de Utrecht, en Países Bajos. En los paneles informativos aparecían las letras hjkl en orden inverso.
    Esas letras indican a qué sector del andén conviene entrar. Se muestran según la longitud del andén y la ubicación de las puertas del tren.
    https://postimg.cc/mcCWhMXw
    O fue una coincidencia enorme, o en la compañía ferroviaria neerlandesa NS hay un fan de Vim que quiso homenajear así a Bram.

    • Pensándolo bien, esas letras sí son consecutivas en el alfabeto. Solo falta la I entre H y J, quizá porque podría confundirse con la l minúscula y la omitieron a propósito.
      Al final puede que haya sido una coincidencia, pero aun así fue especial para mí. Nunca había visto algo así en una estación de tren, y de pronto apareció justo la semana después de la muerte de Bram.
    • No es ni coincidencia ni homenaje. En el Reino Unido se usa lo mismo desde hace años. La letra i se confunde fácilmente con el número 1 o con la letra l, así que normalmente no se usa para este tipo de cosas.
    • Uso Vim, pero esas letras me hacen pensar antes en la fila de inicio de la mecanografía al tacto que en Vim.
    • Ese cartel es un indicador de posición que muestra en qué parte del andén se detendrá el tren.
      Video en neerlandés: https://www.youtube.com/watch?v=JPvh9SaQbUY
  • Una vez entrevisté a un candidato para pasante que presumía de haber discutido con Bram en una lista de correo sobre una posible vulnerabilidad. Bram decía que no era importante, y este joven insistía en que sí lo era.
    No lo contratamos. Al leer los homenajes a Bram, parece que la persona que la gente describe era, en el buen sentido, todo lo contrario a ese chico.

    • Me pregunto si esa discusión era sobre la función de cifrado/descifrado automático de archivos y el hecho de que Bram no quisiera usar un algoritmo criptográficamente seguro. Fue un hilo larguísimo y bastante acalorado.
      Aun así, yo estaba del lado de Bram. Para empezar, esa función no apuntaba a ofrecer seguridad en el sentido criptográfico.
  • En https://en.wikipedia.org/wiki/Benevolent_dictator_for_life hay una lista de BDFL. Bram es el primer BDFL de esa lista que falleció.
    En los próximos 10 años, o quizá después, llegará un recambio generacional. Lo correcto es prepararse, y esa es la forma de preservar el legado y la comunidad.
    Me impresionó la manera en que la familia y los amigos de Bram están manejando esto con respeto por su legado y por el futuro de Vim.

    • Después de escribir esto, John Gruber fue agregado como BDFL de Markdown. Es cierto que es su creador, pero llamarlo BDFL me parece un poco exagerado.
  • De los textos enlazados, me gustó más este escrito por Jan van den Berg
    https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/
    Una frase impactante fue: “Vim es una obra maestra, una herramienta de trabajo brillante y precisa de la que se han tallado muchas cosas modernas”
    Y también está este enlace
    https://m.youtube.com/watch?v=eX9m3g5J-XA
    “7 Habits for Effective Text Editing 2.0”
    Dura 1 hora y 20 minutos, así que ojalá alguien tenga una transcripción o un resumen. El primer comentario me dio risa: “Dejé la reproducción automática encendida mientras dormía 7 horas y pasé de Billie Eilish a este video”
    La vida es extraña, pero por eso es buena
    Como referencia, no uso ni (Neo)vim ni Emacs. En cuanto leo la palabra “programable”, me alejo. Prefiero configurar en unos minutos un editor de funciones fijas que se ajuste a mis gustos y empezar a usarlo de inmediato. Es solo mi preferencia
    Aun así, una buena herramienta cumple bien su propósito. Un mundo con buenas herramientas y con las personas que las crearon es un mundo mejor. A veces ese legado, esa filosofía y esa forma de trabajar siguen vivos en el código o en la comunidad que queda. Un homenaje a Bram

    • No sé si haga falta competir con los textos conmemorativos, pero el artículo que compartiste también fue conmovedor. La foto del gráfico de contribuciones de GitHub de Bram no se olvida
    • Si no te gusta la palabra “programable” y quieres un editor de funciones fijas que se ajuste a tus gustos, quizá Helix sea lo indicado
      Usa atajos de teclado de Kakoune, y me resultan mucho más razonables que Vim o Emacs. Ya viene bien configurado por defecto y tiene muchas funciones útiles. Lo uso a diario, y es rápido y bueno
      Si hay un LSP en el PATH, lo usa automáticamente, así que requiere muy poca configuración. Mi configuración solo cambia el tema y un poco el estilo; si quieres, puedes verla aquí: https://github.com/RGBCube/NixOSConfiguration/blob/master/ma...
    • En Vim casi no hace falta “programar” nada aparte de elegir cosas como set nocompatible, set ruler, el retroceso, la indentación y alguna de las paletas de colores predeterminadas
      En Neovim instalé lightline, pathogen, la paleta monokai y alguna cosa más; creo que era resaltado de sintaxis para algún lenguaje un poco más raro
      El punto central es que Vim, hasta que le cuelgas un montón de cosas, es un editor de funciones fijas
    • Los materiales de “7 Habits for Effective Text Editing 2.0” están aquí: https://moolenaar.net/habits_2007.pdf
      Gracias a tlamponi [1]: https://news.ycombinator.com/item?id=37013315
  • Vim tuvo un impacto real en mi vida. Lo he usado durante los últimos 15 años, y cuando recibo un host nuevo, casi de inmediato pongo set -o vi o una configuración similar para psql/ipython en los archivos rc
    Las innumerables horas que pasé en el shell fueron mucho más agradables gracias al trabajo de Bram
    Gracias por publicar esto, y que descanse en paz

    • Aprender los comandos de Vim fue una de las cosas con mayor retorno sobre la inversión que conozco. Fue valiosísimo durante años, y seguramente me ahorró cientos de horas de interacción con la computadora
      Hace mucho se convirtió en memoria muscular, y editar texto y mover el cursor por la pantalla ya no me cuesta nada
      Es una de las cosas que siempre recomiendo a los programadores nuevos. Se puede decir que la curva de aprendizaje de Vim es pronunciada, pero te hace ver de forma más eficiente la interacción con texto que un programador realiza constantemente
      Activo el modo Vi(m) donde sea compatible: en el shell y en todos los lugares que usan Readline, en Emacs cambiando el valor predeterminado con evil-mode, etc.
      Las interfaces basadas en modos y los comandos mnemónicos componibles son muy superiores y más intuitivos que la UI de combinaciones de teclas al estilo Emacs. Amo Vim. Es la herramienta que me hizo iniciar este camino hace más de 20 años, y todavía la uso a diario para ediciones rápidas. Aunque como IDE prefiero Emacs, un entorno más extensible. Gracias a evil-mode obtengo lo mejor de ambos mundos
      Bram mejoró la vida de muchísimas personas y merece ser reconocido entre las grandes figuras de nuestra industria. RIP
  • En el mundo del software efímero, Vim es una obra maestra atemporal
    Ojalá hubiera tenido la oportunidad de agradecerle directamente a Bram el impacto que tuvo en mi vida y mi carrera. Siento que no habría llegado hasta aquí sin Vim

    • Creo que este es uno de los puntos importantes de Vim. Cuanto más tiempo existe, más probable es que siga sobreviviendo. Ha resistido más que innumerables editores de texto modernos
      Espero que siga vivo durante toda mi vida, y también después