Progressive JSON: Streaming Data Like a Progressive JPEG

2025-06-01
Progressive JSON: Streaming Data Like a Progressive JPEG

This article explores progressive JSON, a method to improve JSON data transfer efficiency. Traditional JSON requires waiting for the entire data load before parsing, unlike progressive JSON, which resembles progressive JPEGs by first transmitting the data framework and then progressively filling in details. The article compares depth-first and breadth-first data streaming, noting that React Server Components (RSC) utilize a breadth-first approach combined with Suspense components to achieve progressive UI loading, enhancing user experience.

Read more

VS Code Extension: Auto Add async/await Keywords

2025-05-05
VS Code Extension: Auto Add async/await Keywords

This VS Code extension automatically adds missing `async/await` keywords when you save a TypeScript file. A `tsconfig.json` file is required in your project folder. The extension intelligently adds `async` and `await` keywords to ensure asynchronous functions run correctly. To prevent `await` from being added to a specific asynchronous function, add the comment `// no-await` at the end of the function call. The first conversion might be slow, but subsequent conversions will be faster.

Read more
Development

The Institute of September the Thirtieth: A Singular Obsession

2025-05-15
The Institute of September the Thirtieth: A Singular Obsession

This article details the fascinating and quirky Institute of September the Thirtieth, a New Orleans-based institution dedicated to archiving every conceivable artifact from September 30th, 1939. Founded by the enigmatic Vincent Rosier, a multifaceted entrepreneur, the Institute's collection ranges from newspapers and diaries to menus and children's toys, even encompassing meteorological and astronomical data. While seemingly disparate, these items provide invaluable insights for historians, linguists, and sociologists, offering a unique lens on time and memory. The Institute's journey isn't without internal conflict and challenges, including debates on its focus and digitization. Yet, its singular dedication draws researchers from around the globe, making it a captivating testament to human curiosity and the preservation of the past.

Read more
Misc

WebUSB Bypass: Controlling a Raspberry Pi Pico via a U2F Exploit

2025-03-14
WebUSB Bypass: Controlling a Raspberry Pi Pico via a U2F Exploit

Control a Raspberry Pi Pico from your browser without WebUSB! This article details a method that exploits a vulnerability in the U2F security key protocol. By emulating a U2F security key, data is disguised as a signature, bypassing browser security restrictions to control the Pico's LED. While this leverages a U2F flaw, it's not a security vulnerability in itself, only working on devices intentionally designed with this vulnerability. The article stresses the risks of connecting unknown USB devices.

Read more
Hardware

Open-Source Social Media Rivals Meta in Kickstarter Campaign

2025-01-25
Open-Source Social Media Rivals Meta in Kickstarter Campaign

Daniel Supernault, the Canadian developer behind Pixelfed, Loops, and Sup – open-source alternatives to Instagram, TikTok, and WhatsApp – is launching a Kickstarter campaign to raise $1 million for further development. These apps are part of the growing decentralized 'fediverse', using the ActivityPub protocol. Driven by a desire for alternatives to centralized platforms controlled by billionaires, these open-source apps are gaining traction. The campaign also aims to support the Pixelfed Foundation and address Supernault as a single point of failure for the project.

Read more

ZubanLS: A Blazing-Fast Python Language Server Built in Rust

2025-06-27

In 2012, the author created Jedi, a widely used Python autocompletion library. However, its speed limitations became apparent. In 2020, the author rebuilt from scratch using Rust, resulting in ZubanLS, the first truly fast Python language server after five years of dedicated work. ZubanLS targets professionals needing precision, reliability, and speed, addressing longstanding issues in tools like Mypy and Pyright by prioritizing performance without sacrificing features. Support for Django, go-to-definition, completions, and other LSP features is in progress. The initial 2025 release might not be perfect; feedback is welcome to shape future development.

Read more
Development

pnpm Update: Delayed Dependency Updates and Advanced Dependency Finding

2025-09-18
pnpm Update: Delayed Dependency Updates and Advanced Dependency Finding

The latest pnpm release introduces two significant features: First, a new `minimumReleaseAge` setting delays the installation of newly released dependencies to mitigate security risks. Second, it adds support for finder functions in `.pnpmfile.cjs` allowing for custom search rules via `pnpm list` or `pnpm why` with the `--find-by` flag, enabling more granular dependency searching; for example, finding packages with a specific React version in their peerDependencies. Bug fixes include resolving deprecation warnings in Node.js 24 and ensuring a non-zero exit code when a process is cancelled with Ctrl-C.

Read more
Development

The Pioneer of Climbing Gyms: Peter Mayfield and City Rock

2025-03-23
The Pioneer of Climbing Gyms: Peter Mayfield and City Rock

Forty years ago, there wasn't a single purpose-built climbing gym in the US. In 1990, climbing prodigy Peter Mayfield founded City Rock Gym, California's first commercial climbing gym, revolutionizing the sport. He not only created a training space for experienced climbers but also made climbing accessible to the masses, particularly children and women. City Rock prioritized safety, introduced membership systems and professional climbing classes, setting a standard for future gyms. While City Rock eventually closed, Mayfield's innovative spirit and social responsibility continue through his non-profit, Gateway Mountain Center, benefiting youth.

Read more
Startup climbing

Xinjiang Fossils Reveal a Post-Permian Extinction Refuge

2025-03-21
Xinjiang Fossils Reveal a Post-Permian Extinction Refuge

A new study reveals a fossil site in Xinjiang, China, documenting a life refuge following the end-Permian mass extinction. While about 21% of plant species went extinct, drought-resistant conifers and fern-like plants survived, allowing terrestrial ecosystems to recover within 75,000 years. The site yielded diverse plant spores and animal fossils, indicating a humid or sub-humid regional climate with abundant vegetation providing water and food for land animals. This challenges conventional understanding of post-extinction recovery speed, showcasing life's remarkable resilience.

Read more

LSP Client in Clojure: 200 Lines of Code, Minimalist Language Server Interaction

2025-05-11

This blog post details how the author implemented a minimal LSP client in under 200 lines of Clojure code and used it to build a command-line code linter. It walks through the implementation of the base communication layer, JSON-RPC layer, and client API for the LSP protocol. The author then discusses the challenges of using LSP in practice, particularly the reliance of most language servers on notifications instead of requests for diagnostics, making a simple command-line tool more complex than expected. Finally, the author summarizes the pros and cons of LSP and speculates on the future of WASM-based language servers.

Read more
Development

India's 'De-Sinicization': A China-Dependent Electronics Revolution

2025-08-14
India's 'De-Sinicization': A China-Dependent Electronics Revolution

India's ambitious plan to displace China as the world's electronics manufacturing hub ironically relies heavily on Chinese companies for technology, manufacturing expertise, and operational models. Key Indian players, like Dixon Technologies, heavily depend on Chinese partners for crucial components and design. This dependence, despite significant government investment, casts doubt on the plan's long-term viability. The success hinges on maintaining stable commercial relations between India and China amidst escalating economic competition and geopolitical tensions – a considerable risk.

Read more

Extracting reStructuredText References with Emacs Regexes

2025-09-12
Extracting reStructuredText References with Emacs Regexes

This post demonstrates how to extract reference targets from a reStructuredText file using Emacs regular expressions and ELisp functions. The author first defines a regex to match references, then uses the `re-search-forward` function to find matches and `match-string-no-properties` to extract the matched reference target. Finally, an ELisp function is written to automatically extract all references, with a complete code example provided.

Read more
Development Regular Expressions

Oracle's Java Pricing Changes Spark Mass Exodus

2025-01-29
Oracle's Java Pricing Changes Spark Mass Exodus

Oracle's January 2023 shift in Java SE licensing from per-user/processor to per-employee pricing has triggered a massive backlash, with costs skyrocketing. Dimensional Research reveals that 88% of Oracle Java users are considering switching to open-source alternatives, reaching 92% in France and 95% in Germany. This reflects a growing need for cost-effective Java solutions, forcing organizations to reassess their long-term Java licensing and support strategies.

Read more
Development

Neovim's Complexity: Two Years Later, I Miss Vanilla Vim

2025-02-01
Neovim's Complexity: Two Years Later, I Miss Vanilla Vim

After nearly two years of using Neovim, the author finds its complexity overwhelming. While Neovim is faster and more powerful, its plugin management and configuration are far more intricate than the simplicity of vanilla Vim. Neovim's plugin ecosystem is rich, but requires extensive configuration and coordination to function correctly, a stark contrast to Vim's straightforwardness. The author hopes for a future Neovim that prioritizes user experience, reducing unnecessary configuration and offering more out-of-the-box functionality.

Read more
Development Plugin Management

OpenSSL Rejects QUIC API: A Setback for HTTP/3 Adoption?

2025-01-21
OpenSSL Rejects QUIC API: A Setback for HTTP/3 Adoption?

OpenSSL, the most popular TLS library, has rejected adding a QUIC API to its upcoming releases, posing a significant hurdle for widespread HTTP/3 adoption. Despite a community pull request (PR8797) offering the necessary APIs, the OpenSSL management committee decided to build a complete QUIC stack from scratch, a process expected to take several years. This decision has sparked community frustration, as mature QUIC libraries already exist. Microsoft and Akamai created quictls, an OpenSSL fork with the QUIC API, as a workaround. However, this isn't a sustainable solution, leaving the future of HTTP/3 adoption uncertain due to OpenSSL's choice.

Read more
Development

VictoriaLogs Practical Ingestion Guide: Mastering Log Processing

2025-08-17
VictoriaLogs Practical Ingestion Guide: Mastering Log Processing

This VictoriaLogs guide provides a concise overview of its core concepts, covering essential documentation points and common issues encountered in real-world scenarios. It delves into the crucial concepts of message, time, and stream, explaining how optimal stream field selection enhances query performance, preventing "fat streams" and high cardinality problems. The guide also details VictoriaLogs' ingestion mechanisms, timestamp formats, compression strategies, and nested field handling, enabling users to leverage VictoriaLogs for efficient log processing.

Read more
Development Log Processing

Tracing Circuits: Uncovering Computational Graphs in LLMs

2025-04-02
Tracing Circuits: Uncovering Computational Graphs in LLMs

Researchers introduce a novel approach for interpreting the inner workings of deep learning models using cross-layer transcoders (CLTs). CLTs decompose model activations into sparse, interpretable features and construct causal graphs of feature interactions, revealing how the model generates outputs. The method successfully explains model responses to various prompts (e.g., acronym generation, factual recall, and simple addition) and is validated through perturbation experiments. While limitations exist, such as the inability to fully explain attention mechanisms, it provides a valuable tool for understanding the inner workings of large language models.

Read more

Facebook Admits Error in Linux Group Censorship

2025-02-02
Facebook Admits Error in Linux Group Censorship

Facebook has admitted that its heavy-handed censorship of Linux groups and topics was a mistake. Following reports earlier this week about the censorship of DistroWatch, a popular Linux distribution website, Facebook confirmed the error and stated the issue had been resolved. However, inconsistencies remain, with DistroWatch's Facebook page still showing access limitations. The incident highlights Facebook's ongoing struggles with content moderation and raises questions about its new community-based approach.

Read more
Tech

CopyParty: Turn Any Device Into a File Server with Resumable Uploads/Downloads

2025-07-29
CopyParty: Turn Any Device Into a File Server with Resumable Uploads/Downloads

CopyParty is an amazing project that transforms almost any device into a fully-featured file server accessible from any web browser, supporting resumable uploads and downloads. It boasts a user-friendly interface, handles various file types, and offers rich features like file indexing, media previews, audio transcoding, and granular permission control. Simply run `copyparty-sfx.py` to get started, or visit the read-only demo server running on a NUC in my basement. CopyParty aims for simplicity, power, and cross-platform compatibility, making it an ideal emergency solution for transferring files between devices.

Read more

F-Droid 2024 Recap: Decentralization and Ecosystem Growth

2025-01-23
F-Droid 2024 Recap: Decentralization and Ecosystem Growth

F-Droid made significant strides in 2024, focusing on decentralizing app distribution and expanding its ecosystem. Funded by grants from the Filecoin Foundation and EU Horizon Europe, F-Droid improved core client logic, added support for IPFS and Filecoin, and upgraded the Repomaker tool for easier repository creation. The community also shone, adding over 402 new apps and updating over 7205 apps. In 2025, F-Droid will continue its work on the Mobifree project and welcomes two new team members to further strengthen its infrastructure and enhance user experience.

Read more
Development Open-Source Apps

Void: The Open-Source Cursor Alternative

2025-05-08
Void: The Open-Source Cursor Alternative

Void is an open-source code editor designed as an alternative to Cursor. The full source code is available on this repository, welcoming contributions from all. A contribution guide (HOW_TO_CONTRIBUTE) and codebase guide (VOID_CODEBASE_GUIDE) are provided. The team is readily accessible via their Discord server and email ([email protected]). Void is a fork of the VS Code repository and encourages collaboration and suggestions.

Read more
Development Cursor alternative

Revolutionary Laser-Free Alternative to LASIK Emerges

2025-08-18
Revolutionary Laser-Free Alternative to LASIK Emerges

Scientists have developed a non-invasive surgical technique called electromechanical reshaping (EMR) that promises to revolutionize vision correction. This technique uses an electric potential to alter the pH of the cornea, making it malleable, and then shapes the cornea using a platinum 'contact lens' template to correct vision. Animal tests showed EMR is comparable to LASIK in correcting myopia, but without incisions, with less expensive equipment, and potentially reversible, even reversing some chemical-induced corneal cloudiness. While still in its early stages, EMR holds significant promise as a safer and more affordable vision correction method.

Read more

VimLM: A Local LLM-Powered Coding Assistant for Vim

2025-02-15
VimLM: A Local LLM-Powered Coding Assistant for Vim

VimLM is a local LLM-powered coding companion for Vim, inspired by GitHub Copilot. It integrates contextual code understanding, summarization, and AI assistance directly into your Vim workflow. It's model-agnostic, using any MLX-compatible model, boasts a native Vim UX, and is entirely offline for enhanced security. Users interact via intuitive keybindings for tasks like code conversion, generation, and summarization, leveraging deep context understanding encompassing the current file, selections, referenced files, and project structure.

Read more
Development coding assistant

Stop Meta from Using Your Data for Ads: A Step-by-Step Guide

2025-02-25

This article provides a step-by-step guide on how to prevent Meta from using your data collected from other apps and websites to target you with ads. The instructions cover disabling activity information from ad partners, preventing ads from ad partners, and disconnecting your account from data shared with Meta by other companies. Follow these simple steps to regain more control over your privacy and reduce targeted advertising.

Read more

The Wallflower Fractal: A Decade-Long Mathematical Odyssey

2025-05-22

Starting from a simple geometric doodle from middle school, the author delves into a decade-long mathematical exploration. The fractal pattern, affectionately called "the wallflower," can be generated using iterative algorithms or L-systems. The author discovers subtle differences between the patterns generated by these two methods, and reveals the connection between them through the introduction of a matrix base number system and vector digits, explaining the origin of the "approximately 27-degree" rotation angle. Further, the author explores 3D and 4D extensions of the fractal and proposes a novel number system based on quaternions. This article is full of mathematical ingenuity and surprising discoveries, showcasing the beauty of mathematics and the joy of exploration.

Read more
Misc

Arroyo: A Blazing Fast JSON Decoder Built on Arrow

2025-03-26
Arroyo: A Blazing Fast JSON Decoder Built on Arrow

Arroyo stream processing engine faces the core challenge of efficiently handling massive JSON data streams. This article details how Arroyo leverages Arrow's columnar in-memory format and a two-pass JSON decoding strategy to dramatically improve JSON deserialization speed. The first pass constructs a flattened "tape" data structure, while the second pass builds Arrow arrays concurrently based on the schema. This approach is up to 2.3x faster than Jackson-based deserializers in benchmarks. Furthermore, Arroyo extends support for raw JSON and bad data handling, enabling more flexible processing of real-world streaming data.

Read more
Development JSON decoding

2025 US Financial Crisis: A Different Beast Than 2008

2025-04-04
2025 US Financial Crisis: A Different Beast Than 2008

The 2008 financial crisis stemmed from complex financial engineering and excessive leverage. The looming 2025 crisis, however, is self-inflicted, born from protectionist trade policies and isolationism. While 2008 saw government intervention, albeit failing to address underlying issues, 2025 finds the US lacking a coherent response and facing eroding international trust. This points towards a far more severe downturn, potentially a depression. Unlike 2008's attempts to paper over bad behavior, the 2025 crisis lacks a clear path to recovery, hampered by a lack of international cooperation and severely damaged global relationships.

Read more

GPUHammer: Practical Rowhammer Attacks on GPU Memory

2025-07-16

Researchers from the University of Toronto have developed GPUHammer, the first successful Rowhammer attack against GPU memory, specifically GDDR6 memory in an NVIDIA A6000 GPU. The attack uses user-level CUDA code to bypass in-DRAM defenses like TRR, inducing bit flips across all tested DRAM banks. This allows a malicious user to tamper with other users' data in shared, time-sliced environments. A proof-of-concept demonstrated an accuracy degradation attack against a victim's DNN model, reducing accuracy from 80% to 0.1% with a single bit flip. While enabling ECC mitigates the risk, it can introduce up to a 10% slowdown for ML inference workloads on the A6000.

Read more

Burrows-Wheeler Transform: Unlocking Efficient Data Compression

2025-02-01

The Burrows-Wheeler Transform (BWT) is a clever data compression algorithm that rearranges a character string to create runs of similar characters, making it easier to compress using techniques like run-length encoding. Imagine shuffling a text to create many consecutive 'the's – much easier to compress! BWT sorts all cyclic shifts of the string and extracts the last column. Remarkably, this transformation is reversible without needing extra data. Used in bzip2 and other compression tools, BWT also finds applications in genomics, image compression, and more. Its efficiency is further enhanced by algorithms that update the transform quickly after text edits, minimizing computational overhead.

Read more

Algebraic Types Aren't Scary: A Simple Explanation Using Set Theory

2025-09-17

This article provides a clear and accessible explanation of algebraic types, using the perspective of set theory where types are viewed as sets of values. It delves into product types (similar to structs or classes) and sum types (like Option or Result types), comparing their implementation in an interpreter using algebraic types versus object-oriented approaches (inheritance or the Visitor pattern). The author argues that algebraic types offer superior conciseness, readability, and maintainability, avoiding unnecessary complexity. The conclusion emphasizes product and sum types as fundamental ways to combine types, sufficient for most programming tasks.

Read more
1 2 430 431 432 434 436 437 438 596 597