MurphyA/hacker-news huggingface dataset:
Ask HN: Startup getting spammed with PayPal disputes, what should we do?
by june3739 | 2025-06-04 01:46:49+00:00
Longtime user posting from a new account out of an abundance of caution.

I founded an e-commerce marketplace startup. We use PayPal's Multiparty APIs (PayPal Commerce Platform) for checkout. For the 10 days, someone has been bombarding us with purchases that they later dispute. There's consistent pattern to it:

* They use an email address that has no footprint online, always from the same two domains * They use an unverified PayPal account to pay * They pay a low amount, not always the same, in a narrow range for a digital item * All of the charges were disputed within a few hours

They're not doing this through our API. The purchase process requires a browser because of the way our payment form is configured. There's an amount of variation to each purchase that tells us they're automating a browser. Logs indicate that they're changing IP each time. The events come in bursts and seem to be spaced to avoid automated detection.

We added the typical mitigations to our network stack and code. A few are still slipping through. Logs indicate a high amount of bot traffic.

PayPal does not seem equipped to deal with this. Their support is always extremely slow, relies on canned responses, and to date has a very limited understanding of how their own Multiparty APIs work. Their phone support people will not talk with me, they see no indication that my PayPal account is affiliated with these purchases in any way. They want each of our sellers to contact them independently, which we know will result in disparate cases that don't tell the complete story or offer any assistance.

Has anyone encountered anything like this before? We're struggling to find the motive or intended outcome by the attacker(s). We're a small company with a niche audience, we've never had a conflict with anyone that got serious enough that we'd expect them to come after us like this.

Any thoughts and recommendations would be greatly appreciated. We feel like we are on our own here and are unsure of how to handle it.
by MaxPock | 2025-06-04 01:47:38+00:00
The more I read articles from 20 or 30 years ago, the more I realize how little analysts actually knew about the future. Entrepreneurs and scientists are the ones who correctly predict it—because they create it, or at least attempt to.

Some plans succeed, while others fail. It’s a numbers game.

Invest in every half-decent Bezos you find, and one of them will likely make you a multimillionaire in a decade or two.
by marcuskaz | 2025-06-04 01:48:12+00:00
Here's a dead simple note "app" - it's a single html file using CSS and JavaScript, a whopping 62 lines. Uses content editable and localStorage.

Demo: https://mkaz.github.io/browser-pad/

Source: https://github.com/mkaz/browser-pad/ - though I suppose you can just view source on demo too
by gnabgib | 2025-06-04 01:49:05+00:00
Related:

Milky Way may escape fated collision with Andromeda galaxy (9 points, 10 months ago) https://news.ycombinator.com/item?id=41240641

Milky Way and Andromeda galaxies are already merging (2020) (138 points, 2022, 74 comments) https://news.ycombinator.com/item?id=30494523

Our Dazzling Night Sky When the Milky Way Collides with Andromeda in 4B Years (182 points, 2019, 120 comments) https://news.ycombinator.com/item?id=21327269
by etoxin | 2025-06-04 01:49:07+00:00
Arm amputee programmer here. There are some wild hardware solutions out there.

What I found best was

- a standard qwerty keyboard (I didn't want to be restricted to custom keyboards)

- A learning program called Five Finger Typist. https://www.spectronics.com.au/product/five-finger-typist-2-...

Basically I'm hybrid touch typing. Because I cover the whole keyboard as I type the chance for error increases the longer I type. I quickly glance to know where i'm aligned.

In hindsight I should have learnt to use the F and J notches more.

I have extensively remapped my IDE shortcuts to be easier to trigger.
by simonw | 2025-06-04 01:50:41+00:00
Yeah, they're still bad at counting.

Tools like Claude Code work around this by feeding code into the LLMs with explicit line numbers - demo of that here: https://static.simonwillison.net/static/2025/log-2025-06-02-... - expand out some of the "tool result" panels until you see it, more notes on where I got that trace from here: https://simonwillison.net/2025/Jun/2/claude-trace/
by DontchaKnowit | 2025-06-04 01:51:26+00:00
Most the time, yeah, actually.

Also- in my experience so far, LLMs do a far better job of accounting for things like this than I do.

For example I had claude 4 write something to recursive search the whole filesystem on a windows 11 machine and included a few checks for windows 11 file system specific things I wasnt aware of
by jacobgkau | 2025-06-04 01:51:38+00:00
> Saying something will 100% happen, and saying something will sometimes happen are diametrically opposed statements and contrary to each other.

No. Saying something will 100% happen and saying something will 100% not happen are diametrically opposed. You can't just call every non-equal statement "diametrically opposed" on the basis that they aren't equal. That ignores the "diametrically" part.

If you wanted to say "I use words that mean what I intend to convey, not words that mean something similar," that would've been fair. Instead, you brought the word "opposite" in, misrepresenting what had been said and suggesting you'll stretch the truth to make your point. That's where the sense of bias came from. (You also pointlessly left "what I intend to convey" in to try and make your argument appear softer, when the entire point you're making is that "what you intend" isn't good enough and one apparently needs to be exact instead.)
by selcuka | 2025-06-04 01:53:05+00:00
Both GPT-4o and o4-mini got it right for me. They both wrote and executed a small Python program:

# Let's read the file and get line 27 file_path = '/mnt/data/code.py' line_27 = None try: with open(file_path, 'r') as f: lines = f.readlines() if len(lines) >= 27: line_27 = lines[26].rstrip('\n') else: line_27 = None except FileNotFoundError: line_27 = None
by cosmic_cheese | 2025-06-04 01:53:08+00:00
> I think with higher body fat my body could simply burn that fat for energy, whereas that surplus simply isn't there.

It’s anecdotal, but I believe I’ve experienced similar effects. During my teenage years and for most of my twenties, my body fat percentage was low because I chronically under-ate (mostly just due to bad habits, though there was a financial component too at one point) and was pretty thin. Energy peaked and valleyed quite a bit with the after-lunch crash being the worst.

After I started working out and adjusted eating habits to accommodate that, my baseline weight jumped 20lbs or so. Some of that was muscle, but body fat percentage increased too. Since then energy levels have been much more even throughout the day, even during periods where I wasn’t working out (e.g. during pandemic lockdown) and I think it’s because there’s always a bit of fat to burn where there hadn’t been before.
by crescit_eundo | 2025-06-04 01:53:10+00:00
"Daniel Bomberg was a Flemish Christian printer who moved from Antwerp to Venice where he opened one of the world’s earliest printing presses and publishing concerns. From 1519 to 1523 he published complete sets of the Talmud in Hebrew and Aramaic. These are among the first printed Hebrew books and comprise some of the earliest printed books anywhere. […] And so when King Henry the VIII of England was tiring of his wife, Catherine of Aragon, and not succeeding in obtaining an annulment of his marriage to her from the Pope, he adopted a unique strategy. He had heard that Jewish law allows for divorce under certain circumstances. In order to examine this possible precedent that would have solved his marital and dynastic problems, he imported a full Bomberg Talmud.”

I reckon Henry VIII may have been particularly interested in the tractate Yevamot.
by Kranar | 2025-06-04 01:53:30+00:00
Forget single character tokens, you can just go on OpenAI's own tokenizer website [1] and construct tokens and ask ChatGPT to count how many tokens there are in a given string. For example hello is a single token and if I ask ChatGPT to count how many times "hello" appears in "hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello" or variations thereof it gets it right.

Be careful that you structure your query so that all of the "hello" are in their own token, because you could inadvertently ask it where the first or last hello gets chunked into the text just before or just after.

[1] https://platform.openai.com/tokenizer
by komali2 | 2025-06-04 01:55:02+00:00
Does your usual computer activity require a lot of mouse work? Ten years ago I went down this path when my coworker caught me adding bindings to my mouse buttons. He sat me down at his machine and showed me vim wasn't just an old fart text editor and that the bindings can be used in other editors.

Ofc if you're not doing text based work this wouldn't apply.
by pvg | 2025-06-04 01:55:58+00:00
I'm not a reactionary luddite saying that we should still be using oil streetlamps so we don't put the lamplighters out of work.

No doubt. A few years ago there was some HN post with a video of the completely preposterous process of making diagrams for Crafting Interpreters. I didn't particularly need the book nor do I have room for it but I bought it there and then to support the spirit of all-consuming wankery. So I'm not here from Mitch & Murray & Dark Satanic Mills, Inc either. At the same time, I'm not sold on the idea niche art is the source of human dignity that needs societal protection, not because I'm some ogre but because I'm not convinced that's how actual art actually arts or provides meaning or evolves.

Like another Thomas put it

Not for the proud man apart

From the raging moon I write

On these spindrift pages

Nor for the towering dead

With their nightingales and psalms

But for the lovers, their arms

Round the griefs of the ages,

Who pay no praise or wages

Nor heed my craft or art.
by genewitch | 2025-06-04 01:56:22+00:00
I vouched because nothing you said seems incorrect on its face, and i don't know enough to incorrect you. Someone else could; rather than no discussion. It is good to know you no longer have to binhex mac stuff before zipping (and i assume tar, etc). That's why i sounded incredulous, even though the last time i used a mac the "install" was "drag this icon onto your hard drive icon"

I'm curious, if you have a disk/disc, and you drag a file onto the desktop, and eject the disk, does the file still disappear?
by selcuka | 2025-06-04 01:57:35+00:00
Well, maybe not wc directly, but they have access to sandboxed Python environments. It must be trivial for an LLM to write the Python code that calculates this.

I don't understand why Gemini insists that it can count the lines itself, instead of falling back to its Python tool [1].

[1] https://github.com/elder-plinius/CL4R1T4S/blob/main/GOOGLE/G...
by catlifeonmars | 2025-06-04 01:57:44+00:00
I’m somewhat surprised this was a topic that was deemed worthy of a blog post. It seems quite out of character with other blog posts on the Go blog which are usually about introducing a new feature. Sure, Go’s relatively verbose error handling has long been a source of controversy, but was it worth publishing a blog post just to say, effectively: “please shut up”?
by jacobgkau | 2025-06-04 01:59:55+00:00
> I never said anything about using AI to do your taxes. I was drawing an analogy.

Yeah, I was using your analogy.

> It might not be what we personally want as people who work in the field, but it's for the best.

You're inventing a narrative and borderline making a strawman argument. I said nothing about what people who work in the field "personally want." I'm talking about complexity.

> Similarly we would be better off with programming tools that make the task so simple that professional computer programmers feel like a 20th century anachronism.

My point is that if the "tools that make the task simple" don't actually simplify what's happening in the background, but rather paper over it with additional complexity, then no, we would not "be better off" with that situation. An individual with access to an AI tool might feel that he's better off; anyone without access to those tools (now or in the future) would be screwed, and the underlying complexity may still create other (possibly unforeseen) problems as that ecosystem grows.
by krackers | 2025-06-04 02:01:14+00:00
Neat finding, does it generalize to larger samples? Someone should randomly generate a few thousand such strings, feed it to 4o or o3, and get some accuracy results. Then compare the accuracy in cases of counting individual letters in random strings.

I find there's a lot of low-hanging fruit and claims about LLMs that are easily testable, but for which no benchmarks exist. E.g. the common claim about LLMs being "unable" to multiply isn't fully accurate, someone did a proper benchmark and found that there's a gradual decline in accuracy as digit length increases past 10 digits by 10 digits. I can't find the specific paper, but I also remember there was a way of training a model on increasingly hard problems at the "frontier" (GRPO-esque?) that fixed this issue, giving very high accuracy up to 20 digits by 20 digits.
by ednite | 2025-06-04 02:02:10+00:00
Totally agree, and you’re right. I’ve been doing focus sessions for so long that I sometimes forget how hard it was at the beginning. At first, even 5 minutes felt like a challenge. Then 10. Reaching 20 took time and patience.

Starting with just 5 minutes is good advice. For anyone just beginning (like the OP), don’t worry if it feels tough, that’s normal. Just like building physical endurance, mental focus takes repetition and consistency. Stick with it, and it gets easier.
by peterashford | 2025-06-04 02:03:47+00:00
I like Go. I use it at work and I find it pretty pragmatic.

But I can't stand the verbosity of the error handling. It drives me nuts. I also can't stand the level of rationalising that goes on when anyone dares to point out that Go's error handling is (obviously) verbose. The community has a pigheaded attitude towards criticism.

It also grinds my gears, because I really like that Go is in most other ways, simple and low on boilerplate. It's not unusual to see functions that are 50% error handling where the error handling actually DOES NOTHING. That's just insane.
by 9283409232 | 2025-06-04 02:04:32+00:00
> I cringe at past-Jacob’s naiveté. It’s been incredibly demoralizing to discover what the tech industry actually did was to invent surveillance capitalism, create exploitative “gig economy” business models,create a new generation of robber barons, enable the rise of global fascism, facilitate genoicde, and I could go on but Christ I’m exhausted.

At least he acknowledges this. A lot of people getting their 6-7 figure salaries deny any wrongdoing. A good number of them post on this forum.
by airspeedswift | 2025-06-04 02:05:35+00:00
> The big performance hit in Swift would come in method dispatch where it’s following Objective C strategies which would result in indirect calls for object methods.

While Swift can use Objective-C's message sending to communicate with Objective-C libraries, that isn't its primary dispatch mechanism. In the case of the service described in the article, it isn't even available (since it runs on Linux, which does not have an Objective-C runtime implementation).

Instead, like Rust, Swift's primary dispatch is static by default (either directly on types, or via reified generics), with dynamic dispatch possible via any (which is similar to Rust's dyn). Swift also has vtable-based dispatch when using subclassing, but again this is opt-in like any/dyn is.
by spoaceman7777 | 2025-06-04 02:06:14+00:00
Wow. The only people who could have decided to write and publish this article are the same people who did all of the other insane things in that article.

It reads as though they're begging people not to bail them out.

Like... in all of that, there isn't a single detail about how they aren't going to kneecap themselves again. (And, considering their track record, that seems inevitable, if not imminent.)

This should be taken down, and whoever has been doing these things should write up a plan for what they might do to prevent the truly obscene mismanagement laid out in the article from continuing. Perhaps ask for advice? Or, more likely, stop ignoring advice that many people must surely have been giving them.

Without that, they are seemingly just going to continue wasting the time, and money, of anyone who might get involved with their project.

(Also, the random pot shot at open source in general was unnecessary, irrelevant, and bitter. If they wanted people who use their software to give something back, then they should have licensed it accordingly.)
by komali2 | 2025-06-04 02:06:15+00:00
Until the plastic runs out. I was confused by the comment as well but I started thinking about the disposable movement - cheaper to just make and throw away plastic utensils than for McDonald's to have flatware, and remains cheap if there's buyers for the plastic.

A good solution with unfortunately perverse incentives. Probably the solution is government bans on unnecessarily wasteful uses of plastics. The market is provably incapable of tackling environmental issues without regulatory encouragement.
by dzhiurgis | 2025-06-04 02:07:18+00:00
Yeah it's bizarre. My partner (European) only got license to drive auto. Whenever we travel Europe it's either me who is going to drive or spend tons more to get auto.

I'm convinced the only reason manual is still made is so that rental companies could gauge for auto's. No sane person should buy manual (or ICE car to begin with).
by rstuart4133 | 2025-06-04 02:07:29+00:00
You live across the ditch to me.

If the article is correct there is nothing special about what happened in NZ. It says the "sea of red ink" was driven by COVID spending. The same thing happened happened everywhere, regardless of which side was in power. Those NZ COVID spending measures almost certainly were legislated to expire in a few years, just like everywhere else. But yes, it left NZ with increased government debt, again just like everywhere else.

You Kiwi's aren't as special as it seems you think you are. That was my point really - fiscal responsibility is always a right wing talking point. And completely true to form, the current right wing NZ government delivered tax cuts in their last budget. They say it was funded by the sort of spending reductions we are discussing here. I see those tax cuts benefited the poor rather than the rich. Colour me impressed.
by tail_exchange | 2025-06-04 02:07:39+00:00
Perhaps something like this?

result := InvokeWithErrorLogger( func (err error) { // Error handler incrementMetric("foo") log.Error("bar") }, addTwoNumbers, a, b, )

But the problem is that this approach is not better than just writing this, which doesn't need any new fancy addition to the language:

result, err := addTwoNumbers(a, b) if err != nil { incrementMetric("foo") log.Error("bar") return fmt.Errorf("addTwoNumbers(%d, %d) = %v", a, b, err) }

Hence why all the proposals ended up dying with the lack of traction.
by lurk2 | 2025-06-04 02:07:50+00:00
> Do localities with plasma gasifiers end up purchasing waste from elsewhere to maintain waste input stocks?

This wouldn’t be a problem for a very long time. The reason so much of this waste ends up being landfilled or shipped overseas is due to a lack of capacity in existing waste-to-energy plants. It isn’t quite like the perverse-incentive problem introduced by biomass facilities because the waste is going to be generated regardless.
by skissane | 2025-06-04 02:07:50+00:00
Another way of potentially addressing this problem: add some kind of macro facility to Go – maybe take inspiration from Rust

This could be used to solve both "syntactic support for error handling", and also various other common complaints (such as lack of first class enums), without "polluting" the core language – they'd be optional packages which nobody would have to use if they don't want to

Of course, if one of these optional packages ever became truly prevalent, you could promote it to the standard library... but that would involve far less bikeshedding, because it would be about making the de facto standard de jure... and arguably, letting people vote with their feet is a much more reliable way of establishing consensus than any online discussion could ever be
by jltsiren | 2025-06-04 02:08:07+00:00
The article also says "I help oversee billions of dollars in funding across several science and technology organizations.", which is clearly an administrative activity. It's also easy to find what the author currently does.

Administrative track is an established part of the academia. Many professors choose it for a variety of reasons, including interests, ambitions, and a diminished ability to contribute to research. Those people have a background in research, but they are administrators, not active researchers.

Science consists of many niches – many fields and subfields – each of which has its own norms and practices. People with limited exposure to the breadth of scientific research often assume that other fields are similar to the fields they are familiar with. The generalizations I mentioned in my last paragraph were examples of that.

Focusing on "the system" is an example of administrative thinking. It's the idea that science is a uniform centralized machine, where the administrators on top make the strategic choices and the people in the field execute them. Actual science is an unholy mess of people, formal and informal organizations, and connections between them. It works in a thousand different ways. Attempts to impose uniformity often make it worse, until people find ways to work around the system.

The system cannot be fixed, because each field works in different ways. Attempts to change it typically make it better for some fields and worse for some others. Instead of a single system, you need a thousand different systems. Instead of trying to fix science, you should ask more specific questions, such as how to make algorithm engineering, algorithmic bioinformatics or human pangenomics better.

Those are some of the niches I'm familiar with. I don't find anything particularly wrong with the formal publication system in those subfields, because it's only a small sliver of the communication. In addition to papers, we also have preprints, emails, blogs, Slacks, Zoom calls, GitHub, Twitter/Bluesky, conferences, workshops, summer schools, hackathons, and so on. People communicate in various ways, and they have always been doing that. Sure things could be better, but they could also be a lot worse. The actual issues are in the hard administrative constraints, such as funding, jobs, and visas.
by MoonGhost | 2025-06-04 02:08:29+00:00
> jammers

Jammers don't work against optical cable or AI vision controlled drones. That's a big problem today in Ukraine for both sides.

As for defense, first of all it's detection and tracking. Copters and long range gas powered drones are very loud and easily detectable. Ukraine uses a net of cell phones. Several devices with microphones can accurately pinpoint all drone like sources in real time. That's cheap to install miles around important targets. Then we need just fast AI interceptors 'on hold', in the air if can afford. The last part is missing today, but we'll get there soon.

As for danger, etc. Small remote controlled firearms were easily available for decades. Drones _are_ trackable. When one takes off in big city Russians know immediately where. By using radio scanners. All DJI drones, and most others, communicate and simply broadcast their coordinates. This is used in Ukraine to find their operators.