MurphyA/hacker-news huggingface dataset:
by WalterBright | 2025-04-02 02:18:14+00:00
> taking a 5% loan for the 6 weeks? You need to actually invest the money versus paying the credit card to earn interest.

And I do. I don't have any actual money. It's all invested. I look for ways to borrow money at a lower rate and invest it at a higher rate.

> Realistically a person will take out loans for like 4-5 transactions in their life where this actually matters.

Every time you buy something with a credit card, you take out a 0% loan for 6 weeks.

If you pay attention to what a bank does, if the bank hands you a check for borrowed money, they start charging you interest immediately. If you pay off the loan by handing them a check, they charge you interest until the check clears. I.e. the bank works the float both ways.

The pennies add up.

If you're not aware of this for a large transaction, the other party surely is and is taking advantage of you.

A few years ago, it was commonplace for late night TV to run seminars that I call "Make Money By Real Estate Scamming". I decided to watch one and see how it went. The presenter presented a series of transactions that ended up netting the buyer $15,000. It was complicated, so I set about figuring just how the $15,000 from nothing came about. It turns out it hinged on giving the sucker a bond that paid $X upon maturity in lieu of paying $X today. The $15,000 was the interest on the time to maturity. The complications were all about hiding this.
by conradev | 2025-04-02 02:19:22+00:00
> After a client pulls a graft, it knows exactly what’s changed. It can use that information to determine precisely which pages are still valid and which pages need to be fetched

Curious how this compares to Cloud-Backed SQLite’s manifest: https://sqlite.org/cloudsqlite/doc/trunk/www/index.wiki

It’s similar to your design (sending changed pages), but doesn’t need any compute on the server, which I think is a huge win.
by tomblomfield | 2025-04-02 02:19:34+00:00
Basically you declare to the AI which functions (tools) are available for it to call: https://platform.openai.com/docs/guides/function-calling?api...

Then you handle those function calls in your javascript.

``` if (function_name === 'search_recipes') { const searchParams = new URLSearchParams();

if (args.name) searchParams.set('name', args.name); if (args.difficulty) searchParams.set('difficulty', formatDifficulty(args.difficulty)); if (args.min_duration) searchParams.set('minDuration', args.min_duration.toString()); if (args.max_duration) searchParams.set('maxDuration', args.max_duration.toString()); if (args.tag) searchParams.set('tag', args.tag); // Handle ingredients array correctly - the search page expects ingredients[] if (args.ingredients && args.ingredients.length > 0) { // Clear any existing ingredients searchParams.delete('ingredients[]'); // Add each ingredient individually with the correct array notation args.ingredients.forEach((ingredient: string) => { searchParams.append('ingredients[]', ingredient); }); } const queryString = searchParams.toString(); const url = queryString ? `/search?${queryString}` : '/search'; navigate(url); return; } // start_cooking function if (function_name === 'start_cooking') { // First check if we have an onStartCooking callback registered if (callbacksRef.current.onStartCooking) { callbacksRef.current.onStartCooking(); return; } }

```
by somat | 2025-04-02 02:19:54+00:00
Yeah that sucks, the hard life lesson where you have to swallow your pride and go "fine, I will put quotes on the infernal thing"

But... it does not print a string, a string goes into it but what comes out of the function is not that programmatic feature we call a string in any way shape or form, what comes out depends on the output device specified, it may be ink on paper, lit phosphors, or a stream of bytes. none of which can you use in your program as a string.

sprintf being a notable exception of course. there you do get a string out of it.

Update: language is weird and the more I read my statement the weirder it gets, all I can do is add this cryptic note. "When you print a string it does not produce a string", this usually means I am wrong about something.
by rbshamsu | 2025-04-02 02:19:59+00:00
So it's always a little annoying to find pictures on your device especially if you have many. Google Photos does an okay job if you label everybody but it still wouldn't get something like as specific as "Grandma in her iconic red sweater and round glasses". So, I made a search tool that does it without tags or labels. This is a super early version, so just trying to get feedback. Couple notes: it's limited to 50 pictures and will always return the 5 "closest" images to whatever you type.
by Onavo | 2025-04-02 02:21:45+00:00
> we do need and should have good fine-grain computational models of complex systems such as the cell .. and the global economy.

Thanks to the pioneering work done by physicists, we realized we could simulate dimension reduced versions of reality instead. We call them statistics and differential equations :)

Stack enough of them together, you get something called "deep learning". Large scale national lab supercomputer type numerical simulations are for your grandparents (these days you can probably take shortcuts and simulate that sort of born secret computations in a neural net that is much more compute efficient than the typical supercomputer).
by DidYaWipe | 2025-04-02 02:22:42+00:00
I also got him kicked out of the U.S. (back to the UK) for violating his visa. Cost him his marriage too, although I doubt he cares because the guy is essentially a bum. So is his ex.

One day I got a call from a private detective hired by a couple whose home they were squatting in. I went to court on their behalf too. One victim of his exploits in the UK periodically contacts me to follow up on whether I have had any news.

All in all a pretty interesting episode.
by temporallobe | 2025-04-02 02:25:22+00:00
I still have a Word 2000 installer CD with the original box and product activation key. Wow what a great word processor! Simple, fast, intuitive, and packed with cool features. Modern versions are not fundamentally different, but at the same time are bloated and obtuse. It just doesn’t have that old school snappy feel, that somehow used to feel more responsive and performant on FAR less capable hardware.
by Nursie | 2025-04-02 02:26:13+00:00
They have a numeric scale as well, which scores fox at 6.1 and the guardian at 5.7 (I think, I looked yesterday)

The guardian’s editorial is politically biased, it wears that on its sleeve, their opinion pieces come from a moderate-left viewpoint. But its reporting is generally factual, even if they make mistakes sometimes, as reported on that site.

Whereas they literally label some fox links as “PANTS ON FIRE”, I.e deliberate falsehoods. And we all know the story around, say, Dominion, where Fox knew they were lying but carried on. And the site gives them a higher score?

This is enough for me to doubt the site is anywhere near a reliable comparator.
by dzaima | 2025-04-02 02:26:37+00:00
There's still no time travel in any of those posts; some may require an explanation of "the compiler replaced the UB division with a call to 'bar'" or something, but "calling 'bar'" is still a subset of the "anything" that UB can result in. If there's a specific example you think doesn't follow that, I'd appreciate a specific reference.

(and singron's mention of SIGSEGV handling is entirely irrelevant; the C standard only cares about the abstract machine; in general real memory state can temporarily appear in arbitrarily weird states in practice if interrupted by a signal even without UB, e.g. https://godbolt.org/z/91ModhbEY will have all a[0..15] written even if there's a handled trap on the write to b[0] (or otherwise an interrupt between the two SIMD writes) (using restrict for simplicity, but taking an 'int n' argument and using that for the loop bound will result in ~the same thing without restrict, just with less direct assembly); the same applies even to Rust, though of course with Rust you shouldn't be able to have a situation where you trap on a safe write; could still have a random interrupt happen in the middle though)
by WalterBright | 2025-04-02 02:26:43+00:00
For example, I'll get flyers in the mail offering mortgages for an absurdly low teaser interest rate for the first year, and after the first year the interest rate goes above market. I carefully read the contract. If there's no prepayment penalty, I'll get the loan. A year later, I refinance and pay off the first mortgager.

I asked my loan officer "why do they do these contracts?" He laughed and replied they were playing the odds - the vast majority of people are too lazy to refinance, or didn't read the contract.

Once I bought a new car, and they offered 0% financing after we agreed on a price. I asked, why would they offer 0% financing? The dealer said the terms of the contract were if you are late on a payment, you get hammered with interest. I said sure, I'll take the loan, and set up an automatic payment plan.

This is all basic stuff. The credit card thing is mostly just for practice.
by chrismorgan | 2025-04-02 02:26:50+00:00
Using the event dispatch mechanism is flat-out bigger, anyway. Here’s the interface of the original script (that is, global pub/sub functions taking a name), except that the receiver site no longer needs to look at the .detail property so it’s better:

let t={}; sub=(e,c)=>((e=t[e]??=new Set).add(c),()=>e.delete(c)); pub=(n,d)=>t[n]?.forEach(f=>f(d))

The original was 149 bytes; this is 97.

(The nullish coalescing assignment operator ??= has been supported across the board for 4½ years. Avoiding it will cost six more bytes.)
by Arainach | 2025-04-02 02:26:58+00:00
This is not true. 2/3 of bankrupt filings in the US are due to medical costs - a number which does not capture the high levels of medical debt carried by people who do not declare bankruptcy.

https://www.ilr.cornell.edu/scheinman-institute/blog/john-au...

https://pmc.ncbi.nlm.nih.gov/articles/PMC6366487/
by acdha | 2025-04-02 02:28:25+00:00
So far, they’re significantly negative on savings (the $140B they claim versus the $500B they’ve cost just at the IRS alone) and that’s taking the figures at face value when every sober review has found them wildly overstating the savings by doing things like taking credit for contracts closed during previous administrations, using the maximum possible amount on contracts which hadn’t spent anywhere near that much, or counting the same contract multiple times.

https://www.nytimes.com/2025/03/03/us/politics/doge-musk-con...

Then you also have to factor in how much money they’re going to spend in lawsuits for all of the broken laws, not to mention the cost of paying people not to work for months while trying to bypass Congress and shut down legally mandated programs.
by matlin | 2025-04-02 02:28:56+00:00
My ideal version of this is simple: just define the queries you want (no matter how complex) and the you'll get exactly the data you need to fulfill those queries, no more, no less. And the cherry on top would be to have your queries update automatically with changes both locally and remote in close to real-time.

That's basically what we're doing with Triplit (https://triplit.dev), be it, not with SQL--which is a plus for most developers.
by surgical_fire | 2025-04-02 02:31:00+00:00
> France’s harsh sentence in this case limits the choice of citizens who are capable of judging for themselves who should get their vote.

That vote would be tainted by her embezzlement of campaign funds. The rest of this analysis is void once the author fails to consider how badly democracy can be damaged once election regulations are not respected.

Of course, the author may jave ulterior motives, and wants to defend Le Pen in this case because he wants to see democracy in Europe weakened from within. But I sm giving the benefit of doubt here and presuming stupidity rather than malice.
by echoperkins | 2025-04-02 02:31:41+00:00
Yes, I am deploying mysql with ghost

``` accessories:

db: image: mysql:8.0 host: 170.64.156.161 env: secret: - MYSQL_ROOT_PASSWORD options: restart: always directories: - data:/var/lib/mysql

```

For my other services I am just using sqlite combined with a volume for persistence (managed by kamal)
by aorist | 2025-04-02 02:31:57+00:00
Let's say that The Rebel Times has a headline "Member of the Imperial Senate on a diplomatic mission boarded and arrested without cause" while the Empire Daily reports that "Leia Organa, part of the Rebel Alliance and a traitor, taken into custody". Following your process, the "what" is just that Leia was arrested.

Then, the Rebel Times says "Moisture farmer with magic powers joins fight against Empire", but the Empire Daily has "Moisture farmer joins fight against Empire". the common whats are just that a moisture farmer joined the Rebel Alliance, which is true, but much less consequential than if he had magic powers.

Later, the Rebel Times says "Secret Empire super-weapon destroyed at the Battle of Yavin", and the Empire Daily publishes... nothing because they don't want to admit defeat. There's no common information between these stories (because there is no second story), so looking for common whats would conclude that nothing happened.

If the process of analysing the news accounted for the fact that the different outlets are interested in presenting different whats, it could conclude that the fact that the Empire Daily published nothing about the third story doesn't mean that it didn't happen. In the second case, if it could account for the Empire wanting to suppress information about the Force, the conclusion would be that Luke joining the Alliance is somewhat more of a big deal than otherwise. Even in the first case, it might realise that the fact that the two sources don't agree about Leia doesn't mean that one side isn't right.
by s2th4d | 2025-04-02 02:33:36+00:00
Why do you need users to register before peeking at the available jobs? Why do users have to risk giving all their information before even reading about what is possible? Just because you can have AI code it, it is not an excuse for bad marketing. Please ask your AI sources about what are common ways that people are willing to try and sign up for new products. Or do some old fashioned research.
by scarface_74 | 2025-04-02 02:34:06+00:00
I have never known a vendor that charges more based on credit card types.

The reason that companies are willing to pay higher credit card exchanges for Amex is because Amex users on average are bigger spenders.

But even Chase Visa cards that transfer to Hyatt hotels and you can get 3x back for groceries (by paying with grocery store app so it counts as “online groceries) you’ll get more than 5% cash back.

Then there is the whole r/awardtravel hacks of getting cheaper flights by transferring points to partner airlines like booking Delta domestic flights via AirFrance.
by throwup238 | 2025-04-02 02:34:20+00:00
The bureaucracy is the secret ingredient and it’s orthogonal to the system of government. Throughout history the bureaucrats have survived regimes and adapted to the demands of their new rulers, whether that be kings or constituents. Successful conquerors and revolutionaries both tend to repurpose that bureaucracy rather than rebuilding it from scratch (which tends to end very badly, see Haiti or the Democratic Republic of Congo).
Show HN: VaporVibe – auto-generate video demos for vibe-coded projects
by gmdnn | 2025-04-02 02:35:09+00:00
Hi HN,

I built VaporVibe as a fun April Fools hack: https://vapor.influme.ai/

It auto-generates short video demos for your side projects. Just drop in a GitHub repo and a public URL where it’s hosted, and it creates a clean video walkthrough of the app.

It’s designed for the kind of projects that are 90% vibe, 10% code, and not quite ready for launch… but still deserve a trailer.

Example project: https://github.com/cndn/recipe-discovery-playbook — vibe-coded, demo in the README.

Would love any feedback on UX, performance, or ideas on what else to support. Thanks!
by pabs3 | 2025-04-02 02:35:17+00:00
Some more related links:

https://libreqos.io/ https://understandinglatency.com/ https://www.linkedin.com/in/dtaht https://www.patreon.com/dtaht https://www.facebook.com/dtaht/ https://www.youtube.com/@davetaht4989 https://twitter.net/mtaht https://github.com/dtaht http://www.taht.net/ http://www.taht.net/~d/ http://www.taht.net/~mtaht/ http://www.teklibre.net/ http://www.teklibre.net/~d/ http://www.teklibre.net/~mtaht/
by cowpig | 2025-04-02 02:35:49+00:00
Primer is a youtube channel with a fantastic intuitive and gentle introduction to this topic: https://www.youtube.com/watch?v=PNtKXWNKGN8

This paper from one of the field's pioneers is a nice introductory overview of the space from an academic perspective: https://faculty.sites.iastate.edu/tesfatsi/archive/tesfatsi/...
by terinjokes | 2025-04-02 02:35:53+00:00
I've recently had to do this (to bisect when a change introduced a superficial bug into a 20-year-old program). I think "simply run" is viewing Linux of that era through rose-tinted glasses.

Even for simple 2D "Super VGA" you're needing to choose the correct XFree86 implementation and still tweak your Xorg configuration. The emulated hardware also has bugs, since most of the focus is now on virtio drivers.

(The 20-year-old program was linked against libsdl, which amusingly means on my modern system it supports Wayland with no issues.)
by westurner | 2025-04-02 02:36:18+00:00
Return oriented programming: https://en.wikipedia.org/wiki/Return-oriented_programming

/? awesome return oriented programming sire:github.com https://www.google.com/search?q=awesome+return+oriented+prog...

This can probably find multiple versions of libc at runtime, too: https://github.com/0vercl0k/rp :

> rp++ is a fast C++ ROP gadget finder for PE/ELF/Mach-O x86/x64/ARM/ARM64 binaries.
by snapyleads | 2025-04-02 02:36:46+00:00
I want to introduce you to the easiest and most affordable way to find leads right now.

We looked at the painful process of finding and connecting with prospects and thought, "There has to be a better way." So we built one - and made it ridiculously affordable at just £10 a month.

What makes Snappy Leads different? It's the elegant simplicity of powerful tools that actually work:

Access to over 250 million+ verified LinkedIn profiles and emails - searchable by industry and position. No more guessing games. Our AI Head-Hunter doesn't just find leads - it enriches their information so your conversations start on solid ground. The Web Toolkit reveals the tech stack your prospects are using - giving you insight before you even say hello. One-click AI email writing that transforms your outreach from "another sales pitch" to "wait, I actually want to read this." LinkedIn-to-Email Finder that bridges the gap between discovering someone interesting and actually starting a conversation.

Look, finding good leads shouldn't require a second mortgage or an engineering degree. We've made it simple, powerful, and at £10 a month, it's probably less than what you're spending on coffee this week and definitely less than our competitors like Apollo.io and RocketReach who are charging £100 a month - approximately the same price as hiring a part-time detective to follow your prospects around with a notepad and fake mustache

Jokes aside, this isn't just another tool. It's lead generation that actually makes sense - at the fraction of the price that you are use to.

Ready to see for yourself? Check it out at snappyleads.co.uk
by BriggyDwiggs42 | 2025-04-02 02:37:35+00:00
I actually disagree completely. Mastering the piano is different from mastering digital synthesis no doubt, but there are also distinctive commonalities that make and mark a master in both. A disproportionate investment of time or the effortlessness with which one can generate sounds imagined or perceived, as though the machine were a part of one’s own body, are attributes shared by both. Certainly someone could spend thousands of hours mastering different digital synthesis techniques, and I don’t think that’s easier than mastering the piano. There’s a fundamental competitive aspect to things like music that keeps mastery difficult to attain. If it weren’t difficult then it wouldn’t be as valuable and scarce. Once things become common and accessible, they quickly become boring and new genres are invented.
by nine_k | 2025-04-02 02:37:38+00:00
Impressive!

35 kLOC is quite a bit. I wonder how straightforward and maintainable this app ended up to be. This would require taking a look at the sources. While good Rails code tends to be very terse, frontend may be quite voluminous.

> I believe within a couple of months, when things like log tailing and automated testing and native version control get implemented

This sounds a bit too optimistic, especially around automated testing, but yes, eventually this all will be there.

> an extremely powerful tool for even non-technical people to write production-quality apps

But why would non-technical people would even think in terms of log tailing and version control, any more than they think about the gauge of wiring in their walls, or the kind of modulation their Wi-Fi device use? For really non-technical audience to make a good use of such tools, it won't just take the AI to be a competent coder. The AI should become a competent architect and a competent senior SWE to translate from the product management language to the software development language, without even surfacing it when not explicitly asked. It's going to be quite a bit of a challenge to make it work, and work about as reliably as with a human team.
by eddythompson80 | 2025-04-02 02:40:52+00:00
> That means LoRa and cellular network won't help either... That's good to know.

It does. If anyone is buried under the rubble "why don't they just tweet/SMS/mesh-network they are stuck" might be the first question someone would have. A simple answer is that the nearest GSM tower is also under rubble. But that's not enough. Even if the nearest GSM tower is 100% fine (or their next LoRa mesh peer is also fine), you need to be less than 12-15 inches of concrete (in the most optimal/reflective way) to have any signal at all. At the end of the day you're up against physics. 3 questions physics mandates:

1. What is the wavelength you're transmitting?

2. How far is your receiver?

3. What is your medium?

The keyword "Antenna Theory" or "Antenna Design" is a good rabbit hole for this sort of thing. There is this funny saying among radio enthusiasts "everything is an antenna if you squint hard enough"[1].

There is also something that cooks call "The Human Element"[2] when they're trying to evaluate the appeal of some foods to people. The "Human Element" in an "under the rubble" situation is that you want something that a normal human being would have on them when the sudden situation of an earthquake happens and they find themselves under a rubble.

I don't know what that is. I live in a place that is pretty far removed from earthquakes as a major problem. Geologically speaking, we get a "major earthquake" every 500 years or so. However, that's an average and it's been 600 years for us but the max has been 3,000 years and the min has been 200 and the mean means nothing to the individual. However, a device of some sort that can emit low frequency, low bandwidth[3], long range message seems like a useful thing. I don't know if that would be the type of device every human would have "on their body" all the time. But maybe??

[1] Everything that's electrically conductive is an RF antenna. If you get buried in the right place next to a 100 feet long rebar, you could (theoretically) send a signal that anyone in 100 mile range could hear provided you had the right equipment of course.

[2] In cooking, it is this elusive thing that explains how some cultures/people love certain tastes or textures that other cultures don't. Slimy foods in Middle Eastern or Japanese/Asian cultures vs Western Pallet for example.

[3] A device that needs to send "S.O.S" needs maybe 1byte/second or even less. You can't communicate any meaningful information in a seismic-pulse-signal type device, but "SOS" is certainly doable.