Geeklog
Geeklog es un CMS/blog programado en Racket. Usa un sistema de archivos como backend, lo que significa que tus posts son archivos de texto en tu computadora, que puedes editar con tu editor favorito (¿Emacs quizás?).
Los archivos se editan en Ratamarkup, que es similar a Markdown, pero planeamos tener un módulo de compatibilidad con CommonMark próximamente.
¿Por qué no simplemente usar WordPress?
Estas son algunas de las bondades de Geeklog que lo hacen superior a WordPress:
- no requiere una base de datos
- eso reduce bastante el footprint y simplifica
- no usa php
- php sucks
- no requiere editor web
- ni lo tiene aunque quisiera, uso
org-modeen Emacs y rifa bastante - no requiere backup
- porque uso Dropbox y Mega como backend
Si idenificas alguna de esas necesidades entonces entiendes por qué Geeklog es plausible.
Entre las dificultades está que necesitas instalar Racket (piece of cake) y Nginx (deberías ya tener Nginx), aunque debería jalar con Apache (¿pero por qué?).
¿Por qué en Racket y no en otro lenguaje?
Porque me gusta mucho programar en Lisp. Llegué al mundo de Lisp por Emacs, y consideré programar esto en Emacs (¡!). Revisé todos los lisps disponibles, como Common Lisp, Schema o Clojure, pero me decidí por Racket porque sus librerías se veían mucho mejores.
Muchos detestan Php. Yo no soy fan, pero lo defendí por largo tiempo, principalmente por la disponibilidad que solía tener. A estas alturas es más viable conseguir un VPS que un shared hosting, entonces no queda ningún argumento a favor de
Una de las razones es por la increible expresividad que se alcanza. En Php la función search() ocupa 95 líneas, o 122 si consideras las líneas en blanco; en Racket tengo mayor legibilidad y funcionalidad con 79 líneas de código sin espacios en blanco. Es decir, en una misma pantalla cabe mucho más código al mismo tiempo—una reducción del 36%, lo que significa que puedo ver 50% más código en una misma pantalla, cosa que se agradece mientras no tenga un monitor HiDPI.
Hay grandes maestros, como Paul Graham, que defienden el valor intrínseco de Lisp como un lenguaje formado en su totalidad por expresiones, sin sentencias. En particular la historia de Viaweb me inspiró a aprender Lisp, y cuando una actualización de sistema me impidió usar Komodo, tuve que emigrar a algún otro buen editor de texto programable, y ahí agarré Emacs y me enganché para siempre. El secreto del éxito de Graham es:
when you're writing software that only has to run on your own servers, you can use any language you want