MurphyA/hacker-news huggingface dataset:
Show HN: Viral.ad – Turn any product URL into a UGC video ad in minutes
by cjdesignstudio | 2026-03-07 06:40:11+00:00
I kept paying $150-350 per UGC video, waiting a week, and still getting mediocre hooks. So I built an alternative.

Paste a product URL -- AI scrapes it, writes the script, generates a UGC-style video with actor, voiceover and subtitles. Under 5 minutes.
Stack: Next.js, TypeScript, ElevenLabs (voiceover), Vercel, Stripe, Resend.

$1 trial.

Would love feedback on output quality and the pricing model.

Happy to answer technical questions about the pipeline.
by CMay | 2026-03-07 06:43:25+00:00
the reason your encouraged approach tends to produce poor results, is that you increase the distance between the decisions that need to be made and the people who understand how to make the decision or whether a decision is even valuable to make.

it is basically an unsustainable structure. there's not much value to replacing one structure which you might think is unsustainable with something equally or less sustainable that also produces worse results anyway.

another issue is that it can dilute responsibility and someone will take more assertive control anyway which further reduces the quality of decision making. someone still has to enact and enforce the decisions, so whoever does the enacting has to obey and whoever does the enforcing has to enforce the right thing. it's easy to end up with a bunch of people influencing things for their own reasons which have nothing to do with maximizing the production of good results.
by hexaga | 2026-03-07 06:43:40+00:00
The terminology comes from the post[0] which kicked off interest in orthogonalizing weights w.r.t. a refusal direction in the first place. That is, abliteration was not originally called abliteration, but refusal ablation.

Ultimately though, OP is just what you get if you take the idea of abliteration and tell an LLM to fix the core problems: that refusal isn't actually always exactly a rank-1 subspace, nor the same throughout the net, nor nicely isolated to one layer/module, that it damages capabilities, and so on.

The model looks at that list and applies typical AI one-off 'workarounds' to each problem in turn while hyping up the prompter, and you get this slop pile.

[0]: https://www.lesswrong.com/posts/refusal-in-llms-is-mediated-...
by spike021 | 2026-03-07 06:44:54+00:00
sure.

* made friends to meet up with locally in the bay area from multiple hobbies (roadtripping, photography).

* made friends to meet up with in japan:

* i've now made at least a couple dozen friends who i've visited for meals, road trips, baseball games.

* been invited by other friends to come and take photos at their events and workspaces (like one works for a famous car tuner shop in Saitama and they asked if I could take photos of the owner as he fabricated parts for his race car)

* made another friend who's an expat living in Japan who takes photos as a job for various tourism agencies/local governments who i've hung out with

* made friends while in japan with people who also have shiba inu dogs and we keep in touch between visits using IG

I could go on and on.
by JoeyJoJoJr | 2026-03-07 06:45:24+00:00
I’m not at my computer so I can’t remember the exact behavior of this situation, but was OP more so referring to autocomplete abilities of typescript? I think they were saying, you first must know if the object barks or meows, you must first type that in in order to get the benefit of type checking and subsequent autocomplete conditional body, which is annoying when you are dealing with complicated types. It requires you to do some hunting in to the types, rather than using a piece of code more like an interface.
by xantronix | 2026-03-07 06:45:47+00:00
> (i.e. paying for third-party solutions)

My experiences are not universal but apart from hardware and maybe $10 for a VPS for hosting, I do not find the need to pay for third-party solutions; I quite like this situation, and I do not find myself particularly constrained taking a little extra time or having to think a bit harder. But, my friend, I must ask, what are LLMs if not third-party solutions with sizable expenditures?
by reacharavindh | 2026-03-07 06:46:38+00:00
On these lines… it has been on my “to be vibe-coded” list to make an extremely minimal node-exporter(the metrics collector for Prometheus) in rust (support only Linux, gather extremely minimal set of metrics) that uses tightly controlled concurrency so as to fetch all metrics within a short span of time.

If anyone has more AI tokens or spare time with mental energy to burn… go for it :-)
by KennyBlanken | 2026-03-07 06:47:42+00:00
Only for specific kinds, like MEMS.

But there's no way to detect microphones automatically, and "AI generated cancellation signals" is a word salad that doesn't mean anything.

What they probably mean is "we asked ChatGPT to tell us what waveform and frequency range to use on MEMS devices and spit out some arduino code."
by OneMorePerson | 2026-03-07 06:48:07+00:00
This is technically true in a lot of ways, but also intellectual and not identifying with what the comment was expressing. It's legitimately very frustrating to have something you enjoy democratized and feel like things are changing.

It would be like if you put in all this time to get fit and skilled on mountain bikes and there was a whole community of people, quiet nature, yada yada, and then suddenly they just changed the rules and anyone with a dirt bike could go on the same trails.

It's double damage for anyone who isn't close to retirement and built their career and invested time (i.e. opportunity cost) into something that might become a lot less valuable and then they are fearful for future economic issues.

I enjoy using LLMs and have stopped writing code, but I also don't pretend that change isn't painful.
by yjftsjthsd-h | 2026-03-07 06:49:15+00:00
> Will you PLEASE stop promoting UEFI and ACPI?! These are closed-source blobs that the manufacturers will never update and have complete control over the system at ring -2. Why would you even consider it?

Well, no, UEFI can have proprietary implementations, but nothing prevents just shipping edk2.
by al_borland | 2026-03-07 06:49:24+00:00
It’s not just about speed today. It’s about the speed to make changes, to understand the minutia of the code to more quickly troubleshoot when something goes wrong, to better understand the implication of future changes…

Just yesterday I was on a call where someone was trying to point to my code as a problem when we suspected a DNS issue. If I didn’t know the code inside and out, I could have easily been steam rolled, because as we know, “it’s never the network”. We found out today it was in fact DNS.

If someone only ever worries about is speed, they’ll likely get tripped up and fall. One guy on my team is all about delivering quickly. He gives very optimistic timelines and gets things out the door as fast as possible. Guess what, the code breaks. He is constantly getting bug reports from everyone and having to fix stuff. As he continues to run into this, he is starting to become a bit more mature and tactical, but that is taking time.

I think the CEO would much rather see the production code be fully tested and stable. I write the frameworks everyone else on the team uses. If my code breaks, everyone’s code is broken. How much will that cost?
by 0x696C6961 | 2026-03-07 06:49:49+00:00
Man... I spent the last 6 months writing code using voice chat with multiple concurrent Claude code agents using an orchestration system because I felt like that was the new required skill set.

In the past few weeks I've started opening neovim again and just writing code. It's still 50/50 with a Claude code instance, but fuck I don't feel a big productivity difference.
by gucci-on-fleek | 2026-03-07 06:51:03+00:00
Oh, I wasn't aware of that, thanks! I guess I was only thinking of warmer places, since that's where I tend to travel to. I personally live a bit too far north to drive to the US (in a reasonable amount of time), so I completely forgot that the US is close enough for a summer road trip for most Canadians.
by masklinn | 2026-03-07 06:52:14+00:00
That the problem is already saved does not mean the solution is good. Or that you can’t solve it better.

A uuidv4 is 15.25 bytes of payload encoded in 36 bytes (using standard serialisation), in a format which is not conducive to gui text selection.

You can encode 16 whole bytes in 26 bytes of easily selectable content by using a random source and encoding in base32, or 22 by using base58.
by Implicated | 2026-03-07 06:54:47+00:00
You'll find, at times, that those communicating in a language that's not their primary language will tend to deviate from what one whose it was their primary language might expect.

If that's obvious to you than you're just being rude. If it's not obvious to you, then you'll also find this is a common deviance (plural 'code') from those who come from a particular primary language's region.

Edit; This got me thinking - what is the grammar/rule around what gets pluralized and what doesn't? How does one know that "code" can refer to a single line of code, a whole file of code, a project, or even the entirety of all code your eyes have ever seen without having to have an s tacked on to the end of it?
by kristiandupont | 2026-03-07 06:55:00+00:00
>For short-sighted management, this is all desirable since the sloppy output looks nice in the short term

It was a sobering moment for me when I sat down to look at the places I have worked for over my career of 20-odd years. The correlation between high quality code and economic performance was not just non-existing, it was almost negative. As in: whenever I have worked at a place where engineering felt like a true priority, tech debt was well managed, principles followed, that place was not making any money.

I am not saying that this is a general rule, of course there are many places that perform well and have solid engineering. But what I am saying is that this short-sighted management might not be acting as irrationally as we prefer to think.
by aadishv | 2026-03-07 06:55:02+00:00
This was actually entirely vibe coded by Sonnet 4.6, with a lot of me yelling at it!

It's essentially a SolidStart SPA with virtualized scrolling and a few other tricks (even I don't know most of them!). Vector search is entirely client-side with transformers.js and CLIP. The first load is quite slow unfortunately, cause it has to download the index of photo id -> link (~7 mb last time i checked), and same for searches, as it has to download the vector index (~28mb) and embedding model the first time. Caching is pretty good though.

I was previously using [Lychee](https://lychee.electerious.com/), which worked well but wasn't really suited for this use case. So I scrapped it and started from first principles with Claude. This entire task only used up 50% of my 5-hour quota on the $20 plan!

Since the site itself is an SPA and images are static, using a VPS is overcomplicating things since I (well, Claude) am essentially just using Caddy as a glorified CDN. But I had free DigitalOcean credits since I'm a student, and where else can I host 40 gigabytes of photos for free?

All in all, this was definitely a very fun exploration of what someone who's technical[1] can do with Claude. The code is all open-source (but it's slop) at https://github.com/aadishv/catapp.

[1]: at least I'd like to consider myself technical!
by dqv | 2026-03-07 06:56:03+00:00
I immediately envisioned having my feed reader as a FireFox shortcut and being able to navigate to YouTube videos from that.

Another thing is that I've found certain old movies can only be streamed from weird websites - as in https://weirdstreamingwebsite is the only licensed entity to have it. I could either buy a VHS (which is what we did) or stream it. But since a physical copy might not be available, the only option would be to use that weird website to stream it. There is no app!
by lukaslalinsky | 2026-03-07 06:56:16+00:00
I really wanted to like Helix, it's a great software, works out of the box. I dedicated energy to unlearn my vim habits and learn the helix way. I'm now able to use it fairly effectively, but eventually I just came to the conclusion the bindings are done the way they are due to simpler implementation, not simpler user interface. I'm back to neovim for small updates and zed in vim mode for larger code editing.
by ineedasername | 2026-03-07 06:56:20+00:00
“Maybe there’s a pattern here”

Is is that surprisingly few weapons inventors expressed regret and doubt? Or just that very few wrote about it?

Snark aside, we have massively more people alive today than in 1900 and yet the proportion of people that die in armed conflicts is— while horrific- barely noteworthy in most years around the dawn of the 20th century and not infrequently dwarfed by the body counts racked up in those days.
by karthicedricq | 2026-03-07 06:56:43+00:00
It works on my machine" is still the most common deployment bug
I kept running into the same stupid deployment issue.
Everything works locally.
Tests pass.
I deploy.
Production crashes.
After digging through logs for an hour the problem ends up being something simple like:
• a missing environment variable
• something added to .env.example but not to .env
• a config mismatch between environments
The most common one for me was forgetting to add a variable locally after adding it to .env.example.
So I built a small tool to catch this instantly.
It compares .env and .env.example and tells you if something required is missing before deployment.
Example output:
deploycheck running...

Missing variables:
- DATABASE_URL
- REDIS_URL

Fix the issues above before deployment.
The idea is basically a spell checker for backend configuration mistakes.
Instead of finding out after deploy, it catches the issue while you're still working.
Right now it can:
• detect missing environment variables
• run locally as a CLI
• run in CI as a check before deployment
I’m trying to figure out if this is actually useful outside my own workflow.
Curious if others run into this problem as often as I do.
by gkrimer | 2026-03-07 06:57:10+00:00
Couldn't agree more. On a large and open ended feature I sometimes struggle with where to start and end up researching something tangential. Cool learning, but not efficient.

Claude Code gives me a directory, usually something that works, and then I research the heck out of it. In that way I am more of an editor, which seems to be my stronger skill.
by gucci-on-fleek | 2026-03-07 06:58:12+00:00
Yup, I totally agree that LuaLaTeX and BibLaTeX are awesome; that was even my platform for the (uncontested) TUG board election [0]. But UTF-8 mostly just works with LaTeX these days, regardless of the engine: even pdfLaTeX has defaulted to UTF-8 since 2017 [1]. Fonts are still a mess in pdfTeX though, so I'll definitely second your fontspec+LuaLaTeX recommendation.

[0]: https://tug.org/election/2023/candidates.html#chernoff

[1]: https://www.latex-project.org/news/latex2e-news/ltnews.pdf#s...
by vaylian | 2026-03-07 06:59:09+00:00
> you can only use AI on Helix through LSP

How do other editors do this, if they don't use LSPs? Helix specifically choses LSP as the integration mechanism (in addition to TreeSitter) for supporting different programming languages, because it is a language-agnostic protocol and therefore only needs to be implemented once. Is there some established AI-agnostic protocol/interface? I don't think MCP would work here?
by abustamam | 2026-03-07 07:01:01+00:00
That's a bit reductive. Let's say worst case that LLMs can't generate anything truly novel because of their limitations. That means that whatever they generated is just someone else's words, which could have been that person's art.

On the flip side, let's say LLMs are able to generate something novel. Well, then it could potentially generate thought-provoking art.

Not everything is deserving of finding meaning in. But the fun part of life is looking for things to find meaning in. Whether it's the words of God or an LLM or the President, people will always find meaning. And if it makes them happy and fulfilled, who are we to say it was a waste?
by Animats | 2026-03-07 07:01:34+00:00
> We are so desperate to have our voices back that we are willing to leap into the void. We embrace the Web not knowing what it is, but hoping that it will burn the org chart -- if not the organization -- down to the ground. Released from the gray-flannel handcuffs, we say anything, curse like sailors, rhyme like bad poets, flame against our own values, just for the pure delight of having a voice.

What we got was Myspace and its friends. The technology delivered. But once everybody could broadcast, nobody could be heard.

So we got Facebook, which started out as "me, Me, ME" and ended as a broadcast medium with targeted ads.

The best we can do so far is to have lots of small communities, as with Reddit.
Or just passively doomscroll the infoblasts.
by arjie | 2026-03-07 07:02:17+00:00
This business about Alberto Santos-Dumont does put most of the thing into question:

> North Americans think the Wright Brothers invented the airplane. Much of the world believes that credit belongs to Alberto Santos-Dumont, a Brazilian inventor working in Paris.

Much of the world? It's a minority viewpoint both among scholars and lay people. Some people in the insight porn "actually, the thing they won't tell you" genre of blogs and so on also do it. Certainly it's standard in China and India, so at the least you have to put Asia on that list as well. And Wright is the standard teaching in Australia, and the UK, Germany, Italy, and Spain. Egypt and Botswana and I'd be surprised if other places in Africa are different.

In general, when I look in my rice at a restaurant and I see a cockroach, I assume there are more cockroaches in the restaurant. So, too, I assume there are other cockroaches in this article. I don't have the time to verify the other things, but this is wrong enough that
by ajxs | 2026-03-07 07:02:28+00:00
Unfortunately the missing ingredient to recreating UO is a playerbase that can see the virtual world with innocent eyes. This HN post[1] always comes to mind.

By complete coincidence, yesterday I was just looking at the website for a guild I was in 25 years ago on Oceania [2], which is somehow still online! I had a great time playing UO back then, but I don't think the experience can be recreated today. The people have changed.

1: https://news.ycombinator.com/item?id=33189823
2: http://tdr.iwarp.com/main_nfl.html
by riffraff | 2026-03-07 07:02:30+00:00
> Whew. Ok. You don't tell it the code is slow. Do you tell your coworker "Hey, your code is slow" and expect great results?

Yes? Why don't you?

They are capable people that just didn't notice something, id I notice some telemetry and tell them "hey this is slow" they are expected to understand the reason(s).
by onion2k | 2026-03-07 07:04:18+00:00
In this case (and probably lots of others) the amount of resources needed to make an impact on the problem means that it would never work if the funding was decided through a democratic process. As soon as a committee of people are deciding to where to put resources they decide to share it between a number of worthy causes, and that means none of them get the bulk of what's available. If you have something that's percieved to be a relatively small problem by people it isn't directly impacting every day, that needs a lot of resources to fix it, then it's never getting done.

(Tech-related side note: This is why companies build mountains of tech debt unless there's a former engineer running the show.)
by grey-area | 2026-03-07 07:04:50+00:00
I agree go’s error handling feels a bit clunky, though I prefer the local error handling and passing up the chain (if it were a bit more ergonomic) to exceptions, which IMO have a lot of other problems.

The main problems seem to me to be boilerplate and error types being so simplistic (interface just has a method returning a string). Boilerplate definitely seems solvable and a proper error interface too. I tend to use my own error type where I want more info (as in networking errors) but wish Go had an interface with at least error codes that everyone used and was used in the stdlib.

My rule of thumb on annotation is default to no, and add it at the top level. You’ll soon realise if you need more.

How would you fix it if given the chance?
by al_borland | 2026-03-07 07:06:41+00:00
> the majority of people on this platform have access now to something that renders solo/small team projects much, much more plausible -> so, where are they?

I question the sales pitch from these AI companies, because this isn’t happening.

The AI built projects that are posted feel very much like AI toy projects.

The only real interesting thing I’ve seen so far was Glaze from a couple days ago, from the Raycast people. Though it does make me a bit worried about the future.
by tsimionescu | 2026-03-07 07:08:09+00:00
"Codes" as a way to refer to programs/libraries is actually common usage in academia and scientific programming, even by native English speakers. I believe, but am not sure, that it may just be relatively old jargon, before the use of "programs" became more common in the industry.

As for the grammar rule, it's the question of whether a word is countable or uncountable. In common industry usage, "code" is an uncountable noun, just like "flour" in cooking (you say 2 lines of code, 1 pound of flour).

It's actually pretty common for the same word to have both countable and uncountable versions, with different, though related, meanings. Typically the uncountable version is used with a measure of quantity, while the countable version denotes different kinds (flours - different types of flour; peoples - different groups of people).
by wvenable | 2026-03-07 07:08:15+00:00
> It was so unfulfilling.

I'm going to say something people hate... you're probably holding it wrong. Why do I say that? Because I absolutely felt exactly the way you are feeling. In fact, it can be worse than unfulfilling, it can be even draining.

But I, over time, changed how I used LLMs and I actually now find it rewarding and I'm learning a huge amount. I've learned more technologies (and I do mean learn) in the last year than I have ever in the past.

I think my advice is that if it feels wrong then you shouldn't be doing it that way. But that isn't inherent in using LLMs to help you work. Everyone has different preferences for how they work (and what languages they like, etc). The people using 15 LLMs to build software probably love that but I don't think that's how I want to do it. And that's fine.
by saxenaabhi | 2026-03-07 07:08:28+00:00
I did this search a month ago on Linkedin. Show number of jobs if you search for "Software Engineer".

US: 77,000
European Economic Area: 58,000
India: 51,000
China: 48,000(probably undercounted)
UK: 9,000
Canada: 7,000
Brazil: 6,000
Mexico: 4,000
Aus & NZ: 2,000
Eastern Africa: 300
Western Africa: 500
Southern Africa: 600
Northern Africa: 1,000

Within europe:
Nordics: 3,000
Germany: 15,000
France: 8,000
Italy: 3,000
Poland: 5,000
Romania: 2,000
by menaerus | 2026-03-07 07:09:19+00:00
Over-hiring is a myth IMO.

Company wanting to hire essentially has two options: (1) hire from the pool of fresh candidates coming out of the Universities, (2) hire people who are already employed.

This means that to inflate the numbers of software engineers on the market you also have only two options: (1) have the Universities start to somehow exponentially produce the number of software engineers which the market could not amortize, (2) let go a substantial number of software engineers who now (in between 2020-2025) all of the sudden cannot find a new job anymore

(1) is a non-sense and for (2) to take place market needs to stagnate, which is what is happening. Reasons are manyfold.