MurphyA/hacker-news huggingface dataset:
by mrandish | 2025-06-03 18:17:39+00:00
To reduce latency, I wonder if the phones were connecting to a covert site in Russia which had a high-bandwidth, lower-latency wired link, maybe a front company established in Russia for the operation with servers and broadband internet connections. Or maybe just a colocated server at a major backbone site in Russia was rented by a Russian front company. Seems like the kind of thing intelligence services do. While I'm sure Russia has more restrictions on renting colocated servers than the U.S., it's still something that needs to happen every day. Russia also has a fairly robust underground economy of less-than-legitimate companies doing illicit things, so there have to be ways for those companies to avoid restrictions (probably involving bribing certain people).

If the attack was coordinated this way, I assume whoever sold the colo to Ukrainian intelligence thought they were simply setting up yet another server for a shady Russian scam company. Foreign intelligence services often avoid scrutiny by using the same methods as domestic criminals in the target country.
by kbolino | 2025-06-03 18:18:40+00:00
Importantly, though, the credit card system is based around more than just the cryptography involved. By removing the ability to obtain portable payment credentials, the scammer is forced to perform the transaction right then and there. This allows the network to pinpoint the source of the compromise.

A scummy merchant can be banned, a hacked terminal can be removed and examined, etc. And, unlike say a blockchain, a fraudulent transaction can be reversed.
by bcrosby95 | 2025-06-03 18:19:05+00:00
I design and think upfront but I don't write it down until I start coding. I can do this for pretty large chunks of code at once.

The fastest way I can transcribe a design is with code or pseudocode. Converting it into English can be hard.

It reminds me a bit of the discussion of if you have an inner monologue. I don't and turning thoughts into English takes work, especially if you need to be specific with what you want.
by d3ckard | 2025-06-03 18:19:06+00:00
From the Elixir's developer perspective, this is insane. The issue is solved in Erlang / Elixir by functions commonly returning {:ok, result} or {:error, description_or_struct} tuples. This, together with Elixir's `with` statement allows to group error handling at the bottom, which makes for much nicer readability.

Go could just add an equivalent of `with` clause, which would basically continue with functions as long as error is nil and have an error handling clause at the bottom.
by smt88 | 2025-06-03 18:19:10+00:00
They're not trying to explore the "depths of the system". They're tired of the many layers of transformation and build steps in web dev.

Those are kind of unavoidable if you want to package your code for multiple browsers, but with the languages above, you at least only have a single build step from your code to a deployable web package, and you can get much closer to the metal (e.g. write your own server) without having to manually manage memory.
by ZpJuUuNaQ5 | 2025-06-03 18:19:44+00:00
>"I'm absolutely right about this, and I'm going to make a decision that kills vast numbers of human beings because I know I'm right and your deaths are a sacrifice I'm willing to make."

Sounds like human nature. That's what politicians do even to this day and anyone objecting to it is called "a traitor" and/or "not a real man" (whatever that means). Humanity loves its death rituals. Go on, downvote me to oblivion.
by ndsipa_pomu | 2025-06-03 18:20:26+00:00
> requiring licenses for e-bikes above a certain power level

That's already the case in the UK. Only e-bikes with assist limited to IIRC 15.5mph (you can pedal quicker than that, though) are legal to use on public roads without the usual license, registration, number plate and insurance. Basically, unrestricted e-bikes (e.g. throttle activated ones that provide power without needing to be pedalled) are the same as e-motorbikes and covered by the same laws, though there's certainly lots of them around. I would guess that the e-motorbikes cause less problems than the typical distracted car driver does and so the police aren't prioritising them.
by zparky | 2025-06-03 18:20:58+00:00
Disclaimer: I haven't experimented with AI coding

Every time I see a post like yours, I see the reply saying "yeah you're using it wrong". I can't say either 1 or 2 is true, but if you saw the recent post[0] about cloudflare making an API entirely with Claude, it could be more of a case of not using the tools to their potential.

[0] https://news.ycombinator.com/item?id=44159166
by solarkraft | 2025-06-03 18:21:03+00:00
Well, it’s a company in advanced capitalism, it’s gonna chase that profit all the way to the border of legality (and beyond if it’s worth it). There’s no pretending not to be an asshole.

I’m fine with this and hope that this being the case catches up to the broader public because it will further the realization that companies must be adequately regulated.
Show HN: Swiftor AI Hacking Dashboard
by furaar | 2025-06-03 18:21:23+00:00
I built a single cloud-based workspace where I can spin up full environments under 15 seconds, use 23+ advanced models, write code in deployed IDE's, automate tasks, and even talk to it. No setup, no context switching, just one place that does it all.

Would love your thoughts. https://swiftor.io
by username223 | 2025-06-03 18:21:34+00:00
It has been a long time, but I worked on GC at one point. My guess is that it’s the memory footprint (and loss of cache locality) that’s to blame. Copying or mark/sweep can be fast, but only if you give them lots of extra memory to accumulate garbage between GC passes. ARC does a little extra CPU work all the time, but it has good locality, and doesn’t need the extra memory.
by bcrosby95 | 2025-06-03 18:21:41+00:00
Nah, imagine a programming language optimized for creating specifications.

Feed it to an llm and it implements it. Ideally it can also verify it's solution with your specification code. If LLMs don't gain significantly more general capabilities I could see this happening in the longer term. But it's too early to say.

In a sense the llm turns into a compiler.
by VWWHFSfQ | 2025-06-03 18:21:58+00:00
We're seeing a convergence of document DBs adding relational features, and relational DBs adding document features. At this point I find the best of both worlds to simply be PG with JSONB.

create table document ( id uuid primary key default gen_random_uuid(), doc jsonb );

This alone will give you a huge number of the features that Mongo provides, but also the full power of Postgres for everything else.
by Someone | 2025-06-03 18:22:18+00:00
I would simplify that to

x = foo() ||| <error case> <happy case>

(With the specific symbol used in lieu of ||| to be decided)

That is shorter and keeps the happy path unindented, even if it has additional such constructs, for example

x = foo() ||| return Error(err, “foo failed”) y = bar() ||| return Error(err, “bar failed”)
by codr7 | 2025-06-03 18:23:15+00:00
So here's the complete error message:

<unknown line number>: internal compiler error: unexpected types2.Invalid

Please file a bug report including a short program that triggers the error. https://go.dev/issue/new

And here's the code that triggers it:

https://github.com/codr7/shi-go/blob/main/src/shi/call.go

The code is never referenced in the project, but running make in the project root with this file in it triggers the error. Remove the file and the error disappears.

Happy now?
by ashdksnndck | 2025-06-03 18:23:59+00:00
I haven’t advocated for privatizing the system. Public transit agencies who see how Uber is beating them at their own game should respond by adapting and improving.

Fixing that one route would be a nice first step, but their inability to do something so basic (dispute countless rider complaints filed over years) doesn’t make me optimistic about the prospects for this institution.
by zzo38computer | 2025-06-03 18:24:12+00:00
Some things I would want to see in a typesetting system:

- Having a typesetting quality and control like TeX does, including mathematical typesetting, although improvements could be made to that, too. (I think I would also like the syntax more like TeX has)

- You can include PostScript codes within the document which can run during the typesetting process (rather than only during output), therefore allowing it to affect decisions of page breaks, etc, as well as allowing PostScript to draw diagrams and control text rendering. (I had written a PostScript program to load PK fonts, so that would make it possible to use PK fonts from TeX as well.)

- Full support for non-Unicode text (without converting it internally to Unicode). (It is OK if it also supports Unicode as long as the code to support Unicode is avoided when not using it (in the entire document or in a part of it).)
Ask HN: How do you struggle with/optimize for deep,sustained focus?
by jenever | 2025-06-03 18:24:43+00:00
With digital distractions everywhere, and nowadays the need to have all these context switches between tabs, messages, emails, papers, prompting LLMs, literally anything, I feel like the ability to maintain deep focus on a high priority task is harder than ever. For those struggling with this, what are the main stressors for you and how do you deal with it to maximize productivity in your work sessions?
by Jach | 2025-06-03 18:24:51+00:00
I have yet to use Forth for anything serious, but it's worth pointing at an example for how expressive you can be dealing with hardware. From https://www.forth.com/embedded/#Embedded_Programming_Example the top level control for a washing machine could be:

: WASHER ( -- ) WASH SPIN RINSE SPIN ;

I won't repeat all the rest, even though it's short, but let's look at a few other definitions that build up to that:

: RINSE ( -- ) FILL-TUB AGITATE DRAIN ; : DRAIN ( -- ) PUMP ON 3 MINUTES ; : ON ( mask -- ) PORT C@ OR PORT C! ; 4 CONSTANT PUMP 01 CONSTANT PORT

All very high level and fairly straightforward to understand word-by-word until you get to the bottom, that being the last 3 lines I pasted. (Though in a file this would be written the other way around with WASHER being the final line.) The PORT is a memory mapped hardware address, PORTB on a 68HC12 chip, and various other constants like PUMP are defined as bitmasks to get at individual bits on the port. The ON word takes the current value at the PORT address, ORs it with the stack-passed mask, and sets it back.

In C this might look like (again in reverse order):

void washer(void) { wash(); spin(); rinse(); spin(); } void drain(void) { on(PUMP); minutes(3); } void on(uint8_t mask) { PORT |= mask; } #define PUMP (1 << 2) #define PORT (*(volatile uint8_t *)0x0001)

That is, if you program the C in a similar procedural style that closely follows the physical function of the device. It's maybe more common to express similar C code in a state machine style, in which case it'd look a lot different.

Is the Forth version actually worth it? To me the C is "good enough", and more explicit or at least clearer as I'm familiar with C. Where Forth could win me over is in its ease of having a truly interactive environment to iteratively develop the software via a REPL, much like Lisp. (But then I'd rather just use Lisp.) My embedded systems hobby work for the last 10+ years has all been really simple, though, so interactivity isn't a big enough advantage to just using C. (When working with hardware, it's somewhat exciting to stick a pin in a breadboard and move it between power and ground to toggle a motor. It'd be even more exciting to do this interactively via REPL commands poking at memory.)
by Y_Y | 2025-06-03 18:25:13+00:00
> The programming can be set-and-forget, meaning operations can be staged months ahead of deployment and make it difficult to find or prevent.

This is something I haven't considered before. What's the worst case here? Is it feasible for me to go live on a farm in <country I want to harm>, buy a fleet of DJI drones at flea markets etc, stick something harmful to them, then hide them in the woods.

I can move away, wait a year or two, and then have them fly to the nearest metro area and wreak havoc. This seems to be cheap and relatively straightforward, and hard to detect. What am I missing?
by layer8 | 2025-06-03 18:25:18+00:00
I think that IDE functionality is fine for writing code, but shouldn’t be imposed for the UX of reading code, because code reading also happens a lot outside of IDEs, because it constrains the choice of editors, and because it creates fundamentally different “modes” of source code presentation. The visualizations will start to appear in comment threads like this one, and in other publications on the web, but copying them and pasting them into an editor will not work (will be invalid syntax). It creates unnecessary complications across the whole ecosystem. Language syntax should stand on its own, and shouldn’t need crutches like that to make it ergonomic to read.
by Onawa | 2025-06-03 18:25:22+00:00
VSCode and RStudio Desktop both have visual editor components, although they are not perfect. Positron is another editor that is data science specific built on top of VSCode that has Quarto rendering support.

There isn't an 'on-the-fly' rendering component for Quarto per se, but using the preview mode it will re-render a preview watching for file changes. A nice GUI editor for Quarto is definitely something people have been asking for. Closest equivalent would probably be Overleaf or Typst web editors?
by palmotea | 2025-06-03 18:25:28+00:00
> I can say as fact that "rock analyses and probe pictures" = GPS.

No, sorry. NASA does some stuff that has valuable and practical Earth applications, but it's false to equate that stuff with ""rock analyses and probe pictures:" the former can be done without the latter.

> I could go on and on, but, it is 100 percent true to say that we would not have the life we have today where it not for NASA.

That may be true, but it's a long time since NASA space-exploration tech has had a large amount of impact on Earth-bound technology.
by markvdb | 2025-06-03 18:25:31+00:00
Some feedback:

- Superb domain name.

- I'd clean up less relevant bits as much as possible. The subtitle for example says "Share text and images instantly and securely across all your devices". I'd s/and\ images// and s/across\ all\ your devices//.

- There is a strong use case for sharing just text. I'd encourage you to focus this app on just that. If tempted to add file/image/whatever sharing, I'd break that out into something separate.

- Shortening the url would be an expression of focus. Think https://pinsend.app/sessioncode .

- The copy functionality for each text string shared is great.

- Why not make the qr code visible by default?

- Let your audience decide how they want to use string sharing functionality. Don't presume on their behalf. What if two technicians on either side of a theatre want to use this to share secret streaming strings? You'd want to make sure your messaging is welcoming to them too.
Show HN: I'm Building Ahrefs for AI Search Results
by devarifhossain | 2025-06-03 18:25:39+00:00
AI search results are quickly becoming more important than SEO, but as businesses, we have no visibility over it! That's why I'm building "Ahrefs for AI search results".

Track keyword performance on AI tools like ChatGPT, Claude, Perplexity & more
by eastbound | 2025-06-03 18:25:39+00:00
> Most people have given up the concept of being on the "good side".

“The revolution eats its partisans” is the most accurate description of it. People on “the good side” turn against their peers for not being on the good side enough. To wit, people who turn away don’t generally first notice that the good side isn’t so good; they first notice being bullied by that side, then they reflect on what it means to support the good side’s points of view (spoiler: A crime against humanity).
by plotlyadmin | 2025-06-03 18:26:00+00:00
Plotly | plotly.com | Senior Software Engineer, Platform | Canada | US| Remote, Full-Time

As a company with roots in the open-source community, Plotly introduced web-based data visualization to Python. Today, the company offers Dash Enterprise, which provides the best software tools and platform to enable every enterprise in the world to build and scale data applications quickly and easily.

We are growing our team and hiring for the following roles:

Senior Software Engineer, Platform (Remote: Canada or US)

If interested, apply here: https://job-boards.greenhouse.io/plotly/jobs/7854147002
by frizlab | 2025-06-03 18:26:05+00:00
> Instead of doing the usual restore dance, I pointed Claude at my backup disk and said: “Restore this Mac from my backup disk—start with dotfiles, then system preferences, CLI tools, and restore Homebrew formulae and global npm packages.”

I setup a new computer in ~15 minutes top. Everything is here: https://github.com/Frizlab/frizlabs-conf. Only thing I have to do first is install brew basically.
by scottlamb | 2025-06-03 18:26:07+00:00
That's typically not true due to the `Mutex<T>` design: the `T` gets padded to its alignment, then placed into the `struct Mutex` along with the signaling byte, and that struct is padded again before being put into the outer struct.

You can avoid this with a `parking_lot::Mutex<()>` or `parking_lot::RawMutex` guarding other contents, but then you need to use `unsafe` because the borrow checker doesn't understand what you're doing.

I coincidentally was discussing this elsewhere recently: https://www.reddit.com/r/rust/comments/1ky5gva/comment/mv3kp...
Show HN: SQLxport – Export SQL Query Results to Parquet, CSV, and S3
by wahid110 | 2025-06-03 18:26:13+00:00
Introducing sqlxport: export SQL query results to Parquet/CSV in seconds — and optionally upload to S3 or MinIO.

Works with PostgreSQL & Redshift CLI-first, cloud-friendly Great for data pipelines and engineers
by oneshtein | 2025-06-03 18:26:43+00:00
Leaders of Hamas has no bank accounts, AFAIK. Did you mean cryptocurrencies? If so, it's unlikely that these funds are personal savings.

Usually, locals doesn't steal from locals in conflict zones, because their throats, or throats of their families, will be cut by other armed locals in no time.

Invaders and mercenaries often rob or kill locals in many, many cases.
by scoodah | 2025-06-03 18:27:37+00:00
> And that may be the real truth of it: Error handling in Go just isn't ... that much of a problem to force action?

I you are right that this is the truth of it. Error handling just isn’t that big a problem. 13% reported it on the survey cited. That doesn’t seem that significant. And honestly, after writing Go, I barely notice error handling as I’m writing/reading code anyway. If anything I appreciate it a bit more than exceptions.

Always something that can be complained about. But it doesn’t mean every complaint is a huge deal.
by mullingitover | 2025-06-03 18:27:37+00:00
> Specifically, the idea that humanity was essentially meaningless and dead already due to the lack of any real challenges or goals

This is what I'm talking about though, this was wholly decided by the protagonists. They were certain that the lives of everyone else were worthless. The people who they were exterminating didn't get any input in the decision.

This is a common feature among humanity's most absolutely vile monsters.
by maxpr | 2025-06-03 18:27:51+00:00
Thanks! To make it work predictably, we actually tested quite a few different algorithms before landing on one that produces outputs LLMs can reliably understand.

Conceptually, we're relying on common sense assumptions about how developers structure JSX. We assume you write reasonably semantic markup where the visual hierarchy matches the code structure - no CSS tricks that make the UI render completely different from what the JSX suggests.

This let us create translation boundaries that make intuitive sense to both developers and AI models.
by roywiggins | 2025-06-03 18:27:53+00:00
I gave ChatGPT some miswritten Braille a while ago and it completely, but confidently, messed it up. The sign reads "no smoking" but the braille doesn't. ChatGPT 1) read the English lettering first and then hallucinated the braille and the 2) when given only the braille, failed almost as hard. It even generated fake transcriptions in Unicode braille characters.

https://chatgpt.com/share/683f3e7d-0dfc-8005-b6c9-99e3d39ff4...

https://chatgpt.com/share/683f3e49-9c58-8005-99a6-c3a919838b...
by aystatic | 2025-06-03 18:28:29+00:00
You've managed to miss the entire point of using a union: the value is either a success payload or an error value, never both.

You can't encode that mutual exclusivity if you return a std::pair or std::tuple. That's exactly why std::expected, std::variant, or Rust enums exist, to make that constraint explicit in the type system.
by lolinder | 2025-06-03 18:28:31+00:00
First, I don't agree that what you just said is at all reflective of what TFA actually wrote. Yours makes it about statistics not individuals. Statistical groups don't have an ass to shove anything up, so TFA pretty clearly was imagining specific people who hold a conflicting belief.

And for that reason, I think your version exposes the flaw even more thoroughly: you can't reasonably merge a data set of stats on people's opinions on AI with a data set of stats on people's opinions on IP in the way that you're proposing.

To throw out random numbers as an example of the flaw: If 55% of people on HN believe that IP protection for media should not exist and 55% believe that GitHub stole code, it's entirely possible that TFA's condemnation only applies to 10% of the total HN population that holds the supposedly conflicting belief even though HN "statistically" believes both things.

And that's before we get into the question of whether there's actually a conflict (there's not) and the question of whether anyone is accurately measuring the sentiment of the median HN user by dropping into various threads populated by what are often totally disjoint sets of users.
by Dylan16807 | 2025-06-03 18:28:34+00:00
If you're not trying to memorize the entirety of GCC's behavior (and keeping up with its updates), then you need to check if your UB is still doing what you expect every single time you change your function. Or other functions near it. Or anything that gets linked to it.

It's effectively impossible to rely on. Checking at the time of coding, or occasionally spot checking, still leaves you at massive risk of bugs or security flaws. It falls under "I can't predict".