24 votes

Forever ✱ Notes — A simple and scalable digital note-taking method for Apple Notes

16 comments

  1. [8]
    Zorind
    Link
    From an initial glance, this reminds me a little bit of https://johnnydecimal.com I’ll have to look into it more, might incorporate some of it into my workflow.

    From an initial glance, this reminds me a little bit of https://johnnydecimal.com

    I’ll have to look into it more, might incorporate some of it into my workflow.

    12 votes
    1. [5]
      terminal
      Link Parent
      This seems like it would require diligence to maintain. I trust in search to find files and keep a flat folder structure

      This seems like it would require diligence to maintain. I trust in search to find files and keep a flat folder structure

      7 votes
      1. [4]
        Adarain
        Link Parent
        You definitely have more trust in yourself to name files in a way that’ll let you find them again in the future than I do. Another thing I’ve found quite appealing is that it would transfer well...

        You definitely have more trust in yourself to name files in a way that’ll let you find them again in the future than I do. Another thing I’ve found quite appealing is that it would transfer well onto storage spaces other than my file system – e.g. categorizing emails, or physical paper documents. I’ve read through the documentation yesterday and have now been considering implementing it. My major roadblock is honestly just that I’m a bit of a perfectionist and would be perpetually annoyed if I forgot about something important that then had to live with a clunky high ID (or a lot of renaming work). They do offer a template for a lil bit of money, but just looking at the preview I can tell it makes at least some assumptions that don’t apply to me.

        3 votes
        1. [3]
          terminal
          Link Parent
          I like your idea of transferring it into meat space documents even if i dont have too many of those. As for naming the files. I do try to leave descriptive names but i trust tools that can read...

          I like your idea of transferring it into meat space documents even if i dont have too many of those.

          As for naming the files. I do try to leave descriptive names but i trust tools that can read the files and search their contents. I also use a roam like system and attach files to notes so they have some semantic context.

          Some tools i use:

          1 vote
          1. [2]
            gpl
            Link Parent
            I recently switched to Obsidian from Notion (trying to move towards future-proofing my notes as best as I can, and didn't love that Notion was proprietary). org roam looks pretty similar to...

            I recently switched to Obsidian from Notion (trying to move towards future-proofing my notes as best as I can, and didn't love that Notion was proprietary). org roam looks pretty similar to obsidian — I'm curious what factors sold you on one over the other?

            2 votes
            1. terminal
              Link Parent
              I actually used obsidian for some time and its good out of the box. I wanted to use org-mode as its more powerful than markdown. Also emacs is a full on text editor so you get all kinds of bonuses...

              I actually used obsidian for some time and its good out of the box. I wanted to use org-mode as its more powerful than markdown. Also emacs is a full on text editor so you get all kinds of bonuses with quickly working with text.

              Downside is learning emacs isnt a small venture. But if youre trying to future proof your stuff emacs might be somewhere to look. The thing is ancient. It’s been actively developed since the 70’s and still going strong. Can’t get much more promise of future proofing than a program with more than 40 years of history.

              But seriously just keep using obsidian. I love emacs but i spend entirely too much time playing around with it

              3 votes
    2. 0d_billie
      Link Parent
      I've not heard of this before, looks like a fun rabbit hole to jump down!

      From an initial glance, this reminds me a little bit of https://johnnydecimal.com

      I've not heard of this before, looks like a fun rabbit hole to jump down!

      3 votes
    3. Queresote
      Link Parent
      Wow! This has come at the perfect timeframe for me. I'm already looking at Personal knowledge management (PKM) / Personal information management (PIM) systems as a better way to provide rigid...

      Wow! This has come at the perfect timeframe for me. I'm already looking at Personal knowledge management (PKM) / Personal information management (PIM) systems as a better way to provide rigid structure to how I organize my resources and notes. My current problem is tagging and archiving notes under files that have a lot of vagueness in their applicability.

      Currently, I've been looking at the Library of Congress Classification, but it focuses purely on books and is very… universal and dry, instead of personal. The Cutter Expansive Classification isn't expansive enough to my tastes, either.

      I think Johnny.decimal is one step closer to a possible solution, so thank you for this resource.

      1 vote
  2. [2]
    gil
    Link
    This looks interesting as a starting point, but I wouldn't trust any proprietary format to take notes that are supposed to last "forever", as they say. We know apps die all the time and often...

    This looks interesting as a starting point, but I wouldn't trust any proprietary format to take notes that are supposed to last "forever", as they say. We know apps die all the time and often there's no easy way to migrate your data. You don't need to use anything too powerful like Obsidian, there are many simple apps to edit Markdown, like Bear.

    5 votes
    1. stu2b50
      Link Parent
      It would be quite extraordinary for the notes app to die. I don’t think it’s something you need to worry all that much about. Additionally, push to come shove, the format isn’t really proprietary....

      It would be quite extraordinary for the notes app to die. I don’t think it’s something you need to worry all that much about.

      Additionally, push to come shove, the format isn’t really proprietary. Notes just stores its data on a local SQLite database, from which extracting data is quite easy.

      6 votes
  3. [5]
    hungariantoast
    Link
    Personally, this isn't the note-taking method for me,[1] but I do think it's a very cool and clever use of Apple's Notes app. Anything that gets more people to take notes is a win in my book. For...

    Personally, this isn't the note-taking method for me,[1] but I do think it's a very cool and clever use of Apple's Notes app. Anything that gets more people to take notes is a win in my book.

    For someone with a work-issued iPhone, who can't install apps themselves, this could be very useful.


    1. I use Org-roam at my computer and Logseq on my phone to be able to view and edit my notes anywhere. Compatibility isn't perfect, but Logseq has a few options you can set, and Emacs is inifnitely extensible, so I make it work.

    4 votes
    1. [4]
      heraplem
      Link Parent
      I'm wondering how you make logseq work. Last I tried it, it couldn't handle org-roam ID links, which is a dealbreaker.

      I'm wondering how you make logseq work. Last I tried it, it couldn't handle org-roam ID links, which is a dealbreaker.

      3 votes
      1. [3]
        hungariantoast
        Link Parent
        Right, Logseq uses a [[wikilink-like]] syntax for linking to other notes, whereas Org-roam uses an ID-based syntax like this: [[id:93174z8f-f5d1-454a-aca6-2dcc6965a47c][id-based]] Org-roam doesn't...

        Right, Logseq uses a [[wikilink-like]] syntax for linking to other notes, whereas Org-roam uses an ID-based syntax like this: [[id:93174z8f-f5d1-454a-aca6-2dcc6965a47c][id-based]]

        Org-roam doesn't work with the Logseq-style link syntax, because in Org-mode, the [[wikilink-like]] syntax is considered a hyperlink to another part of the Org file, rather than a link to an external file. (That style of link does work in md-roam though.)

        However, Logseq does support the Org-roam-style link syntax. Support for interacting with Org-roam links that already exist in a file was added in March 2022. Since then, you should be able to click on Org-roam-style links in Logseq and navigate to the files they point to. Other functionality isn't perfect though. Org-roam links still aren't represented correctly in Logseq's graph view, for example.

        So Logseq can't create Org-roam-style links, but it can read them. Org-roam can only create and read its own style of links. If you write all of your notes in Org-roam and only view them in Logseq, you shouldn't encounter any issues. As long as you set Logseq to use Org instead of Markdown, everything should "just work". However, if you're also going to use Logseq to edit your Org-roam notes (like I do), then you're going to have to work around some issues:


        First, link syntax:

        Org-roam-logseq is a package for converting Logseq-style links to Org-roam-style links. It comes with commands you can run to perform this conversion manually. However, it should automatically convert any Logseq-style links in an Org file in your Org-roam directory when you open that Org file from a buffer in which org-roam-mode was enabled. This allows you to create links between files in Logseq, and have them automatically converted to Org-roam-style links, that both programs can read, the next time you open those files in Emacs.


        Second, filenames:

        Org-roam's convention for filenames is pretty nice. First, it prefixes the filename with a datestamp. Then, it takes the title of the note, strips out the special characters and spaces, downcases everything, and uses that for the rest of the filename. Here is the filename for a note I recently created on static site generators:

        20240930231929-static_site_generators.org

        Being Emacs, you can of course customize exactly what Org-roam's filename convention should be, but I consider the default good enough and haven't messed with it.

        As for Logseq, I find its filename convention to be much worse. Logseq basically just names the file literally, based on the note's title, including special characters and all. It will add triple underscores (___) and percent-encoding for a few characters, but it doesn't strip out spaces and overall, the filenames come out really ugly. It doesn't really matter, Org-roam has no trouble working with Logseq-created filenames, but I prefer Org-roam's convention. It is possible to configure Logseq's filename convention, but they put scary warnings in the config file telling you not to, so I don't. Instead, I use another package, Org-node, to automatically convert filenames.

        Org-node is actually really cool, and does a ton of stuff. It can straight up replace Org-roam if you want, or you can (like I do) use both packages together.

        Org-node comes with a command, org-node-rename-file-by-title, that (you guessed it) renames a filename to be based on its title property, or whatever other convention you've configured the variable org-node-slug-fn to. By default, Org-node sets that variable to the org-node-slugify-for-web function, but if you want it to follow Org-roam's default convention, you can set it to the org-node-slugify-like-roam-default function instead (that's what I do). If you want it to use the same datestamp as Org-roam's default, you'll need to set the variable org-node-datestamp-format to "%Y%m%d%H%M%S-".

        Anyways, using org-node-rename-file-by-title we can rename Org files created by Logseq, or any other Org file in our Org-roam directory, to maintain a consistent filename convention.

        (Org-node also comes with the command org-node-rename-asset-and-rewrite-links that renames a file and updates any existing links to that file to its new filename/link. Like I said, really cool package.)


        Third, properties:

        So every Org-roam file begins with a few lines of properties. By "properties" I mean this stuff:

        :PROPERTIES:
        :ID:       93174d8f-f5d1-454a-aca6-2baa6989a37c
        :BACKLINKS: [[id:60d98455-0bd7-407f-b5a7-54d6a9c28623][Index]]
        :END:
        #+title: Org-Roam
        

        If you create a new Org file in Logseq (or "page", as Logseq calls it), it won't add any of that stuff to the file. So, Org-roam has no idea the file exists, even if it's in your Org-roam directory. Org-roam-logseq can handle this for us though.

        Either by manually running a command, or automatically when visiting an Org file in your Org-roam directory from an active Org-roam buffer, Org-roam-logseq will check if the Org file being visited has the necessary properties. If the file doesn't, Org-roam-logseq will, in addition to converting any Logseq-style links, generate the properties for the file, including an ID, and title based on the filename.


        Those are the three "gotchas" when using Org-roam and Logseq together, and each of them can be solved with an Emacs package. There are a few more issues you'll have to deal with if you use md-roam to integrate Markdown files into your Org-roam notes, like I do. I haven't even started looking at how to work around those issues though, so I don't have anything to add about them yet.

        I will say that there is a certain level of jank in this setup, and most of it has to do with Org-node being a relatively new package undergoing a lot of changes, and Org-roam-logseq originating as a personal file for one Emacs user and never being converted to a proper package. Like, Org-roam-logseq's commands all start with bill/ lmao.

        There is a fork that renamed the package to Loglink, but aside from some simple cleanup, the author hasn't done much with it yet.

        I'm probably going to rewrite Org-roam-logseq myself in the near future. I'd like to make more of its functions callable as commands with M-x, and remove some of the requirements it imposes on how you have to configure Logseq (most of which aren't actually true or correct anyways).

        Finally, I just want to mention again that Org-roam-logseq's functions work automatically, and point out that Org-node's file renaming function could also be made to work automatically. That's something else I'm interested in writing: a custom Emacs Lisp function that goes through my Org-roam directory and updates any non-conforming files (like those created by Logseq) to have proper filenames, links, and properties each time I open Org-roam. I track all my files in Git, so I'm not worried about making automatic edits.

        5 votes
        1. [2]
          heraplem
          Link Parent
          Thank you for the extremely detailed breakdown. I would start implementing these customizations to make my org-roam DB compatible right now, but I see that Logseq is going to be deprecating the...

          Thank you for the extremely detailed breakdown.

          I would start implementing these customizations to make my org-roam DB compatible right now, but I see that Logseq is going to be deprecating the Org mode syntax, so I think that this is not a good direction for me to take going forward.

          1 vote
          1. hungariantoast
            (edited )
            Link Parent
            Wow, I didn't know about that. I'm so disappointed now. Thanks for pointing that out though. At least now if I do any work on rewriting Org-roam-logseq, I'll know it might only be useful for a few...

            Wow, I didn't know about that. I'm so disappointed now. Thanks for pointing that out though. At least now if I do any work on rewriting Org-roam-logseq, I'll know it might only be useful for a few months.

            Apparently they haven't ruled out supporting Org files in the future, after their upcoming "database version" releases, but they certainly aren't committing to it either.

            1 vote
  4. pridefulofbeing
    Link
    Neat to see other methods. Already using Obsidian and the "ACE" framework by Nick Milo. Seems similar in some ways. For me, Obsidian is used as it is a plain text file even if I don't have...

    Neat to see other methods. Already using Obsidian and the "ACE" framework by Nick Milo. Seems similar in some ways. For me, Obsidian is used as it is a plain text file even if I don't have Obsidian in the future. It's future proof.

    Apple Notes is harder to export in the same way.