HNHacker News
TopNewBestAskShowJobs

thecodrr

548 karma · joined September 22, 2016

Building Notesnook: https://notesnook.com
submissionscomments
thecodrr··on Tell HN: Nearly all of Evernote’s remaining staff has been laid off
Yes! Every edit session is saved separately and can easily be restored.
thecodrr··on Tell HN: Nearly all of Evernote’s remaining staff has been laid off
Even though Evernote is a competitor, it's still sad to see such a giant in the note-taking space go down so badly. Of course, I am still skeptical about this news and whether its actually true since no source has been linked.

Aside:

I work (and lead the development) on Notesnook, an end-to-end encrypted, open source alternative to Evernote. Since we are based in Pakistan, our pricing has been really competitive at just $4.49/mo (compared to $17.99/mo of Evernote). And best of all, we have one of the best Evernote Importers around: https://importer.notesnook.com/

If you'd like to learn more about Notesnook: https://notesnook.com/

Feel free to ask me any and all questions!

thecodrr··on Show HN: Deon.land – Deno.land?
What do you expect deno to do? Should it have a "repository" of whitelisted domains? Should it do typo checking for you? What is considered "good security defaults" here?

Deno doesn't intentionally control where and how you import dependencies as long as the code in the dependency is valid and I think that's better than gatekeeping domains. Deno has permissions built-in just for this - i.e., if a dependency goes rogue, there's some level of control.

Consider node/bun on the other hand. If a dependency goes rogue, there's virtually nothing stopping it except system permissions. That's a lot worse than deno.

I think Deno tries to solve the core issue with running untrusted code (like a browser does to some extent). Dependency control can only go so far. So no complaints here.

This also gives Deno flexibility to support package.json with the same exact security guarantees. Isn't that better?

thecodrr··on Ask HN: How did you master the art of programming?
I think one question eludes everyone and I have often felt that the whole tech space just kind of skipped past it. What constitutes a master programmer?

Once I thought that there's no mastery in programming. That you just learn and kept of learning until you were ashes and bones. But that isn't true just as it isn't true for chefs, blacksmiths, painters, and other artists. If they have a certain standard where a practitioner becomes a "master" then so should programming.

I don't have a lot of experience/knowledge of how masters in other areas are judged but I see one common theme:

If you give a piece of rusted metal to a novice blacksmith, he wouldn't know what to do with it. Or even if he works it, it won't be something to be proud of. Give the same piece to a master and you won't believe what he makes of it.

Similarly, give an egg and some onions to a master chef and see what magic he brings.

Sure, knowledge about the trade matters and years of experience as well but if you strip all of that away, you'll see this steady confidence to be able to do anything (not bravado or foolhardiness) in their trade regardless of the resources and tools.

If we translate that to programming, we slowly realize that the toughest programmers are ones who can solve problems at every level, in any environment, under any condition. I am not saying that they are happy doing it (just as a blacksmith won't be happy working with rusty metal) but that they have the ability to just make things work and work in a good way.

All that may be very vague since its all just theory and I am basically thinking out loud but in these times when every one has the same access to the same information, I don't think it'd be a fair criteria to judge based on how many books you have read.

There's so much to be said on this to better classify the "mastery" of programming. In my opinion, masters of the trade are always rare. There are many who are close to this level of expertise but only a few you reach and surpass it.

Note: As I said, I am thinking out loud. I could be wrong and if so, feel free to point that out.

thecodrr··on Integrated Terminal on Windows in KDE Kate
I have been slowly moving away from VSCode to Kate and its safe to say that the snappiness of a native text editor is beyond amazing. VSCode is, by no means, slow but native is native.

This is really exciting because:

1. There aren't any good fully featured GUI text editors on Windows (aside from vscode). No, IDEs don't count because they are either too bloated or too focused on a single stack.

2. An integrated terminal finally allows Kate to be feature complete on Windows. It was one of the biggest missing features compared to other platforms.

Really excited to try this out!

thecodrr··on Show HN: Git Heat Map – a tool for visualising git repo activity for each file
I wonder if this can be done faster using the same approach as git-filter-repo or bfg. 68 minutes for something like this is a long time.

Otherwise looks really cool.

thecodrr··on Code Smell of the Day: Type Keys (2021)
Not everything needs to be DRY. In a lot of codebases, I see this hell-bent attitude to make everything as DRY as possible often at the cost of creating multiple files when all it'd require is 2 functions.

A lot of code smells arise from this attitude. DRY is not mandatory. Oftentimes, repeating yourself is better and clearer. It allows you to grow both functions at their own pace, handle edge cases separately, prevent spaghetti code, write better & simpler tests.

thecodrr··on Telemetry is now optional in Warp
I don't think something as fundamental a developer tool as a Terminal makes sense as a proprietary software. That doesn't mean nobody will use it, obviously, but it does mean that you guys are sacrificing a lot of potential users for...I have actually no idea why Warp isn't open source. What's the issue? What are you afraid of?
thecodrr··on Why Evernote failed to realize its potential (2021)
HTML but you can easily export to MD, HTML, PDF or Text.
thecodrr··on Why Evernote failed to realize its potential (2021)
Yes.
thecodrr··on Why Evernote failed to realize its potential (2021)
> Can people host their own server if they want? Not sure if it's just the client on GitHub.

We are working on open sourcing the sync server so it can be hosted later on.

F-Droid is also coming.

thecodrr··on Why Evernote failed to realize its potential (2021)
> Does notesnook offer anything like that?

No, and the main deterrent for this is our commitment to keeping everything E2E and client-side. Something like Tessaract or Paddle might work for OCR but I haven't looked too deeply into it.

thecodrr··on Why Evernote failed to realize its potential (2021)
> Do you guys optimize for local-first? Can I drop in to start editing without having to wait for network lag or sync? Is multi-device syncing rock solid?

Yep. Everything is offline-first stored right on your device. Syncing works mostly well but there a few rough edges which we are sorting out.

> Can I import my existing Evernote notes?

Yes. We have an official importer: https://importer.notesnook.com/

thecodrr··on Notion AI – waiting list signup
This is cool. Not sure about the privacy implications of this. Nowadays anything with AI after it makes me think twice before using it. Especially if it's as critical & personal as a notes app. Who knows in what ways they'll be using the collected data (it's obvious that they will collect data to improve the AI).
thecodrr··on Why Evernote failed to realize its potential (2021)
Shameless plug but for the past 2 years we have slowly been working to replace Evernote with Notesnook [1]. Sounds weird to say "replace Evernote" when Evernote is absolute shit (no offense) but one of the main reasons we went this route is because Evernote did one thing right: It made personal note taking approachable & actually fun. Nowadays, a lot of the modern note taking apps (Notion, Slite etc.) are focused on the "enterprise user" i.e. they prioritize business focused note taking with features like collaborations, integrations etc. Private & personal note taking is no longer the hype which, in my opinion, is really sad.

I might be mistaken in my viewpoint however, of later I have noticed a huge trend toward providing user experiences that target a team workflow. Personal workflows are an afterthought, at best. For some tools this works out but for note taking apps I think it creates a huge void. Not everyone wants a thousands ways to integrate, publish whole websites, buy & sell, and create presentations using their notes app.

[1] https://notesnook.com/

thecodrr··on The Fall of Roam
This is how human mind functions. If we remembered everything we ever did, we'd have so many thoughts it'd be hard to think more. That's why we have this garbage collection system that helps us forget unimportant rarely thought about information. You'd think a note taking system should be the secondary space for all that discarded information.

This is not a problem specific to bi directional linked note taking systems. Anyone who takes a lot of notes knows that majority of their note database is never touched again. Most notes have a very limited time span after which they are just garbage. Note taking systems are not optimized for this. They try to be a "second brain" excluding the forgetting part. It can't be done no matter how you organize or connect your notes.

After a time you'll realize organization of notes is an unnecessary burden. If you really want to find a note, you'll almost always use search.

thecodrr··on I hate password rules
Discloser: I am the co-founder (https://notesnook.com)

We used to ask our users 90% of the standard password requirements (min length 8, 1 special character, 1 digit, 1 capital etc). The result was a lot of people forgetting their password and having a really bad first impression. We were following "best practices" but the user didn't care.

In the end, we took out all the requirements except one: password must be 8 characters long. While we knew this wasn't recommended, especially for a private note taking app, it was a necessary choice because a lot of people either just modified their old passwords or used new ones which they forgot and got locked out. Good security but...if you also get locked out, what's the point? As for people who used password managers, it doesn't matter either way.

A lot of people sign up just to try out the app. Nothing serious. Nothing too critical. If they get locked out after their first usage, it's goodbye from them. I think there are a few things apps can do to improve security without annoying the user too much:

1. Show user a notice inside the app if the password is below a certain strength threshold, recommending them to change it.

2. If the password is reused or compromised, show a permanent warning either on startup or somewhere noticeable inside the app.

3. Promote use of password managers during sign up (and other places)

Ultimately, it should be up to the user to decide if they really want to change their password or risk having their account comprised.

None of these are tested though so I am not sure what the UX would be...

thecodrr··on My Hacker News knowledge assimilation stack
The critical issue with this so-called stack is the effort to set this up. It seems simple in words but consider how many steps, tools, plugins, devices, human intervention are required to achieve it. Is it reliable? Nope. Is it better? Nope.

You still have to remember those keywords you added so you haven't gotten rid of the memory problem. If even one moving part fails to function properly, the whole system will break so you haven't solved the maintainability problem. And clearly, this doesn't solve the time problem either.

When I bookmark something on HN, it is usually because I don't have enough time to read it or I want to read it again later on. I don't bookmark comments or save them. Not because they aren't interesting but because informal content like comments are really easy to understand. They are short and to the point.

So I take what information I can and move on. If I forget...well, maybe it wasn't that important to remember in the first place. If I forget but want to remember, which is rare, I can just go through the bookmarks, open the relevant link, and go through the comments again or Ctrl + F if I remember something. This is rare. So rare that I can afford to do it manually.

The problem with "knowledge assimilation" aka note taking is that after a certain point, you have more "knowledge" than you even want. The extra becomes noise. At first, the idea to clip and save anything interesting seems so fascinating but soon you realize that you have saved so much that it's become a problem.

That's why using the right tool for the right job is important. Bookmarks are perfect for things you want to save without them getting in the way of more important things. They are just a list. Nothing overkill. No complex organization. No complicated processes. Just press a button and viola!

I do, however, commend the ingenuity of the OP in making such a system. I wonder how long it took to set this all up.

thecodrr··on Libre Endowment Fund: Sustainable Development of Free Software
The process looks quite complicated and time consuming. I wonder how many FOSS projects will enroll. The criteria is alright but doesn't mention anything about library maintainers.

In the end, it's money so I get why it has to be so long form and time consuming but I think a lot of really good projects will either not take the time to enroll or give up in the middle.

In my opinion, such a fund should be set up for both big projects with orgs behind them and small projects with only a few people. Otherwise, it doesn't actually benefit or encourage anyone. Of course, the amount of funding could be relative to the size and impact but everyone should be encouraged to enroll. That way OSS can become a truly sustainable system.

thecodrr··on Show HN: OurBoard – free and open source online whiteboard
There's a bug that hijacks your back button. At least on mobile.
thecodrr··on Cloudflare R2 storage: Rapid and reliable object storage, minus the egress fees
Not sure why this is more appealing than Wasabi? As far as I can see, Wasabi is cheaper, has great speeds, fantastic S3 compatibility, their dashboard is a joy to use so what is the actual "special" thing here? I mean sure, it's a good thing to have more competition but the way everyone here is describing the situation makes it seem as if Cloudflare is going to be the cheapest & the best.
thecodrr··on We deserve better than Confluence and Notion
You should also probably look at T&C of the services you are embedding to see if they allow it.

There's a limit to how much integration you can add via an API. Not to mention that a lot of services don't even have an API or have outdated ones.

> By displaying directing the content you save one click and you make the workflow more natural (and it also gives the idea to do it, if a user see a link in a blank document he will like "meeh why would you do that", whereas when you see an iframe, you get the logic easily).

Not sure what you mean here by "link in a blank document". Why not just directly open the 3rd party app in a new tab when you click on an entry in a side menu? There's no click saving, really. You are just embedding the tab that'll be opened.

The other problem is that most apps are not built to be embedded in an iframe. While they might appear to work normally initially, one click could break them because iframe is not the same thing as a normal browser window. Of course, you could provide various workarounds for it but the experience will be subpar at best.

thecodrr··on We deserve better than Confluence and Notion
Except you can open them in an iframe. Which is what Dokkument (the product being promoted by the author) is doing. Not sure how much more useful that is than simply opening it in another tab which would work 100 times better since you won't have to jump a ton of hoops to make sure everything works fine.
thecodrr··on Incremental note-taking
That sounds like a reasonable trade off.
thecodrr··on Incremental note-taking
Wow. Very detailed feedback and very helpful as well.

About storage: since the app is electron based, it stores everything in IndexedDB. I didn't want to use something separate because it'll add extra stress. However, your point about mentioning where things are getting stored is important. I'll make those changes ASAP.

> Ideally the note taking system would have open and documented format.

It's really just HTML. It's not stored in local files but the content of notes is actually just plain, normal HTML.

> When importing a .md document, the first line "# heading" was set to be paragraph type.

Hmm. That's probably because I turned of H1 since there's already a title at the top. Should the title be separate?

> but Pro version popup is triggered.

This can be annoying. It has been on my backlog to fix this and make it less annoying but I haven't gotten to it so far.

> It would be much cleaner cut if only syncing service is paid.

I took the opposite route with Notesnook. App functionality is limited but you get unlimited syncing to unlimited devices.

> In general I would love to be able to restrict formatting UI to just markdown features. I don't want to accidentally change font size or mess with text alignment. All included options for text formatting are just noise to me and I prefer simplicity in note taking.

Or in other words, a way to hide the toolbar. I noted it down for later.

Thank you so much for taking the time to point all these small things out. Means a lot.

thecodrr··on Incremental note-taking
> What It Lacks - Markdown, or something similar - Import/export - revision control - hierarchical structuring - sharing notes with non-keep users - linking to other notes within the app

Noticed this so wanted to pitch in. Notesnook [0] solves most of these.

There is full markdown support, import from all the big note apps, you can share notes with anyone via Monograph [1].

Internal linking between notes is planned.

Google Keep is a awesome but only for taking quick notes. You are stuck as soon as you want to write something longform. Not to mention the privacy implications.

[0] https://notesnook.com

[1] https://monograph.notesnook.com

thecodrr··on Incremental note-taking
Sounds convenient but not everyone has a Samsung Note device.
thecodrr··on Incremental note-taking
> This means our tool has to be fast, and can’t burden you with questions like “In what folder should I put this?” that aren’t relevant in the moment.

This is so important. I feel most note taking apps approach note taking the wrong way: organization first, ideas later. Most of our notes are random and the only real organization they can fit into is time.

I have recently launched a note taking app [0] that keeps this in focus. In my opinion, "organizing notes" is often done after "writing notes" and that is how the app is built.

1. Note taking is a fast activity - you can take notes from any where in your phone, opening the app is fast, the steps to actually writing a note are frew, the note editor is uncluttered and stays out of the way, and the app works anywhere you have a browser & an internet connection.

2. Time is a first class citizen: all notes are sorted by date created, grouped by modifiers like year, week, month & alphabetical.

3. The app doesn't force you to organize your notes i.e., there's no special distinction between organized and unorganized notes. Some apps put unorganized notes in a specific folder or tag. Not so with my app. The focus is on writing notes; organization comes later.

4. Recalling notes is currently not the most amazing thing. There is full text search, however I feel like that's not enough. Things like similarity search (based on tags) or advanced filtering are yet to be implemented.

I think all these fit well into the incremental note taking system. However, that's a coincidence really.

[0] https://notesnook.com/

thecodrr··on Notesnook: A Private Note Taking Alternative to Evernote
1. Joplin has no web version. 2. Joplin's so-called "encryption" is not their main focus 3. The organization features are barebones (without plugins) 4. Their export format (JEX) is horrible. 5. Their "cross-platform" apps are also not 100% cross compatible.

There's a lot missing in Joplin. Notesnook is not going after Joplin though; it has already crossed it in terms of privacy, security, portability, and UI.

thecodrr··on Notesnook: A Private Note Taking Alternative to Evernote
All details about pricing are available here: https://notesnook.com/#pricing
← PreviousPage 2 of 6Next →