PulseAudio multi-usuario en Debian Stretch

A estas alturas la única razón por la que no llamo a estos posts “Desaventuras en la tierra de Linux, parte 99” es porque quiero que el título refleje el tema del post. En este caso se trata de PulseAudio y su compatibilidad multi-usuario en Debian Stretch.

Read More

Advertisements

Queja Firefox

Me siento culpable por escribir esto, he sido un usuario de Firefox literalmente desde su primera versión y aunque he probado otros navegadores siempre regreso a Firefox pero, ¡diablos!, hasta yo tengo que reconocer que los desarrolladores de Mozilla a veces toman decisiones de diseño bastante estúpidas. No es de sorprender que en los últimos años Firefox perdiera presencia y se convirtiera en un navegador de nicho usado solamente por nerds y fans del software libre (nerds). La gente normal evita Firefox como la plaga, incluso me ha pasado que cuando alguien me ve abrir Firefox me miran con lástima y me dicen “¿Por qué no bajas el Chrome? Es gratis”.

Ya antes escribí un post sobre la molestia generalizada que causó entre sus propios usuarios cuando Firefox decidió quitar el soporte para complementos que no usaran Web Extensions. Por suerte el NoScript se adaptó rápidamente al nuevo modelo pero la decisión afectó a muchos complementos, ¡incluso algunos propios de Mozilla!, que ya no son compatibles 😦 . No más Scrapbook, no más soporte para guardar archivos MAFF (de vuelta al horrible sistema de .html + carpeta), ¡hasta el complemento de Mozilla para checar si tus complementos son compatibles es incompatible!.

firefox-addons

Luego está la idea de Mozilla de “notificaciones no intrusivas” cuando Firefox te pregunta si quieres guardar tus contraseñas o recibir notificaciones de páginas, el mensaje no desaparecerá y se quedará estorbando hasta que no lo cierres manualmente 😦 . Por otro lado, cuando quieres control manual del reproductor de video integrado de Firefox (no un reproductor Javascript como el de youtube sino el reproductor nativo de Firefox) haces click sobre el video para que tenga el focus del teclado para poder poner y quitar la pausa con el teclado pero el focus desaparece sin razón aparente obligándote a usar el mouse 😦 .

Y aún hay más, como una de las decisiones de diseño más estúpidas de Firefox en la que hace tiempo cambiaron el comportamiento de la barra de direcciones de algo que era confiable y tenía sentido a un comportamiento al azar porque “oh, so random!”. No, en serio, en versiones anteriores de Firefox, cuando empezabas a escribir en la barra de direcciones, la primer sugerencia siempre era la página que visitabas con más frecuencia, así que podía ser www.google.com o monstrochan.org/l/, las sugerencias siempre eran consistentes así que podías escribir unas cuantas letras y después presionar Abajo y Enter y estabas en la página que querías visitar. Ahora, en cambio, tienes que perder tiempo revisando las sugerencias porque nunca sabes si la primera sugerencia es la página que quieres visitar, el dominio principal que nunca visitas (como la página principal de monstrochan.org) o una búsqueda en Google de lo que has escrito en la barra de direcciones 😦 .

Por último, la más reciente molestia con Firefox y la que me hizo escribir este post. Firefox te permite personalizar la barra de herramientas pero ¿cuál es el caso si cada que se instala una actualización ignora tu configuración personalizada 😦 ?.

firefox-2

Barra de herramientas personalizada

firefox-1

Barra de herramientas después de cada actualización de Firefox

La mayoría de estas molestias son cosas sencillas que no deben requerir mucho trabajo o código para corregirse pero entonces, ¿por qué siguen existiendo estas fallas o apareciendo nuevas molestias con cada nueva versión de Firefox?. Pareciera que los desarrolladores están más preocupados agregando nuevas animaciones inútiles o cambiando la paleta por colores pastel para complacer a la nueva sociedad SJW en lugar de trabajar en hacer que la interfaz trabaje de una forma confiable y consistente 😦 .

Harlequin’s Nightmare – Videojuego mexicano en Kickstarter

Harlequin’s Nightmare es un nuevo proyecto de videojuego mexicano buscando financiamiento en Kickstarter. Como es habitual en estos casos, el video de presentación de la campaña tiene poco que ofrecer y el juego luce como un juego de plataformas genérico con poco contenido, acción lenta y un pobre diseño de niveles

816cb70a77c4119950c542d2a218c469_original

Al menos este proyecto ofrece un link de descarga para que puedas probar personalmente el demo y si te gusta, o quieres soportar proyectos mexicanos, puedes donar en su página de kickstarter.

Hibernación en Debian Stretch

En un episodio más de la saga de “¡¿Por qué hasta las cosas más simples tienen que fallar épicamente en Linux?!”, en esta ocasión hablaré sobre la opción de hibernar en Debian Stretch. El menú de apagado de LXDE (y de cualquier otro escritorio, supongo) muestra prominentemente las opciones de apagar, reiniciar, suspender e hibernar. Las primeras dos opciones no necesitan más explicación. A grandes rasgos, la opción de suspender apaga todos los dispositivos pero mantiene el voltaje en la memoria RAM de manera que cuando reinicies la PC todo estará tal como lo dejaste. La opción de hibernar es muy parecida a la opción de suspender pero esta vez el estado de la PC se guarda en el disco duro (efectivamente se guarda en el disco duro una copia de todo lo que está en la RAM) y después la PC se apaga completamente, no se mantiene el voltaje en ningún dispositivo y, cuando reinicias la PC, el sistema restaurará la copia de la RAM de manera que la PC volverá al estado en que estaba antes de apagarla.

Mi problema en esta ocasión es que, mientras que la opción de suspender funciona correctamente, al seleccionar la opción de hibernar en Debian Stretch lo que obtengo es que la pantalla se apaga y el disco duro se pone a trabajar como si estuviera guardando la copia de la RAM pero después, ¡boom!, estoy de vuelta en la pantalla de inicio de Debian porque la hibernación falló 😦 . Como es usual en estos casos, no hay un mensaje de error o alguna información útil para saber cual fue el problema; como es usual, estás a ciegas 😦 .

Para no hacer este post tan largo, resulta que Linux hiberna usando el espacio de swap, esta es una solución ingeniosa y que tiene sentido y debe ser la razón por la que siempre te recomiendan crear una partición de swap mínimo con el mismo tamaño que tu memoria RAM (algunas fuentes recomiendan incluso el doble de la RAM) pero, en mi caso, cuando instalé Linux en un disco de 10 GB para probarlo, no podía usar la mitad del disco duro como swap así que elegí crear una partición de swap de apenas 464 MB así que cuando la carga promedio de RAM en mi sistema con algunos programas abiertos es de ~1.5 GB era obvio que no cabía en la partición de swap y por lo tanto sería imposible hibernar con todos mis programas abiertos pero… si cierro todos mis programas la carga de RAM está por debajo de los 400 MB, suficiente para que quepan en la partición de swap y que el sistema pueda hibernar de forma correcta, ¿cierto?. ¡NO! ¡La hibernación sigue fallando aún con una carga de apenas ~350 MB en la RAM!. Maldición 😦 .

¿Por qué pasar tantos problemas si igual estoy cerrando todos mis programas? Bueno, mantener mis puntos de montaje manuales y el estado de pointerkeys son razón para preferir la hibernación a un apagado total, sin mencionar que el arranque desde el estado de hibernación es un poco más rápido que un arranque normal.

Entonces, ¿por qué la hibernación no puede guardar ~350 MB de RAM en uso en una partición swap de 464 MB?. Resulta que Linux mantiene en caché en la RAM los programas y archivos que has abierto recientemente en caso de que quieras abrirlos otra vez, esto es bueno, Linux administra la RAM así que no tienes que preocuparte por este caché ya que Linux lo liberará automáticamente si tus programas en ejecución solicitan más memoria. Aunque el caché de archivos en RAM es bueno para el uso de la PC, la hibernación no libera este caché (en mi opinión, debería) y eso causa que la memoria usada por el caché sea marcada como memoria en uso a pesar de que en realidad sean solamente ~350 MB los que están siendo usados por programas activos, así que para poder lograr que el sistema entre en modo de hibernación es necesario borrar manualmente el caché en la RAM y, para variar, esto requiere usar algunos oscuros y arcanos comandos desde la línea de comandos:

monstruosoft@debian:~$ sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches' 
[sudo] password for monstruosoft: 
monstruosoft@debian:~$ sudo sh -c 'echo 2 >/proc/sys/vm/drop_caches'
monstruosoft@debian:~$ sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'

Después de ejecutar los comandos anteriores, la memoria en uso reportada será solamente la que está siendo usada por los programas activos, no más archivos en caché. Ahora es posible seleccionar la opción de hibernar y la PC entrará correctamente en modo de hibernación. Puedes poner estos comandos junto con el comando systemctl hibernate en un script y ejecutar el script cuando quieras poner la PC en modo de hibernación.

Para entender mejor lo que está pasando, veamos el uso de memoria antes y después de limpiar el caché:

# Uso de memoria habitual con varios programas abiertos
# 1.3 GB en uso, 1.6 GB en el caché, 2.2 GB libres
monstruosoft@debian:~$ free
              total        used        free      shared  buff/cache   available
Mem:        3975924     1398856      959596       96980     1617472     2190836
Swap:        475132       42668      432464
# Uso de memoria después de cerrar todos los programas
# 400 MB en uso, 2.5 GB en el caché, 3.2 GB libres
monstruosoft@debian:~$ free
              total        used        free      shared  buff/cache   available
Mem:        3975924      408548     1015396       23796     2551980     3254324
Swap:        475132       42664      432468
# Uso de memoria después de limpiar el caché en RAM
# 380 MB en uso, 120 MB en el caché, 3.4 GB libres
monstruosoft@debian:~$ free
              total        used        free      shared  buff/cache   available
Mem:        3975924      383188     3471164       23796      121572     3399740
Swap:        475132       42664      432468

Todos estos problemas para hibernar si tu partición de swap es pequeña se podrían resolver fácilmente si el comando para hibernar liberara automáticamente el caché en RAM pero como siempre, Linux tiene que hacer incluso las cosas más sencillas terriblemente complicadas 😦 . Oh, olvidé mencionar que si tienes archivos en directorios ramfs, como /dev/shm, es mejor que los borres manualmente también o la hibernación intentará mantenerlos y podría incrementar el tamaño de la copia de la RAM que se tiene que almacenar en tu partición swap.

Queja qrewards.mx

qrewards.mx de Quantum MX es la página de un programa de lealtad diseñado con el fin de recompensar a los usuarios por seguir consumiendo alguna marca o producto. Si alguna vez caíste víctima de los clubes de celular para “ver las fotos más hot” sabrás de lo que estoy hablando: te quitan dinero de tu saldo de celular a cambio de acceso a porno soft de pésima calidad en formato 3gp digno del año 2000 y, ocasionalmente, puedes recibir alguna promoción a cambio de no abandonar el club y así el programa de lealtad te recompensa por continuar en el club de celular en el que te quedas ya no por el porno soft que nunca actualizan sino porque las promociones compensan el valor de estar inscrito al club. Claro, lo anterior es un caso hipotético, no es como si me hubiera pasado a mi…

Entonces, ¿cuál es el problema?. Mientras que el club de celular no te pide más que enviar un mensaje de texto para inscribirte, la página de qrewards, encargada de entregar los premios y/o promociones, te pide todos tus datos: nombre, dirección, teléfono, fecha de nacimiento y hasta una copia de tu identificación. Todo esto parece razonable para una página que se encarga de entregar premios/promociones pero lo que resulta preocupante es ver el servicio y la atención que esta página ofrece a sus usuarios.

Dos veces intenté contactar con la página con dudas sobre los códigos de recompensa y no obtuve ninguna respuesta, ¡nada!, ni siquiera un miserable mensaje de respuesta automatizada. Esto realmente te pone a pensar ¿a quién le estás entregando tus datos?. Creo que una página que recolecta datos personales y que no ofrece ni el más mínimo servicio de atención y soporte a sus usuarios definitivamente no es nada confiable.

Moraleja: ten cuidado con a quien le entregas tus datos personales en internet.

Gun Legends – Videojuego mexicano en Kickstarter

a9337ac32e919ea682011a69101e8151_original

Gun Legends es el más reciente en la lista de proyectos de videojuegos mexicanos en Kickstarter. Desearía que hubiera más proyectos de videojuegos mexicanos buscando fondos en Kickstarter porque literalmente pasaron meses desde el último proyecto de este tipo 😦 .

Gun Legends es un juego de plataformas en 2.5D con gráficos 3D. Su campaña no está tendiendo éxito y dudo que logre alcanzar su meta. Es probable que al creador de la campaña le falte hacer más publicidad en redes sociales pero el problema también puede ser el gameplay. Si ves el video promocional de la campaña notarás que el juego no luce divertido, apuntar tu arma en ese ambiente 2.5D parece difícil qutándole todo el factor de diversión que pudiera tener, el escenario no tiene ningún reto y carece de inspiración.

Sé que puede ser fácil descargar Unity y pensar que con eso te convertirás en el Shigeru Miyamoto mexicano pero la dura realidad es que, cuando quieres hacer un videojuego, el gameplay y el diseño de escenarios son más difíciles que la programación y eso ninguna herramienta te lo puede dar.

Visita la página de Kickstarter donde puedes apoyar el desarrollo del juego.