1. 23

Hey Guys, I would love to know how do you keep track of things you discover/learn while working on your job or sideprojects.

I have currently adopted a very simple method pf writing everything in a markdown file and putting it on github.

Here’s the repo: https://github.com/mraza007/til

As a linux user I always discover something new or find ways to do things quick on commandline instead of keeping it in my memory and forgetting it later I decided to keep an entry of things I learn/discover.

I would love to hear your thoughts on how do you keep track of things you learn or discover

    1. 28

      I don’t. I found it’s a waste of time. I’ve learned that I’m very bad at judging what I’ll find interesting a few months from now. Soon the log becomes too big to find anything in it. It has to be searchable because soon you’ll only look for how to do things that you know you can do, but most often the Internet is already searchable enough for that.

      For work I did start with paper notes for short-term stuff, and contributing to the documentation server because you can’t just google the quirks of our product.

      1. 1

        That was true, in my case, years ago when search worked. It was better to look for the latest on the web than search my own knowledge base for slightly outdated results.

        But today, in the last couple of years, I go first to my own search engine. Then to the web to check if I can find an update on a topic. If not (I run out of energies, got frustrated, etc) then what’s in my knowledge base is good enough.

        1. 1

          hey, I’m curious to know do you have an instance of your own search engine

          1. 1

            sorry :) that comment was related to https://lobste.rs/s/z8rowj/how_do_you_keep_track_things_you_learn#c_iqmrkj that is my “own search engine”

    2. 11

      tl;dr emacs

      I track everything in one really big notes file.

      Org-mode has a feature that is called “capture”. I just got into the habit of slamming the capture button all the time, with some metadata that flags the date of capture – then I can annoy myself and be like “here are all the things you captured like a month ago, are you still interested in it”?

      A few years ago I read Getting Things Done, and my main takeaways were:

      • Have a system to get shit out of your head
      • REVIEW the system regularly (or else you just build a big list of TODO’s/it’s picture isn’t reality)
      • REMIND yourself why you want to do what you are doing

      With org, everything is plain text and thus searchable. Beyond the scope of my own “knowledge store”, I’ve been eyeing wallabag for articles, mostly because it tracks the reading position you are in.

      Since everything is just headlines + metadata, you can structure things however you like and fish out shit later. One thing I did recently was the ability to fish out a note to a file, so that I can share it to my blog (screenshot).

      org-modes scope goes beyond a capture target, as it encompasses:

      • timekeeping
      • scheduling/planning
      • a lingua franca export markup (because with org macros and exporters, there is always an escape hatch to your desired output)
      • TODO status/archiving
      • habits (repeatable TODOs)
      • priority ratings
      • link targets (which you can use to make “labelled bookmarks” but to anything)

      There are very much footguns, but it’s a powerful set of systems to learn, and you can opt into as little or as much as you want. The above list represents a few years of org usage before I feel like I /know/ how to shape it to my needs. But it’s a great tool to dive into.

      1. 2

        Are your dotfiles available or would you share your capture templates?

        1. 4

          Sure! I’ll link some smatterings here. Disclaimer: I have a tendency to treat org as a kit to build what I want, using primitives such as ts.el, org-ml, and org-pomodoro along the way.

          Captures: I use org-ml to dynamically build captures with doct. Within projects I maintain targets for {captures,notes,tasks} for {to review, to reference, to do}. I also have a function that acts like org-refile, but uses the capture interface. Code here.

          Timekeeping: With an emacs timer, I can ensure I am always clocked into something, and annoy myself if I’m not: link.

          Scheduling/habits: here is a function I use to alert myself just before scheduled TODO’s come up. With org habits, I get recurring scheduled things, and the alert stuff just werks on those as well.

          Jumping to headlines: here is a function I use to jump between headings, derived from counsel-org-goto.

          The source of this blog post (button at the bottom right) shows how export macros can be tailored to an export target (in this case, html)

          And last, a focus mode for when I’m in a pomodoro.

          1. 1

            Thank you so much!

      2. 1

        After reading your comment, I’m very much convinced to try org mode and put in some time to learn org mode

    3. 9

      I’m using email. When I find something interesting I’m emailing it to myself. Then I add tags. Then remarks, comments, updates - all as replies.

      Unlike apps which pop up and go this method is quite resilient and effective.

      1. 3

        I’ve been doing this as well, using Firefox‘s experimental Email Tabs to send whole articles. It’s been working out really nicely.

        1. 2

          Dang, too bad it doesn’t support other email providers.

        2. 1

          I do this also.

      2. 2

        That sounds pretty effective, I’m just curious to know what email provider do you use

        1. 1

          Gmail. But tagging and searching is available perhaps in any client / provider

      3. 2

        This gives you tree structure for free, but it seems difficult to cross reference. How do you link to other emails?

        1. 1

          I don’t :) I mean I don’t link, but I could. Every email has an id. In Gmail I would use the link from “View original message”, I guess.

          Some cross-referencing is offered by the overlapping tags. For example, I have an entry tagged with typography, resource, another with layout, resource … then resource becomes sort of a meta tag proven to be very useful.

    4. 6

      I use org-mode in emacs to track nearly everything I do. I write notes from meetings, record decisions. At my last job I wrote 65000 lines of notes over four years. Those notes saved me and my team much time when we need to remember why or how something was done a certain way years later.

      My personal notes go back to 1995 and include code snippets I can still compile today. It’s informative to see what work things stressed me out then and compare to now. When I forget how to read a file in some language, I can refer to those notes and quickly pick it up again.

      1. 2

        Cool! Any tips for organizing such a file?

        I’ve used Emacs and org-mode for quite a number of years now (approaching 15 years now, from uni to work et c) and while it’s great I’m always curious how others are organizing their files.

    5. 4

      Not a particularly helpful answer, but I tend to just remember everything. I might not remember how to do it exactly, only that I can do it, and in cases where I feel that finding the resource where I learnt something might be hard, a browser bookmark handles the job of making it discoverable.

      1. 2

        How long does that last though? Memory degrades over time, and unless you actively repeat everything you know (which seems pretty difficult to begin with), the chance of remembering what you learn today seems slim 5, 10, 20 years later.

        1. 1

          I think my memory is quite good right now, but being 19 I can’t tell how well I remember things that I saw 20 years ago. I definitely remember things that I saw 5 years ago, and I’m pretty sure I still have some project ideas floating from ~8 years ago. Of course, when I’ll find that I have problems with my memory, I’ll have to find a more permanent solution, but right now memory works just fine.

    6. 4

      I save links to Pinboard and keep thoughts within org-mode.

    7. 4

      Things that matter to me, I write about it.

      Everything else I reference whatever resources.

    8. 4

      Badly. (I sometimes blog about it.)

      1. 2

        I also put it on my blog so other people can find it too

      2. 1

        I’m inconsistent about that, but I blog for two reasons:

        1. Writing practice. I find my writing skills improve that way.
        2. Help me remember things I’ve learned that either weren’t very discoverable from a search engine or that I’ve had to search for 3 or more times. (The act of writing helps cement it in my memory sometimes.)
    9. 4

      I have been using Obsidian to keep track of what I learn, and it has been working great for me so far. I love the fact that I can quickly link concepts together without too much hassle.

      1. 1

        +1 for Obsidian. I like that it’s all local, and in plain markdown. I setup a small script to automatically checkin changes to a git repo, for syncing.

    10. 3

      I use https://joplinapp.org/ synced to my Nextcloud instance (WebDAV). Joplin is super awesome, it is quick, search is great, writing and editing notes in Markdown is natural for me. I’ve used Notion in the past and found that it’s slow, the different components/block system actually gets in my way of composing notes. And then, Joplin allows me to take a backup of my data seamlessly.

      With the tool out of the sight, it’s really important to figure out a workflow as well for yourself. There’s no point in finding a good tool and not using it enough (or just forgetting about it in the next few days). Here are few ways I use Joplin:

      For Knowledge Management:

      • Have 2 Notebooks: Work/Personal. (self explanatory)
      • Inside Work, I have multiple sub-notebooks which touch broadly each category of the stuff I do (eg Golang/Ops)
      • I’ve a Scratchpad sub notebook in both Work/Personal and this is actually where I spend most of my time on. During the day or while doing the task, I make it a point to just log down whatever I did to not forget it later (if I think it’s worth saving for future) and not particularly care much about grammar, formatting etc. The idea is to log down as soon and go back to what you were doing. Depending on the workload during the week, I take the Scratchpad and move the entries to their correct categories and format them nicely. This usually happens twice a week (Wed and Sat) but no fixed rule. The idea is inspired from “Inbox Zero”, so at the end of every week I aim to have a clean scratchpad and whatever I’ve learnt during the week goes in correct categories.

      For Bookmarks: One Notebook with multiple sub notebooks with categories like:

      • Articles
      • UI Inspiration
      • Tech Talks
      • etc..

      I use Joplin Web Clipper Extension which allows me to save the entire link (as HTML or just URLs) in these notebooks. Each new entry is a new note, that allows me to also take short notes on that particular URL later (like few notes after watching a tech talk) etc.

      I heavily use Tags in all my notebooks, which allows me to have a unified view of different kind of stuff I’ve. For example “golang” tag in my Work notes and Personal notes, allows me see all the “golang” stuff together in one place.

      This system isn’t ideal/perfect or it may not suit you as well. And I didn’t reach at this workflow from day 1, took me many iterations and experimenting with different tools until I settled on this. And now I think I’m fairly satisfied with this approach. Joplin is <3

      1. 3

        Just came here to praise Joplin!

      2. 2

        +1 for Joplin. It has honestly been a Warp Speed productivity boost for my learning and retention.

        Realized I should at least try and add some value :)

        I make heavy use of both notebooks and tags. So I have Tech, Househoud, Gaming notebooks, and about a bazillion tags for every possible attribute, but I can at least restrict my search to the correct sphere, which is especially useful if I know I want a particular thing but can’t successfully retrieve it using a tag search.

    11. 3

      emacs, org + org_roam

    12. 3

      I use a personal wiki and with a few patches find it highly effective.

      1. 1

        Hey just curious, Do you have your own instance of wiki? I would love to check it out

        1. 1

          I use gitit.


          Most of my patches are quality of life things like allowing spaces in categories or making the search case insensitive.

          Oh and I use this theme https://github.com/t13a/gitit-bootstrap-theme with some minor tweaks so I can edit on my phone.

    13. 2

      Since the question can be seen as general I’ll give you a specific answer as to how I deal with a subset of this issue. The things I learn - I tend to remember (for the very least, I remember there’s a specific method to solve a specific solution, and I know what to look for). But in order not to waste time finding that thing I remember I learned but forgot parts of, I use Pocket to bookmark links; That’s why I started with saying it’s a specific answer. I don’t tend to keep “small” things I remember. So commands might fall into that category; But if you learn things like commands through blogposts, SO posts and so on, you could bookmark them on Pocket under tags. That’s what I do anyway, and it’s handy as I used to be a full stack web developer up to 3 months ago, and I’ve partly made a transition into indie gamedev. So there’s a lot of math to re-learn, techniques, advanced topics that I know exist and can categorize them - I keep them on Pocket.

      1. 2

        Nice, I have been using pocket too and it has worked really well for me when saving my bookmarks

    14. 2

      I’ve been trying to use a Zettelkasten for this purpose. I have yet to see how it works out, since I’ve only been doing it for a few days :^)

    15. 1

      Usually when working, I have a notepad where I write stuff to keep in mind, one shot stuff or a simplenote tab open. I have neuron set up for more long term stuff and a notebook too depending on what is it. I also collect bookmarks in different sub folders with broad cetegories and tagging for sub category.

      The notepad/simplenote tends to filter what I will retain on the long term and what is just because a chain of thoughts had been triggered. I tend to got back to those notes every month-ish to see what happens in my head.

    16. 1

      I am using Notion and applying a modification of the Building a Second Brain methodology. I plan on publishing a post explaining how to build a Personal Knowledge Management System using Notion.

      Long story short, I send all interesting snippets to Evernote, and every few weekends, I curate my links from Evernote by copying them into Notion, adding tags and other information, and/or discard Evernote links that aren’t interesting anymore for whatever reason.

    17. 1

      I keep a text file, but I don’t add new stuff there nearly as often as I should.

    18. 1

      I have started doing something similar this year. I create a directory for a specific subject, e.g. java, linux, vim and there I create a markdown file with the note that I want to add. I also have added some of my dotfiles there.

      I have a directory tree file at the start of the notes which is generated by a tree command. The repository is here, https://github.com/svagionitis/my-notes.

    19. 1

      Lots of bookmarks. Every month or so I’ll go through my bookmarks and try to organize them. Although this has now led to me think about designing a better way of organizing and storing them in the long run, since Chrome’s bookmark manager is cumbersome at best.

    20. 1

      Stuff I find online (like links from here) I keep in my wallabag so I can read at a later date if I wish. I go through lots of articles this way, but it’s silly to think that I’ll ever go through them all.

      It also syncs to my phone so it stays pretty syncronized even if I’m in the cabin with unreliable network access. I love it.

    21. 1

      I’m using Notion with their education plan. So far the experience is good.

    22. 1

      I make a note in Notion if it’s something big, or I post on my Mastodon feed with the #TIL tag if it’s something small and toot-able.

    23. 1

      I take daily notes on things in text files all dumped in a single folder… grep to find stuff. Any interesting links I find I add to https://hypothes.is/users/gabeguz or https://getpocket.com/ (sometimes both) I like hypothes.is better since I can annotate/highlight sections of an article and come back to them later. The nice thing about pocket is it syncs with my ebook reader so I can read long blog posts later. I search for links… weekly probably?

    24. 1

      Badly! I keep a notebook throughout the day which is used for short-term notes and tracking tasks.

      I don’t do task tracking every day, but particularly when I’m busy I find it invaluable to stop looking at a screen for a few minutes, write a list and prioritise items. Those lists are dead information after a day or so and I often tear out old pages if they don’t have other content on them.

      For projects which require more formal/structured note-taking I use Joplin.

      Anything I want to keep from either is usually project-specific and gets put into shared company documentation.

      Otherwise, I’ve found in the past that trying to keep more general notes on things I’ve learnt has limited value because I don’t revisit it effectively. Maybe I could make an effort to fix that but so far it hasn’t been necessary - the act of writing notes helps me to process information, and it’s usually faster to refresh my knowledge from Google than dig through old notebooks or Joplin files.

    25. 1

      I only keep track of trivia in a somewhat structured way. If it’s a holiday or historical event, I’ll add it to my calendar file. Then I call calendar in my shell startup script, and when the date comes up it’ll prompt my memory of what happened.

      I also have a til script. It looks like this:

      #!/usr/bin/env sh
      if [ $# -eq 0 ]; then
      	printf "til "
      	cat $XDG_CONFIG_HOME/til | sort -R | tail -n 1
      	printf "%s\n" "$*" >> $XDG_CONFIG_HOME/til

      It’s simple, but it works. I learn something and type til a second is defined relative to radiation levels in a caesium atom. That’s also in my shell startup, so I get some fun trivia whenever I open a new shell.

      til that a second is defined relative to radiation levels in a caesium atom
      Feb 03* seminar: ethics (9:00-10:30)
      Feb 04  patricia hearst kidnapped by symbionese liberation army, 1974
    26. 1

      A private wiki.

      1. 1

        What software do you use for that?

        1. 2

          MediaWiki, the software that Wikipedia uses and provides free to anyone. All you need is LAMP. https://www.mediawiki.org/wiki/MediaWiki

    27. 1

      I have a couple of shell functions to append to a timestamped daily log file. The log file directory is set up in Obsidian for handy cross-referencing.

    28. 1

      Along with my git-managed dotfiles, I keep a git-managed set of files for $CURRENT_JOB, including: a running log of what I do every day, added to in reverse order, i.e., most recent day at the top, and a ‘snippets/howtos’ file.

      The snippets file ends up being extremely useful, frequently, especially when someone asks how to do something that I’ve figured out and then forgotten.

      If you can get into the habit of keeping the daily log, it can change your life.

    29. 1

      For me, it depends on what I’ve discovered, and where it’s relevant. I’ve started using Johnny Decimal folders for tracking projects and household stuff (Work gets one set of folders on my work laptop, home gets one set on my home laptop).

      One other thing is that I’ve decided that it is more than ok for me to not remember everything I’ve learned. Usage will help cement the important bits.

      Far more important is tracking appointments and other obligations.

    30. 1

      I keep almost everything in org-mode. I publish most of it here https://beepb00p.xyz/exobrain, and here are the source files https://github.com/karlicoss/exobrain

      • some pages are a bit messy (literal piles of links) It’s still useful, because I can instantly search over everything I saved in the past (and yes, I find useful info there). In adittion, sometimes I skim through links, re-prioritize and explore the top priority ones – this helps to manage it to an extent.

      • some are more organized, usually I do it for ‘project pages’, or when I am sharing some best practices, or preparing to publish in my blog

    31. 1

      I’ve been trying to maintain a lab notebook: http://lab.bjg.io/

    32. 1

      I keep a VimWiki install with:

      • Pages for various topics, the names of which map to tags I also use for bookmarks on Pinboard and entries on my blog. These get summaries.
      • A diary entry for each day.
      • Some hotkeys to create simple datestamped log entries, which link to topic pages.
      • A hotkey for looking up the log entries that reference a given topic.

      I bookmark stuff with appropriate tags and brief notes as I find it. Occasionally, if I’ve got the energy and I think it’ll be useful, I write a blog post about a given solution. Increasingly, the notes I’ve already taken will accumulate into a useful post or a wiki page update for documentation at work.

    33. 1

      I practice something I call Blogumentation - blog posts as a form of documentation which means I’ll post a blog post for a lot of new learnings, or non-trivial things I’ve done. It’s working pretty well, cause others get to use the resources too, as they’re tagged blogumentation on my site

    34. 1

      I bookmark the links (I use lots of folders and sub-folders as a minimal effort at organization) and have various text based todos/notes. There are too many things to pursue, so most of these are lost over time. However, when I do need a particular topic, the saved links help a lot.

    35. 1

      I host a public PL resources “wiki” type deal on my website and write about some of it in long form on my blog.