Category: Development

Hoarder: Self-Hosted Web Archiving with AI-Powered Features

2025-03-16
Hoarder: Self-Hosted Web Archiving with AI-Powered Features

Hoarder is an open-source, self-hosted web archiving tool that lets you search, filter, and tag web content, storing full copies locally for offline access. It uses a headless Chrome instance for downloading and optionally integrates AI features (OpenAI or LiteLLM) for automatic tagging and summarization. Hoarder offers a web app and Android app, supporting full-text search, tag filtering, and RSS subscriptions. The author details Docker and Caddy setup, SingleFile integration, and migration from Linkding. Future enhancements include improved annotation, in-app mobile reading, ebook export, and a decentralized social future.

Development

Wify: A React Native App for Effortless WiFi Connection

2025-03-16
Wify: A React Native App for Effortless WiFi Connection

Wify is a React Native application that simplifies WiFi connection by scanning images or using the camera to extract WiFi credentials. It supports OCR in multiple languages, uses fuzzy matching for WiFi names, and includes robust permission handling with user-friendly prompts. The app seamlessly connects to networks, even with minor discrepancies in names, making WiFi access quick and easy on both Android and iOS.

Development WiFi Connection

Tcl Tutorial: From Basics to Reusable Libraries

2025-03-16

This comprehensive Tcl tutorial covers everything from basic text output, variable assignment, and arithmetic operations to advanced topics like regular expressions, associative arrays, file access, subprocess invocation, and building reusable libraries. It progressively introduces core concepts such as loops, control flow, and data structures (lists, arrays, dictionaries), while also delving into practical skills like string manipulation, pattern matching, and debugging techniques. Whether you're a beginner or an experienced programmer, this tutorial provides a valuable resource for quickly mastering Tcl and building reusable libraries.

Development

Writing Great Programming Documentation: A Teaching Guide

2025-03-16

This post uses engaging metaphors and storytelling to illustrate the philosophy of writing high-quality technical documentation. The author argues that the core of documentation is 'teaching', not simply providing information. The post critiques the inadequacy of relying solely on source code, tests, or literate programming tools, emphasizing that documentation should be viewed as a gradual learning process, guiding users from initial contact and quick start to in-depth learning and finally to advanced reference. Each stage should be carefully designed to help users become experts. The author also shares personal teaching experiences and suggests treating documentation writing as a teaching process, focusing on user experience and the gradual acquisition of knowledge.

zlib-rs 0.4.2 Released: A Blazing Fast Compression Library

2025-03-16
zlib-rs 0.4.2 Released: A Blazing Fast Compression Library

zlib-rs 0.4.2 is out, boasting significant performance improvements! It's now (to our knowledge) the fastest API-compatible zlib implementation for decompression, and outperforms the competition in key compression scenarios. This release leverages clever multiversioning and DFA optimizations to efficiently select the optimal implementation at runtime, leading to dramatic speed gains. Benchmarks show zlib-rs significantly outpacing zlib-ng and zlib-chromium in decompression. While further compression performance improvements are planned, zlib-rs is already exceptionally fast and is seeking funding to complete the remaining work.

Development compression library

Optimizing Integer Division in C++: Templates, Lambdas, and Metaprogramming

2025-03-16

This article explores several approaches to optimizing integer division in C++. Direct integer division can be inefficient, especially when the divisor is known at compile time. It starts by demonstrating the use of C++ template functions, allowing the compiler to optimize when the divisor is a compile-time constant. However, template functions can increase code complexity. The article then attempts to simplify the code using lambda expressions and template lambda expressions, but encounters issues with directly using template lambdas, requiring the use of `operator()` for invocation. Finally, it compares the pros and cons of various methods, including simple lambdas and more advanced template metaprogramming techniques, suggesting the most suitable approach depending on the context.

LLM-Assisted Coding: Productivity Gains at the Cost of Intelligence?

2025-03-16

The author shares their experience with using LLM-assisted coding tools like GitHub Copilot, revealing that while they boost productivity, they can also lead to forgetting fundamental knowledge and over-reliance on the tool, ultimately hindering problem-solving abilities. The author suggests treating LLMs as learning aids rather than code generators, critically evaluating their output and focusing on understanding underlying principles to truly benefit.

(eli.cx)
Development programmer skills

zlib-ng: A Next-Gen Data Compression Library

2025-03-16
zlib-ng: A Next-Gen Data Compression Library

zlib-ng is a modernized fork of the popular zlib compression library, improving performance, maintainability, and portability. It incorporates optimizations from Intel and Cloudflare, and supports a wide range of CPU instruction sets such as AVX-512 and ARM NEON. zlib-ng aims to coexist with zlib, offering a lower barrier to code changes and supporting CMake and multiple build systems.

Development

Local-First & Ejectable Apps: The Future of Data Ownership

2025-03-16

Cloud apps offer convenience, but traditional desktop software provides better data ownership. 'Ejectable' apps bridge this gap, letting users self-host the backend sync server. This means saving a workspace and downloading a server executable, allowing seamless switching between cloud and local versions. Data remains accessible even if the cloud service shuts down, ensuring longevity like classic apps like DOOM.EXE. The author highlights Thymer as an example of this approach.

arXivLabs: Community Collaboration on arXiv Features

2025-03-16
arXivLabs: Community Collaboration on arXiv Features

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

Development

Codon Compiler: A Glimpse of Faster Python?

2025-03-16
Codon Compiler: A Glimpse of Faster Python?

Codon is a compiler aiming to dramatically improve Python's execution speed. While the author previously encountered compilation issues, recent updates have resolved them. Although a test script didn't show speed improvements, Codon demonstrated significant performance gains in NPBench NumPy benchmarks, reaching up to 900x speedup, largely due to the Codon team's direct port of NumPy. While the author didn't replicate the benchmark results, a trial of a supposedly 300x faster Python script hints at Codon's potential in specific use cases.

Development

Ship: A Feedback Management Tool for Building Better Products

2025-03-16
Ship: A Feedback Management Tool for Building Better Products

Ship is a new tool designed to streamline the process of collecting, prioritizing, and acting on user feedback. Users can submit feature requests and ideas in one central location. Developers can then rank requests based on votes and impact, simplifying decision-making. Finally, Ship allows developers to keep users updated on progress, turning feedback into tangible product improvements.

Recreating Photoshop: A Developer's Summer Project from 2006

2025-03-16
Recreating Photoshop: A Developer's Summer Project from 2006

In the summer of 2006, a developer, aiming to improve his manga reading experience, created a manga reader named Fiew using C++ and the Windows API. Driven by ambition, he then tackled the formidable task of recreating core Photoshop functionality, resulting in the image editor, Fedit. Fedit adhered to principles of zero installation and a single executable file, and meticulously replicated Photoshop's interface and features, including floating tool windows, a color picker, and layer management. Months of development, overcoming numerous technical hurdles, culminated in a successful thesis, a software engineering job, and the open-sourcing of Fedit's code and documentation.

Development Image Editor

Debugging a Full-Viewport HTML Dialog Modal

2025-03-16
Debugging a Full-Viewport HTML Dialog Modal

The author encountered a height issue while using the HTML `` element to create a side panel: a gap appeared at the bottom, preventing it from taking up the full screen height. The debugging process involved various methods, including consulting AI tools like Claude and ChatGPT. The culprit was a default Chrome style applied to the `` element: `max-height: calc(100% - 2em - 6px);`. Adding `max-height: inherit` or `max-height: 100vh` resolved the problem. Further investigation into the HTML specification revealed this default style was added to fix a previous bug, highlighting the ever-evolving nature of web standards.

Development

Docs: Open-Source Collaborative Document Editor Takes on Notion

2025-03-16
Docs: Open-Source Collaborative Document Editor Takes on Notion

Docs is an open-source collaborative document editor designed to simplify knowledge creation and sharing. It features offline editing, clean formatting, AI-powered actions (generate, summarize, correct, translate), real-time collaboration, and granular access control. Docs is easy to install and scale, offering multiple document export formats. Led by the French and German governments, this multilingual project is under active development and plans to incorporate wiki functionality.

Development collaborative editor

40-Year-Old Conjecture on Hash Tables Shattered

2025-03-16
40-Year-Old Conjecture on Hash Tables Shattered

For four decades, computer scientists have accepted Andrew Yao's 1985 conjecture on the efficiency of hash table lookups. However, Krapivin and his team have developed a novel hash table that dramatically outperforms Yao's worst-case bound. Their new algorithm achieves a far faster query and insertion time, and surprisingly, the average query time is a constant, irrespective of the table's fullness. This groundbreaking result not only refutes a long-held belief but also opens new avenues for hash table optimization.

Development

Lago: Open-Source Monetization Platform Hiring Backend Engineers

2025-03-16

Lago, an open-source platform (7k+ GitHub stars), helps engineers build better monetization systems, including usage metering, subscription management, billing, invoicing, and payments. Used by companies like Mistral, Together, Groq, and Laravel, Lago's team previously built Qonto's (a fintech unicorn) monetization system. They're a lean team of 25 (mostly engineers) seeking backend engineers. The role offers a competitive salary ($60k-$100k), remote-friendly options, and is based in LATAM (within +/- 1 hour of NYC timezone). Their values emphasize ambition, progress, humble confidence, paying it forward, and work-life balance.

Development monetization backend

Analog 'Tennis for Two': Building a Retro Game with Op Amps

2025-03-16

This post details the construction of a 'Tennis for Two'-like game using operational amplifiers (op amps). The author leverages op amps' integration and differentiation capabilities to simulate a bouncing ball under the influence of gravity. Clever use of diodes and comparators handles ball bounces and player input. The post thoroughly explains the circuit design, including mathematical derivations, schematics, and oscilloscope waveforms. Challenges encountered during implementation, such as using an LED for damping, are also discussed. The author successfully creates a basic 'Tennis for Two' game and outlines future improvements, such as refined controls and a scoring system.

Become a 10x Developer in 30 Seconds with rust-stakeholder

2025-03-16
Become a 10x Developer in 30 Seconds with rust-stakeholder

Tired of actually coding? Meet rust-stakeholder, a CLI tool that generates impressive-looking, yet utterly meaningless, terminal output. Convince everyone you're a coding genius without writing a single line of useful code! Simulate development activity, generate progress bars, fake network traffic, and even create artificial crises. It's satire, of course – don't actually use this to land a job you're not qualified for!

Development programmer humor satire

The AI Job Market Shift: Is 2025 a Career Winter?

2025-03-16
The AI Job Market Shift: Is 2025 a Career Winter?

The rapid advancement of AI, especially large language models, has created a challenging job market for many software engineers, particularly those who entered senior roles between 2010 and 2020. Traditional management skills are less valued now, replaced by a demand for meticulous detail-orientation, rapid project execution, and adaptation to the AI transition. This leaves many senior leaders feeling overwhelmed, while potential leaders skilled in technical details and rapid iteration struggle for promotion. Simultaneously, rapid AI advancements challenge established company advantages, demanding product and development process redesign. This creates immense pressure on job seekers, with reduced hiring, promotions, and slower salary growth. In short, the current job market is highly competitive, demanding more from job seekers.

Development tech transition

Agentic: An Extensible Agent Platform with Structured Outputs

2025-03-16
Agentic: An Extensible Agent Platform with Structured Outputs

Agentic is a platform allowing users to define extensions and output schemas using Pydantic data models. This enables structured outputs from chatbots, as demonstrated by the example code defining a time output model for date and time information. This provides increased flexibility and control for building AI applications.

Development

Cloudflare's CAPTCHA Breaks Several Browsers, Leaving Open Source Projects High and Dry

2025-03-16

Since January 31st, a malfunctioning Cloudflare CAPTCHA system has blocked access to numerous websites for Pale Moon and other non-mainstream browsers. This issue, lasting nearly a month, has seen little to no communication from Cloudflare, leaving open-source projects like Pale Moon suffering user loss and revenue decline. With no official statement or resolution in sight, the author is considering legal action.

Development Browser Compatibility

Cloudflare CAPTCHA Breaks Open Source Browsers: A Month-Long Standoff

2025-03-16

Since January 31st, Cloudflare's CAPTCHA system has been intermittently failing, blocking access to websites for numerous non-mainstream browsers, including Pale Moon. Despite community reports, Cloudflare has offered little to no response, leading to accusations of discrimination against open-source projects. The issue, lasting nearly a month, significantly impacts user numbers and revenue for affected browsers, pushing developers towards considering legal action.

Development Open Source Browsers

Nash: A Standalone HTML Note-Taking App

2025-03-15

Nash is a standalone HTML note-taking application that doesn't require any other software or services. You can save and edit notes offline, create static blogs or single-page content, and preview long content via messaging apps before sharing. Inspired by the developer's experience using a single HTML file to prototype an idea, Nash showcases the power of HTML for creating a document file that works without separate services like Notion or Word. Nash is open-source and free to modify and use.

Cursor 0.47 Released: Agent Mode Now Default, Major Performance Boost

2025-03-15
Cursor 0.47 Released: Agent Mode Now Default, Major Performance Boost

Cursor 0.47 focuses on stability and performance improvements, making existing features work better. Agent mode is now the default, unifying Chat, Composer, and Agent into a single, smarter interface. This release also includes enhanced keyboard shortcuts, new themes, UI improvements, multiple image uploads, improved rules and MCP support, and numerous bug fixes. Agent mode boasts automatic web search and smarter code editing and application capabilities.

Async-Powered Pandas: Supercharge Your Pandas Workflows with Async

2025-03-15
Async-Powered Pandas: Supercharge Your Pandas Workflows with Async

aiopandas is a lightweight library that adds async support to Pandas' core functions like `map`, `apply`, and `applymap` via monkey patching. This allows seamless integration of async functions, enabling controlled parallel execution with `max_parallel` for dramatically faster processing of I/O-bound tasks such as API calls, web scraping, and database queries. It also integrates with tqdm for progress tracking. Simply replace `.map()` with `.amap()` (and similar for other functions) for a near drop-in replacement.

Hexagonal Grid Spiral Coordinates Guide Updated

2025-03-15

The author updated their popular hexagonal grid guide with a new section on spiral coordinate systems. Despite not yet using them in a real project, they decided to stop waiting and share their current understanding, including unoptimized sample code. More variants will be added in the future. Additionally, they discovered a simplified angle sorting method using axial coordinates, which is detailed on a separate page.

Development spiral coordinates

arXivLabs: Experimenting with Community-Driven arXiv Features

2025-03-15
arXivLabs: Experimenting with Community-Driven arXiv Features

arXivLabs is a framework for collaborators to build and share new arXiv features directly on the site. Participants must embrace arXiv's values of openness, community, excellence, and user data privacy. Got an idea to improve the arXiv community? Learn more about arXivLabs.

Development

Critical Authentication Bypass in ruby-saml

2025-03-15
Critical Authentication Bypass in ruby-saml

Researchers at GitHub Security Lab discovered two critical authentication bypass vulnerabilities (CVE-2025-25291 and CVE-2025-25292) in the ruby-saml library. Attackers can use a single valid signature to forge SAML assertions, allowing account takeover by logging in as any user. The vulnerability stems from ruby-saml's use of two different XML parsers (REXML and Nokogiri), creating a parser differential exploited by attackers. Version 1.18.0 fixes the vulnerability; all users are urged to update immediately.

Development

An Eight-Year-Old Polyomino Tiling Algorithm: Backtracking Search with Heuristics

2025-03-15

This article details an algorithm for solving the polyomino tiling problem. The core idea is to transform the geometric problem into a graph theory problem and use a backtracking search algorithm with various heuristics. First, the algorithm preprocesses to calculate all possible placements, constructing a bipartite graph representing all possibilities. Then, a backtracking search algorithm finds a subset of placements satisfying the conditions, optimized by heuristics such as prioritizing constrained grid points and splitting the grid. The algorithm demonstrates good generality and robustness in handling arbitrary grid shapes and polyomino sets. The author also discusses limitations and future improvements, such as transforming the problem into a SAT problem for solution.

Development backtracking search
1 2 137 138 139 141 143 144 145 214 215