Category: Development

PhD Students: Don't Try to Reform Science Yet

2025-03-18
PhD Students: Don't Try to Reform Science Yet

This article distinguishes between 'Science 1,' the idealized pursuit of truth, and 'Science 2,' the actual social practice of science. Science 2 involves funding, collaboration, competition, and crucially, communication. The author uses the example of BERT to illustrate how even revolutionary contributions can face resistance due to cultural factors and communication styles. The advice for PhD students is to focus on navigating Science 2, building networks, and establishing influence before attempting to reform the system.

Development phd

Ubuntu 25.10 to Default to Rust-Rewritten Core Utilities

2025-03-18
Ubuntu 25.10 to Default to Rust-Rewritten Core Utilities

Ubuntu announced plans to replace core system utilities (e.g., `ls`, `cp`, and `mv`) with modern Rust-based versions in Ubuntu 25.10. This aims to enhance system security and reliability, leveraging Rust's memory safety to reduce vulnerabilities. To ease the transition, Ubuntu introduced `oxidizr`, a tool allowing users to easily switch between implementations and enabling a gradual migration. While performance improvements are a goal, security and stability are the primary drivers. This move signals Ubuntu's commitment to modernizing its infrastructure and offers more opportunities for open-source community contributors.

Development system utilities

Doctor Droid: AI-Powered Production Incident Debugging

2025-03-18
Doctor Droid: AI-Powered Production Incident Debugging

Doctor Droid is building a smart assistant to help engineering teams accelerate investigations during production incidents. This open-source platform, backed by Accel and a Y Combinator W23 graduate, aims to reduce downtime and boost developer productivity. Their vision is to empower any team member to debug common production issues without needing senior engineers. They're looking for passionate developers to join their team.

Development Production Incidents

Offline PKI with YubiKeys: A Secure and Practical Guide

2025-03-18

This post details an offline PKI system built using YubiKeys and a Libre Computer Sweet Potato SBC. Three YubiKeys store the root and intermediate CAs, managed via an air-gapped SBC for enhanced security. The author walks through using the `offline-pki` Python application for key management and certificate generation, covering YubiKey reset, root CA generation and replication, and intermediate CA creation. Nix is used for environment setup and deployment, with QEMU VM and SD card images provided for testing and deployment. This system offers a cost-effective PKI solution for security-sensitive environments.

Development

GIMP 3.0 Released: Seven Years in the Making

2025-03-17
GIMP 3.0 Released: Seven Years in the Making

After seven years of development by volunteer developers, GIMP 3.0 is finally here! This major release boasts significant improvements, including non-destructive filter editing, enhanced file compatibility (BC7 DDS support and improved PSD export), automatic layer expansion, powerful text styling tools, improved layer and color management, and a modernized GTK3 interface. GIMP 3.0 offers easier use, faster performance, and enhanced image editing capabilities. Download it now and experience the difference!

Development Image Editing

OpenVMS Gets a Package Manager After 47 Years: VSP Beta Released

2025-03-17

After 47 years and support for 4 different CPU architectures, OpenVMS finally has a package manager – VSP! Currently in beta, it has some limitations: incomplete dependency resolution, no update management, and a lack of private repository support. However, it significantly streamlines software installation, saving considerable time. VSP allows searching, downloading, and installing software with simple commands, eliminating the manual download, extraction, and installation process. Future improvements will focus on automated dependency handling, update/upgrade capabilities, and private repository support, bringing it closer to modern package managers like APT, YUM, and DNF.

Development

Cascii: A Dependency-Free Online ASCII & Unicode Diagram Builder

2025-03-17
Cascii: A Dependency-Free Online ASCII & Unicode Diagram Builder

Cascii is a web-based ASCII and Unicode diagram builder written in vanilla JavaScript. It boasts zero dependencies on servers, web packing, or libraries, and uses no markup or stylesheets. Simply open cascii.html to start building diagrams. Cascii is also hosted at cascii.app, offering short links for diagrams, account creation, and more. Features include layer management, selection tools, grouping, ordering, duplication, dynamic tables, free drawing/erasing, autosave, paste/import text, history (undo/redo), and support for both ASCII and Unicode characters.

Mobile App Revenue Gap Explodes: Top 5% Earn 500x More

2025-03-17
Mobile App Revenue Gap Explodes: Top 5% Earn 500x More

A new report from RevenueCat reveals a widening chasm in mobile app revenue. In 2024, the top 5% of apps earned 200 times more than the remaining 95%; this year, that figure has skyrocketed to 500 times! Top-performing apps rake in over $5,000 per month, while the 25th percentile earns a meager $5-20, and even less for many. A staggering 76.1% of North American developers derive over 80% of their revenue from iOS. To compensate, developers are exploring various monetization strategies, including paywalls, upsells, price increases, and even usage-based pricing for AI apps. Low subscription renewal rates are a major challenge, with less than 10% of monthly subscribers reaching their second year.

localscope: Banishing Global Variable Bugs in Jupyter Notebooks

2025-03-17

Ever hunted down bugs caused by accidentally using global variables in a Jupyter Notebook function? localscope solves this by restricting a function's accessible scope. This prevents accidental global variable leakage, leading to more reproducible results and less debugging frustration. For example, a function calculating mean squared error relying on a global `sigma` variable will yield unpredictable results if `sigma` changes; localscope forces `sigma` to be passed as an argument, eliminating this risk.

Development

coq-of-rust: Formal Verification for 100% Bug-Free Rust Code

2025-03-17
coq-of-rust: Formal Verification for 100% Bug-Free Rust Code

coq-of-rust is a formal verification tool for Rust that translates Rust programs into the Coq proof assistant to achieve 100% bug-free code. By translating Rust code to Coq, it leverages Coq's powerful proof techniques to verify the correctness of the code, eliminating all bugs. The tool supports a wide range of Rust features and offers formal verification services for critical applications like smart contracts and database engines.

Development

arXivLabs: Experimenting with Community Collaboration

2025-03-17
arXivLabs: Experimenting with Community Collaboration

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

Development

CSS Shapes Arrive in Firefox 62: Flowing Text Around Any Shape

2025-03-17
CSS Shapes Arrive in Firefox 62: Flowing Text Around Any Shape

Firefox 62 now officially supports CSS Shapes, enabling text and other content to flow around non-rectangular shapes. This article explores how to create shapes using images, gradients, and basic shapes, simplifying the process with the new tools in Firefox DevTools. Learn to use image alpha channels, gradient transparency, and predefined shapes (circle, ellipse, polygon) to control text flow, adjust spacing with `shape-margin`, and leverage `shape-image-threshold` for semi-transparent images. The article also demonstrates combining shapes with `clip-path` for advanced effects.

Development

HTTP/3's Divide: Hyperscale vs. Long Tail

2025-03-17
HTTP/3's Divide: Hyperscale vs. Long Tail

Despite HTTP/3 and its underlying QUIC protocol being standardized and widely used by major websites, native support in mainstream programming languages and open-source tools remains lacking. This article analyzes this paradox, arguing that its root cause lies in the internet's "two-tiered" structure: a vast gap exists between a few large tech companies ("hyperscale web") and the rest of the developers ("long tail web") in terms of resources and technological capabilities. Hyperscale players have the resources to quickly adopt new technologies, while the long tail is constrained by the update speed and compatibility issues of open-source tools. OpenSSL's handling of QUIC further exacerbates this divide. The author calls for attention to this issue to prevent the benefits of technological progress from being monopolized by a select few.

Development

Configuring Azure Entra ID as an IdP in Keycloak: A Detailed Guide

2025-03-17
Configuring Azure Entra ID as an IdP in Keycloak: A Detailed Guide

This article provides a comprehensive guide on configuring Azure Entra ID (formerly Azure Active Directory) as an Identity Provider (IdP) in Keycloak for a Spring Boot WebFlux application. It details the steps involved in both Azure and Keycloak configurations, including application creation, OpenID Connect setup, client secret and redirect URI configuration, and mapping Azure groups to Keycloak roles for user authorization. The author shares crucial tips and workarounds, such as switching the Azure interface to English for clearer terminology and selecting the appropriate IdP type in Keycloak. The guide culminates in a fully functional authentication and authorization flow, with a detailed explanation of including roles in the JWT token for backend access.

Development

Cline: Your AI coding assistant, mastering your CLI and editor

2025-03-17
Cline: Your AI coding assistant, mastering your CLI and editor

Cline is an AI assistant powered by Claude 3.7 Sonnet, capable of handling complex software development tasks step-by-step. It can create and edit files, navigate large projects, use a browser, and execute terminal commands (with permission). Cline supports multiple API providers and can extend its capabilities through the Model Context Protocol (MCP). It features a human-in-the-loop GUI for safety and reliability. Cline also boasts error monitoring, code completion, and version control, significantly boosting development efficiency.

Development code development

Nango: An Open, Unified API for Integrations

2025-03-17

Frustrated with the limitations of existing B2B SaaS integration solutions, Bastien and Robin teamed up in 2022. They took over an abandoned open-source OAuth project, realizing it was the key to a more flexible approach: an open, extensible platform. In 2023, after joining Y Combinator's winter batch, they relaunched Nango as a single, unified API infrastructure to power all integrations.

Development API Integration

LLM-Powered Retro Game Dev: Cloning a ZX Spectrum App in Hours

2025-03-17
LLM-Powered Retro Game Dev: Cloning a ZX Spectrum App in Hours

The author demonstrates the power of Large Language Models (LLMs) in software rewriting and cloning through an experiment. Starting with an LLM-generated C sales tax calculator, the author disassembles it into assembly, then uses the LLM to generate functional specification documents. Finally, the LLM translates the specification into a ZX Spectrum assembly program, which runs successfully. The entire process took about two hours, showcasing the potential of LLMs for cross-language software conversion and rapid prototyping, and hinting at the potential risks for 'open-source' software.

Development

Agile Project Management with Unlimited Collaboration

2025-03-17
Agile Project Management with Unlimited Collaboration

This platform brings Scrum methodology to life with unlimited collaboration. No user limits, pay-per-task model, and unlimited projects, teams, and storage make it highly scalable and budget-friendly. AI-generated changelogs track progress, while core features include Backlog and Sprint views. Extensive add-ons further enhance functionality to meet diverse project needs.

Development Agile

uv Package Manager Gains Popularity Among Wagtail Users

2025-03-17
uv Package Manager Gains Popularity Among Wagtail Users

Data shows uv is now the second most popular package installer for Wagtail users, after pip, surpassing Poetry. While pip and Poetry remain popular, uv's growth isn't solely from new Wagtail users. July-August 2024 data shows unusual spikes, possibly due to early adopters or version resolution issues. The Wagtail team needs to ensure uv works well alongside other tools, update documentation, and potentially make uv a first-class citizen in the bakerydemo site. The goal is to provide clear installation instructions for all package managers while adapting to evolving developer preferences.

Development

C++ Overload Resolution's "Better": A Deep Dive into Type Conversions

2025-03-17
C++ Overload Resolution's

This article delves into the complexities of C++ overload resolution, specifically the elusive "better" rules for implicit type conversions. Through detailed explanations and examples of standard conversion sequences, including qualification conversions, the author unravels how the compiler chooses the best function match. Code examples and step-by-step analyses showcase the intricate and sometimes baffling mechanics of C++'s type system, ultimately leading to a reflection on the practicality of implicit conversions.

My Math Journey: A MathAcademy Review

2025-03-17
My Math Journey: A MathAcademy Review

This post details the author's return to mathematics and their experience with the MathAcademy online learning platform. Past negative experiences with math teachers led to a long hiatus, but the author's need for stronger math skills in programming spurred a comeback. MathAcademy's structured curriculum, supportive community, and gamified features are praised for fostering consistent learning and progress. While acknowledging the high cost, the author ultimately recommends MathAcademy as a valuable resource for aspiring math learners.

Development

The Open Source Dilemma: Have We Lost Our Way?

2025-03-16
The Open Source Dilemma: Have We Lost Our Way?

The author reflects on the current state of the Open Source movement. While acknowledging incredible achievements like Wikipedia and the Linux kernel, they argue that Open Source has fallen short of its potential in terms of market share and influence. The piece suggests that the movement is too focused on technical aspects, neglecting accessibility and social equity. By viewing Open Source as a 'hackers' club', it fails to address the real-world problems of ordinary users. The author calls for the community to step outside its comfort zone, focusing on broader social issues to truly achieve 'freedom for all,' rather than empowering a select technical elite.

Development

A Hierarchical Approach to Programming Languages and Multi-Language Development

2025-03-16
A Hierarchical Approach to Programming Languages and Multi-Language Development

The author proposes a four-level hierarchy for classifying programming languages based on typing and compilation: interpreted dynamically typed (e.g., JavaScript), interpreted statically typed (e.g., TypeScript), compiled with automatic memory management (e.g., Go), and compiled with manual memory management (e.g., Rust). The author argues that choosing the right level for different needs is crucial and proposes a language set comprising Rust, RustGC (a level 2/3 hybrid), and RustScript (level 4) to improve development efficiency and code performance. This set shares syntax and allows seamless calls between different levels, addressing issues of maintaining different toolsets and training personnel. The ultimate goal is to improve programming efficiency and code quality.

Git's Tiny Patch, Huge Potential: Optimizing `bundle-uri` for Faster Clones

2025-03-16
Git's Tiny Patch, Huge Potential: Optimizing `bundle-uri` for Faster Clones

This post details an author's journey optimizing Git clone speed using the `bundle-uri` feature. While using a local file as a starting point significantly sped up cloning, using a CDN proved unexpectedly slow. The root cause? Git only copies `refs/heads` references, ignoring others. A tiny patch was submitted to fix this, resulting in faster clones downloading only incremental data. Future Git servers may automatically utilize `bundle-uri`, reducing server load and boosting clone efficiency.

Development

Efficient 3D Mesh Smoothing: Ditching Neighbor Lookups

2025-03-16

This blog post presents an efficient algorithm for 3D mesh smoothing that avoids the need for complex half-edge data structures. Using a 'throwing vertices' approach, it directly iterates over triangle faces, accumulating neighbor vertex positions in a single pass to calculate average positions for smoothing. This eliminates neighbor lookups, boosting efficiency. The post also explores several parallelization methods, including using atomic operations and precomputing neighbor lists, comparing their performance differences. Finally, it shows how to recompute vertex normals after smoothing.

Development mesh smoothing

PicoLisp Documentation: A Comprehensive Guide

2025-03-16

This document aims to guide you through mastering the PicoLisp programming language. It gathers scattered PicoLisp code and knowledge from the internet, providing tutorials, examples, and explanations of important concepts from beginner to advanced levels. The documentation covers efficient editing, different versions of PicoLisp (including the 64-bit version and ErsatzLisp in Java), online books, source code, and numerous useful libraries and frameworks such as Web.l, Macropis, and Pl-web. You'll learn how to build projects and share your creations with the community.

Development

CppMatch: A Rust-like Error Handling and Pattern Matching Library for C++

2025-03-16
CppMatch: A Rust-like Error Handling and Pattern Matching Library for C++

CppMatch is a lightweight header-only C++ library bringing Rust-style exception handling and pattern matching to C++. It uses a `Result` type to represent success or failure, simplifies error handling with the `expect` macro, and implements pattern matching with the `match` macro. It also offers `zip_match` to combine multiple `Result` objects. Compatible with Clang and GCC, CppMatch offers various error handling strategies, including handling different error types with lambdas. It's a compelling option for C++ developers seeking the elegance of Rust's error handling.

Development Pattern Matching

tänzer: A Minimalistic Tcl Web Server Framework

2025-03-16

tänzer is a minimalistic web server framework for Tcl providing a straightforward environment for building HTTP/1.1 web applications. It features asynchronous HTTP/1.1 support, a pattern-based request routing engine, SCGI client and server support, CGI executable support, fast static file serving, and works out-of-the-box on Tcl 8.6. Designed for simplicity, even creating a 'Hello, world!' application is incredibly easy.

Development

Undefined Behavior in C/C++: A Tightrope Walk Between Efficiency and Security

2025-03-16

This article delves into the nature of "undefined behavior" in C/C++ and its impact on compiler optimizations and program security. It argues that undefined behavior allows compilers to generate highly efficient code in certain situations, but it can also lead to unpredictable program errors and even security vulnerabilities. Through case studies, the article explains how compilers leverage undefined behavior for optimization and how to mitigate the resulting risks. It advises developers to exercise caution, combining multiple tools and methods to ensure code correctness and security.

1 2 136 137 138 140 142 143 144 214 215