MurphyA/hacker-news huggingface dataset:
Show HN: pgflow – Workflows for Supabase, no external services (Postgres-first)
by jumski | 2025-11-12 12:06:13+00:00
Hi HN, I'm jumski. I spent last year building pgflow - a workflow orchestration engine built entirely on Supabase primitives (Postgres, Queues, Edge Functions, Realtime).

How This Started

I was transitioning to Supabase and building a personal app with multi-step LLM pipelines. I needed these to trigger from DB changes, cron, and the browser - but every workflow solution required external services.

From my Sidekiq experience, I knew that having each step handler send the next message to the queue shouldn't be part of business logic - it's error-prone and scattered. I realized I could move all orchestration to SQL - let the database decide what runs next while handlers focus purely on their task. To make this work on Supabase without external services, I created a self-respawning worker on Edge Functions to bypass time limits.

The Problem

Building workflows on Supabase today means manually wiring pg_cron schedules, pgmq queues, Edge Functions, and state tables. For a simple article processing workflow (fetch → parallel summarize + extract → publish), you're writing ~240 lines across 3 queue setups, 3 Edge Functions, 3 cron schedules. Tedious boilerplate.

What pgflow Does

Same workflow, 20 lines:

new Flow<{ url: string }>({ slug: 'article_flow' }) .step({ slug: 'fetchArticle' }, (input) => scrapeUrl(input.run.url)) .step({ slug: 'summarize', dependsOn: ['fetchArticle'] }, (input) => summarize(input.fetchArticle)) .step({ slug: 'extractKeywords', dependsOn: ['fetchArticle'] }, (input) => extractKeywords(input.fetchArticle)) .step({ slug: 'publish', dependsOn: ['summarize', 'extractKeywords'] }, (input) => publishArticle(input.summarize, input.extractKeywords));

Flow inputs and outputs are fully type-inferred - your IDE autocompletes dependencies and catches errors at compile time. The only type annotation needed is the flow input.

You write workflows in TypeScript, compile them to SQL inserts that define your graph structure, and pgflow handles everything else. Postgres IS the orchestrator - managing a DAG of state machines, using pgmq to distribute tasks to workers. All state changes are fully transactional.

vs Alternatives

Unlike DBOS which uses decorators on imperative code, you explicitly define your DAG upfront. Unlike Trigger.dev/Inngest, everything lives in your existing Supabase project. You can query workflow state directly with SQL, and start flows from DB triggers or pg_cron.

Try It

- Demo: https://demo.pgflow.dev (paste any article URL)

- Docs: https://pgflow.dev

- GitHub: https://github.com/pgflow-dev/pgflow

Status: Beta - teams are using it in production. Fully open source, Apache 2.0 licensed.

Questions for HN:

What Supabase automations are you currently duct-taping together?

What's stopping you from using existing workflow tools?

Also curious: is SQL-based orchestration taking the "everything in the database" philosophy one step too far?
by Grimblewald | 2025-11-12 12:06:42+00:00
LLM hostility was warrented. The overhype/downright charlartan nature of ai hype and marketing threatens another AI winter. It happened to cybernetics, it'll happen to us too. The finance folks will be fine, they'll move to the next big thing to overhype, it is the researchers who suffer the fall-out. I am considered anti LLM (transformers anyway) for this reason, i like the the architecture, it is cool amd rather capable at its problem set, which is a unique set, but, it isnt going to deliver any of what has been promised, any more than a plain DNN or a CNN will.
by Orygin | 2025-11-12 12:07:00+00:00
The XZ backdoor is not a bug but a malicious payload inserted by malicious actors. The security vulnerability would immediately been used as it was created by attackers.

This bug is almost certainly too obscure to be found and exploited in the time the fix can be produced by Ffmpeg. On the other hand, this vuln being public so soon means any attacker is now free to develop their exploit before a fix is available.

If Google's goal is security, this vulnerability should only be disclosed after it's fixed or a reasonable time (which, according to ffmpeg dev, 90 days is not enough because they receive too many reports by Google).
by SparkBomb | 2025-11-12 12:07:42+00:00
> Eeeeeeh...it's not quite roses and rainbows on the Rider side either, and that's coming from a Jetbrains fanboy

Obviously. IME it is better than Visual Studio.

> But yeah, the coding/refactoring support (Resharper et al) and general quality and integration of tooling (database tools, package managers, version control, debugging (esp. multi-process) etc.) is the big one for me.

I rarely use any of these tools tbh. I just want Resharper and something that works reliably on Linux. I would transition to using vim entirely but half the vim stuff I like using I can't use with Windows (work is never not going to use Windows).
by ExoticPearTree | 2025-11-12 12:08:06+00:00
> I’ve never really understood how the logic of the second amendment doesn’t extend to tanks and nukes.

Probably because if people could buy tanks to protect themselves, then the police would also need tanks to deconflict a situation where someone with a tank is upset and the damages are a bit higher when tank rounds start flying around. Imagine two neighbors getting into it in a a town, not to mention a city.

Even portable nukes are a stretch in the logic of "I need to protect my home" from intruders, not to mention the hundred kiloton yield ones.
by re-thc | 2025-11-12 12:08:46+00:00
> A pipe dream sustaining the biggest stock market bubble in history

This is why we're losing innovation.

Look at electric cars, batteries, solar panels, rare earths and many more. Bubble or struggle for survival? Right, because if US has no AI the world will have no AI? That's the real bubble - being stuck in an ancient world view.

Meta's stock has already tanked for "over" investing in AI. Bubble, where?
by formerly_proven | 2025-11-12 12:09:07+00:00
Isn't the official .NET debugger only allowed to be used from Visual Studio and VSC? I recall Jetbrains had to remove debugging support from their IDE for a while due to that license. Also the whole kerfuffle around hot reloading first being added to .NET (Core) and then the code being deleted because it was supposed to be a VS-only feature.

These things to me seem like one faction in MSFT wants .NET to be an open platform and another faction wants it to be a sales funnel for Visual Studio.
by bonesss | 2025-11-12 12:09:16+00:00
F# is less popular, but it’s a first class .Net language with full MS support and integration onto .Net (VM and ecosystem). C# has been tracking F# and aiming for language parity for years (ie all your modern C# devs should be learning the same language facilities). F# is multi-paradigm so C# devs can write idiomatic C# with minor forced changes. And as a .Net language you can always decompile it into C# and keep going from there.

That’s a radically different proposition than, say, raw OCaml and not particularly niche. It also impacts hiring pools differently since competent functional C# devs are viable, but it tends to appeal to a certain calibre of dev.

Moving faster with fewer errors and more talented candidate pool are relevant to repackaged SaaS startups too. Leaves more time for the other stuff and scales better.
by jcmontx | 2025-11-12 12:09:27+00:00
I've worked with .NET for over 10 years and we built our startup on top of it. Here are my thoughts:

Pros:

* Stability

* Very decent standard library

* Good balance between productivity and robustness

* Great package management

* Extremely easy to upgrade, so essentially free goodies (performance) every year or so

Cons:

* Very MSFT dominated (obviously)

* Subpar tooling outside of Windows (I'm looking at you C# Dev Kit)

* C# has way to many features, it feels bloated

* Culturally, it feels like .NET devs are less "passionate" about their work

* The freaking stigma of being a .NET dev: you will never be as cool as the guys who work with Node/Python/whatever

Edit: Also I'd like to add EFCore as one of the pros of the ecosystem. Hands down the best ORM. Others don't come close.
by tyingq | 2025-11-12 12:10:54+00:00
https://web.archive.org/web/19970710102251/http://www.transm...

Then, https://web.archive.org/web/20000229173916/http://www.transm... , when content appeared around Feb 2000.

Product launch PDF from Jan 19, 2000: https://web.archive.org/web/20000815231116/http://www.transm...
by Someone | 2025-11-12 12:11:10+00:00
> And so the caller has to be prepared for everything: a later version of the library might suddenly return a new type of exception.

But you get the same with checked exceptions in Java. Yes, an interface will say foo can only throw FooException, but if you want to do anything when you get a FooException, you have to look inside to figure out what exactly was wrong, and what’s inside that FooException isn’t limited.

A later version of the library may suddenly throw a FooException with a BarException inside it.
by ptero | 2025-11-12 12:11:17+00:00
It is not a free thinking paradise in academia either. Different groups fighting for hiring, promotions and influence exist there, too. And it tends to be more pronounced: it is much easier in industry to find a comparable job to escape a toxic environment, so a lot of problems in academia settings steam forever.

But the skill sets to avoid and survive personnel issues in academia is different from industry. My 2c.
by ryukoposting | 2025-11-12 12:12:25+00:00
The Bell Labs we look back on was only the result of government intervention in the telecom monopoly. The 1956 consent decree forced Bell to license thousands of its patents, royalty free, to anyone who wanted to use them. Any patent not listed in the consent decree was to be licensed at "reasonable and nondiscriminatory rates."

The US government basically forced AT&T to use revenue from its monopoly to do fundamental research for the public good. Could the government do the same thing to our modern megacorps? Absolutely! Will it? I doubt it.

https://www.nytimes.com/1956/01/25/archives/att-settles-anti...
by TwoFerMaggie | 2025-11-12 12:12:58+00:00
This one would be much faster than the plustek though, if they keep their promises. I use a 8200. It takes more than 1 hour to scan a 36 frame color negative with dust removal on, and it requires constant manual input. Pushing the holder to the next frame, unloading and loading the holder, etc.

It's fine, sure. For the price I paid for it and the image quality I'm getting, I have no complaints. On the other hand, a new device that can cut the time down to 5 mins with modern software support (silverfast is kind of dated and VueScan will run you another 100), while priced at 1000 EUR, is not cheap, but also not that unreasonable tbh.
by scott_w | 2025-11-12 12:13:03+00:00
War and peacetime are two different things. During wartime you need lots of materiel quickly, so value for money estimates, anti corruption practices all get reduced in the name of production numbers at all costs. Verification is easier because you go directly from the assembly line to the front line. If it doesn’t work, you find out and make changes quickly. You know what you need because you’re in the process of using it.

In peacetime, everything is different. You don’t know who your next opponent is going to be, so you need to keep options open. You don’t know if you’ll have a war before the equipment you just bought rots away. You don’t want wartime production levels and stifling your wider economy. You also don’t want a Russia situation where you ignore value for money estimates and audits only to find the money you spent on missiles went in the back pocket of a random colonel.
by wtcactus | 2025-11-12 12:13:32+00:00
The ultimate “you will own nothing and be (un)happy” is the state, in EU countries, now taking an average of 57% off our salary in taxes and all kinds of mandatory contributions, and giving us little to nothing in return.

I can live very well with voluntary transactions where I subscribe or not to some product that I’ll never own. But I can’t say no to the state and their eternal threat of violence.

p.S. preemptively, knowing the kind of feedback this content will get: got to love it when Americans give me the “at least you don’t go bankrupt by going to the hospital!”. No, I give the state most my money every time I pay them taxes, so, not a lot of space left to go bankrupt once in the case of a medical emergency. What about letting people choose?
by antirez | 2025-11-12 12:14:21+00:00
META managed to spend a lot of money into AI to achieve inferior results. Something must change for sure, and you don't want an LLM skeptic at home, in my opinion, especially since the problem is not what LeCun is saying right now (LLMs are not the straight path to AGI), but the fact it used to say for some time that LLMs were just statistical models, stochastic parrots (and this is a precise statement, something most people do not understand. It means two things: no understanding of the prompt whatsoever in the activation states, and no internal representation of the idea/sentence the model is going to express either), which is an incredibly weak statement that high level AI scientists refused since the start just because of functional behaviors. Then he slowly changed the point of view. But this shit show and the friction he created inside META is not something to forget.
by loodish | 2025-11-12 12:14:22+00:00
If you breach the LGPLv2/GPLv2 licence then you lose all rights to use the software.

There's no penalty clause, there's no recovery clause. If you don't comply with the licence conditions then you don't have a licence. If you don't have a licence then you can't use the program, any version of the program. And if your products depend on that program then you lose your products.

The theoretical email would be a notification that they had breached the licence and could no longer use the software. The obvious implication being that AWS was wanting to do something that went contrary to the restrictions in the GPL, and he was trying to convince them not to.
by nalekberov | 2025-11-12 12:14:31+00:00
Seems like they too jumped onto ‘Web 3.0’ bandwagon:

> 2023

The ever-innovative G-SHOCK brand takes a new step, launching a virtual community where people can co-create and interact with one another via digital platforms like NFTs and the metaverse. The opening of the virtual G-SHOCK STORE and the sale of digital 3D-rendered G-SHOCK items are just a sampling of the new plans and unprecedented experiences to come.
by jcgl | 2025-11-12 12:15:26+00:00
> Heresy warning. Maybe the inputs and outputs don’t look anything like CLI or stdio text. Maybe we move on from 1000-different DSLs (each CLI’s unique input parameters and output formats) and make inputs and outputs object shaped. Maybe we make the available set of objects, methods and schemas discoverable in the terminal API.

Entirely agree. Stdio text (which is really just stdio bytes) deeply limits how composable your shell programs can be, since data and its representation are tightly coupled (they're exactly the same). I wrote a smidgin here[0] on my blog, but take a look at this unix vs. PowerShell example I have there. Please look beyond PowerShell's incidental verbosity here and focus more deeply on the profoundly superior composition that you can only have once you get self-describing objects over stdio instead of plain bytes.

$ # the unix way $ find . -name '*.go' -not -name '*_test.go' -ctime -4 -exec cat {} \; | wc -l 7119 $ # the powershell way $ pwsh -c 'gci -recurse | where {($_.name -like "*.go") -and ($_.name -notlike "*_test.go") -and ($_.LastWriteTime -gt (get-date).AddDays(-4))} | gc | measure | select -ExpandProperty count' 7119

[0] https://www.cgl.sh/blog/posts/sh.html
by csproto | 2025-11-12 12:15:27+00:00
Let's hope that after spending billions on developing a foundational world model that actually understands causality, they remember to budget an extra few hundred million for the Alignment and Safety layer. It would be a terrible shame if they accidentally released something too capable, too objective, or too useful to humanity without first properly lobotomizing it with enough RLHF to ensure it doesn't hurt anyone's feelings or generate content that deviates from the San Francisco median viewpoint. The real challenge won't be building the AGI, but making sure it's sufficiently neutered before the first API call.
by p_l | 2025-11-12 12:15:39+00:00
The "special casing" of "operational capability" is public fact - USMC decided to claim initial operational capability on aircraft that didn't even have complete SMS (stores management system), something that was missing even after first "front line" USAF units got theirs. Block 2 software had only minimal air-to-air and air-to-ground capabilities implemented. Block 3 was the infamous one with constant reboots, with Block 3F the first planned to provide full not just weapons capability, but even flight envelope. Heck, in 2015, they barely lifted limitations on attitude and acceleration/wing loading after finally testing them in flight.

Conflicts between requirements of -A/-C and -B, among other reasons due to weight, were discussed as far and wide as GAO reports, because like with F-111, there was strong political push for maximum commonality, which resulted in cascading issues - for example, -B added 18 months around 2004 to -A and -C when the fuselage ended up too heavy for -B to operate with any equipment, and extensive rework had to be done on all models to shave ~1200kg. By 2010 there was discussion to cancel -B altogether.

On a topic closer to typical fare on HN, ALIS (IIRC now renamed to ODIN, but awarded back to the same team...), the ground support system critical to even running the airplane, was close to useless in 2015. Something that anyone with experience with that part of Lockheed probably expected and were not listened to.

Ultimately the aircraft is probably pretty good (I am saying probably because some crankiness isn't much talked unless you're actually embedded with users of such hardware, and is secret - there I have only my suspicions), but the road there was more painful than it should be - and ofc I would not trust it if I was foreign buyer for reasons of not just software black boxes but also dependency on US-located labs to provide mission data updates - at least I have not heard of that aspect changing. We used to joke it was first aircraft with "phone home" license system...
by wmiel | 2025-11-12 12:15:39+00:00
Surprising to see how many commenters are in favour and supportive towards policy of prioritising short term profits vs. Long-term research.

I understand Meta's not academia nor charity, but come on, how much profit do they need to make so we can expect them to allocate part of their resources towards some long term goals beneficial for society,.not only for shareholders?

Hasn't that narrow focus and chasing the profits get us in trouble already?
by masfoobar | 2025-11-12 12:16:14+00:00
I think the "confusing" aspect with C#, being part of the Microsoft eco-system, is that there are many smaller companies (and startups) that may have concern paying for such tools.

To the uneducated, C# is linked to Visual Studio.. the IDE.. and the Community edition if free as long as you are a student, open-source, and individuals. Professional and Enterprise are paid.

(Yes - there is Visual Studio Code)

Again, I am looking at this from the uneducated. With the above, as well as "going with other Microsoft products" things start to get more expensive. Need a database - should it be SQL Server? Should it be Windows Servers? etc.

Because of the above, I would not be surprised if Go is more popular especially for startups... alongside Linux, MySQL/Postgres, as well as other IDE or text editors. Sure.. I might agree that Visual Studio Code is suited for various programmers today.

Not suggesting you are wrong in any way. It's just the amount of money spent on Windows/Microsoft for small companies is rather large, compared to other alternatives that are just as good.
by _holt | 2025-11-12 12:16:31+00:00
Got tired of the usual “AI headshot” tools that blur details or miss your actual face, so we built our own from scratch. Primeshot creates studio-quality portraits from a few selfies, with accurate likeness and natural lighting — up to 4K quality in a couple of minutes. You can choose from real photography styles, scenes, and outfits, then generate and browse your shoot instantly.

We built it for professionals, creators, and teams who want photos that still feel like them, just shot by a pro. We’ve had a lot of fun testing new styles and outfits ourselves.
by CharlieDigital | 2025-11-12 12:17:17+00:00
I'm at a series-C, YC startup. We made a switch from TypeScript to C# two months back. Now we have a team of over a dozen backend engineers working on C# transitioning from TypeScript. 90% are working with C# for the first time. (We are still hiring backend C# engs!)

I can say that it has gone waaaaaay smoother than anyone would have thought. This is a decision (language switch) that the team has been putting off for a long time and simply suffering through some big time jank and complexity with TypeScript (yes, TS at scale becomes complex in a very different way from C# because it becomes complex at the tooling layer in an "unbounded" way whereas C#'s language complexity is "bounded").

Indeed, I think more teams should give C# a shot. My own experience is that C# and TypeScript at a language level are remarkably alike[0] that if you know one well, you can probably quickly learn the other. But the C# ecosystem tooling is more cohesive, easier to grok, and less fickle compared to JS/TS (as is the case with Go, Java, etc. as well).

There still remains a lot of mis-perceptions about C# and .NET in general and I think that many startups should spend the time to give EF Core a shot and realize how every option in JS-land ends up feeling like a toy. EF Core itself is worth the price of admission, IMO.

[0] https://typescript-is-like-csharp.chrlschn.dev/
Show HN: AI Nexus – Multi-model workspace with projects and branching
by michaelanckaert | 2025-11-12 12:19:04+00:00
Hey HN!

Just launched the beta of AI Nexus and wanted to share what I'm building.

The problem I'm solving: I was paying multiple LLM subscriptions (ChatGPT Plus + Claude Pro) and constantly switching tools, losing context, re-uploading files to every new chat. Realized I wasn't alone - lots of devs and power users hitting the same wall.

What I built: A professional workspace for AI that gives you:

- 100+ models through one interface (GPT-5, Claude, Gemini, etc. via OpenRouter)

- Projects with shared context files (upload once, use across all conversations in that project)

- Conversation branching (explore different approaches in parallel without losing your thread)

- Visual token management (see what's eating your context, prevent "context too long" errors)

- Prompt library, MCP server integration, full parameter control

I'm still figuring out the Pricing model.

- Option A: BYOK (bring your own OpenRouter key) at €5/month for platform access

- Option B: Managed subscriptions with included credits (€15-75/month range)

- Option C: Hybrid - offer both and see what people prefer. Leaning toward BYOK for developers, but worried it's too technical for broader audience

Happy to answer questions about the tech stack, design decisions, or why I thought building yet another AI tool was a good idea!
by EB-Barrington | 2025-11-12 12:19:20+00:00
Example: in Australia there is an organisation named APRA AMCOS. A friend had a job with them, his job was to visit businesses, see if they were playing music, take evidence of such, and then that business would receive an invoice for the right to play the music.

There were many employees of APRA doing this, in every state, and many cease+desist/lawsuits.

The case was clear cut - you play the music, you paid a fee.

https://www.apraamcos.com.au/

(I guess many countries have similar organisations)