Los dogmas de Windows y por qué lo odio

Es bastante habitual que la gente que me conoce me hable de temas informáticos y acabe surgiendo mi odio a Windows en algún momento, y me pregunten el por qué.

Básicamente, el uso de Windows nos ha implantado dogmas que uno acepta sin más, pero que en realidad no tienen sentido. Veamos algunos.

Continúa leyendo Los dogmas de Windows y por qué lo odio

Enki: ¿el editor de texto definitivo?

tl;dr: Ir al ganador.

No hace mucho emprendí una cruzada en búsqueda del editor de texto para programación o IDE definitivo. Supongo que todos acabamos haciendo esto alguna vez. Bueno, todos salvo los que nacen atados a Visual Studio y .NET.

Estos eran mis requisitos. No son muchos:

  1. Software libre.
  2. Multiplataforma.
  3. Soporte para todos los lenguajes con los que suelo trabajar.

Hay 3 enfoques diferentes para abordar esto, con sus pros y sus contras:

IDE

Probé Eclipse (mastodonte heterogéneo con un hambre insaciable de RAM), NetBeans (genial pero sin soporte para Python) y jEdit (ligero pero insuficiente), y al final llegué a la conclusión de que están bien, pero su principal error es tratar de abarcar todos los campos. Sencillamente no puedes hacerlo bien todo. Quien mucho abarca poco aprieta.

Ojo, para desarrollo PHP, NetBeans me parece fabuloso. Si tuviera Python, probablemente sería el ganador.

Editores a la vieja usanza

Visto que una solución integral era poco viable, pensé en usar la filosofía Unix: que haga una cosa y la haga bien: “Si quiero control de versiones, debug, etc., puedo hacerlo con otros programas separados especializados. Necesito un buen editor. Vayamos a los clásicos.”

Probé nano (cómodo para cosas rápidas por SSH, pero insuficiente), Vim (no me acostumbro a eso de tener que activar el modo edición) y Emacs (acabas dedicándole más tiempo a tu editor de texto que a editar texto).

Tienen la ventaja de funcionar por SSH bien, pero lamentablemente nací en la era del Ctrl+C y Ctrl+V, y soy muy eficiente con mis queridos atajos de teclado estilo GUI de siempre. Tener que volver a aprender de cero me parecía una tarea costosa y, francamente, insuficientemente remunerada.

Me topé con ErgoEmacs, que es un proyecto que intenta hacer el aterrizaje en Emacs más potable. Me pareció un proyecto estupendo, pero al final acabé dedicando tantísimo tiempo a escribir lisp (un lenguaje horroroso que no me sirve para otra cosa) que me aburrí. Al menos sí me di cuenta de que saber extender tu propio editor es algo muy valioso.

Así que pensé: “probemos con los editores de texto visuales”.

Editores GUI

Probé Gedit, Kate y Notepad++, a cada cual más completo, pero no cumplían demasiado bien mi requisito de ser multiplataforma. Quiero decir que puedes usar versiones de Gedit y Kate en Windows, o Notepad++ con Wine, pero se nota que no fueron creados con esa mentalidad.

Entonces surgió la gran pregunta: ¿No habrá un buen editor de texto, multiplataforma, libre, que soporte muchos lenguajes, que no intente hacer más de lo que puede, que sea extensible… en definitiva, que tenga lo mejor de todas las opciones?

El ganador

De repente encontré Enki. La breve pero sencilla descripción de sus características principales que tenéis en ese enlace me enamoró. La traduzco aquí:

  • Fácil para el usuario. Interfaz intuitiva. Funciona bien sin configurar nada. No necesita leer toneladas de documentación.
  • Fácil para programadores. Programe lo más rápido que pueda. Sin ratón.
  • Ligero. Algunos IDE muestran una pantalla de bienvenida. Enki nunca lo hará. Simplemente arranca rápido.
  • Extensible. Los sistemas operativos están diseñados para ejecutar aplicaciones. Enki está diseñado para ejecutar extensiones.
  • Multiplataforma. Usa tu editor habitual en cualquier sistema operativo. Actualmente se ha probado en Linux, MacOS X y Windows.
  • De alta calidad. No tiene una larga lista de características maravillosas, pero lo que hace, lo hace bien.
  • De código libre. Esta es nuestra religión.

En pocas palabras, exactamente lo que buscaba, y creado expresamente para solucionar mi problema.

Hay que tener en cuenta que es un proyecto muy joven, que carece de una gran comunidad de usuarios o desarrolladores, pero es realmente digno de probar y contribuir, y tiene unas ideas fantásticas. Y si tienes que programarte tus personalizaciones, al menos aquí usas Python.

Diario en Linux

Una de las cosas que siempre me hubiera gustado tener pero que en realidad nunca me gustó hacer es escribir un diario.
Si a ti te pasa igual, tal vez te animaría el hecho de que el diario sea una aplicación que te permita dar formato a lo que escribes, incluir enlaces y fotos, ordenar por fecha, aplicar etiquetas y categorías, buscar, etc.
Para ello tenemos RedNotebook, un excelente programa que encontré hace unos días y al que vale la pena echarle un vistazo.

RedNotebook

Está escrito en Python y usa GTK+ para la interfaz. Instalarlo es sumamente sencillo:

# aptitude install rednotebook

Una de las cosas curiosas de este programa es que usa indicadores para dar el formato. Ejemplos:

  • **Negrita**
  • //Cursiva//
  • Tachado
  • __Subrayado__
Esto puede parecer una molestia, pero en realidad es bueno que uno se acostumbre a este tipo de notación. Te ayudará a poder destacar cosas en tus notas. Además hay otros servicios que también usan, o pueden usar, esta misma notación (aunque generalmente es con un solo asterisco, barra, etc.), como GTalk, OpenOffice o algunos foros o listas de distribución.
Como nota curiosa, almacena los datos en YAML, un formato de almacenamiento que no conocía y que me parece muy original, ya que uno de sus objetivos es que sea fácilmente legible por humanos.