News Nug
Unplanned exposure during diving in the spent nuclear fuel pool (2011)

Published: 2024-09-25 | Origin: Hacker News

Failed to generate summary

Hunting for Gems: How Ruby's package management system evolved

Published: 2024-09-25 | Origin: Hacker News

The content discusses the use of libraries, known as "gems," in Ruby and Rails projects, highlighting their importance in saving time by allowing developers to use existing code instead of writing it from scratch. It reflects on the challenges of sharing Ruby code in the 90s, including manually managing the $LOAD_PATH to include downloaded libraries. The introduction of RubyGems in 2003 is presented as a solution to these challenges, simplifying the process of installing and managing dependencies. Instead of manually downloading and

Winamp finally open sources their code, under license preventing forking and source/binary distribution

Published: 2024-09-25 | Origin: /r/programming

Winamp, launched in 1997 by Nullsoft, is an iconic multimedia player known for its flexibility and compatibility with various audio formats. Although its development slowed over time, the opening of its source code to the community has allowed for updates and modernization. Currently, the Winamp desktop client is built using Visual Studio 2019 and specific libraries like Intel IPP and OpenSSL. The development process involves modifying and unpacking several libraries, including libvpx and libmpg123, and requires

Ask HN: What do you use to backup your VMs?

Published: 2024-09-25 | Origin: Hacker News

The described backup setup prioritizes security and efficiency. The backup server operates independently by pulling snapshots without needing to know ZFS encryption keys, ensuring a zero trust environment. The main server cannot access the backup server; access is only one-way, configured through IPSEC in OPNsense. The backup server is isolated in its own subnet, accessible only from selected locations. This arrangement leverages the self-starting automation of the Shelly Plug S. For database backups, the user transitioned from using a system

Avoiding if-else Hell: The Functional Style

Published: 2024-09-25 | Origin: /r/programming

The author reflects on their experience developing a taxi-hailing mobile app, particularly focusing on its early driver assignment code, which consisted of several nested if statements. While the code may seem manageable, it can quickly become complex with additional checks like surge pricing. To improve the code structure, they suggest "flattening" it through refactoring techniques. The first step involves converting certain if statements into guard clauses, which simplifies the code by removing levels of nesting. Following this, the author recommends using a decision

I have 2000 old VHS tapes in my garage and don't know what to do with them

Published: 2024-09-25 | Origin: Hacker News

The author has approximately 2000 VHS tapes containing off-air recordings of British television from the late 1990s and early 2000s, which they hope to donate to an archive for preservation. This week highlights the 50th anniversary of Ceefax, the UK's first teletext service launched on BBC1. Teletext was a crucial source of real-time news and information before the internet became mainstream, widely used by millions. The author fondly recalls spending hours on teletext, particularly

LevelDB Explained - Understanding Advanced C++ Techniques

Published: 2024-09-25 | Origin: /r/programming

The article discusses advanced C++ techniques used in LevelDB, emphasizing the relationship between the breadth and depth of knowledge required to understand its implementation. While LevelDB's code is generally comprehensible, it employs certain uncommon techniques such as flexible arrays, symbol exporting, and Pimpl class design. A key example is the use of a flexible array member, `char key_data[1]`, in the `LRUHandle` structure to manage variable-length data. This member serves as a placeholder, with

Go and my realization about what I'll call the 'Promises' pattern

Published: 2024-09-25 | Origin: Hacker News

The author reflects on their realization regarding the challenges of implementing 'promises' or asynchronously waitable objects in Go, particularly for handling asynchronous execution with ordered reporting of results. They want to perform multiple DNS lookups in parallel while maintaining the order of printed results to avoid confusion. The common pattern in Go for submitting requests to worker pools allows handling completions in any order, but this does not meet their requirement for ordered reporting. The author discusses two options for achieving their goals: using a single channel with

NIST to forbid requirement of specific passwords character composition

Published: 2024-09-25 | Origin: Hacker News

Of course! Please provide the content you'd like me to summarize.

Doom on a Modified Rotary Phone

Published: 2024-09-25 | Origin: Hacker News

Dialrhea is a repurposed rotary phone that was modified to control the classic video game Doom via Bluetooth. This project was completed in just two days during the “Internet Of Shit” hackathon in Vilnius, Lithuania, where participants created amusingly pointless yet functional devices. The team behind Dialrhea won the "Least Shitty Project" award and the "Public Prize," which was a gold-painted rubber drainage cleaning pump. The idea for Dialrhea stemmed from a conversation fueled

SQL Tips and Tricks

Published: 2024-09-25 | Origin: Hacker News

The document emphasizes the importance of feedback and outlines various SQL tips and tricks that the author has learned over time. Key points include: 1. Use a leading comma in the SELECT clause for clarity and easier identification of omitted commas. 2. Employ a dummy value in the WHERE clause to facilitate dynamic condition adjustments. 3. Indent code for better readability and easier comprehension by others. 4. The :: operator can be used for type casting in some RDBMSs, but not in SQLite. 5.

No more blurry fonts in Linux

Published: 2024-09-25 | Origin: Hacker News

The author discusses their desire to use the Inter font, which is featured in elementary OS, on their own desktop. They experienced issues with font clarity but found a solution. By adding a line to the /etc/environment file to enable stem-darkening for all fonts, they were able to enhance the boldness of fonts on smaller screens, significantly improving the appearance of the Inter font. After rebooting, they enjoyed clearer, more beautiful fonts. The post concludes with a friendly wish for happy hacking.

FP8 data type - all values in a table

Published: 2024-09-25 | Origin: /r/programming

Floating-point numbers are essential for representing a wide range of values, utilizing separate bits for the sign, exponent, and mantissa. In programming, common formats include double-precision (64-bit) and single-precision (32-bit) floats, with support from programming languages like C/C++ and processors. Graphics programming may also utilize 16-bit floating-point types, known as half-floats, which have limited precision and range compared to single or double precision. The half-float type is adequate

Scaling Sidekiq at Gusto (2022)

Published: 2024-09-25 | Origin: /r/ruby

Over the past year, Gusto has significantly transformed its use of Sidekiq, a Ruby-based background job queueing system, resulting in reduced costs, fewer outages, and improved usability for engineers and customer experience. The company utilizes Sidekiq for various tasks, including sending emails and processing large volumes of data for over 200,000 customers. Amid the economic challenges of March 2020, Gusto focused on cost-cutting measures and discovered inefficiently underutilized compute resources used for Side

XBill for PalmOS receives an update after 25 years

Published: 2024-09-25 | Origin: Hacker News

In the late 1990s, the SlackWare Linux distribution included a game called xBill, where players prevent 'Bills' from spreading Windows, reflecting concerns about Microsoft's antitrust practices at the time. In 1999, a version called pBill was released for Palm OS, but it did not work on color devices and could cause reboots on the latest models. As the market shifted towards color PDAs with the release of the Palm IIIc, pBill did not gain significant popularity.

Hack GPON – how to access, change and edit fibre ONTs

Published: 2024-09-25 | Origin: Hacker News

Most Optical Network Terminals (ONTs) use customized firmware tailored to vendor and ISP requirements, leading to locked functionality. The performance of ONTs can vary based on the Optical Line Terminal (OLT) and ISP settings, making it difficult to switch between external ONTs and SFP modules due to the numerous checks performed by OLTs. The wiki offers resources, including links, codes, and tutorials for accessing and modifying ONTs. The content is distributed under the MIT License, with external references remaining

Show HN: Hosting my website using my C web server

Published: 2024-09-24 | Origin: Hacker News

The content discusses a custom web server designed to host a personal blog, emphasizing its robustness and capability to operate without reverse proxies. The server is built from scratch, and the creator has invited hacking attempts from Reddit, leading to the collection of amusing and malicious request logs. The server is designed to be fast and is compared to nginx in terms of performance. It supports HTTP by default, with an option to enable HTTPS through the integration of BearSSL. Users can customize server configurations and serve static content from a

Cringey, But True: How Uber Tests Payments In Production

Published: 2024-09-24 | Origin: /r/programming

The content emphasizes that most engineers waste time testing software and tend to prefer testing in controlled staging environments over production due to fears of introducing errors. However, it argues that testing in production is essential and advocates for a combined approach: extensive pre-deployment testing followed by early production testing. The piece highlights that while testing in a staged environment can identify easy bugs, legacy systems—which are often seen as problematic—actually improve over time if maintained correctly. Ultimately, the best way to ensure high-quality software is to

What I tell people new to on-call

Published: 2024-09-24 | Origin: /r/programming

The author shares their experiences with on-call responsibilities as a software engineer, highlighting a transition from initial excitement to eventual appreciation of the role. They emphasize the importance of understanding that being on-call involves assessing and addressing issues rather than trying to fix everything alone. Key advice includes asking critical questions about affected systems, their impact, and whether users are affected to determine the best course of action. The author encourages engineers not to feel pressured to handle problems alone and to call for backup when necessary, stressing that collaboration improves

Rust panics under the hood, and implementing them in .NET

Published: 2024-09-24 | Origin: /r/programming

The author is developing a Rust to .NET compiler named rustc_codegen_clr, focusing on implementing Rust features using .NET APIs, particularly the concepts of panicking and unwinding. This article is the first in a series discussing Rust panics and unwinding, with a focus on the compiler's handling of unwinding. The project serves as a compiler backend that replaces traditional native code generation with .NET Common Intermediate Language (CIL), stored in .NET assemblies for execution by the .NET