News Nug
Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, …)

Published: 2026-02-16 | Origin: /r/programming

The content discusses two different approaches to regular expression matching, highlighting their contrasting performance characteristics. The widely used method, exemplified by Perl, exhibits drastically slower matching times compared to the Thompson NFA approach, which is used in some implementations like awk and grep. When matching a certain regular expression (a?3a3) against a 29-character string, Perl takes over sixty seconds, while the Thompson NFA does so in just twenty microseconds—making it a million times faster for this specific case

Arm wants a bigger slice of the chip business

Published: 2026-02-16 | Origin: Hacker News

Failed to fetch content - HTTP Status - 403

How to build a browser-based 3D modeling app (technical overview)

Published: 2026-02-16 | Origin: /r/programming

Kokraf is a browser-based 3D modeling tool designed for real-time creativity, catering to hobbyists, designers, and developers. It offers an intuitive interface for modeling and viewing 3D objects without requiring installation. Users can try it live at kokraf.com, ideally using a desktop browser like Chrome. For local use, the project can be run by opening it in Visual Studio Code and using the Live Server extension to view the index.html file. The application encourages feedback and provides documentation for

Building a Self-Hosted Google Trends Alternative with DuckDB

Published: 2026-02-16 | Origin: /r/programming

Failed to fetch content - HTTP Status - 403

JavaScript-heavy approaches are not compatible with long-term performance goals

Published: 2026-02-16 | Origin: Hacker News

The author presents a long opinion piece advocating for server-centric approaches over client-heavy ones in web development, particularly criticizing the reliance on excessive JavaScript in both Single-page Applications (SPAs) and Multi-page Applications (MPAs). With a background in web performance at Automattic, the author shares insights gained from extensive experience dealing with loading performance and runtime issues, highlighting common problems such as large bundle sizes and framework-specific inefficiencies. While acknowledging that their views are based on personal experiences rather than extensive data

Error payloads in Zig

Published: 2026-02-15 | Origin: Hacker News

The author describes a method for handling error payloads in Zig using a union-based `Diagnostics` type for each function. This approach minimizes code bloat at call sites by allowing the `Diagnostics` type to be defined inline, with an error set generated directly from an enum tag. The generated type acts as a wrapper for an optional payload. The `withContext` method is key to associating a payload with an error, exemplified by using `sqlite.ErrorPayload.init` to save a significant amount

Lightweight Markdown publishing inside Rails (no CMS, no DB)

Published: 2026-02-15 | Origin: /r/ruby

The content appears to be a corrupted or encoded PNG image file, specifically its header (IHDR) and data (IDAT) sections. This type of data is typically binary and not interpretable as text, which likely explains why it is not comprehensible in a traditional sense. It includes various data signatures and characteristics typical of image file formatting. If you need assistance with PNG files specifically or any image processing, please provide more context or a specific question!

Magnus Carlsen Wins the Freestyle (Chess960) World Championship

Published: 2026-02-15 | Origin: Hacker News

Magnus Carlsen (Norway) has won the 2026 FIDE Freestyle Chess World Championship, defeating Fabiano Caruana (USA) with a final match score of 2.5–1.5 in Weissenhaus, Germany. Carlsen secured his victory after drawing the final game, having turned around the match in game three from a losing position. This championship is notable as it is the first officially recognized Freestyle Chess World Championship by FIDE and marks Carlsen's

I’m joining OpenAI

Published: 2026-02-15 | Origin: Hacker News

The author announces that they are joining OpenAI to work on making AI agents accessible to everyone while transitioning their project, OpenClaw, to an independent foundation. They express surprise at the widespread interest generated by their previous work and feel overwhelmed by various opportunities and offers. Their goal is to create user-friendly AI tools and they believe that partnering with OpenAI will facilitate this process due to access to cutting-edge research and shared vision. The author emphasizes the importance of keeping OpenClaw open-source and appreciates the

Local WebSocket: Building Real-Time Apps That Work Without the Cloud

Published: 2026-02-15 | Origin: /r/programming

Failed to fetch content - HTTP Status - 403

Built Splitwise MCP(implemented in ruby)

Published: 2026-02-15 | Origin: /r/ruby

The content emphasizes the importance of user feedback and provides guidance on using a Ruby MCP server that exposes 35 Splitwise API tools through the Model Context Protocol. The server is compatible with various MCP clients like Claude Code, Claude Desktop, and Cursor. Users are instructed to add their Splitwise API key through the .env file or the client configuration. It also notes that either the SPLITWISE_API_KEY or SPLITWISE_OAUTH_ACCESS_TOKEN is mandatory. Additionally, the content suggests how to configure JSON

How Michael Abrash doubled Quake framerate

Published: 2026-02-15 | Origin: /r/programming

In the 1999 release of the Quake source code, John Carmack noted that Quake's performance could be significantly improved through hand-crafted assembly optimizations. To investigate this claim, the author tested the framerate of the original winquake.exe on a Pentium MMX 233MHz. After disabling certain features that made it impossible to compare C and assembly performance, the original winquake achieved a framerate of 42.3 fps. After compiling a version with assembly optimizations,

How to Choose Between Hindley-Milner and Bidirectional Typing

Published: 2026-02-15 | Origin: /r/programming

The article discusses the choice between using a Hindley-Milner (HM) type system and a Bidirectional (Bidir) type system when developing a new programming language. The author suggests that rather than framing the decision as a choice between these two systems—a false dichotomy—developers should consider whether their language requires generics. This reframing addresses the underlying needs of the language rather than merely comparing the two type systems. It highlights the importance of unification, a key process in type variable handling

Modern CSS Code Snippets: Stop writing CSS like it's 2015

Published: 2026-02-15 | Origin: Hacker News

The content discusses a project by naeemnur that compares outdated CSS hacks with modern, clean alternatives. Each week, subscribers receive a comparison of an old CSS technique alongside its modern replacement, emphasizing that many commonly searched hacks now have native solutions.

Cheat sheet for basic Array methods visualized [OC]

Published: 2026-02-15 | Origin: /r/ruby

The content appears to be a hexadecimal representation of a PNG file, complete with byte sequences that are typical for image format data. It includes elements such as the header (IHDR), which signifies the beginning of an image file. The remaining data consists of compressed image data (IDAT) segments, though it's largely unreadable in text form due to the binary nature of the data. Overall, this content does not convey specific, understandable information beyond its technical structure and format as part of a PNG image file

LT6502: A 6502-based homebrew laptop

Published: 2026-02-15 | Origin: Hacker News

The content discusses a unique project involving the design of a laptop based on the 6502 processor. The creator acknowledges the unconventional nature of the project but expresses enjoyment in developing a portable solution, as opposed to working with a stationary setup of circuit boards. The specifications of the laptop are briefly mentioned, along with several images showing various assembled views. The memory map of the device is stable, and the creator has added new commands to the EhBASIC programming language. A loading error was encountered in the process

Redefining Go Functions

Published: 2026-02-15 | Origin: /r/programming

The author describes a Perl subroutine designed to memoize not only itself but also its calling functions, allowing for a cascading effect throughout the codebase, increasing speed while using more memory. This feature relies on Perl's ability to modify functions at runtime, a practice sometimes referred to as "monkey patching." While the author primarily programs in Go, which does not natively support such modifications, they argue that it is still possible to manipulate memory and functions at a low level in Go. They illustrate

Ring programming language version 1.26 is released!

Published: 2026-02-15 | Origin: /r/programming

In this chapter, the new features and changes in the Ring 1.26 release are introduced. The update includes several new games, namely Tank3D, DaveTheFighter, LineDrawing3D, and CodeRooms3D, as well as new packages like RingSlint, Archive, Proc, and Closure. Key highlights of the features include: - **Tank3D Game**: Features 12 levels. - **Games**: Players must solve programming puzzles in CodeRooms3

Package Management Namespaces

Published: 2026-02-15 | Origin: /r/programming

The content discusses the significance of naming conventions in package management systems, emphasizing that these rules are critical yet difficult to change once established. Most package managers like RubyGems, PyPI, and crates.io use flat namespaces with a first-come-first-served model for names. While this allows for concise and memorable package names (e.g., `gem install rails`), it leads to issues such as name scarcity. As repositories grow, desirable names are often claimed and can remain inactive, resulting in multiple

The Next Two Years of Software Engineering

Published: 2026-02-15 | Origin: /r/programming

The software industry is experiencing a significant shift as AI technology evolves from basic autocomplete functions to advanced agents capable of executing development tasks autonomously. This transformation is occurring in a context where a focus on profitability has replaced the previous tech hiring boom, resulting in companies valuing experienced hires and smaller, more effective teams. At the same time, a new generation of developers, who are pragmatic about job stability and accustomed to AI assistance, is entering the workforce. The future of software engineering through 2026 is uncertain