MurphyA/hacker-news huggingface dataset:
by roenxi | 2026-01-10 13:41:31+00:00
> I sourced my claims: smallpox, polio, measles, mumps.

1. That isn't what sourcing a claim means. It means to provide sources for why your claims are true; or at least where you heard the claim first. Picking specific examples is helpful, but it isn't providing a source.

And despite those examples, I still catch an infections disease ... basically annually.

2. I suppose I assumed it was going to be made obvious by context, but I don't care about smallpox, polio, measles or mumps and I'm not talking about them. Nobody forced me to do anything in relation to them, nobody threatened my livelihood over them and I don't feel at any risk of being forbidden from leaving my house because of them. It is a good point but I didn't intend to talk about it - it stands alone as a point and beyond that I don't care. Since you bought it up more then once you get this paragraph. But if it is necessary to put up with measles to put the authoritarians in a box? So be it. The anti-vaxers are the lesser of two evils, they're minnows compared to the sharks who were showing their colours through COVID; we're lucky that episode only lasted long enough for the authoritarians to do terrible economic damage.
by bityard | 2026-01-10 13:41:51+00:00
HN only covers a very small slice of interesting things that happen in tech every day. If it's your only source of tech news and information, you are missing out on a LOT.

There are plenty of self-hosted models being released all the time, they just don't make it to HN. For that, you need to find a community that is passionate about testing and tinkering with self hosted models. A very popular one is "/r/localllama" on Reddit, but there are a few others scattered around.
by c0nsumer | 2026-01-10 13:42:01+00:00
(Author here.)

There's no Cleartype in use here, as the first paragraph says, it's macOS.

And I'm using the default font sizes because they work well for me on an LCD. The point of this post is to document my experience with trying a current-gen generally-available OLED and how it did not work out well because of the subpixel arrangement.

It's also not just an issue on text, it affects any high contrast edges, especially perfectly vertical or horizontal ones. This meant that CAD stuff, spreadsheets (the grid), and large colored sections in graphic design software looked off as well.
A vision-based PDF parser to validate contracts in Google Drive
by scannyai | 2026-01-10 13:42:07+00:00
I manage several HubSpot instances, and getting data from PDF contracts into the CRM is a massive bottleneck.

Standard OCR + Regex was too brittle. So I built Scanny AI.

It listens for Drive webhooks, uses a vision model to extract keys (like "Total Value") regardless of layout, enforces a strict JSON schema, and patches the HubSpot API.

It handles about 5k pages/hour.

Docs and API keys: scanny-ai.com
by catapart | 2026-01-10 13:42:21+00:00
Working as expected. Thanks for the fix! Now that I'm actually able to use it, it's pretty great. It's a really great experience, exploring to fill out the notes. I do get that rogue-like itch for immediacy, when I make a simple mistake, but it feels like having to wait gives a nice buffer. I also really like how configurable it is. That's something that is often overlooked.

Also, thanks for checking out the site! Yeah, I compressed the files down to .mp3, myself, and then only used a single velocity, so that they were around 2MB in total. They sound terrible, in comparison, but good enough for phone speakers and non-recordable jamming. You can find the same-sized, better-sounding .opus versions in all velocities on the repo's base-functionality branch, if you're interested in those samples.
by vidarh | 2026-01-10 13:42:21+00:00
Whether you think it possible or not, this take misunderstands Marxism at a fundamental level.

For Marxists, automation is a good thing - in fact it is a core precondition of socialism.

Marx spent half the first chapter of the Communist Manifesto fanboying over capitalism for the productivity increases brought by capitalism.

So why do you think it was to the chagrin of Marxists? Marx spent decades cheering on the advancement of industrialisation, and specifically argued (in The German Ideology) that socialism would be impossible without these advances in productive forces.
by theboywho | 2026-01-10 13:42:51+00:00
While the observations might be true, I’m not sure going closed source is going to help here. If optimizing docs for AI makes you less visible, guess what else makes you less visible : not even being accessible.

Just because AI is "taking advantage" of projects being open source doesn’t mean the solution is direct closed source. Going with the most direct solution to a problem is an indication you might not have spent time thinking deeper about the problem
by y0sha | 2026-01-10 13:43:42+00:00
I enjoyed reading this article and I enjoyed the conclusion the author draws from his experiment very much, but I think some assumption he made at the early stages could a have been improved or are not explained very well:

1. Why a grid system, and what justifies the grid size? As a person who works on algorithmic optimizations since decades (god, I am old), I would have chosen a different approach: Since we know that the shortest distance between to points is the straight line, I would only consider points at a junction for a path decision. Basically this could be seen as either a one-way road system (start to end of an aisle) or a two-way road system, with ony one lane per direction. With this system your graph is much smaller and can be traversersed more easily.

2. I wouldn't have chosen Simulated Annealing for this job. It guarantees you to find a solution in a short period of time, but the chance that you get stuck in local minima is very high in contrast to finding the global minimum (which you couldn't even proove you found). Path finding is well documentated and there are heuristics (if you need them) to solve that problem reasonably without using such a complicated algorihtm. I would have probably build a Dijkstra Matrix between all points (from above) then you know all distances going from A to C via B, for example.

3. I think the problem is a bit similar to the Traveling Saleman Problem (which has been solved optimally in a mathematical way now, AFAIK), however, one needs to make sure that each path is traversed at least once. (We don't want to skip an aisle).

I often have the feeling that people are trying to solve problems by just throwing data aimlessly on (AI) algorithms which is compuational expensive without realising that the data needs to be filtered and maybe converted (i.e. feature extraction). Furthermore the right algorithms need to be used to solve a job (e.g: Do you need a quick solution that's not optimal? and so on.). Having said that, of course, any simulation (optimization) is just a positive, simplified view of the real world. To stay with the author's example, there might be some aisles where sweeiping needs to be done more often then on other aisles depending on the groceries on the shelves etc.
by throwaway150 | 2026-01-10 13:43:51+00:00
I don't mean to trivialize the OP's experience. This is definitely a very important matter and serious issue in the industry. So forgive me for raising a much smaller, side point.

> I've contributed millions of lines of carefully written OSS code over the past decade

I have never tracked my own output, but I would be surprised if I have written even a single million lines of code, let alone several.

Out of curiosity, is this common? Have people here actually written millions of lines of code themselves? Even assuming two million lines over thirty years, that still averages to around 180 lines per day, every day. It is doable but it is a very high level of sustained output.

I am not doubting the OP. Just noting that this represents an extraordinary amount of coding by any measure.
by thaumasiotes | 2026-01-10 13:44:50+00:00
> Funny that in English gift is a word but entirely different meaning.

In English it maintains its original Germanic meaning derived from the verb give.

The sense of "poison" in German comes from a euphemistic use of "gift". (Literally 'something given' but actually used to calque Greek "dosis", which also literally meant 'something given', but was used to mean 'dose [of medicine]'.)

https://en.wiktionary.org/wiki/Gift#Etymology

Summing up, the reason gift is a word in English with an entirely different meaning from what it has in German is that everyone in Germany forgot what gift meant.

(The reason it's gift and not something more like yift is the Danelaw.)
by coldpie | 2026-01-10 13:46:16+00:00
In your first comment you said, "why would I pay for [software] if it is provided for free?" And you're right, you don't. What you pay for is for someone to develop software/features that don't exist yet. Maybe the users of the phone you sell want some new feature. Then it's done and everyone's happy and even better you don't need to pay for the entire project to be built from scratch or pay ongoing license fees or whatever. That's how you monetize open source.
by ChiMan | 2026-01-10 13:46:20+00:00
A norm of scheduling the “start” on the hour or half hour while really starting the meeting five minutes later also works. That way, attendees have an opportunity to arrive “on time” and chat if they like, building relationships in the process. The freedom to arrive at any point during the first five minutes also helps to create the kind of ease that’s conducive to serious discussion. This second part is particularly important when power dynamics might otherwise derail real discussion.

Because five minutes of pure chitchat can feel excessive to some folks, though, a three-minute norm probably works better—-especially because the off-centeredness has the informal aesthetic that, again, forms a better backdrop for serious discussion.
by reactordev | 2026-01-10 13:46:30+00:00
Curious your thoughts on how we got here, with git being the dominant VCS. You do know how git rose to fame? Who wrote it? Why it was adopted?

It came from a need.

So what needs do we have that you solve?

I agree GitHub is evil. There’s GitLab, gitea, codeberg… self hosting, ssh like its old school git, you have other options.
by zozbot234 | 2026-01-10 13:46:52+00:00
GrapheneOS is not solving the actual interesting problem (running on an entirely mainline kernel, just like on x86). It's effectively a hardened variety of LineageOS/AOSP, hence entirely reliant on device-specific downstream kernels/BSPs that will never see a feature update.

BTW, hardware support on postmarketOS "community" class devices has seen some nice improvements as of late. Once these improvements meaningfully stabilize (avoiding the risk of regression/breakage; there's been some of that even in the recent testing for the 2025-12 stable release) it's quite possible that some "community" devices might finally reach "main" class, marking them as OK for daily-driver use. Something to watch for as we approach 2026-06.
by throwaway150 | 2026-01-10 13:46:58+00:00
> Some OSS will keep going - wealthy devs doing it for fun or education. That's not a system, that's charity.

I read that. That statement is technically true but I don't like that they put a negative connotation around it. Apologies if they didn't intend it like that.

But I'll say that there is nothing wrong with charity. Some devs will do open source with hope to monetize. Some will do it for charity. Both are equally valid motivations.
by aidos | 2026-01-10 13:47:55+00:00
You can replace objects in PDF documents. A PDF is mostly just a bunch of objects of different types so the readers know what to do with them. Each object has a numbered ID. I recommend mutool for decompressing the PDF so you can read it in a text editor:

mutool clean -d in.pdf out.pdf

If you look below you can see a Pages list (1 0 obj) that references (2 0 R) a Page (2 0 obj).

1 0 obj
<<
/Type /Pages
/Count 1
/Kids [ 2 0 R ]
>>
endobj

2 0 obj
<<
/Type /Page
/Contents 5 0 R
...
>>
endobj

Rather than editing the PDFs in place, it's possible to update these objects to overwrite them by appending a new "generation" of an object. Notice the 0 has been incremented to a 1 here. This allows leaving the original PDF intact while making edits.

1 1 obj
<<
/Type /Pages
/Count 2
/Kids [ 2 0 R 200 0 R ]
>>
endobj

You can have anything inside a PDF that you want really and it could be orphaned so a PDF reader never picks up on it. There's nothing to say an object needs to be referenced (oh, there's a "trailer" at the end of the PDF that says where the Root node is, so they know where to start).
by anymouse123456 | 2026-01-10 13:48:17+00:00
I'm incredibly impatient with my tools and I've been running omz for many years. I spend my days in tmux/vim and generally run 6-12 shells at a time.

Some quick troubleshooting many years ago narrowed the vast majority of the problem down to the git plugin, especially for large, old repos.

I disabled the git plugin and everything has been fine ever since.

Figured I'd dig deeper and bring back the current branch name without the bloat at some point, but it hasn't bothered me enough to do it.
by omnicognate | 2026-01-10 13:48:31+00:00
You seem to have an axe to grind about something completely unrelated to the article here. Since you brought it up, though, if you're going to be one of the thousands of people driving up the road outside my house every day then, as a member of a family with multiple generations of life-threatening asthma, the fact that you're required to do it in a car with strictly regulated emissions is an unalloyed positive as far as I'm concerned.
by thaumasiotes | 2026-01-10 13:48:37+00:00
> The point is, both are correct(afaik) while in English venom and poison are definitely two different things.

No, the situation in English matches your description exactly: all of these things are called poison. The word venom is almost never used in natural speech.

Furthermore, if you ask English speakers what the difference between poison and venom is, by far the two most common responses will be "there isn't one" and "I don't know". icyfox is just looking to be annoying.
by Forgeties79 | 2026-01-10 13:48:48+00:00
There’s no real smoking gun here showing what they are taking, storing, and using (or how they’re using it). But I do agree that nobody should dive in to this until that’s better understood as it is likely they are not following HIPAA and will not respect your privacy. Definitely not when there’s money on the table. Given their track record the concern is warranted.
by ptero | 2026-01-10 13:50:08+00:00
> I think it’s rather that people need to eat.

They do and always did. But open source was originally not about that, but about building something cool and letting others build on that. And, crucially, about GPL preventing large companies from extinguishing your work "because copyright". I remember Bill Gates calling GPL a spreading virus that tech world has to fight.

Sometime along this path monetizing open source became a thing. Now it is apparently becoming less lucrative. OK. That's the nature of changes, but IMO it does not kill open source. It might eventually make it even better, as commercial open source has become too widespread and money corrupts. My 2c.
by sgarland | 2026-01-10 13:50:35+00:00
Do you know how many CI/CD pipelines run on shell scripts?

Another example is small utilities. I wrote one to login to MySQL DBs at work. We have to use Teleport, which I dislike, and it has MFA. So I made a small SQLite DB that has cluster names, endpoints, and secret ARNs (no actual secrets, only metadata), and then wrote a shell function that uses fzf to parse the SQLite DB contents, then ssh tunnels through an EC2 with Teleport to the selected MySQL DB, using expect with a call to 1Pass to answer the password request, and then picks the first available port >=6033 to connect the mysql client. It also tracks the MySQL DB : port assignments in the SQLite DB and waits for the client to exit so it can tear down the ssh tunnel. The only input I have to do beyond selecting the DB is answering a push notification on my phone for MFA.

> replacing 10-LOC shell scripts with Python

The startup time would drive me insane. I love Python, but it’s not great for stuff like that, IMO.
by tvbusy | 2026-01-10 13:50:39+00:00
You're thinking of open source projects that only need a few hours of work per week. Anything more than a few hours a week either requires someone to give up their full time job to work on it (switch to part time jobs/consultation is an option), or having multiple contributors which still require significant effort to coordinate at the end of the day.

Let's say Tailwind CSS gives up and stops the project, do you think there'll be someone else picking it up, knowing how Tailwind failed in the first place? LLMs don't create new things, they remix what are already available. It's delusional to think that you should use LLMs to create a whole UI library just for your application and spend enormous effort not only maintaining it but also train new team members to use it down the road.

Open source is charity, it's unreasonable, even entitled, to demand someone work on it full time without pay.
by gnosis67 | 2026-01-10 13:51:00+00:00
Ollama has changed. Early versions were raw, and then they were optimized (I’m on a laptop with 64GB RAM), and then they fell to shit. Optimized for someone else’s home rig I suppose.

And my old favorite models broke so I have to link different versions. nous-hermes2-mixtral I miss your sage banter.

Now everything runs on an excessive lag.
by jjtheblunt | 2026-01-10 13:51:24+00:00
and then you realize shelters/rescues are full of super healthy dogs yearning for a home, and same for cats, and then you go adopt at least one, and realize you've honored what your previous pet would want for you.

(speaking from experience, 5 rescues here now, lots of activity for lots of fun...thankful for WFH flexibility)
by chrismorgan | 2026-01-10 13:52:20+00:00
> Possibly even larger than HTML’s overlap back when MS Explorer was the dominant browser.

No way. You were never left in doubt about whether a normal HTML tag would work, or whether tables were available or would become a jumbled illegible mess, or whether a line break in the source would become a space or a hard break. And that’s just the first three things that occur to me.
by ghaff | 2026-01-10 13:52:58+00:00
Whether it's planned or not, that seems like a pretty normal dynamic. "Let's give people a few minutes and then we'll get started." Especially with back to back meetings which are the norm for a lot of people, they need a few minutes to grab coffee/water, use the bathroom, etc. (And, of course, with in person meetings they usually need some time to run to the next room.)
by Kwpolska | 2026-01-10 13:53:04+00:00
The linked post contains three cases of Markdown syntax (underscores) leaking into the text, where actual italics were likely intended. This is the most basic Markdown syntax element failing to work. The problem CommonMark is trying to solve is not adding new features (the only one they added to Gruber Markdown is fenced code blocks), but rather specifying how to interpret edge cases to ensure the same Markdown code produces the same HTML everywhere.
by Madmallard | 2026-01-10 13:54:08+00:00
I've been coding for 20 years and I don't think come close personally.

Some napkin math:
100-200 python scripts (maybe 250 lines on average)

Work within 10 or so large repositories. (Probably no more than 5000 lines in any repo) (maybe 750 lines on average)

20 or so hobby project games largest being around 30,000 lines (maybe average around 6000?)

15 websites with back-ends (maybe average around 2000 lines)

50 or so school projects (maybe 100 lines on average?)

Two work projects one a games website around 15,000 and the other a .Net application around 20,000

Looks like around 235,000
by digiown | 2026-01-10 13:54:12+00:00
Android does have a meaningfully improved security over typical Linux desktop: the segmentation of data between apps. Imagine what would happen if people run all the proprietary crap they do on a typical Linux box. That's multiple spyware apps with full filesystem access.

Unfortunately, Google also uses it to abuse the user by also segmenting the user's access as well, "protecting" apps from the user, which is an abomination.
by diego_moita | 2026-01-10 13:54:35+00:00
Thanks for trying to bring reasoning to this debate.

In all fairness to your point, the Chinese Marxists seem to love automation.

And in fairness to my point they also seem to acknowledge that capitalism is particularly good at automation (i.e. "catching the mice"). As in Deng Xiaoping's cat theory: "It doesn't matter if a cat is black or white, as long as it catches mice."
by gus_massa | 2026-01-10 13:54:59+00:00
Anecdote time, take a seat:

A few month ago I wanted to do a short pause in Chez Scheme. I use mostly Racket, that is very similar, but there a a few differences here and there. I wanted to send a bug report about a program that entered an infinite loop. Without the pause the example just printed a lot of "" and the screen got intermediately full. With a short pause it was possible to read the debug message just above the "********..." and hit ^C to take a deeper look.

I went to Google, expecting to go to SO (is EE still online?), but Gemini gave me the answer. There is no builtin easy "pause", so I had to create a time period of 1 seconds and then use another instruction to wait for that period.

Me> https://www.google.com/search?q=pause+1+second+chez+scheme*

Gemini> (sleep (make-time 'time-duration 0 1))

I think they had arguments in the wrong order, it looks like it's fixed now, perhaps it was wrong only in my mind because I expected the other order. I looked at the online docs https://cisco.github.io/ChezScheme/csug/system.html#./system... . Fixed the example and adjusted the duration. (I initially used 1 second, but it's boring and it looks like the program hanged. .01 is too fast, probably .1 or .2 is the best, I don't remember the exact details.)

---

Back to your question:

I consider that totally professional and moral.
by ZoneZealot | 2026-01-10 13:56:26+00:00
It's an incredibly complex topic, and I do feel for people who are now seeing a massive disruption to the existing ways to monetise their own work (they should be able to live comfortably).

It's quite ironic that they used an LLM to write or at least entirely re-format their post, when their topic is about the impact these systems have on the ongoing sustainability of the humans behind the work.

I personally don't use LLMs and generative models, I find their output way too untrustworthy and their practice of mining the data of others unsettling. Not that anything on the internet can be inherently trusted anyway.
Show HN: HookWatch – Simple webhook monitoring with one-click replay
by hackdat | 2026-01-10 13:56:49+00:00
I built a simple tool to monitor webhooks after getting burned by silent Stripe webhook failures.

How it works:
1. Create a proxy URL in HookWatch
2. Point your webhook provider (Stripe, Shopify, etc.) to it
3. We forward to your server and log everything

If something fails, you can see the full request and replay it with one click.

https://hookwatch-production.up.railway.app

Built with FastAPI + SQLite. Happy to answer questions about the architecture.
by DudeOpotomus | 2026-01-10 13:56:51+00:00
Dystopian and frankly, gross. Its amazing to me that so many people are willing to give up control over their lives and in this case, their bodies, for the smallest inkling of ease.

The only thing you have control of in this world is your body (men only, women have already been denied body autonomy in the US), so giving this to the very entities that "do harm" as opposed to those who pledge to "do-no-harm", is straight up bonkers.

It's not the data or the use of said data for the intended purpose. There is a law of sorts in life that says what ever they promise, it will be broken. The data and its intended purpose will be perverted and ultimately used as a weapon against the very people who provided the data.