Un desarrollador de bajo nivel denuncia el impacto de los LLM en su carrera

Un desarrollador de software con ocho años de experiencia en programación de bajo nivel ha publicado una reflexión personal sobre el impacto de los modelos de lenguaje de gran escala (LLM) en su profesión. El autor, quien se identifica como un 'codificador' enfocado en detalles, optimización de rend

C no es un lenguaje de bajo nivel: las CPU ya no son PDP-11 rápidos

Este artículo, publicado en ACM Queue por David Chisnall (Universidad de Cambridge), sostiene que C dejó de ser un lenguaje de bajo nivel hace décadas y que las vulnerabilidades Spectre y Meltdown son consecuencia directa de los esfuerzos de la industria por mantener esa ilusión. La definición de Al

Una conversión de timestamp a hora, minuto y segundo ocho veces más rápida

La descomposición de un timestamp diario [0‥86399] en hora, minuto y segundo es una operación omnipresente en bibliotecas de fecha y hora, pero las implementaciones mayoritarias —desde el kernel de Linux y glibc hasta Go, CPython, OpenJDK, V8, Boost y musl— la resuelven mediante divisiones y módulos

Tumble Forth: una guía para internarse en la programación de bajo nivel

Tumble Forth es una serie de artículos escritos por Virgil Dupras, autor de los proyectos Collapse OS y Dusk OS, pensada para guiar a programadores con experiencia —pero sin conocimientos de bajo nivel— hacia ese ámbito. El objetivo general es ampliar la perspectiva del lector sobre la informática m

sectorforth: un Forth de 16 bits para x86 que cabe en 512 bytes

sectorforth es una implementación minimalista de Forth para arquitecturas x86 de 16 bits que cabe íntegra en un sector de arranque de 512 bytes. El proyecto se inspira en un hilo de Usenet de 1996, en particular en la propuesta de Bernd Paysan, y se compone únicamente de ocho primitivas básicas —fet

DbgRs: cómo escribir un depurador desde cero en Rust

DbgRs es un proyecto personal de Tim Misiak, exintegrante del equipo de la plataforma Microsoft Debugger, que consiste en construir un depurador desde cero en Rust. El autor explica que ya abandonó ese equipo de Microsoft en dos ocasiones y en ambas comenzó un depurador propio; esta vez persigue dos

Desarrollo de videojuegos en Zig: una alternativa moderna a C y C++

Zig es un lenguaje de programación de propósito general que ha empezado a captar la atención de la comunidad de desarrolladores de videojuegos por su enfoque moderno, su gestión explícita de memoria y su sistema de errores basado en valores de retorno. A diferencia de C y C++, Zig incorpora desde el

El ejecutable Teensy revisado: cómo encoger un ELF conforme al estándar

Este artículo técnico retoma el reto de construir el ejecutable ELF para Linux x86 más pequeño posible, pero esta vez cumpliendo de forma estricta la especificación ELF. Partiendo de una versión previa de 91 bytes, el autor muestra cómo solapar el encabezado ELF y la tabla de cabeceras de programa,

ymawky: un servidor web escrito completamente en ensamblador ARM64

## ymawky: el servidor web escrito completamente en ensamblador ARM64 que desafía las convenciones del desarrollo En un panorama dominado por servidores web escritos en lenguajes de alto nivel como C, Go o Rust, un proyecto experimental está dando que hablar en la comunidad de desarrollo: ymawky, u

Optimizar una estructura de ping en C: de 12 KiB a 4 KiB por diversión

Un programador describe cómo, mientras trabajaba con un colega en un sistema de monitorización de conectividad basado en pings ICMP, fue reduciendo progresivamente el tamaño de la estructura de datos que almacena las entradas del anillo (ring buffer) de 512 elementos. Partiendo de un struct inicial

Riscrithm: Nuevo lenguaje agiliza el desarrollo RISC-V

Un nuevo dialecto de macro-ensamblaje llamado 'Riscrithm' ha sido desarrollado para simplificar el desarrollo en RISC-V. Este lenguaje actúa como un puente entre la legibilidad de un lenguaje de alto nivel y el control directo del hardware, compilando directamente a ensamblador RISC-V puro. Los desa

Verus: Nueva herramienta verifica código Rust

Investigadores han presentado Verus, una nueva herramienta diseñada para verificar la corrección del código escrito en Rust. El objetivo principal es asegurar la funcionalidad completa de código de sistemas de bajo nivel, basándose en principios de lenguajes de verificación existentes como Dafny, Bo

Mac OS X corre en Wii: un logro inesperado

Este artículo de Bryan Keller detalla el proceso de portar Mac OS X 10.0 (Cheetah) a la consola Nintendo Wii. La iniciativa, inicialmente considerada imposible por la comunidad, demuestra la viabilidad de ejecutar sistemas operativos complejos en hardware inesperado. El proyecto se centra en la adap

Endbot: Robot y efectos en 256 bytes, ¡increíble!

Endbot es una demostración audiovisual increíblemente compacta, que se ajusta en tan solo 256 bytes, diseñada para ejecutarse en el entorno DOS (específicamente a través de DosBox-X). Su tamaño minúsculo desafía las expectativas, logrando renderizar elementos visuales como un sprite de robot con dañ

Proyecto explora el chip DCJ11: belleza y programación

El proyecto DCJ11HackPlus es una fascinante iniciativa de Paula Maddox que se basa en el chip DCJ11, un procesador que, según la autora, es simplemente "hermoso". Este proyecto no es solo una demostración de aprecio por la estética del hardware, sino también una exploración profunda de la arquitectu

Programador descubre la dificultad del ensamblador

Este artículo del blog narra la experiencia de un programador de aplicaciones que, durante un período de desempleo, decidió seguir un tutorial para construir un sistema operativo en 1000 líneas de código, utilizando ensamblador. La principal conclusión es que sus habilidades de depuración, muy desar

TAL: Ensamblador seguro para software crítico

## Lenguaje Ensamblador Tipado (TAL): Un Puente Seguro entre Lenguajes de Alto Nivel y Hardware ¿Qué es y por qué es importante? En el mundo del desarrollo de software, especialmente en áreas críticas como sistemas operativos, kernels móviles y aplicaciones que requieren una seguridad extrema, la

Deno: Guía completa de Interfaz con Lenguajes de Bajo Nivel

El Denonomicon se presenta como una guía profunda sobre la Interfaz de Función Extranjera (FFI) de Deno, un tema que, aunque cubierto brevemente en la documentación oficial de Deno, requiere una explicación más detallada para su correcta utilización. La FFI es esencial para permitir que Deno, un ent

Kernel Oops: Guía para depurar errores en Linux

En el mundo del desarrollo de software, especialmente en sistemas operativos como Linux, los errores son inevitables. Un 'Kernel Oops' es un tipo de error que, a diferencia de un 'Kernel Panic' (que provoca un fallo del sistema), permite que el kernel se recupere. Este artículo explica cómo depurar

R3Forth: Lenguaje eficiente para sistemas limitados

R3Forth es un lenguaje de programación y un entorno de ejecución diseñado para la eficiencia y la portabilidad, especialmente útil en entornos con recursos limitados o donde la predictibilidad del rendimiento es crucial. Su origen está ligado a la necesidad de crear un sistema de control robusto y a

Software moderno: ¿Más grande, menos eficiente?

El artículo "The Apollo 11 Paradox" plantea una crítica contundente a la dirección actual del desarrollo de software, señalando una preocupante tendencia a la ineficiencia y la pérdida de conexión con los fundamentos de la computación. El ejemplo citado, la disparidad entre los 4KB de RAM utilizados

Forth en 1KB: Un intérprete minimalista y experimental

PlanckForth es un proyecto experimental y divertido que consiste en implementar un intérprete de Forth a partir de un binario ELF (Executable and Linkable Format) extremadamente pequeño, de tan solo 1KB, escrito a mano. El objetivo principal no es la utilidad práctica, sino la exploración de cómo se

Zig: Manejo de errores con 'Error Payloads'

Este artículo del blog de srcreigh.ca introduce una técnica innovadora para el manejo de errores en el lenguaje de programación Zig, llamada "Error Payloads". En esencia, Zig permite definir tipos de datos personalizados para representar errores, que incluyen información adicional (el "payload") jun

Apple actualiza documentación del kernel XNU

El archivo `xnu/doc/scheduler/sched_clutch_edge.md` pertenece al código fuente del kernel XNU de Apple, el núcleo del sistema operativo macOS, iOS, watchOS y tvOS. Aunque el título sugiere un documento sobre un aspecto específico del planificador de tareas (scheduler), la información proporcionada e