1 puntos por GN⁺ 3 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Aunque la capacidad de almacenamiento se aumente varias veces, el uso crece junto con ella; en una encuesta de Mastodon con 81 participantes, cerca de la mitad usaba más del 75% del disco
  • Esto puede explicarse en parte con la lógica de la entropía, según la cual hay más formas de llegar a un estado lleno que a uno vacío, pero no alcanza para explicar por completo el comportamiento de los usuarios
  • La conducta de posponer la limpieza hasta llegar al límite y borrar solo lo necesario en ese momento hace que el disco permanezca constantemente saturado
  • El software que se vuelve más lento, la deuda técnica acumulada, las calles congestionadas y las agendas apretadas muestran el mismo patrón: se actúa recién cuando el dolor llega a un umbral
  • Establecer restricciones artificiales menores que los recursos totales, como si fueran un presupuesto, permite evitar la optimización prematura sin dejar que los problemas lleguen al límite

Por qué el espacio de almacenamiento sigue llenándose

  • En la unidad raíz, de 0.47 TB disponibles solo quedan 17 GB, por lo que el espacio libre es del 3%; una unidad adicional de 12 TB también tiene solo 140 GB libres, alrededor del 1%
  • El espacio de almacenamiento se ha duplicado varias veces, desde unos 80 MB en la década de 1990 hasta decenas de TB, pero aun así la mayor parte sigue en uso
    • El hecho de que desde hace mucho existan programas para encontrar archivos que conviene limpiar también muestra que este problema persiste
  • De los 81 encuestados en Mastodon, cerca de la mitad usaba más del 75% del disco duro, así que era común que el almacenamiento estuviera lleno más que vacío
  • Como hay más estados posibles que conforman un disco lleno que uno vacío, es posible una interpretación basada en la entropía: si se cambian estados al azar sin considerar la cantidad almacenada, se tiende a la saturación
  • Sin embargo, el disco no se percibe como un problema hasta que ya no puede guardar más; para ese momento está tan desordenado que resulta difícil decidir si borrar cada archivo o no
    • El usuario limpia solo lo suficiente para ganar tiempo y se detiene, por lo que el disco vuelve rápidamente al límite
    • Aunque la capacidad de almacenamiento aumente en varios órdenes de magnitud, esta conducta no cambia

El umbral del dolor y las restricciones artificiales

  • El patrón de posponer la respuesta hasta que el problema llega a un nivel intolerable se repite en muchos ámbitos
    • El software no se optimiza hasta que se vuelve demasiado lento, por lo que por lo general permanece lento
    • La deuda técnica se acumula hasta que trabajar en el código se vuelve doloroso y el refactoring resulta inevitable
      • Los desarrolladores con menos experiencia incluso vuelven a empezar desde cero, por lo que la mayoría de las bases de código terminan desordenadas
    • Las redes viales se amplían recién cuando se congestionan hasta un punto difícil de soportar
    • La dieta no se cuida hasta que hace falta comprar pantalones más grandes
    • Incluso al dejar un empleo de tiempo completo y convertirse en trabajador independiente, cuando desaparecen las obligaciones y órdenes externas, la agenda se llena tanto como antes, o a veces más
  • Si se espera hasta el límite, el trabajo por resolver es mucho mayor que si se hubiera abordado poco a poco durante el proceso; pero, por el contrario, la optimización prematura tampoco es deseable
  • Para equilibrar ambos problemas, se puede aprovechar la paradoja de Jevons estableciendo una restricción práctica menor que todos los recursos disponibles, y optimizar dentro de ese rango
    • En las finanzas personales esto se llama presupuesto, pero en otros campos el mismo principio se pasa por alto una y otra vez
    • Si se despliega software en una Raspberry Pi, se usa directamente y se optimiza allí, también funcionará rápido en un Threadripper
    • Una base de código navegable en Vim dentro de una terminal de 80×25 también puede navegarse en un IDE moderno y potente
  • Cuando aumentan los recursos y las funciones, parece que se podrá hacer más, pero en la práctica también puede llevar a hacer lo mismo con un costo mayor

1 comentarios

 
GN⁺ 3 시간 전
Opiniones de Lobste.rs
  • Al crear software de escritorio multiplataforma, es mucho más fácil resolver los problemas antes de llegar al límite. Por eso aplicamos la regla de compilar y ejecutar siempre en Windows, Mac y Linux desde el primer commit de Git
    Fue una restricción dolorosa, pero eliminó por completo una categoría de solicitudes de soporte. Los competidores suelen soportar solo Mac y Linux, o lanzar solo para Windows prometiendo soporte para UNIX, y da alivio verlos sufrir con las preguntas constantes de los usuarios de “¿cuándo sale para Linux?”. Todavía recibimos preguntas de “¿cuándo habrá un port a BSD?”, pero es algo manejable
    • Me da curiosidad si quienes piden un port a BSD también tienden, en una proporción inusualmente alta, a ofrecer ayuda directa
  • Estoy totalmente de acuerdo en que si es software que desplegaste en una Raspberry Pi y usaste tú mismo, entonces también va a correr rápido en un Threadripper. Las optimizaciones de bajo nivel orientadas a CPUs modernas, como predicción de saltos, latencia de acceso a memoria e inlining, han dado resultado en cualquier CPU lanzado en los últimos 15~20 años
    Las instrucciones SIMD más nuevas también son divertidas, pero tomo como referencia de todas las optimizaciones un Intel Haswell con AVX2 de una MacBook Pro 2015. El código que funciona bien en ese entorno sigue funcionando igual de bien hoy
  • Es una perspectiva interesante. Actualmente estoy usando el 97% de un disco de 1TB
    Cada vez que pasé de 256GB a 512GB, también aumentó la cantidad de contenido que guardo. No dejan de aparecer repositorios para clonar, música para descargar, videos de YouTube y películas para archivar, y los tamaños de archivo crecieron al pasar de 720p a 1080p y 4K. Los juegos también se están volviendo tan enormes que tengo que borrar uno para instalar otro de Steam. Me pregunto si al final es solo el simple fenómeno de llenar la canasta actual con todo lo posible hasta conseguir una más grande
    • Me pregunto si clonar repositorios aquí es simplemente para archivo offline o marcadores, o si es algo necesario para el proceso de instalación de software
      Yo les pongo estrella a los repositorios que me gustan en GitHub o Codeberg. Ojalá algún día, como en el fediverso, se puedan compartir las estrellas entre distintas forjas Git y no haya que mantener cuentas en GitHub, GitLab y Codeberg por separado. Quisiera saber si clonas el código directamente como respaldo por si el repositorio desaparece o deja de estar accesible
  • La partición /nix casi siempre está por encima del 90% salvo justo después de una reinstalación completa. Nix muestra con mucha claridad la visión de sus desarrolladores de que, igual que con la gestión de memoria, el disco se recupera con recolección de basura solo cuando hace falta espacio. Los artefactos intermedios de compilación de múltiples versiones también ocupan una cantidad enorme de espacio
    El servidor multimedia no se llena, porque usa un RAID heterogéneo que fue creciendo lentamente durante años al reemplazar discos viejos averiados por otros más grandes a un precio parecido. También abandoné el intento de digitalizar todos los CD y DVD de la casa. Los CD de audio con compresión sin pérdida y los juegos de Wii sí valen la pena, pero los HD-DVD no salen a cuenta para nada
    • Me pregunto si los CD y DVD no son ya medios digitales
  • Yo ejecuto el rootfs en tmpfs. El disco duro para almacenamiento persistente está casi vacío, pero el tmpfs se desordena constantemente de formas difíciles de entender. Cuando se acaba la RAM, reinicio el sistema para recuperar el espacio temporal
    Es tedioso hacer el trabajo necesario para que nada valioso desaparezca, normalmente guardándolo en Nix y conservándolo en carpetas de proyecto que usan Git. Mantener este tipo de dispositivo de máquina del tiempo durante años ha requerido un esfuerzo enorme, pero se siente como la única forma de gestionar una escala y complejidad que no dejan de crecer
  • Me recuerda a la ley de Parkinson: “el trabajo se expande hasta llenar todo el tiempo disponible para que se termine”
  • Parece que no te gusta vivir al filo. Una vida feliz es estar ocupado pero no perseguido, que el software sea justo lo suficientemente rápido, que el dinero y las necesidades se encuentren a medio camino, y que el disco duro tenga justo el espacio libre adecuado