Sistemas & Desarrollo
143 meneos
4943 clics
Imágenes JPEG regresivas [ENG]

Imágenes JPEG regresivas [ENG]  

Una de las características interesantes de los archivos JPEG es que existe la opción de guardar primero los componentes de baja frecuencia. Esto significa que una imagen descargada parcialmente se mostrará en baja resolución en lugar de cortarse. Chrome representa alrededor de 90 fotogramas de dicha imagen antes de darse por vencido. Otros navegadores, como Firefox, tienen más paciencia, pero una imagen de 90 fotogramas parece funcionar en casi todas partes. Con esto, es posible empaquetar un vídeo completo dentro de una sola imagen.
86 57 0 K 61
86 57 0 K 61
152 meneos
2190 clics
La pila de entrada en Linux, una descripción general de la arquitectura de un extremo a otro [ENG]

La pila de entrada en Linux, una descripción general de la arquitectura de un extremo a otro [ENG]

Exploremos y desofusquemos la pila de entrada en Linux. Nuestro objetivo es comprender sus componentes y lo que hace cada uno. El manejo de entradas se puede dividir en dos partes, separadas por una capa común: gestión a nivel de kernel, la capa media (exposición) y la gestión en espacio de usuario. Intentaremos darle sentido a todo esto, una cosa a la vez, con un enfoque lógico y coherente.
84 68 0 K 72
84 68 0 K 72
138 meneos
1862 clics
Entendiendo cómo se reserva memoria con la función 'malloc' de la biblioteca 'glibc' [ENG]

Entendiendo cómo se reserva memoria con la función 'malloc' de la biblioteca 'glibc' [ENG]

Siempre me fascinó cómo funciona la asignación de memoria en el heap. Preguntas como ¿cómo se obtiene la memoria dinámica del kernel?, ¿con qué eficiencia se gestiona la memoria?, ¿está gestionado por el kernel, por la biblioteca o por la propia aplicación? o ¿se puede explotar la memoria del montón estuvieron en mi mente durante bastante tiempo. Pero sólo recientemente tuve tiempo de comprenderlo. ¡Así que aquí me gustaría compartir mi fascinación convertida en conocimiento!
72 66 0 K 63
72 66 0 K 63
114 meneos
2460 clics

El desplazador de barril (barrel shifter) del Intel 80386 [ENG]  

Actualmente estoy construyendo un núcleo compatible con 80386 en SystemVerilog, impulsado por el microcódigo Intel original extraído del silicio 386 real. El modo real ya está operativo en simulación, con más de 10.000 casos de prueba de una sola instrucción superados con éxito y se está trabajando en funciones del modo protegido. En el transcurso de este trabajo, se han examinado en detalle los rincones del microcódigo 386 y del silicio; esta serie documenta los hallazgos resultantes.
66 48 0 K 114
66 48 0 K 114
16 meneos
114 clics
La sincronización del reloj es una pesadilla [ENG]

La sincronización del reloj es una pesadilla [ENG]

El tiempo parece simple, pero a los ingenieros nos quita el sueño algo tan básico como mantener sincronizados los relojes. La respuesta está en esta simple afirmación: no existe un reloj global. Cuando tienes miles de máquinas repartidas en centros de datos, continentes y zonas horarias, cada una de las cuales funciona de forma independiente, la pregunta de "¿qué hora es?" se vuelve sorprendentemente compleja. La sincronización del reloj es el núcleo de algunos de los problemas más desafiantes en los sistemas distribuidos y afecta a todo.
12 meneos
103 clics

io_uring para bases de datos de alto rendimiento: cómo y cuándo utilizarlo [ENG|PDF|1,5 MB]

Estudiamos cómo los sistemas de bases de datos modernos pueden aprovechar la interfaz io_uring de Linux para lograr una E/S eficiente y con baja sobrecarga. io_uring es una interfaz de lotes de llamadas al sistema asíncronas que unifica las operaciones de almacenamiento y red, abordando las limitaciones de las interfaces de E/S existentes en Linux. Sin embargo, la simple sustitución de las interfaces de E/S tradicionales por io_uring no siempre reporta beneficios en cuanto al rendimiento.
11 meneos
248 clics
En contra del formato Markdown [ENG]

En contra del formato Markdown [ENG]

Markdown es este lenguaje de marcado ligero. Todo el mundo (relativamente; entre programadores, escritores y otros "usuarios avanzados") lo utiliza. Los LLM lo usan. Así que está destinado a comerse el mundo. Pero eso no significa que Markdown sea bueno. Ya he criticado a Markdown antes. Pero ese texto no envejeció bien, por razones no relacionadas con Markdown. Así que decidí que mi aversión por Markdown debería tener un nuevo hogar literario. Aquí hay razones por las que no me gusta este lenguaje de marcado incompleto y con fugas.
7 meneos
329 clics
La BeBox: Una de las computadoras más bellamente construidas de la década de 1990 [ENG]

La BeBox: Una de las computadoras más bellamente construidas de la década de 1990 [ENG]  

Finales del 2000. En el escritorio de mi habitación de la residencia estudiantil había una torre PC gris y azul como ninguna otra que alguien hubiera visto antes. El logo de Be en el frontal, una disquetera de 3,5 pulgadas asomando por la parte inferior de las bahías de unidades y la rejilla vertical que ocultaba dos columnas de LED verdes que parpadeaban al ritmo de la carga de la CPU. Era una estación de trabajo PowerPC dual con un sistema operativo prácticamente inédito: BeOS. Por entonces estudiaba informática y era un equipo fascinante.
7 meneos
143 clics
Ubuntu 26.04 se parecerá más a GNOME Shell [ENG]

Ubuntu 26.04 se parecerá más a GNOME Shell [ENG]

El equipo de diseño gráfico del tema gráfico Yaru de Ubuntu está llevando a cabo una refactorización de su hoja de estilo de GNOME Shell antes de la próxima versión de soporte a largo plazo, Ubuntu 26.04 LTS, que saldrá en abril e incluirá GNOME 50. En lugar de continuar manteniendo una hoja de estilo personalizada para GNOME Shell, utilizará el tema predeterminado y aplicará los cambios que desee sobre el tema original de GNOME sin modificarlo directamente.
8 meneos
176 clics

Representación de tipografías desde los primeros principios [ENG]  

La representación de tipografías es una tecnología que a menudo se da por sentado: es difícil imaginar interactuar con computadoras sin ella. ¿Pero qué tan difícil podría ser realmente? Resulta que es mucho más difícil de lo que piensas: el texto se puede representar en tamaños arbitrarios. ¿Cómo se codifican los datos de fuentes de manera que los glifos sigan siendo de alta calidad independientemente de la resolución de destino?; las tipografías suelen ser curvas, los píxeles no. ¿Cómo se pueden suavizar las glifos para que queden bien?
6 meneos
134 clics
Mission Center versus Resources: el enfrentamiento definitivo entre monitores de sistemas Linux [ENG]

Mission Center versus Resources: el enfrentamiento definitivo entre monitores de sistemas Linux [ENG]  

El ecosistema de aplicaciones GNOME está en auge estos días. Cualesquiera que sean sus necesidades, probablemente exista una aplicación para ello. O dos. ¡O tres (no es broma)! Dos de las aplicaciones más elegantes para monitorizar su sistema (acertadamente llamadas "monitores de sistema", por supuesto) son Mission Center y Resources. Ambos usan libadwaita para proporcionar imágenes elegantes, GUI responsivas y funcionalidad familiar para el entorno de escritorio GNOME. Pero, ¿cuál es el adecuado para ti?
6 meneos
126 clics
Nuevo sistema operativo con microkernel en 10 días: de cero a Google Compute Engine [ENG]

Nuevo sistema operativo con microkernel en 10 días: de cero a Google Compute Engine [ENG]

Me tomé una semana libre para disfrutar de un experimento: si reuniera todo el conocimiento y las tecnologías modernas, ¿cómo sería un sistema operativo microkernel de uso general en 2026? Mi objetivo era hacerlo funcionar en Google Compute Engine y ¡está funcionando! Utilicé un LLM (GPT-5.2-Codex) para revisar y depurar mi código, no para codificación agente. Esta creación de prototipos estuvo llena de preguntas abiertas y decisiones de diseño, donde el objetivo no está claro para el LLM, ni siquiera para mí.
5 meneos
99 clics
Arachne C2: cuando el Team Server deja de existir

Arachne C2: cuando el Team Server deja de existir  

Existe un supuesto que prácticamente nadie cuestiona cuando diseña un framework de Command & Control: en algún lugar debe existir un servidor. Pues hoy os traemos una herramienta de C2 que parte precisamente de esa pregunta: Arachne C2. El siguiente esquema refleja la arquitectura pública del proyecto: una topología descentralizada sin servidor C2 central, con descubrimiento P2P mediante DHT, mensajería PubSub (GossipSub) y comunicaciones autenticadas y cifradas entre el operador y los agentes.

menéame