Información & anuncios
-
Arrancamos trimestre primaveral y con él, su primera cagada y su primer tocho:
Ayer estuve lidiando con unos temas de los que hablo más abajo y en una de esas, se corrompió la base de datos del foro. Tuve que echar mano de una copia de seguridad y (aquí está la cagada), la última era del 18 de marzo (hace 3 semanas). Las copias se hacen semanalmente, pero entre las actualizaciones y las vacaciones, se me pasó hacer la de Redis. Como apoyo a mis reducidas capacidades cognitivas, el foro se encuentra en dos bases de datos diferentes de dos SGBD diferentes. Eso me ha permitido recuperar los posts perdidos, pero las fechas son de hoy. Además, durante las últimas tres semanas se han registrado usuarios para validar resultados en el banco de pruebas y eso no es recuperable.
¿Y porqué estuve tocando cosas ayer?. Pues porque un puñado de acaparadores ha tenido la necesidad de arramblar con todo el contenido de la instancia de Peertube desde cientos de bloques IP provenientes principalmente de Asia. Finalmente ha sido posible mitigar el ataque en gran medida, pero debido a la extensión del número de IPs, todavía se cuelan algunas peticiones. Eso hace que vaya todo más lento de lo normal, principalmente en el museo y el banco de pruebas. Aquí habrá que aguantar un poco hasta que todas las IPs maliciosas estén baneadas (es un proceso lento pero automático).
En estos momentos, Hardlimit se encuentra ante el ataque más fuerte que ha sufrido y habrá caídas periódicas.
En resumen, el servidor ha estado bajo intento de ataque, no solo de Scraping/Crawling/Flood Attack/DDoS, sino también con intentos de explotar vulnerabilidades de día cero, escalado de privilegios y demás (plataformas como Wordpress tienden a ser un coladero). Pero estas garrapatas son tan agresivas, que la mayorías de ataques (no todos), se detectan inmediatamente. De momento no han conseguido nada (más allá de tirar servicios petando el servidor) gracias a que la parte web está debidamente aislada de la parte datos, pero estar al tanto y aplicar soluciones han estado consumiendo demasiado tiempo. Espero que después de las última medidas, pueda centrarme en cosas más interesantes.
En esencia, se están baneando IPs a mansalva y he estado jugando con la parametrización del kernel para evitar en la medida de lo posible tocar el SWAP. En estos momentos, ZRAM nos está salvando de una mucho peor y Crowdsec no está salvando el culo de dejar el servidor completamente inutilizado.
Por esta parte, no hay capacidad de hacer mucho más. Somos un pez pequeño, el océano es demasiado grande y la IA ha dado dientes afilados hasta al pez más tonto. En estos tiempos, es un reto mantener seguras las máquinas expuestas a Internet. Pero de momento aguantamos.
Dejando de lado la parábola, el drama y los lloriqueos, como dije, voy a centrarme en el banco de pruebas y más en concreto, en el programa. Hay una hoja de ruta más o menos definida (más menos que más) que, de completarse, nos llevaría a la segunda versión mayor.
Hace muchísimo que no lo toco. Lo primero será desempolvar el entorno de desarrollo que está en una máquina virtual, revisar el código, etc.
El primer cambio de calado que quiero hacer es migrar de un modelo multiproceso a un modelo multihilo. La razón de querer hacer este aburrido cambio es simplificar el arranque el banco de pruebas: en estos momentos, la sincronización de procesos es relativamente frágil (en determinados entornos, el bm tiende a fallar) y retrasa el comienzo de las pruebas. Además, con este cambio será posible mejorar la prevención de manipulación de resultados.
En general, quedará un programa más robusto, más simple internamente (espero) y con un comportamiento, de cara a la reproducibilidad de resultados con versiones anteriores, idéntico.
Seguramente empiece con esto la semana que viene y probablemente dedique toda la semana sólo a cuestiones administrativas: revisar MV, familiarizarme con la estructura, código, etc.
Dicho eso, con cada nueva característica (como por ejemplo, usar el modelo de hilos), aparecerá una versión beta. Como pasó con la primera versión, quien participe y deje sus comentarios, aparecerá en la ventana de agradecimientos del programa (si no lo hace ya) o podrá cambiar su nombre si quiere. Quien no participe y ya aparezca, seguirá apareciendo.
La idea es ir sacando una versión cada dos semanas aproximadamente, aunque dependerá mucho de muchos factores.
En paralelo, se harán pequeños cambios en el museo, en el sistema de traducción tanto del foro como de subtítulos, otras cuestiones menores y sí, la maldita ciberseguridad seguirá acaparando su tiempo.
-
Una breve actualización:
El ataque continúa por ráfagas. Provoca cargas medias de >150pu, anchos de banda de >450Mbps y cientos de procesos ffmpeg para procesar las peticiones. Se ha conseguido reducir el IO de discos a una cantidad despreciable, por lo que a pesar de los números ridículos, las distintas configuraciones que se han ido aplicando y el hecho de que esas peticiones tengan prioridad mínima, hace que el servidor aguante y la velocidad de respuesta sea muy buena durante estas ráfagas que pueden durar varias horas.
Por esta parte estamos bien.
Sobre el banco de pruebas: se ha empezado a migrar al esquema de hilos. Se ha hecho el test#1 y test#2. Quedá el #3 (el más complejo) y el #4. Además, en esta tanda de cambios se va a migrar todo el código de detección de hardware y demás a la nueva arquitectura del programa. Eso quiere decir que es bastante probable que la primera beta salga, como pronto, en dos semanas.
Una vez que el programa esté en orden, el resto de cambios deberían ir tardando menos en llegar. Básicamente, la estrategia está siendo la misma que con el museo con el que tardaron en salir cambios de calado pero una vez que todo estaba montado, introducir mejoras se volvió mucho más sencillo.
Para terminar: este fin de semana, se ha instalado una nueva controladora en el NAS. Esto me ahorra un disco externo (que ahora es interno) y me ha permitido añadir leds de actividad individual, con lo que puedo ver el estado de carga de un vistazo. Más allá de eso, este cambio no afecta a nada más.
-
Banco de pruebas
-
La migración al modelo de hilos ha sido un fracaso. Los test #1, #2 y #4 van bien, pero el #3 (de compresión) tiene un comportamiento anómalo en multihilo (da un resultado muy por debajo de lo esperado). He explorado un buen repertorio de cosas pero no hay forma. Voy a dejar de dedicar tiempo a este proceso (quizás lo retome más adelante).
-
Me estoy dedicando a poner orden al código separando las partes principales para independizarlas (ahora todo depende de todo) pero es algo que hay que hacer con pies de plomo para no cambiar el comportamiento. Es un proceso lento y que no va a traer nuevas características, pero es necesario de cara a la mantenibilidad. Eso quiere decir que, aunque no vaya publicando novedades en este aspecto, se han dedicado (y se siguen dedicando) un buen número de horas todas las semanas. La primera beta vendrá cuando haya algo presentable. En resumen, el 90% de los recursos de tiempo se están focalizando en esto.
Infraestructura
- Como ya comenté, OVH nos dejó sin VPS hace bastante. Nos estamos mudando a Arsys y de momento todo el tráfico ya viaja por una VPS. Queda migrar los dominios. Casualidades de la vida, justo al dia siguiente de empezar la migración, OVH respondió (después de más de un mes) con una respuesta que deja mucho que desear en la forma pero que soluciona fondo de la cuestión (que es que me devuelven el dinero de un servicio que contraté y no me están prestando).
IA
- Se ha empezado a usar un nuevo modelo para traducir el foro con el que nos situamos en el top del top en este aspecto. Tiene un consumo de recursos extremo y se reserva exclusivamente a los nuevos posts. Por otra parte, se ha reservado un slot de procesamiento que permite la retraducción de un post al día. Peertube sigue usando el modelo anterior.
Administración
- Para terminar, el foro se cae de vez en cuando. Estoy investigando esto, pero es probable que se deba al machaque que estamos sufriendo últimamente.
-
-
Infraestructura
Ya se ha descubierto la causa de las caídas del foro: un módulo de RAM defectuoso. Esta es de esas cosas que me ponen los huevos de corbata, pero dentro de lo malo, se trata de un módulo de 8GB DDR3, por lo que la crisis de memorias creo que afecta poco aquí (al menos no veo precios disparatados).
Estoy buscando uno de exactamente el mismo modelo y mientras tanto, se han redistribuido los servicios como buenamente se ha podido. Hasta que se sustiya, intentaremos sobrevivir con los 104GB de RAM que quedan operativos (y que dicho sea de paso, están prácticamente al 100%).
Sobre esto, estoy monitorizando la máquina de cerca por si no fuera sólo ese módulo o el problema fuera otro (placa base, zócalo, controladora de memoria o lo que sea).
Banco de pruebas
Se sigue refactorizando el código. Si no hay demasiados contratiempos, en una o dos semanas saldrá la primera beta con alguna pequeña característica nueva.
Portada
Está bastante abandonada en general. Me he focalizado en nuevas características (federación del foro, becario agéntico con resúmenes de videos, el fallo de RAM que me ha tomado bastante tiempo, etc). Creo que es más interesante dedicar el tiempo a estas cosas que a la portada, así que en el medio plazo, habrá pocas entradas a la semana.
Foro
Como ya comenté, está federado y se puede intercambiar contenido con la instancia de Peertube. Os animo a que visitéis los hilos con los vídeos seleccionados. Hay uno sobre entornos de escritorio ligeros y otro de novedades de videojuegos donde se exponen los temas de una forma rigurosa y bien explicada.
Sobre la relación con los hilos federados, ya han implementado también el que aparezcan en hilos recientes. Esto hará que el contenido se traduzca (en este momento esos hilos están en un limbo). Pero no queda claro si saldrán en hilos no leídos cuando haya posts nuevos (incluso si son locales). El tema parece que no es filosófica ni técnicamente fácil de resolver.
Seguridad
Los ataques continúan por ráfagas, pero han bajando el ritmo. Las optimizaciones han llegado al punto de que el cuello de botella ahora es el ancho de banda (>400Mbps sirviendo sólo a scalpers). Buscaré la forma de minimizarlo sin afectar a otras cosas en la medida de lo posible.
Además, como algunos sabréis, se han descubierto varios fallos de seguridad importantes tanto en el kernel de Linux como en otros componentes. Aquí estamos al día pero en los últimos tiempos se están viendo cosas que no se veían antes y como dije en otra actualización, hay que estar muy al loro.
-
Hace unas horas ha aparecido un parche de seguridad de Peertube que parchea a su vez otro fallo descubierto hace 3 días. La instancia de Hardlimit se actualizó tanto hace 3 días como hace unas horas.
La vulnerabilidad permitía hacer inyecciones de código, inyecciones SQL, instalación de plugins y explotar tokens de procesamiento para manipular los videos publicados por los usuarios. Además, han detectado una manipulación del dominio de Google Analytics que reportaba los datos de trafico a un sitio ilegítimo (esto no lo usamos nosotros).
Se han realizado las comprobaciones que se han indicado desde los desarrolladores de la plataforma y no se han detectado indicios de penetración ni manipulación.
A partir de ahora, la instancia está segura ante estos fallos pero ha habido que resetear todas las sesiones de usuario, por lo que os tendréis que loguear de nuevo.
-
La actuaciones de hoy en principio ya están.
Se ha mudado la parte web proxy al VPS. Con eso, se han estado haciendo pruebas de caché y ahora se cachea principalmente contenido de la instancias de Peertube (videos e imágenes), de la instancia de Mastodon y del museo. Se espera incrementar notablemente la velocidad de carga de ciertos archivos, principalmente de las emulaciones del museo, carga de imágenes y visualización de videos con más tráfico. Con esto también se espera reducir la actividad I/O del NAS y el resto de discos.
Desde el punto de vista de la seguridad este es un cambio radical porque aísla la máquina expuesta a Internet de todo lo demás: ya no hay contacto directo de nada con el exterior excepto el proxy-caché, que en realidad no almacena información de ningún tipo.
Sobre el software, se han hecho las siguientes actualizaciones:
- Nodebb de 4.11 a 4.12 (mejoras en la visibilidad de los hilos federados).
- Peertube de 8.1 a 8.2 (posibilidad de transferir canales a otros usuarios y alguno arreglos de fallos importantes).
- Mastodon de 4.4 a 4.5 (ahora es posible citar otras publicaciones siempre que el autor lo permita).
Por su parte, al Ryzen 9 9900X se le ha desactivado al XMP (pasa de 6400MT/s a 4800MT/s, un 25% de reducción). Se hace para reducir las tensiones de 1.4 a 1.1V y es una cuestión puramente térmica y de durabilidad: como esas memorias casquen, tenemos un problema de los grandes. Esto va a tener un impacto directo en los modelos de IA. En estos momentos, haciendo tareas en directo (conforme van apareciendo y sin repasar cosas pasadas), todavía sobra capacidad. Cuando el calor empiece a aflojar, se volverá al esquema XMP.
-
Se ha implementado el tratamiento de los hilos federados por el traductor. Hasta ahora no era posible capturar los hilos porque Nodebb no exponía ninguna lista que incluyera estos hilos pero con la última actualización, eso ha cambiado. De esa forma, ya no veréis el molesto mensaje "Este post se está procesando/traduciendo..." indefinidamente. De momento se ha probado con algunos hilos viejos (no todos están incluidos porque estamos en modo "bajo consumo") pero se aplicará a todos los nuevos.
Por otra parte, se ha implementado una miniherramienta que necesito para gestionar los servidores y que os comparto por si os sirve: desde extra.hardlimit.com/ip obtendréis vuetra IP pública en una cadena de texto plano, sin maquetación HTML.
-
Actualización rápida:
- Parece que la gente de Nodebb sí había hecho bien lo de poner los videos incrustados en los cross-post. Era fallo mio al no haber activado una opción. Desde ayer, están apareciendo en hilos nuevos.
- Se ha contratado a un nuevo becario para procesar hilos: un tal Smith. Se hace porque si HIAL-9000 es el que publica los hilos y el que los procesa, no va a ver sus propios hilos al procesarlos porque no salen en su lista de "no leídos" (típica tontería por la que ayer perdí casi una hora dándole vueltas a los scripts a ver por qué HIAL-9000 no quería procesar sus propios hilos
).
-
@cobito Impresionante todo lo que estás implementando solo "for fun". Es un gran trabajo, ¡gracias!
-
Venga, última chapa del curso:
Se acerca el final de trimestre y con él, el parón vacacional que este año tendrá una duración superior a la habitual.
Banco de pruebas
Al final, el banco de pruebas se ha quedado a medias y va a quedar en fase beta unos meses. Quiero seguir haciéndole cosas antes de firmarlo.
Básicamente se han incorporado nuevas funcionalidades a la interfaz junto a herramientas secundarias, pero el Core queda sin modificaciones a pesar de que ha recibido muchos cambios que no se han incluído. Hay varias decisiones que tengo que tomar.
La razón de no haber sacado más novedades es que el código del programa era (y sigue siendo en cierta medida) un auténco quebradero de cabeza. Ahora está muchísimo mejor a como estaba, pero es algo que ha estado abandonado todo este tiempo a diferencia del resto de páginas, que han recibido algo de cariño en los últimos 5 años. De hecho, la mayor parte del código del Core era prácticamente el mismo desde las primeras versiones estables (¿hace 10 años?).
En resumen: se han dedicado muchas horas a trabajo no visible, pero que ha servido para acelerar a partir de ahora la publicación de novadades.
Me ha sido imposible dedicarle tiempo en los últimos días, así que probablemente no haya más betas hasta después del verano.
Portada
Ha sido la gran abandonada. Después de experimentar con el tema de los resúmenes de los videos, he visto que la IA es superior a mi entendiendo, corrigiendo y cocentrando conceptos. La portada consiste básicamente en hacer un pequeño resumen de noticias que hasta ahora he hecho manualmente. Y la verdad es que después de ver eso, me ha empezado a dar una pereza increíble seguir haciendo esa tarea. Es como tener una excavadora último modelo con el depósito lleno de combustible y apoyado sobre sus ruedas, un pico y una pala carcomidas del uso esperando a que alguien las coja para cavar una zanja. ¡Qué pereza cavar una zanja a pico y pala! La parte penosa de todo esto es que la razón de ser de la portada ha sido, entre otras cosas, hacer ver que hay personas detrás manteniendo el sitio. Y delegar el esfuerzo cognitivo de esta tarea a una máquina, va a eliminar de un plumazo ese "símbolo" de actividad. Por otra parte creo que en estos momentos no es necesario dar muestras de actividad sólo por darlas.
En general, la portada es algo que no me motiva demasiado desde hace tiempo, porque es difícil encontrar verdaderas noticias (el mundo de la informática personal está esencialmente muerto), porque el sensacionalismo está a la orden del día y porque a veces hay que contrastar informaciones inverosímiles (pero potencialmente ciertas). Es mucho tiempo y esfuerzo y el valor que aporta es discutible. Si una máquina puede hacer ese trabajo y encima lo puede hacer mejor que yo, ¿por qué no?
Todavía tengo que tomar la decisión final, pero es bastante probable que a la vuelta (en algún momento de septiembre), la portada sufra un cambio radical en sus entrañas. Es la única página que no ha recibido horas de desarrollo en el último año y ya que se va a rehacer, creo que se va a enfocar el tema de esta forma.
Foro
Estoy intentando inyectarle actividad desde la instancia de Peertube. Me parece que es el lugar adecuado para publicar contenido en formato texto y de hecho, estaba pensando en migrar las entradas de mi antiguo blog retro al foro. También estaba pensando en crear entradas sobre videos temáticos (en estos momentos me viene a la cabeza The Computer Chronicles) en un nuevo subforo retro ya que es una rama con mucho ímpetu en estos momentos.
En este aspecto, estoy todavía en terreno desconocido. Si las redes sociales y el SEO agresivo acabó con la era de los foros hace más de una década, estoy dándole vueltas a ver de qué forma encaja un foro en la actual era IA. Ofrecer contenido como punto de partida a discusiones no es complicado siempre que siga habiendo generación de contenido en la instancia de Peertube. Que sea un centro de consultas sigue siendo una posibilidad en cuestiones muy específicas y poco documentadas. Pero atraer a gente que participe de forma directa, es un reto.
Veré si rescato viejas fórmulas...
Museo
Este trimestre ha estado totalmente abandonado. Sigue siendo el centro de gravitación de mi interés porque es donde me siento más cómodo haciendo experimientos y sin miedo a que se rompan cosas. Pero no puedo dejar abandonado el resto y además, uno también se cansa de estar siempre con lo mismo.
Me apetece meterle contenido a puntapala y poner al límite todo el desarrollo que hice hace unos meses a ver cómo se comporta a gran escala, pero la falta de almacenamiento me lo impide. Aún así, tengo algunas ideas para exprimir hasta el último byte de los 2TB que tenemos asignados a este proyecto.
Infraestructura
Tenemos tres urgencias: más almacenamiento, más capacidad de procesamiento GPU y más eficiencia energética. Son tres máquinas que, a día de hoy, cuestan una fortuna inasumible. Durante el próximo curso, la adquisición de este hardware va a depender exclusivamente de la evolución de los precios y eso nos sitúa, como poco, en 2027.
Por su parte, la vorágine acaparadora de scalpers IA se ha reducido mucho hasta el punto de que, en estos momentos, estamos a régimen nominal tanto en el uso de ancho de banda como de CPU. Y si os soy sincero, tengo verdadera curiosidad por saber las razones que hay detrás de esta caída abrupta de la actividad con respecto al momentum que vive la IA, independientemente de que esta caída sea muy beneficiosa para nosotros. Saber a dónde se dirige la informática personal en los próximos meses depende de forma directa de lo que haga la "industria" de la IA, y siendo un ámbito tan sumamente opaco, tener estas muestras discretas de información siempre ayudan un poco a entender la situación.
Para el curso que viene no tengo nada especial planificado: naturalmente, el programa del banco de pruebas será prioritario. En esencia me voy a dejar llevar un poco más por lo que me apetezca en cada momento (sin dejar nada abandonado y con cierta planificación) y en cómo de posible sea comprar el hardware planificado ya que en estos momentos estamos un poco limitados en ese aspecto.
Si puedo conseguir un rato, podría sacar algo más hasta la primera semana de julio, pero poca cosa ya.
¡Feliz verano!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login