Category: Development

Java at 30: From WORA to Enterprise Backbone

2025-05-23
Java at 30: From WORA to Enterprise Backbone

Thirty years ago, Java burst onto the scene, its 'Write Once, Run Anywhere' promise offering a breath of fresh air to the development world. While the reality of 'Write Once, Test Everywhere' sometimes prevailed, Java quickly became a mainstay of enterprise applications. It weathered legal battles with Microsoft and experienced fluctuations in popularity, yet remains a top-tier language in the TIOBE index. Oracle's commercialization strategy has caused controversy, but the existence of open-source alternatives ensures Java's continued vitality, keeping it highly relevant as it enters its fourth decade.

Durable Execution Engines: From Distributed Transactions to Temporal

2025-05-23

This article explores the evolution of durable execution engines (like Temporal), starting with early database transactions, distributed transactions, and fault-tolerant RPC/microservice architectures. The author analyzes Jimmy Bogard's "Six Little Lines of Fail" example, highlighting challenges in handling cross-service function calls, such as transaction rollback and retry mechanisms. The article reviews the limitations of distributed transactions (like two-phase commit), and explores attempts in the Java world with JSR-95 (Activity Service) and web service standards (like WS-AtomicTransaction), ultimately noting their limited adoption. The author further analyzes the recent rise of microservice architectures and corresponding fault-tolerance mechanisms, along with event sourcing, orchestration and choreography. Finally, the article compares modern durable execution engines such as Temporal, Restate, and DBOS, including their operational modes, data storage methods, and integration with serverless architectures, highlighting their importance in addressing reliability issues in distributed systems.

Development

Beyond the Wedge Product: A Novel Decomposition of the Geometric Product

2025-05-23

This paper introduces a new operation called the "transwedge product," which completely decomposes the geometric product into fundamental operations of exterior algebra: the exterior product, left and right complements, and application of the metric. The author demonstrates that the transwedge product generates a spectrum of products ranging from the exterior product to the interior product (contraction), replacing the commutator product and offering a cleaner way to compute the geometric product. This applies not only to three dimensions but also to higher-dimensional geometric algebras, with practical applications in conformal geometric algebra, such as calculating circles intersecting orthogonally.

arXivLabs: Experimenting with Community-Driven Features

2025-05-23
arXivLabs: Experimenting with Community-Driven Features

arXivLabs is a platform 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

From Machinist to Machine: A Programmer's Journey Back to the Roots

2025-05-23

A programmer, lost in the daily grind of churning out thousands of lines of code, feels increasingly like a machine, devoid of emotion and understanding. He yearns for the joy and passion he once felt for programming. He decides to return to his roots, building his own computers, operating systems, and programming languages, even if seemingly pointless. His goal is to reignite his love for programming and become a true 'machinist' again.

Development

Configuring Emacs as a File Manager with Guix

2025-05-23
Configuring Emacs as a File Manager with Guix

This post details how to configure Emacs' dired mode as the default file manager using Guix and its home-xdg-mime-applications-service-type service. By creating an xdg-desktop-entry file and linking it to the inode/directory MIME type, clicking on a directory opens it in Emacs dired. The author provides examples for configuring other MIME types, allowing for easy expansion of functionality.

Development

Spreadsheet Showdown: A Head-to-Head Comparison of Nine Engines

2025-05-23
Spreadsheet Showdown: A Head-to-Head Comparison of Nine Engines

A late June 2024 survey assessed the capabilities of available spreadsheet software. The goal was to quantify the sophistication of each engine, considering feature set, formula and function support, calculation accuracy, and speed. Excel remains the de facto standard, though Google Sheets, GRID, and SpreadJS offer compelling alternatives. GRID excels in compatibility with both Excel and Sheets, while others (HyperFormula, jSpreadsheet, etc.) lag in features and accuracy. This comprehensive comparison highlights the strengths and weaknesses of each engine, offering valuable insights for users and developers alike.

Beyond Attention: Recent Advances in Efficient Transformer Architectures

2025-05-23

This article explores several key advancements in Transformer architectures that go beyond the original attention mechanism. These techniques primarily focus on reducing computational complexity and memory requirements. Examples include Group Query Attention (GQA) which reduces memory usage by sharing key/value projections; Multi-head Latent Attention (MHA) which uses latent vectors to decrease computational complexity; Flash Attention which optimizes speed through clever memory management; and Ring Attention which utilizes multi-GPU parallelism for extremely long sequences. Additionally, the article covers pre-normalization, RMSNorm, SwiGLU activation functions and normalization methods, as well as learning rate warmup, cosine scheduling, Mixture of Experts (MoE), multi-token prediction, and speculative decoding. These techniques collectively push the boundaries of Transformers, enabling them to handle longer sequences and higher-dimensional data more efficiently, ultimately improving both speed and performance.

Development

The Ultimate Lens Design Guide: From Singlets to Freeforms

2025-05-23
The Ultimate Lens Design Guide: From Singlets to Freeforms

This is the ultimate guide to lens design forms, covering optical systems from simple singlets to complex freeforms. Dr. Kats Ikeda shares years of experience, distilling textbook knowledge into digestible concepts and illustrating them with numerous examples, diagrams, and ray traces. The guide delves into aberration correction, pattern recognition, and explores modern optical systems like laser applications, mobile phone lenses, and lithographic lenses.

Microsoft Adds Copilot to Notepad: A Pointless AI Integration?

2025-05-23
Microsoft Adds Copilot to Notepad: A Pointless AI Integration?

Microsoft continues to integrate AI into its built-in Windows apps, with the latest update bringing Copilot's text generation capabilities to Notepad. Users must sign in with their Microsoft account and select a location before using the Copilot 'Write' function to generate text. This addition has sparked controversy, with many questioning its necessity and finding it superfluous for a simple text editor. In contrast, AI upgrades to Paint, such as a sticker generator and smart selection tool, seem more practical. Microsoft's enthusiasm for adding AI features across its apps is evident, but the usefulness of some integrations remains questionable.

Development

Superlinked: Unified Vector Search Without Re-ranking

2025-05-23
Superlinked: Unified Vector Search Without Re-ranking

Traditional vector search often relies on time-consuming and computationally expensive re-ranking to improve result relevance. Superlinked, a Python framework for building high-performance search and recommendation systems, elegantly solves this problem by unifying structured and unstructured data into multimodal vectors. It uses a mixture of encoders at index time to combine text semantics, numerical ranges, and categorical attributes into unified embeddings, eliminating the need for re-ranking to achieve more relevant, faster, and more efficient results at query time. Superlinked supports dynamic intent capture and hard filtering, allowing users to adjust weights and filter out irrelevant results at query time, further improving search accuracy and efficiency.

Development re-ranking

Glitch to Shut Down Core App Hosting in 2025

2025-05-23
Glitch to Shut Down Core App Hosting in 2025

Glitch, a coding platform for sharing and remixing projects, announced it will cease its core feature—hosting web apps—on July 8th, 2025. This means users will no longer be able to host projects on Glitch, and user profiles will be closed. While CEO Anil Dash hasn't confirmed a complete shutdown, the move casts doubt on the platform's future. Users will have until the end of 2025 to download their code and access their projects; Glitch is also working on a project subdomain redirection feature. The change is attributed to increased maintenance costs and malicious activity, leaving Glitch's future uncertain.

Development

arXivLabs: Experimental Projects with Community Collaboration

2025-05-23
arXivLabs: Experimental Projects with Community Collaboration

arXivLabs is a framework enabling collaborators to develop and share new arXiv features directly on the website. Individuals and organizations involved uphold 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. Have an idea to enhance the arXiv community? Learn more about arXivLabs.

Development

arXivLabs: Experimenting with Community Collaboration

2025-05-23
arXivLabs: Experimenting with Community Collaboration

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 only partners with those sharing these commitments. Have an idea to enhance the arXiv community? Explore arXivLabs.

Development

Goodbye Mysterious Type Errors: How PolySubML Improves Type Inference Error Messages

2025-05-23

PolySubML is a programming language combining global type inference with subtyping and advanced polymorphism. This post explores how PolySubML designs good type error messages and explains why existing languages often fall short in improving type inference error messages. The author proposes five rules: 1. Never guess or backtrack; 2. Don't jump to conclusions; 3. Ask the user to clarify intent; 4. Allow the user to write explicit type annotations; 5. Don't include static type inference in your runtime execution model. By following these rules, PolySubML successfully addresses many common issues with type inference, significantly improving code debuggability.

Development type inference

VS Code PostgreSQL Extension: AI-Powered Database Management

2025-05-23
VS Code PostgreSQL Extension: AI-Powered Database Management

Microsoft announces a public preview of a new Visual Studio Code extension for PostgreSQL, designed to streamline database management and development workflows. Leveraging AI assistance through GitHub Copilot's @pgsql agent, developers can manage database objects, draft queries with IntelliSense, and optimize schemas—all within VS Code. Features include schema visualization, context menus for query analysis and rewriting, and seamless integration with Azure Database for PostgreSQL and Entra ID for enhanced security. This extension aims to boost developer productivity by addressing common inefficiencies through AI-powered tools and a unified development experience.

Development

Samchika: Blazing Fast File Processing for Java

2025-05-23
Samchika: Blazing Fast File Processing for Java

Samchika is a reusable, easy-to-use, and incredibly fast file processing library for Java. Built for multithreading, it handles CPU-intensive file tasks in parallel, ensuring high performance even with massive files. Its simple API allows you to easily plug in your file path and processing logic, with optional runtime stats providing insights into processing time and memory usage. Ideal for large text files (logs, datasets), Samchika excels in log analysis, ETL operations, and large corpus processing. Benchmarks against traditional methods show significant performance improvements, especially on multi-core systems (over 70% gain on files ranging from 200MB to 16GB).

Development File Processing

arXivLabs: Experimenting with Community Collaboration

2025-05-23
arXivLabs: Experimenting with Community Collaboration

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

Development

OpenAI's PostgreSQL at Scale: Best Practices and Challenges

2025-05-23

At PGConf.dev 2025, OpenAI shared its best practices for using PostgreSQL, revealing insights into database usage at one of the world's leading AI companies. They utilize a single-writer, multi-reader, unsharded architecture, successfully handling massive read loads for its 500 million active users. However, write requests became a bottleneck, prompting optimizations including load control on the primary database (offloading writes, lazy writes), query optimization (avoiding long transactions, optimizing complex queries), addressing single points of failure (prioritizing high-priority requests), and careful schema management (restricting schema changes). Despite these efforts, OpenAI encountered challenges related to index management, observability, and schema change history, prompting suggestions for PostgreSQL improvements. Veteran PostgreSQL expert Lao Feng provided insights based on his experience, showing that many issues could be solved with existing tools or methods, or even using his open-source Pigsty system. Ultimately, OpenAI's PostgreSQL cluster successfully processed over one million QPS, demonstrating the potential of PostgreSQL in large-scale applications.

Development

Creatr: Boosting Productivity and Accelerating Development

2025-05-23
Creatr: Boosting Productivity and Accelerating Development

Creatr is a powerful development tool dramatically increasing developer efficiency. User feedback highlights Creatr's ability to streamline coding, allowing developers to focus on higher-level development and design, leading to faster and better project building. Seamless Supabase integration simplifies deployment. Whether it's a quick mockup or a full-fledged app, Creatr significantly reduces development time, helping developers bring their ideas to life faster.

Boosting Web Table Accessibility: A Deep Dive into Tab Roving

2025-05-23

This article tackles the challenges of focus management in web tables, especially for keyboard users where traditional tab navigation is inefficient. The author introduces a technique called "Tab Roving," which uses arrow keys to navigate between table cells, treating the entire table as a single focusable element. This significantly improves the user experience for keyboard users. The article details the implementation principles, including the use of the `tabindex` attribute, focus tracking, and a code example in React, and discusses other application scenarios such as mega menus and custom numerical input fields.

Development Focus Management

CRDTs: Semilattices All the Way Down

2025-05-23

This article delves into the design principles of Conflict-Free Replicated Data Types (CRDTs), asserting that all well-designed CRDTs should be based on semilattice structures. The author criticizes CRDTs that hide assumptions, emphasizing that all necessary assumptions must be internalized within the semilattice. Using add/remove sets as an example, the article demonstrates how incorporating a causality lattice resolves non-convergent behavior that can arise from local-time-based expiration mechanisms. The author concludes by summarizing key CRDT design points and stressing the importance of building reliable distributed systems.

Development semilattice

Haskell Interview Questions: From Palindromes to Word Frequency

2025-05-23

This article tackles several common coding interview questions in Haskell, including palindrome checks, FizzBuzz, sum combinations, anagram detection, and finding minimum/maximum values. The author showcases Haskell's elegant and concise code style, highlighting the use of pattern matching, higher-order functions, and recursion. Edge cases like handling empty lists are also addressed. Finally, efficient word frequency counting using Data.Map is demonstrated. The article is accessible to Haskell beginners and those curious about functional programming paradigms.

Development interview questions

Stripe's Insane 1,145 Daily Deployments: A Masterclass in Efficiency

2025-05-23

Stripe completed an average of 1,145 pull requests and deployments per day in 2024, experiencing less than a minute of API downtime for the entire year. With roughly 8,500 employees (around 40% engineers), this translates to each engineer shipping at least one change to production every three days. This showcases Stripe's exceptional engineering culture and massive investment in automated testing, deployments, rollbacks, observability, and more. While achieving Stripe's scale and efficiency is challenging, their success highlights the importance of reducing friction to rapidly deliver value to users.

Development

AI Copilot: Angel or Devil?

2025-05-23
AI Copilot: Angel or Devil?

This article uses humor to describe the author's experience working with an AI programming assistant (analogous to an incompetent colleague). While acknowledging AI's usefulness for simple tasks, the author argues that over-reliance on AI can stifle programmers' creativity and understanding of low-level technologies, ultimately leading to lower code quality and system performance degradation. The author urges programmers to maintain their passion for technology and avoid becoming puppets of AI.

Development

Flatpak's Development Stagnation: A Lack of Maintainers Hinders Innovation

2025-05-23

Despite its popularity among developers and users, and adoption by distributions like Fedora, the core Flatpak project is facing development stagnation. The main cause is the loss of key developers, leading to slow code review and merging, and a backlog of new features and improvements. The article explores challenges in Flatpak's OSTree and OCI support, permission refinement, network namespaces, and NVIDIA driver integration, proposing a potential OCI-based refactoring to leverage the broader container ecosystem and address existing issues.

Development application packaging

DuckDB Takes Flight: The Airport Extension Enables Arrow Flight Support

2025-05-23
DuckDB Takes Flight: The Airport Extension Enables Arrow Flight Support

DuckDB just got a major upgrade! The new Airport extension allows DuckDB to query, modify, and store data via Arrow Flight servers, breaking down barriers to accessing various data sources. Now DuckDB can access non-tabular data, unsupported formats, and even external APIs. Developers can add custom SQL functions, remotely execute UDFs, and implement fine-grained access control. Built on Apache Arrow and gRPC, Airport offers high performance and broad compatibility, opening new horizons for data services.

Development

bpfilter: A BPF-based Network Filtering Performance Booster

2025-05-23

The bpfilter project aims to significantly improve network filtering performance in the Linux kernel. It achieves this by translating iptables/nftables rules into BPF programs, bypassing performance bottlenecks inherent in traditional methods. Composed of three components – a daemon, a library, and a command-line interface – bpfilter allows users to define custom filtering rules and integrates with iptables. Benchmarks demonstrate bpfilter's superior performance over iptables and nftables when handling large rule sets. Future plans include enhanced nftables support and integration of user-provided BPF programs.

Development Network Filtering

Where Does Developer Time Go? A 40-Year Study Reveals the Answer

2025-05-22

For decades, developers have spent most of their time figuring out systems. Research shows this remains consistently high, around 58% even when accounting for navigation time, from 1979 to 2018. The article argues that understanding a system is fundamentally a decision-making process, and reading code is merely a low-efficiency, non-scalable means of gathering information. The author introduces the concept of "Moldable Development," advocating for creating custom tools tailored to specific problems, reducing reliance on code reading, and thus boosting development efficiency. The article concludes by recommending Glamorous Toolkit, a moldable development environment designed to facilitate the "how not to read code" conversation.

Malicious npm Packages Target React, Vue, and Vite Developers

2025-05-22
Malicious npm Packages Target React, Vue, and Vite Developers

Security researchers have uncovered malicious npm packages targeting the ecosystems of JavaScript developers using React, Vue, and Vite. These packages contained payloads designed to detonate on specific dates in 2023, with some having no termination date, creating a persistent threat. The attacker also uploaded legitimate packages to create a facade of legitimacy. Affected developers should immediately inspect their systems to ensure the malicious packages have been removed.

1 2 78 79 80 82 84 85 86 214 215