Sobre Smartphones, Facebook y la falta de atención

«Todos los problemas de la humanidad proceden de la incapacidad del hombre para permanecer sentado, en silencio, a solas en una habitación.»

– Blaise Pascal.

Escribo estas líneas en un Starbucks. Delante mío puedo ver a personas sentadas, en silencio, con sus rostros iluminados por una pantalla. Un hombre de más o menos mi edad con un iPhone. Una señora entre 40 y 50 años conversando a través de un Android. Un jovencito con gafas pulsando botones en un Nintendo 3DS. Los observo sin que ellos se den cuenta, agachados y distraídos de lo que sucede a su alrededor. Entonces sigo tecleando, irónicamente, con mi rostro iluminado por una pantalla aún más grande.

He vivido una buena parte de mis 42 años sin ningún smartphone, pero tal parece que hoy soy incapaz de vivir sin uno. Adultos, jóvenes y niños tienen acceso 24 horas al día, 7 días a la semana a un aparato conectado a Internet. Esto es un fenómeno que, hace diez años atrás, no existía.

Basta alzar la cabeza (y no lo digo muy figuradamente) y mirar alrededor nuestro para darse cuenta que vivimos, como dice Cal Newport, en un estado de constante distracción. Nos hemos vuelto intolerantes al aburrimiento. Ante cualquier ápice de incomodidad desbloqueamos el celular para revisar si hay algo nuevo. Lo primero que hacemos al despertar y lo último que hacemos al acostarnos a dormir es revisar Facebook. Craig Mod escribió, «Hay miles de maneras hermosas de iniciar el día que no empiezan con mirar tu teléfono. Y aún así pocos elegimos hacerlo.»
Ya no «vivimos el momento.» El observar, reírse y gozarse de algo que está sucediendo ha sido reemplazado por una foto, un video, un selfie. Todo lo que sucede lo observamos a través de la pantalla. Estamos allí sin realmente estar allí.

Crédito: Boston Globe via Getty Images

No somos capaces de ir a ningún lado — ni siquiera cruzar al otro lado de la habitación — sin tener nuestro celular con nosotros. La soledad se ha vuelto insoportable. Sin aquel rectángulo mágico sentimos ansiedad e inseguridad, no sabemos qué hacer.

Estamos ocupados en una actividad y al mismo tiempo conversando por Whatsapp con otra persona, con la atención dividida, sin concentrarnos en una sola cosa. Y estamos perdiendo esto último: la capacidad de poder concentrarnos, de enfocarnos profundamente en una tarea. Nos hemos acostumbrado tanto a la distracción, a las notificaciones, a la vibración, que cuando no ocurre ninguna de estas cosas, instintivamente cogemos el celular para corroborar que no hay ningún mensaje o, peor aún, buscamos voluntariamente algo nuevo para aplacar el deseo y sentirnos bien. Es una adicción.

Sí, Facebook produce una reacción en nosotros similar a la de un adicto a las drogas. Y esto no es una opinión, sino un hecho respaldado por numerosos estudios. Lo mismo se aplica a otras redes sociales (e.g. Twitter, Instagram, Snapchat, Whatsapp, Reddit, Slack) o actividades (juegos, Youtube, Netflix). El hecho es que cada una de estas cosas tiene el potencial de producir en nosotros el rush de dopamina que, a largo plazo, daña nuestro cerebro y comportamiento en maneras terriblemente nocivas.

Al ser consciente de este fenómeno veo con pena y disgusto cómo otras personas caen rápidamente en un estado catatónico frente al celular. Muchachos sentados juntos y a la vez tan separados, cada uno en su propia burbuja, ignorándose e inconscientes de la rudeza de la situación.
Quiero decirles que esto es anormal. Que es maleducado e inaceptable ignorar a la persona que tienes delante. Que debes darte cuenta que tienes un problema.
Pero cuando menos me doy cuenta, mi hijita me está hablando y la estoy ignorando por responder a algo gracioso con ese Emoji que se ríe hasta las lágrimas. Ella quiere jugar conmigo y le digo, molesto, que espere, para luego reírme con algo gracioso que alguien, que no está presente, compartió.
Un día en el futuro estaré sentado a la mesa con mis hijos y ellos me ignorarán, enfrascados en su mundo, ojos pegados a sus pantallas, audífonos en sus orejas, respondiéndome en monosílabos. Y cuando les pida que me escuchen, recordaré que yo hice lo mismo con ellos hoy.

Oh, no.

Si quiero cambiar ese futuro, debo actuar ya. Si quiero controlar y enseñarles a controlarse en el uso de estas nuevas tecnologías debo empezar por mí mismo, ya mismo.

Así que ya empecé. Con Facebook, mi problema más grande.

Varias veces he intentado controlarlo para volver a recaer. Estuve muy cerca de borrar mi cuenta. Lo que finalmente ha funcionado — para mí — fue desinstalar la aplicación de mi celular y hacer unfollow a todos excepto a mis familiares cercanos. Mi News Feed es tan corto ahora que, al final de éste, sale un mensaje nuevo que dice: «You’ll have more stories in News Feed if you add more friends.» You’re so funny, Facebook.

¿Qué cambios han ocurrido? Bueno, hay cosas de las cuales no me entero, o me pongo al tanto más tarde que los demás. Cuando llego a enterarme de algo es porque tiene un alto grado de importancia (como el nacimiento de un bebé); y si no llego a enterarme es porque este otro algo forma parte del 90% del contenido usual de Facebook: memes, chistes, publicidad, noticias virales, linkbaits, etc. Eso es una gran mejora.
Por otro lado, ya no estoy tan ansioso. Me siento más libre, de hecho. Siento que ya no tengo que estar al tanto de todo ni contabilizar cuántos Likes obtuvo mi foto. Tengo más tiempo. En serio, es sorprendente la cantidad de tiempo que uno pierde en Facebook.

Curiosamente, nadie se ha dado cuenta de mi ausencia. Al menos nadie ha preguntado por mí directamente. La vida continúa, el mundo sigue girando y las noticias llegan igual. Pensé que si necesitase estar al tanto de la vida de algún amigo, podría buscarlo igual en Facebook y ver su Timeline. Eso hice con alguien y encontré que nada importante había ocurrido. Algunas fotos interesantes, pero ninguna razón de peso que me haga reconsiderar.

Se puede vivir sin Facebook. Aún no estoy seguro si debo aceptar las nuevas solicitudes de amistad. De las docenas que están esperando, solo una persona me lo mencionó al respecto.

Sigo teniendo instalado Facebook Messenger en mi celular, pues es el único medio de contacto que tengo con ciertas personas. Para mí no es un problema pues me hablan muy poco y siempre para cosas puntuales.
Seguiré atacando otros puntos problemáticos. He bajado un poco la guardia. Mi hijo sigue creciendo y me sirve de recordatorio que debo apresurarme de alcanzar cierto control y equilibrio para impartir a mi familia.

La clave, como muchas cosas de la vida, está en la moderación y el autocontrol.

Estas son algunas lecturas interesantes sobre el tema. Y si encuentras difícil leer textos “tan largos,” quizás sea un indicio de cuán fracturada está tu atención:

Finalmente, este video vale más que mil palabras.

De blogs, el pasado y cambios

Acabo de terminar de leer todo mi blog, de principio a fin. ¡Cómo he cambiado! Hay varios posts que me dan vergüenza, jaja, era demasiado irreverente.

Y no solo yo, muchas cosas han cambiado. La persona común no tenía ni celular ni mucho menos acceso a internet. En esas épocas había que convencer a las empresas que necesitaban una página web, diciéndoles que es el futuro, y pocos apostaban. Hoy todos tienen al menos una amiga vendiendo ropa por Facebook.

Los blogs estaban en un proceso de maduración. Recién los feeds RSS se estaban estableciendo, junto con los Trackbacks. El concepto del tumblelog fue absorvido por los motores de blogs, haciendo el feature característico de Tumblr irrelevante.

Oliver y yo blogueábamos en nuestra burbuja, ignorantes que había toda una galaxia de blogs peruanos. Eramos pioneros sin saberlo.

Lo que me sorprende es la cercanía que teníamos entre bloggers, bastaba hacer una pregunta a alguien en mi blog y él o ella respondía en su propio blog o en un comentario. Nos leíamos unos a otros, facilitado por los Planets.

Me hace gracia leer cuando abrí mi cuenta en el muy nuevo Twitter, quien junto a Facebook eclipsaron los blogs, centralizaron la información y nos convirtieron en productos. Anhelo ver el día que Facebook caiga tan rápido como subió y recuperemos el control de nuestra información y privacidad.

No recordaba para nada que había escrito en mi blog cuando empecé a leer Dune de Frank Herbert. Ahora ya sé que fue Savre quien me convenció de leer el libro; hasta entonces sólo conocía algo de Dune por los juegos de Cryo y Westwood para PC y la película de David Lynch (y estoy cruzando los dedos para que el próximo remake tan bien como Blade Runner 2048).

Me he inspirado a mí mismo (jaja) y estaré retomando prácticas de antes como publicar fotos casualmente o escribir posts super breves.

Me sorprende que muchas veces he dicho que debo escribir más en mi blog. Está claro que siempre he estado descontento con mi output y siempre el pasado me ha parecido mejor.

Sin querer soy dueño de una reliquia de internet, pues vengo escribiendo en mi blog desde el 2001. Muchos websites y blogs ya no existen, hay links rotos por doquier. Algunos se han mudado o cambiado sus permalinks y algunos pocos aún siguen de pie.

Espero que los blogs resurgan, sin importar si es con otro nombre. Aquí en mi rincón de internet, yo haré mi parte.

Dos anuncios importantes

Primero, como ya adivinan, he decidido retomar mi blog. Sí, otra vez. No prometo escribir con mucha frecuencia, pero sí prometo no volver a abandonarlo por casi un año.

Segundo, voy a escribir también en inglés. Quiero llegar a una audiencia más grande y, de paso, mejorar mi inglés escrito.

Mi Journal Comic: 2019

Este 2019 me he propuesto volver a actualizar regularmente mi Journal Comic. El 2017 no publiqué ni un solo comic y me tiene descontento. No volverá a ocurrir.

He estado implementando mejoras al motor detrás de todo Retrazos, ahora es una aplicación Zend Framework 3 en lugar del obsoleto Ruby on Rails 1.6. Ha sido una buena oportunidad para hacer refactoring y ordenar todo: la separación de secciones (antes todos compartían las mismas tablas), Unit Testing, una mejor arquitectura, etc.

Aún tengo tareas pendientes, pero mi enfoque está en tener mi Journal Comic funcional, tanto en la parte pública como en la sección privada de administración.

He hecho un cambio que va a romper muchos enlaces pero lo veía necesario: he renombrado varios tags según reglas específicas y claras a fin de mantener una consistencia. Tenía tags en singular, plural, en distintos tiempos gramaticales, etc.

Por si alguien lo encuentra útil, copio y pego mis reglas:

  • All tags are in lowercase, separated by spaces.
  • Use international characters: thalía, déjà vu.
  • Use dashes or other characters proper to the name: wreck-it ralph, sandwich.com.
  • Proper Names are in singular: batman, bible, ankylosaurus, php.
  • Prefer the English spelling over the Spanish one: peru vs perú.
  • Subjects and nouns are in plural: bees, kids, apps, songs. Exception to the rule: when inherently there’s only one: grammar, syntax, literature, music. Think: «show me posts with tags of ___».
  • Adjectives should complete the sentence «I’m ___» or «I’m feeling ___»: poor, tired, burnt-out, weary, moved, blue.
  • Verbs are in singular, present participle tense: running, burning out, falling, walking, reading.
  • The rationale for adjectives and verbs is that they’re actively happening in the comic.

Un detalle del cual nunca me había percatado es que ¡mis imágenes no tenían fecha! Sin el contexto del post, no había forma de saber de cuándo es el comic, haciendo irrelevantes diálogos como «last Tuesday» o «three days ago.» Desde el 2019 todos los comics tienen la fecha al pie de la imagen.

Lo que no me gusta de Laravel

He estado leyendo, probando y viendo un poco de cerca Laravel, buscando agilizar los desarrollos que hacemos en Nodos.

Estas son algunas cosas que no me han gustado de Laravel. Quizás en algunas esté equivocado, dado que sólo he construido algo pequeño con el framework para tener un hands-on experience y no tengo un conocimiento a profundidad de éste. Corríjanme si me equivoco.

NOTA: Al momento que escribo esto, la versión más reciente de Laravel es 5.6.

La magia

Este es un código de ejemplo copiado del manual de Laravel acerca de validación:

/**
 * Store a new blog post.
 *
 * @param  Request  $request
 * @return Response
 */
public function store(Request $request)
{
    $validatedData = $request->validate([
        'title' => 'required|unique:posts|max:255',
        'body' => 'required',
    ]);

    // The blog post is valid...
}

Lo que se puede ver es que hay una llamada a $request->validate().

Lo que no se ve es que si validate() encuentra contenido inválido, arroja una Excepción y se redirige automáticamente a la página anterior (con toda otra funcionalidad detrás de cámaras para preparar los errores y la persistencia de los valores antiguos).

Este comportamiento «mágico» no es visible ni intuitivo en el código, violando el Principle of Least Surprise. Solamente alguien con conocimientos de Laravel sabe lo que va a suceder.

Por otro lado, los Exceptions están siendo usados para controlar el flujo de la aplicación, lo cual es una mala práctica. Citando a Philip Brown:

An exception is basically an exceptional circumstance that is often unrecoverable from. This means something went wrong and we can’t proceed with running the application because the program is unable to carry on executing.

For example, I see a lot of code where the developer is using exceptions to control the flow of logic.

Exceptions should only be used in exceptional circumstances and therefore should be used sparingly.

Los famosos «Façades»

Mathias Verraes lo sabe decir mejor:

Laravel’s Facades have global state, which is precisely the thing you *shouldn’t* do. It is bad design and should be deprecated. They are nothing more than an elaborate $_GLOBALS.
(And they are a misnomer, as they are not Facades in the OOP meaning.)

Los formularios

Zend Framework 2 y 3 tienen Forms, que son colecciones de Form Elements con validación. Puedes crear nuevas clases de Form Elements como por ejemplo, «DNI» que incluye validadores, filtros, atributos, etc.
Laravel no tiene un concepto similar, estas funcionalidades están dispersas. Menos que eso, los helpers para renderizar los elementos de formulario fueron retirados del framework. No hay una base sobre la cual crear elementos reutilizables.

Service Container y PSR-11

Debido a requerimientos de clientes, en Nodos seguiremos usando tanto Zend Framework como Laravel. Revisando la interoperabilidad de Laravel en relación a su Service Container, veo que no se ajusta al PSR-11 — tampoco al ahora obsoleto container-interop.

Quizás tengamos que usar zend-servicemanager o algún otro Container PSR-11 para los Layers framework-agnostic.

Coda

Sobre el tema de la magia, cabe mencionar lo obvio: todo framework, por definición, trae consigo cierta medida de magia. Desde Rails, esto viene siendo un debate; y como ex-Rails developer, tengo tolerancia a cierta medida de magia pero ahora estoy gravitando más hacia lo explícito.

Hay «magia buena» (e.g. convention-over-configuration) y «magia mala» (e.g. leaky abstractions). La primera es aceptable, la segunda no.

Es mi sentir (y meramente mi opinión personal) que Laravel sacrifica mucho por darle prioridad al aspecto «beautiful code» y el «developer as an Web Artisan.» Para que Laravel pueda ser más interoperativo y desacoplado tendría que cambiar mucho estructuralmente, pero dudo que formen parte de las metas de Taylor Otwell. Mientras no pretenda convertirse en omakase, estamos bien.

Para equilibrar la balanza, en un próximo post haré una lista de las cosas que me gustan de Laravel.

Thalía’s Theme

Esta es una pieza de piano que compuse, dedicada para el amor de mi vida, mi esposa Thalía. Doy gracias al Señor por ser tú mi ayuda idónea y madre de mis hijos.

Interpretada y editada en un Korg Kross; mastering usando Renoise.