HackerTrans
TopNewTrendsCommentsPastAskShowJobs

thecodrr

no profile record

Submissions

Notesnook and Kagi are partnering up

blog.notesnook.com
2 points·by thecodrr·9 เดือนที่ผ่านมา·0 comments

Been Busy

muelsyse.codeberg.page
2 points·by thecodrr·ปีที่แล้ว·0 comments

It's time to leave Bitwarden (2023)

blog.notesnook.com
19 points·by thecodrr·2 ปีที่แล้ว·9 comments

Show HN: Notesnook v3 is here with note linking, at rest encryption and more

blog.notesnook.com
3 points·by thecodrr·2 ปีที่แล้ว·1 comments

Do the simplest thing that could possibly work (1998)

ronjeffries.com
1 points·by thecodrr·2 ปีที่แล้ว·0 comments

Mouse Guide

sensor.fyi
2 points·by thecodrr·3 ปีที่แล้ว·0 comments

Fabrice Bellard

en.wikipedia.org
3 points·by thecodrr·3 ปีที่แล้ว·4 comments

Amplenote's “Note Decryption” Policy

amplenote.com
2 points·by thecodrr·3 ปีที่แล้ว·0 comments

Easy File Sharing from the Terminal

transfer.sh
2 points·by thecodrr·3 ปีที่แล้ว·0 comments

comments

thecodrr
·2 ปีที่แล้ว·discuss
Benchmarking is a mess everywhere. Sure you can get some level of accuracy but reproducing any kind of benchmark results across machines is impossible. That's why perf people focus on things like CPU cycles, heap size, cache access etc instead of time. Even with multiple runs and averaged out results you can only get a surface level idea of how your code is actually performing.
thecodrr
·2 ปีที่แล้ว·discuss
React is not slow. React is not "big". React is not the reason your website is slow.

Any engineer who thinks that its React that is causing the slow renders and replacing it with X is deluded. Yes, there are ways to make slow React web apps. But there are also ways to make fast React web apps. It just requires effort and a little bit of foresight.
thecodrr
·2 ปีที่แล้ว·discuss
You might want to give Notesnook [0] a try.

[0]: https://notesnook.com/
thecodrr
·2 ปีที่แล้ว·discuss
You'd already be using source maps in any real-world scenario so I am not sure what's the value proposition here outside of "just for fun, I guess".

The tsc transpilation to lower ES versions is actually really useful when using not-so-recent Node versions. Not to mention this severely restricts TypeScript syntax to "just types" which isn't too bad but it means you now have to worry about yet another thing.

Then there's the ESM & CJS mess. You almost always want to export in both formats which will change a lot of the syntax, so this quickly falls apart for anything serious.

Just use esbuild if you want speed.
thecodrr
·2 ปีที่แล้ว·discuss
Hello everyone!

After around 2 years, we are back on HN with a massive update for Notesnook. But before that, here's a short introduction:

Notesnook is an end-to-end encrypted, 100% open source [0] note taking app that prioritizes user privacy.

v3 brings a lot of really radical changes, such as:

- Migration to SQLite

- At rest encryption

- Note linking

- Nested notebooks

- App lock on all platforms

You can read more about all these here: https://blog.notesnook.com/introducing-notesnook-v3/

Our goal with Notesnook has always been to make privacy simpler to adopt for normal users who don't have time to think about privacy. We do that by making privacy that "default" everywhere in the app. We recently crossed 100K registered users with over 4 million notes created on our platform.

If anyone has any questions I'd be happy to answer.

[0]: https://github.com/streetwriters/notesnook/
thecodrr
·3 ปีที่แล้ว·discuss
Not slow changes. Offering self hosted officially means that we have to be aware of users who are self hosting before we make any drastic changes, writing migrating guides, and giving some sort of support. All that has an impact on productivity.
thecodrr
·3 ปีที่แล้ว·discuss
There's no point in offering users self hosting if you are going to throw them into a fire by doing so. Notesnook is rapidly evolving and changing, and hoping for self hosted users to keep up is impractical. Instead, we want to first stabilize the backend, and then think about self hosting.

After v3, our primary focus will be on self hosting and getting an audit done.
thecodrr
·3 ปีที่แล้ว·discuss
It seems to me you are looking for a syntax highlighter in a note taking app. Which modern language are you looking for?

There are encrypted backups. Actually, backups are encrypted by default.

Notesnook also works offline by default so there's no need for a special mode. It's also, obviously, local-first since everything gets encrypted on your device. We don't have a lot of options there.

What "might be better" in the editor?
thecodrr
·3 ปีที่แล้ว·discuss
What did you find painful?
thecodrr
·3 ปีที่แล้ว·discuss
v3 will be even smoother. We are migrating to SQLite so startup times will be instant. Performance is a feature.
thecodrr
·3 ปีที่แล้ว·discuss
Markdown itself is more technical than, say, a WYSIWYG editor. People are more used to using MS Word and Google Docs. Obsidian prioritizes a different kind of note taking and, hence, you'll find a lot of tech-savvy users among its community. There's a reason for that.
thecodrr
·3 ปีที่แล้ว·discuss
Evernote is not E2EE.
thecodrr
·3 ปีที่แล้ว·discuss
Obsidian is a cool app but it's targeted for a very specific kind of user. Of course, for a technical user Obsidian would feel like home but for an average user with not a lot of technical know how, Obsidian would go way over their heads. Not everyone appreciates having to handle files, worry about syncing, security etc.
thecodrr
·3 ปีที่แล้ว·discuss
We are very close to fully supporting self hosted Notesnook. After v3 that'll be our primary focus. That and an audit.
thecodrr
·3 ปีที่แล้ว·discuss
Oh wow. Just heard the Notesnook is on the front page of HN. I am the co-founder so if you have any questions, feel free to ask.

Oh and to clear a few confusions:

1. Notesnook is 100% open source. That includes the server, client apps, and everything else. It's not partially open source.

2. Zero knowledge does not mean Zero Knowledge Proof but Zero Knowledge as in we, the company and people behind Notesnook, have no knowledge regarding what you have in your notes. I see that this might be more accurately called "no knowledge".
thecodrr
·3 ปีที่แล้ว·discuss
Ah war stories.

Just a few weeks back a user came to us after failing to migrate GBs of their data off of Evernote. This, of course, included attachments. They had successfully imported & synced 80K items, but when they tried to login on their iPhone, the sync was really, really slow. They had to wait 5 hours just to get the count up to 20K items. And that's when the app crashed resetting the whole sync progress to 0.

In short, we had not considered someone syncing 80K items. To be clear, 80K is not a lot of items even for a local-first sync system, but you do have to optimize for it. The solution consisted of extensively utilizing batching & parallelization on both the backend & the users' device.

The result? Now their 80K items sync within 2 minutes.
thecodrr
·3 ปีที่แล้ว·discuss
I don't think even you understand what you just said.

Consumer devices are notorious for their reliability problems. Compared to a full blown server that you have 100% control over with almost insane amounts of RAM & CPU power & a lot of guarantees.

Running a migrations on a server is far, far different to running it on every users' device. The sheer scale of it is different.

> Using 4 GB per user on your backend works?

That was a comment on the average RAM on a consumer device - not the total RAM required per user.
thecodrr
·3 ปีที่แล้ว·discuss
I think you misunderstand. My intention was not to say local-first is bad or impossible; it's not. We have been local-first at Notesnook since the beginning and it has been going alright so far.

But anyone looking to go local-first or build a local-first solution should have a clear idea of what problems can arise. As I said in the original comment: it's not all gardens and roses.
thecodrr
·3 ปีที่แล้ว·discuss
As someone who has been doing local-first for the last 3 years with Notesnook, let me tell you: it's not all gardens and roses. Local first has its own very unique set of problems:

1. What to do with stale user data? What happens if a user doesn't open the app for a year? How do you handle migrations?

2. What about data corruption? What happens if the user has a network interruption during a sync? How do you handle partial states?

3. What happens when you have merge conflicts during a sync? CRDT structures are not even close to enough for this.

4. What happens when the user has millions of items? How do you handle sync and storage for that? How do you handle backups? How do you handle exports?

One would imagine that having all your data locally would make things fast and easy, but oh boy! Not everyone has a high end machine. Mobiles are really bad with memory. iOS and Android have insane level of restrictions on how much memory an app can consume, and for good reason because most consumer mobile phones have 4-6 gbs of RAM.

All these problems do not exist in a non-local-first situation (but other problems do). Things are actually simpler in a server-first environment because all the heavy lifting is done by you instead of the user.
thecodrr
·3 ปีที่แล้ว·discuss
I don't think that's true. We have been using ASP .NET Core + SignalR for everything in Notesnook[0]. It has great performance, libraries for everything out there, very good ergonomics, and a mature ecosystem.

I know you can probably get more performance out of Rust or Go but I don't think rq/s benchmarks really hold up in reality. If you are running a startup, you'd probably see 1 to 2 rq/s unless you become viral. .NET Core can easily handle that and more.

[0] https://notesnook.com