Constructors Shouldn't Throw
Constructors in programming should not throw exceptions, as it can lead to unpredictable object states. Instead, constructors should handle errors gracefully, promoting safer and more reliable code. (t3.at)
OmniPTY is an opinionated, Rust-written terminal for macOS and Linux that bundles into one app the pieces people usually add around a terminal: splits and tabs, named workspaces, a vim-like file tree drawer, an integrated prompt, copy-mode with vim keys, a command palette, and a git-aware status bar. It deliberately replaces the ecosystem of tmux, external file managers and prompt frameworks by building them in, with a single reloadable TOML config, no telemetry, and an in-app updater that only checks for signed releases. Under the hood it uses GPU rendering on GPUI and alacritty_terminal’s PTY/VT parser so traditional programs (vim, htop, tmux) behave exactly as in other terminals while gaining GUI features like theme picker, fuzzy file finder, and pinned workspace layouts.
Feature specifics matter: inline images (kitty, iTerm2, sixel) render in scrollback at display resolution; the file tree follows the focused pane, supports modeless vim keys, drag-and-drop moves, git-dimmed files, and quick actions (y to insert paths at the prompt, cmd-click to open editor:line:col). Scrollback search supports live regex with toggles; copy mode makes scrollback a vim buffer; SSH and command awareness label panes and color borders based on activity and host. It bundles JetBrainsMono Nerd Font, keeps dotfiles untouched, and targets macOS 12+ or modern Linux (glibc 2.35+, Vulkan).
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.
Constructors in programming should not throw exceptions, as it can lead to unpredictable object states. Instead, constructors should handle errors gracefully, promoting safer and more reliable code. (t3.at)
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)
Resonance is a spatial compositor that organizes windows on stacked levels, merging features of floating and tiling window managers. Built from scratch and used daily, it dynamically manages window placement based on depth and space, functioning as a custom display server on Wayland. (onewireout.com)
Java 17's sealed classes allow explicit listing of permitted subtypes, enabling exhaustive pattern matching without default clauses. Adding new subtypes is a breaking change that requires recompiling consumers to avoid runtime errors. (neilmadden.blog)
Today's best Hacker News stories, summarized and screenshotted, one email a day.