Category: Development

Efficient Indexing in Deep Learning Frameworks: A Comparison of Torch, TensorFlow, and Einops

2025-09-24

This article compares different approaches to efficient array indexing in PyTorch, TensorFlow, and Einops. By contrasting `torch.gather`, `torch.take_along_dim`, `torch.index_select`, `torch.take`, `tf.gather`, `tf.gather_nd`, and Einops's `einx.get_at`, it showcases their flexibility and efficiency differences in handling different dimensions and batched indexing, providing developers with a reference for choosing the optimal solution.

Development array indexing

Fortran vs. Python: An Unexpected Finding in Teaching Scientific Computing to Engineering Students

2025-09-24
Fortran vs. Python: An Unexpected Finding in Teaching Scientific Computing to Engineering Students

A professor who has taught an introductory scientific computing class for over 10 years using Python, questions whether Python is the optimal choice for beginners, especially in numerical linear algebra. He argues that a strongly-typed language like Fortran might offer a better learning experience. Python's flexibility, while convenient, leads to common student errors: confusion with the numpy library, indentation errors, and off-by-one errors stemming from 0-based indexing. In contrast, Fortran's strong typing and explicit loop structures help students better understand algorithms and reduce errors. The article uses the Jacobi method and QR decomposition as examples, comparing Python and Fortran implementations and arguing for Fortran's potential advantages in teaching, despite Python's broader ecosystem and versatility.

Development scientific computing

Updated: Introduction to Programming Languages Textbook

2025-09-24

Professors Jaemin Hong and Sukyoung Ryu from KAIST have released an updated version of their textbook, "Introduction to Programming Languages." This introductory book covers fundamental programming language concepts, including syntax, semantics, type systems, and interpreter/type-checker implementations. The authors encourage its use by anyone learning or teaching these concepts and acknowledge the contributions of students and teaching assistants. The latest edition features typo corrections and reduced page margins.

Development

Podman Desktop Surpasses 3 Million Downloads!

2025-09-24
Podman Desktop Surpasses 3 Million Downloads!

Podman Desktop, a desktop application for managing containers and Kubernetes, has achieved a remarkable milestone of 3 million downloads! This success is attributed to strong community support and continuous improvements, including smoother Kubernetes workflows, enhanced Docker compatibility, and daily usability enhancements. Podman Desktop has also joined the CNCF Sandbox project and is seeing increasing enterprise adoption. The team expresses gratitude for user feedback and commits to ongoing improvements, providing developers with an even more streamlined container and Kubernetes management experience.

Development

Rust's `fetch_max`: A Deep Dive into Compiler Optimization

2025-09-24
Rust's `fetch_max`: A Deep Dive into Compiler Optimization

During a recent engineering interview, a candidate used a single line of Rust code to solve a classic concurrency problem—tracking the maximum value across multiple producer threads. This sparked the author's curiosity: how does Rust's `fetch_max` actually work? The article delves into the compilation process from Rust code to assembly, revealing the layers of optimization involving macros, LLVM intermediate representation, compiler intrinsics, and target architecture specifics. On x86-64, `fetch_max` compiles down to a compare-and-swap (CAS) loop; on ARM, it directly utilizes the hardware's atomic max instruction. This article demonstrates the power of modern compilers and the low-level details behind high-level abstractions.

Development

Val Town Rewrites TypeScript Integration for Blazing-Fast Performance

2025-09-24
Val Town Rewrites TypeScript Integration for Blazing-Fast Performance

Val Town has completely rewritten its online editor's TypeScript integration, replacing the previous client-side Web Worker-based implementation with a cloud container-based Deno Language Server. This addresses issues with slow NPM package imports and TypeScript/Deno incompatibility in the old system, achieving 100ms deploy-on-save speeds. The new system leverages Cloudflare Containers to ensure user workload isolation and resource limits, and all code is open-sourced, providing developers with a smoother, more efficient TypeScript development experience.

Development Online Editor

Sublinear-Space Zero-Knowledge Proofs: A Breakthrough

2025-09-24
Sublinear-Space Zero-Knowledge Proofs: A Breakthrough

Researchers have developed SSZKP, a sublinear-space zero-knowledge proof system with a Rust implementation using KZG/BN254. It achieves O(√T) memory usage for a trace of length T, employing blocked IFFTs and streaming accumulators. SSZKP uses standard KZG commitments without buffering entire polynomials, offering a highly efficient approach for building scalable zk systems. The project includes complete prover and verifier CLI tools and end-to-end test scripts.

Development

The Future of Programming Languages: Is Popularity Dead?

2025-09-24
The Future of Programming Languages: Is Popularity Dead?

The 2023 programming language rankings are out, with Python again at the top. However, the rise of AI is disrupting the landscape. AI-assisted coding tools like ChatGPT and Cursor are reducing programmers' reliance on specific languages, even making the concept of language popularity itself ambiguous. Programmers are less concerned with syntactic details and more focused on program architecture and algorithm design. This makes it harder for new languages to emerge, and the popularity of languages may become as obscure as the relative popularity of railway track gauges. Future programmers will need a solid foundation in computer science, rather than mastery of a particular language.

Development

Hidden Webshell: Identical MD5 Hash PHP Files

2025-09-24
Hidden Webshell: Identical MD5 Hash PHP Files

Two PHP files share the same MD5 hash, but one is a webshell. This technique allows attackers to bypass cached webshell detection. A hexdump reveals subtle differences between the files, resulting in identical MD5 hashes despite vastly different functionality. This highlights the insufficiency of relying solely on MD5 hashing for security checks; a more comprehensive security strategy is needed.

Ghostty's Embeddable Terminal Emulator Library, libghostty, Launches

2025-09-24

The Ghostty project has released libghostty, an embeddable library for any application to integrate a modern, fast terminal emulator. The first release, libghostty-vt, is a zero-dependency library (not even libc!) providing an API for parsing terminal sequences and maintaining terminal state, directly extracted from Ghostty's core. A Zig API is available for testing now, with a C API coming soon. libghostty aims to solve the common shortcomings of existing terminal emulator implementations—incompleteness, bugs, and slow speed—offering developers a stable, reusable solution. Future plans include expanding functionality with input handling, GPU rendering, and more.

Development embeddable library

Three C++ Compiler Bugs: A Tale of Obscure Features

2025-09-23
Three C++ Compiler Bugs: A Tale of Obscure Features

Senior engineer Michael Gibson recounts discovering a clang++ compiler bug stemming from a combination of three rarely used C++ features. While implementing a REACHABLE assertion in their C++ SDK, they used static initialization, non-type template parameters, and anonymous namespaces. However, a new optimization pipeline in clang++ 17+ clashed with this combination, leading to symbol deduplication errors. This highlights the risk of obscure bugs arising from unusual feature interactions in complex systems and showcases the power of automated testing in uncovering such issues.

Development

Zig: The More Practical Choice for Real-World CLI Tools Than Rust

2025-09-23
Zig: The More Practical Choice for Real-World CLI Tools Than Rust

This article delves into the practical advantages of Zig over Rust for building command-line interfaces. The author illustrates the differences through a simple notes management CLI tool. While Rust's borrow checker ensures memory safety, its complexity and ceremony prove cumbersome for simple CLIs. Zig offers a more straightforward approach to memory management, combining `defer` statements and allocators for easier creation of efficient and safe code with less compiler overhead. For small CLI tools, Zig's lightweight, fast, and direct nature makes it more practical. While memory safety is important, maintainable code and developer efficiency are equally critical.

Development

Conquering JavaScript Fatigue: MESH, a Modular SSR Framework Built on HTMX

2025-09-23

Web development is facing "JavaScript fatigue" and "framework fatigue." This post explores using HTMX, a declarative approach to web development using HTML attributes, as a solution. However, HTMX's lack of structure led the author to create MESH, a modular server-side rendering (SSR) framework. MESH uses a "one component, one endpoint" model, leveraging Go and Web Components for SSR and hydration. Challenges with HTMX's inability to cross shadow DOM boundaries were overcome with clever workarounds. Real-time collaboration with Server-Sent Events (SSE) was also implemented. Ultimately, the author even removed HTMX entirely, using cleaner JS to achieve the same functionality, and reflects on the shortcomings and future directions of HTMX.

Development

Apple's WebKit: A Deep Dive into Participation in Web Standards

2025-09-23
Apple's WebKit: A Deep Dive into Participation in Web Standards

This article presents a deep dive into Apple's participation in Web standards, using data and charts to illustrate Apple's lagging adoption and lack of collaboration on crucial Web APIs like Web MIDI, Web USB, and Web Bluetooth. The author argues that Apple frequently cites 'privacy and security' concerns to reject or delay these features, yet provides little evidence to support these claims. Instead, data suggests Apple primarily plays catch-up with other browsers, rather than actively participating in co-design. The piece challenges Apple's engagement in Web standards and hints that its actions may be tied to protecting its App Store's business interests.

Development

oLLM: Running Huge-Context LLMs on Consumer GPUs

2025-09-23
oLLM: Running Huge-Context LLMs on Consumer GPUs

oLLM is a lightweight Python library enabling inference of large-context LLMs like gpt-oss-20B and qwen3-next-80B on consumer GPUs with 8GB VRAM (e.g., a $200 Nvidia 3060 Ti), handling up to 100k context. This is achieved without quantization, by offloading layer weights and KV cache to SSD and employing techniques like FlashAttention-2 and chunked MLPs. Supporting various LLMs, oLLM offers a user-friendly API for large-scale text processing tasks such as analyzing contracts, summarizing medical literature, and processing massive log files.

Development Low-Resource

arXivLabs: Community Collaboration on New arXiv Features

2025-09-23
arXivLabs: Community Collaboration on New arXiv Features

arXivLabs is an experimental framework enabling collaborators to build and share new arXiv features directly on the website. Participants, individuals and organizations alike, embrace arXiv's values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only partners with those who share them. Got an idea for a project that will benefit the arXiv community? Learn more about arXivLabs.

Development

Infected qBittorrent Docker Image Secretly Mines Crypto

2025-09-23

While migrating servers, the author discovered a suspicious process, netservlet, consuming excessive CPU resources within a hotio/qbittorrent Docker container. Investigation revealed netservlet to be a stealth cryptocurrency miner, likely XMRig or a variant. Analysis of a core dump revealed strings related to cryptocurrency mining (e.g., cryptonight, ethash_calculate_dag_item) and a mining pool address (auto.c3pool.org:19999). This highlights the importance of not trusting random Docker images, regularly monitoring system resources, and auditing hosts and containers to prevent security breaches.

Development cryptocurrency mining

StringZilla v4: CUDA-Accelerated SIMD String Processing Library Released

2025-09-23
StringZilla v4: CUDA-Accelerated SIMD String Processing Library Released

StringZilla v4 is here! This SIMD-first string processing library now supports CUDA, meaning it's blazing fast not only on CPUs but also on GPUs! Version 4 boasts numerous new features, including GPU-accelerated dynamic programming algorithms, several hash functions (including a novel AES-based one), and biosequence fingerprinting using 52-bit integers. Benchmarks show StringZilla v4 achieving over 500 GCUPS in Levenshtein distance calculations, outperforming other libraries by tens or even hundreds of times. The library is Apache 2.0 licensed and free for commercial use.

Development

YAML: The Configuration File from Hell?

2025-09-23

This article is a rant against the complexity of YAML configuration files, arguing that its purported 'human-friendliness' hides numerous pitfalls. The author uses several examples to illustrate inconsistencies between YAML versions, unpredictable parsing results, and potential security risks, such as issues with sexagesimal numbers, tags, and boolean parsing. The author recommends simpler alternatives like TOML or generating JSON to avoid YAML's problems, suggesting more powerful options like Nix and Python for complex configurations.

Development

Compiling a Tiny Functional Language to LLVM: A Simple Calculator Example

2025-09-23

This article details the process of compiling a small functional language to LLVM. Starting with a basic calculator language, the author progressively builds a lexer, parser, and LLVM code generator. The article thoroughly explains each step, including parsing with the megaparsec library, generating LLVM IR code using llvm-hs-pure and llvm-hs-pretty, and finally compiling and running the result. Through this example, readers can learn how to translate functional language features (such as pattern matching) into LLVM IR and how to use LLVM for code generation and compilation.

Development Functional Language

arXivLabs: Community Collaboration on Experimental Projects

2025-09-23
arXivLabs: Community Collaboration on Experimental Projects

arXivLabs is a framework enabling collaborators to develop and share new arXiv features directly on the website. Individuals and organizations involved embrace arXiv's values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners who share them. Got an idea for a project that benefits the arXiv community? Learn more about arXivLabs.

Development

A Programmer's Cat Turds and Self-Redemption

2025-09-23
A Programmer's Cat Turds and Self-Redemption

A programmer, witnessing a colleague consume cat turds disguised with mints at a bar, falls into deep thought. He reflects on years of encountering 'cat turds' in his programming work: pointless code changes, cumbersome processes, and his past impatience and lack of understanding towards others. He realizes he once prided himself on his expertise, even using it to judge others, but now feels weary and lost. The article explores the struggles programmers face in their careers and how to maintain passion and creativity, ultimately concluding with him seeking AI assistance to solve problems and reflecting on his own attitude, showcasing a journey of self-redemption.

Development

Build Your Own Local Speech-to-Text System with Python and Whisper

2025-09-23
Build Your Own Local Speech-to-Text System with Python and Whisper

Tired of the privacy risks of uploading sensitive audio to cloud transcription services? This post shows you how to build a local speech-to-text system using Python and OpenAI's Whisper model. Transcribe your audio files in under 10 minutes with 96% accuracy—completely free and processed locally on your laptop. The tutorial covers setting up FFmpeg, your Python environment, using the Whisper model, batch processing, creating SRT subtitles, and troubleshooting common issues. An alternative method using the `speech_recognition` library is also provided.

Development

RubyGems & Bundler Security Incident: A Treasurer's Explanation

2025-09-23
RubyGems & Bundler Security Incident: A Treasurer's Explanation

MINASWAN, a Ruby Central board member and treasurer, released a statement addressing the recent controversy surrounding the security of RubyGems and Bundler. He explains that due to a lack of communication and time pressure, the board made the decision to temporarily revoke access for some maintainers to ensure system security and avoid losing funding. He acknowledges communication failures and apologizes for the resulting fear and confusion, while emphasizing the move was to safeguard the stability and security of the Ruby ecosystem.

Development

Rethinking the Unit of Work in Software Development

2025-09-23

This article explores best practices for defining the 'unit of work' in software development. The author argues that a good unit of work should be decomposable, verifiable, independent, and prioritizable, similar to a user story but with a stronger emphasis on its role throughout the entire software lifecycle. Clearly defining the unit of work, the author claims, increases team efficiency, reduces unnecessary complexity, and ultimately delivers more customer value. The article also critiques the practice of solely measuring AI-assisted development efficiency by code generation volume, advocating instead for a customer-value-oriented assessment of the unit of work's actual impact.

Development unit of work

httpjail: Fine-grained HTTP Filtering for AI Agents

2025-09-23

As AI agents become more powerful, so do the security risks. httpjail is a tool providing fine-grained HTTP(S) filtering, allowing developers to control agent network access with JavaScript expressions or custom scripts. This prevents data leaks and malicious actions. It operates in two modes: strong (using Linux namespaces and nftables) and weak (using environment variables), and features TLS interception for secure HTTPS traffic. While no system is perfectly secure, httpjail offers significant improvements to the safety of using powerful AI agents.

Development HTTP Filtering

Testing Trumps Algorithms: A Job Seeker's Guide for Software Engineers

2025-09-23

A seasoned engineer argues that job seekers overemphasize data structures and algorithms (DSA) while neglecting the crucial skill of testing. While DSA forms the foundation of programming, the reality is that complex algorithms rarely need to be implemented from scratch in real-world jobs. The author recommends learning fundamental data structures and algorithms, understanding time complexity, and mastering Python's built-in data structures. More importantly, prioritize mastering testing skills, which are essential in real-world work and can make you stand out in interviews. Instead of grinding LeetCode, focus on improving your testing abilities to write high-quality code.

Development

Notion 3.0: AI Agents Take Over Busywork

2025-09-23
Notion 3.0: AI Agents Take Over Busywork

Notion 3.0 has launched with AI Agents, capable of performing any task a human can within Notion. These agents automate busywork, creating documents, databases, and reports. Unlike generic chatbots, Notion AI Agents understand your workflow and take context-aware actions. Personalization options let you customize your agent's behavior and instructions. Future updates will include custom agents for team-wide automation. This release also includes highly requested features like database row permissions and new AI connectors.

Development

GNU Interface Layer (GIL) for g++

2025-09-23
GNU Interface Layer (GIL) for g++

This repository provides an implementation of the GNU Interface Layer (GIL) and standard library for g++. It includes a simple "Hello, world!" example in C++, along with other examples like a calculator and merge sort. Running the code requires g++ and careful attention to path settings. The project showcases a non-traditional approach to C++ programming using a custom standard library.

Development
2 4 5 6 7 8 9 214 215