Europe's $24T Breakup with Visa and Mastercard Has Begun
The European Union is taking steps to reduce its reliance on the major credit card networks Visa and Mastercard, with the goal of creating a homegrown alternative payment system that would give the EU more control over cross-border transactions and reduce fees charged to merchants and consumers.
I started programming when I was 7. I'm 50 now and the thing I loved has changed
The article explores the author's emotional response to changes in a cherished hobby, reflecting on the challenges of adapting to evolving interests and the bittersweet nature of personal growth and transformation.
The Singularity will occur on a Tuesday
The article explores the concept of the technological singularity, a hypothetical point in time when technological growth becomes so rapid that it leads to unforeseeable changes in human civilization. It discusses the potential impacts and implications of the singularity, including the possibility of superintelligent artificial intelligence and the transformation of the human condition.
Google Handed ICE Student Journalist's Bank and Credit Card Numbers
A student journalist at the University of California, Los Angeles (UCLA) received a subpoena from Google, demanding information about their reporting on a contract between Google and U.S. Immigration and Customs Enforcement (ICE). The article explores the implications of this subpoena and the potential chilling effects it could have on press freedom and academic research.
Clean-room implementation of Half-Life 2 on the Quake 1 engine
The article discusses the Half-Life 2 (HL2) game engine and its significance in the gaming industry. It highlights HL2's advanced graphics, physics-based gameplay, and its influence on the development of other game engines.
Simplifying Vulkan one subsystem at a time
The article discusses the Khronos Group's efforts to simplify the Vulkan API by breaking it down into smaller, more manageable subsystems. This approach aims to make Vulkan more accessible to developers by reducing the complexity and learning curve associated with the full Vulkan API.
Ex-GitHub CEO Launches a New Developer Platform for AI Agents
The article introduces Entire, a new platform that aims to revolutionize the way people interact with the digital world by providing a seamless and personalized experience. It highlights Entire's vision to create a more connected and empowered digital ecosystem.
Mathematicians disagree on the essential structure of the complex numbers
The article explores the fundamental properties and applications of complex numbers, a crucial concept in mathematics that extends the real number system to include imaginary units. It delves into the algebraic structure, geometric interpretation, and practical uses of complex numbers in various fields such as physics and engineering.
Australian author's erotic novel is child sex abuse material, judge finds
The article discusses the potential impact of climate change on the future of coffee production, highlighting concerns about the shrinking areas suitable for growing high-quality coffee and the need for adaptation strategies to ensure the sustainability of the coffee industry.
"Hate brings views": Confessions of a London fake news TikToker
The article explores the case of a London-based TikTok content creator who has been accused of spreading hateful and misleading content targeting immigrants. It examines the potential impact of such misinformation on social media and the challenges in addressing the spread of hate speech online.
Show HN: Rowboat – AI coworker that turns your work into a knowledge graph (OSS)
Hi HN,
AI agents that can run tools on your machine are powerful for knowledge work, but they’re only as useful as the context they have. Rowboat is an open-source, local-first app that turns your work into a living knowledge graph (stored as plain Markdown with backlinks) and uses it to accomplish tasks on your computer.
For example, you can say "Build me a deck about our next quarter roadmap." Rowboat pulls priorities and commitments from your graph, loads a presentation skill, and exports a PDF.
Our repo is https://github.com/rowboatlabs/rowboat, and there’s a demo video here: https://www.youtube.com/watch?v=5AWoGo-L16I
Rowboat has two parts:
(1) A living context graph: Rowboat connects to sources like Gmail and meeting notes like Granola and Fireflies, extracts decisions, commitments, deadlines, and relationships, and writes them locally as linked and editable Markdown files (Obsidian-style), organized around people, projects, and topics. As new conversations happen (including voice memos), related notes update automatically. If a deadline changes in a standup, it links back to the original commitment and updates it.
(2) A local assistant: On top of that graph, Rowboat includes an agent with local shell access and MCP support, so it can use your existing context to actually do work on your machine. It can act on demand or run scheduled background tasks. Example: “Prep me for my meeting with John and create a short voice brief.” It pulls relevant context from your graph and can generate an audio note via an MCP tool like ElevenLabs.
Why not just search transcripts? Passing gigabytes of email, docs, and calls directly to an AI agent is slow and lossy. And search only answers the questions you think to ask. A system that accumulates context over time can track decisions, commitments, and relationships across conversations, and surface patterns you didn't know to look for.
Rowboat is Apache-2.0 licensed, works with any LLM (including local ones), and stores all data locally as Markdown you can read, edit, or delete at any time.
Our previous startup was acquired by Coinbase, where part of my work involved graph neural networks. We're excited to be working with graph-based systems again. Work memory feels like the missing layer for agents.
We’d love to hear your thoughts and welcome contributions!
Disruption with Some GitHub Services
The article provides an overview of the current status of GitHub, including any ongoing incidents or outages that may be affecting the platform's services. It offers updates on the investigation and resolution efforts by the GitHub team.
RLHF from Scratch
This article provides a step-by-step guide on how to build a Reinforcement Learning with Human Feedback (RLHF) system from scratch. It covers the key components, such as the base model, reward model, and training process, to create an AI system that can learn from human feedback.
Show HN: Distr 2.0 – A year of learning how to ship to customer environments
A year ago, we launched Distr here to help software vendors manage customer deployments remotely. We had agents that pulled updates, a hub with a GUI, and a lot of assumptions about what on-prem deployment needed.
It turned out things get messy when your software is running in places you can't simply SSH into.
Over the last year, we’ve also helped modernize a lot of home-baked solutions: bash scripts that email when updates fail, Excel sheets nobody trusts to track customer versions, engineers driving to customer sites to fix things in person, debug sessions over email (“can you take a screenshot of the logs and send it to me?”), customers with access to internal AWS or GCP registries because there was no better option, and deployments two major versions behind that nobody wants to touch.
We waited a year before making our first breaking change, which led to a major SemVer update—but it was eventually necessary. We needed to completely rewrite how we manage customer organizations. In Distr, we differentiate between vendors and customers. A vendor is typically the author of a software / AI application that wants to distribute it to customers. Previously, we had taken a shortcut where every customer was just a single user who owned a deployment. We’ve now introduced customer organizations. Vendors onboard customer organizations onto the platform, and customers own their internal user management, including RBAC. This change obviously broke our API, and although the migration for our cloud customers was smooth, custom solutions built on top of our APIs needed updates.
Other notable features we’ve implemented since our first launch:
- An OCI container registry built on an adapted version of https://github.com/google/go-containerregistry/, directly embedded into our codebase and served via a separate port from a single Docker image. This allows vendors to distribute Docker images and other OCI artifacts if customers want to self-manage deployments.
- License Management to restrict which customers can access which applications or artifact versions. Although “license management” is a broadly used term, the main purpose here is to codify contractual agreements between vendors and customers. In its simplest form, this is time-based access to specific software versions, which vendors can now manage with Distr.
- Container logs and metrics you can actually see without SSH access. Internally, we debated whether to use a time-series database or store all logs in Postgres. Although we had to tinker quite a bit with Postgres indexes, it now runs stably.
- Secret Management, so database passwords don’t show up in configuration steps or logs.
Distr is now used by 200+ vendors, including Fortune 500 companies, across on-prem, GovCloud, AWS, and GCP, spanning health tech, fintech, security, and AI companies. We’ve also started working on our first air-gapped environment.
For Distr 3.0, we’re working on native Terraform / OpenTofu and Zarf support to provision and update infrastructure in customers’ cloud accounts and physical environments—empowering vendors to offer BYOC and air-gapped use cases, all from a single platform.
Distr is fully open source and self-hostable: https://github.com/distr-sh/distr
Docs: https://distr.sh/docs
We’re YC S24. Happy to answer questions about on-prem deployments and would love to hear about your experience with complex customer deployments.
Show HN: Showboat and Rodney, so agents can demo what they've built
The article discusses the similarities and differences between the programming practices of 'showboating' and 'rodneying', with the former focusing on impressive displays of coding prowess and the latter emphasizing pragmatic problem-solving and maintainable code.
London's Most Controversial Cyclist
The article discusses the polarizing figure of a London cyclist who has garnered both admiration and criticism for his advocacy of cyclists' rights and confrontational approach to challenging motorists. The piece explores the debate surrounding his methods and the broader tensions between cyclists and drivers in the city.
ClawHub
Clawhub is an AI-powered platform that enables developers to build applications that interact with real-world objects and environments. The platform provides a suite of tools and services to help developers create innovative solutions using computer vision, robotics, and other cutting-edge technologies.
Show HN: Open sourcing our ERP (Sold $500k contracts, 7k stars)
We recently open-sourced Hive after using it internally to support real production workflows tied to contracts totaling over $500k.
Instead of manually wiring workflows or building brittle automations, Hive is designed to let developers define a goal in natural language and generate an initial agent that can execute real tasks.
Today, Hive supports goal-driven agent generation, multi-agent coordination, and production-oriented execution with observability and guardrails. We are actively building toward a system that can capture failure context, evolve agent logic, and continuously improve workflows over time - that self-improving loop is still under development.
Hive is intended for teams that want:
- Autonomous agents running real business workflows
- Multi-agent coordination
- A foundation that can evolve through execution data
We currently have nearly 100 contributors across engineering, tooling, docs, and integrations. A huge portion of the framework’s capabilities - from CI improvements to agent templates - came directly from community pull requests and issue discussions. We want to highlight and thank everyone who has contributed. Specifically out top 11 contributors @vakrahul @Samir-atra @VasuBansal7576 @Aarav-shukla07 @Amdev-5 @Hundao @Antiarin @AadiSharma49 @Emart29 @srinuk9570 @levxn
Markdown CLI viewer with VI keybindings
The article discusses the 'mdvi' tool, which is a command-line interface for rendering and manipulating Markdown documents. It highlights mdvi's ability to preview Markdown files and convert them to various output formats, such as PDF and HTML, making it a useful tool for Markdown-based content creation and publishing.
Show HN: Stripe-no-webhooks – Sync your Stripe data to your Postgres DB
Hey HN, stripe-no-webhooks is an open-source library that syncs your Stripe payments data to your own Postgres database: https://github.com/pretzelai/stripe-no-webhooks.
Here's a demo video: https://youtu.be/cyEgW7wElcs
Why is this useful? (1) You don't have to figure out which webhooks you need or write listeners for each one. The library handles all of that. This follows the approach of libraries like dj-stripe in the Django world (https://dj-stripe.dev/). (2) Stripe's API has a 100 rpm rate limit. If you're checking subscription status frequently or building internal tools, you'll hit it. Querying your own Postgres doesn't have this problem. (3) You can give an AI agent read access to the stripe.* schema to debug payment issues—failed charges, refunds, whatever—without handing over Stripe dashboard access. (4) You can join Stripe data with your own tables for custom analytics, LTV calculations, etc.
It creates a webhook endpoint in your Stripe account to forward webhooks to your backend where a webhook listener stores all the data into a new stripe.* schema. You define your plans in TypeScript, run a sync command, and the library takes care of creating Stripe products and prices, handling webhooks, and keeping your database in sync. We also let you backfill your Stripe data for existing accounts.
It supports pre-paid usage credits, account wallets and usage-based billing. It also lets you generate a pricing table component that you can customize. You can access the user information using the simple API the library provides:
billing.subscriptions.get({ userId });
billing.credits.consume({ userId, key: "api_calls", amount: 1 });
billing.usage.record({ userId, key: "ai_model_tokens_input", amount: 4726 });
Effectively, you don't have to deal with either the Stripe dashboard or the Stripe API/SDK any more if you don't want to. The library gives you a nice abstraction on top of Stripe that should cover ~most subscription payment use-cases.Let's see how it works with a quick example. Say you have a billing plan like Cursor (the IDE) used to have: $20/mo, you get 500 API completions + 2000 tab completions, you can buy additional API credits, and any additional usage is billed as overage.
You define your plan in TypeScript:
{
name: "Pro",
description: "Cursor Pro plan",
price: [{ amount: 2000, currency: "usd", interval: "month" }],
features: {
api_completion: {
pricePerCredit: 1, // 1 cent per unit
trackUsage: true, // Enable usage billing
credits: { allocation: 500 },
displayName: "API Completions",
},
tab_completion: {
credits: { allocation: 2000 },
displayName: "Tab Completions",
},
},
}
Then on the CLI, you run the `init` command which creates the DB tables + some API handlers. Run `sync` to sync the plans to your Stripe account and create a webhook endpoint. When a subscription is created, the library automatically grants the 500 API completion credits and 2000 tab completion credits to the user. Renewals and up/downgrades are handled sanely.Consume code would look like this:
await billing.credits.consume({
userId: user.id,
key: "api_completion",
amount: 1,
});
And if they want to allow manual top-ups by the user: await billing.credits.topUp({
userId: user.id,
key: "api_completion",
amount: 500, // buy 500 credits, charges $5.00
});
Similarly, we have APIs for wallets and usage.This would be a lot of work to implement by yourself on top of Stripe. You need to keep track of all of these entitlements in your own DB and deal with renewals, expiry, ad-hoc grants, etc. It's definitely doable, especially with AI coding, but you'll probably end up building something fragile and hard to maintain.
This is just a high-level overview of what the library is capable of. It also supports seat-level credits, monetary wallets (with micro-cent precision), auto top-ups, robust failure recovery, tax collection, invoices, and an out-of-the-box pricing table.
I vibe-coded a little toy app for testing: https://snw-test.vercel.app. There's no validation so feel free to sign up with a dummy email, then subscribe to a plan with a test card: 4242 4242 4242 4242, any future expiry, any 3-digit CVV.
Screenshot: https://imgur.com/a/demo-screenshot-Rh6Ucqx
Feel free to try it out! If you end up using this library, please report any bugs on the repo. If you're having trouble / want to chat, I'm happy to help - my contact is in my HN profile.