MurphyA/hacker-news huggingface dataset:
Show HN: Ottoclip: Create product videos/guides that stays in sync with your app
by ttruong | 2025-10-16 14:06:47+00:00
Hi HN! At my last startup, we'd spend days creating demo videos and tutorials. Then we'd ship a product update that made them all outdated. This happened every few months. We eventually delayed creating new content because it was too much work to update them--even though it caused onboarding problems, support tickets, and misperceptions about our product.

The core problem is that traditional content production treats online products like physical products that rarely change. But online products aren't static--they're constantly evolving to meet user needs, so their content needs to be able to evolve too.

I built Ottoclip to solve this by treating product content like compiled code: you maintain the source script, and we compile it into content in multiple formats--narrated video, interactive demo, looping animation, and in-app guide. Ottoclip accomplishes this by handling the manual post-production work for you.

Here's how it works:

A browser extension records your actions as you use your product and generates a script with default narrations. You edit the narrations to add context. Hit generate and you get multiple content formats from that single source. When your product changes, just update the script and regenerate everything. No re-recording video. No syncing audio. No repositioning callouts.

The interesting technical bit: instead of baking the video, audio, and interactive elements together during production (like traditional video content), I built a player that combines them at playback time. This means you can:

* Use one video for all formats * Change the narration without touching the video * Opens the door for multi-language voice-overs from a single video * Makes it possible to stitch content on-the-fly for personalized demos

I'm also building a CLI tool so you can test your scripts locally and auto-update them when you deploy changes. Basically making content updates part of your CI/CD pipeline.

I've been using Ottoclip on Ottoclip since the first prototype and it's been freeing to not worry about content going stale as I add new features, which has allowed me to iterate faster. But I'm curious: does this resonate with you? What am I missing?

Try it at https://www.ottoclip.com or check out examples at https://www.ottoclip.com/gallery. Would love your feedback!
by namr2000 | 2025-10-16 14:06:49+00:00
I have to disagree here a little bit. Calling C functions from Rust is a very pleasant experience, but the other way around is not so nice. You usually have to manually create types that will unpack rust collections into C compatible structures (think decomposing `Vec` into ptr, len, capacity) & then ensure that memory passed between the two sides is free'd with the appropriate allocator. Even with `cbindgen` taking care of the mindless conversions for you, you still have to put a lot of thought into the API between the two languages.

I am currently working on a fairly involved C & Rust embedded systems project and getting the inter-language interface stable and memory-leak free took a good amount of effort. It probably didn't help that I don't have access to valgrind or gdb on this platform.
by Cthulhu_ | 2025-10-16 14:06:50+00:00
> Kids are always gonna love stuff that pisses off their parents.

Thing is, gen alpha's parents grew up with weird shit themselves, edgy stuff that pushed the boundaries of what is acceptable. MTV and Comedy Central productions for a lot of people, stuff like Beavis & Butthead, Jackass, South Park, and then the 2000's internet of Newgrounds productions. Especially South Park I think desensitized the millennial generation, to the point where there's nothing that really weirds us (well, me) out.

I never watched skibidi toilet or much gen alpha stuff, but I'm not shocked by it or anything. I just think it's weird and surreal, but nothing worse than e.g. Salad Fingers.
by ljm | 2025-10-16 14:07:02+00:00
I think the entire concept of HTML and CSS when it comes to browser-based app development (as opposed to styling documents) is just not that ergonomic compared to a native equivalent.

It might have seen a lot of improvements over the years to make it more flexible but I can't imagine any serious project raw dogging CSS in favour of pulling in some kind of framework or abstraction to make it manageable.
by Sweepi | 2025-10-16 14:07:22+00:00
In the back of my head floats $200 - $300 for the 64 GiB GDDR7 that you get for spending 7k-10k on an ADA 6000 96 GiB instead of 2k for a 5090 32 GiB. Am I off? Is LPDDR5X more expensive?
by dboreham | 2025-10-16 14:07:39+00:00
> Woz is a genius who invented the personal computer as we know it.

History being written by the victors here, I believe.

He designed some clever things for example bit-banging the floppy interface which allowed the Apple 2 to have floppies at a lower price point than competitors. Another innovation of the Apple 2 at the time was its use of a switched-mode PSU. It was almost certainly the first personal computer to have that, but designed by Rod Holt not Woz. He didn't invent the switching PSU -- they were commonly used in portable test equipment at the time.

Having been alive at the time and paying attention, I disagree that Woz invented anything very significant. Definitely an important figure, and a clever guy though.
by thedevilslawyer | 2025-10-16 14:09:09+00:00
Fake "Open source" all over again.. why do we repeatedly have to do this? You can own the "Fair source" and call it that.

I was excited with the pitch. And then had this completely ruin your image. If you'd been upfront, then you could still have retained the interest.

I recommend everyone keep away from this if you care about your autonomy should your side project commercialize. There's plenty of good alternatives. The intent seems dishonest - given how brazenly every comment about the license is exclusively being ignored.
by aw1621107 | 2025-10-16 14:09:10+00:00
> aren't they just annotations?

"Just" annotations... that are automatically added (in the vast majority of cases) and enforced by the compiler.

> proper use of mutexes and lock ordering aren't that hard, they just require a little bit of discipline and consistency.

Yes, like how avoiding type confusion/OOB/use-after-free/etc. "just require[s] a little bit of discipline and consistency"?

The point of offloading these kinds of things onto the compiler/language is precisely so that you have something watching your back if/when your discipline and consistency slips, especially when dealing with larger/more complex systems/teams. Most of us are only human, after all.

> how well does it all hold up when you have teamwork and everything isn't strictly adherent to one specific philosophy.

Again, part of the point is that Send/Sync are virtually always handled by the compiler, so teamwork and philosophy generally aren't in the picture in the first place. Consider it an extension of your "regular" strong static type system checks (e.g., can't pass object of type A to a function that expects an unrelated object of type B) to cross-thread concerns.
by burnto | 2025-10-16 14:09:19+00:00
But it’s typically not simple. People often have some kind of life complexity that makes their taxes hard to confidently self-navigate here in the U.S.

Receiving government assistance? Some kinds are taxable, some aren’t.

Moved states? You have multiple state filings now.

Got married? divorced? Splitting custody or property? Special tax forms to fill.

Native American? Veteran with disability? Senior? Student with loans? Bankruptcy? Freelance income? Etc.

Normal life events turn into tax complexity consequences. And without expert help, it’s hard to know if you’re doing your taxes correctly, which adds stress and time.
by dboreham | 2025-10-16 14:09:57+00:00
This is much more true than the parent comment, but nobody invented the concept of an integrated system in a case with keyboard and screen. That's because said concept is called a "video terminal" and had existed for at least a decade prior to the mid-70s. In fact one of the prime target markets for the first generation 8-bit CPUs was...video terminals. A late-70s personal computer is really just a video terminal that has been made programmable by the user. The hardware is pretty much identical.
by Dylan16807 | 2025-10-16 14:10:03+00:00
That seems fine to me? If I want them to host it then I don't care a lot about the license, and my escape hatch of self-hosting is quite good. I don't think self hosting is a big burden.

And competitors can still host a mildly older version freely, so that prevents long term lock-in even if I ignore self hosting.

So the main company still has to compete to keep business, which is good for everyone, but they keep some control over the hosting business, which means they're less likely to get crushed and stop updating. I think it sounds good overall.
by zamadatix | 2025-10-16 14:10:11+00:00
"F5 announces hack by foreign country" (or the infinite variations of) is less silly than "F5 announces attack from nation-state hackers", you're just used to hearing the latter repeated every incident. Anyone can intentionally use a phrase poorly, pointing out a silly sounding phrasing exists adds nothing.

Not that "F5 announces attack by state sponsored hackers", "F5 announces attack by nation-state backed hackers", or "F5 announces attack from nationally backed hackers" have to be invalid, particularly since the latter is often what is actually most specifically correct anyways.
by qwertox | 2025-10-16 14:10:22+00:00
Slightly related: Anyone noticed how sloppy Samsung has become with the reliability of their NVMe firmware? I learned a lesson when I nearly lost a ton of data in a ZFS mirror of two Samsung Pro 990 4TB NMVes, they might have been from the same batch and had the same firmware version. First one NVMe abandoned the system, then I made a ZFS send of a snapshot of the remaining one, followed by an rsync to have the raw data directly accessible as well, and during the rsync the second NVMe also abandoned ship. A reboot fixed it, and all data was still there, but only upgrading the firmware (to one which now has been superseded again) fixed the problem. I'm really considering no longer buying Samsung Pro NVMes.
by FabHK | 2025-10-16 14:10:35+00:00
Exactly. I find the macOS approach (Cmd-Tab to pick the right app, Cmd-` to pick the right window) much faster/better than just one shortcut to go through all windows.

Imagine having N apps with M windows each, with the macOS model your number of presses to find a given window goes from O(NM) to O(N+M).
by jcranmer | 2025-10-16 14:10:50+00:00
> aren't they just annotations? proper use of mutexes and lock ordering aren't that hard, they just require a little bit of discipline and consistency.

Spatial memory safety is easy, just check the bounds before indexing an array. Temporal memory safety is easy, just free memory only after you've finished using it, and not too early or too late. As you say, thread safety is easy.

Except we have loads of empirical evidence--from widespread failures of software--that it's not easy in practice. Especially in large codebases, remembering the remote conditions you need to uphold to maintain memory safety and thread safety can be difficult. I've written loads of code that created issues like "oops, I forgot to account for the possibility that someone might use this notification to immediately tell me to shut down."

What these annotations provide is a way to have the compiler bop you in the head when you accidentally screw something up, in the same way the compiler bops you in the head if you fucked up a type or the name of something. And my experience is that many people do go through a phase with the borrow checker where they complain about it being incorrect, only to later discover that it was correct, and the pattern they thought was safe wasn't.
by JimDabell | 2025-10-16 14:10:54+00:00
You can use things like Browser Use and Playwright to hook things like that up, but you’re right, this is a very underdeveloped area. Armin Ronacher has a talk that covers some of this, such as unifying console.log, server logs, SQL, etc. to feed back to the LLM.

https://www.youtube.com/watch?v=nfOVgz_omlU
by b00ty4breakfast | 2025-10-16 14:11:01+00:00
if the intent is to bring attention to technological innovations, Jobs was not a technological innovator, despite what the decades of PR would lead you to believe. If we want to argue that he was a promoter of tech innovations, in his capacity as a businessman, I would find that less objectionable but I still don't think Jobs is the guy we should be highlighting, given his track record of screwing over the people doing the actual work and innovating. (though depending on how cynical you are, that is perhaps exactly the type of person that the Powers That Be would want to push as the face of innovation)
by gwking | 2025-10-16 14:11:02+00:00
I have never seen the word “partition” used in this way before. Hard to search for examples because unrelated computer graphics articles about surface partitioning dominate. I did find this:

Partitioning is the distribution of a solute, S, between two immiscible solvents (such as aqueous and organic phases). It is an equilibrium condition that is described by the following equation:

S(aq) ⇄ S(org)

Interesting to think that a surface can play a role comparable to a solvent. I wonder what a chemist would have to say about it.

https://www.chemicool.com/definition/partitioning.html
by JohnFen | 2025-10-16 14:11:07+00:00
Yeah, I'm not sure why he's trying to hammer a square peg into a round hole here. His needs aren't met by OSS licenses, so he should just use a non-OSS license and be done with it. That license can be as permissive as he wants for noncommercial use, and he can still make the project source-available.
by ahmeneeroe-v2 | 2025-10-16 14:11:09+00:00
I recently got rid of my M1 iPad Pro, so I can't verify (and you might be right).

I recall: using stage manager, plugging into monitor via USB-C, going into Settings to disable mirroring/enable as external display, ensuring you have a mouse/keyboard connected to the iPad, and then just clicking the iPad screen off with the lock/unlock button.

lmk if that works!
by CaptainOfCoit | 2025-10-16 14:11:10+00:00
> I think desensitized the millennial generation, to the point where there's nothing that really weirds us (well, me) out.

You know, I used to think the same way, that so many of us got desensitized that none of this newfangled stuff should really be surprising, even less appear bizarre.

Yet out in the real world, I think you, me and the others are maybe a 5% slice of all the people out there, as many people get borderline offended by "weird stuff" and doesn't seem like they got desensitized like you and me when we were younger.
by at-fates-hands | 2025-10-16 14:11:17+00:00
Back in 2015, Wired did an article about the Nuclear Bunker that holds some of Hollywood's oldest films and TV Shows:

If the film is rare, highly flammable, and was made before 1951, there's a good chance it'll end up on George Willeman's desk. Or more specifically, in one of his vaults. As the Nitrate Film Vault Manager at The Library of Congress' Packard Campus for Audio-Visual Conservation, Willeman presides over more than 160,000 reels of combustible cinematic treasure, from the original camera negatives of 1903's The Great Train Robbery to the early holdings of big studios like Columbia, Warner Bros, and Universal. And more barrels keep showing up every week.

https://www.wired.com/2015/07/film-preservation/

Archive link: https://archive.ph/zluV8
by xp84 | 2025-10-16 14:12:08+00:00
I wish my biggest problem was that two people mentioned (correctly) a minor flaw I have, once every two years.

You’ve explained why you won’t fix it (seems that you don’t feel you’ve got sufficient coverage to be confident to do so, or that it’s not possible to cover this type of change) so just put an faq up about it and do not take it personally. You cannot expect zero criticism.
by trentnelson | 2025-10-16 14:12:26+00:00
I finished this article in February this year, just before joining NVIDIA. It didn't get officially published then for... reasons. Posting now despite some of the information being a little out of date as I still think the content might be useful to others.

Tried to make the article as readable as possible on mobile, tablet, and desktop. Mobile necessitated a smaller font size for the code to obviate the need for horizontal scrolling.

Light/dark mode is supported, and the images are even cognizant of the selected mode!

I am doing a talk at PyData Seattle this year (Nov 7-9) focused on this topic, so any feedback regarding additional areas of interest would be appreciated.
by Cthulhu_ | 2025-10-16 14:12:31+00:00
Especially the stop motion animations, they were just absurdist / surreal, not unlike skibidi toilet and italian brainrot content.

If people were a bit more media savvy and less kneejerk or pearl clutching about it, they'd realize that it's nothing new. I don't actually know anyone clutching pearls about skibidi toilet, the worst is a somewhat indifferent "I don't get it". And not getting it is fine.
Show HN: Binharic – A terminal-based AI coding agent
by habedi0 | 2025-10-16 14:13:08+00:00
I've been building Binharic, an open-source AI coding assistant that runs in the terminal. It's written in TypeScript and uses the AI SDK from Vercel for its agentic logic, including tool use and workflow management.

It supports models from OpenAI, Google, Anthropic, and local ones through Ollama. It has a built-in keyword-based RAG pipeline and can use external tools via the MCP.

Many things about the agent are customizable, including its personality. The default persona is a Tech-Priest from Warhammer 40k, but this can be changed.

The project is still in early development, and I'm looking for feedback on the technical implementation and features.

Project's GitHub repo: https://github.com/CogitatorTech/binharic-cli
by ljm | 2025-10-16 14:13:15+00:00
I dealt with a microservice style serverless backend that was spread out across roughly 50 Go-based lambdas, one per API endpoint, with a few more for SQS and Cognito triggers. Was deployed via CloudFormation. Testing locally was an absolute nightmare even with Localstack.

Made me wish for a simple VPS, an ansible script to setup nginx and fail2ban and all that shit, and a deployment pipeline that scp'd a single binary into the right place.
by karmakaze | 2025-10-16 14:13:25+00:00
https://en.wikipedia.org/wiki/Infrastructure_as_a_service

> Infrastructure as a service (IaaS) is a cloud computing service model where a cloud services vendor provides computing resources such as storage, network, servers, and virtualization (which emulates computer hardware). This service frees users from maintaining their own data center, but they must install and maintain the operating system and application software.
by jagraff | 2025-10-16 14:13:25+00:00
Interesting, it seems that the actual surface material of walls and/or furniture makes a large difference in how long VOCs stick around, due to differences in surface area at the microscopic scale.

I have a couple HEPA filters in my house that hopefully keep particulate exposure down. Does this mean that I have to run them longer? That I need more of them continuously running to keep exposure to VOCs low?
by acdha | 2025-10-16 14:13:41+00:00
It’s not about “smart” as much as perfect execution. Bitcoin’s design is very brittle, so he had to do everything perfectly every time but they only needed a single opening. People try various things to split up wallets but those are complicated for a criminal who doesn’t have many people they trust and targeted attacks by nation-state level adversaries are extremely hard to stop (e.g. for an operation of this level, burning a few million on a zero day isn’t a very big chunk of the budget).
by matt-p | 2025-10-16 14:13:45+00:00
Speaking as one, they usually are. I mean polling is mostly BS, all the polling said the that UK was staying in the EU even as the voting opened - look how that turned out. Actually the polls were about the same (~65%) as the polls in say france today which say 68% in favour of EU membership - so could I say france wants to leave the EU? All total rubbish.
by 0xEF | 2025-10-16 14:14:01+00:00
> It's about who is in control.

Nail on the head. So long as the consumer does not have any power, we can be herded like cattle to wherever the devices we now depend on want us to go.

As an aside, perhaps you can help me remember the name of project? I think about a decade ago, now, someone was working on a completely modular smartphone. The idea behind it was that you purchased the base "frame" with the screen and rudimentary functionality, but then purchased modules based on your needs, to add things like wifi capability, cameras, speakers, etc. Perhaps more importantly, these all snapped into the back of the frame, which made them easy for even the casual user to install/uninstall functionality at-will.

Do you (or anyone reading) remember the name of that project?
by _susanoo | 2025-10-16 14:14:15+00:00
> PSA: Please be honest, thoughtful, clear, and communicate changes in advance so they can be avoided or minimized to inflict least net pain for all users for all time.

> Honestly, I hope more development goes into making Phoenix/Elixir/OTP easier, more complete, more expressive, more productive, more testable, and more performant to the point that it's a safe and usable choice for students, hobbyists, startups, megacorps, and anyone else doing web, non-web, big data, and/or AI stuff.

Seriously, this has been the case all the time. It's a great fit for AI, web (Phoenix), non-web (Nerves), students (Pragstudio), hobbyists (hi), megacorps (Discord, bleachereport).

What do you mean it's not testable, productive, expressive enough? Do you mean the entire elixir community is just fiddling about with unsafe software?

This comment seems just like a giant ragebait.
by et-al | 2025-10-16 14:14:40+00:00
I think with a lot of these missions, you had the commanders who were idealists, or those seeking fame and fortune, and then you have the all workers who just didn’t have better options.

We’d like to think of our military as volunteer service-people, but the reality is that it’s a pathway out of poverty for many. So how much “choice” to believe in the mission is there?
by noir_lord | 2025-10-16 14:14:40+00:00
I didn't get the +3 til years after they launched and already had an "old" (not to me) Olivetti PC1 and not long after an Elonex 286 so the +3 was just games really for me at that point - once I got access to Turbo Pascal I had no interest in programming BASIC any more.
by sneak | 2025-10-16 14:14:53+00:00
> Giant trillion dollar conglomerates repackaging and selling a product backed by free labor without contributing back wasn’t something they were contemplating back then.

That's not a bug, that's a feature. Freedom 0 applies to everyone.

Giving a gift does not confer an obligation, and "contributing back" is meaningless in this context. Someone using a gift you gave them to run a business does not harm you in any way whatsoever.
by antiloper | 2025-10-16 14:15:16+00:00
> For example, in the prompt for this experiment, the model is bootstrapped with the correct Form 1040 lines and short instructions as part of its context.

Given that only short instructions are in context, I would not have expected even a frontier model to score well on this benchmark. For better results, I'd think that giving the model access to the entire tax code is required (which likely requires RAG due to its sheer size).