News for hackers. Stuff that matters.

nickthesick

Yes, we are still using XML to represent the document content, to represent the document as a flat list would require some research into something like Automerge's Block markers https://automerge.org/docs/reference/under-the-hood/rich-tex... which we don't have the funding to look into right now, but hope to work towards in the future.

We will have better support for ProseMirror's position mapping, but I'm not confident that we will make any progress on this specific issue, since it requires a much larger refactor than what we are contracted for (suggestions & versioning). For selection mapping specifically, we can of course make an effort here to fix it, but the underlying limitations of the split node operations would still be there.

> I don't know where this popular belief came from.

It may be worth reading the whole paragraph of the blog you referenced...

> Figma isn't using true CRDTs though. CRDTs are designed for decentralized systems where there is no single central authority to decide what the final state should be. There is some unavoidable performance and memory overhead with doing this. Since Figma is centralized (our server is the central authority), we can simplify our system by removing this extra overhead and benefit from a faster and leaner implementation.

> It’s also worth noting that Figma's data structure isn't a single CRDT. Instead it's inspired by multiple separate CRDTs and uses them in combination to create the final data structure that represents a Figma document (described below).

So, it's multiple CRDTs, not just one. And they've made some optimizations on top, but that doesn't make it not a CRDT?

I'm actually in the middle of rewriting the y-prosemirror binding with Kevin Jahns as we speak, we hope to address a number of the fundamental design choices that were made 6 years ago. I did a presentation on this at FOSDEM this year if anyone is interested in some specifics to the approach we are taking for this: https://fosdem.org/2026/schedule/event/8VKQXR-blocknote-yjs-...

I feel like this post is overly hyperbolic about the choices that an Open Source maintainer made years ago, and no one seemed to care enough to pay him to rewrite it.

FWIW, I'm literally working on rewriting the y-prosemirror binding today with Kevin Jahns, the creator of Y.js and wrote the initial binding. Yes, the current binding has it's flaws, but we hope to flush out the most egregious of them with a completely different design which I made a presentation about at FOSDEM this year: https://fosdem.org/2026/schedule/event/8VKQXR-blocknote-yjs-...
Re:France's homegrown open source online office suite on Saturday February 07, 2026 @12:59PM (#46925943)
I think it definitely depends on the country, there isn’t a one-size fits all answer to this for the countries in the EU.

Even in this example, the French are building this in-house, but the Germans are repackaging this into their suite. And the Netherlands is on their way to do the same.

So the approach would be different depending on which country you approached.

My advice to you would be to follow government events like Hackdays to get yourself in front of people who can point you in the right direction

Re:France's homegrown open source online office suite on Saturday February 07, 2026 @11:55AM (#46925314)
I think that the point of the project is more:

“Content over form” so you don’t really need all the formatting options of something like Word when you are just trying to write meeting notes.

They are definitely trending more towards a wiki, but it is still early days for this whole experiment. Though, many of the municipalities in the French gov are using it for their day to day work so it is clearly useful in some capacity. I don’t have numbers, but it’s definitely respectable

Re:France's homegrown open source online office suite on Saturday February 07, 2026 @11:51AM (#46925285)
Very much appreciated! We put a lot of effort into it!
Re:France's homegrown open source online office suite on Saturday February 07, 2026 @11:01AM (#46924859)
Made X-Wiki unrelated just happen to be the same country
Re:France's homegrown open source online office suite on Saturday February 07, 2026 @10:30AM (#46924620)
Glad to be working as part of this initiative too!
Re:France's homegrown open source online office suite on Saturday February 07, 2026 @10:29AM (#46924619)
Not sure that it’s relevant to switch git hosts is trivial. And everyone is already there
Re:France's homegrown open source online office suite on Saturday February 07, 2026 @10:28AM (#46924615)
Take a look at my Y.js sync server at https://teleportal.tools if you are already using JS on your backend
Re:Teleportal: A real-time collaborative editing framework on Friday February 06, 2026 @10:02AM (#46913662)
Hey hn:

I made a collaborative editing framework based on Y.js.

I think it has many advantages over existing solutions like hocuspocus, Y-Sweet, Liveblocks and others. Mainly, it being built as a library (and framework) allows you to build in assumptions for your application. Just this weekend I had a short talk about it at FOSDEM. Let me know if you are interested!

I have a web app https://bookhive.buzz which is a GoodReads alternative based on BlueSky’s protocol. I scrape all of the book data from Goodreads too.

I would love to be able to add a recommendation system based on this.

Interesting product. What do you use for the backend sync? I see CRDT so I assume Y.js?

I’m building a Y.js sync server: https://github.com/nperez0111/teleportal

I have made a Goodreads alternative all based on AT Proto called BookHive. I just soft launched it today!

https://bookhive.buzz

Re:Large Enough – Mistral AI on Wednesday July 24, 2024 @04:45PM (#41061870)
They are using Tiptap for their input and just a couple of days ago we called them out on some perf improvements that could be had in their editor: https://news.ycombinator.com/item?id=41036078

I am curious what you mean by the formatting is lost though?

If you need any help with this, don't hesitate to reach out at [email protected]
isn't this just a knock off of uploadthing?
Re:Eagle 7B: Soaring past Transformers on Monday January 29, 2024 @12:23AM (#39172970)
Is it possible to try this out on something like llama.cpp? Does the different architecture make a difference there?
I hope this is satire, DRY is more about extraction of shared function not about individual expressions. You write code once, no need to save yourself typing time at the expense of you and other peoples ability to read and understand the code afterward.
This looks really interesting, I wonder if we can get to the point of having this all be local to your machine. The idea to use embeddings to search for relevant code snippets is maybe obvious to some, but just now getting into this stuff, just blew my mind!

I find that the hardest problems to find are interfaces between projects like a bad frontend call into a backend or backend to backend. I wonder if this could index separate projects & draw links between them

Re:Incident with Issues and Pull Requests on Thursday May 11, 2023 @09:37AM (#35901835)
Have they said what has been up lately?
Re:Show HN: Cicada – Write CI/CD Pipelines in TypeScript on Wednesday April 26, 2023 @07:11AM (#35711932)
I tried to get it running on one of my projects but ran into an issue trying to get my `NPM_TOKEN` into the environment variables of the container. It looks like it tries to pull from a .env file so I tried that and it didn't work. I also have the environment variable loaded in my shell but passing `-s` didn't work either?

FWIW maybe it is how I'm starting cicada with: `npx @cicadahq/cicada run dev`

The docs are pretty light on how to actually run this thing. It also says that it supports being run from GitHub Actions but does not show any example of that. Am I just going to write a GitHub Action that calls cicada? That is odd.

Re:My domain has been flagged as 'Deceptive' by Google on Saturday July 30, 2022 @11:08AM (#32287364)
Wow that is really helpful, thanks for putting this together. I will look into this then

My domain has been flagged as 'Deceptive' by Google

I was just trying to access one of the services I host when I'm hit with a full red error page on Brave saying:> Deceptive site ahead> Attackers on code.nickthesick.com may trick you into doing something dangerous like installing software or revealing your personal information (for example, passwords, phone numbers, or credit cards).With a "Learn more" link which gave me a link to:...

( Read More... | 4 comments | 8 points | on HN )
Re:Serverless DNS: Self-hosted DNS resolver at the edge on Saturday July 30, 2022 @09:17AM (#32286557)
Probably more for privacy reasons. And maybe if you set it to resolve to an adguard or pihole instance it could be for adblocking on the DNS level. Which really is quite effective a lot of the more spammy ads, even though it can't really do anything about Youtube (since they use the same domains for content and ads so blocking ads blocks content too).
Re:LG 28-inch 16:18 DualUp Monitor on Monday July 11, 2022 @03:50AM (#32053396)
> Could you clarify a bit by what you mean?

I’m referring to the scaling of the display. The reason that I say that macOS looks better is because it uses integer scaling on the studio display. While even after setting a custom resolution, (the defaults macOS chose for the Mateview were either really small or really large for my taste) the Mateview still has a bit of a blur to it in small fonts it is most noticeable. Whereas the studio display shows well because it was made with integer scaling in mind

Older »