Show HN: NES Contra (1987) port (ASM –> C and then C –> WebAssembly)
A browser-based port of the 1987 NES game Contra converts its assembly code to C and then WebAssembly. It supports solo play and online two-player games. (epoyraz.github.io)
Ginux is an experimental, Rust-first x86-64 operating-system prototype that aims to run Linux programs without relying on the Linux kernel. It boots as a single UEFI image containing its own kernel and an administration controller running in user mode. The kernel provides process and memory management, scheduling, filesystems, networking, devices, and a Linux-compatible interface. Its central isolation unit is the “domain”: a kernel-managed environment with its own processes, address spaces, filesystem views, capabilities, resources, and lifecycle. OCI images supply domain filesystems, but Ginux itself supplies execution and isolation. The embedded controller configures devices and networking, manages persistent settings and image caches, and creates and supervises domains without running with kernel privileges.
The project demonstrates multiple isolated domains, selected unmodified Alpine and Rocky Linux programs, and Rocky Linux 10 reaching systemd’s multi-user target. Its tested platform is a QEMU x86-64 Q35 machine with OVMF, virtio devices, and an Intel IOMMU; it can run under KVM on Linux or QEMU’s emulator on Apple Silicon. Linux compatibility remains limited: of 375 Linux 6.12 x86-64 syscall numbers, 82 are classified as complete, 245 as partial, and 48 as policy-denied, so tested workflows do not establish broad compatibility. Hardware support, networking, storage persistence, resource enforcement, security validation, and physical-machine testing are also incomplete. Ginux is intended for research and architecture experiments, not production use or replacement of Linux.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.
A browser-based port of the 1987 NES game Contra converts its assembly code to C and then WebAssembly. It supports solo play and online two-player games. (epoyraz.github.io)
PostgreSQL’s TOAST storage made the table much smaller, and counting or scanning rows was faster than with the larger uncompressed table. But reading a field inside every toasted value required far more buffer reads, showing that TOAST can trade space savings for slower access to large values. (pgedge.com)
Large GROUP BY hash tables cause frequent slow RAM accesses, leaving CPUs stalled even when monitoring shows 100% usage. Processing data in smaller chunks can improve cache use and speed up aggregation, even if it requires more CPU work. (pivotlake.io)
Enlightenment 0.28 adds initial NetBSD support, a NetworkManager module, and native PipeWire mixer support while retaining PulseAudio compatibility. The release also improves window management, display handling, and X11 and Wayland support, alongside numerous fixes and code cleanups. (phoronix.com)
Nonna is a TypeScript dependency-injection framework and ahead-of-time compiler that avoids reflection and runtime dependencies. It supports Node.js, Deno, Bun, edge runtimes, and major frontend frameworks, with request scoping and deterministic lifecycle hooks. (nonna.nodeboot.io)
Jepsen found 96 bugs in ParticleDB versions 1.1.4 through 1.1.18.11.rc-22, including crashes, data loss, and serious transaction anomalies. Most issues were fixed, but committed writes could still disappear and serializable transactions still had anomalies; Orkes says a later release resolves the remaining problems. (jepsen.io)
Today's best Hacker News stories, summarized and screenshotted, one email a day.