MurphyA/hacker-news huggingface dataset:
by LegionMammal978 | 2025-10-23 12:05:39+00:00
If you want automatic implicit tail calls for literally everything, then you need a solution for

{ FooObject foo = FooObject(123); return foo.bar(); }

ending up in a UAF when FooObject::bar() tries accessing the receiver "this". Or any other case of the tail function accessing a pointer to something the caller has put on the stack. Short of some kind of crazy dependency tracking (or shoving stuff onto the heap and using a GC), at the end of the day the programmer will have to explicitly work around the stack frame no longer existing in most return statements. To which the only workaround would be doing some circumlocutions specifically to avoid the tail-call recognition.
by roygbiv2 | 2025-10-23 12:06:06+00:00
I'm currently testing for alternatives of minio on my homelab. Ceph was nice, lots of bells and whistles, built in support for virtual IPs is excellent, but on my aging hardware it was using 10-15% CPU in my VM while idle. Currently benchmarking garagefs, scales very well with core count and multi node set up is a breeze.
by vjerancrnjak | 2025-10-23 12:06:14+00:00
It must be the tokenizer. Figuring out words from an image is harder (edges, shapes, letters, words, ...), yet internal representations are more efficient.

I always found it strange that tokens can't just be symbols but instead there's an alphabet of 500k tokens, completely removing low level information from language (rhythm, syllables, etc.), side-effect being a simple edge case of 2 rs in strawberry, or no way to generate predefined rhyming patterns (without constrained sampling). There's an understandable reason for these big token dictionaries, but feels like a hack.
by whitehexagon | 2025-10-23 12:06:58+00:00
I still have fond memories of traveling down to London to visit a computer trade show, and leaving the Psygnosis stand with a giant cardboard Lemming, window deco Lemmings, and a much prized Lemmings Demo disk, which is still sat in a box here with the full game.

I think that was the same show I came away with DevPac, probably my best tech investment ever, and maybe a 10?MB hard disk. I often wonder what happened to the assembly code for my two player pacman game, level editor included.

68k & Amiga chipset was a dream to code for. Although I'm having some good fun at the moment with some armv8 assembly & Zig on the PinePhone.
by CaptainOfCoit | 2025-10-23 12:07:18+00:00
> otherwise they would have all kinds of crap on them

The eggs I buy in my supermarket don't have literally crap on them, but it isn't uncommon that they have bit of dirt or hay/grass on them, and those are bought from a mainstream supermarket chain. I do realize they obviously do a quick cleaning pass regardless, just wanted to clarify that many eggs aren't pristine when bought :)
by smallnix | 2025-10-23 12:07:37+00:00
> using "man" in the "mankind" context isn't really a misuse or inherently sexist

I understand the ethymologic perspective, but the above statement is part of on-going discussion.

E.g. > To refer to all human beings, use terms like “individuals,” “people,” or “persons” rather than “man” or “mankind” to be accurate and inclusive.

https://apastyle.apa.org/style-grammar-guidelines/bias-free-...

I personally like 'man' as it had a poetic ring to me. I also think it makes sense to pay attention to the differing perception of language, as I want to be able to communicate effectively with all kinds of people.
by steve_gh | 2025-10-23 12:08:16+00:00
Very interesting. I looked at stability in learning agents in artificial markets back in the late 90s for my PhD and concluded that at least the systems I worked with weren't stable - they were prone to bubbles and crashes.

Very interesting to see that there is a class of stable systems that force high prices.

Would be interesting to understand if the no swap regret systems studied also give stable results when it is an N player game rather than a 2 player game
by JonChesterfield | 2025-10-23 12:08:40+00:00
I think I like teams with specialisms. I can think of a few instances where things went better because people were doing things they loved, where other people would have really struggled with the same task.

I'm on ten years of trying and failing to make any sense of cmake. As a nominally C++ developer, I owe being able to contribute to the projects substantially to other people managing to make cmake do things, and periodically baby-stepping me through trivial changes to it. I'm eternally grateful to the many people who have helped me with that, though I'd also like cmake to die and go away forever.

I remember James being the right guy for release checklists. Every release he'd read the checklist (not try to remember it) so saw when it had changed. Did all the things on it, even when some sounded redundant, or couldn't possibly be worth checking. Took hours, showed every sign of enjoying the process.

I also remember Richard for wizardry with procedural arithmetic. For loops nested six deep with exciting integer arithmetic scattered across the levels implementing some AI thing, written with no indication that he was losing track of the details. Would cheerfully review code of unreasonable complexity and pick out errors in it from the browser diff.

I'm in compiler dev. Lots of applied graph theory really. Hypothetical SKI/forth chap would have better spacial reasoning than me and sometimes that's the limiting factor in the work. Thank you - it is fortunate that our current environment is supportive of language implementation work, long may that remain the case.
by cyphar | 2025-10-23 12:09:13+00:00
This has changed a lot in the past decade -- any modern Fedora box has SELinux enabled by default now and so I would wager the majority of Fedora/CentOS/AlmaLinux/RHEL boxes have SELinux enabled and in enforcing mode. openSUSE/SLES is also switching to SELinux in 16.0.

Disclaimer: I work for SUSE.
by dkersten | 2025-10-23 12:09:43+00:00
I started using Clojure in 2009 and used it heavily for a long time. I even ran my local Clojure meetup for many years. Lately, I've moved away from Clojure however and today I mostly write Typescript, some hobby C++, some Rust. Gleam when I can (which is rare). Anyway, that's just context to say that I've written and enjoyed a lot of Clojure which made me think about macros a lot over the years.

I've come to the conclusion that macros are NEVER the right choice for normal application developers and only RARELY the right choice for library authors.

I would pick function over macros every single time.

Even in libraries, I feel that most uses of macros are unjustified. Even in cases where macros enable something that wouldn't otherwise be possible, I question whether its really the best way. For example, its pretty cool that core.async could be implemented as macros, but I feel that core.async has rather poor developer ergonomics because of it and building it into the language itself would have lead to a much better system with a much better developer experience. I have a number of reasons, but I'll just mention the biggest here: macros cannot see into functions, so core.async requires its async functions to be called directly within a go block (eg you cannot wrap core.async/<! inside a helper function because the macro won't be able to find it to transform it).

Sometimes using macros means that things can be optimised at compile time (eg expanding core.match or specter selectors), but I feel these cases are pretty rare.

I do like many of the macros in clojure.core (threading macro etc) but I see these as a language implementation detail -- they could have been built into the language grammar or compiler and the end user experience would be the exact same.

I do wish Gleam supported some limited form of macros to generate code based on annotating types (kind of like Rust's derive), but I very much agree with Gleam's logic for not including macros, and my experience with Clojure has basically solidified my feelings that macros are very rarely a good idea.
by page_index | 2025-10-23 12:10:04+00:00
Large language models (LLMs) have revolutionized natural language processing (NLP), particularly through Retrieval-Augmented Generation (RAG), which enhances LLM capabilities by integrating external knowledge. However, traditional RAG systems face critical limitations, including disrupted contextual integrity due to text chunking, and over-reliance on semantic similarity for retrieval. To address these issues, we propose CausalRAG, a novel framework that incorporates causal graphs into the retrieval process. By constructing and tracing causal relationships, CausalRAG preserves contextual continuity and improves retrieval precision, leading to more accurate and interpretable responses. We evaluate CausalRAG against regular RAG and graph-based RAG approaches, demonstrating its superiority across several metrics. Our findings suggest that grounding retrieval in causal reasoning provides a promising approach to knowledge-intensive tasks.
by elzbardico | 2025-10-23 12:10:20+00:00
They can. They can have laws and try to enforce them. International Law and Companies should not be in the business of doing jackbooted thugs work for them.

The same apply for other stuff like chat cryptography. No, we shouldn't fuck everyone's right to privacy because your fat policemen are unable to conduct an investigation on meatspace and prefer to just have a digital panopticon.

obs: I upvoted you because while I consider your position absolutely abhorrent, I believe you're entitled to it and we should not downvote comments just because we don't agree with them.
by Gormo | 2025-10-23 12:10:22+00:00
It's true that putting locks on your front door will reduce the chance of your house getting robbed, but if you do get robbed, the fact that your front door wasn't locked does not in any way absolve the thief for his conduct.

Similarly, if an organization deploys a public system that engages in libel and tortious interference, the fact that jumping through technical hoops might make it less likely to be affected by that system does not in any way absolve the organization for operating it carelessly in the first place.

Just because there are steps you can take to lessen the impact of bad behavior does not mean that the behavior itself isn't bad. You shouldn't have restrict how you use your own domains to avoid someone else publishing false information about your site. Google should be responsible for mitigating false positives, not the website owners affected by them.
by gruez | 2025-10-23 12:10:44+00:00
>And eggs aren't some fancy item. They're eggs.

>"It's one banana, Michael. What could it cost?"

It's funny you bring up that up, because bananas are tropical fruits shipped from thousands of miles away, but somehow cost less than domestic fruits like apples. You might not think bananas are "fancy" either, but it's a miracle it's as cheap as they are.
by AznHisoka | 2025-10-23 12:10:59+00:00
What is the difference between between using an AI generated inage and using a random stock photo? The purpose of both is just to give articles a less text heavy appearance - not to make ppl admire it

Also the energy argument - if you are truly sincere about it, then you would argue people should not use AI for 99% of the trivial queries we ask it.
Show HN: Deta Surf – An open source and local-first AI notebook
by mxek | 2025-10-23 12:11:27+00:00
Hi HN!

We got frustrated with the fragmented experience of exploring & creating across our file manager, the web and document apps. Lots of manual searching, opening windows & tabs, scrolling, and ultimately copying & pasting into a document editor.

Surf is a desktop app meant for simultaneous research and thinking to minimize the grunt work. It’s made of two parts:

1) A multi-media library where you can save and organize files and webpages into collections called Notebooks.

2) A LLM-powered smart document which you can auto-generate using the context from any stored page, tab or entire notebook. This document contains deep links back to the source material — like a page of a PDF or timestamp in a YouTube video. Unlike Deep Research products (or NotebookLMs chat) the entire thing is editable. The user also stays in the loop.

With a technology like AI, context / data is proving to be king. We think it should stay under the user’s control, with minimal lock in: where you can own & export, and plug & play with different models. That’s why Surf is:

- Open Source on GitHub - Open (& Local Data): the data saved in Surf is stored on your local machine in open and accessible formats and mostly works offline. - Open Model Choice: you can choose which models you use with Surf, and can add custom & Local LLMs

Early users include students & researchers who are learning and doing thematic research using Surf.

Github repo: https://github.com/deta/surf/

Website: https://deta.surf/
by tim333 | 2025-10-23 12:12:10+00:00
My $200 rusty ebike has been parked outside for 18 months in central London without problems. I take the battery in. The homeless junkie would have to get an angle grinder to cut two D locks, figure out how to buy the battery which costs $300 and is only available from decathlon, somehow try to make a profit out of the whole operation which I don't think I could myself and so on.

It's actually cost me about another $500 in maintenance getting the various bits that pack up replaced but it's a good theft deterrent.
by whatsupdog | 2025-10-23 12:12:24+00:00
These scams are getting really really out of hand. I mean the ones out of India were pretty bad, but at least there was no slavery/human trafficking/torture involved. Also, most of the Myanmar ones are "pig butchering", so they even play with the victims emotions for a long long time, and it's much much more difficult to get your life back on track after being scammed by someone you thought was the love of your life.
by smallnix | 2025-10-23 12:14:17+00:00
> This is the first time I see anyone indicating there is a connotation for objectification there.

Happens to all of us, we are all inside our small information bubbles. The curious engage in broader conversation, such as us on HN.

Let me drop some links to illustrate that this is not just my personal (mis-) understanding:

- "Female, woman: Revised guidance noting that some people object to the use of female as a descriptor for women because it can be seen as emphasizing biology and reproductive capacity over gender identity. It can also sometimes carry misogynistic tones that may vary in severity by race, class and other factors." AP Stylebook recommends female as adjective, women as noun (https://help.apstylebook.com/support/solutions/articles/6600...)

- "Otherwise, avoid using “male” and “female” as nouns and instead use the specific nouns for people of different ages (e.g., women)." (https://apastyle.apa.org/style-grammar-guidelines/bias-free-...)

- "Overall, participants rated the words females/males as more biological and technical, and women/men as higher on all other dimensions (e.g., appropriate, polite, warm)" (https://pubmed.ncbi.nlm.nih.gov/36348255/)

- https://www.merriam-webster.com/grammar/lady-woman-female-us...

- https://english.stackexchange.com/questions/462498/the-use-o...

I don't ascribe to everything written here, but I think it makes clear that wider discourse on the topic exists. Especially when using female(s) as a noun.
by nygrensamuel | 2025-10-23 12:14:26+00:00
We’re two founders from Sweden — 10+ years as Product Manager and 20 years as senior developer.

After using several feedback tools over the years, we kept running into the same issues: • Gated features before getting any real value • Changelogs that took too much time to keep up to date

So we built Featurevote — a tool to collect feedback, close the loop with users, and publish changelogs in minutes instead of hours.

Try our demo board: https://spotify.dev.featurevote.app/ See 40 sec video: https://featurevote.app/demo

Free to get started — you only pay once you actually get value.

We’re here to answer questions, get feedback, or discuss the product decisions behind it.
by tom_ | 2025-10-23 12:14:27+00:00
If you write these sorts of things in Python, argparse is worth investigating: https://docs.python.org/3/library/argparse.html - it's pretty easy to use, makes it easy to separate the command line handling from the rest of the code, and, importantly, will generate a --help page for you. And if you want something it can't do, you can still always write the code yourself!
by love2read | 2025-10-23 12:15:15+00:00
> It’s as artificial and soulless as corporate style.

Even if this is true (it's not, corporate style has much less soul because it has to comply with the clean corporate image), so what? Who cares that it's soulless? Corporate image is used all the time, why can't AI be too?

> You want a drawing of something? Learn how to draw. Sure, it will consume some time, money, and goodwill, but I promise you, it will be a billion times more valuable than something fabricated.

I don't really think you understand: a) how lazy people are b) how worthless the time to do a task is if there is a machine that can do good-enough work for a fraction of the time and cost

> Don’t get me started on searching for an image of something via a search engine. It’s filled to the brim with AI images if you don’t turn the filter on, and even if you do, it’s imperfect and still shows some.

Seems like a different issue?

> GPT-4 consumed tens of millions of water.

You're gonna make me explicitly write that water can't be consumed? You should have put this article through chatgippity.

> the amount of water used will soar persistently

You did get one thing right here, the water is used, not consumed...

> In the fourth generation, to generate a 100-word email, it consumed about 500ml of water (17 oz). So writing a 400-word email or re-doing a 100-word one will consume as much water as an average human needs per day ≈ 2000ml (½ gallon)

Even if this is true, the common link is that both "usages" of water will eventually be returned. There is no permanent consumption here of water.

> Even if there was some crazy optimisation reducing the use down to 50% it’s still approximated to be 300 people's daily water amount needed for some dumb AI video.

One man's trash is another man's treasure.

This article is very much man yelling at clouds. It really is true that even an atheist has a religion, and this person's religion seems to be a hatred against AI. Which is fine, but recognize that you don't have any actual reasons, what you have is just an unhappiness with the general climate of the world.
by JonChesterfield | 2025-10-23 12:15:58+00:00
Good example. It's a little clearer if desugared:

{ FooObject foo = FooObject(123); return FooObject::bar(&foo); }

The foo object needs to be somewhere that the address of it means something, because C++ passes 'this' by pointer.

The answer to this is to look at the current stack frame, shuffle everything that needs to stay alive to one end of it, move the stack pointer to deallocate the rest and then jump to bar, where bar is now responsible for deallocating N bytes of stack before it continues onwards.

It's a pain, sure, but in the scheme of compiler backends it's fine. They do very similar things on optimisation grounds, e.g. "shrink wrapping" means holding off on allocating stack in case an early return fires and you don't need it after all.

Though, when memory use is a function of escape analysis, which is a function of how much time you gave the compiler to work with, I do start to empathise with the make-the-programmer-do-it as the solution.
by szszrk | 2025-10-23 12:16:06+00:00
Why would you compare Web to that? A first fax message would be more appropriate comparison.

Web is not a new thing and hardly a technical experiment of a few people any more.

If you add the time since announcing the concept of Web to that trip date, you have a very decent established industry already. With many sport and mass production designs:

https://en.wikipedia.org/wiki/Category:Cars_introduced_in_19...
by vintermann | 2025-10-23 12:16:45+00:00
Yes, but it's often implied to be. If you want it to be comparable it usually defaults to be, we have few other agreed on ways to weigh one output of value against another. If someone says "we can't afford that" it's monetary value and thus mostly rich people's preferences they're actually talking about, but it's not as if it's easy to ignore either.
by Libidinalecon | 2025-10-23 12:16:59+00:00
I also think it just takes your ears much longer to develop than your fingers on guitar if you start from zero.

Even zero though is highly variable. I have noticed how some children have amazing intonation when randomly singing and some are quite bad.

I think trying to copy Steve Vai would be as valuable as trying to copy the way Lebron James plays basketball. Of course, a ton of practice is involved but these are the supreme outliers in terms of being gifted at their task.

For many new guitar players, I would suspect transcribing lines is like trying to dunk the ball when you are only 5'5". I can transcribe anything on guitar 40 years later but I remember the immensely frustrating experience of not being able to transcribe anything. Reading how all the "greats" would do this. My ears just took a very long time to develop. Like 15-20 years long.

Any ear training was just a demoralizing experience for me because I really started from absolute zero with no ability to hear or sing anything note wise. I can remember all the hours I practiced various modes and scales. They were just finger patterns. It took so long to actually be able to hear them.
by donavanm | 2025-10-23 12:17:16+00:00
This is public messaging to explain the problem at large. This isnt really a post incident analysis.

Before the active incident is “resolved” theres an evaluation of probable/plausible reoccurrence. Usually we/they would have potential mitigations and recovery runbooks prepared as well to quickly react to any reoccurance. Any likely open risks are actively worked to mitigate before the immediate issue is considered resolved. That includes around-the-clock dev team work if its the best known path to mitigation.

Next any plausible paths to “risk of reoccurance” would be top dev team priority (business hours) until those action items are completed and in deployment. That might include other teams with similar DIY DNS management, other teams who had less impactful queue depth problems, or other similar “near miss” findings. Service team tech & business owners (PE, Sr PE, GM, VP) would be tracking progress daily until resolved.

Then in the next few weeks at org & AWS level “ops meetings” there are going to be the in depth discussions of the incident, response, underlying problems, etc. the goal there being organizational learning and broader dissemination of lessons learned, action items, best practice etc.
by js8 | 2025-10-23 12:17:50+00:00
Yes, I just coined the neologism. It was supposed to be partly sarcastic (why stay at pixels, why not just go fully multimodal and treat the missing channels as missing information?), I am kind of surprised why it got so upvoted.

(IME, often my comments which I think are deep get ignored but silly things, where I was thinking "this is too much trolling or obvious", get upvoted; but don't take it the wrong way, I am flattered you like it.)
by Flamingoat | 2025-10-23 12:17:56+00:00
Similar thing with the disk layout happened to me in a VM. I just did auto layout and one of the partitions were so small I couldn't install any other software. I ended up remaking the VM and just using two partitions for the entire disk IIRC.

They have gotten used to stuff like this and think is normal.

Debian has similar issues with making partitions too small. It makes the /boot partition so small that if you have more than a couple kernel images, you run out space. If you use the LUKS crypt with LVM, the suggest layout would have vg-root too small.