MurphyA/hacker-news huggingface dataset:
by DemocracyFTW2 | 2025-11-01 06:53:00+00:00
I think JavaScript has a language / terminology problem here. It has to be explained constantly (see) to newcomers that `const a = []` does not imply you cannot say `a.push( x )` (mutation), it just keeps you from being able to say `a = x` further down (re-binding). Since in JavaScript objects always start life as mutable things, but primitives are inherently immutable, `const a = 4` does guarantee `a` will be `4` down the line, though. The same is true of `const a = Object.freeze( [] )` (`a` will always be the empty list), but, lo and behold, you can still add elements to `a` even after `const a = Object.freeze( new Set() )` which is, shall we say, unfortunate.

The vagaries don't end there. NodeJS' `assert` namespace has methods like `equal()`, `strictEqual()`, `deepEqual()`, `deepStrictEqual()`, and `partialDeepStrictEqual()`, which is both excessive and badly named (although there's good justification for what `partialDeepStrictEqual()` does); ideally, `equal()` should be both `strict` and `deep`. That this is also a terminology problem is borne out by explanations that oftentimes do not clearly differentiate between object value and object identity.

In a language with inherent immutability, object value and object identity may (conceptually at least) be conflated, like they are for JavaScript's primitive values. You can always assume that an `'abc'` over here has the same object identity (memory location) as that `'abc'` over there, because it couldn't possibly make a difference were it not the case. The same should be true of an immutable list: for all we know, and all we have to know, two immutable lists could be stored in the same memory when they share the same elements in the same order.
Ask HN: Do you have an aversion to recent TLDs?
by GaryBluto | 2025-11-01 06:53:10+00:00
I noticed recently that I tend to subconsciously avoid websites visiting websites using more recent TLDs, like .space, .app, etc.

After some introspection I realized that they feel dodgy and "fake" to me. I was wondering if this was a personal eccentricity or something other people experience.
by jacquesm | 2025-11-01 06:53:20+00:00
Indeed, arena allocators are quite fast and allow you to really lock down the amount of memory that is in use for a particular kind of data. My own approach in the embedded world has always been to simply pre-allocate all of my data structures. If it boots it will run. Dynamic allocation of any kind is always going to have edge cases that will cause run-time issues. Much better to know that you have a deterministic system.
by bjoli | 2025-11-01 06:53:30+00:00
I dont think interfaces is the point. As it is now in ruby you have to pick between comfort and speed when you can have both.

Continuation safety has never been a thing in ruby, so caring about it doesn't make much sense regardless of the presence of call/cc.

And lastly, neither my loops nor others I have mentioned only accumulate into lists. My loops a re in the most general sense a left fold, although right folds are possible to write as well. I provide accumulators for just about any data type available, and writing a new one yourself is pretty easy. You can express lazy loops with it as well.

All without sacrificing performance. Any performance in most cases. I haven't written much ruby since the 1.9 days, but back then I remember having to rewrite the nice .each{}.blah.blah into for loops. I could prototype in a nice way which was nice, but in the code I ended up shipping I had to juggle state using for loops because the thing I prototyped ended up being a bit slow.

I use map, filter and friends in scheme all the time, but when those are insufficient or too slow I don't have to resort to named lets. I can just use the loop macro which compiles to a named let.
by levodelellis | 2025-11-01 06:53:32+00:00
People mess up the order all the time. When you mess up locks you get a deadlock, when you mess up an atomic you have items in the queue drop or processed twice, or some other weird behavior (waking up the wrong thread) you didn't expect. You just get hard to understand race conditions which are always a pain to debug

Just say no to atomics (unless they're hidden in a well written library)
by fock | 2025-11-01 06:53:45+00:00
we have on-prem with heavy spikes (our batch workload can utilize the 20TB of memory in the cluster easily) and we just don't care much and add 10% every year to the hardware requested. Compared to employing people or paying other vendors (relational databases with many TB-sized tables...) this is just irrelevant.

Sadly devs are incentivized by that and going towards the cloud might be a fun story. Given the environment I hope they scrap the effort sooner rather than later, buy some Oxide systems for the people who need to iterate faster than the usual process of getting a VM and replace/reuse the 10% of the company occupied with the cloud (mind you: no real workload runs there yet...) to actually improve local processes...
by csin | 2025-11-01 06:56:31+00:00
"It has a million buttons, layers are a thing, there's a million tools, etc. No, they can't just pick it up because it's complex software for a complex problem domain."

See this is the thing that software devs don't "get" about UI design.

It's the exact thing the original author is trying to communicate.

You CAN have a powerful tool. And still have it be user friendly for normies!

You hide away it's complexities. So it's not INDTIMIDATING for new users.

You know what. I'm going to reinstall gimp. Just to prove my point.

Let's compare photoshop with gimp.

Before I begin, let me preface. Modern photoshop is an enshitified piece of garbage. I would never use it.

But this is nothing to do with enshitification. That's a whole different thing.

Ok let's start:

- I grab a random image from imgur. Copy paste. Ctrl-V. Both apps passed the test. I was a little worried gimp couldn't even do this.

- On load this is what photoshop looks like: https://imgur.com/a/3uYsm2h

- On load this is what gimp looks like: https://imgur.com/a/DnPcRTc

First impressions:

- GIMP is ugly as fuck. It looks outdated. There's information overload on the left side. Too much shit happening. Too much text squashed together. INTIMIDATING.

- In contrast, photoshop has a more minimalist look. There is a "Layers" window on the right. New users don't need to touch it.

- There is a "Size & Position" window. This is key. Notice how there's only 3 things inside that window. Notice how it's not squashed with all the other shit on the left. Think about that. Why did the designer do this? Because those 3 things are what 90% of normies are looking to do.

- This is exactly what the original author was talking about, with the TV remote. The most common operations should be sectioned off at the top of the remote. Similarly, the most common operations in photo editing should be sectioned off, in clear view.

Ok, Step 2. Let's try and crop this image. A common operation:

- Photoshop. Click the crop button. Shows you a bit more complexity in it's settings. You don't have to touch it. It gives you a helpful grid UI: https://imgur.com/a/tLjL6en

- And then it has a blue "Done" button at the bottom. Finished easy.

- GIMP. We start with a brush by default??? Whoops I accidentally drew on the picture. I didn't want to do that. Thank god I know ctrl-Z.

- So it's that cross thing right? That's the move button. Nope that's not what I want to do :(

- It must be the one next to it. The rectangle. Ok, some random corner thingies appear in the corners. I click on one of the corners. The image gets split into two. But now what? WTF do I do now: https://imgur.com/a/f7TTHJs

I can go on and on and on and on, criticizing gimp's terrible UI design. I hope, the little I have demonstrated, is a tease into what UI design is really about.
by duskdozer | 2025-11-01 06:58:31+00:00
>No one is calling for the criminalization of door-to-door sales

Ok, I am, right now.

It seems like there are two sides here that are talking past one another: "people will do X and you accept it if you do not actively prevent it, if you can" and "X is bad behavior that should be stopped and shouldn't be the burden of individuals to stop". As someone who leans to the latter, the former just sounds like restating the problem being complained about.
by seanhunter | 2025-11-01 07:00:54+00:00
Why not just type “fc” and edit your multiline command in a real editor? (Like you’ve been able to do since at least the 1980s).

I know I’m going to come across as a bitter old geezer, but with a lot of things like this the “features” seem to be pale imitations of things which already exist and the real root problem is people just don’t invest the time to learn the tools they already have.
by lurking_swe | 2025-11-01 07:02:21+00:00
just for the record, I completely agree that _research_ is way easier on a computer.

But i take issue with this concern:

> Do you really want to use a phone's on-screen keyboard to type in your family's passport details, address, then credit card numbers, then review all of this to ensure your $2000 purchase doesn't have any typos or mistakes?

My iphone (safari) auto-fills almost all of those details. It’s also likely that semi-frequent travelers have an account with the airline in question, so passport and TSA precheck info is pre-saved too.

It’s simply a non-issue in my experience.
by alganet | 2025-11-01 07:03:06+00:00
Please refer to my original comment. Look for the quote I decided to comment on, the context in which this discussion is playing out.

It starts with "For the “do you detect an injected thought” prompt..."

If you Ctrl+F for that quote, you'll find it in the Appendix section. The subsection I'm questioning is explaining the grader prompts used to evaluate the experiment.

All the 4 criteria used by grader models are looking for a yes. It means Opus 4.1 never satisfied criterias 1 through 4.

This could have easily been arranged by trial and error, in combination with the selection of words, to make Opus perform better than competitors.

What I am proposing, is separating those grader prompts into two distinct protocols, instead of one that asks YES or NO and infers results based on "NO" responses.

Please note that these grader prompts use `{word}` as an evaluation step. They are looking for the specific word that was injected (or claimed to be injected but isn't). Refer to the list of words they chosen. A good researcher would also try to remove this bias, introducing a choice of words that is not under his control (the words from crosswords puzzles in all major newspapers in the last X weeks, as an example).

I can't just trust what they say, they need to show the work that proves that "Opus 4.1 never exhibits this behavior". I don't see it. Maybe I'm missing something.
by chrismorgan | 2025-11-01 07:03:12+00:00
Extremely popular in Indian government websites, often implemented with <marquee>, but also often implemented by a different mechanism so that it can stop scrolling on mouseover.

Indian Rail <https://www.indianrail.gov.in/> has one containing the chart from a mid-2024 train accident, an invitation to contribute a recording of the national anthem from 2021, and a link to parcel booking. Oh, and “NEW!” animated GIFs between the three items.
by jraph | 2025-11-01 07:04:19+00:00
Would you take the defense of attackers using SQL injections? Because it feels like people here, including you, are defending the llm scrapers against sysadmins and authors who dare share their work publicly.

Ensuring basic security and robustness of a piece of software is simply not remotely comparable to countering the abuse these llm companies carry on.

But it's not even the point. And preventing SQL injections (through healthy programming practices) doesn't make things worse for any legitimate user neither.
by strcat | 2025-11-01 07:05:09+00:00
No, that's not at all what was said.

Pixel 7 is a fully supported device with Android 16 QPR1 available for it via the stock OS. /e/ is on Android 13 on the Pixel 7 without the kernel, driver and firmware updates released for it from the Android 14 launch and later. /e/ is a fork of LineageOS with drastically worse privacy and security.

LineageOS rolls back the security model and features a fair bit but does it far less than /e. LineageOS doesn't implement major privacy and security enhancements so a comparison of non-standard improvements in those areas is going to show that. LineageOS lags behind on providing the AOSP and vendor security patches, but far less than /e/.

The table covers the patch delays for both AOSP patches and device patches. It's showing how far behind they are on kernel, driver and firmware patches released for a device, not anything to do with end-of-life devices. Being multiple years behind on those patches for the Pixel 7 on /e/ has nothing to do with supporting an old device as long as possible.
by AnthonyMouse | 2025-11-01 07:05:55+00:00
> Furthermore, the need for a trustworthy binary to be auditable to a certain hash or something would make banning this a simple task if Google would want to go that route.

This is actually the advantage of doing it. You make the thing (call it a "personal app loader" or something rather than a "circumvention tool"), they ban it, now you campaign against them or make antitrust arguments presenting the ban as an anti-competitive practice or use the ban to refute claims that they're not inhibiting third party app distribution.

Even if you know they're going to be the villains, you still want to make them actually do it so that everyone can see them doing it.
by lukan | 2025-11-01 07:06:01+00:00
Yes and I answered that question. It is from the BBC, who has some reputation and the photographer is to be found here https://www.wimvandenheever.com/ who also has a reputation and won awards.

So yes, maybe it is all completely fabricated, but unlikely, as this would destroy his reputation. And as of my knowledge, it is allmost impossible to create high resolution pictures like these, that cannot easily be exposed for fraud (but the tech might have improved, since I last looked into it)

But if you want it way more general, you can also ask Sokrates about, what do we know for sure at all.

https://en.wikipedia.org/wiki/I_know_that_I_know_nothing
by sagarm | 2025-11-01 07:06:19+00:00
Republicans don't want to remove the filibuster because they want to keep it as a tool when they're in the minority and use it to blame Dems for not doing things while in the majority.

Fundamentally, Republicans just want tax breaks and judicial appointments, and the filibuster already doesn't block those. So it hasn't really been a problem for them. Since Dems in theory want the government to work, they can keep things working well enough to let the Dems deal with their time bombs like expiring ACA subsidies and middle class tax breaks.
Show HN: Markdown-exit – a TypeScript rewrite of Markdown-it with enhancements
by serkodev | 2025-11-01 07:08:43+00:00
I built markdown-exit, a TypeScript rewrite of markdown-it.

It’s intended as a drop-in replacement, but with a more modern architecture and enhancements: - Async rendering support - Native TypeScript types - Compatible with existing markdown-it plugins - Simplified codebase and better developer experience and more...

The goal is to modernize markdown-it for modern TypeScript projects while maintaining API compatibility, add new features, fix long-standing issues, and continue maintenance.

It’s currently in beta — feedback, issues, and ideas are very welcome. Repo: https://github.com/serkodev/markdown-exit
by AnthonyMouse | 2025-11-01 07:11:34+00:00
That looks like someone made a list of mostly features specific to GrapheneOS so they could make a chart where all of the other alternatives (including stock Android) are full of red boxes.

Several of those are the opposite of security features, like SafetyNet support, which might be a convenience in some cases but it mostly makes it so you can't upgrade certain parts of the system to newer versions even when the old versions have security vulnerabilities.
by cookiengineer | 2025-11-01 07:11:41+00:00
Use an iPhone or Macbook Pro, pay more.

Use an Android or Linux laptop, pay less.

Not kidding, pricing is based on these bullshit assumptions more than you might think. For the German market, for example, it's also cheaper to buy tickets on Thursday evening around 22:00-23:30. Paid around 400$ less for a 2k trip, multiple times, reproducibly, not depending on seasons or years.
by twelvedogs | 2025-11-01 07:14:07+00:00
i've often been surprised while working with kids that i'll be trying to manipulate them into a way of thinking about a problem or task and they ask me why i'm talking in that way or asking those (usually just prompting) questions

i'll usually just tell them why i'm trying to manipulate them into thinking about the problem in the way i want (in kid friendly language) and they're perfectly fine with it. people don't really seem to mind being manipulated like that, they really just hate not understanding what's going on or being lied to.
by lukan | 2025-11-01 07:14:55+00:00
It definitely sounds spooky.

"The Funge family is Turing-Complete, yet was designed to be ‘a nightmare to compile’."

"Fungus is a microcoded, 18-bit, two-dimensional extreme RISC machine extremely suited to the interpretation of Funge at the hardware level. The author visualises the implementation of Funge compilers to generate Fungus-native code. The reader to whom the concept of Cthulhu in a bikini sounds acceptable may additionally visualise optimisingFunge compilers for Fungus."
by sixtyj | 2025-11-01 07:15:21+00:00
Yes, Canva is amazing. Except the AI that sort of sucks but it is a must in this AI bubble.

In Adobe they have to decide quickly how to deal with it. Canva is a real business competitor for them. Theoretically, some kind of joint venture could be set up.

Money, I mean a lot of money, often breaks a lot of people we think are cool. See Skype, LinkedIn, Zappos, Minecraft or even Affinity. Almost everyone has a limit. The only exception is perhaps curl or vlc player that I can remember off the top of my head.
by XenophileJKO | 2025-11-01 07:15:54+00:00
That "just sort of detecting" IS the introspection, and that is amazing, at least to me. I'm a big fan of the state of the art of the models, but I didn't anticipate this generalized ability to introspect. I just figured the introspection talk was simulated, but not actual introspection, but it appears it is much more complicated. I'm impressed.
by gsf_emergency_4 | 2025-11-01 07:17:07+00:00
Whadya think be a good word for activities that shall find common ground?

Off-the-cuff, I have.. "tug-of-peace", "centering",..

That said, the following left me wondering whether Jacobsian-type dichotomies* have anything to do with incompatible ways of building trust. Irrational Vs rationally motivated. E.g guardian/hypernormal syndrome seems to favor having comers find their place in the status hierarchy (etym: "rule of the holy") thru irrational actions (crystallizing communal superstitions, self-destructive peacocking, schlep, etc):

https://link.springer.com/article/10.1186/s12915-022-01496-9

* https://contraptions.venkateshrao.com/p/the-new-systems-of-s...

Tangentially: a therapist might be well regarded as a neutral "third party" officiating "self-debates"
by apimade | 2025-11-01 07:17:52+00:00
Why not just expose an HTML representation of the data? Why must it remain JSON, XML, CSV, Parquet, fixed length or tab delimited files, ProtoBuf, etc?

API’s should provide content in the format asked of them. CSS should be used to style that content.

This is largely solved in RFC-6838 which is about “how media types, representation and the interoperability problem is solved”. https://datatracker.ietf.org/doc/rfc6838/

Already supported by .NET Web APIs, Django, Spring, Node, Laravel, RoR, etc.

Less mature ecosystems like Golang have solutions, they’re just very much patch-work/RYO.

Or even use OpenResty or njs in Nginx, which puts the transformation in the web service layer and not the web application layer. So your data might be JSON blob, it’ll convert to HTML in real-time. Something similar can be achieved elsewhere like Apache using mod_lua etc.

I think bastardising one format (HTML), to support another format (JSON), is probably not the right move. We’ve already done that with stuff like media queries which have been abused for fingerprinting, or “has” CSS selectors for shitty layout hacks by devs who refuse to fix the underlying structure.
by chrismeller | 2025-11-01 07:18:58+00:00
I admit that I still subconsciously treat com/net/org as somehow more legitimate, though there's no logical reason. I do like that there are more options now, but some of the gTLDs are quite ridiculous.

And I really don't like that companies like Google/MS can buy their own TLD now. I don't think allowing a trademarked term to be used should have been allowed.
by Animats | 2025-11-01 07:19:55+00:00
They also have a pick and place machine.[1] It's a lot like the defunct Liteplacer.[2]

It seems to be a kit, not a pre-assembled unit. It's hard to tell from the documentation. It looks a bit flimsy for the rigidity required. Same problem as the Liteplacer. To download the "white paper", you have to go through the onboarding funnel and agree to being spammed, which is always annoying.

The frustrating thing about prototyping pick and place and solder paste machines is that production people want speed, which costs. The prototype-only market isn't big enough. (Has the low-cost reflow oven situation improved? The low-end ones had hot spots that would scorch a board.)

Compare this Neoden line of products.[3] No idea if these are any good. US$3000 for pick and place. That looks like a much more useful product than the Opulo machine. It can work with a wider range of part sizes; not everything has to be on an 8mm tape.

(The problem with plated-through holes, of which "vias" are a subset, is that they require a number of chemical baths which aren't worth setting up for a one-off.)

[1] https://www.opulo.io/products/lumenpnp

[2] https://www.liteplacer.com/

[3] https://www.alibaba.com/product-detail/SMT-PCB-Production-Li...
by ofalkaed | 2025-11-01 07:21:24+00:00
Back around 2015 when this first came out I started drawing up plans for a befunge computer, it seemed like a good use for the massive amount of CMOS and TTL that had fallen into my lap around the same time. It was a fun idea but would have been a fairly useless computer and I could not justify the time or expense of taking it past paper. I implemented most of the Funge-98 spec, had to skip fingerprints and put a limit on the size of Funge space as well as on the maximum number of IPs, think I got everything else. Somewhere in a box in the garage I probably still have the notebook with all those schematics.
by bawolff | 2025-11-01 07:22:05+00:00
> As for things like Flash or FTP, those were never part of the web platform. Nor were they ever anything like universal anyway.

I feel like there is a bit of a no true scotsman to this.

XSLT was always kind of on the side. If FTP or flash weren't part of the web platform than i dont know that xslt is either. Flash might not be "standard" but it certainly had more users in its heyday than xslt ever did.

Does removal of tls 1.1 count here? Its all kind of a matter of definitions.

Personally i always thought the <keygen> tag was really cool.