MurphyA/hacker-news huggingface dataset:
by osullip | 2025-06-01 07:56:32+00:00
It is great!

I signed up on my phone and tested in the playground.

It will fit perfectly into my workflow. I'm building a hyper-local directory site.

Getting good images for businesses is hard, so I'll use this to grab an image of their site as a place holder.

I can also add it to my AI workflow where I pass a website to OpenAI Assistant to extract data. OpenAI s not as robust with URLs as it is with images or PDFs. Often it won't visit then URL.

I can use this to get an image or pdf, pass it on and ask for the data back. OpenAI is better with files than URLs in my experience.

Good job!

Well done!
by mseri | 2025-06-01 07:56:58+00:00
Jim Portegies (TU/e, Netherlands) and Jelle Wemmenhobe have done a lot of research on this, using their “waterproof” (controlled natural language compiled to coa) to test this directly in class. The results are very interesting, and indeed actively messing around is still a very important part of the learning experience, but you can see at least some benefits in also having a theorem prover to check if your proofs are correct.

What I was surprised is that the students learn some patterns of proof properly, but only if you make sure that they are explicitly exposed by the proof assistant (so the more automation the less learning also in this case).

You can find a lot of the work summarized in Jelle’s PhD thesis at https://research.tue.nl/nl/publications/waterproof-transform...
by keepamovin | 2025-06-01 07:57:15+00:00
I know the Japanese refined this (as they do so many things such as — no offense to Italians — pizza and pasta; I think the Japanese often do it really well), but I always thought this was a French/European thing and not really what you call a Japanese toilet.

I’m certain the Japanese couldn’t be the first to find ways to heat seats or provide different settings for washing.
by flomo | 2025-06-01 07:58:04+00:00
Back in the 1990s, I lived in the midwest. The state built a freeway through a bunch of cornfields, and long before the road was even done, there were suburban subdivisions sprouting up. My professor points this out, and says this highway had been in the regional plans for 20+ years, and 'capitalists' had bought or optioned all this farm land decades ago. That form of land speculation makes sense to me, but I've never been able to reconcile it with Georgism.
by Bencheng | 2025-06-01 08:00:10+00:00
I started as a dev shop and built 2 API products based on user demand.

1 is an OCR and document extraction service [0]. We started with three customers asking for the same services and found none that were really useful (and supported Chinese characters) on the market at that time. Lately the product pivoted to based on (fine-tuned) LLM/VLMs and focus on adding various features that LLM out of the box are missing (fine tune based on specific customers data, prompt tune for particular type of elements e.g. Checkboxes, split 100s pages of PDF into dozens of documents with a few pages)

We're at around 55k MRR, the price model is per page, and we sign annual contracts with most clients (with some discounts)

2nd is an open-source CIAM [1]; Around 35k MRR.

We knew nothing about marketing when we started, so we partnered with local GCP/Azure as an ISV to get our first paying customers, which drove us to the more "Corporate" segment of the market.

A huge challenge is obviously how to market the product, but customer support for developers is tough as well -- you have to be developers to provide support for other developers, and sometimes it feels like you're troubleshooting for another dev team.

For example, one time we had a client email us saying they were getting incorrect results from our API suddenly, after many back-and-forth emails, we finally asked if we could do troubleshooting with a video call and share screen -- turns out they were interestingly calling our API via a proxy with cache enabled.

[0] https://formx.ai

[1] https://authgear.com
by ttctciyf | 2025-06-01 08:01:53+00:00
> This has always been possible.

No. Starting 2-3 years you had to go through about:config to do this, such as detailed at

https://www.reddit.com/r/FirefoxCSS/comments/qqkw5x/enabling...

and

https://connect.mozilla.org/t5/discussions/custom-search-eng...

etc.

Heaven knows what they were thinking when they made this option only available by the user adding an undocumented preference!

I needed to do this on desktop linux a few months ago to use the AI-avoiding &udm=14 google tweak[0]

0: https://news.ycombinator.com/item?id=43002403
by karlperera | 2025-06-01 08:01:58+00:00
I've spent years capturing the night sky, but the real magic happens during post-processing. After trying expensive commercial solutions, I've developed a workflow using entirely free, open-source tools that produces results rivaling those from $200+ software.

The challenge with astrophotography isn't just capturing faint light—it's extracting signal from noise, removing light pollution gradients, and enhancing details without introducing artifacts. These are fundamentally data processing problems that many engineers would find fascinating.

I've documented my complete workflow for processing deep space objects in GIMP, including:

Extracting maximum detail from RAW files using non-destructive editing Implementing a custom method for gradient removal without specialized plugins Using frequency separation techniques to enhance nebulosity while preserving star sharpness Building a reproducible workflow that maintains data integrity throughout The most surprising discovery was that proper masking and targeted adjustments often outperform the "auto" features in premium software. I've included before/after comparisons and the exact settings used.

What post-processing techniques have you found effective for extracting signal from noisy data? I'm curious if others have applied similar approaches to different domains.
by fulafel | 2025-06-01 08:03:29+00:00
This reads like they used the GPU with Cycles:

"Table 2 compares the timings on the four scenes in Figure 1 of our unoptimized RenderFormer (pure PyTorch implementation without DNN compilation, but with pre-caching of kernels) and Blender Cy- cles with 4,096 samples per pixel (matching RenderFormer’s training data) at 512 × 512 resolution on a single NVIDIA A100 GPU."
by SyrupThinker | 2025-06-01 08:03:49+00:00
Ah, that reminds me of my own university days.

Early on I've made the mistake of sharing my solutions with people I knew. Unfortunately they kept sharing the solution too, and so on.

Two times I was pulled into a profs office after the relevant lecture, to be questioned about it.

After it became clear that I was the author, and what happened, nothing ever came of it (for me).

Ironically both times the copiers supposedly failed to remove the git repo that was part of the handoff, so it was primarily about verifying I was the original author.

Lesson learned: "invisible" watermarks work, because people are generally lazy (also don't share graded work, just offer to help)
by yard2010 | 2025-06-01 08:04:28+00:00
Dan is hands down THE best captain to steer this ship - he manages to push react forward even though it changed a lot (and faced many growth pains and challenges) in the last few years. He is doing it in his own special way - he is kind, thoughtful, patient and visionary. He is the best kind of master teacher there is - although he has many many years of experience, he understands exactly what newbies don't understand. That's inspiring.

Read a few of his many comments in any React issue and see what I mean. We are truly gifted. Dan you are my idol!
by HappMacDonald | 2025-06-01 08:04:42+00:00
As always this will depend on your definition for "any user".

Users who try to do a lot of UDP traffic will have to change their habits, yes. But a majority of users who don't know a lot about computers rarely do anything on a PC that isn't driven by the browser anyway.

But at least the users who try to use UDP won't wind up specifically leaking info, just wind up slightly confused why certain things aren't working.
by eastbound | 2025-06-01 08:06:17+00:00
All companies are worth more than their revenue. It’s not vibes, it’s just how it works.

Same goes for employees with stock options in USA: They get taxed on CGT every year until they sell, for money they don’t have yet.

Same goes for development costs: A change in the US tax code circe 2016 made that development costs were assumed to be an investment over 3 years, so if you have 1m$ sales and 1m$ costs in the first year, the IRS only counts 333k$ real costs and you own them tax on the 666k$ revenue.

It’s a classic problem in capital. So yes, a 300k€ revenue means you are valued at a multiple of that and owe tax.
by vikeri | 2025-06-01 08:08:21+00:00
One thing that seemingly is missing is the ability to tag a specific error with an error code. You typically want to know that all of a sudden the ”failed to get user” error is being returned a lot. Since the message is a dynamic string you can’t just group by the string so unless you build it as part of your abstraction it becomes very hard to do.

Edit: looking more carefully at the lib I assume that ”tag” is the concept that is supposed to cover this?
by simonbarker87 | 2025-06-01 08:09:01+00:00
I do a lot of diy, jobs on the side for friends and I know a handful of professional tradies.

None of them would want to not own tools they use even semi regularly and for insurance purposes (and peace of mind) they would almost certainly have to hire tools they don’t own from a rental company and they will just pass the rental cost on to the client.
Show HN: Ephe – A Minimalist Open-Source Markdown Paper for Today
by unvalley | 2025-06-01 08:11:54+00:00
Hi HN,

I built Ephe, open-source markdown paper for daily todos and thoughts.

No sign-up, no ads, no subscriptions, no AI.

## Why I made this

We have plenty of Markdown editors. And too many overwhelming to-do apps. But few tools combine both in a way that’s lightweight and focused. I thought that all I need is a single page to organize today. So I built Ephe.

It uses CodeMirror v6, React(v19, React Compiler) and Vite with rolldown.

## What makes it different

“Ephe” comes from ephemeral. The main goal is to organize what you need to do today. It isn’t for teams. It’s a quiet space for your own priorities.

Give it a spin if that sounds useful to you.
by adrian_b | 2025-06-01 08:14:13+00:00
At least in many European countries, the landline phone companies offered a short number for obtaining the time from an answering robot.

Many, many years ago, I have designed a piece of equipment that was integrated in a phone exchange and it provided vocal messages to be sent to a caller, for errors like non-existent phone number, but also for replying to the dedicated number for the time service. The messages were something like "The time at the next beep will be ... hours ... minutes ... seconds".

I have not heard about a similar service for mobile phones, because here the phone gets the time automatically and it displays it.
Show HN: Built FLUX.1 Kontext image editor – context-aware AI editing
by wushi | 2025-06-01 08:15:27+00:00
Hey HN,

I've been working on https://flux1kontext.io – an AI image editor that uses Black Forest Labs' FLUX.1 Kontext models for context-aware image editing.

*What it does:* Upload an image, describe what you want to change, and it modifies just that part while keeping everything else intact. Think "add sunglasses to this person" or "make the cat open its eyes" – it understands context instead of regenerating the whole image.

*Tech stack:* Next.js 19, TypeScript, Supabase, FAL.AI for model hosting, Stripe for payments, Cloudflare R2 for storage. Pretty standard SaaS setup.

*Why I built this:* Most AI image tools either generate from scratch or do crude inpainting. FLUX.1 Kontext actually understands what you're asking for and preserves the original image's composition, lighting, and style while making targeted edits.

*Current state:* - Two model tiers (Pro/Max) with different quality/speed tradeoffs - Credit-based pricing (8 credits for Pro, 16 for Max) - Works with common image formats, handles up to 10MB files - About 15-60 seconds processing time depending on complexity

*Challenges:* - Model costs are high (~$0.10-0.20 per generation), so had to implement careful credit management - FAL.AI API can be inconsistent during peak times - Balancing quality vs speed is tricky – users want both

The tech is genuinely impressive when it works. The model was trained by the same team that created Stable Diffusion, so the quality is solid. Still working on reliability and cost optimization.

Would love feedback from anyone who's worked with similar AI APIs or has thoughts on the UX. The demo works without signup if you want to try it.

Built this mostly as a learning project but it's getting decent usage (~2.5M images generated so far). Happy to answer questions about the implementation or business side.
by cloudsec9 | 2025-06-01 08:15:55+00:00
"The basics are simple" ... hrm. I think the concepts of how Twitter works is simple; but during their "fail whale" days, they had to reinvent things on the fly to achieve scale and reliability.

Twitter used to have lots of moving parts, and money flowed from various ads and placements, and that was much more complex then I think people appreciate. With their new head twit, they destroyed most of their ad revenue stream and are now hyping paying for APIs and posting privileges, and it shows.

My main irritation is that people say it "works fine", when lots of crap is broken all over, and it now has regular outages. They have shipped like ONE feature that was mostly done earlier since the takeover.
Ask HN: User-scoped AI tokens for safe client-side AI logic?
by v-yanakiev | 2025-06-01 08:16:01+00:00
Consider a service providing user-scoped AI tokens. The service would allow you to configure usage limits for each user's tokens, allowing you to safely move AI logic to the client-side, simplifying your code.

As an example flow, you would register a user's unique secret with the service. Then, the service's client-side library would redirect all of the OpenAI requests to itself, and would also pass the unique user secret. If the corresponding user has no funding for the AI request, it would deny it.

Any interest?
by geminiiii9 | 2025-06-01 08:16:43+00:00
There may be more there than meets the eye at first glance.

I'm not saying this easy to do at the moment, but the possibility is there.

If you can take control of all timers/sleep in your Go program, then you have, in effect, complete control of Goroutine scheduling.

If you assign a distinct time point to each goroutine, say based on its ID, and then have the goroutine sleep until that point, then you have also assigned the order in which those goroutines will run. Each will "wake up" alone, only at the next point at which the clock is forced to advance--which is when the previous goroutine blocked.
by bjackman | 2025-06-01 08:17:29+00:00
I have recently adopted Nix and NixOS and it's been truly fantastic. It does have a really harsh learning curve though. Big downsides, but for me the upsides are so huge that it's worth it.

I had been incrementally building this complex workflow using mkosi. At some point I sat down with a pencil and asked myself "ok, what am I building here, what's the ideal endgame?" I sketched out the system I wanted and pondered it for a bit... And then went "wait, have I just described NixOS?" And yeah basically it's exactly what I wanted and more.

Funnily enough, this article is _exactly_ what I need as I haven't exactly figured out the best way to install NixOS on a totally blank machine. (So far I have been muddling through what's described in the "Manual installation" section and, yeah it sucks). The exception is for Raspberry Pi where it's straightforward to just build an SD card image from a flake.

I had _guessed_ that something like the "Building your own installer" section would work, but because of the nature of Nix I never really feel 100% confident that something is gonna work as I hope until I physically try it. Usually it does. But still, this is a very big downside of Nix!
by throwaway314155 | 2025-06-01 08:18:47+00:00
Yeah - it's probably a "cultural" thing (as in per-team/codebase opinions change). I see a lot of "naming things is hard" comments on HN and my first internship in college was for a Java position where verbose (perhaps overly so) naming is encouraged. I've brought that mindset with me to other jobs and found plenty of likeminded folks but I assume it's also true that there are far more people who simply don't care (as much).
by sublinear | 2025-06-01 08:21:05+00:00
> I even eschewed HTMX. I bought the book! It's great, it made me feel hopeful, I want to use it someday. But I just ... didn't need it.

This is always true for any web project. HTMX is an abomination of opinions that are harmful to both small and large scale projects. It attempts to solve problems (poorly and naively) in the mid scale that almost nobody ever spends much time in. It's a toy for inexperienced managers to create bullshit maintenance work while they try to quickly jump to something else. We need to stop making crap like this and focus on coding according to web standards and sparingly add much better tools as the project scales up.
by danabramov | 2025-06-01 08:21:47+00:00
Right — that’s why the emphasis on intentionally designed loading states in this section: https://overreacted.io/progressive-json/#streaming-data-vs-s...

Quoting the article:

> You don’t actually want the page to jump arbitrarily as the data streams in. For example, maybe you never want to show the page without the post’s content. This is why React doesn’t display “holes” for pending Promises. Instead, it displays the closest declarative loading state, indicated by <Suspense>.

> In the above example, there are no <Suspense> boundaries in the tree. This means that, although React will receive the data as a stream, it will not actually display a “jumping” page to the user. It will wait for the entire page to be ready. However, you can opt into a progressively revealed loading state by wrapping a part of the UI tree into <Suspense>. This doesn’t change how the data is sent (it’s still as “streaming” as possible), but it changes when React reveals it to the user.

[…]

> In other words, the stages in which the UI gets revealed are decoupled from how the data arrives. The data is streamed as it becomes available, but we only want to reveal things to the user according to intentionally designed loading states.
by natmaka | 2025-06-01 08:24:36+00:00
> "community" as the group of people who live in and wish to direct the changes in the area they are in

IMHO it is the genuine and most adequate 'community', because the less abusive way to decide is subsidiarity ( https://en.wikipedia.org/wiki/Subsidiarity ). Constraining people who live near the potential site makes them at best suspicious, they will better memorize this constraint than any benefit from other projects.
by rvz | 2025-06-01 08:24:50+00:00
> Then ChatGPT happened and the myth of AGI is a few years away was started by con artists.

Someone gets it. This is the scam which is designed to fleece investors by re-defining "AGI" to whatever they want to in order to get more VC money.

> The general public will get tired of empty promises.

The AI boosters do not care if they are wrong. All they need to do is to continue pushing the fear and lies about "AGI" long enough to get more funding and hiding all their problems internally.

An AI winter can still happen, but it must be unexpected and as soon as the promises don't come true and many "so-called" AI startups start shutting down.
by silisili | 2025-06-01 08:26:38+00:00
The US experience is summed up as having lived in a country with some perceived US influence, and having worked for a US company for an undisclosed amount of time.

The European one by the same, except also having lived in Germany for some undisclosed amount of time.

Using this 'experience' to speak authoritatively about the US or Europe as a whole is borderline insulting, regardless of content.
by danabramov | 2025-06-01 08:28:20+00:00
You’re wrong about the historical aspects and motivations but I don’t have the energy to argue about it now and will save it for another post. (Vercel isn’t setting React’s direction; rather, they’re the ones who funded person-decades of work under the direction set by the React team.)

I’ll just correct the allegation about the Vite — it’s being worked on but the ball is largely in the Vite team’s court because it can’t work well without bundling in DEV (and the Vite team knows it and will be fixing that). The latest work in progress is here: https://github.com/facebook/react/pull/33152.

Re: people not “getting” it — you’re kind of making a circular argument. To refute it I would have to shut up. But I like writing and I want to write about the topics I find interesting! I think even if you dislike RSC, there’s enough interesting stuff there to be picked into other technologies. That’s really all I want at this point. I don’t care to convince you about anything but I want people to also think about these problems and to steal the parts of the solution that they like. Seems like the crowd here doesn’t mind that.
by 8f2ab37a-ed6c | 2025-06-01 08:30:03+00:00
I never fully got how people actually got work done, at least not at the level of intensity and hours needed for an early stage startup, while working out of a coffee shop on a small laptop on crappy internet across the globe. Sure maybe if you're running a dropshipping company of one or doing a crypto rugpull, but if you have to build a product, sell, get on calls with customers, coordinate and motivate a team, hire.. etc. how do you do all of that from a small coffee shop in Indonesia or from your hostel?

It feels like a LARP at best.
by _1tem | 2025-06-01 08:31:37+00:00
Name changes are fairly common for famous people at the top of society, especially those who immigrated. At least 7 US presidents legally changed their name. Trump's family was originally Drumpf. Netanyahu was originally Mileikowsky. Obama was enrolled as "Barry Soetoro" in Catholic School. Joseph Stalin was Iosif Dzhugashvili. Lenin was Ulyanov. Marilyn Monroe was born Norma Jeane Mortenson. Freddie Mercury was Farrokh Bulsara. Bob Dylan was born Robert Zimmerman. Elton John’s original name was Reginald Dwight. Even Queen Elizabeth II’s family originally carried the name Saxe-Coburg and Gotha, changing it to Windsor during WWI to sound less German.
by FabHK | 2025-06-01 08:33:50+00:00
Fixed wing flight is more efficient and faster than rotor wing flight. As such, having VTOL capability but also being able to do good old fixed wing flight seems like a good idea.

What's unclear to me is whether they can transition from one to the other in flight, but that might well be possible.

And this solution (with dedicated propellers for forward propulsion, and dedicated rotors for VTOL lift, on a fixed wing) strikes me as much safer than the complicated pivot mechanism proposed by Lilium (a German company that went bankrupt half a year ago, laying off 1000 employees).
by gobip | 2025-06-01 08:34:56+00:00
When you have torsocks or torify for everything, you're gonna leave your footprint through tor, whereas something like Tor Browser is designed specifically not to leave any print on the web.

Using tor directly on the kernel level means that your DNS is gonna leak. Your OS telemetry is gonna leak etc.

It's still a good idea but it should be implemented top to bottom and nothing left in between, otherwise you're de-anonymized quickly.