¡Feliz cumpleaños!

Me gusta la arqueología de software. Así le llamo a clonar un repositorio de git y explorar su historia de commits en orden cronólogico para entender el progreso del desarrollo de algún proyecto. Hace tiempo hice esto con Jekyll, el generador de sitios estáticos. En el archivo Readme o en el Changelog de los primeros commits vi que Tom Preston-Werner había escrito «Feliz cumpleaños» como encabezado en las notas del primer día. Y como hoy es el primer día de este sitio web, me pareció justo hacer lo mismo, en especial porque esto es un proyecto de software, aunque uno simple y divertido: una homepage hecha a mano.

¿Cuándo fue la última vez que desarrollé un sitio web de esta manera? Y no me refiero a escribir el marcado necesario para las plantillas de los generadores de sitios estáticos, me refiero a que cada línea que se lee aquí está escrita a mano; cada párrafo precisa un par de etiquetas <p>. He mantenido varios blogs antes pero todos han sido a través de archivos Markdown y generados por Jekyll.

A diferencia de ese proceso, este es arcaico pero emocionante y sospecho que será terapéutico escribir así. Me gusta el slow computing.

Me he referido a este blog como homepage porque hace unos días leí un artículo llamado How the Blog Broke the Web en el que se habla del inicio de los blogs y del formato cronológico que se popularizó gracias a Movable Type. En el artículo, la autora Amy Hoy se lamenta por la pérdida de las homepages y sus creadores, a quienes ella llama bibliotecarios amateur de referencias. La principal metáfora de las homepages era la de una tabla de contenido llena de enlaces interesantes. Con el crecimiento de los blogs se normalizó el formato del diario digital y así la recopilación manual de enlaces interesantes pasó de moda.

Como este sitio web es puro HTML no me constriñe nada más que el tiempo y la paciencia.

Hablando de compartir enlaces interesantes, aquí uno de mis favoritos acerca de la escritura en la web: So, do you actually want to write?.

Esto será divertido.

Trabajo hoy

Por poco se me olvidaba que hoy trabajo a las 10:30am. La semana pasada tuve junta a la misma hora, y habíamos agendado juntas cada tercer quincena, pero por las vacaciones de verano adelantamos la del último domingo. Ahora ya está todo al corriente.

Después de trabajar recalenté la comida tailandesa de ayer y me hice un par de sándwiches de jamón con queso.

Acabo de recibir la notificación de que el libro que había apartado en la biblioteca de la biografía de Frederyk Chopin ya está disponible. Hace un par de semanas había estado leyendo sobre el compositor y escuchando los nocturnos. Todo esto en relación al resurgimiento de tendencias del Romanticismo que he percibidio recientemente en círculos de internet. Hace mucho que no leo una biografía.

Estuve esperando los partidos de hoy pero me ganó el sueño y tomé una siesta de unas cuatro horas. Me desperté como a las 7:30pm.

Admiración

Hoy tuve una linda interacción con un cliente al que llamaré R. Estábamos hablando de PHP y de la herramienta cURL, lo cual me llevó a platicar que había tenido una breve correspondencia con el autor principal del programa a través de uno de mis proyectos. Durante unos minutos platicamos sobre esos proyectos e incluso tuve la oportunidad de mostrarle al cliente algunos artículos que otros escritores y programadores han escrito sobre mi trabajo. R se emocionó al ver eso, porque aunque R sabe que soy bueno en lo que hago, es la primera vez que ve que otros programadores también admiran mi trabajo, y le dio mucho gusto por mí.

Siempre he sabido que R me admira como mentor, pero su admiración y respeto por mí como escritor de software se multiplicó hoy al ver de manera concreta el efecto que tiene mi trabajo a un nivel más allá de nuestra relación laboral.

Hola desde Bean

Hace unos días encontré un emulador de Windows 95 que incluye Office 95. Nunca había usado esa versión de Word, pero durante el poco tiempo que la usé, me encantó. Estoy tan mal acostumbrado a la innecesaria complejidad de los programas de hoy que usar un procesador de palabras cuyo único objetivo es facilitarle al usuario la creación de documentos me sorprendió de manera positiva.

Durante mucho tiempo he probado varios editores de texto y procesadores de palabras. El día de ayer empecé a usar uno llamado Bean. Estuve escribiendo un borrador de una reseña (la cual probablemente no verá la luz del día) para familiarizarme con el programa. Al día siguiente tuve la suerte de encontrar mi vieja MacBook Air del 2015. Me tomé un par de horas para restaurarla a su configuración de fábrica y después instalé Bean.

Estoy acostumbrado a escribir en texto plano o Markdown, pero Bean usa el formato de texto enriquecido. Me interesa usar este procesador de palabras para los artículos de este blog entre otras cosas, así que es importante poder convertir los archivos de formato .rtf a .html.

Me entra la intriga de averiguar cómo gestionar mis borradores y los archivos para sincronizarlos entre este ordenador y mi laptop principal, pero al pensarlo bien creo que eso es energía malgastada. He configurado este ordenador secundario para ser mi máquina de escribir, con uso limitado de internet pero con acceso directo SSH a este blog. Por ahora eso debe ser más que suficiente.

Máquina de escribir

Usar cualquier dispositivo electrónico para escribir es un acto de fe. Escribir a mano en un cuaderno con tinta no requiere un proceso de guardado o de respaldo de archivos, y las notas con pluma y papel no precisan gestión como un sistema operativo digital. La información que escribimos en un ordenador puede perderse por razones fuera de nuestro control, y quizá ese acto de fe lo sea más aún cuando el dispositivo es antiguo.

Llevo un par de días usando la MacBook Air de 2015, la primera computadora que compré con los frutos de mi trabajo como programador. Tengo lindos recuerdos de este dispositivo, me acompañó a la universidad, al trabajo, a conferencias, a vacaciones, la llevaba conmigo a todas partes. La batería sigue funcionando a la perfección, todavía le puedo sacar entre seis y ocho horas como mínimo, pero usarlo diez años después también me abre los ojos a sus deficiencias. La pantalla es malísima, de hecho me he estado cuestionando si usar una pantalla con tan poca resolución no cansará mi vista más de lo que se gasta de por sí al trabajar frente a un ordenador todos los días. Aunque empiezo a dudar si es la mala resolución de fábrica o el deterioro por los años. Ya ha pasado una década...

Recuerdo una ocasión hace muchos años—yo he de haber tenido unos diez u once—una visita a la casa de mis primos. Era la primera vez que los visitábamos en esa casa pues recién se habían mudado a un vecindario tranquilo en una zona exclusiva de la ciudad. Mi tía nos dio un tour por toda la casa, desde el armario bajo las escaleras hasta las habitaciones de cada quien. Mientras recorríamos la casa platicábamos: mi madre con mi tía, mi padre con mi tío, mi hermana con mi prima, mi primo y yo. No recuerdo muy bien la distribución de aquella casa o de las habitaciones, pero sí recuerdo lo que más llamó mi atención al entrar al cuarto de mi primo. Sobre un escritorio esquinado color negro yacía una MacBook Pro. Sospecho que era el modelo 2009 de 13” pulgadas.

Pese a sus dimensiones, aquella laptop era la pieza central de la habitación. En la conversación de mi madre y mi tía surgió una duda sobre cierto lugar o cierta dirección y mi tía le dijo a mi primo que lo confirmara en internet. Él se sentó al escritorio y todos nos inclinamos a su alrededor para observar la computadora sobre su hombro. Al abrir la tapa de la laptop se escuchaba el tono de inicio característico de los ordenadores de Apple. Yo conocía éste a través de videos y reseñas en internet, pero aquella fue la primera vez que vi y escuché una MacBook en persona. Jamás había visto un dispositivo tan elegante y moderno. Aquel modelo ostentaba una carcasa de aluminio y una pantalla de alta resolución, pero lo que más me impresionó en ese momento fueron las teclas iluminadas. Eso era verdaderamente nuevo.

Admito haber sentido una especie de envidia entonces, pero incluso llamarlo envidia me parece injusto, porque a esa edad y en el entorno discretamente privilegiado en el que crecí la envidia se manifestaba muy inocentemente, si acaso pensaba que tendría que esperar a ser más grande (mi primo es cuatro años mayor) para merecer una laptop así. El caso es que ese es de los primeros recuerdos que tengo de una MacBook.

Mi familia en ese entonces tenía un solo ordenador—un portátil rojo Toshiba Satellite con sistema operativo Windows XP que mi padre se había comprado como regalo de Navidad y al que yo tenía acceso de vez en cuando. Con esta computadora aprendí a navegar por internet, platicaba con mis amigos en el chat de MSN o Yahoo y leía los artículos y disfrutaba de los mapas interactivos de castillos y palacios en Encarta. A mis doce o trece años seguía anhelando una MacBook, pero mis necesidades computacionales no justificaban el precio. Mi primera computadora fue una Samsung Chromebook modelo 2012. Tenía una pantalla de 11.6” pulgadas y el diseño obviamente emulaba el de la MacBook Air. Unos años después conseguí una Chromebook Pixel 2015. A estas computadoras les instalé Linux y empecé a programar y trabajar como desarrollador. Con mi primer cheque me compré la MacBook Air modelo 2015 de 13” pulgadas que estoy usando en estos momentos.

Me ilusiona pensar que le puedo dar un segundo aire a esta laptop al convertirla en una máquina de escribir. No pienso instalarle más software, por una parte porque no cumple con los requisitos para correr software moderno, por otra parte para limitar las posibles distracciones. Le instalé el procesador de palabras Bean y eso ha sido suficiente hasta ahora. Puedo usar Safari para búsquedas breves en internet. Por lo demás, es un sistema hermético. Ni siquiera he ingresado a mi cuenta de iCloud (y no pienso hacerlo). Con el fondo de pantalla azul de OS X Tiger, siento que estoy usando una computadora de los años noventa.

La semana pasada instalé el emulador de Windows 95 de Felix Reiseberg en mi ordenador principal. Una de las aplicaciones que incluye es Office 95 y estuve escribiendo en Word. Esa versión jamás llegué a usarla en su tiempo, el sistema operativo más viejo que tuvo mi familia fue Windows 98 en una Compaq Presario que usé un par de meses cuando era muy niño, una computadora en la que jugué con Paint, Space Cadet, Minesweeper y Solitario casi exclusivamente. Usar la versión de Word de hace treinta años me hizo reflexionar acerca del software moderno. Word en 2025 es horrible, desde el agresivo autocorrector que intenta predecir y cambiar mis ideas hasta la integración innecesaria de la IA. No me gusta depender de aplicaciones web como Google Docs porque a una pestaña de distancia tengo el internet y eso me distrae. Por un tiempo consideré seriamente comprar un procesador de palabras electrónico como el Canon Typestar 110 justo para evitar distracciones. Llegué a comprar un cartucho de tinta para este sistema pensando que compraría el procesador de segunda mano, pero el vendedor tuvo dificultades con el envío y nunca lo obtuve.

Mi búsqueda por un mejor entorno de escritura digital me llevó a incursionar en programas de terminal como Vim, Emacs y Wordgrinder, pero estos también presentan problemas. Vim por supuesto es un editor de textos, no un procesador de palabras. No tiene sentido cambiar la función principal de un programa para cumplir con mis necesidades, en especial porque también lo quería para programar. Emacs resultó mejor para escribir en prosa, pero la carga cognitiva de aprenderse tantos atajos me hace más lento cuando no escribo por unos días, porque al regresar al editor tengo que aprender todo de nuevo.

La idea detrás de las interfaces de usuario gráficas es facilitar este tipo de interacciones. Por supuesto que es más rápido escribir comandos en la terminal, eso no lo cuestiono. Pero hay veces que prefiero ver mis archivos y arrastrarlos con el mouse de una carpeta a otra, o simplemente darle click a un botón en vez de combinar una tecla tras otra para cambiar el aspecto de un manuscrito. Es por eso que aunque llevo pocos días usando Bean he escrito documentos más largos que los que escribo en los demás editores.

A tres días de usar la MacBook Air como una máquina de escribir, los resultados me tienen contento.

Eliminé mi cuenta de Reddit con Redact

Hoy eliminé mi cuenta de Reddit con Redact. No fue una decisión que tomé a la ligera. Para bien o para mal, Reddit ha sido una red social importante para mí durante más de diez años. Empecé a usarla para aprender más de la programación y leer foros como learnprogramming donde aprendí sobre el desarrollo web y comencé a darme una idea del mundo y la industria de la programación. Hoy en día, Reddit no le suma nada positivo a mi vida y por eso lo dejo en el pasado y me quedo con los buenos recuerdos.

Al principio de mi carrera Reddit fue una herramienta importante para comunicarme con otros programadores. Por ejemplo, en la preparatoria tuve una asignatura en que debía entrevistar a personas que trabajaran en lo que quisiéramos ejercer como profesionistas y con Reddit me puse en contacto con desarrolladores de software de varios niveles de experiencia. De hecho la primera pasantía que conseguí en mi ciudad fue por una publicación en el subreddit local. Mi educación en el mundo de la informática no se desarrolló de manera típica, así que los usuarios y conversaciones en Reddit de alguna manera proveyeron el suplemento social a mi autodidacticismo. A través de las comunidades de programación aprendí sobre herramientas, técnicas, estereotipos y otras cosas que uno aprendería comúnmente con colegas.

Con el paso del tiempo el nivel de conversación en las comunidades que solía frecuentar me resultaba muy superficial, y así empecé a usar Reddit para mantenerme al tanto de las noticias y para motivos de entretenimiento. A partir del año 2016 el sitio empezó a cambiar demasiado, durante la pandemia era casi insoportable, y ahora lo visito más por hábito que por interés genuino. Lo que triunfa en la primera plana son las malas noticias. Más que un foro de conversaciones entre miembros de comunidades particulares, Reddit se ha convertido en un espacio donde se habla de lo mismo: la política de los EEUU, sus legisladores villanos, las malas noticias alrededor del mundo y contenido de entretenimiento que no aporta nada. Los usuarios son sumamente negativos también— a todo le encuentran el pero, a todo le ven el lado amargo, todo se analiza y se juzga para despreciarse y descartarse.

Me apena confesar que he incorporado aspectos de esa actitud en mi personalidad. Eso termina ya—hoy he eliminado mi cuenta de Reddit. Con el paso de los años he dejado lo que considero buenos aportes a distintos subreddits, desde programación hasta fotografía, música y literatura. Al eliminar un usuario, Reddit deja los comentarios intactos pero cambia el texto donde va el nombre de usuario a deleted. No quiero que Reddit (ni los motores de búsqueda ni la IA) tenga acceso continuo a mis ideas y opiniones. Mi acto de rebelión es simple pero me satisface: en vez de eliminar los comentarios, el texto de cada uno ha sido remplazado por frases absurdas. Cuando otros usuarios encuentren mis publicaciones, espero que se interesen en el absurdo que Redact ha dejado en mi cuenta e investiguen el motivo detrás del uso de esa herramienta.

Ahora que no tengo ese espacio para dejar comentarios, quiero dedicarle mi energía a la lectura y al consumo de todo aquel contenido que no sea instantáneo. Con esto me refiero a blogs en los que los autores redacten sus ideas con cuidado, a videos que tomen tiempo en editarse, a canciones, cuentos, novelas, poemas, películas, todo el arte humano que precise tiempo y esfuerzo. De esta manera premiaré a los creadores con mi tiempo y atención mientras que ellos me responderán con su pasión y dedicación. Me parece un intercambio armonioso.

En cuanto a dejar comentarios y tener conversaciones con extraños por internet, le dedicaré más tiempo a mis blogs y contactaré a los autores de los websites que disfruto leer. Como mencioné en la primera publicación de este blog, el slow computing me hará bien.

Cansancio; regreso a la filosofía

Llevo varios días buscando más blogs como los de los usuarios de Texto Plano y hoy tuve la fortuna de encontrarme uno excelente.

El sitio de HI7903B me ha llevado a descubrir al filósofo Byung-Chul Han. No sé ni cómo expresar el desencaje emocional (quizá la palabra desilusión sea la correcta) que he tenido en relación al estudio formal de la filosofía. Ha sido tal que he evitado siquiera abrir mis libros de filosofía durante más de un año. La realidad es que caí en una profunda depresión de la que apenas empiezo a despertar. Es horrible estar deprimido. Esta es la primera vez que hablo de ello públicamente, y aún así lo hago a través del anonimato de este sitio porque no sé cómo afrontar esa realidad. Quizá no tenga mucho sentido esto que estoy por decir, pero lo diré de todos modos porque algo en mí sana al exteriorizarlo: el inglés me deprime. Pensar en inglés me deprime, me vuelve analítico sobremanera, me paraliza, me enajena de mí mismo y me constriñe. ¿Es posible que un idioma tenga ese poder sobre la mente? Seguramente parte de ello es que lo que domina en las redes sociales es lo negativo y lo pesimista, y mi consumo de contenido en internet casi siempre es en inglés. Quizá sea una asociación falsa que deba romper. A través de este blog espero encontrar y compartir más cosas en español, porque por ahora, los videos en YouTube, publicaciones en Mastodon, blogs, todo lo leo en inglés. En esos sitios las figuras populares nos dicen qué hacemos mal. Nos dicen qué va mal. Nos dicen en qué mejorar y al día siguiente nos recuerdan que todo esta mal. Por eso mismo he intentado leer más blogs personales (todavía sigo en la búsqueda de blogs en español) aunque tampoco he quedado del todo satisfecho con el tipo de contenido que he encontrado en ellos.

La mayoría de los que mantienen un blog poseen también un alto nivel de conocimiento técnico, son aquellas personas que saben del software libre y de código abierto y por consecuente están al tanto del constante deterioro de los espacios digitales públicos. Los temas que abordan son los mismos, quizá profundizando en ellos de mejor manera, pero el resultado es el mismo. Se amplifica lo que causa preocupación porque es lo que genera más conversación, y la realidad es que todos anhelan (anhelamos) conexión con otros, y la manera de encontrarla es subrayar todo lo que va mal. Qué cansado...

Hablando de cansancio, el ensayo de Byung-Chul Han que comparte HI7903B en su blog justo se titula La Sociedad del Cansancio y me interesa mucho leerlo. Todavía no tengo una copia del libro, pero lo que he leído brevemente me permite entender que el libro aborda el cambio de paradigma de una sociedad disciplinaria que se rige por la prohibición a una sociedad de rendimiento caracterizada por el verbo poder, tipo «Yes we can» con la intención de maximizar la productividad.

Esta cita del libro me hizo reflexionar:

A la sociedad disciplinaria todavía la rige el no. Su negatividad genera locos y criminales. La sociedad de rendimiento, por el contrario, produce depresivos y fracasados.

¿Soy víctima de este cambio social?

Me emociona mucho leer este libro e incursionarme nuevamente en el estudio de la filosofía. En mi primer año de estudios filosóficos uno de mis profesores compartió esta frase de Epicuro con la clase:

Vana es la palabra de aquel filósofo que no remedia ninguna dolencia del hombre. Pues así como ningún beneficio hay de la medicina que no expulsa las enfermedades del cuerpo, tampoco lo hay de la filosofía, si no expulsa la dolencia del alma.

Espero de todo corazón encontrar en este libro algo para sanar aunque sea un poco. Debo leer a Epicuro también.

De interés:

La filosofía como terapia del alma - Carmen Zanetti

Una nueva edición

Entre más escribo en este sitio, más evidente me resulta la necesidad de un generador de sitios estáticos. Hasta un cambio pequeño me demora demasiado porque tengo que actualizar cada página, y es más probable que cometa errores al copiar y pegar los mismos fragmentos de HTML una y otra vez, así que he empezado a desarrollar mi propio generador para este blog. Pronto compartiré más detalles...

He usado muchos generadores de sitios estáticos. Jekyll es mi favorito, pero me ilusiona desarrollar uno nuevo desde cero orientado a los blogs, usando este sitio como objetivo particular. Los proyectos nuevos siempre son la mejor forma de practicar un lenguaje de programación, y últimamente he estado trabajando con PHP entonces aproveché la oportunidad para ello.

Solamente llevo un par de días con el proyecto. Por ahora funciona lo básico: acepta archivos en formato markdown y los convierte a HTML para insertarlos en plantillas determinadas. La próxima semana diré más al respecto porque ahora mismo ni siquiera le he puesto nombre al generador.

Esta edición del sitio ha sido generada por mi programa.

¿Parece que todo salió bien, no? 🤔

El diario de Claudia P

En el artículo de los blogs en Wikipedia descrubrí el diario digital de Claudia P, una joven de diecisiete años que decide empezar un blog tras pillar a su madre leyendo su diario.

El caso es que ahora, de lo que estoy segura, es de que mi madre no podrá leer esto jamás. No tiene ni idea de informática y menos de internet... Se que por el contrario podrán hacerlo todos los que vean esta página alguna vez, pero eso me da igual porque no los conozco, ni ellos a mi tampoco... Es curioso que el lugar más público pueda resultar a la vez el más anónimo.

Me encanta esa observación de Claudia y es algo que he experimentado de primera mano en las ciudades grandes. Bucareli también es la búsqueda del anonimato entre lo más público. A estas alturas de internet, todo mundo tiene cuentas en redes sociales, y los algoritmos intentan recopilar cada vez más datos. En la práctica esto no permite tener cuentas verdaderamente anónimas porque se vinculan los datos a la cuenta y no tardan en aparecer sugerencias de personas que uno conoce en la vida real.

Por el contrario, en la web no hay recomendaciones a menos de que alguien se meta en un motor de búsqueda y teclee «Bucareli», y ahí seguramente solo les aparecerán resultados que hagan referencia al oficial militar, al tratado entre México y Estados Unidos, a la avenida en la Ciudad de México, a lecciones de historia y otras cosas menos este blog. Así perfecto.

Busco el anonimato en este blog porque me gusta escribir y tengo la necesidad de hacerlo. Crecí con el internet y extraño lo que fue a principios de los años 2000. La tecnología, la escritura, el internet, la programación y el desarrollo de software son de mis temas favoritos, y por eso mismo prefiero escribir de manera anónima en el internet donde cualquier persona pudiera encontrar estas palabras. También me gusta diseñar con HTML y con CSS, me satisface saber que mis gustos y mi personalidad son reflejadas en mis palabras al igual que en la interfaz de esta página.

He pasado la mayor parte de hoy leyendo el diario de Claudia. El nueve de agosto de 2001 escribió un par de observaciones sobre la literatura que me han dejado helado. ¿Recuerdan lo que escribí la última vez sobre curar el alma a través de la filosofía, aquella frase de Epicuro? Pues Claudia dice lo siguiente:

La literatura está hecha para las personas infelices, como yo... Para las que intentan evadirse de lo que tienen a su lado y bien unas veces leen historias donde los personajes viven mejor que ellas y por tanto les hacen soñar... Y otras veces leemos historias donde los personajes lo pasan peor que nosotros, con lo cual nos alivia nuestra existencia...

La literatura solo tiene un fin terapéutico... El de curar los dolores del alma. Si alguien le quiere inventar otro fin está mintiendo...

Me ha gustado la lectura desde pequeño pero no recuerdo tener un concepto de infelicidad en relación a ella. La primera vez que leí algo parecido fue una frase de Vargas Llosa en su libro de cartas a un joven novelista en el que afirma que la vocación de escritor encuentra a los que de alguna manera quieren cambiar la realidad. ¿Qué tan cierto es eso?

Los tiempos en que más leía durante mi infancia o juventud, antes de ser adulto, fueron tiempos de grandes cambios, cuando me mudé a otra ciudad y cuando no tenía amigos en la escuela... cuando empecé a hacer amigos y tuve mi primera novia y empecé a elaborar una vida social más feliz dejé la lectura durante mucho tiempo. No regresé a la literatura como tal (quizá sería más acertado decir que llegué a ella por primera vez) después de mi primera gran depresión, la cual llegó después de mi primer desamor. En ese tiempo empecé a leer como un loco, en especial a cierto escritor chileno a quien el nombre de este blog le rinde una especie de homenaje... han pasado siete años o más desde ese encuentro con la literatura. ¿Y cuándo regresé a ella por segunda vez? Pues fue cuando fracasé en el amor nuevamente, en esa época sí que escribía como un loco, me afirmaba a mí mismo que mi destino era el de ser un escritor. Estudiaba filosofía y lo consideraba un suplemento académico, una especie de tarifa cultural que debía sufrir para ser merecedor del título de escritor, como si eso realmente importara...

Hoy no escribo tanto como antes, no lo considero mi «oficio» de la misma manera en que lo sentía hace un par de años, hoy por hoy le dedico más tiempo a la programación y a mis estudios historiográficos del internet. Sigo leyendo mucho, pero los temas que me apasionan son los que ya he mencionado, a los cuentos y a la literatura ahora mismo no recurro. ¿Todo esto significa que soy feliz ahora?

Madrugando ando

Hoy me desvelé como casi todos los días de esta semana. Siempre ocurre de la misma manera: al principio intento no dormir, a veces me entra una ansiedad y quiero mantenerme despierto para ser «productivo», lo cual significa que quiero programar o escribir o leer algo interesante. Por ejemplo la noche anterior estuve editando esta página y trabajando en Marfil, el generador de sitios estáticos escrito en PHP que he desarrollado para este blog.

Mientras estoy programando me gusta poner un programa de televisión en el fondo como ruido ambiental para no sentir el silencio tan abrumador durante la madrugada. Ayer (y durante el último par de semanas) he estado viendo Malcolm, el de en medio. Es la primera vez que veo el programa, y aunque no le he prestado tanta atención, me ha gustado, me recuerda mucho a mi infancia.

Después de editar el código de Marfil y actualizar el blog estuve leyendo el diario de Claudia P y luego estuve viendo cosas en internet. Vi algunos videos de apicultura y agricultura, otros de táctica de fútbol, unas entrevistas con Xavi Hernandez y Pep Guardiola, y así entre YouTube y redes sociales hasta que me dormí al mediodía.

Desperté a las 18:00H, me bañé, y me preparé la comida. Ah, también me pesé, durante todo el verano no lo había hecho pero en mis notas del celular vi mis medidas del año pasado.

Fecha Peso
6 junio 2024 87kg
20 marzo 2025 98kg
22 agosto 2025 100kg

No me agrada que he subido tanto de peso en un año, así que he estado cuidando lo que como. En realidad mi problema no es comer mucho, sino que desde que me mudé de Nueva York no he tenido el mismo nivel de actividad física. Antes caminaba entre 15k a 20k pasos diarios, y acá me resulta imposible por la temperatura y porque no tengo carro. No quiero que suene a excusas, simplemente debo cambiar mis días para tener más actividad física de manera natural como lo hacía antes.

01:23H

Esto me ha inspirado a caminar ahora mismo. Iré a la tienda como cuando caminaba por la madrugada en Manhattan. Estamos a 34°C y es la una y media de la mañana. A ello.

02:14H

Ya estoy de regreso. Me puse mis audífonos y estuve escuchando música en el camino. De ida el calor no estuvo tan fuerte pero de venida ya me empezó a molestar. La mejor hora para andar a pie afuera sería entre seis y siete de la mañana. Este fin de semana me propongo salir a caminar aunque sea a la tienda y de regreso.

Hoy por la noche después de comer estuve haciendo el presupuesto del mes. Cancelé mi suscripción a YouTube y reduje el costo mensual de Disney+. Me falta cancelar Amazon Prime, pero tuve unos problemas con el acceso a la cuenta. Sin YouTube espero dedicarle más tiempo a cosas que realmente sean importantes.

Mañana a las diez vendrá K por mí para ir a comer a Peggy Sue's, un diner con estilo de los 50 que nos queda como a dos horas de la ciudad. Este tipo de salidas me causan una inmensa ansiedad, y lo dejo aquí por escrito para controlar estos sentimientos. Cuando hago planes, siento que debería estar pasando ese tiempo haciendo algo productivo, siento que la salida me quita tiempo y me impide dedicarme por completo a mis proyectos, pero ya bastante claro me queda que mi manera impulsiva de trabajar no es sustentable ni sana.

Parte de esa culpa viene de que paso dormido la mayor parte del día, aunque eso lo hago para evitar el calor y escribir tranquilamente sin interrupciones durante la madrugada. Mi problema es la falta de constancia, porque si me levantara temprano y escribiera durante un par de horas diario, tendría mucho más material que cuando trabajo por 12 horas seguidas de vez en cuando.

Sé que ya lo he mencionado muchas veces, pero de verdad me siento muy ilusionado escribiendo en este blog. ¡Todo aquí lo he hecho yo! Lo siento mío, verdadera y exclusivamente mío. ¡¡Me emociona mucho escribir más por acá!!

Por ridículo y ñoño que suene, me consta que tener este espacio para expresarme como me de la gana también me alienta a salir más porque quiero escribir de cosas más interesantes que metacomentarios sobre el sitio...

¡Ya casi son las tres de la mañana!

Peggy Sue

K me acaba de enviar un mensaje diciendo que ya viene por mí. No he dormido desde anoche, por la madrugada estuve actualizando la hoja de estilos del sitio y después me quedé leyendo El conde de Montecristo hasta las nueve.

Me duché y me afeité para sentirme fresco. ¡Vamos a ir al diner de Peggy Sue! Ese lugar me encanta, la última vez fui hace un año con mi familia camino a California porque íbamos a Disneyland. Esta vez el destino es el diner. Tomaré fotos para colgarlas acá cuando regrese.


El viaje en carretera duró alrededor de dos horas y media. La temperatura estuvo a 43°C, un calor insoportable. Esperé hasta después de desayunar para tomar fotos de tan insolados que nos sentíamos.

Fachada del diner de Peggy Sue
Fachada del diner de Peggy Sue

En las veces anteriores que he ido no fue dificil encontrar mesa, pero esta vez K y yo tuvimos que pasar a través de varios salones hasta encontrar un lugar disponible. Al sentarnos se acercó una mujer con el típico uniforme de mesera de los años 50, llevaba un vestido verdín ajustado a la cintura con delantal de encaje rosado, cofia, zapatos Mary Jane blancos y por supuesto un gafete dorado que decía Juliette. Nos dio la bienvenida al restaurante y nos trajo el menú. Mientras leíamos el menú y justo porque había tantas personas, otra camarera nos preguntó si ya nos habían tomado el pedido de las bebidas, y a ella le encargamos dos aguas y yo pedí un café.

He encontrado el website del restaurante, así que aquí dejo el menú. K pidió la Marlon Brando Cheeseburger con champiñones y yo pedí una Buddy Holly Bacon Cheeseburger con un huevo. De guarnición nos trajeron una sopa espesada con almejas, una ensalada de papas y papas fritas.

El café tenía un sabor peculiar, muy típico de los diners estadounidenses. No es en nada parecido al café que tomo a diario, pero me gusta. ¡La hamburguesa de K estaba más sabrosa que la mía! Siempre que vamos a comer probamos la comida del otro.

No tomé fotos por dentro del diner porque estaba realmente lleno y me parece incómodo sacar una cámara mientras otras personas estan comiendo, aunque por supuesto ese pudor no es universal porque la familia de españoles que se sentó al lado de nosotros no dudó en sacar fotos con una DSLR mientras comíamos.

Al pagar la cuenta ($50 dólares en total incluyendo la propina) visitamos la tienda de regalos del restaurante. Tienen souvenirs del restuarante y de la ruta 66, una dulcería, heladería, y muchos juguetes. Detrás del restuarante hay un parque con estatuas de dinosaurios.

Parque del diner de Peggy Sue
Parque de Peggy Sue

No duramos mucho tiempo en el parque porque hacía demasiado calor. Tomé fotos de K en el parque y después fuimos a Eddie World, una tienda de dulces afuera de una gasolinera.

Mural a la salida de Peggy Sue
Parte del mural a la salida del diner

Después de cargar gasolina tomamos camino de regreso, haciendo escala en Primm. Por la tarde fuimos al Mercado de Antigüedades de América, donde compré tres blocs de notas. ¡Estaban hechos con floppy disks! Le regalé uno a K, otro a mi hermana, y el tercero lo tengo aquí en mi escritorio.

Para la cena fuimos a comer sushi y después nos quedamos platicando hasta bien entrada la noche.

Una milla

Hoy desperté a las siete de la mañana. Ameneció nublado, así que decidí ducharme rápido y fui a caminar antes de que subiera la temperatura. No caminé mucho, solamente una milla, pero creo que es lo suficiente para empezar el día en movimiento. Al regresar hice pesas y después me duché de nuevo, y estuve escribiendo sobre el viaje de ayer. Como no había subido fotos al blog, tuve también que editar la hoja de estilos. Aprendí a optimizar las imágenes y hacerlas archivos webp sin metadatos con el programa de ImageMagick desde la terminal.

Ahora son las diez de la mañana y me apetece tomarme un café.

Actualización 2025-10-13: Para no olvidar el comando de ImageMagick lo paso por acá:

$ magick [filename] -strip -resize [n] -quality [n] [output file]

Resfriado

Escribo esto en la madrugada del martes porque hoy (me refiero al lunes) me dormí a las cuatro de la mañana y me desperté al medio día.

El domingo también salí a caminar, esta vez más temprano a las seis de la mañana. Desde que doblaba en la esquina de la cuadra me topé con personas que también salían a hacer ejercicio, todos mayores. Me dio gusto ver más personas. Extrañaba caminar entre la gente, el trabajar de manera remota es muy solitario.

Al regresar estuve viendo cosas en internet y descansando. Me dormí durante toda la tarde, desperté como a las cuatro o cinco y empecé a sentir una leve molestia en la garganta. Me tomé un café y comí antes de tomar un poco de jarabe. Vi un par de partidos de fútbol, el peor fue el de Atlas contra América porque el favoritismo del árbitro fue demasiado obvio y ya se sabe que el América siempre gana con trampa... por la noche la molestia en la garganta había arreciado y me tomé un té de manzanilla con canela y unas pastillas para la tos.

En la madrugada domingo-lunes estuve leyendo sobre Symfony y descargué un par de editores de texto (CotEditor y BBEdit). Hice el tutorial de la página en BBEdit para jugar con el programa y el framework. Me gustó mucho aunque no entendí el proceso de despligue porque usa Docker y Platform.sh. Al terminar todo esto ya eran las cuatro de la mañana así que me fui a dormir.

Al día siguiente (lunes) desperté varias veces porque tuve un sueño muy raro y perturbador en el que estaba en el vagón de un tren con mi hermana y mis primos. Paramos en una ciudad y al bajar me adelanté mientras ellos se quedaban platicando. Yo caminé hacia una calle que daba a la ciudad y vi un tigre que venía hacia nosotros. Me volví para advertirles y el tigre empezó su persecución y se desató el caos hasta que finalmente alcanzó a mi hermana y le mordió la cabeza. Cuando desperté me sentía acalorado y mi gargante estaba muy seca. Sentía dolor al tragar saliva.

Lo primero que hice fue lavarme los dientes y ver el celular. Leí una notificación en la que uno de los usuarios de mis aplicaciones decía que el certificado del dominio de mi sitio había expirado, así que rápidamente fui a mi escritorio, encendí el ordenador y me puse manos a la obra. No tardé mucho en arreglarlo todo, quizá unos cinco minutos pero como desperté tarde, para entonces el sitio había estado fuera de servicio durante casi cuarenta minutos. Le respondí al usuario diciéndole que ya estaba todo arreglado y nos seguimos mutuamente en Mastodon.

Comí Chipotle y cociné una pechuga de pollo por la tarde. A las cinco tuve junta con Ilya, quien ya está de regreso después de sus vacaciones. Hoy tuvo su introducción a PHP y mañana lo veré junto a Ramiro a las cuatro.

Por la noche trabajé una hora en el proyecto que estoy desarrollando con Ruby on Rails, se llama ENLACES y es un sistema para guardar y compartir links. Pienso que dedicarle tiempo de poco en poco será más productivo a la larga. Después de subir esta página al blog seguiré leyendo más de PHP y Symfony. Quizá use BBEdit, quiero encontrarle su encanto.

Por cierto, no me he olvidado de Marfil, el generador de sitios estáticos que produce este mismo blog... justo ahora intento crear una cuenta en Codeberg para compartir el código. El generador de contraseñas de Safari causó un error y tuve que reactivar mi cuenta.

A la medianoche me dio hambre y me cociné otra pechuga de pollo. Me hice un té verde y lo acompañé con un sándwich de queso derretido.

2:45H

Ahora editaré algunos archivos de Marfil y los publicaré en Codeberg. ¡¡La primera edición sale pronto!!

Marfil v1.0.0

Bueno, por fin he creado mi cuenta en Codeberg y publicado el repositorio con el código de Marfil, el generador de sitios estáticos de este blog.

Marfil está escrito en PHP y sus funciones reflejan las necesidades de este sitio. Es decir que por ahora es simple y hace muy pocas cosas.

Con el comando $ php marfil.php generar o $ php marfil.php g, el programa procesa los archivos Markdown en la carpeta posts y genera archivos HTML correspondientes de acuerdo a la plantilla especificada en el frontmatter.

Hay una plantilla especial, templates/home.php, que recibe un array con toda la información de todos los posts del sitio. Esa plantilla es la página de inicio de todo el blog.

Todos los archivos dentro del directorio public son copiados tal cual a la carpeta generada por el programa.

¡Eso es lo principal! Seguiré añadiendo funciones como vaya necesitándolas por acá.

Convaleciendo

Hoy por la madrugada (a eso de las tres o cuatro) me asusté porque se me dificultó respirar. Fue como en épocas de Covid, en seguida palidecí y fui a verme al espejo en el baño y me veía amarillo y ojeroso. En fin, sospeché que me sentía así por la sequedad de la ciudad y pensé que ducharme con agua muy caliente me haría bien antes de acostarme. Eso hice y me fui a dormir como a las ocho de la mañana.

Me levanté de la cama a las tres y media de la tarde. Tenía la garganta adolorida y la boca seca. Hoy trabajé a las cuatro así que tuve poco tiempo para preparar mi espacio de trabajo. Me lavé los dientes, me duché, rápido me cambié (una camiseta gris con un suéter porque he sentido frío y dolor en los pulmones y así me sentí mejor) y me preparé un té verde con azúcar. Durante la junta fue difícil hablar, y de hecho Ramiro hizo un comentario acerca de mi apariencia física—dijo que me veía triste, y le expliqué que estaba resfriado. Hoy me despedí de Ramiro porque fue su última junta conmigo. Mañana a las 4p veo nuevamente a Ilya.

Cuando acabó la junta hice mis notas y bajé a prepararme algo de comer. Comí arroz con brócoli y dos pechugas de pollo en salsa de chipotle. También me tomé un café para seguir consumiendo bebidas calientes.

Ahora son las ocho de la noche, estoy viendo un video en YouTube sobre Jamie Vardy mientras me tomo otro té verde. Siento el cuerpo adolorido y cortado pero al menos puedo respirar mejor. Probablemente debería estar descansando...

¡¡Espero sentirme mejor pronto!!

02:34am del miércoles 27 de agosto

Después de escribir lo anterior me quedé dormido y desperté a la media noche. Cuando desperté me sentía acalorado y deshidratado. Bajé a tomarme otras pastillas efervescentes de Alka Seltzer a las 12:50am y después de reposar un rato en mi cama viendo reels en Instagram me duché otra vez.

2:39am

Ahora escribo desde la cocina con el ordenador apollado en la barra para mantenerme de pie mientras caliento agua para un café... Me siento mejor después de ducharme con agua caliente aunque todavía tengo el cuerpo adolorido.

En esta ocasión he decidido poner el programa de Smallville de fondo. Siempre veía los anuncios de ese programa en el canal 5 cuando era pequeño, y me dije muchas veces que lo vería «luego», pero ese momento nunca llegó. Me encanta la época de prinicpios de los 2000, los personajes se visten como pensaba que me vestiría cuando fuera grande y en sí todo se ve más alegre, más optimista, los colores más vivos y nítidos. Los personajes son inteligentes y hay una muy linda química en la familia de Clark. Me gusta que siempre visten con los colores de Superman también.

2:55am

Mi madre me ha dicho que siente que ha cogido un resfriado también. Espero que sus síntomas no sean tan fuertes como los míos.

3:53am

Estuve leyendo blogs en inglés y creo que ya me iré a reposar. Encontré uno que me gustó mucho llamado Ratfactor. También leí un artículo sobre el navegador Chrome del blog de victorhck. Ya me empieza a bajar el efecto de las pastillas y me siento congestionado de nuevo. ¡A descansar nuevamente!

Sopa Miso y el día después

Ayer a las once de la mañana K me trajo una sopa miso y medicina. La noche de ayer desperté a las tres de la madrugada y no logré conciliar el sueño hasta hoy a las ocho de la mañana. Permanecer más de veinticuatro horas despierto no me hizo muy bien, hoy desperté tarde y cansado. A las 4:30p tomé dos pastillas y después desayuné un poco de arroz con una pechuga de pollo y sopa de conchitas. También me tomé un café y ahora estoy tomando un té de manzanilla.

Creo que objetivamente estoy mejor que ayer. Ya no estoy tan congestionado. Siento el cuerpo adolorido, aunque no sé si esto se deba a haber dormido de manera incómoda o al resfriado.

Estos últimos días no hice mucho, trabajé con Ilya durante una hora y leí un poco de Ruby y PHP pero sin energía para programar algo en serio. De hecho ayer tenía más energía que hoy. Quizá deba tomar más agua y mantenerme hidratado.

Curado

Ya estoy bien. Dormí siete horas hoy, desperté a las cuatro y media de la tarde y bajé para tomar agua y comer. Me sentía deshidratado al despertar. Comí un sándwich de Subway con pollo asado y un poco de arroz. Me tomé un café. Hoy no he tomado medicina, me he sentido bien, un poco congestionado pero hasta ahí. Yo creo que ya estoy curado. Y menos mal porque este resfriado ya se extendía para una semana y eso es demasiado. Escribo esto en la noche.

Mañana a las diez y media trabajo un par de horas y no quiero estar desvelado. Después de comer estuve leyendo cosas en redes sociales y perdiendo el tiempo. Anoche empezó a difundirse un rumor diciendo que aquel idiota había muerto porque no se le había visto en tres días, pero hoy fue a jugar golf como casi todos los fines de semana así que no fue así.

Estuve pensando que sería buena idea hacer mi propio programa para gestionar mis finanzas. Creo que sería muy divertido. Tendría que pensar en cómo representar los datos. Quiero hacerlo un programa de terminal o un programa local para mi ordenador, me llaman mucho la atención ese tipo de programas. No todo debe ser una aplicación web. Voy a investigar programas así escritos en mis lenguajes favoritos... ¡y si tengo que aprender uno nuevo también me animo!

Emacs en mi Macbook Air 2015

Hace poco compartí que había descubierto un procesador de palabras llamado Bean que me gustaba para escribir en el blog. En los días siguientes estuve desarrollando Marfil y eso cambió mi workflow. Cuando empecé este sitio escribía el HTML a mano, pero entre más artículos fui añadiendo, cambiar detalles del sitio como el footer se volvió innecesariamente complejo.

En la vieja MacBook Air que me había propuesto usar para la escritura únicamente no tenía editor de textos. Bueno, había instalado TextMate y sigue siendo mi editor preferido para el código, pero ahora que el material fuente del blog es texto plano en markdown, era importante usar el mejor editor de markdown que conozco, y ese es Emacs.

¿EMACS EN SERIO?

Ya me imagino la reacción de aquellos que prefieren Vim o que simplemente usan un editor moderno como VS Code y Zed y consideran que el uso de estos viejos editores es vano y arcaico...

La verdad es que comparto esa opinión parcialmente. No pienso que Vim o Emacs sean los mejores editores para programar. La inversión de tiempo que precisan ambos (para ser usados y configurados) no vale la pena[^1].

[^1]: Quiero clarificar que esto aplica a personas que recién se incursionan en el desarrollo de programas. Si uno ya tiene experiencia, creo que siempre es buena idea aprender nuevos sistemas y métodos de desarrollo. Al aprender a editar texto con Vim o Emacs, el programador reconocerá la influencia de estos editores en el software que usamos a diario.

Pero para escribir notas y archivos de texto plano, ¡Emacs me encanta! Este mes evidentemente he actualizado el blog con más frecuencia, y todas las actualizaciones las he escrito desde mi ordenador principal en archivos markdown con Emacs. Quiero seguir dandole un uso más frecuente a la MacBook de 2015, así que hoy instalé Emacs por acá.

Hace meses edité mi configuración de Emacs e intento no cambiarla mucho, porque ese es uno de los problemas con estos viejos editores que permiten tantas configuraciones—es muy fácil dejarse llevar e invertir más tiempo en la configuración en vez de en la tarea que uno se había propuesto cumplir al principio. Así que mantengo todo muy sencillo.

Estos son los cambios que hice hoy al instalar Emacs por primera vez en esta MacBook de 2015.

Lo primero que hice fue instalar Markdown Mode.

Después cambié el tema. Ahora mismo estoy usando uno llamado deeper-blue. Aquí están todos los temas.

Mi configuración me permite escribir en español (por ejemplo la ñ, acentos y los demás carácteres necesarios). Para eso debo liberar mi tecla meta (alt en Mac) con este comando: (setq mac-option-modifier nil). Para ejecutarlo, abro el mini búfer de evaluación con M-:.

Después instalé Visual-Fill-Column Mode. Con este paquete, Emacs termina los renglones de acuerdo al valor de fill-column-width y no al borde de la pantalla. También me provee con variables de configuración para la anchura del texto y su alineación.

Activé el modo Visual Line a través del búfer M-x y después asigné los valores de las variables.

(setq visual-fill-column-width 70)
(setq visual-fill-column-center-text t)

Para que todo se vea uniforme, también desactivé el modo scroll-bar.

¡Con eso es más que suficiente para escribir y editar archivos de texto plano cómodamente!

Archivo de Configuración

Al pasar estos cambios a mi archivo de configuración (que se encuentra en .emacs y no en ~/.emacs.d/init.el como en mi ordenador principal y no entiendo la razón) estuve jugando con un paquete llamado Olivetti.

Se supone que es para lo mismo que he configurado aquí, es decir, centra el texto a cierta anchura y permite escribir prosa más cómodamente. No me gustó que los márgenes alrededor del texto eran de otro color, y había otras configuraciones que no me interesa aprender ahora mismo. Prefiero algo más cercano a la instalación por defecto. Entre más sencillo mejor. Esa es la máxima con la que quiero darle dirección a mis decisiones tecnológicas.

Otro blog

Ayer por la noche instalé Emacs en mi Macbook Air y ahora escribir por acá es de lo más cómodo. Me fui a dormir como a las ocho o nueve de la mañana sabiendo bien que tenía junta a las 10:30am. Me desocupé a las 12:30pm y no sentí tanto sueño... pero sé que no está nada bien dormir tan poco. La realidad es que había dormido mucho el día anterior, el sábado me desperté a las cuatro de la tarde así que no estaba tan desvelado.

Por la madrugada disfruté mucho leyendo el blog Inessential de Brent Simmons. A Simmons lo conocí por su trabajo en el lector RSS NetNewsWire. Estuve leyendo las anécdotas de su época trabajando con David Winer en Userland Software, lo cual me llevó a descubrir algunas publicaciones de Winer (¡unas eran de 1994!) que me gustaron mucho porque iban dirigidas a un público determinado con intereses similares (tecnología y cultura geek).

Cuando escribo aquí sé que nadie me leerá y por eso los temas que abordo son más personales y no tan interesantes. Me gustaría tener otro blog público con un enfoque particular, quizá cultura o tecnología o algo así, me gustaría tener una «columna». Quiero que tenga un nombre evocativo y quizá esté envuelta en algo de ficción. Por ejemplo una temática de correos electrónicos sería interesante. No lo sé aún.

Quiero mencionar que mientras escribo esto estoy viendo el partido del Rayo Vallecano contra Barcelona. Corre el minuto 80 y hay un empate 1-1. El Rayo ha sido muy superior y debería ir ganando... pero el arquero del Barça Joan García es un fenómeno y ha atajado disparos que claramente debían haber sido gol.

2:34p - El partido terminó empatado. García recibió el MVP.

Día del trabajo

Hoy es día feriado por el Día del Trabajo. Es primero de septiembre y se empieza a sentir la llegada del otoño...

Otoño e invierno son mis temporadas favoritas. Son inherentemente más nostálgicas y contemplativas, temporadas a las cuales siento que pertenezco.

Ayer por la noche me volví a desvelar y más allá de una leve congestión nasal ya me siento bien de nuevo. Bajé a las nueve y media de la noche para cenar algo porque me tomé una siesta por la tarde y no había comido. Me preparé unas papas rústicas con cebolla y pimiento morrón, sazonadas solamente con un poco de sal y pimienta. Las acompañé con un huevo y me quedaron muy ricas, como lo que solía pedir en Gracie's.

A la media noche vi la película de Presidente Bajo Fuego y me encantó. Es una de esas películas de suspense y acción de las que ya no hacen. Después estuve leyendo el libro de Emacs Lisp que viene incluído en el editor, pero no le puse mucha atención porque dejé la televisión encendida. Después subí a mi habitación y estuve viendo cosas de política en redes sociales hasta que me dio sueño a las nueve de la mañana y dormí hasta las cinco de hoy.

Ahora escribo a las 6:20pm. Le envié mensaje a K cuando desperté pensando que quizá nos veríamos hoy pero no me ha respondido.

Tuve un sueño raro. Soñé que estaba en la universidad, sentado a la mesa en un salón de clases rodeado de algunos compañeros y una maestra que no reconocía. No logré ver el rostro de la maestra. Ella caminaba por el salón viendo nuestro trabajo por encima del hombro. Tenía un vestido negro largo estilo victoriano como si fuera de luto. En cierto momento todos abrieron un libro que yo no tenía. Una de mis compañeras lo había escrito (escribir un libro era una asignatura para todos los de tercer año y en esta ocasión leíamos el de ella). Yo no dije que no tenía libro. Mientras mis compañeros leían y comentaban acerca del material yo veía las páginas de la copia de la persona que se sentaba a mi lado. Vi reproducciones de pinturas que me recordaron a Gustave Moreau y a Alexandre Cabanel.

La aparición (1875) - Gustave Moreau
La aparición (1875) - Gustave Moreau
La aparición (1868) - Alexandre Cabanel
El ángel caído (1868) - Alexandre Cabanel

Debajo de cada pintura había una larga explicación filosófica de su significado pero no alcanzaba a leer el texto. Estuve admirando las obras durante el resto de la clase hasta que en cierto momento la maestra se acercó y me trajo una copia del libro. Me dijo que le interesaba saber mi opinión de las obras y si estaba de acuerdo con el análisis de mi compañera. Me asignó la tarea de analizar una de las obras del libro y después desperté.

Hojas de cálculo

Poco a poco voy arreglando mi horario. Anoche leí un capítulo más de El conde de Montecristo antes de dormir y quise transcribir una frase que me gustó:

—El saber humano es tan limitado que cuando os enseñe las matemáticas, la física, la historia y las tres o cuatro lenguas que poseo, sabréis tanto como yo; ahora, pues, siempre necesitaré dos años para enseñaros toda mi ciencia.

—¡Dos años! —exclamó Dantés— ¿Creéis que podré aprender tantas cosas en dos años?

—En su aplicación, no; en sus principios, sí. Aprender no es saber, de aquí nacen los eruditos y los sabios, la memoria forma a los unos, y la filosofía a los otros.

—Pero ¿no se puede aprender la filosofía?

—La filosofía no se aprende. La filosofía es el matrimonio entre las ciencias y el genio que las aplica. La filosofía es la nube resplandesciente en que puso Dios el pie para subir a la gloria.

La conversación anterior entre Edmundo Dantés y el abad Faria transcurre en un calabozo del Castillo de If, donde Edmundo lleva ya seis años preso. El anciano Faria (ni tan anciano que realmente tiene unos sesenta años) se vuelve un mentor para Dantés.

Después de leer el capítulo me dormí y hoy desperté al medio día.

Por la mañana tomé un café y estuve leyendo el blog (en español) de Lucio Albenga, otro aficionado al software de código libre y abierto. Leí un par de artículos sobre Gopher y después me empezó a dar sueño otra vez. Como tuve junta con Ilya a las cuatro no me pareció prudente tomar una siesta, así que estuve viendo un video sobre Emacs Lisp en YouTube. Incluso escribí una función que añadí a mi archivo init.el. Es sencilla. Escribo iso-date-insert en cualquier modo (ahora mismo escribo en modo Markdown) y me aparece bajo el cursor la fecha. 2025-09-03. Así.

Ayer por la noche y hoy después de trabajar estuve gestionando mis gastos en una hoja de cálculo. Hice una lista de los próximos cheques que recibiré y analicé mis gastos de agosto y de los meses que siguen. Siento que así tengo un mejor control de mis finanzas. También logré cancelar la transferencia recurrente a mi cuenta de inversiones, esa transferencia la configuré hace unos cinco años y no había podido cancelarla hasta hoy. ¡Me siento libre por ello!

Cumpleaños en septiembre

Este fin de semana lo he pasado en casa de K con su familia. Primero, un resumen del viernes: había quedado con K para vernos a las cinco de la tarde y de ahí ir a su casa. El sábado era el cumpleaños de su madrina y me habían invitado a la celebración.

El jueves por la noche empecé a leer las clases de literatura de Cortázar y eso me inspiró a darle un buen vistazo a mis escritos. Encontré cuentos y viñetas que escribí durante mi temporada en Nueva York y me dediqué a editar los documentos para después convertirlos a un solo PDF con pandoc. Todo empezó porque descargué la paquetería de LaTeX para la MacBook Air (que estoy usando en estos momentos) porque así es más fácil leer mis escritos como borrador final. La alternativa sería actualizar la versión de PHP que tengo en esta máquina, descargar Marfil y los archivos del blog y configurar mi VPS para aceptar cambios desde ambos ordenadores. Por ahora creo que todo eso sería una distracción. Así que seguiré usando la MacBook como máquina de escribir exclusivamente.

Me he distraído. Decía que estuve leyendo los cuentos y viñetas de aquella época, y me dio nostalgia y a la vez, sí, lo reconozco, orgullo. Orgullo porque me encantó lo que leí. En ese tiempo logré desarrollar una escritura que transmitía sentimientos y opiniones que aunque quizá ya no acepte del todo hoy, aún así representan una etapa de formación importante de mi juventud. Es por eso que quise preservar esa colección de viñetas a lo «en nuestro tiempo» de Hemingway.

Esa noche, insuflado de energía y adrenalina tras editar mis escritos no logré dormir temprano, de hecho a las siete de la mañana fui a caminar al parque. Me preparé un té de manzanilla y me lo llevé en un termo portátil. Quería una caminata que evocara placer y tranquilidad, no ejercicio como tal. La temperatura a esa hora estuvo perfecta —parcialmente nublado y muy fresco. También me gustó ver a las personas que salen a esa hora, había gente caminando con sus mascotas y haciendo ejercicio. Me gusta cuando la gente me saluda durante mis caminatas. Por tonto que suene esto... fue parecido a mis paseos por Central Park.

Al llegar a casa me dormí y desperté por la tarde. Le dije a K que necesitaba más horas para estar listo (debía lavar ropa y preparar un atuendo para el cumpleaños) y entonces pasó por mí a las ocho de la noche. Fuimos directo a su casa. Por la noche hubo una tormenta. Aunque la temperatura se mantuvo alta, me gustó ver lluvia y relámpagos. Ya estamos entrando a la mejor temporada del año.

Al día siguiente nos levantamos temprano para ir al mercado al aire libre que instalan los sábados cerca de casa de K. El cumpleaños de su madrina era a las 3 de la tarde. Después del mercado fuimos a desayunar. Regresamos a casa de K un poco después del mediodía y sus padres iban de salida. Vi un poco de fútbol americano con su padre mientras ella se arreglaba y después fuimos a la casa de su madrina.

La pasé muy bien con su familia. Me presentó a su abuela, tíos, primos, todos me cayeron muy bien. Uno de sus tíos colecciona figuras de acción y memorabilia de películas y de superhéroes así que me dio un tour de la colección.

Después de comer jugamos Mahjong toda la noche, un juego que jamás había jugado pero que me ha encantado y que me pareció muy divertido y competitivo. Evidentemente era una tradición familiar y en ocasiones escuché comentarios acerca de lo buena que era para jugar la abuela. Me recordó a jugar dominó cuando era niño con la familia de mi padre. Me gustó que la familia me hizo sentirme incluido, de hecho toda la celebración me pareció muy similar a las reuniones que hacemos en mi familia.

El día siguiente lo pasé en casa de K también, no hicimos mucho, nos levantamos tarde porque quedamos cansados del día anterior. Fuimos a desayunar sushi por la tarde y después fuimos a ver disfraces de Halloween. Me llevó a mi casa por la noche, cené dos sándwiches y me desvelé hasta las seis de la mañana.

Hoy desperté a las dos. Es cumpleaños de mi madre.


Me desocupé a las seis de la tarde de mi junta con Ilya. Por la noche atendí lo de mis préstamos estudiantiles tras recibir una llamada telefónica en plena celebración con mi familia.

Por la noche comí dos sándwiches de queso, pan de ajo y un tazón de cereal con leche. Ahora entiendo que como en exceso cuando estoy estresado... ¡Hasta me desvelé para no irme a dormir con el estómago lleno!

Salida con amigos

Cartel de tres amigos jugando billar
Cartel en la ventana del billar

Ayer por la noché salí con Gael y Coleman. Fuimos a un bar irlandés donde estuvimos platicando por horas. La última vez que nos vimos fue hace cuatro meses en un evento de startups el 16 de mayo. En aquella ocasión escribí esto en mi diario:

La noche de ayer salí con Gael y Coleman. A Coleman no lo veía desde octubre del año pasado en una fiesta de Halloween que ni siquiera recuerdo. Todos hemos cambiado. Nuestra química es diferente. Me resulta dificil socializar. Me canso de estar rodeado de gente.

Leer eso me pone triste. Ese día la pasamos bien, aunque quizá había pasado tanto tiempo desde que nos habíamos visto que tardé en sentirme a gusto compartiendo cosas de mi vida. Creo que influyó habernos visto en el evento de startups, no me gusta la energía que se genera en esos entornos. Los fundadores tienden a ser vendedores de humo y los inversionistas se vanaglorian por tener plata. Repudio la hipocresía, moneda de cambio para los oportunistas de esa calaña.

También me afectó haber estado deprimido en ese época. Yo sé que en estos momentos aún no he alcanzado mi mayor potencial y a veces pienso que eso desilusiona a mis seres queridos. Admiro a mis amigos como si fueran mis hermanos mayores. Ellos tienen fe en el gran potencial que ven en mí... y no he logrado explotarlo al máximo.

En fin, ayer las cosas fueron diferentes. Coleman vino por mí a mi casa y estuvimos platicando de uno de nuestros conocidos y de su novia. Al llegar al bar le di un abrazo a Gael y hablamos del evento que ha conmocionado a mi generación...

Comí un sándwich de pollo asado y me tomé una cerveza Guinness. Gael se tomó dos y Coleman comió nachos. Hablamos durante tres horas del trabajo de Gael (piensa dejarlo pronto), hablamos de política, de mi familia, de sus amigos... nos contó de su viaje a Colorado para visitar a la familia de su novia. Coleman, por el contrario, no compartió casi nada acerca de su vida personal y ahora sospecho que es él quien está pasado por una mala racha de depresión. Tanto así que le dije que fuéramos al gimnasio este próximo martes. Creo que nos hará bien a ambos.

Gael me compró una pluma de marihuana y fumé un poco después del bar. Fuimos a un billar y jugamos tres partidas. Cada quien ganó una. Estuve tan cerca de ganar dos veces... pero en mi primer juego metí la bola blanca en la ocho jajaja.

Teníamos tantas ganas de seguir platicando que cerramos la cuenta en el billar y salimos a platicar y a echarnos unos cigarrillos en la calle (una interacción que es posible gracias a que el clima ha mejorado). Hablamos durante mucho tiempo de uno de mis proyectos que ha tenido un moderado éxito en internet. También platiqué de este mismo blog, el cual me ha hecho mucho bien porque me ayuda a desahogarme y me genera una leve adrenalina saber que mis escritos son completamente públicos y aún así no llevan mi nombre.

Fin de semana verde

¿Recuerdan la pluma que me regaló Gael? Pues la usé todo el viernes... estuve programando bajo sus efectos. Avancé mucho con el nuevo diseño de mi app. Me fui a dormir muy tarde, cinco de la mañana creo, y el sábado me desperté a las cuatro de la tarde, habré dormido doce horas. Cuando me levanté me sentía cansado y deshidratado. Buu.

Ahora mismo me duele la cabeza. Acabo de tomarme un café en caso de que esa haya sido la razón. Tengo unas leves ganas de ir a la tienda por un cigarrillo electrónico (no sé si sea por eso que me duele la cabeza) pero esto es molesto. Quizá deba tomar más agua.

He estado viendo el programa de Gossip Girl... ¡no me había caído el veinte de que todo en ese progama gira en torno a un blog! Ya se sabe que me encantan... y como escribí por acá (es una locura lo similar que fue ese día con este hoy... ¡debo desarrollar una rutina nueva!), tengo ganas de hacer un blog comercial. No he definido aún qué temática darle.

Pensar en todo esto me llevó a descargar WordPress... y me ha encantado el proceso de instalación. Todo ocurre a través del navegador después de descargar una carpeta comprimida con todos los archivos PHP necesarios. Quizá esa será la mejor manera de distribuir software a un nivel intermedio —el usuario descarga la carpeta, extrae los archivos, inicia el servidor y toda la configuración corre en el navegador.

2:00am - me bajó el dolor de cabeza después de tomar agua. Quizá estaba más deshidratado de lo que pensaba :/

2:32am - Un blog para adultos en español --mi audiencia imaginaria sería gente de la edad de mis padres. Yo sería un comunicador.

13 Going on 30

3:50am - Acabo de ver la película 13 Going on 30. ¡Me ha encantado! Es de esas películas que estaban en mi radar por el simple hecho de ser romcom, mi género favorito, pero siempre había asumido que era una película estilo Disney y por uno u otro motivo no la había visto hasta hoy.

Ya es lunes, mi domingo fue muy tranquilo. Después de mi junta con Molie bajé a prepararme algo de comer (pechuga de pollo con brócoli) y después estuve dándole toques intermitentes a la pluma durante el día. He ido proporcionando cada uso en una dosis pequeña lo cual reduce la ansiedad que me pega cuando me excedo.

Leí mucho hoy. Primero los e-mails de DaveNet, me gusta mucho el estilo de ese website y lo he guardado como referencia para el diseño del blog que estoy desarrollando. También me gustó el diseño de Salon de 1998.

DaveNet
Newsletter de DaveNet
Salon in 1998
Salon en el año 1998

En esta entrada de DaveNet leí sobre la edición del año 2000 del Foro Económico Mundial en Davos, y eso me llevo a leer un poco sobre Bill Clinton y así llegué a este video del discurso de Obama la noche que se convirtió en el Presidente electo de Estados Unidos. Lloré. Este país en 2025 dista mucho de esa época.

Discurso de Barack Obama

Durante mis vagas lecturas sobre la época me topé con imágenes de los cuadernos de Octavia Butler. No había escuchado hablar de ella, el nombre me resultó vagamente familiar, y en su artículo de Wikipedia leí que un tal Harlan Ellison (a él por su puesto tampoco lo conocía) la había ayudado a principios de su carrera. Esto me llamó la atención y busqué más información acerca de él, y así llegue a su página web y leí un ensayo que se llama Las tres cosas más importantes de la vida. Aún no lo termino de leer. Pero lo que leí me llamó la atención, todavía no sé mucho de él pero me recordó a mí, a una versión de mí que existe en mi interior y que todavía no he decidido si querré cultivar. Cuando terminé de leer sobre la segunda cosa me tomé una pausa y busqué a Ellison en YouTube. Así encontré esta singular entrevista que me gustó mucho.

Queda añadido a mi interminable lista de lecturas...

Nuevo tema (retro) y Marfil v2.0.0

Inpsirado por el tiempo que pasé jugando con WordPress y viendo blogs y websites antiguos estos días, he diseñado un nuevo tema para este blog.

Todo ocurrió porque había empezado el diseño de un nuevo blog, pero luego pensé que el tipo de material que quería escribir en ese blog es parecido al que abordo por acá, entonces maquetar ese diseño con los datos y entradas de este blog me pareció buena idea. De esta manera me vería obligado a actualizar Marfil a la par, y eso es lo que quería para el generador, que fuera creciendo y sumando funciones conforme el blog las necesitara, ni más ni menos.

Así que ahora el tema de este blog (y lo que usaré como base en Jekyll para el blog comercial que estoy desarrollando) es un diseño inspirado por el tema oficial de WordPress del año 2010, disponible aquí.

Tema actual de Bucareli
Tema de WordPress

Así se veía antes este sitio:

Tema antiguo de Bucareli
Tema antiguo

Entonces en este nuevo Marfil v2.0.0 así los cambios:

  • todas las plantillas tienen acceso a una variable global de los posts del sitio
  • la variable global posts adquiere valores progresivamente (esto quizá cambie, porque me gusta cómo ha funcionado hasta ahora)

Esto permite poblar el menú lateral con las entradas recientes del blog, pero si se dan cuenta, abrir una entrada más antigua muestra un menú más parco.

Conticinio (ep. 1)

Buenas noches y bienvenidos al primer episodio de Conticinio, mi programa de blogging durante las horas de la noche en que todo está en silencio.

Escribo a las 2:26am, después de poner en pausa mi escritura (decidí no continuar con aquel monólogo) para ir a la tienda de la esquina por un cigarrillo electrónico. Hoy la noche está fresca y disfruté mi paseo escuchando música de los años ochenta. Quizá sea buena idea armar una playlist semanal y compartirla por acá. ¡Tengo tantas ideas para el blog!

Al regresar a mi casa le di un toque más a mi pluma y después me acosté y vi videos en Instagram durante casi dos horas. Horrible. Pero rescaté un par de cosas relacionadas con el arte y la escritura que pienso compartir aquí.

Primero quiero hablar de Conticinio y los programas de blogging. ¿Qué son y cómo funcionan? Bueno, la verdad es que lo iré descubriendo sobre la marcha. Les cuento lo que tengo imaginado, como podrán ver he titulado esta entrada «episodio 1». En otra ocasión, hace más de un año, había escrito que mi concepto de bloguear jugaba con dos ideas distintas, los podcasts y las columnas tradicionales en los diarios y revistas. Por supuesto todo esto podría irse editando y escribiendo nuevamente hasta quedar todo lindo y profesional, listo para distribuirse por internet a modo de revista. Pero eso no es precisamente lo que quiero desarrollar.

Me interesa más una conversación más casual, como un podcast, los invitados son ustedes y mi imaginación. Cuando digo «ustedes» me refiero a una audiencia modesta de personas como yo que disfrutan de cosas simples como la noche, la música de fondo, el arte, poesía, historia, filosofía, literatura y más que nada las conversaciones al respecto. Pero que quede claro que aquí no quiero escribir tratados o ensayos ni nada por el estilo.

Mi meta es compartir cosas interesantes que veo en mis viajes ciberespaciales, abrir un diálogo constante con el blog y mis lectores. Una relación lenta, paciente, que no dude en disminuir las expectativas y bajarle el ritmo a la rapidez que demanda nuestra comunicación hoy en día.

Todo esto se resume fácilmente: quiero cultivar un blog.

¡Mis bloqueos mentales y mi concepto tan rebuscado de lo que es un blog me sorprenden por su estupidez!

De lo que hablo es un blog común y corriente, lo que pasa es que le perdí el rastro a esa referencia a los tumblelogs que tanto me gusta.

Cuando David Karp y Marco Arment estaban desarrollando Tumblr, ambos eran aficionados de un sitio llamado project.ioni.st. Así lo registra Karp en su blog en 2007:

Last year, a site called  project.ioni.st  showed us a completely different form. The long editorials with meticulously formatted links and images we were used to seeing on blogs seemed absent. All of the editors’ thoughts, creations, experiences, and discoveries poured down the screen. It was like flipping through the scrapbook of a like-minded person we had never met.

The editors seemed to post with zero obligations. Anything neat they came across went up. Little or no commentary was needed. The only context was the author. How absolutely beautiful.

project.ioni.st
project.ioni.st - un tumblelog

A ese concepto es al que quiero regresar. Dejé de entender un blog como algo orientado al público por la soledad de escribir en la internet libre, lo que algunos han llamado SmallWeb o IndieWeb. Han cobrado tanta importancia las plataformas y las redes sociales que cuando alguien dice «blog» no podemos evitar imaginarnos lo que este mismo sitio había sido hasta hoy: un simple diario personal.

Así como es de lo más natural para ciertas personas grabarse en sus celulares hablando de distintos temas (algunos se encasillan y otros son personalidades) para mí es de lo más natural escribir.

Entonces... ¡bienvenidos a mi blog! Deja de ser personal exclusivamente (podrán constatar que en una de mis entradas cito mi diario) y ahora me dirijo hacia esa audiencia que mencioné anteriormente.

En fin, aquí les comparto las cosas que vi durante esas horas en Instagram. Las paso acá para no sentir que ese tiempo se desperdició.

Valentin Serov

Valentin Serov
Valentin Serov

Serov (1865-1911) fue un pintor y retratista ruso del Impresionismo. Entiendo que se le conocía por capturar la mirada y conservar el espíritu humano de sus modelos, quienes solían ser artistas, actores y escritores.

Nikolai Leskov
Retrato de Nikolai Leskov (1894)
Nikolai Leskov
Retrato del cantante italiano Angelo Masini (1890)

John Keats - Capacidad negativa

John Keats, el poeta inglés del Romanticismo que murió a los veinticinco años escribió en una carta a sus hermanos durante las navidades de 1817:

No tuve una disputa sino una disquisición con Dilke sobre varios asuntos; qué calidad contribuía a formar un hombre de éxito especialmente en literatura, esa que Shakespeare poseía en tal enormidad —me refiero a la Capacidad Negativa— es decir, la capacidad de un hombre que es capaz de existir en las incertidumbres, los misterios, las dudas, sin la búsqueda irritable del hecho y la razón.

Ray Bradbury (entrevista)

Vi un clip de esta entrevista en la que Bradbury habla de los escritores y el lema «Don't Think» que pone sobre su máquina de escribir como recordatorio de que al escribir no debe pensar sino vivir a través de la escritura.

Para los escritores, la universidad es peligrosa. Hay muchos profesores esnobs, demasiado intelectuales. El intelecto es un gran peligro para la creatividad porque empiezas a racionalizar e inventar razones para las cosas en lugar de centrarte en tu propia verdad: quién eres, qué eres, y qué quieres ser...

Se piensa todo lejos de la máquina pero al sentarse a escribir debes vivir. Debe ser una experiencia de vida.

Aquí la entrevista completa:

Ray Bradbury (1974)

Ventanas (ep. 2)

La hora del conticinio se ha adelantado hoy. Ha estado nublado todo el día y hace poco comenzó una tormenta con relámpagos. Son las 7:46pm y no he dormido desde ayer.

Hoy abrí mi ventana. ¡Escribo con la ventana abierta! Es algo tan simple y común. Oye, hoy abrí la ventana, también comí y saqué a pasear al perro... ¿Qué tiene eso de especial? Ah, sencillo, es que en esta hermosa ciudad que los inocentes llaman «la ciudad del pecado» la temperatura rebasa los cuarenta grados. Pero hoy empezó a fresquear y al preguntarme cómo era posible que mi horario se descompusiera tanto una vez más, concluí que es porque al pasar tanto tiempo sin salir a la calle justo para evitar el sol, mi ritmo circadiano pierde su mecanismo de regulación y yo pierdo completamente la noción del tiempo.

Cuando abrí la ventana eran las cuatro de la mañana. Pasé la noche trabajando en Onyx, mi editor de textos. Se me fueron las horas familiarizándome con el proyecto (mi último commit había sido en abril) y escribiendo código.

Hospitalidad en el software

Parte de la labor de ayer fue implementar un sistema de organización dentro de mi archivo README. El sistema es sencillo y consiste en recopilar todas las dudas que tuve a la hora de reproducir una versión local del servidor de producción y documentarlas de manera clara, con un toque de simpatía para el futuro lector.

Mientras pensaba en quién sería la audiencia ideal para ese documento (porque pensar que el yo del futuro será el único lector es triste, pero eso solo lo piensa el yo del presente) se me ocurrió un concepto que seguramente ya exista con otro nombre y que yo ayer llamé «software hospitality». No he quedado satisfecho del todo con mi traducción al español. Consideré «software hospitalario» al principio pero la rechacé de inmediato —esa interpretación ha invertido el efecto que yo quiero darle a la palabra raíz hospitalidad. ¡Mi enfoque es en la actitud, no en el ámbito!

«Hospitalidad en el software» se acerca más a la idea, me refiero a adoptar una actitud personal y franca durante el proceso de desarrollo y entrega de software. A base de respeto mutuo, los miembros de un equipo y los clientes entablan una conversación.

Por ejemplo, he empezado mi implementación en Onyx con una bienvenida dirigida al usuario en la que describo el sistema, los lenguajes de programación en uso, librerías, dependencias, etcétera. También hay un changelog y una guía de instalación.

Esta primera implementación parcial del sistema de hospitalidad es un principio muy pobre porque todo lo anterior asume que el usuario va a interactuar con el código fuente, pero la realidad es que la mayoría de usuarios querrán sacarle provecho al software sin leer demasiado. En ese caso, el diseño del sistema también debe ser hospitalario, desde la interfaz gráfica hasta los procesos y mecanismos internos que lo ponen en marcha.

La hospitalidad en el software debe atender a las necesidades de todas las personas que dependen del mismo. Para los usuarios no técnicos, se les da la bienvenida a un entorno nuevo, como si fueran huéspedes en un hotel y recibieran descripciones, direcciones, actividades, trasfondos, historias, datos, lo necesario y lo ameno para disfrutar de su estancia. Del mismo modo, como desarrolladores tenemos la responsabilidad de ayudar al usuario a orientarse en el entorno digital que hemos creado. Y para cumplir con ello debemos diseñar entornos digitales en virtud de las necesidades de sus usarios.

Kindle Touch Welcome letter (2011)
Carta de bienvenida en mi Kindle Touch (2011)

Sin Internet

La tormenta ha afectado la conexión al internet y a mí me gusta escuchar música cuando escribo, pero como Spotify no carga estoy escuchando un mixtape digital de Konpeito Media. Esa es una historia para otra ocasión, pero llevo muchos meses pensando en escribir algo acerca de Konpeito y de la comunidad que encontré hace cinco años en el protocolo Gemini.

Marfil ❤️ Emacs

Y por último, un breve metacomentario.

He integrado Marfil a Emacs. Ahora cuando guardo mis cambios a un archivo dentro de la carpeta posts, el sitio se regenera automáticamente y espera con el servidor activo.

A continución una explicación más detallada.

Mi proceso de redacción para este blog requiere el constante uso de dos comandos de Marfil:

$ php marfil.php generar y $ php marfil.php servir

El primero genera el sitio y crea una carpeta con todos los archivos, y el segundo activa un servidor local para ver el sitio en el navegador.

Eso significa que cada vez que hago un cambio en un archivo Markdown desde Emacs, debo cambiar de ventana a la terminal, terminar el proceso del servidor y ejecutar ambos comandos.

La repetición de todo esto corta la fluidez de mi proceso de escritura. Markdown no está al nivel de Org mode en Emacs para exportar a otros formatos (para ello recurro a pandoc) pero elegí Markdown porque la conversión a HTML es fácil de implementar con librerías de PHP.

Primero pensé en añadir una configuración a mi archivo init.el, pero mejor decidí crear variables locales de directorio en un archivo llamado .dir-locals.el dentro de la carpeta del blog.

Veamos qué tal...

¡Todo salió a la perfección! En cuanto guardo el archivo los cambios ya están listos en el navegador, solo es cuestión de refrescar la página y ya. Quizá eso también deba ser automatizado... creo que ya se entenderá porqué las veinticuatro horas del día se me hacen pocas.

¿Puedes leer esto por favor? 🥺

El vocabulario mexicano está lleno de expresiones que demuestran temor a irrumpir en espacio ajeno. Pienso esto porque soy culpable de usar palabras que le quitan intensidad a lo que realmente quiero decir. Tomemos por ejemplo la siguiente expresión:

«Explicando un poco mejor qué es Marfil».

Seguramente he escrito algo similar. ¿Por qué tildar de «un poco mejor» aquella explicación? ¿Acaso evaluar lo que escribo no es la responsabilidad del lector?

Las cosas se dicen con certeza y se investigan antes de compartir si no estoy seguro. No hay razón para titubear ni jugarle a hacerse el lindo. Sucintamente, la meta es una estética sin miedo a manifestarse.

L'Arléssiene - Vincent van Gogh
L'Arlésienne: Madame Joseph-Michel Ginoux - Vincent van Gogh (1889)

La mayoría de mexicanos empezamos a entender lo servicial de nuestro vocabulario cuando interactuamos con extranjeros.

¿Mande? me dice incrédula. ¡No me digas mande y no me hables de usted que me incomodas!

—¿Por qué te incomoda? Me estoy expresando con respeto.

—No soy tu patrona y no hablo con mandatos. Más respetuoso sería que me hablaras como tu igual.

Artista y persona

Toda esta semana he usado la pluma y he terminado un par de proyectos de software. El primero y más importante para este blog fue la nueva función de Marfil para crear borradores y posts nuevos desde la terminal.

Generador de marfil en la terminal
Generador de marfil en la terminal

También estuve siguiendo el último conflicto de la comunidad de Ruby y lo que eso podría implicar para el ecosistema de software. Para un lenguaje tan pequeño como Ruby es peligroso que un puñado de compañías tenga control sobre la distribución de paquetes. Afectaría a muchos desarrolladores. El argumento, como lo entiendo, es que a empresas como Shopify les preocupa que la distribución de paquetes (Ruby gems) sea responsabilidad de voluntarios sin sueldo, pues creen que a la infraestructura no se le dará el cuidado y la protección para evitar que la instalación de paquetes de terceros se vuelva un vector de ataque fiable. Eso tiene precedente —hace unos meses se descubrió un Ataque masivo de RubyGems: Desarrolladores sin datos ni control sobre sus cuentas.

Investigadores de la empresa Socket descubrieron un total de 60 paquetes maliciosos en RubyGems.org que se hacían pasar por herramientas populares de automatización para redes sociales y blogs, pero que en realidad incorporaban funciones de phishing para robar credenciales.

Esta semana la organización encargada del servicio RubyGems.org, Ruby Central, cedió control absoluto del repositiorio de código a miembros de Shopify y revocó el acceso a los mantenedores del proyecto sin previo aviso.

En los grandes proyectos de software de código abierto, un gobierno al mando de un dictador benevolente de por vida no es nada nuevo. El problema es que en este caso, DHH, creador de Ruby on Rails y miembro de la mesa directiva de Shopify, ha expresado opiniones políticas que ofenden a grupos importantes de la comunidad, y algunos exigen su renuncia y amenazan con bifurcar los grandes proyectos de Ruby y crear sus propias comunidades.

¿Qué tan importante debería ser realmente la política de los creadores de software? ¿Se debe separar a la persona del artista?

Se sabe que Steve Jobs fue una persona mala y un muy buen empresario. Yukihiro Matsumoto (matz) es el creador de Ruby y también es miembro del Movimiento de los Santos de los Últimos Días. DHH es grosero y muy ignorante en temas sociales porque lo ve todo desde el lente de un hombre millonario europeo.

Hay una parte de mí que siente una gran desilusión. Por otra parte me pregunto si no son necesarios este tipo de locos divergentes para poner en marcha grandes cambios en una comunidad. Sin Steve Jobs y su obsesión por los detalles que lo llevó a ser un jefe y compañero despiadado, Apple jamás hubiera alcanzado el éxito que goza. Pero eso no lo exime de haber engañado a Woz, de haber sido mal padre y de herir a tantas personas de su círculo. Incluso su enfermedad y eventual muerte, temprana e innecesaria, fue producto de sus obsesiones y convicciones.

Alberto Eintein se casó con su prima. El doctor Martin Luther King Jr. plagió su tesis y engañó a su mujer. DHH escribe estupideces racistas e ignorantes en su blog.

Las relaciones incestuosas de Einstein no le restan méritos a sus aportaciones científicas. MLK Jr. y su comportamiento como hombre de familia no le resta mérito a su activismo. DHH y su ignorancia no le resta mérito a su desempeño como desarrollador de software.

No necesito que DHH sea un referente de la justicia social. El mundo es imperfecto, las personas somos imperfectas, y es un desperdicio de energía querer cambiarlas. No nos queda más que cultivar nuestro jardín.

Espero que Shopify y Ruby Central le den el cuidado necesario a la infraestructura de Ruby. Y en caso de que hagan algo cuestionable, aquí habemos progamadores para pasar página y empezar algo nuevo.

Proyectos isla

Al pricipio tenía pensado publicar esto en otro blog (yet another blog!) pero será mejor hacerlo por acá por tres razones:

  • estas notas son personales y el que no porten mi nombre no les quita utilidad
  • el proceso de subir un blog de Jekyll a GitHub es demasiado engorroso
  • con este proceso tendré que añadir la función de categorizar posts a Marfil, así su desarrollo sigue en marcha mientras me enfoco en otros proyectos

Así que sin más, acá presento un nuevo concepto para mis publicaciones. Lo llamo Proyectos isla.

En estas entradas quiero compartir notas y observaciones de tecnologías que voy estudiando. Por ejemplo, el framework Ruby on Rails incluye una extensa lista de paquetes como ActionPack, ActionDispatcher, ActionView, etc. Para entender el funcionamiento da cada pieza, me gustaría crear proyectos donde se usa cada paquete aislado del entorno Rails. A estos proyectos los llamaré Proyectos isla.

Esta página la actualizaré constantemente a modo de tabla de contenidos mientras desarrollo la función de categorías.

Próximos cambios a Marfil (alpha v3.1.1)

Hoy el cielo azul pálido de la tarde se ve precioso. El sol entra por mi ventana y cubre mi cama con una cálida luz color marfil. A la luz del sol todo se ve más vivo. Las hojas de los árboles en el camino de entrada de las casas de este vecindario se acurrucan al viento, y las nubes se esconden tras las tejas de los techos.

Estoy escuchando Sparks de Coldplay y siento un nivel ameno de sosiego ahora que escribo bajo los efectos de la pluma.

Mi color favorito es el lavanda. Esta tarde es color lavanda.

Anoche implementé el soporte para las categorías en los posts y estuve trabajando en la plantilla de muestra de Marfil. Por ahora la manera más fácil de empezar un nuevo blog es descargando la carpeta zip desde el repositorio en Codeberg y editar los archivos a mano.

Tengo que encontrar la manera de guardar los ajustes en un solo archivo para evitar que los cambios de imágenes y descripciones de los elementos <meta> deban hacerse a mano en las plantillas PHP.

Aún así, ayer me di cuenta de que el uso de PHP en las plantillas tiene gran valor y hace el desarrollo más flexible que usar lenguajes especializados como Liquid o Twig. En vez de procesar otro tipo de archivo (e.g., JSON o YAML) puedo crear un archivo PHP con toda la configuración. No lo sé todavía, seguiré pensando en ello.

Próximamente

  • La función principal que todavía no tiene Marfil es la creación de un feed RSS. Veré qué tan difícil será implementarla porque todavía hay código que me gustaría ir mejorando antes de hacer cambios mayores.

  • Añadir valores provisionales en los campos <meta> de las plantillas

  • Consolidar la sección <meta> en una sola plantilla parcial con ejemplos.

  • La gestión de imágenes en general

A largo plazo me gustaría evitar el uso de la terminal por completo. Ya que haya desarrollado la manera de configurar el sitio mediante el navegador desde un panel administrativo, Marfil estará listo para su primera versión pública, ¡porque por ahora todo esto es un experimento en desarrollo!

Un nuevo mes (ep 3)

Octubre empezó hace ochenta minutos y yo empiezo el mes escribiendo en BBEdit, porque así como existen usuarios de Linux que van de distribución en distribución (los llamados distro-hoppers) yo hago lo mismo con los editores de texto. Ya lo habrás notado, querido lector, desde aquellos días en que os platicaba de un programa que recién descubría llamado Bean. Tan solo en los últimos meses he escrito la mayor parte de este blog en Emacs, un editor que jamás había usado antes de este verano.

Descubrí que Emacs también corre en Android, así que esta semana he aprendido a configurarlo en mi tablet. Durante estos días he escrito mucho con la intención de compartirlo por acá, pero de alguna manera lo que escribí no terminó de convencerme. No supe bien cómo contarles de mi Galaxy Tab S7+, me da un poco de pena (en el sentido mexicano) pensar en que los aburriría contándoles algo tan ñono, pero la verdad es que me gusta mucho la idea de usar una tablet (con la cubierta con teclado) para hacer alguna «obra» (en el sentido más pequeñito de esa palabra).

Pero todo eso se queda en fantasía. Mi constante regreso al software de Mac cuando debo escribir algo importante confirma que la idea de escribir en una tablet sólo me gusta como un concepto abstracto de mis sensibilidades estéticas y para nada como algo práctico. Es como comprar boletos de avión. Es una actividad que se hace en el ordenador, no en el celular...

He dejado BBEdit y vuelvo a Emacs.

La idea anterior se queda a medio camino porque he decargado un theme que hace de Emacs un programa hermoso. Wow... ¡qué ganas de escribir por acá! La cosa es que ahora entiendo más de Emacs y poco a poco me vuelvo más hábil. Emacs es un software muy confuso, y mi problema (creo que aludí a esta idea en los borradores que dejé en mi tablet) es que tiendo a querer entender un sistema por completo antes de usarlo.

Eso me pasó con Ruby on Rails –no me sentí lo suficientemente bueno para realizar grandes proyectos hasta completar una versión sencilla de los mismos en PHP y Sinatra— así sentía que entendía los componentes y por tanto la utilidad de un framework como Rails. Y sí, tiene gran valor saber cómo funciona cada elemento del sistema, pero vi una charla de una conferencia de PHP que me gustó mucho en la que el presentador exhorta a la audiencia a confiar en el framework y así seguir avanzando con sus proyectos. Un framework es una herramienta y se aprende con el uso, no con rodeos teóricos ni tratados al respecto. No hay como urgar entre el código fuente de un programa para entenderlo, y de la misma manera no hay como escribir el código fuente de tu programa para crearlo.

Apenas son las 2:24AM y ya me está ganando el sueño... hoy hablé con K por teléfono durante casi tres horas.

Hasta aquí el episodio de Conticinio de hoy, iré editando el post para añadir enlaces donde hagan falta.

¡Muchas gracias por leerme!

Los viejos tiempos

Estoy programando ahora mismo y pienso en esa frase de que uno nunca sabe cuando esta viviendo los buenos viejos tiempos hasta que ya han pasado. Eso lo pienso en el contexto de la programación porque la manera en que estoy gestionando los errores en una función del programa esta muy mal, es gracioso porque es ridículo, pero miren por ejemplo esta manera de capturar errores JAJA:

Captura de pantalla código
La función que actualiza los feeds RSS

¡Qué lindo poder escribir código así por ahora!

También estoy aprendiendo que un proc en Ruby es una referencia a un bloque de código, por ejemplo:

double = Proc.new { |x| x * 2 }
double.call(5)

Lo veo en el contexto de limitar el número de posts por feed (máximo 3 por ahora) y estoy usando este código: posts.group_by(&:feed_id) lo cual es equivalente a

posts.group_by { |post| post.feed_id } 

En Ruby, el operador & convierte un bloque en un proc, y el símbolo :feed_id es el método que queremos aplicar.

Todo esto junto convierte el método en un proc para pasarlo como parámetro al método group_by.

Un capítulo nuevo

Este sábado pasado fue la boda de mi primo, un evento que causó mucho estrés para todos los invitados por los constantes cambios y la falta de comunicación por parte de la organizadora. El viaje a aquella ciudad vieja en que me crié me llenó de nostalgia y a la vez de desilusión por el mal estado en el que se encuentra.

Hoy miércoles escribo del otro lado de esa fecha y eso significa que ahora empieza una nueva etapa. Dejo detrás todo lo malo de este verano y recibo con brazos abiertos todo lo mejor del porvenir.

Me pasó algo extraño durante la cena del sábado. Junto a mí se sentó alguien que me gustó. Hubo una química innegable e inexplicable. Pasé toda la boda queriendo platicar más con ella y ella conmigo. Seguramente no estoy loco... ¡algo debió haber sentido ella también! En el camino de regreso a casa estuve haciendo una playlist con canciones con las que me sentí identificado o que de alguna manera me recuerdan a ella.

Hoy martes después de mi junta con Ilya salí a caminar un poco. Quiero seguir haciendo ejercicio y estando activo para tener más energía y dedicarme bien a mis proyectos.

Ya es noche y es hora de descansar, pero no quería que pasaran más días sin escribir por acá. Ayer antes de dormir leí un poco de La insoportable levedad del ser de Kundera. Quiero escribir más. Creo que lograré desenmarañar estos sentimientos con un cuento. Yo me entiendo.

Atención Dividida

Todo demanda mi atención y me es difícil concentrarme en una sola cosa...

Por la noche después de trabajar leí La Condena de Kafka porque Enrique Vila-Matas menciona ese cuento en el prólogo de su libro París es para siempre.

La leí en este sitio porque no me había dado cuenta de que ya tenía una copia en físico en el libro de La metamorfosis que compré en Ciudad de México hace unos años. Resulta que el libro también incluye otros cuentos.

Ayer hice algunos cambios mínimos en Marfil para implementar el feed RSS. Todavía me falta hacer ajustes en la fecha porque antes la escribía a mano, por ejemplo ponía jueves 9 de octubre 2025 en el front matter y ahora he cambiado el generador de posts para que aparezca con el formato RFC3339 de Atom, así que se ve así: 2025-10-09T11:48:34+00:00. Pronto tendré que implementar la conversión a un formato más legible para humanos, pero no es urgente aún. En cuanto a la hora local... la he cambiado en esta ocasión pero seguramente será mejor implementar un ajuste para ello. El desarrollo de software nunca trae nada nuevo... ¡siempre trae algo mejor!

Poco antes de terminar el cuento me dio mucho sueño y me dormí. Eran como las ocho de la noche y desperté a la una. Estuve un par de horas en mi celular viendo Twitter. Borré Instagram de mi celular pero por supuesto me siguen ganando las ganas por encontrar novedades. Es un auténtico miedo a perderme algo importante, muy estúpido realmente. A las cuatro de la mañana decidí ir a comprar cigarrillos y una pluma igual a la que Gael compró el mes pasado. Le di un par de ligeros toques y ahora me siento enfocado y activo... ¡¿qué rayos?!

Ah, ¿qué creen? ¡Estoy usando Sublime Text para escribir este post! Se me ocurrió durante la junta con Ilya porque se agarró platicando de su último viaje de pesca mientras resumíamos con el proyecto de Rails del lunes y mientras hablaba descargué Sublime y lo usé para el proyecto y eso me hizo pensar en un post de Bradley Taunt (no lo encuentro ahora mismo) sobre su uso del mismo editor aunque no sea de código libre y abierto. En resumen, es porque el editor es muy bueno. Y tiene toda la razón... Emacs es genial pero también es una inversión gigante de tiempo. Con Sublime lo único que he cambiado es la fuente (de Courier a Menlo) y eso ha sido suficiente para trabajar con un proyecto de Rails y ahora mismo con Markdown para escribir este post.

Próximamente para Marfil quiero implementar el servidor con recarga automática cada vez que haya cambios en los archivos del proyecto.

Sublime Blog

Como mencioné en el post anterior, desde ayer he usado Sublime Text. Me dio curiosidad ver la primera versión del website y así vi que hay un blog del proyecto. ¡Parece tan obvio! Pero no hay mejor manera de sentirse más cercano a los autores de un proyecto que leyendo sus ideas, comentarios, decisiones y también de su vida personal.

Vean esto por favor:

Screenshot del blog de Sublime en 2008
Sublime Blog en 2008

El mismo autor de Sublime Text nos platica que recién se ha casado. No recuerdo la última vez que vi algo así. Un blog con comentarios será absolutamente necesario para mis proyectos.

Ya es hora de decidirse

En mi homepage de YouTuve veo entre mis recomendaciones un video con la frase «Hora de decidirse» en relación al lateral de la selección mexicana rumbo al mundial del próximo año.

Y eso me hace pensar en cuántas decisiones importantes no habrán sido tomadas abruptamente con la intención de saciar la desesperación y expectativas fabricadas por programas de televisión.

Tomemos por ejemplo esta situación. La federación mexicana de fútbol se ve presionada por periodistas amarillistas a seleccionar un jugador para la posición de lateral aunque realmente la fecha para presentar las alineaciones finales no es hasta una semana antes del inicio del mundial, el 11 de junio de 2026.

Esto fue lo que FIFA publicó durante el mundial de Qatar:

The 32 teams competing in the tournament must submit their squad lists to FIFA by 14 November at the latest, i.e. one week before the start of the FIFA World Cup Qatar 2022™.

Todavía tiene tiempo el equipo directivo para hacer el seleccionado final con jugadores que muestren estar listos.

Pero esto es fútbol solamente. Ahora pensemos en situaciones realmente importantes de política donde se llegase a legislar como respuesta a exigencias falsas que algun programa haya popularizado por capricho.

Hmm...

Crónica de un fin de semana en un lunes

B ha olvidado que no hace mucho escribió sobre abrir su ventana para disfrutar del día al compás del sol. Inconcientemente ha dejado pasar los días desde su regreso de México con la ventana y las cortinas cerradas. Hoy abre su ventana y escucha el viento recorrer las calles cerradas de su colonia, que sopla tan fuerte que incluso las voces de algunas mujeres llegan hasta su habitación en el segundo piso de su casa.

El fin de semana lo pasó con su novia, K. La noche del viernes fueron a bailar a un evento en el Brooklyn Bowl que celebraba el lanzamiento del nuevo disco de Taylor Swift. Como esa noche cayó una tormenta eléctrica, eligieron pedir un coche. Regresaron a casa de K alrededor de medianoche. Tenían planeado cenar con Sandy, la amiga de K, y conocer a su nuevo novio, pero Sandy se lesionó el tobillo al resbalar por las escaleras del inmueble. Los miembros del personal la vieron sentada en los escalones rodeada por el grupo de amigas y le ofrecieron pasar a la zona del boliche. Le trajeron una bolsa con hielo y el resto de la noche lo pasaron junto a Sandy apartados de la pista.

Brooklyn Bowl
Brooklyn Bowl

Cuando regresaron a casa, K y B vacilaron entre cenar algo o ducharse juntos, pero después de cambiarse y tender la cama los dos quedaron dormidos enseguida.

Sábado

Despertaron a las once de la mañana. No tenían un plan determinado para el día. Desayunaron un panecillo inglés con salchicha y huevo acompañado con pollo y después salieron a pasear al centro comercial. B iba distraído porque quería ver el partido de cuartos de final del mundial sub-20 entre Argentina y México. Por la tarde fueron a Crown & Anchor, un pub que suele pasar los partidos de fútbol. Ambas selecciones de México perdieron sus partidos. La selección mayor se midió ante Colombia en un juego amistoso. El primer partido quedó en dos a cero favor Argentina. El segundo partido lo ganó Colombia cuatro a cero.

Después del pub B y K fueron a la plaza donde se celebró el Festival de Artes.

Domingo

Por la mañana B tuvo su junta con Molie y después pasó el día programando intermitentemente entre los dos proyectos que lo ocupan, Marfil y Oderess. Hizo algunos cambios a la plantilla principal de Marfil porque le interesa pasar su sitio personal de Jekyll a su generador de sitios estáticos. Sigue sopesando cómo mantener un blog en inglés y español. Duda si es buena idea o no hacerlo, en especial cuando quiere escribir sobre asuntos profesionales y personales. Aún no se decide, pero ha empezado a pasar entradas de su blog a Marfil.

Lunes

B le dedica casi una hora y media a esta entrada en su blog antes de su junta con Ilya a las cinco de la tarde. Termina de tomarse un café.

Comida rápida

He hecho un pequeño cambio en el generador y así la fecha y hora en formato RFC3339 aparece con la zona horaria correcta.

Acabo de comer. Me serví un plato pequeño y pienso comer poco para que todo me haga digestión bien, más porque ayer comí mucho pan (un Subway como almuerzo y por la noche otro sándwich).

El día de hoy he comido jamón y un platillo con pollo, brócoli, coliflor y arroz blanco. ¡Lo que me ha sorprendido es que terminé de comer en cuatro minutos!

7:04 - Comí un poco de pollo del que desayuné y estuve botaneando totopos mientras me preparaba un té de manzanilla. No pienso comer más hasta mañana.

Conticinio desde mi máquina de escribir

Sigo disfrutando de Emacs como mi principal editor de textos en prosa (complementado por Sublime Text para la programación) y le he dedicado unos minutos a categorizar los posts del blog, lo cual me llevó a crear la categoría Retroinformática para esas ocasiones en que estuve compartiendo mi reencuentro con la MacBook Air del 2015. Desde que instalé los temas Ellas y Cappucino Noir me he sentido muy cómodo escribiendo por acá.

El episodio de Conticinio de hoy por la noche lo escribiré en aquella laptop (ahora mismo escribo en mi ordenador principal). Si he dejado de usarla es porque aunque me encanta la idea de escribir en un sistema hermético y evitar distracciones, transferir los borradores a este ordenador para editarlos es un proceso engorroso. Pero vale la pena mencionar que mis mejores posts en este blog han sido redactados por allá.

Una perspectiva breve (ep 4)

Bienvenidos a un episodio más de Conticinio, el programa donde escribo durante la hora de la noche en que todo esta en silencio. Son las 2:15 AM y hoy mi pantalla se ve genial. Siento que estoy escribiendo en una máquina soviética de la Guerra Fría. Recién le he instalado el tema Somnus a mi Emacs y eso le ha dado una buena manita de gato a la interfaz.

No sabía cómo iba a estar la situación de mi conexión SSH y de Git en esta máquina, pero al parecer todo funciona muy bien. Al intentar ejecutar Marfil por acá me aparece un error de que la función de PHP str_ends_with() no existe, pues mi versión en esta laptop es PHP 7.3.11 y con Homebrew no pude instalar una versión más nueva.

Eso significa que aunque puedo crear nuevos archivos en el repositorio y sincronizarlos con Codeberg, no puedo generar el sitio (y por lo tanto ver una versión de mis cambios con el servidor local) desde esta laptop. Pero está bien, aquí puedo escribir los "borradores" y pasarlos a mi ordenador fácilmente —los toques finales tendrán que ser aplicados desde mi laptop.

Pero bueno, ese es otro tema, y no le dedicaremos tanto tiempo a esas cosas técnicas.

Os pregunto algo sencillo que hoy me ha hecho pausar un momento para considerarlo. ¿No será que la IA generativa ha recibido inversiones de dinero en cantidades colosales porque su logro hará de la impunidad el status quo en el ciberespacio? Cualquier acto o crimen captado en cámara podrá ser hecho a un lado con indiferencia si el acusado se ampara diciendo que el video fue generado por una IA. Desconozco si existen leyes para prevenir ese tipo de abuso, pero no me sorprendería ver casos así en los próximos años.

Hoy hice algo curioso con este blog y ChatGPT. Admito que me ganó la curiosidad... quise ver qué análisis me podía dar el servicio acerca de este blog y los temas que se abordan aquí. Me gustó el resultado. Le di la dirección web y al parecer leyó los posts y la estructura semántica del HTML.

No comparto aquí los resultados textuales porque a nadie le gusta leer texto ajeno generado por un modelo de lenguaje grande, pero creo que fue un ejercicio interesante para ver este blog desde otra perspectiva.

Ahora me despido, el episodio de hoy ha sido muy corto porque ya había escrito el resumen del fin de semana más temprano y sinceramente ya no me quiero desvelar tanto.

¡Buenas noches!

Markdown de John Gruber

¿Saben qué estuve viendo ayer? Mientras leía este blog en mi Galaxy Tab antes de iniciar la junta con Ilya pensé en John Gruber y su blog DaringFireball, lo que me llevó a leer la nota en que anuncia el lanzamiento del proyecto.

John Gruber, DaringFireball.net — 17 diciembre 2004:

Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid HTML.

Thus, “Markdown” is two things: (1) a plain text formatting syntax; and (2) a software tool, written in Perl, that converts the plain text formatting to HTML.

La última oración fue la que llamó más mi atención. Al principio de la nota Gruber incluye un link para descargar una carpeta comprimida con la versión 1.0.1 de Markdown. Incluye tres archivos:

.
├── License.text
├── Markdown\ Readme.text
└── Markdown.pl

Pronto después tuve que trabajar, pero quisiera dedicarle un rato a leer el código fuente. Jamás he usado Perl pero sería interesante entender la influencia que tuvo en PHP y Ruby. Perl prefiguró a esos dos como lenguaje principal para el desarrollo web, y según he leído ambos derivan parte de su diseño de Perl.

Esto me lleva a preguntarme cómo sería un episodio de arquealogía de software escrito. Me gustaría ir tomando secciones del código y analizarlas en público en este sitio bajo la categoría «arqueología de software». Tendría que maquetar algo primero hasta tener una buena idea. Veré libros de programación como referencia. ¡Si he usado tantos!

Café Bucareli

La primera hora después de los dos toques que le di a la pluma después de desayunar hoy estuvo brava.

Llegué a casa a las seis de la mañana y dormí hasta la una más o menos. Anoche fue el cumpleaños de la abuela de K y estuvimos celebrando en casa de sus tíos.

Estoy viendo la final del mundial sub-20, Marruecos se pone 2-0 contra Argentina al minuto 79.

La manera más fácil de normalizar algo es no haciendo hincapié en ello.

Me gusta el nombre Café Bucareli para un blog.

Durante las primeras horas del viernes publiqué la nueva gran actualización de Oderess. Estuvo lento el proceso de las primeras horas. La única mala noticia digamos fue que uno de mis usarios me envió un e-mail con algunas quejas de la nueva versión, pero como la última versión del servicio sigue funcionando le envié el link y así me permito implementar optimizaciones a mi ritmo. Tenía toda la razón en cuanto a su queja. Había hecho un diseño a dos columnas que no hacía scroll más allá de lo que cabía en la pantalla, y para ver más información era necesario seguir haciendo scroll con el cursor dentro de cada ventana. Un proceso horrible, por supuesto, y ya he corregido ese error. ¡Mal ahí que dejé pasar ese detalle en mi UI!

¡Marruecos ganó el mundial!

Y yo ya me siento más yo.

Otra gripe y la percepción de la depresión

Una vez más despierto con problemas respiratorios. Es evidente que ya no puedo seguir fumando, al menos no mientras mi cuarto esta lleno de polvo. Ya que lo termine de descombrar otra historia será. En esta ocasión tengo flemas y una intermitente congestión nasal.

Tuve una interacción con mi hermana que no me gustó. Mientras me preparaba un té de manzanilla para suavizar la garganta, le pregunté si estaba enojada en múltiples ocasiones porque continuaba ignorándome, y ella respondió que no podía seguir preguntándole o diciéndole lo mismo. Es como si yo te dijera «estás deprimido, estás deprimido», dijo. Por supuesto, ya no estoy deprimido, aunque pasé gran parte del año en ese estado. Aunque me gustaría ignorar su comentario, debo admitir que me dolió.

Ahora me preparo para ducharme. He estado anotando cuando tomo las medicinas. No es nada como la vez pasada, esto es mucho más leve, por eso sé que se debe al polvo y no a algún tipo de infección. Mis síntomas casi desaparecen cuando no estoy en mi habitación. Curioso…

Ducharme me trae tranquilidad y puedo respirar más fácilmente.

Anoche antes de dormir leí La gallina degollada de Horacio Quiroga. Me impactó mucho. Creo que yo la había leído, pero quizá no con el detenimiento de ayer. Un gran cuento de terror, sin duda. En este mes me gustaría leer más cuentos de terror.

Más vale ahora que nunca

Escribo esto por la tarde del jueves. Me siento mejor, he llevado bien la gripe que me estuvo molestando esta semana y ahora solo me queda una congestión nasal y flemas de vez en cuando. ¡Muy molesta situación!

Volví a escribir en mi blog profesional, creo que ya me siento más tranquilo entendiendo la división entre mis blogs. Por acá, anónimamente (el anonimato realmente no existe en internet, no olvidemos eso) escribo en español y para mí solamente. En mi otro blog escribo en inglés y presento una imagen más profesional. Es bueno mantener ambas facetas separadas. Me gusta.

Escribo ahora mismo porque sé que este fin de semana no podré escribir. Hay tantos eventos y compromisos que no hay tiempo para todo. Mis fines de semana duran muy poco ya. Las últimas tres semanas he pasado viernes y sábado con mi novia, lo cual me deja solamente cuatro días hábiles para hacer lo mío. Como no tengo un horario fijo de trabajo, a veces siento que no me queda tiempo para hacer lo mío. Lo cual es verdaderamente una falacia. El tiempo esta ahí. Lo que pasó fue que me enfermé, y así estuve descansando y haciendo muy pocas cosas mientras convalescía. Todo eso no tiene nada que ver con mis compromisos del fin de semana.

En fin, creo que ahora me queda claro que tengo una moderada influencia en el mundo de la web independiente. Varias personas leen lo que escribo y discuten mis opiniones. He enviado correos electónicos a figuras que yo considero importantes dentro de los círculos que leo. Poco a poco más personas descubren el mundo digital que voy hilvanando con mis palabras y mis proyectos.

Eso me hace feliz.

Una publicación popular

El lunes desperté y vi que uno de mis blogs tenía un gran número de visitas. Resulta que uno de mis lectores había enviado uno de mis posts a Hacker News (HN), y este post se volvió el más votado en ese sitio. Fue leído por más de 26,000 personas y generó más de 400 comentarios.

Me enteré cuando una solicitud a Oderess mencionó que había descubierto el sitio a través de HN.

Todo esto fue muy interesante y he aprendido lo siguiente en cuanto a los blogs:

  1. No importa el dominio, sino el contenido
  2. No importa el autor, sino el contenido
  3. Sin agregadores no hay descubrimiento

Cuando alguien comparte un blog post, esta diciendo que una idea es importante o que esta de acuerdo con ella. Estas dos opciones a veces son mutuamente excluyentes, la intención es dar visibilidad a textos que comuniquen algo que marque diferencia o que desencadene discusiones.

Sin HN o Bear Discover, muchas publicaciones interesantes pasarían desapercibidas. Todavía no existe una buena manera de centralizar las múltiples discusiones que salen de publicaciones populares. HN lo logra en temas de tecnología, pero para todo lo demás, ¿cómo hace uno para comentar un blog? Los comentarios en los blogs ya no se usan, incluso algunas personas como Marco Arment los desacreditan por completo llamándolos «grafiti digital».

Queda seguir buscando soluciones a ello, aunque quizá sea una tarea en vano. ¿Deberá realmente existir una red de comunicación que muestre todo lo que se diga acerca de una publicación? ¿Vale la pena preservar eso? ¿Acaso son valiosos realmente todos los comentarios que se hacen acerca de una idea presentada en un blog?

Referencias del pasado

Hoy por la tarde saldré con K. He actualizado muchas cosas en Oderess y todo empieza a salir muy bien. Hoy en el blog Cybercultural de Richard MacManus estuve aprendiendo sobre la era de los blogs en el año 2001, lo que me llevó a descubrir Blogdex, un sistema para rastrear los temas de discusión en la blogósfera durante la época.

Traducción de la página de Wikipedia de Blogdex:

El sitio ofrecía una lista de enlaces a contenido en línea citado por más de un blog. Cada enlace recibía una puntuación basada tanto en el número de blogs diferentes que lo citaban como en la novedad de esas citas; por lo tanto, la lista generalmente presentaba tanto las rarezas populares del día como material de origen informativo y/o controvertido de temas actuales de debate público. A pesar de su enfoque explícito en los blogs, se puede considerar como el rastreador de memes original y la inspiración para sitios comerciales posteriores como tailrank.com, Digg.com y otros sitios de redes sociales.

Todo eso me hace pensar en posibles funciones para añadir a mi programa.

Otra cosa que llamó mi atención fue encontrar el blog de RuPaul en la página de inicio de Blogdex. Es difícil comprender lo popular que eran los blogs en esos tiempos, y tampoco era algo exclusivo para los fanáticos de la tecnología. Era algo común y aceptado por la población en general, la idea de compartir nuestras vidas a través de la escritura en sitios que nos pertenecían exclusivamente a nosotros.

Blog de RuPaul
Blog de RuPaul en 2001

BBEdit

Este post lo escribí en BBEdit. Llevo un par de días usándolo y la verdad me está gustando mucho. Poco a poco descubro más de sus funciones. Me hubiera gustado dedicarle más tiempo mientras tenía la licencia de prueba, porque ahora mismo solamente me queda la versión gratis.

Una de las cosas que quería averiguar era cómo desplazar la ventana de edición más allá del final del archivo, así el último renglón del documento que estoy editando quedaría a la mitad de mi pantalla y no tendría que inclinar mi cuello tanto para leerlo. Esa función la uso mucho en Emacs y ahora ya ha quedado igual por acá :-)

Me encantó ese documento y me gustaría leerlo con detenimiento, pues se me ha hecho muy profesional y claro.

Sábado de béisbol y videojuegos

Ayer salí con Gael y Coleman. También fue la final de la Serie Mundial de béisbol y fuimos a un bar inglés llamado Crown & Anchor a ver el juego. Este bar se ha vuelto uno de mis favoritos. La última vez que fui fue para el partido de Argentina y México en cuartos de final del mundial sub-20 (Argentina lo ganó 2-0). Ese día fue un 11 de octubre, y en esa ocasión no me di cuenta de que había dejado mi tarjeta de débito en el bar... no lo noté hasta el 25 de octubre que fui con K al cumpleaños de Sandy.

¡Ayer le pregunté a la camarera si tenía mi tarjeta y me la trajo enseguida! Me siento mucho más tranquilo sabiendo que estuvo a salvo todos estos días.

En todos los televisores tenían el juego entre los Dodgers y los Azulejos de Toronto. Juego siete de la Serie Mundial, empatados 4-4 en la novena entrada. En el bar todos eran hinchas de los Dodgers. Yo le iba a Toronto por apoyo al catcher tijuanense Alejandro Kirk que ha tenido una excelente temporada. Me encantaba la calidad de los jugadores de Toronto en relación a su juventud y experiencia. Por ejemplo el lanzador novato Yesavage tuvo un juego 5 increíble, ponchando a bateadores como Freeman y Otani y llevando a su equipo a una esperanzadora victoria que extendió la serie a un par de juegos más disputados en Toronto. Aún así, eso no fue suficiente. En la onceava entrada Will Smith bateó un jonrón al jardín izquierdo de 366 pies y le dio el campeonato consecutivo a Los Ángeles. Una gran serie sin duda. Incluso para mí, un fan casual del béisbol, fue un deleite ver el talento de ambos equipos, y por supuesto vivir esa final en un bar electrificó la emoción y me dejó con un lindo recuerdo.

Gael llegó poco después del final del partido. Estuvimos platicando gran rato, no nos veíamos desde el 12 de septiembre que fuimos a jugar billar. Es increíble lo fácil que es perder el contacto con los amigos conforme pasa el tiempo, incluso viviendo en la misma ciudad.

A las diez de la noche el bar tuvo un juego de trivia, el tema fue de preguntas relacionadas con la memoria, y así conocimos a un par de ingleses que trabajaban para la Formula 1. Del 20 al 22 de noviembre será el Gran Premio y ellos se dedican a la logística de instalar la pista en el Strip y también a removerla después del evento. Nos platicaron de sus experiencias con el sistema migratorio de EEUU porque han tenido muchos problemas con sus visas de trabajo.

Después de Crown & Anchor fuimos a Player 1, un bar con temática de arcade. Tienen docenas de video juegos, desde máquinas de arcade de los setenta y los ochenta hasta consolas como el Nintendo 64, GameCube, PlayStation, Xbox.

Player 1 Arcade
Player 1 Arcade

Estuvimos jugando un par de horas, lo más divertido fue Halo Reach y Call of Duty: Modern Warfare 2. ¡La nostalgia de MW2! Recuerdo cuando mi primo traía su PS3 a la casa de mi abuela y jugábamos torneos entre mis primos y yo. Me encantó revivir viejos mapas como Terminal, Rust, Highrise.

Modern Warfare 2
Partida de Modern Warfare 2

A las dos de la mañana acabó el horario de verano y regresamos el reloj una hora, así que llegué a mi casa un poco después de la una de la mañana y me quedé leyendo algunas publicaciones en Oderess un rato antes de dormir.

Botella de agua

Desde hace unas semanas he tenido ganas de darle una botella de agua a la cartera. Siempre llega alrededor de la misma hora, hoy fue a las 12:45pm. En cuanto vi que llegó bajé de mi oficina para coger un par de botellas de agua y salí. La saludé y le dije que le quería ofrecer agua ya que notaba que todavía se sentía el calor. Me dijo «Yes! I'd love some» con una sonrisa, y le di el agua. Simple, pero sentí bonito. Ya tenía tiempo que quería hacer eso.