Saltar al contenido

El blog de Skatox Entradas

Usar el tema claro en el editor de código es mejor y te explicó por qué

Hace unas semanas Brent Roose publicó un vídeo de por qué considera mejor un tema claro en los editores de código. Me llamó la atención su opinión y los artículos que compartió que decidí intentarlo. Ya al segundo día, había notado los cambios y no volví a usar el tema oscuro exceptuando en la terminal (empecé a usar computadoras en los tiempos de MS-DOS y para mí la terminal siempre será con fondo oscuro).

El reconocido meme entre los programadores sobre el miedo a usar un editor con tema claro.
El reconocido meme entre los programadores sobre el miedo a usar un editor claro.
Fuente: @programming_tips

¿Usar un tema claro es mejor para mis ojos?

Hace tiempo leí que los temas oscuros eran mejores porque las pantallas no iluminaban tanto ni cegaban la vista, ocasionando cansancio con el tiempo. Pero al parecer sólo es válido para monitores viejos de tipo CRT. Pero viendo la entrada de Brent Roose, en él comparte enlaces a varios artículos y estudios donde muestran que el ojo humano está acostumbrado a reconocer patrones oscuros sobre fondo claro. Por ejemplo, el ojo al ver algo oscuro va a tardar mas en procesarlo que en fondo blanco, pero en cambio, cuando hay colores fuertes sobre fondo oscuro, la información queda mejor grabada en el cerebro. Pero en el caso de programar, nos interesa es tener menor cansancio y ser productivos durante el día.

Para mayor información del tema, te recomiendo leer el artículo sobre el lado oscuro del modo oscuro y el estudio sobre el efecto de mejores visualizaciones en la comprensión de código fuente.

Si aún no te convences, fíjate en la siguiente imagen extraída del artículo anterior. Cómo es mas fácil de reconocer el rostro de la derecha porque la información que necesita nuestro está en color oscuro y con fondo claro. Si aplicas esta lógica para el código, veras como nuestro cerebro necesita menos tiempo para reconocer texto oscuro en fondo claro. Suma ese tiempo a lo largo del día, cada vez que haces desplazamiento del texto o cambias de ventana, al regresar al editor y leer el código, estarías ahorrando un tiempo.

Es mas fácil distinguir al Abraham Lincoln
El rostro de la derecha es mas fácil y rápido de reconocer que de la izquierda. Fuente: Tidibits

Al ver este ejemplo, me convencí de que es mejor tener la tipografía oscura sobre el fondo blanco. Inicialmente era probarlo por una semana pero ya al segundo día vi mejoras y me quedé usándolo.

Mi experiencia usando el tema claro luego de una semana

El cambio mas inmediato que noté fue que al cambiar entre el editor y el navegador. Como la mayoría de las páginas suelen ser fondo claro con letras oscuras. No hay cambio brusco de colores al cambiar de aplicaciones. Imagino que si usas todo en modo oscuro pasa lo mismo, pero la web es clara por defecto y no todas las aplicaciones tienen un modo oscuro.

Durante la semana, si noté menos cansancio lugar de mirar la pantalla luego de varias horas usando el tema claro. El hecho de bajarle el brillo al monitor al principio porque me encandilaba el fondo blanco, posiblemente ayudó a reducir el agotamiento visual. Porque ahora la pantalla no necesitaba tanto brillo para mostrar el contenido a diferencia de cuando el modo oscuro es usado. También indirectamente esto debería disminuir el consumo eléctrico del monitor al requerir menos brillo.

Respecto a los colores del código, no vi ningún cambio porque a pesar de ser diferentes, resaltan la misma información. Durante las primeras horas me costó el cambio pero luego de me adapté.

En mi opinión, si vale la pena cambiar a un tema claro y si siento que me descansa mas la vista al durar varias horas en él. La adaptación me llevó dos días y luego me pareció normal el nuevo esquema de colores.

¿Cuando no recomiendo usarlo?

En monitores antiguos de CRT siento que se cansa mas la vista usando un tema claro, porque hay mas brillo en la pantalla. Pero si tienes un monitor moderno no ocurre lo mismo.

Sin embargo, si tienes una pantalla OLED y necesitas ahorrar batería, usar el modo oscuro puede darte de 3% a 9% mas tiempo de energía. Podría no parecer una cifra significante, pero si estas en una emergencia laboral y no tienes suministro eléctrico. Ese tiempo adicional es valioso.

Otro punto donde no recomiendo, es al momento de explicar o hacer presentaciones. El hecho de usar un fondo oscuro con letras de colores, facilita que se guarde la información del contenido de las palabras. Ahí no importa la velocidad de procesamiento de la información sino que resalte y se almacene en las personas que ven el código.

Recomendaciones finales

Te recomiendo probar durante una semana usar un tema claro. Recuerda que si sientes que te estas cegando de tanta luz, entonces significa que debes bajar el brillo de la pantalla y mejorar la iluminación de la habitación/oficina. Luego en un par de horas es probable que te acostumbres y sientas la diferencia.

¡Pruébalo y mejora tu salud visual!

1 comentario

Mi oficina remota (office & desktop setup) 2022

Durante varios años he publicado como es mi escritorio ( también conocido como desktop setup en inglés) y pueden ver como ha ido cambiando poco a poco. He ido comprando y agregando nuevos accesorios hasta que estoy en un punto donde (por ahora) creo que es suficiente.

El escritorio / desktop setup de Skatox
Mi escritorio del 2022

La idea es tener todo lo necesario para trabajar en casa. Poder estar cómodo y productivo durante la jornada laboral. Aparte de la computadora, recomiendo tener audífonos que eliminen ruidos exteriores. Buen micrófono y cámara web para las reuniones, entre otras cosas. Si estás pensando en montar tu oficina en casa, te recomiendo leer mis consejos para tele-trabajo desde casa.

Parte del equipamiento lo hizo la compañía donde he trabajado en los últimos años. Luego he ido comprando por mi parte otros accesorios como teclado, trackpad, audífonos, bases, ratón, entre otros. Pero desde que ocurrió la pandemia del 2020 muchas conferencias pasaron a ser remotas y necesitaba cosas como una buena cámara y micrófono, para participar en ellas. Gracias a los organizadores de JSConf México que me regalaron la cámara web y micrófono, solventando esa necesidad.

Los componentes de desktop setup

Los principales componentes de mi escritorio son:

  • Mac mini de 16GB con el chip Apple M1, 512GB de disco duro.
  • Monitor LG UltraFine 32BN88U-B
  • Magic Keyboard y Magic Trackpack 2
  • Mouse Logitech Mx Master 2s
  • Silla gamer
  • Micrófono Shure MV5C

Todos estos productos los pueden encontrar en Amazon o en la página de cada fabricante. Para evitar tomar muchas fotos de cada producto y escribir un montón de párrafos sobre sus características. Decidí hacer un video para ver mas detalles de mi desk setup, espero que te gusté y lo puedes ver a continuación:

Mi oficina en casa / "My office & desk setup"

Para finalizar, si les gustó ver como es mi desktop setup, no duden en dejar su opinión o comenten como es el suyo. Así tomamos ideas para mejorar nuestra configuración actual.

¡Feliz trabajo en casa!

3 comentarios

AppCleaner: desinstala en tu MacOS cualquier app y sus datos

AppCleaner es una aplicación para borrar aplicaciones y sus datos en MacOS. Te preguntarás por qué es necesario usar aplicación de ese tipo. Pues resulta que en MacOS las aplicaciones vienen empaquetadas como en contenedores, que instalas arrastrándolas a la caperta /Applications. Para desinstalarlas simplemente borras la aplicación de esa carpeta: parece un icono pero en realidad es como un carpeta/contenedor con los archivos y librerías que necesita el programa para funcionar.

¿Qué pasa si solo borramos la aplicación de /Applications?

Resulta que las aplicaciones a veces suelen guardar archivos en otras carpetas para su funcionamiento. Por ejemplo, MySQL guarda las base de datos en otra carpeta, los archivos de configuración en otra. Entonces si borramos la aplicación, todos archivos quedan en nuestro disco ocupando espacio.

Si hacemos esto durante muchos años y varias veces con otras aplicaciones, acumularemos mucho espacio en disco que no estamos usando.

AppCleaner se encarga de borrar todo

AppCleaner es una herramienta fácil de usar. Simplemente arrastras la aplicación que deseas eliminar y luego te muestra una lista de archivos que crean las aplicaciones.

Interfaz de AppCleaner
Arrastra la aplicación a eliminar al programa para iniciar la desinstalación

Con esta lista puedes seleccionar si deseas eliminar todo o solo algunas cosas. Me gusta que muestra el espacio que ocupa en el disco, entonces, puedes decidir si obtener ese espacio libre o si la información es relevante para ti (o la necesitas para el futuro) dejarla en el disco.

Lista de datos que borrará AppCleaner
Lista de datos que borrará AppCleaner

Lamentablemente AppCleaner solo funciona para aplicaciones que vas a desinstalar. Si necesitas una para archivos existentes que quedaron de desinstalaciones previas sin usar este programa. No podrás limpiarla con esta aplicación.

Sin embargo, espero que esta entrada de mi blog te ayude a tener el disco de tu mac limpio de datos innecesarios. ¡Elimina las aplicaciones que no uses de forma efectiva!

Deja un comentario

Comprobar si una pasarela de pago esta activa en WooCommerce

Si en WooCommerce necesitas comprobar si una pasarela de pago esta activa. Puedes obtener un listado de las pasarelas de pago (gateways) disponibles en el sitio con la función:

WC()->payment_gateways->get_available_payment_gateways();

El problema de esta función es que estas instanciando WooCommerce y en algunos casos, algunas pasarelas dejan de registrarse o se esconden por motivos de seguridad. Esto hace que fallen mas adelante cuando realmente deben mostrarse en el checkout. Además, si necesitas comprobar si una pasarela pago está activa en un momento donde no se ha cargado WooCommerce. Necesitas una alternativa a esta función

Comprobar si una pasarela pago está activa desde la base de datos

Una alternativa segura es consultar la información directamente desde la base de datos. Así no necesitas implementar o instanciar objetos. El costo de la consulta es mínimo y queda en caché para futuros accesos (si se usa $wpdb).

WooCoommerce guarda la información de una pasarela de pagos en la base de datos en la tabla options bajo el nombre «woocommerce_idDelGateway_settings». Si el id de tu pasarela es «pagos_con_tarjeta» entonces la información se guarda bajo el nombre woocommerce_pagos_con_tarjeta_settings.

Como la información se guarda en formato JSON. Sólo necesitamos contar el registro bajo el nombre anterior que tenga el valor enabled: true dentro del contenido del JSON.

Para ello hacemos la siguiente función que buscará si existe el valor o no:

function is_enabled($gateway_name) {
  global $wpdb;

  $query = "SELECT COUNT(*)  FROM $wpdb->options "
    . "WHERE `option_name` ='woocommerce_${gateway_name}_settings' "
    . "AND  `option_value`  LIKE '%"enabled";s:3:"yes"%'";

  $count = $wpdb->get_var( $query );

  return $count -> 0;
}

Esta función dependiendo del contexto, puedes ponerla en el archivo functions.php o en el código de tu plugin. Puedes llamarla en cualquier momento ya que $wpdb se instancía temprano en la carga de WordPress.

¡Listo! Con esto podrás leer directamente desde la base de datos si comprobar si una pasarela pago está activa o desactivada. Sin afectar el funcionamiento de WooCommerce.

Deja un comentario