MurphyA/hacker-news huggingface dataset:
by TacticalCoder | 2025-06-18 12:30:59+00:00
> But that is not nearly enough for an image format to reach widespread adoption

I use WEBP extensively but WEBP has a major flaw: it can do both lossy and lossless.

That's the most fucktarded thing to ever do for an image compression format. I don't understand the level of confusion and cluelessness that had to happen for such a dumb choice to have been made.

I've got an entire process around determining and classifying WEBP depending on whether they're lossless or lossy. In the past we had JPG our PNG: life was good. Simple. Easy.

Then dumbfucks decided that it made sense to cram both lossy and lossless under the same umbrella.

> They also want to ensure far future access to their precious photos, when formats like JPEG2000 or even WebP might be long gone.

That however shall never be an issue. You can still open, today, old obscure formats from the DOS days. Even custom ones only use by a very select few software back then.

It's not as if we didn't have emulators, converters, etc. and it's all open source.

Opening old WEBP files in the future shall never ever be a problem.

Determining if it's a lossy or lossless WEBP for non-technical users, however... ; )
by squircle | 2025-06-18 12:31:20+00:00
Iteratively one shotting new features into existing code bases, rolling fully realized tools from scratch ("do one thing well"), rapidly applying WCAG guidelines to front-end projects, etc. Also, learned me some Rust quickfast, and have attempted to show others how they can make their own websites and self-guided technical tutorials (because I'm tired of being the "smartest" guy in the room when it comes to this stuff... its fecking boring.)
by criddell | 2025-06-18 12:31:31+00:00
I occasionally ride my bicycle to work in Austin and some days when I get home I have a hard time cooling down even after a long cold shower. I've since set a rule for myself that I won't ride on days where the temperature is 98 or higher.

I just turned 55 and have been thinking about this a little, wondering if maybe I should back off on the biking?
by JoGoulart | 2025-06-18 12:32:05+00:00
With the rise of conversational AI tools like ChatGPT, Perplexity, and Bing Copilot, a new challenge is emerging for brands: understanding if and how they're being mentioned inside AI-generated answers.

While traditional SEO focuses on rankings and links, AI-generated responses don't follow the same rules. Brands can be cited (or not) based on entirely different signals, and many are starting to realize they might be disappearing from key customer touchpoints without knowing.

First Answer is one of the first platforms focusing on this problem. It monitors brand presence across AI answers and shows when, where, and why certain brands appear (or not) in these new search environments.

Curious if others here are already thinking about "AI visibility" as part of their marketing or SEO strategy?
by colmmacc | 2025-06-18 12:32:47+00:00
A significant wrinkle in how NAT works is IP fragmentation. UDP datagrams can be larger than an IP packet. When that happens the payload is split into multiple IP packets, but only the first packet has a UDP header in it. The NAT device needs to correlate these packets by looking at fragment IDs, and then rewrite the IP addresses in the headers.

That alone implies a second kind of state to maintain, but it gets worse. Fragments can arrive out of order. If the second or later packets arrive before the first, the NAT device has to buffer those fragments until they get the packet with the UDP header in it.

That might seem unlikely but it's surprisingly common. Modern protocols like DNSSEC do require fragmentation and in a large network with many paths fragments can end up taking different paths from each other.

Ordinarily when a network is using multiple links to load balance traffic, the routers will use flow steering. The routers look at the UDP or TCP header, make a hash of the connection/flow tuple, and then use that hash to pick a link to use. That way, all of the packets from the same connection or flow will be steered down the same link.

IP fragmentation breaks this too. Those second and subsequent packets don't have a UDP header in them, so they can't be flow steered statelessly. Smarter routers are clever enough to realize this from the beginning of the datagram and to only use a 3-tuple hash (source IP, dest IP, protocol) ... so the packets will still flow consistently. But many devices get this wrong - some just even assume there will be a UDP header and pick whatever values happen to be there.

The fragments end up taking different paths and if one link is more congested or latent enough than another, they'll ultimately arrive out of order.

This single wrinkle is probably responsible for half the complexity in a robust NAT implementation. Imagine having to solve for all of this in a highly-available and trasnactionally live-replicated implementation like managed NAT gateways.

Worst of all, this was all avoidable. If UDP datagrams were simply fragmented at the UDP layer, and every packet included a UDP header, none of this would be necessary. It's probably the worst mistake in TCP/IP. But obviously overall, it was a very successful design that brought on the Internet.
Show HN: Workout.cool – Open-source fitness coaching platform
by surgomat | 2025-06-18 12:33:49+00:00
I was the main contributor to workout.lol, an open-source fitness app to easily build a workout routine. The project had traction (1.4k GitHub stars, 95 forks, ~20K visits/month), but was eventually sold due to video licensing hurdles. The new owner stopped maintaining it, and the repo went abandoned.

Over the next 9 months, I sent 15 emails to try to save it : no replies. Feature requests & issues were ignored. The community was left with a "broken" tool let's say.

I couldn't just let it die So I built the new version from scratch with the same open-source spirit, but a better architecture long-term vision, more features and no license problems.

It's called : Workout.cool (https://workout.cool). What it offers: 100% open-source, MIT-licensed - 1200+ exercises (with videos, attributes, translations) - Progress tracking - Multilingual-ready - Self-hostable

I'm not doing this for money. I'm doing it because I believe in open fitness tools, and I’ve been passionate about strength training for 15+ years.

If this resonates with you, feel free to: - Star the repo - Share with fitness/tech friends - Suggest features - Contribute code/design/docs

Together, we can build the open-source fitness platform we all wanted to easily build a workout routine and get in shape

Website: https://workout.cool GitHub: https://github.com/Snouzy/workout-cool
by TheOtherHobbes | 2025-06-18 12:33:52+00:00
I bought a tiny Venus Fly Trap once, left it in the kitchen, and went away for a weekend.

When I came back the kitchen was buzzing with flies, and the plant had literally gorged itself to death.

This was extra impressive because none of the windows were open. It had somehow leaked attractant scent through gaps I didn't know existed and the flies - not exactly numerous where I was - must have been aware of it from hundreds of yards away.

Point being the plants may be small, but they can be very good at what they do.
by jeroenhd | 2025-06-18 12:34:26+00:00
To be fair to an English speaker reading your name from paper: some native English speakers are taught to read by recognizing words by their first letter and their shape, and skipping the word to later fill in the blanks when they don't recognize the word. The lady may have simply never been taught how to sound out unfamiliar letter combinations, and may have been trying her best to make sense of the unrecognizable mess of letters she saw in front of her.

https://www.apmreports.org/episode/2019/08/22/whats-wrong-ho...
by bgwalter | 2025-06-18 12:34:38+00:00
I didn't mention one or two people, I mentioned a theoretical strategy that is also employed by non-unionized bureaucracies. And I admitted that the strategy is impeded by the fact that many software developers are self-loathing people with no spine.

It is possible that obedient people need highly paid union bosses, i.e., new leaders they can follow.
by stego-tech | 2025-06-18 12:35:03+00:00
I’m also on FiOS, and despite repeated statements to the effect I’d never get IPv6 on my (20 year) old ONT, I’ve got a nice little /56 block assigned on my kit via DHCPv6. Problem is that, as it’s a DHCP block, it changes, and Namecheap presently does not offer any sort of Dynamic DNS for IPv6 addresses.

Still, it let me tear down the HE IPv6 tunnel I was also running, since the sole reason I needed IPv6 was so our household game consoles could all play online without cursed firewall rules and IP reservations. I’m pretty chuffed with the present status quo, even if it’s far from perfect.

One other thing I’d note about OPs article (for folks considering it as a way to work around shitty ISP policies) is that once you have this up and running, you also have a perfect setup for a reverse proxy deployment for your public services. Just make sure you’re watching your bandwidth so you don’t get a surprise bill.
by RickJWagner | 2025-06-18 12:35:06+00:00
Very true.

But consider this— back in the day, how many mainframe devs ( plus all important systems programmer! ) would it take to conjure up a CRUD application?

Did you forget the vsam SME or dba? The CICS programming?

Today, one person can do that in a jiffy. Much, much less manpower.

That might be what AI does.
by bandoti | 2025-06-18 12:35:56+00:00
Please consider some folks might be new to A*, and perhaps even HN, so maybe this is the first time they’ve seen it! :)

Also, I have ten books on perspective drawing, and my understanding isn’t complete without all ten of them

Or, if I’m teaching a subject on A*, perhaps ONE of those articles conveys the materials best for my students.

Thank you for providing links to the others though! I’m sure it will be helpful for someone.
by FeloniousHam | 2025-06-18 12:36:25+00:00
I got 3 months free when I bought the car new, canceled and reupped a few times, but have had the subscription since they lowered it to 99$. The HW3 definitely had more hitches (sudden breaking for roadside debris, weird adjustments turning into parking lots), but I got used to it. For the "less maintained" road (piles of brush/garbage/discards) on my commute, I kept my foot over the accelerator.

There were definitely regressions with my Model 3, though the issues and improvements were at the margin.

The HW4 I'm in now doesn't exhibit those issues and does Park to Park to and from, most days without any intervention.
by chasd00 | 2025-06-18 12:37:41+00:00
"I went to work early that day and noticed my monitor was on, and code was being written without anyone pressing any keys. Something had logged into my machine and was writting code. I ran to my boss and told him my computer had been hacked. He looked at me, concerned, and said I was hallucinating. ..."

it would have been funnier if the story then took a turn and ended with it was the AI complaining about a human writing code instead of it.
by firesteelrain | 2025-06-18 12:38:27+00:00
I have played around with the Crafting Interpreters book. Maybe the author oversimplifies a bit, but it seems with yacc and lex that nothing is really stopping anyone from making their own language and compiler. It always seemed like black magic.

But the same could be said about books, nothing is stopping you from writing a book except good ideas, story, and structure.
by usrbinbash | 2025-06-18 12:38:33+00:00
I disagree tbh. I mean, I accept that new silicon will have better power usage and probably be more efficient in terms of flops/Joule, but there would need to be a major technical breakthrought to get a logarithmic relationship between N requests and inference cost. N requests at P flops, still means I need C x P flops for C x N requests. A not-so-steep linear relationship is still linear.
by jijijijij | 2025-06-18 12:40:18+00:00
Is nitrogen really the bounty, not phosphor? I imagine nitrogen fixation is basically the same problem everywhere, equally distributed through air, but phosphor depends on geological processes, depends on the mineral make of the soil. If phosphor gets depleted, you have two options: Wait for mountains to grow and shed some, or indulge in someone else’s DNA and ATP. Maybe the acidic soil makes uptake harder, or aids wind and water erosion?

Looking at my spotted windowsill, if I was a plant on an evolutionary adventure, I‘d befriend some spiders and turn my crown into a cotton candy guano cloud. I‘d rather have the animal predators do the work and then have them shit in my yard for the nitrogen and phosphor. You only need twigs and then some bioluminescence or stink to help those spiders fill their nets.

Have a fungus rot my legacy core wood so an owl can defecate a hectare of mice and squirrels right into my tummy. Or you look all mighty and judgmental so these funny naked apes drench your soil in the blood of goats and their youths. Is that still a thing?! What about instagramable forest cemeteries? Heard about the tree toilet TikTok challenge? So fun! Super healthy and natural too.

Now thinking of it, I wonder how many plants encourage animals shitting and dying in their yards. Maybe it’s not deterrent, but enterotoxic payment options?

I guess, unless your objective is to grow impractically large fruits, because your human creator couldn’t keep it in their pants, for most plants in most places, neither phosphor nor nitrogen side hustles are really worth the effort.
by zb | 2025-06-18 12:41:00+00:00
Debuggers allow you inspect stuff forward in time, while print statements allow you to debug backwards. (There was a lot of academic work on reversible debuggers at one point; to be honest I haven’t kept up on how that turned out.)

If you can detect a problematic condition and you want to know what will happen next, a debugger is a great tool.

If you can detect a problematic condition and you need to find out what caused it, it’s printf all the way.

My theory is that different types of programming encounter these two types of problems at different relative rates, and that this explains why many people strongly prefer one over the other but don’t agree on which.
by nodirvaliev | 2025-06-18 12:41:32+00:00
Thank you so much for the thoughtful suggestions — I truly appreciate the time and care you’ve put into them.

Unfortunately, we’re working with a very limited timeframe, as we’re hoping to open the school by September. That’s why, at this point, GoFundMe and donations seem like the only viable path forward for us. Still, your ideas are incredibly helpful and might inspire future community projects once we have a stable foundation.

As for languages — my native language is Farsi, but I also speak Russian fluently.
by pjc50 | 2025-06-18 12:41:47+00:00
> a half hour commute to move 30 miles.

This is one of those things that works up to a point, and then scaling goes in reverse once everybody starts doing it. You can't maintain 60mph commute. In London the average speed is more like 10mph. There's no way to move enough people in and out on a daily basis without everyone packing into trains.

Occasionally it gets completely out of hand: https://en.wikipedia.org/wiki/China_National_Highway_110_tra...
by IshKebab | 2025-06-18 12:42:17+00:00
Kind of off-topic. But yeah it's a good idea for operating systems to guarantee the provision of very commonly used libraries (libc for example) so that they can be shared.

Mac does this, and Windows pretty much does it too. There was an attempt to do this on Linux with the Linux Standard Base, but it never really worked and they gave up years ago. So on Linux if you want a truly portable application you can pretty much only rely on the system providing very old versions of glibc.
Show HN: Free local security checks for AI coding in VSCode, Cursor and Windsurf
by jaimefjorge | 2025-06-18 12:42:51+00:00
Hi HN!

We just launched Codacy Guardrails, an IDE extension with a CLI for code analysis and MCP server that enforces security & quality rules on AI-generated code in real-time. It hooks into AI coding assistants (like VS Code Agent Mode, Cursor, Windsurf), silently scanning and fixing AI-suggested code that has vulnerabilities or violates your coding standards, while the code it’s being generated.

We built this because coding agents can be a double-edged sword. They do boost productivity, but can easily introduce insecure or non-compliant code. One recent research team at NYU found that 40% of Copilot’s outputs were buggy or exploitable [1]. Other surveys mention that people are spending more time debugging AI-generated code [2].

That's why we created “guardrails” to catch security problems early.

Codacy Guardrails uses a collection of open-source static analyzers (like Semgrep and Trivy) to scan the AI’s output against 2000+ rules. We currently support JavaScript/TypeScript, Python, and Java, focusing on things like OWASP Top 10 vulns, hardcoded secrets, dependency checks, code complexity and styling violations, and you can customize the rules to match your project’s needs. We're not using any AI models, it's “classic” static code analysis working alongside your AI assistant.

Here’s a quick demo: https://youtu.be/pB02u0ntQpM

The extension is free for all developers. (We do have paid plans for teams to apply rules centrally, but that’s not needed to use the extension and local code analysis with agents.)

Setup is pretty straightforward: Install the extension and enable Codacy’s CLI and MCP Server from the sidebar.

We’re eager to hear what the HN community thinks! Does this approach sound useful in your AI coding workflow? Have you encountered security issues from AI-generated code?

We hope Codacy Guardrails can make AI-assisted development a bit safer and more trustworthy. Thanks for reading!

Get extension: https://www.codacy.com/get-ide-extension Docs: https://docs.codacy.com/codacy-guardrails/codacy-guardrails-...

Sources [1]: NYU Research: https://www.researchgate.net/publication/388193053_Asleep_at... [2]: https://devops.com/survey-ai-tools-are-increasing-amount-of-...
by 827a | 2025-06-18 12:43:16+00:00
You have what I would describe as a Ben Graham '80s-era view of how the stock market works. The stock market is fundamentally a very different beast post-2008. The top ten companies in the S&P 500 make up 36% of the entire index's market capitalization. In 1980, this number was closer to 15%.

One cannot draw any conclusions about how an individual stock in the S&P 10 performs relative to the overall market, because of how correlated these companies are and how much their combined weight contributes to the overall market. Every company in the S&P 10 is a tech company, except Berkshire. They trade together, and how they trade impacts the entire S&P 500.

When Jassy says something, it impacts Google's stock. When it comes out that OpenAI might have to sue Microsoft, it impacts Amazon's stock. Why this happens only makes sense to wall street's HFT systems which, quite honestly, are likely closer at this point to ASI than OpenAI; albeit totally unintelligible in their motives and reasoning.

Amazon did not outperform the market. The market is Amazon. The S&P 10 is not 10 individual companies; its one company.
by the_af | 2025-06-18 12:43:56+00:00
Same. I don't understand why people want (them and their kids) to be isolated from other cultures. If you're watching a movie set in Japan, India or China, have it be about their culture. If there's something you or your kids don't understand, make an effort to learn about it (and the green peas thing seems trivial to understand).

Netflix also does something absurd with their subtitles. I was watching "The Empress" (which is set in the Austro-Hungarian Empire) with German language and English subtitles. I like listening to the real actors' voices, and learning the sounds and cadence of the language. So the characters speak in Italian for a while (subtitles say "[speaking in Italian]", and when they switch back to German the subtitles clarify.. "[in English]". The fuck, Netflix? Surely the viewer of this show understands they didn't speak in English in the Austro-Hungarian empire, so why write it's English? What the hell is Netflix even trying to achieve here? Seems robotic: "us = English speakers, therefore everyone's default must be English"?
by derbOac | 2025-06-18 12:45:07+00:00
In some ways this was the most eye-raising part of it to me: "...barring the Treasury Department from sanctioning people in the US who are involved in cyberattacks on US infrastructure. The accompanying White House statement said the change would prevent 'misuse against domestic political opponents.'" Maybe there's some nonobvious explanation but it seems strange to me.
by tiu | 2025-06-18 12:45:11+00:00
I am probably misunderstanding your requirements but if you are looking for something like regex101 then https://omrelli.ug/nearley-playground/ and https://bnfparser.firebaseapp.com/ although not sure how much 'practical' are they. Googling gives [2], [3], [4].

[2] https://mingodad.github.io/parsertl-playground/playground/ not sure.

[3] https://chrishixon.github.io/chpeg/playground/

[4] https://mdkrajnak.github.io/ebnftest/
by FridayoLeary | 2025-06-18 12:45:19+00:00
>For an average individual going about their day, lack of political freedom is a 100x better option than lack of food or security

I couldn't agree with you more. I can think of at least one excellent example of this.

But in the case of Iraq there is no question in my mind that deposing saddam was the right thing to do.

If anything the person i was replying to was lecturing op, apparently an actual Iranian, about why American involvement is bad for him.
by enraged_camel | 2025-06-18 12:45:26+00:00
>> To each his own. I'm completely drained after 30 min of "discussing" with an LLM, which is essentially an overconfident idiot.

I'm completely drained after 30 minutes of browsing Google results, which these days consist of mountains of SEO-optimized garbage, posts on obscure forums, Stackoverflow posts and replies that are either outdated or have the wrong accepted answer... the list goes on.
by simonw | 2025-06-18 12:45:39+00:00
It looks like getting the apps built with this to work well on mobile is in the roadmap, but not mobile editing itself:

"A hand-sized touchscreen is too small for editing Scrapps comfortably"

I would encourage them not to underestimate the tenacity of mobile phone users!

For a lot of people these days their mobile phone is their only digital computing device. People write code on mobile phones. People write entire novels.

I think this tool's impact could be greatly increased by taking the time to figure out a mobile editing interface, even one that feels less comfortable than the desktop experience.
by catlifeonmars | 2025-06-18 12:46:42+00:00
Kind of a false dichotomy. A great example is debuggers vs print statements. Some people get by just fine with print statements, others lean heavily on debuggers. Another example is IDE vs plain vIM.

Becoming obsolete is a fear of people who are not willing or able to learn arbitrary problem domains in a short amount of time. In that case learning to use a particular tool will only get you so far. The real skill is being able to learn quickly (enthusiasm helps).
by jeroenhd | 2025-06-18 12:46:43+00:00
I'm in western Europe and every ISP but the ultra cheap ones and the niche use case ones have stable IPv6 prefixes. Some do /48, others /56.

IPv4 is getting CGNAT'd more and more, on the other hand. One national ISP basically lets you pick between IPv4 CGNAT and IPv6 support (with IPv6 being the default). Another has been rolling out CGNAT IPv4 for new customers (at first without even offering IPv6, took them a few months to correct that).

This isn't even an "America and Western Europe" thing. It's a "whatever batshit insane approach the local ISP took" thing. And it's not just affecting IPv6 either.