Linux 7.3 Released
Linux kernel 7.3 has been released, featuring 18,765 commits from over 3,000 developers, including many first-timers. Major updates include new filesystem features, performance improvements, and system call enhancements. (lwn.net)
It argues that constructors should never throw exceptions, perform asynchronous work, or cause side effects; they should only put objects into a simple, valid state. Practical recommendations include moving parsing and I/O out of constructors: implement a Date.parse(string) that uses a parser and calls a private constructor, make a Database type a state machine with an uninitialized state and an explicit connect() method (which unit tests will appreciate), and perform API requests in factory functions that pass resolved data into constructors. Minor side effects like logging are tolerated, but anything that can fail or has latency belongs outside the constructor.
The rationale draws on both C++ practice and general design principles: in C++ noexcept default constructors avoid half-constructed objects, resource leaks, and complicated cleanup during container operations, and similar predictability is desirable in other languages. Keeping construction simple enforces separation of concerns, makes object lifecycles explicit, and prevents surprising failures where objects are created in different places than they’re used. When objects require complex setup, the API should expose explicit lifecycle transitions or factory methods rather than hiding work in constructors.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.
Linux kernel 7.3 has been released, featuring 18,765 commits from over 3,000 developers, including many first-timers. Major updates include new filesystem features, performance improvements, and system call enhancements. (lwn.net)
Tmux is used to run multiple AI coding agents, including Claude Code, in named, detachable sessions that persist across connections. It enables scripting, monitoring, and managing several agents simultaneously through features like send-keys and capture-pane. (crystl.dev)
OmniPTY is an opinionated terminal emulator for macOS and Linux that features splits, workspaces, a file tree, and an integrated prompt. It is GPU-rendered and written in Rust. (github.com)
Building personal software factories is a waste of time for most developers, as AI tools can accomplish similar goals more efficiently. Instead, focus on learning how AI models work and applying automation to work-related systems for tangible benefits. (peterp.me)
The Free Pascal Compiler and Lazarus IDE now support dynamic packages, enabling quick creation and installation of components and plugins without rebuilding the IDE. This feature enhances flexibility by allowing programs to use replaceable plugins and modules, with some restrictions on unit names and package size. (getlazarus.org)
Mitos is a fork of Helix, a modal text editor with features like multi-cursor editing, syntax awareness, and built-in language tooling. It supports Rust development, debugging, image previews, and file navigation, and is open source under MPL-2.0. (mitos.computer)
Today's best Hacker News stories, summarized and screenshotted, one email a day.