Tech News
← Home  ·  All topics

Programming Language

13 GoKawiil briefs on this topic

Musl libc and sshd flaw lets unauthenticated users gain root shell on Alpine-based systems

A vulnerability was found stemming from musl libc's crypt function returning the sentinel string "*" when a password is too long to hash, which collides with the Unix convention that "*" denotes a locked account. Because sshd hashes login attempts for locked accounts to prevent timing attacks, this collision allows an unauthenticated user to obtain a shell—potentially as root—on musl-based systems lacking PAM, such as the official Alpine AWS image.

Developer releases Copper, a minimalist low-level language with OOP and generics

A developer has published Copper, a programming language positioned as an alternative to C. It adds features such as type inheritance, generics, multiple return values, out-of-order definitions, deferred statements, option types, and a Ruby-inspired syntax, while emphasizing minimalism and fast compilation. The project is released under the BSD license.

Systemd Adds Optional Rust Support for New Leaf Programs

Systemd's Git repository now allows individual systemd programs, rather than core library code, to be written in Rust as an alternative to C. The first beneficiary is a planned systemd-keyring-setup utility, which handles provisioning keyrings and enrolling X.509 certificates into dm-verity, fs-verity, and BPF keyrings during boot, though that component itself hasn't merged yet.

AI tools uncover decade-old PHP security flaws, triggering global patch alert

Researchers using artificial intelligence discovered long-standing vulnerabilities in PHP, the programming language that powers a large share of the world's websites. The flaws, undetected for more than ten years, prompted governments and cyber-security agencies to issue an emergency fix and advise some website operators to take systems offline until patched. Cyber-security firm Wiz and OpenAI, whose AI tools helped surface the issues, both described the discovery as among the most significant security findings in recent memory.

Parin, a lightweight 2D game engine for D, launches on Show HN

A developer has released Parin, an open-source 2D game engine written in the D programming language, positioning it between minimal libraries like raylib and full engines like Godot. It includes a pixel-perfect physics engine, dialogue system, tile map and animation tools, a basic UI library, and integrations with Box2D, Steamworks, ENet and microui, with support for Web, Windows, Linux and macOS, installable via DUB.

ICCS to host Fortran 70th anniversary event in Manchester on December 1, 2026

The Institute of Computing for Climate Science (ICCS) is organizing a free event marking 70 years since Fortran's first manual was published, to be held at the Science and Industry Museum in Manchester. The program includes a keynote from Damian Rouson of Lawrence Berkeley National Laboratory, lightning talks, breakout discussions, and an evening reception featuring a demonstration of the historic 'Baby' computer. Registration is open now and closes November 9, 2026, with both in-person and remote Zoom attendance options.

Blog post catalogs where GCC and Clang diverge from the C standard

A technical blog post lists concrete cases where GCC and Clang do not conform to the ISO C standard by default, including treatment of the asm keyword as a reserved extension and GCC's hardcoded FLT_ROUNDS macro that ignores runtime rounding-mode changes via fesetround. The author also flags unfinished coverage of the standard's five floating-point pragmas as an area of ongoing non-conformance.

Blog post catalogs C quirks for programmers coming from Rust

A developer who learned Rust before C published a blog post listing surprising features of the C language, aimed at Rust programmers new to C. Topics include C's historically missing boolean type (added via stdbool.h in C99 and made a true primitive in C23) and its use of null-terminated strings instead of Rust's length-tracked string slices.

C's variable-size integers explained as portability feature, not flaw

An educational retrospective on teaching C explains why types like int, short, and long have no fixed bit-width in the language specification. The author recounts how sizeof(int) returned 2 bytes on old 386 machines versus 4 bytes on most modern systems, and recommends students use the stdint.h header for fixed-width types like int8_t and uint16_t when consistent sizes are required.

MartyPC brings cycle-accurate 8088 emulation to IBM PC/XT retro development

MartyPC is an open-source emulator for early IBM PC and compatible machines, running on Windows, Linux and macOS. Built from scratch by a hobbyist learning Rust, it now offers cycle-by-cycle accurate emulation of the Intel 8088 CPU, validated against a real 8088 chip wired to an Arduino MEGA.

Snap! visual language aims to teach kids and adults real computer science

Snap! is a block-based programming environment designed to be approachable for beginners while still supporting rigorous computer science education. It extends the block-programming style popularized by Scratch but adds features that let users build higher-order functions, recursion, and other advanced concepts typically reserved for text-based languages.

Explainer details how Logo builds programs from custom procedures

The piece walks through Logo's structure, showing how programmers define new procedures using 'to' and 'end' and combine simple shapes like squares into more complex ones like flowers and gardens. It notes that user-defined procedures behave identically to built-in primitives, so there's no visible distinction between them once written.