News Nug
Ethersync: Peer-to-peer collaborative editing of local text files

Published: 2025-07-29 | Origin: Hacker News

Ethersync is a real-time collaborative editing tool for local text files, suitable for pair programming and note-taking, and considered a complement to Git. It is currently in active development with some bugs present, and works across various platforms including Linux, macOS, Android, and Windows Subsystem for Linux. Users can connect their directories to sync changes instantly when using compatible text editors. The tool provides precompiled binaries on GitHub and offers a Nix flake for easier integration into shell paths. Contributions

Go's race detector has a mutex blind spot

Published: 2025-07-29 | Origin: /r/programming

The blog post discusses Ralf Jung's argument that Go is not a memory-safe language when data races occur, despite having a built-in data race detector. The author highlights a specific issue where Go's race detector fails to identify certain data races in executed code. In a scenario where one thread increments a shared counter with a lock and another thread increments it without a lock, the race detector only recognizes the race under certain timing conditions. This limitation arises from the way the detector models locks and analyzes "h

JavaScript retro sound effects generator

Published: 2025-07-29 | Origin: Hacker News

To save the sound file, right- or control-click the provided link, select "Save As...", and name the file with a ".wav" extension. The sound file named "sfx.wav" is authored by Eric Fredricksen and is a port of sfxr by DrPetter.

Which Parsing Approach?

Published: 2025-07-29 | Origin: /r/programming

The author discusses the significance of parsing in programming language design, likening it to Brussels sprouts—beneficial yet unappealing to many. They express concern that a general aversion to parsing has led to poor decisions in its implementation. The author reflects on their own previous misconceptions about the ease of parsing and emphasizes the importance of understanding it more thoroughly. At its core, parsing involves taking an input, such as a source file, and verifying its compliance with grammar rules. This process typically generates a

On the Edge of Competence

Published: 2025-07-29 | Origin: /r/programming

The author reflects on their experience as a senior engineer on X (@ordepdev), discussing the concept of a "circle of competence." They emphasize that this circle encompasses not just what they know theoretically but also their fluency and instinct in specific areas. When feeling uncertain or overwhelmed, it often indicates going beyond this circle. The author highlights the importance of understanding and clearly identifying what they know well, what they don’t know, and what is unknowable, which helps in making sharper decisions and building trust

Mountain of Ink

Published: 2025-07-29 | Origin: Hacker News

The content reviews five Akkerman fountain pen inks: 16 Oranje Boven, 17 Staten-Generaal Rood, 18 Garuda Rood, 19 Rood Haags Pluche, and 20 Pulchri Pink. Available for purchase at retailers like Vanness Pens, the inks were tested on Rhodia, Tomoe River, and Leuchtturm papers. Key performance features include a dry time of 40-80 seconds, medium water resistance, no feathering

NSF plans end to lone U.S. Antarctic research icebreaker

Published: 2025-07-29 | Origin: Hacker News

Failed to fetch content - HTTP Status - 403

An engineer's perspective: Why everything feels broken and what can we do

Published: 2025-07-29 | Origin: Hacker News

The content discusses the disparity in responsiveness between fast-moving technological entities like TikTok and slower-moving institutions such as educational systems and democratic governments. It highlights a framework proposed by entrepreneur Naval Ravikant that identifies three types of leverage—labor, capital, and code—each operating at different speeds (linear, exponential, and systematic). The text describes a phenomenon called "leverage arbitrage," where those with higher-order leverage (e.g., tech companies) can extract value from systems more rapidly than those with

I (a software engineer) tried to learn basic electronics by building fireflies 🤓

Published: 2025-07-29 | Origin: /r/programming

The post reflects a personal journey of learning electronics to create artificial fireflies, inspired by the absence of real ones. The author shares their initial ignorance about electronics, including confusion over basic concepts like voltage and current, and their eventual understanding through research and AI assistance. After assembling a basic blinking LED circuit, which surprisingly worked on the first try, the author encountered issues with the blink frequency and duration, realizing they needed it to blink only at night and at a slower pace. They discovered the use of a

Fintech dystopia

Published: 2025-07-29 | Origin: Hacker News

The text critiques the reliance on over-hyped technological solutions, such as cryptocurrencies and certain fintech models, to address deep-rooted societal issues, particularly regarding financial wellbeing. It emphasizes that while some technology appears promising, it often fails to solve the underlying problems or lacks a clear purpose. There is a concern that many in the tech industry are chasing the next big innovation without true applications in mind. Moreover, the private sector is unlikely to resolve structural economic issues like precarity and may instead exploit these conditions for

Think of software design patterns but for your mind and thoughts.

Published: 2025-07-28 | Origin: /r/programming

The author discusses their experience with mental models, particularly the concept of "Inversion," which they used during a leadership team discussion to identify ways to avoid demotivating engineers. This approach underscores the importance of understanding what NOT to do in order to promote a positive work environment. Mental models are described as valuable tools that help improve decision-making and problem-solving across various aspects of a career, especially after transitioning from technical to leadership roles. The article serves as an introduction to mental models for those interested in exploring

Sign in with Google in Chrome

Published: 2025-07-28 | Origin: Hacker News

The article discusses the "Sign in with Google" banners that appear on websites like Yelp, which are part of Google's One Tap user experience. It mentions that the StopTheMadness Pro browser extension can hide these banners, but they do not appear in Google Chrome at all. The author explains how to make Safari mimic Chrome by spoofing the User-Agent header, which removes the banners. However, Chrome does have its own popup annoyance—a One Tap dialog that appears if a user is already signed into their

I designed my own fast game streaming video codec – PyroWave

Published: 2025-07-28 | Origin: Hacker News

Maister's Graphics Adventures explores low-level graphics and engine programming, focusing on topics of interest, particularly low-latency video streaming. The article discusses the significant challenges of streaming gameplay over a network, emphasizing the critical need for minimal latency—ideally around 20 milliseconds. To achieve this, GPU-accelerated video compression using codecs like H.264 and HEVC is employed, although strategies that increase latency, such as flexible rate control and B-frames, must be minimized. The author reflects

Different Clocks

Published: 2025-07-28 | Origin: Hacker News

The content describes a set of clocks created as scalable vector graphics using JavaScript, which users are encouraged to modify. It displays the current time and timezone, as well as Unix time represented as a 32-bit signed integer. Time is shown in a specific format (yy:M:w:d:h:mm:ss) using polygons to represent different time aspects, such as months, weeks in a month, and days of the week. The graphic features several "blobs" with waves that represent time, with the

From Async/Await to Virtual Threads

Published: 2025-07-28 | Origin: /r/programming

In a post written on July 26, 2025, the author reflects on the programming interface of threads compared to async/await in Python, revisiting a previous discussion prompted by Mark Shannon about virtual threads. The author acknowledges that async/await has effectively introduced concurrent programming to a broader audience, despite its complexity and the need for intricate internal mechanisms. In contrast, threads are simpler but have historically presented issues due to suboptimal APIs. The author notes that while async/await prevents suspension until an

Janet: Lightweight, Expressive, Modern Lisp

Published: 2025-07-28 | Origin: /r/programming

Janet is a lightweight functional and imperative programming language compatible with multiple operating systems, including Windows, Linux, macOS, and BSDs. The complete language, including core components like the library, interpreter, compiler, and assembler, is under 1MB in size. Janet serves as an effective scripting language for system scripting and embedding in applications, with features suitable for rapid prototyping and dynamic applications. Primarily implemented in standard C99, it is relatively straightforward to port to new platforms and includes built

Why I write recursive descent parsers, despite their issues

Published: 2025-07-28 | Origin: /r/programming

Failed to fetch content - HTTP Status - 403

Yalep - Micro language based on Lean for teaching mathematical high-school proofs

Published: 2025-07-28 | Origin: /r/programming

Yalep is a micro language derived from Lean, designed specifically for teaching high school students how to construct mathematical proofs.

The many JavaScript runtimes of the last decade

Published: 2025-07-28 | Origin: /r/programming

In the past decade, the growth of new JavaScript runtimes and engines has allowed for the language's application in a variety of contexts, including cloud computing, edge computing, smart devices, mobile platforms, and microcontrollers. This article discusses the factors behind this diversification and the need for multiple runtimes and engines to meet different demands. The evolution of JavaScript on the server-side began with Node.js in 2009 and gained traction in serverless environments with AWS Lambda in 2014.

Socat – A utility for data transfer between two addresses

Published: 2025-07-28 | Origin: /r/programming

The content discusses the utility called socat (short for SOcket CAT), which is recognized for its versatility in network debugging. The author reflects on their positive experience with socat, particularly remembering its effectiveness in addressing a production issue. They note that socat has a steeper learning curve compared to similar tools like netcat, which many developers may prefer due to familiarity. Socat is capable of data transfer between a variety of address types, including network sockets, file descriptors, and various protocols (TCP