Category: Development

Loki's Structured Metadata: A Logistical Nightmare

2025-03-19

Grafana Loki, often touted as 'Prometheus for logs,' initially adopted a data model similar to Prometheus. However, this proved disastrous for system logs (syslog or systemd journal). Unlike Prometheus, Loki stores each label value set separately and lacks log compaction, leading to cardinality explosions. To address this, Loki introduced 'structured metadata,' but as of version 3.0.0, it remains underdeveloped. Structured metadata labels aren't treated as regular Loki labels, requiring different query syntax. Migration from existing labels is complex and potentially catastrophic, with the risk of unintentionally creating high-cardinality labels. Upgrading requires caution, migrating existing data is incredibly expensive, and careful consideration is crucial before using it in new projects.

Development system logs

VisuAlgo: A Decade-Long Visualization Project at NUS

2025-03-19
VisuAlgo: A Decade-Long Visualization Project at NUS

VisuAlgo, a project spearheaded by Associate Professor Steven Halim at the National University of Singapore (NUS), has been developed over a decade with contributions from numerous undergraduate researchers and final-year project students. The project focuses on creating and maintaining a visualization tool for teaching algorithms, supported by grants from NUS CDTL and a generous donation from Optiver. The team continuously updates and improves VisuAlgo, providing high-quality algorithm visualization resources to a global audience.

Development

Make Ubuntu Packages 90% Faster: A Tale of Recompilation and Allocators

2025-03-19
Make Ubuntu Packages 90% Faster: A Tale of Recompilation and Allocators

This post details how recompiling the jq source package used by Ubuntu resulted in a staggering 90% performance improvement. The author benchmarked against a 500MB GeoJSON file. Simply rebuilding the package yielded a small but noticeable speedup. Further optimizations included using clang with better flags (-O3, -flto, -DNDEBUG), which provided a 20% boost. Switching to the TCMalloc allocator improved performance by another 40%. Finally, using mimalloc, either dynamically loaded or integrated during the rebuild, resulted in the remarkable 90% speed increase. The recompiled jq with mimalloc is nearly twice as fast as the default Ubuntu package in various tests.

arXivLabs: Experimenting with Community Collaboration

2025-03-18
arXivLabs: Experimenting with Community Collaboration

arXivLabs is a framework enabling collaborators to develop and share new arXiv features directly on the arXiv website. Individuals and organizations involved in arXivLabs uphold our 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

Git-Who: Track Down Code Ownership Like a Boss

2025-03-18
Git-Who: Track Down Code Ownership Like a Boss

Tired of hunting down the authors of specific code sections? Git-Who, a command-line tool, is your solution! Unlike `git blame`, which focuses on individual lines, Git-Who identifies the key contributors to entire code components or subsystems. Using three subcommands—`table`, `tree`, and `hist`—it presents authorship information in tables, tree structures, and timelines, showing contribution counts, last edit times, lines modified, and more. Filter results by path, branch, tag, or revision range, and use flags for sorting and filtering. Git-Who even respects Git mailmaps, consolidating contributions under varying names or emails. Try Git-Who to get a clear picture of code ownership!

Development code authorship

Qodo Gen 1.0: Agentic AI Coding with LangGraph and MCP

2025-03-18
Qodo Gen 1.0: Agentic AI Coding with LangGraph and MCP

Qodo Gen 1.0 introduces agentic workflows in its AI coding and testing IDE plugin, enabling AI to dynamically decide how to navigate complex coding tasks. This was achieved by restructuring the infrastructure using LangGraph for structured workflows and Anthropic's Model Context Protocol (MCP) for standardized external tool integration. The architecture supports asynchronous communication, on-demand context retrieval, and enhanced error handling and reliability, allowing the AI to operate autonomously, retrieve real-time data, and adapt strategies based on tool execution results. LangGraph provides flexibility and control, while MCP simplifies external tool integration. The result is more intelligent automation, an extensible system, and a structured approach to AI autonomy.

Development

Practical Process Control: Mastering PID Control

2025-03-18

This comprehensive guide delves into the practical aspects of process control, focusing on PID controller design, tuning, and advanced control architectures. Starting with process dynamic modeling (including case studies on heat exchangers, gravity-drained tanks, and jacketed stirred reactors), it systematically explains proportional, integral, and derivative control, along with the role of various filters. The guide also covers handling integrating processes, cascade control, feedforward control, and advanced control strategies in real-world applications like distillation columns, providing a complete practical handbook for engineers.

PeerTube 7.1 Released: Enhanced Discoverability and Stability

2025-03-18
PeerTube 7.1 Released: Enhanced Discoverability and Stability

PeerTube version 7.1 is out, boasting significant improvements. Updates include a redesigned "About" page for clearer platform information; enhanced platform identification to easily understand video origins; improved Podcast 2.0 support for podcast app subscriptions; a default-enabled new view protocol for increased concurrent viewers; Mastodon account verification for enhanced trust; and a revamped P2P media loader for improved live stream stability.

Development Video Platform

Verification-First Development: Beyond Test-Driven Development

2025-03-18
Verification-First Development: Beyond Test-Driven Development

This article explores Verification-First Development (VFD), a paradigm that emphasizes establishing verification mechanisms before writing code. This could involve writing tests, defining type invariants, adding contracts, or other methods. VFD differs from Test-Driven Development (TDD), which is a specific case of VFD and focuses on using tests to drive code design. VFD's advantages include reducing the likelihood of skipping verification, early error detection, and improved code quality. However, VFD also has drawbacks: it can slow development, hinder exploratory coding, and verification methods might influence code design. The author argues that VFD, as a technique rather than a paradigm, is more flexible and easily integrates with other approaches.

HTTrack 3.49-2 Released: Engine Fixes and Improvements

2025-03-18

HTTrack version 3.49-2 is out, featuring engine improvements such as keep-alive, redirect handling, new hashtables, and unit tests. This free and open-source offline browser lets you download entire websites locally, preserving the site's link structure and all files (HTML, images, etc.), allowing offline browsing. Versions are available for Windows and Linux/Unix/BSD.

Fedora 42 Beta: A Fresh Install Experience and Numerous New Features

2025-03-18
Fedora 42 Beta: A Fresh Install Experience and Numerous New Features

Fedora 42 Beta is here! This update brings exciting improvements, including a brand-new Wayland-based Anaconda installer with more consistent keyboard control and an improved web UI for partitioning, making the installation process smoother and more intuitive. Fedora Workstation now defaults to the new web UI installer, offering features like a progress indicator, built-in help, and configuration review. KDE Plasma is now a full-fledged edition, with Power system support. Additionally, there's a new Rust-based COSMIC desktop environment, EROFS for live media, and many other enhancements for improved performance and stability. Several older features are being deprecated or removed, including Python 3.8 and python-pytest-runner.

Development

DuckDB Preview: Seamlessly Connect to Amazon S3 Tables and SageMaker Lakehouse

2025-03-18
DuckDB Preview: Seamlessly Connect to Amazon S3 Tables and SageMaker Lakehouse

DuckDB announces a preview feature adding support for Apache Iceberg REST Catalogs, enabling easy connection to Amazon S3 Tables and Amazon SageMaker Lakehouse. This collaboration between AWS and DuckDB Labs allows users to query Iceberg tables directly. By installing the latest DuckDB and necessary extensions, configuring AWS credentials, and using simple commands, users can access and query data, even with schema evolution. This preview release paves the way for a stable release later this year.

Development

The Underrated Soft Skill: Charisma for Engineers

2025-03-18
The Underrated Soft Skill: Charisma for Engineers

Engineers often prioritize technical skills, neglecting crucial soft skills. This article argues that charisma, a frequently overlooked skill, is paramount for success. The author, through years of mentoring, emphasizes that charisma isn't innate but a learnable set of behaviors: building meaningful connections, cultivating empathy, and radiating warmth. The author encourages engineers to focus on human development, enhancing their charisma to become more impactful team members and professionals, ultimately leading to a more fulfilling career and life.

Spaceium Hiring: Software Engineer for Spacecraft Development

2025-03-18
Spaceium Hiring: Software Engineer for Spacecraft Development

Spaceium is seeking a Software Engineer to design and build the software powering its spacecraft. Responsibilities include developing critical systems for flight software, data processing, control algorithms, and automation tools. The ideal candidate possesses strong software development skills, understands aerospace standards, and is passionate about pushing technological boundaries. Experience is a plus but not mandatory; enthusiasm for learning and a willingness to work hard are key. Compensation is $90k-$110k USD annually, plus equity.

Development Space Software

RePebble's iOS App: A Herculean Task

2025-03-18
RePebble's iOS App: A Herculean Task

The developers behind the rebooted Pebble smartwatch project are facing a familiar challenge: Apple's restrictive policies for third-party watch developers. The article details the struggles of developing for iOS during the original Pebble, highlighting limitations imposed by Apple that prevent core functionalities like sending text messages or interacting with notifications. While an iOS app is being developed, the team acknowledges significant limitations compared to the Android version, urging users to pressure Apple to improve its policies and foster greater competition in the smartwatch market.

Development

TruffleRuby Regexps: 200x Faster Than C and SIMD

2025-03-18
TruffleRuby Regexps: 200x Faster Than C and SIMD

This blog post explores performance optimization for JSON string escaping in Ruby. Benchmarks compare three approaches: a pure Ruby version, a C extension with SIMD instructions, and a pure Ruby version on TruffleRuby. Surprisingly, TruffleRuby's pure Ruby version, leveraging its advanced JIT compiler and TRegex engine, is 20 times faster than the C extension and SIMD, and over 200 times faster than the baseline C code in some cases. This stems from TruffleRuby's TRegex engine, which compiles regexps into deterministic finite automata, avoiding backtracking and utilizing SIMD instructions for optimization. Similar comparisons are shown for `Time.new(String)` and `StringScanner#scan_integer`, where TruffleRuby's regexp implementations significantly outperform CRuby's C implementations. This demonstrates that in some cases, concise pure Ruby code, combined with an advanced JIT compiler, can surpass the performance of lower-level languages.

Development Regexps

Hacker News: A Decade of Tech Growth

2025-03-18
Hacker News: A Decade of Tech Growth

Starting in 2011, the author began using Hacker News, initially understanding very little of the technical jargon and companies mentioned. However, through daily reading and deep dives into unfamiliar concepts, the author transformed from a data analyst into an engineer confidently deploying code to millions of users. Hacker News provided not only learning resources but also a supportive community, helping the author improve technical skills and writing, ultimately leading to a significant career leap.

Development technical learning

Building a Voice Chatbot with WebRTC and the OpenAI Realtime API

2025-03-18
Building a Voice Chatbot with WebRTC and the OpenAI Realtime API

This post details building a voice chatbot using WebRTC and the OpenAI Realtime API. The author overcomes sparse documentation to provide a step-by-step guide covering microphone audio acquisition, WebRTC connection establishment, data channel setup, and Realtime API message exchange. Best practices are highlighted, including function calls for responses and session termination, and running the application on older Google AIY Voice Kits. The author explores alternative approaches, such as headless browser solutions and embedded SDKs, showcasing WebRTC's expanding reach.

Development Voice Chatbot

Predicting Python's Stack Overflow Growth with the Bass Model: A Case Study

2025-03-18
Predicting Python's Stack Overflow Growth with the Bass Model: A Case Study

The author presented a case study at an ODSC AI+ training session, using the Bass model to predict Python's growth trend on Stack Overflow. The model, fitted to historical data using Bayesian inference, predicted future growth and showed how the model adapts its predictions with new data. While not a perfect fit, the case study demonstrates the Bass model's value in forecasting technology trends and identifying potential inflection points in growth.

GraalVM for JDK 24 Released: Performance Boost and Smaller Binaries

2025-03-18
GraalVM for JDK 24 Released: Performance Boost and Smaller Binaries

GraalVM for JDK 24 is now available! This release boasts significant improvements, including GraalNN, a machine learning-based optimization boosting peak performance by ~7.9% on average across various microservice benchmarks; SkipFlow, reducing native executable sizes by ~6.35%; enhanced premain support for Java agents; and Vector API optimizations matching JIT performance. Security features are also improved, such as enhanced SBOM support, alongside debugging and monitoring enhancements. Overall, GraalVM 24 offers notable improvements in performance, size, and security, making it a worthwhile upgrade for developers.

Development

OpenJDK JDK 24 GA Released

2025-03-18

OpenJDK JDK 24 is now generally available! This release is an open-source implementation of the Java SE 24 Platform, licensed under the GNU General Public License, version 2, with the Classpath Exception. Oracle also offers commercial builds under a separate license. Users can submit feedback and bug reports through the usual Java SE channels, ensuring inclusion of complete version information from `java --version`. Note that due to intellectual property limitations, source code distribution is restricted to authorized countries.

Development

SourceHut Slams AI Crawlers for Overwhelming Its Servers

2025-03-18
SourceHut Slams AI Crawlers for Overwhelming Its Servers

Open-source Git hosting service SourceHut is battling a wave of aggressive AI web crawlers that are overwhelming its servers. The company has deployed countermeasures, including a 'tar pit' called Nepenthes, and has blocked several cloud providers like Google Cloud and Azure due to excessive bot traffic. This isn't a new problem; SourceHut faced similar issues in 2022 with Google's Go Module Mirror, and other open-source projects have also been affected. While some AI companies have pledged to respect robots.txt, abuse persists, with sites like iFixit, Vercel, and Diaspora reporting issues. The situation is further complicated by sophisticated spoofing, with bots masquerading as legitimate crawlers like OpenAI's GPTBot. This makes log analysis difficult and highlights the growing challenge of managing AI crawler traffic. Ad metrics firm DoubleVerify reported an 86% increase in invalid traffic in the second half of 2024, with 16% attributed to AI scrapers.

Revolutionizing UI Development: AI-Powered Design for Unmatched Efficiency

2025-03-18

Tired of tedious UI development? An AI-powered design tool lets you build complex UIs in 2-4 hours instead of 3-5 days. Say goodbye to inconsistencies from manual implementation; AI ensures design consistency. Design changes go from hours of manual updates to minutes of regeneration or visual editing. Code quality is guaranteed, the learning curve is dramatically reduced, iteration speed is significantly faster, and the developer experience shifts from frustrating to enjoyable and efficient.

The SaaS Private Deployment Trap: A Cautionary Tale

2025-03-18

This post explores the pitfalls of offering private deployments for SaaS platforms. While lucrative, private installs come with significant operational and support burdens. The author argues that they transform SaaS vendors into ops or helpdesk organizations, requiring substantial resources to maintain customer-specific environments. The article advises against private deployments unless absolutely necessary, suggesting managed hosted deployments and careful contract terms and pricing to mitigate risks.

Building a Cryptographically Strong Router to Block YouTube Ads

2025-03-18

The author built a FreeBSD and pfSense-based router to completely block YouTube ads. Exploiting a flaw in Google's Protocol Buffer format, a man-in-the-middle proxy decrypts HTTPS traffic, allowing modification of a single byte to eliminate ads. Beyond YouTube, the router uses blocklists to protect all networked devices from malicious ads, trackers, clickbait, and more. Ultimately, the author opted to pay for YouTube Premium, acknowledging the ethical considerations of circumventing ads.

Development

SourceHut Under Siege: The High Cost of LLM Crawlers

2025-03-18

SourceHut, an open-source code hosting platform, is under relentless attack from large-scale LLM crawlers. Ignoring robots.txt, these bots indiscriminately scrape data, causing frequent outages and severely impacting service stability and developer productivity. The author pleads for a halt to the development and use of LLMs and AI tools, condemning the immense damage inflicted on the open-source community. This isn't just SourceHut's problem; it's a challenge for the entire open-source ecosystem.

Development crawler attacks

Escaping the US Cloud: A Practical Migration Story

2025-03-18
Escaping the US Cloud: A Practical Migration Story

Concerns over conflicting EU privacy laws and US data practices, coupled with the potential for US government misuse of tech companies as weapons, led the author to migrate their business's reliance on US cloud services. The article details the process and experiences of switching from Microsoft 365 to Proton, Bitwarden to Proton Pass, and gradually migrating other services such as GitHub, Google Search, Cloudflare/Google DNS, Docker Hub, and NPM. Some migrations proved easier than expected, like the surprisingly seamless transition to Proton as a Microsoft 365 alternative, while others, like GitHub, demanded more time due to high dependency. The article highlights the importance of reducing dependence on US cloud services and encourages exploring European alternatives.

Development tech sovereignty

A Calculational Approach to Type Checker Design

2025-03-18

This paper presents a calculational approach to designing type checkers, deriving them from behavioral specifications using equational reasoning. The authors simplify calculations using an algebraic approach based on fold fusion and further improve it with a constraint-based approach to solving and composing fusion preconditions. The methodology is illustrated with three examples of increasing complexity: a simple expression language, one with exceptions, and a version of the lambda calculus.

Development

The Flawed On-Call System in Big Tech and the Promise of AI

2025-03-18

This article explores the shortcomings of the on-call system prevalent in large tech companies. Drawing on personal experience, the author contrasts the approaches of big tech and startups in handling software issues. Big tech's incentive structures lead to declining software quality, making on-call a permanent fixture. The author argues that AI and machine learning can revolutionize on-call processes, for example, using LLMs to simplify logs, search for similar issues, and reduce the burden on engineers, thus increasing efficiency.

Development On-Call

Elegant Functional Programming Examples: A Showcase

2025-03-18

This code showcases the elegance and conciseness of functional programming. It demonstrates functions for calculating rectangle areas, converting rectangle data from different formats, comparing string array elements, and flipping coordinate points. The use of pattern matching and macro definition enhances readability and expressiveness, highlighting the power of functional programming. The final example of flattening a tree structure beautifully illustrates recursion. These examples perfectly demonstrate how functional programming paradigms improve code maintainability and reusability.

1 2 135 136 137 139 141 142 143 214 215