MurphyA/hacker-news huggingface dataset:
by AStonesThrow | 2025-05-30 19:41:26+00:00
The "silly familia's basilica" is in good company: there are 1,881 minor basilicas. That is relative to the 4 major ones, which are all in Rome.

https://en.wikipedia.org/wiki/Basilicas_in_the_Catholic_Chur...

St. Paul Outside-the-Walls was completed in 1840! Almost yesterday! However, re-consecration and construction continued after that. Interestingly, it seems that an automatic fire-detection and suppression system had been installed in the 19th century.
by sagarm | 2025-05-30 19:42:26+00:00
Meh, I've worked on services with in languages with a DI framework (Java+Guice or Spring Boot) and not (C++, Go) and the latter is much nicer. And yeah some had Xm requests.

You just dispense with all the frippery that hides the fact that you are depending on global variables if you really want the Guice/Spring Boot experience.

The C++ code was much, much easier to trace by hand. It was easier to test. It started much much faster, speeding iteration. Meanwhile the Java service was a PITA to trace, took 30+ seconds to boot, and couldn't be AOT compiled to address that because of all the reflection.
by sshine | 2025-05-30 19:42:28+00:00
While you can say that LLMs have each of A, G and I, you may argue that AGI is A·G·I and what we see is A+G+I. It is each of those things in isolation, but there is more to intelligence. We try to address the missing part as agency and self-improvement. While we can put the bar arbitrarily high for homocentric reasons, we can also try to break down what layers of intelligence there are between Singularity Overlord (peak AGI) and Superintelligent Labrador On Acid (what we have now). Kind of like what complexity theorists do between P and NP.
by nialse | 2025-05-30 19:42:52+00:00
Have a listen to Azeem Azhar’s latest episode of the Exponential view podcast with Thomas Dohmke, CEO of GitHub. It is tangential to this thinking. Maybe the future is instant personal apps on your phone, constantly adapted and changing according to your intent (and whim). Who needs an App Store when you can just conjure up any app or agent you need by saying the word. Apps are just holding us back. This is the next trillion dollar business. Abracadabra.
Show HN: Minimal Stdio Python MCP Server
by rcarmo | 2025-05-30 19:43:14+00:00
This is more of a "Tell HN", really, since it is a quick hack based on the recent Bash MCP server by muthuishere (https://news.ycombinator.com/item?id=44132823).

Thanks for the inspiration, as I now have something I can commit with my VS Code projects inside the .vscode folder for simple tasks!
by z3c0 | 2025-05-30 19:43:53+00:00
To expand on the other comment, if you look under the data folder in nanoGPT, you can see examples of how to train the model using various data sources and encoders. "shakespeare_char" is probably the most rudimentary, only converting the characters of the input into integers.

e.g. https://github.com/karpathy/nanoGPT/blob/master/data/shakesp...
by robomartin | 2025-05-30 19:45:36+00:00
You make a fair point. However, I think the argument fails when we consider the destruction they have caused in the US and Europe by stealing IP. The typical mode of operation is that they go after any product or market that breaks a $5MM ARR (Annual Run Rate) with predatory intent. In other words, as any judge in the west is likely to say, ignorance of the law does not constitute justification.

There's another element of this which might refute the ignorance claim. It is estimated that approximately 750,000 people from China study abroad (US and Europe). In other words, in round numbers, perhaps ten million people over ten years. Another ten million or more actually work abroad. The point is that the claim of ignorance of IP laws in the US and Europe is likely false. The opaque and closed nature of their system makes it so that they can benefit and learn from stolen IP without suffering any consequences. This advances their industrial based and grows the economy while causing damage everywhere else. Not a good situation at all.
by pegasus | 2025-05-30 19:46:14+00:00
Sure, I've been pointing out that literal sense myself, but to be fair, that's not what people mean by AGI. They mean real understanding, which is clearly missing. You just have to dig a bit deeper to realize that. One example is contradictory sentences in the same breath. Just last week I was asking Gemini 2.5 how I can see my wifi password on my iphone and it said that it's not possible and to do it I have to [...proceeding to correctly explain how to get it]. It's pretty telling, and no amount of phd-level problem solving can push this kind of stuff under the rug.
by mcpar-land | 2025-05-30 19:47:33+00:00
> Normally, it is undesirable for users’ passwords to be cracked. However, in the case of law enforcement, we often need to obtain suspects’ passwords in order to access encrypted evidence. The obvious solution is to build powerful (and expensive) dictionary cryptanalysis computers. A less obvious approach is to use the distributed power of web users’ computers, as has been done in the Seti@Home (https://setiathome.berkeley.edu/ — suspended project) or Folding@Home projects (https://foldingathome.org/). The proposed approach can therefore support law enforcement activities while providing the desired functionality to the web community

"You're not allowed to visit this website unless you submit your computer to being part of the fed's password cracking botnet" that's a whole fresh hell. A better use case is right there in their own description! I'd love my captchas to be little Folding@Home problems.
by kttjoppl | 2025-05-30 19:47:36+00:00
I have to imagine you know that isn't what anyone else means by "founding a startup" and that the original 13 colonies weren't the United States (that's why they had to "join or die," they viewed themselves as separate and independent states, even in competition with one another). You've invented a new definition to suit your rhetorical purpose. I think you can make your argument without this frankly dishonest tactic. I've seen people make the same point here on HN many times.
by lougarou | 2025-05-30 19:48:03+00:00
A cool thing about this MCP Server is that for KurrentDB, we have something called a projection engine inside the database (you can think of it as an ongoing left fold on data kept in a stream) which executes Javascript code.

Because of that we can do something interesting with MCP. When you ask the MCP Server to create a projection for you. Let's say you want a running average of the stock count for something in your inventory.

The MCP Server tells the client to do the following: Write the code -> create the projection (run it) -> write events (test data) -> read the output and based on the output modify the code and repeat. This works as a feedback loop and the models like Claude Opus get the code right quite quickly (a few tries usually worst case).

The whole concept of having a feedback loop helps to read an end goal with more accuracy in a syntax and logic sense.
by drillsteps5 | 2025-05-30 19:49:22+00:00
I concur LocalLLama subreddit recommendation. Not in terms of choosing "the best model" but to answer questions, find guides, latest news and gossip, names of the tools, various models and how they stack against each other, etc.

There's no one "best" model, you just try a few and play with parameters and see which one fits your needs the best.

Since you're on HN, I'd recommend skipping Ollama and LMStudio. They might restrict access to the latest models and you typically only choose from the ones they tested with. And besides what kind of fun is this when you don't get to peek under the hood?

llamacpp can do a lot itself, and you can do most recently released models (when changes are needed they adjust literally within a few days). You can get models from huggingface obviously. I prefer GGUF format, saves me some memory (you can use lower quantization, I find most 6-bit somewhat satisfactory).

I find that the the size of the model's GGUF file with roughly tell me if it'll fit in my VRAM. For example 24Gb GGUF model will NOT fit in 16Gb, whereas 12Gb likely will. However, the more context you add the more RAM will be needed.

Keep in mind that models are trained with certain context window. If it has 8Kb context (like most older models do) and you load it with 32Kb context it won't be much help.

You can run llamacpp on Linux, Windows, or MacOS, you can get the binaries or compile on your local. It can split the model between VRAM and RAM (if the model doesn't fit in your 16Gb). It even has simple React front-end (llamacpp-server). The same module provides REST service which has similar (but simpler) protocol to OpenAI and all the other "big" guys.

Since it implements OpenAI REST API, it also works with a lot of front-end tools if you want more functionality (ie oobabooga aka textgeneration webui).

Koboldcpp is another backend you can try if you find llamacpp to be too raw (I believe it's the still llamacpp under the hood).
by scelerat | 2025-05-30 19:50:17+00:00
It seems to me that an underlying assumption of every so-called "social" app is that its users wish to avoid contact with people in real life. That the users wish for some sanitized, safe and dimensionally meager simulacrum of human interaction.

Obviously, that's not an absolute; clearly people yearn for human contact. But as you point out, there was a time when people participated in social activities and public life with a much higher degree of physical presence than they do now, and the popularity of apps which sidestep this indicate to me that people also desire not to engage with others so proximately.

If you want to have relationships with people, go to where people actually are, buckle your belt, set aside your dread of rejection or indifference, and introduce yourself.
by ijk | 2025-05-30 19:50:28+00:00
General local inference strengths:

- Experiments with inference-level control; can't do the Outlines / Instructor stuff with most API services, can't do the advanced sampling strategies, etc. (They're catching up but they're 12 months behind what you can do locally.)

- Small, fast, finetuned models; _if you know what your domain is sufficiently to train a model you can outperform everything else_. General models usually win, if only due to ease of prompt engineering, but not always.

- Control over which model is being run. Some drift is inevitable as your real-world data changes, but when your model is also changing underneath you it can be harder to build something sustainable.

- More control over costs; this is the classic on-prem versus cloud decision. Most cases you just want to pay for the cloud...but we're not in ZIRP anymore and having a predictable power bill can trump sudden unpredictable API bills.

In general, the move to cloud services was originally a cynical OpenAI move to keep GPT-3 locked away. They've built up a bunch of reasons to prefer the in-cloud models (heavily subsidized fast inference, the biggest and most cutting edge models, etc.) so if you need the latest and greatest right now and are willing to pay, it's probably the right business move for most businesses.

This is likely to change as we get models that can reasonably run on edge devices; right now it's hard to build an app or a video game that incidentally uses LLM tech because user revenue is unlikely to exceed inference costs without a lot of careful planning or a subscription. Not impossible, but definitely adds business challenges. Small models running on end-user devices opens up an entirely new level of applications in terms of cost-effectiveness.

If you need the right answer, sometimes only the biggest cloud API model is acceptable. If you've got some wiggle room on accuracy and can live with sometimes getting a substandard response, then you've got a lot more options. The trick is that the things that an LLM is best at are always going to be things where less than five nines of reliability are acceptable, so even though the biggest models have more reliability, an average there are many tasks where you might be just fine with a small fast model that you have more control over.
by pegasus | 2025-05-30 19:51:49+00:00
That's because you used a LLM trained to produce text, but you asked it to produce actions, not just text. An agentic model would be able to do it, precisely by running that Python code. Someone could argue that a 3 year old does exactly that (produces a plan, then executes it). But these models have deeper issues of lack of comprehension and logical consistency, which prevents us (thankfully) from being able to completely remove the necessity of a man-in-the-middle who keeps an eye on things.
by t0bia_s | 2025-05-30 19:51:57+00:00
It depends how you define art.

I might not allways produce an art, but task that I'm payed for required work with aesthetic. For example when I design cover for book, AI helps with sketching multiple ideas that I of course need to edit for specific tasks. Few years ago I needed to do it manually which was more time consuming and expensive.

There is, however, field that AI would never help. Documentary photography that I do mostly. Any artificial interference that shifts captured reality contradicts this genre itself.
by wat10000 | 2025-05-30 19:51:59+00:00
It's radically different from human improvement. Imagine if you were handed a notebook with a bunch of writing that abruptly ends. You're asked to read it and then write one more word. Then you have a bout of amnesia and you go back to the beginning with no knowledge of the notebook's contents, and the cycle repeats. That's what LLMs do, just really fast.

You could still accomplish some things this way. You could even "improve" by leaving information in the notebook for your future self to see. But you could never "learn" anything bigger than what fits into the notebook. You could tell your future self about a new technique for finding integrals, but you couldn't learn calculus.
by popalchemist | 2025-05-30 19:52:24+00:00
This is a great marketing strategy for their niche, but to deny's eventual ubiquity AI long-term is foolish. While there will always be value in the human hand-made stuff, SO many tasks can and will benefit or be made entirely unnecessary through AI and automation.

Tired of this take. It's not virtuous nor is it based in deep principled thought, it's calculated. As are all such stances made by companies.
by highfrequency | 2025-05-30 19:53:51+00:00
"Nothing dumb anywhere" is an unreasonably high bar for AGI. Even Isaac Newton spent 1/3 of his career trying to predict future events from reading the Bible. Not to mention all the insane ego-driven decisions like Hamilton's voluntary duel with Burr.

Sure, Gemini may spit out obviously self-contradictory answers 2% of the time. How does that compare to even the brightest humans? People slip up all the time.
by PaulHoule | 2025-05-30 19:54:03+00:00
There is the famous "tyranny of structurelessness"

https://www.jofreeman.com/joreen/tyranny.htm

Personally I think the activist groups I've been in that were the most effective were small (<50 people) and inclined to just break up and reform when conflicts got too much or we knew we were infiltrated by the cops.

If an organization uses Robert's Rules or wants to talk about bylaws I want nothing to do with it.

Large activist organizations are no good anyway, see

https://en.wikipedia.org/wiki/The_Logic_of_Collective_Action

https://en.wikipedia.org/wiki/Exit,_Voice,_and_Loyalty

If an organization that collects $25 a year and claims to do activism on your behalf isn't stealing from you today it will be stealing from you tomorrow or the day after tomorrow thanks to the issues talked about above.
by hathawsh | 2025-05-30 19:54:09+00:00
Interesting discovery. This research sounds creepy and ill-advised, but my intuition suggests to me this is an innocent attempt to do something useful rather than waste energy on a PoW algorithm. My intuition also tells me that if this project became popular enough, attackers would break the algorithm fairly easily and the project would just revert to a more conventional PoW algorithm that doesn't try to be smart.
by Veserv | 2025-05-30 19:54:53+00:00
You cannot build a secure virtualization runtime because underlying it is the VMM. Until you have a secure VMM you are subject to precisely the same class of problems plaguing container runtimes.

The only meaningful difference is that Linux containers target partitioning Linux kernel services which is a shared-by-default/default-allow environment that was never designed for and has never achieved meaningful security. The number of vulnerabilities resulting from, "whoopsie, we forgot to partition shared service 123" would be hilarious if it were not a complete lapse of security engineering in a product people are convinced is adequate for security-critical applications.

Present a vulnerability assessment demonstrating a team of 10 with 3 years time (~10-30 M$, comparable to many commercially-motivated single-victim attacks these days) can find no vulnerabilities in your deployment or a formal proof of security and correctness otherwise we should stick with the default assumption that software if easily hacked instead of the extraordinary claim that demands extraordinary evidence.
by b0dhimind | 2025-05-30 19:55:25+00:00
200mg caffeine is kind of a lot for me. I've dialed it down to one diluted cup (~80mg) 6 days of the week mixed with MCT, ghee, etc. I've tried bumping it to 200mg and can definitely feel slightly increased alertness late at night, even if I have it before 2pm. Gonna definitely try to have it all by noon now... since half-life is 12 hours and I sleep 10ish...
by simonw | 2025-05-30 19:55:27+00:00
I'm trying this out now and it's very promising. One problem I'm running into with the Python library is that I'd like to keep that sandbox running for several minutes while I do things like set variables in one call and then use them for stuff several calls later. I keep seeing this error intermittently:

Error: Sandbox is not started. Call start() first

Is there a suggested way of keeping a sandbox around for longer?

The documented code pattern is this:

async def main(): async with PythonSandbox.create(name="my-sandbox") as sb: exec = await sb.run("print('Hello, World!')") print(await exec.output())

Due to the way my code works I want to instantiate the sandbox once for a specific class and then have multiple calls to it by class methods, which isn't a clean fit for that "async with" pattern.

Any recommendations?
by robomartin | 2025-05-30 19:55:28+00:00
> Okay, but now you're moving the goalposts. First it was "we don’t manufacture," now it’s "we only assemble." Let’s not forget - it was the United States that invented the assembly line, revolutionizing global manufacturing.

Not really. Maybe I am not doing a good job communicating the point. It's about supply chain dependencies.

If the parts needed to make a Ford F150 were available from Europe, Latin America, China, Africa, Korea, Japan, Taiwan, Philippines, etc., you have supply-chain flexibility and low probability of single-source exposure. It isn't about making everything here or in Europe. It's about not being in a situation where a failure of any kind (trade war, real war, pandemic, etc.) takes down your entire industrial based because you might have a 90% single-source dependency.

I was involved in developing technology for a program launched by the government of Singapore after the pandemic. They call it the 30x30 program.

During the pandemic, Singapore realized they only produce 6% of their food in the country. The pandemic stressed the one or two supply chains that --quite literally-- fed them. This was terrible and very dangerous in the long term. The 30x30 program was a result. The intent is to reach 30% in-country food production by 2030.

That's what I am talking about. Assembling isn't manufacturing when your entire manufacturing industry can be shuttered due to a highly monopolized supply chain.
by akdev1l | 2025-05-30 19:56:15+00:00
One can definitely build a container runtime that uses virtualization to protect the host

For example there is Kata containers

https://katacontainers.io/

This can be used with regular `podman` by just changing the container runtime so there’s no even need for any extra tooling

In theory you could shove the container runtime into something like k8s
by jbellis | 2025-05-30 19:56:32+00:00
As the author of a vector search engine I was low key excited for this (there is no good benchmark for vector search out there that resembles real world use even a little, all the vendors have their own internal stuff) but I think using the term "bench" here is a misnomer, it's really more of a pgvector demo app and I don't think you can usefully use it to benchmark anything, at least not out of the box.
by ryandrake | 2025-05-30 19:56:44+00:00
> Santander fully reimbursed 69% of reported fraud losses last year. After the rule change in October, the figure will be nearer 100%.

Although compassionate, reimbursing scam victims seems kind of foolish. I wonder how often they lose it all back to another scam or even to the same one. These people don't just need their money back. They need additional care and counseling, and a conservator to manage their finances.
by Lerc | 2025-05-30 19:57:11+00:00
I have been doing experiments along these lines. Initially I have avoided the issue with the semantics of words altogether because there is plenty of work to be done before you even get to the words themselves.

With BPE you get different encodings based upon punctuation and whitespace whenever it decides to pair the characters before and after a word into the word itself.

The tokenizer I have been using breaks words into components of:

prefix character prefix character repeat count index of lowercase(word) index of capialization mode (0 = all lower, 1 = initial cap, 2= all caps) suffix character

The encoder encodes the character before and after the word double encoding the information into the words previous and next, the decoder decreases the prefix count by one it it matches the suffix of the previous word. Anything that doesn't match a known word or is weirdly capitalized gets character encoded as a series of prefix-suffix characters with no word body. (a separate channel for chars would probably be better)

Each channel gets their own embedding table and the embeddings from all the channels are summed before being passed into the transformer.

Decode is just a separate last stage layer translating the final embedding into channels. In hindsight it should have been a little more than that for the decode because if the options for the next word were split between " YELLED!" and " whispered." my current system could theoretically produce " WHISPERED.". In practice it doesn't seem to do that much, but that means it's had to learn something to deal with that (I suspect by limiting variation) adding a little smarts to the end tokenization would help, perhaps choose the word index first then use the embedding for the match to filter the predicted embedding before calculating the other channels.

I have not yet done anything on breaking words themselves up. I have been using tinystories for training so there hasn't been need for it with so few unique words. I have given it it a lot of thought though and I think I would contest the 'Gold standard' encodings. I think a word like 'nodular' should be encoded as something like 'nodule' '<of or relating to modifier> <minus e> ar'

It's a little hard to comprehend what this might be for other languages, but I think there is probably insights to be had if you tried to make something that encoded English, Latin and Kanji equally well.

I'd be curious to know what the total number of homonyms there are across languages, too. Just a single signal to say 'this one is a known homonym' would probably be beneficial. If the total number is low enough, having their own token range might work too.