HNHacker News
TopNewBestAskShowJobs

amirouche

929 karma · joined September 20, 2012

"CC" [ @1 ] APPLY
submissionscomments
amirouche··on Show HN: FR/EN search engine built with Chez Scheme and Claude Code for €150
Fair. The goal is eventually to convert to paid search for people with their own harness, or deep search. Preview or not, does not change the balance, when what you need is depth.
amirouche··on Show HN: FR/EN search engine built with Chez Scheme and Claude Code for €150
Everyone has their own challenge for generative AI. Mine was a search engine for about €150. A month or so later, here it is. Claude Code wrote most of the code; the architecture and storage layer are mine, built on years of earlier work. €150 is compute and storage at hetzner, and one month of claude pro max x5.

It needs polish here and there, but the results hold up, and some of its quirks surprised me in good ways. No ads, no tracking, no personalisation.

The corpus:

English (93M docs, 2.1 TB): Stack Overflow, arXiv, Wikipedia, Hacker News and Lobsters up to 2020

French (18M docs, 0.5 TB): theses.fr, Persée, Gallica, Wikisource, Wikipédia

How it’s built, since that’s probably the interesting part here:

Everything is Chez Scheme. The storage layer is an ordered key-value store (it implements SRFI-167/168, which I wrote) running as an LSM tree.

The C parts: libtls, liburing, picohttpparser, libc. French and English are separate indexes. Mixing them corrupted document frequencies in an earlier version, because French and English words collide after stemming.

Known weaknesses: ranking is the next big piece of work.

What would help most: a query where it failed you, or a source you think belongs in the corpus and why. I’m especially curious which corpora people would put in a “technical history” index.

The code isn’t public yet. I want to see what people actually use before I freeze the design.

There is json output: https://h9p3r.fr/?q=biological+intelligence+future+&lang=en&...

amirouche··on Show HN: Ouverture.py – Content-addressed storage for multilingual functions
This repository was generated by Claude (Anthropic) as an experiment—to explore how Claude works and to reverse-engineer its approach. I spent a few hours discussing the idea with both Claude and ChatGPT, focusing on how to build a content-addressable, multilingual infrastructure for Python.

Two small PRs, each based on a single prompt, resulted in a CLI that captures the core idea. The goal was to make it relatable to others—let me know if it resonates with you.

Observations & Process: Claude asked a lot of clarifying questions, while ChatGPT "hallucinated" a broader "cognitive ecology" (likely because I’d mentioned the project under the name "mobius"). The final README reflects a blend of ChatGPT’s grandiose vision and Claude’s more grounded approach. It frames ouverture as a symbiotic post-LLM relationship—a bridge between existing knowledge (including code) and post-LLM AI systems.

The Bigger Picture: If ouverture succeeds, it could become an infrastructure like npmjs—but with less friction, less drama, and fewer barriers. The irony? The README’s vision remains relevant even without LLMs. The core idea—content-addressable, multilingual code—stands on its own.

Origins & Goals: This idea has been brewing for over a decade. My original goals were:

Code as a reusable resource: Write a function, store it, forget it, and retrieve it later—dependencies and all—without the hassle of reinventing wheels (e.g., leftpad or buried helper functions). Lowering cognitive barriers: Enable people to contribute to code without requiring English proficiency, aligning with the "think globally, act locally" ethos.

Inspirations: Key projects that shaped this thinking:

- Unison (content-addressable code) - Abstract Wikipedia (multilingual knowledge) - Situated Software

ouverture.py is my answer to [this Lobste.rs discussion on easing the production of micro-libraries](https://lobste.rs/s/ebbaed/how_ease_production_micro_librari...).

amirouche··on AI is a weapon to surpass Metal Gear
Proof of life should the next stop [for more people].

Note: An attacker needs to be stronger than one defense, that is unlike being stronger than the sum of all defenses.

Note2: What we now see as a collective ie. a generated reality, existed before now, and is documented, the following comes to mind 1984, Good Bye Lenin, The Village M. Night Shyamalan, and IIRC Gate to Avalon, by Mamoru Oshii.

edit: added squared brakets.

amirouche··on Marginalia Search has received an NLNet grant
Using a dedicated on-disk file format, that is, a custom index has much advantages, optimizations opportunities. I thought using an existing OKVS would be an advantage from a time to market perspective, but it is not the case :)
amirouche··on Tuple Database – A reactive, local-first db inspired by FoundationDB
I do not think that PDF is worth taking space in my personal knowledge base. Thanks for sharing.
amirouche··on Tuple Database – A reactive, local-first db inspired by FoundationDB
Indeed, I jumped into PostgreSQL documentation, that's where I started reading about materialized views.
amirouche··on Tuple Database – A reactive, local-first db inspired by FoundationDB
Read the whole textbook, MATERIALIZED VIEW requires a REFRESH that is outside the transaction that made the change: https://www.postgresql.org/docs/current/rules-materializedvi...
amirouche··on Tuple Database – A reactive, local-first db inspired by FoundationDB
I am saddened they picked idioms from the database paradigm I invented, fixed the bugs I reported directly to ccorcos upon his request about this very project, and did not even subtly mention my work.

Hiding https://okvs.dev is an antipattern.

The user interface is inspiring.

See also https://ccorcos.github.io/filing-cabinets/

I killed my notion.so account.

amirouche··on Ask HN: Does anyone use a Raspberry Pi as your main computer?
Like other have said javascript makes it slow. sourcehut.org: great. twitter: unsuable. mastodon: barely. github: ok-ish. gmail: ko. protonmail: ko. I use a rpi400 with 4GB of RAM. I forgot to mention the builtin wifi does not work great. I am using Ethernet. I am using the rpi400 to write this message, and I have been using it for two weeks. I tried ubuntu 22.04, 64bit raspberry pi OS too. And I intend to keep using the rpi400, and build my projects on top of it.
amirouche··on Ask HN: Does anyone use a Raspberry Pi as your main computer?
surfing the web is a pain. I use a phone for webmail stuff, otherwise fallback to tui. rpi400 with alpine 64bit, external 1To SSD usb 3.
amirouche··on Abstract Wikipedia
> But what you could do is take English...

Then it is not english but a subset of english. They are translation systems that work the way you describe already using restricted natural language grammars.

amirouche··on Abstract Wikipedia
Scalable? Citation needed.

It is well-known wikidata does not scale. Whether it is in terms of number of data contribution or number of queries. Not only that, but the current infrastructure is... not great. WBStack [0] try to tackle that but it is still much more difficult to enter the party, than it could be. Changes API? None. That means that it is not possible to keep track of changes in your own wikidata/wikibase instance improved with some domain specific knowledge. Change-request mechanic? Not even in the roadmap. Neither is it possible to query for history of changes over the triples.

Wikidata GUI can be attractive and easy to use. Still, there is big gap between the GUI and the actual RDF dump, that is, making sense of the RDF dump is big endeavor. Who else wants to remember properties by number? It might be a problem of tooling. Question: how to add a new type of object to the GUI? PHP? Sorry.

I do not downplay the role of wikimedia.

[0] https://addshore.com/2020/01/wbstack-infrastructure/

amirouche··on Show HN: Versioned structured data, with change-request mechanic, at scale
I think, I do not understand the question.

The implementation is mostly in https://github.com/amirouche/copernic/blob/master/copernic/v...

It used in frontend/views.py

I can elaborate on how it works if you want.

Or do you mean "How a B2C or B2B product can take advantage of the change-request mechanic?". Or in other words, "How to implement change-request mechanic in another product?".

amirouche··on Show HN: Data store with change-request mechanic
The code is at: https://github.com/amirouche/copernic

A quick tour is available at: https://www.youtube.com/watch?v=wqbYfuOhG9w

Here is the equiavlent of the following SPARQL query:

  SELECT ?uid ?key ?value WHERE {
    ?uid <http://title> "copernic" .
    ?uid ?key ?value
  }
link: http://copernic.space/query/?uid0=uid%3F&key0=title&value0=c...
amirouche··on A group of ex-NSA and Amazon engineers are building a ‘GitHub for data’
It just happens that I have been working on something like that, posted on Show HN.
amirouche··on Ask HN: How to Sell Proprietary Software?
It does no matter, it is a database server, the niche I am targeting (more than 10TB of SSD) is still not available to commoners.

Creating subset of the data is not really possible. And if it is the case, the existing product (free or not) can help.

amirouche··on Ask HN: How to Sell Proprietary Software?
I look for 'commercial license key libraries'.

Thanks for the hint!

amirouche··on Ask HN: How to Sell Proprietary Software?
I am considering a subscription model. Also the software I want to sell is a database. Thanks for the reply.
amirouche··on Ask HN: How to download comments of my favorite submission on HN
good project but not really what OP wants.
amirouche··on Ask HN: Resources for Learning about Databases
Do you want to build a database or use one?

Also prolly at Facebook they use some API to access the database.

amirouche··on New Query Language for Graph Databases to Become International Standard
Gremlin traversal language is a piece of a complete database query as run by TinkerPop's Rexster database. You can see it as a lazy sequence or stream API (think srfi-41 or r7rs scheme generators) with sugar syntax optimized for property graphs.

To take complete advantage of TinkerPop Rexster you really need to embed the Gremlin DSL inside a Turing Complete language (like groovy) and execute that.

I think Gremlin failed because a) the similar look to SQL of cypher queries b) long running and massive marketing campaign by the company behind cypher. c) since tinkerpop developers were hired by the company behind Cassandra, tinkerpop (and Janus graph) have lost momentum.

All this narrow data expert systems that persist data on-disk (!) are doomed to fail! The future is ordered key-value store and multi-model databases with ACID transactions.

amirouche··on New Query Language for Graph Databases to Become International Standard
SPARQL doesn't allow unbound recursive queries.
amirouche··on Ask HN: What are some novel and niche database paradigms?
Versioned databases especially for tracking provenance and lineage for data science models might become of thing. See Apple's Entity Store [0] or my take on it [1]

[0] https://www.youtube.com/watch?v=16uU_Aaxp9Y

[1] https://github.com/awesome-data-distribution/datae

amirouche··on Ask HN: What are some novel and niche database paradigms?
missing link to the video :)
amirouche··on [dead]
DDoS in progress
amirouche··on Hy
Does it support syntax-rules or something similar?
amirouche··on A Scheme syntax-rules primer (2008)
very useful resource, I recommend it.
amirouche··on Ask HN: How can we improve TUIs?
I love termbox. I am writing an editor with it.
amirouche··on Ask HN: Suggest me a new programming language with small user community to learn
Scheme is big and small at the same time. It is old, but the last report on the language was released a couple of years back and it is still growing. There is still many areas that needs some love.

Checkout http://scheme-lang.com/

Page 1 of 17Next →