HNHacker News
TopNewBestAskShowJobs

nickthesick

185 karma · joined October 18, 2020

submissionscomments
nickthesick··on Lies I was told about collaborative editing, Part 2: Why we don't use Yjs
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.

nickthesick··on Lies I was told about collaborative editing, Part 2: Why we don't use Yjs
> 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?

nickthesick··on Lies I was told about collaborative editing, Part 2: Why we don't use Yjs
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.

nickthesick··on Lies I was told about collaborative editing, Part 2: Why we don't use Yjs
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-...
nickthesick··on France's homegrown open source online office suite
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

nickthesick··on France's homegrown open source online office suite
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

nickthesick··on France's homegrown open source online office suite
Very much appreciated! We put a lot of effort into it!
nickthesick··on France's homegrown open source online office suite
Made X-Wiki unrelated just happen to be the same country
nickthesick··on France's homegrown open source online office suite
Glad to be working as part of this initiative too!
nickthesick··on France's homegrown open source online office suite
Not sure that it’s relevant to switch git hosts is trivial. And everyone is already there
nickthesick··on France's homegrown open source online office suite
Take a look at my Y.js sync server at https://teleportal.tools if you are already using JS on your backend
nickthesick··on Teleportal: A real-time collaborative editing framework
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!

nickthesick··on Show HN: I scraped 3B Goodreads reviews to train a better recommendation model
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.

nickthesick··on Tell HN: Notion Desktop is monitoring your audio and network
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

nickthesick··on Show HN: Grow Bluesky – A curated collection of the best tools for Bluesky users
I have made a Goodreads alternative all based on AT Proto called BookHive. I just soft launched it today!

https://bookhive.buzz

nickthesick··on Large Enough
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?

nickthesick··on Improving Tiptap's Performance for Anthropic's Claude Interface
If you need any help with this, don't hesitate to reach out at humans@tiptap.dev
nickthesick··on Show HN: File0 – An easier way to manage files in serverless apps
isn't this just a knock off of uploadthing?
nickthesick··on Eagle 7B: Soaring past Transformers
Is it possible to try this out on something like llama.cpp? Does the different architecture make a difference there?
nickthesick··on Interesting Bugs Caught by ESLint's no-constant-binary-expression (2022)
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.
nickthesick··on Show HN: Bloop – Answer questions about your code with an LLM agent
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

nickthesick··on Incident with Issues and Pull Requests
Have they said what has been up lately?
nickthesick··on Show HN: Cicada – Write CI/CD Pipelines in TypeScript
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.

nickthesick··on My domain has been flagged as 'Deceptive' by Google
Wow that is really helpful, thanks for putting this together. I will look into this then
nickthesick··on Serverless DNS: Self-hosted DNS resolver at the edge
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).
nickthesick··on LG 28-inch 16:18 DualUp Monitor
> 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

nickthesick··on LG 28-inch 16:18 DualUp Monitor
I have one as well and definitely can recommend it. The only thing is that if you are running macOS you really need to have SwitchResX for it to not look terrible.

I have it next to my studio display and it honestly does not even compare in terms of clarity. I’m sure it’ll run better on windows.

nickthesick··on Life is not short
I’m curious in what you are talking about here. Where did you get these ideas?
nickthesick··on Ask HN: What are these low quality “code snippet” sites?
Not only SO threads, I particularly hate the ones that mirror GitHub Issues. They don't even link back to the original thread, for Christ's sake!
nickthesick··on Ask HN: What are these low quality “code snippet” sites?
I don't think they track 'quality' they just see people clicking and use that as a proxy for 'quality'. (Quoted because what does quality even mean?)
Page 1 of 2Next →