MurphyA/hacker-news huggingface dataset:
by mateid | 2026-01-19 08:01:28+00:00
Me and my buddy run a small indie dev studio, and a while back we got frustrated with how most PDF scanner apps feel — clunky UX, subscriptions everywhere, ads, and in some cases your documents get uploaded who-knows-where (for example, incidents reported leaks by TechRadar and Fox News).

So we built our own PDF scanner & editor — lightweight, privacy-first, and (hopefully) not annoying to use. No ads, no subscriptions. Most features are free — a couple of advanced tools require a one-time unlock. All core features run 100% offline with on-device processing.

The main features are built for everyday workflows:

Scan documents — auto edge detect, live corner adjust, batch multi-page
Fill and sign forms — reusable signatures, flatten for secure sharing
OCR text recognition — preserves layout, searchable PDFs or clean text export (supports 18 languages, e.g., English, Spanish, French, German, Italian, Portuguese, etc.)
Edit OCR-detected text — adjust or fix recognised text
Page tools — reorder, rotate, duplicate, delete, extract pages
Annotations and highlights — comments, text notes, custom watermarks
Folder organization — custom folders, drag-and-drop move/rename
Everything runs locally — no accounts, no tracking, no upload processing.
You can download an AI model to your device (one-time download — it stays cached), and then:

- ask questions about a document
- summarise sections or chapters
- extract key points or data
- turn long documents into quick notes
- After the model is installed, all Chat PDF processing happens fully offline on your device.

The app is free to download, and most features are free (scanning, OCR, signatures, annotations, editing, etc).

We wanted to keep the essential tools free, and only charge once for a few advanced features.

We also put together a YouTube playlist with short feature walkthroughs.

You can find the app here: https://apps.apple.com/ro/app/pdf-master-scan-edit-sign/id67...

We’d really appreciate feedback — especially on the Chat PDF feature (usefulness, speed, UX, edge cases, things it should do better). If you try it and have suggestions, we’re actively improving the app based on user feedback.
by utopiah | 2026-01-19 08:01:45+00:00
Guess I didn't take the same econ classes, I thought providing value to the customer was what capitalism ran on. I go to the butcher next door without having seen a single ad about it. They just sell a "better" product (according to my own criteria) than the supermarkets around.

If tomorrow (please take a second to imagine) that ads were banned and it worked (effectively 0 ads anywhere) I would still read journals that review new boardgames, I would still need products to fix my bike, etc.

It's value that makes capitalism run, not ads.
by zjaffee | 2026-01-19 08:02:14+00:00
One thing that is repeatedly underdiscussed about open source is that every time you have a major open source project become successful, be that anything from Linux to Apache Spark, you have private companies who come in, build something that can very reasonably still be called Linux or Apache Spark, but underneath has tons and tons of extra stuff that they never feed back into the open source community.

Hell, I think with the later (since all major cloud providers deploy their own version of spark on their respective data processing cluster services), people don't even know that they aren't in fact using open source software. Hell, eventually you get to a point where companies that choose not to use these third party services eventually just open source their own improvements or abstractions as again separate open source projects that never make it into the upstream project (which are often times heavily influenced by profit making entities).

This has been the model for a very long time, going back to at least the likes of redhat. And certainly will be going forward with countless future projects. Maybe there needs to be new models of open source governance, but I have no clue how successful such a thing would even be.
by timschmidt | 2026-01-19 08:02:18+00:00
Absolutely this. Folks are used to an awful lot of the complexity being hidden from them through avoidance of threading, runtimes, garbage checkers, standard libraries, and so on. For a language which exposes all of the complexity, Rust feels minimalist. C++ is one of a small number of other languages which also expose all the complexity, and it feels gargantuan and like poorly-thought out additions after additions by comparison. I don't mean to disparage the C++ devs at all, C++ has managed to be useful for ~40 years, and it's still capable of incredible things. Just that we've learned a lot over those 40 years, and computational capacity has grown significantly, and Rust has had the opportunity and architecture to integrate some of that learning more fundamentally.

Somehow most of the libraries in the Rust ecosystem seem to interoperate with each other seamlessly, and use the same build system, which I didn't have to learn another unrelated language to use! Astounding!
by anonymous908213 | 2026-01-19 08:03:00+00:00
And they would be correct. Writing in binary directly does not mean your code is magically good. We already have tools for translating language to binary, they're called compilers and they work deterministically and apply decades of development's worth of optimizations to all of the binary they generate. They are architected in such a way that there is literally no possible way an LLM's architecture could generate more optimized binary.
by jillesvangurp | 2026-01-19 08:03:49+00:00
Tests, compilation, and other automated checks definitely help coding agents. In the same way that they help people catch their own mistakes. More importantly, as coding agents will be running these things a lot in limited resource & containerized environments, it's also important that these things run quickly and fail fast. At least, I've observed LLMs spend a lot of time running tools and picking apart their output with more tools.

For complicated things, it helps to impose a TDD workflow: define the test first. And of course you can get the LLM to write those as well. Cover enough edge cases that it can't take any short cuts with the implementation. Review tests before you let it proceed.

Finally skills help remove a lot of the guess work out of deciding which tools to run when. You can just tell it what to run, how to invoke it, etc. and it will do it. This can save a bit of time. Simple example, codex seems to like running python things a lot. I have uv installed so there is no python on the path; you need to call python3. Codex will happily call python first before figuring that out. Every time. It will just randomly call tools, fall back to some node.js alternative, etc. until it finds some combination of tools to do whatever it needs to do. You can save a lot of time by just making it document what it is doing in skill form (no need to write those manually, though you might want to review and clean them up).

I've been iterating on a Hugo based static website. After I made it generate a little test suite, productivity has gone up a lot. I'm able to do fairly complex changes on this thing now and I end up with a working website every time. It doesn't stop until tests pass. It doesn't always do the right thing in one go but I usually get there in a few attempts. It takes a few seconds to run the tests. They prove that the site still builds and runs, things don't 404, and my tailwind styling survives the build. I also have a few checks for link and assets not 404ing. So it doesn't hallucinate image links that don't exist. I made it generate all those tests too. I have a handful of skills in the repository outlining how/when to run stuff.

I did some major surgery on this website. I made it do a migration from tailwind 3 to 4. I added a search feature using fuse.js and made it implement reciprocal rank fusion for that to get better ranking. Then I decided to consolidate all the javascript snippets and cdn links into a vite/typescript build. Each of these tasks were completed with pretty high level prompts. Basically, technical debt just melts away if you focus it on addressing that. It won't do any of this by itself unless you tell it to. A lot depends on your input and direction. But if you get structured, this stuff is super useful.
by uecker | 2026-01-19 08:04:40+00:00
Yes, and Germany's emissions for electricity production were double the amount a decade ago and are dropping as coal is phased out. So renewables do work. 1) Once the transition is complete it will also be close to zero. These numbers only show that if you move to a carbon-neutral production already in the eighties of last century your are done now. Please make a reasonable argument and not this nonsense comparison.

1) You can find a plot here (absolute numbers). See the dramatic drop in emissions in recent years?
https://energy-charts.info/charts/co2_emissions/chart.htm?l=...
by SilverElfin | 2026-01-19 08:05:22+00:00
Weird that the story you linked disappeared, and I definitely would expect that post to stay around as you mentioned. I have noticed a lot of aggressive flagging of political stories, which is frustrating given that the political landscape right now is extremely volatile and has big implications for everyone and everything. All the typical tech stuff is less interesting at this time.

As for YCombinator - not sure about them specifically but lots of tech billionaires are for invading Greenland or at least coercing them. Joe Lonsdale (Palantir co founder) recently said in an interview that he views it as frontier land (rather than someone else’s sovereign state). Probably the rare earth minerals would help investors involved in chips or AI.
by elbci | 2026-01-19 08:05:25+00:00
The "Oohhh...I get it now... F_ck!" will be epic. At some point they will rediscover that insight from 1917 explaining that money are not backed by gold or oil or even leaving your computer overnight - money are backed by guns! Why is this green paper money and this pink one that I like better is not? / Because my big gun say so!
by sixtyj | 2026-01-19 08:05:39+00:00
It should be “made for profit, we need to pay mortgage/loan as most of people”… this would be more honest :)

Buy-me-coffee / you can donate / payments in bitcoins accepted / pay as you use / etc.

But I am curious what could work so people wouldn’t be discouraged immediately?

Subscription (monthly/quarterly/annual) is annoying as well…

Adobe has started this wave, I remember it vividly.
by craftkiller | 2026-01-19 08:06:13+00:00
> How does virtualisation not incur an overhead?

I think the key thing here is the difference between OS virtualization and hardware virtualization. When you run a virtual machine, you are doing hardware virtualization, as in the hypervisor is creating a fake devices like a fake SSD which your virtual machine's kernel then speaks to the fake SSD with the NVMe protocol like it was a real physical SSD. Then those NVMe instructions are translated by the hypervisor into changes to a file on your real filesystem, so your real/host kernel then speaks NVMe again to your real SSD. That is where the virtualization overhead comes in (along with having to run that 2nd kernel). This is somewhat helped by using virtio devices or PCIe pass-through but it is still significant overhead compared to OS virtualization.

When you run docker/kubernetes/FreeBSD jails/solaris zones/systemd nspawn/lxc you are doing OS virtualization. In that situation, your containerized programs talk to your real kernel and access your real hardware the same way any other program would. The only difference is your process has a flag that identifies which "container" it is in, and that flag instructs the kernel to only show/allow certain things. For example "when listing network devices, only show this tap device" and "when reading the filesystem, only read from this chroot". You're not running a 2nd kernel. You don't have to allocate spare ram to that kernel. You aren't creating fake hardware, and therefore you don't have to speak to the fake hardware with the protocols it expects. It's just a completely normal process like any other program running on your computer, but with a flag.
by antisol | 2026-01-19 08:06:16+00:00
yeah, fair. There is a big learning curve for an entire desktop environment. And that's before you start getting into trying to do super-custom things and replicate exactly what you had on windows.

I've always held that switching to Linux is hardest for the most technical people, because you know how to do everything already - figuring out how to do X in Linux might take you literally hours, or you can just reboot into windows, where you know how to do it and it will take 5 minutes. It's hard to make that investment in learning the new stuff when you just want to get stuff done.

(But IMHO it's well worth it - For >15 years I've always been appalled every time I've used windows about how inflexible and unconfigurable it is. There's a thousand things that I've been doing forever that I'm just so used to, e.g the ability to make any window always on top, or to use my mouse wheel to roll them up so that only the titlebar shows. There's lots of things like that that I use every day without thinking about it, and the lack of those things makes windows extremely frustrating for me)
by echelon | 2026-01-19 08:06:53+00:00
Y'all did such a good job with this. It captivated HN and was the top post for the entire day, and will probably last for much of tomorrow.

If you don't know already, you need to leverage this. HN is one of the biggest channels of engineers and venture capitalists on the internet. It's almost pure signal (minus some grumpy engineer grumblings - we're a grouchy lot sometimes).

Post your contract info here. You might get business inquiries. If you've got any special software or process in what you do, there might be "venture scale" business opportunities that come your way. Certainly clients, but potentially much more.

(I'd certainly like to get in touch!)

--

I believe volumetric is going to be huge for creative work in the coming years.

Gaussian splats are a huge improvement over point clouds and NeRFs in terms of accessibility and rendering, but the field has so many potential ways to evolve.

I was always in love with Intel's "volume", but it was impractical [1, 2] and got shut down.

During the pandemic, to get over my lack of in-person filmmaking, I wrote Unreal Engine shaders to combine the output of several Kinect point clouds [3] to build my own lightweight version. The VGA resolution was a pain and I was faced with fpga solutions for higher real time resolution, or going 100% offline.

Today, World Labs and Apple are doing exciting work with image-to-Gaussian models [4, 5], and World Labs created the fantastic Spark library [6] for viewing them.

Most recently, I've been leveraging splats to do controllable image gen and video generation [7], where they're extremely useful for consistent sets and props between shots.

I think the next steps for Gaussian splats are good editing tools, segmenting, physics, etc. The generative models are showing a lot of promise too.

[1] https://www.youtube.com/watch?v=24Y4zby6tmo

[2] https://www.youtube.com/watch?v=4NJUiBZVx5c

[3] https://www.twitch.tv/videos/969978954?collection=02RSMb5adR...

[4] https://www.worldlabs.ai/blog/marble-world-model

[5] https://machinelearning.apple.com/research/sharp-monocular-v...

[6] https://sparkjs.dev/

[7] https://github.com/storytold/artcraft (in action: https://www.youtube.com/watch?v=iD999naQq9A or https://www.youtube.com/watch?v=f8L4_ot1bQA )
by DeathArrow | 2026-01-19 08:07:12+00:00
>On one hand, Dennard Scaling (aka free lunch) is long gone, hardware landscape is getting increasingly fragmented and specialized out of necessity, software abstractions are getting leakier, forcing developers to be aware of the lowest levels of abstraction, hardware, for good performance.

There are lots of people using Javascript frameworks to build slow desktop and mobile software.
by wewxjfq | 2026-01-19 08:07:50+00:00
Scratch further and beneath the ad business you'll find more incentives to allow fake engagement. Man is a simple animal and likes to see numbers go up. Internet folklore says the Reddit founders used multiple accounts to get their platform going at the start? If they did, they didn't do that with ad fraud in mind. The incentives are plenty and from the people running the platform to the users to the investors - everyone likes to be fooled. Take the money out and you still have reasons to turn a blind eye to it.

The biggest problem I see is that the Internet has become a brainwashing machine, and even if you have someone running the platform with the integrity of a saint, if the platform can influence public opinion, it's probably impossible to tell how many real users there actually are.
by jstanley | 2026-01-19 08:07:56+00:00
> If in a langauge there is one word for 2 different colors, speakers of it are unable to see the difference between the colors.

Perhaps you mean to say that speakers are unable to name the difference between the colours?

I can easily see differences between (for example) different shades of red. But I can't name them other than "shade of red".

I do happen to subscribe to the Sapir-Whorf hypothesis, in the sense that I think the language you think in constrains your thoughts - but I don't think it is strong enough to prevent you from being able to see different colours.
by utopiah | 2026-01-19 08:08:12+00:00
> throwing shit at the wall with Johnny Ive and hardware.

Damn, I already forgot about that. You'd think a company who has the smartest people on Earth building a "product" that is "intelligence" would be able to... you know, make something out of it. Somehow despite ALL that, despite all the press too, they can't ship? Something does not add up, it's as if, and I know I'm going to sound like a crazy person, they were just... a normal company! /s

> I was initially rooting for OpenAI hoping it can challenge google and Apple. However they showed to being unscrupulous and seem to have a moral compass at the same level as meta.

OK ok well this is weird to me, I didn't think I'd be the one to defend Meta here ... but Meta at least never hid it's intention : it was a for-profit VC backed startup which only goal was to make money from day 1. OpenAI though started as a non-profit, collected goodwill from everyone to get the best talent because it's 1 thing, what made it special : it's mission WAS safety. Then they did 1 thing that actually got popular, GPT2, thanks to some pretty damn good marketing "Oh no, it's too risky to release!... but ok OK here it is anyway, but like don't destroy the World please." then exclusive partnership, etc, etc. Meta was "We want money." so at least they didn't lie about it.
by zby | 2026-01-19 08:08:15+00:00
Yeah - the author seems oblivious to that option. But to be fair - this post is more about the more basic step of choosing the schema - he argues that it is still a task for a human. In his next post https://www.domainlanguage.com/articles/context-mapping-an-a... applying some output schemas would be more useful.

By they way you don' need to use library to have output schemas: https://platform.openai.com/docs/guides/structured-outputs , https://platform.claude.com/docs/en/build-with-claude/struct...
by asimovDev | 2026-01-19 08:08:27+00:00
How does it fare with PDFs consisting entirely of images? Any PDF tool was struggling with compressing a passport scan (made with iPhone so might've contributed somehow, knowing Apple and PDFs) I had to cut down in size. Ended up using ImageMagick cause any Ghostscript based tool couldn't get it below 7 MBs from the original 28MB which, although, pretty good, was still too high and I could tell there was still plenty of detail that could be discarded without losing the eligibility of the document. I had to compress it with ImageMagick at the end, cut it down from 28MB to 3MB.

Also does Adobe have some kind of patent/copyright on PDF forms? I don't think I saw any free tools that can edit fillable fields / tables in PDFs. I don't see any mention of forms in the Suite section of your app either. Is it just stupidly difficult / annoying to implement ?
by zmmmmm | 2026-01-19 08:09:21+00:00
It's sort of a mini singularity event once you get sufficient test coverage (and other guardrails in place) that your app can "code itself" via agents. There's some minimum viable amount and a set of infra to provide structured feedback (your agent gets good text error messages, has access to error context, screen shorts, etc etc) where it really starts to take off. Once you get lift off it's pretty cool.
by michalsustr | 2026-01-19 08:09:57+00:00
As someone said: Custom lints are super useful.

What we do at https://minfx.ai (a Neptune/Wandb replacement) is we use TONS of custom lints. Anytime we see some undesireable repeatable agent behavior, we add it as a prompt modification and a lint. This is relatively easy to do in Rust. The kinds of things I did are:

- Specify maximum number of lines / tabs, otherwise code must be refactored.

- Do not use unsafe or RefCells.

- Do custom formatting, where all code looks the same: order by mods, uses, constants, structs/enums, impls, etc. In particular, I added topological ordering (DAG-ordering) of structs, so when I review code, I build up understanding of what the LLM actually did, which is faster than to read the intermediate outputs.

- Make sure there are no "depedency cycles": internal code does not use public re-exports, so whenever you click on definitions, you only go DEEPER in the code base or same file, you can't loop back.

- And more :-)

Generally I find that focusing on the code structure is super helpful for dev and for the LLM as well, it can find the relevant code to modify much faster.
by arielcostas | 2026-01-19 08:10:05+00:00
Every government in Spain for the last decade or more has been cutting corners in maintaining the rail networks: high speed (where this accident happened), the conventional network and commuter rail. You failed to mention the fact our budget has been extended since 2023, that the actual track where this happened was given maintenance under a year ago (per the minister, [^1]) and the train that first derailed (Iryo's ETR1000) was last checked 4 days ago.

Regarding the former Minister (Ábalos), he's awaiting trial and not yet convicted (even though, IMHO he is probably guilty), and he hasn't been in the ministry since 2021[^2] so it makes no sense to bring it up when he has been out for nearly 4.5 years now.

[^1]: https://www.lavozdegalicia.es/noticia/espana/2026/01/18/osca...
[^2]: https://www.elconfidencialdigital.com/articulo/otros/jose-lu...
by stevage | 2026-01-19 08:10:54+00:00
>I see nothing mentioned about integrating webhooks or some kind of similar feature.

Exactly - nothing so far. But it's impossible to believe they won't.

>If you’re hiring employees, paying under ten bucks a month per user for a full communication suite is not bad.

Yeah, if the Slack is for an organisation of full-time employees, the pricing is a non-issue.

All the cases where it's been a problem are something different: either an organisation of volunteers, or just a collective of people, or maybe an org that has some employees and some contractors who might be inactive for a while etc etc.
by crote | 2026-01-19 08:11:21+00:00
> Plus the low speed lines are less deadly since the total energy is proportional to velocity squared, and v is low.

You're forgetting about the probability of a crash.

The vast majority of train crashes is due to an impact with a vehicle on a railway crossing.

However, high-speed rail is grade separated, so it doesn't have railway crossings, which means the main cause of crashes is fundamentally impossible.

In other words: Regular rail has a high rate of crashes (with a small number of fatalities each) due to car/truck drivers screwing up. High-speed rail has a low rate of crashes (with a large-ish number of fatalities each) due to catastrophic failure of track & train equipment.