I use a single text file, have done this for decades. I dump everything into it and don't worry too much about structure, it's an incredible resource for "remembering" minutia, things like "what was that server that i thought might have had some issues last August?" Just a quick control-S and I'm there. My current 7+ year old notes file has about 100K lines in it right now. I can tell you what I was doing last year, or the year before, on this day, in seconds.
I just type
note (maybe some text here)
and it cracks open Emacs on the notes file, adds a timestamp, appends the optional text, and then I can just type or paste something in. Nearly frictionless, that's key. Great for writing those miserable annual reviews, too (easy answers to "what have I worked on in the past year?")
I use plain old notebooks (simple blank sketchpads, or something bound like a Moleskin/Lecchturm) for meetings, interviews, walking around datacenters and so forth where a keyboard is awkward and anyway, drawings.
I've tried the EverNote/OneNote/etc. apps and none of them were as convenient or as easy to use, or as portable.
I'll toss in my setup too, which I started semi-recently and has been working well:
In my .bash_profile I essentially just `open --background -e "...$(date +%F).txt" &`.
Since I'm in the CLI daily for work, I get day-stamped files passively opened without having to think about it. It's a nice quiet reminder to keep notes throughout the day, and it all just goes into a folder in dropbox that I can trivially `grep` or add with other tools or add side-files (typically "date - stuff.ext" so they appear next to the day's notes).
Being doing this for years also, occasionally emailing to myself as a backup, mine is at nearly 60k lines.
Top tip is to add meta tags. I suffix them with a colon to help with searching. For example, the section containing my git notes begins with this line:
Git notes: / Git: / Git commands: / Github: / Git bash:
And any time I search for something I didn't have a tag for, then I add a new one, even misspellings.
Funny how similar this one it is to mine: I use tags surrounded by colons so I can attach a few of them and grep them easily (distinguishing them from normal text contents)
Was inspired by this, threw together this hack for vim users.
#! /usr/bin/env bash
cd ~/share # or wherever
echo >> notes.txt
date >> notes.txt
if [[ $# -ne 0 ]]; then
echo $@ >> notes.txt
fi
vim "+normal Go" +startinsert notes.txt
Enough to see if this will work for me.
I also aliased this to something short so I can quickly view notes starting at the bottom:
vim "+normal G" ~/share/notes.txt
I also would like to use something similar but I wish to add new text on the top of the file (so oldest notes go to the bottom). I ended with something like this:
This isn't exactly what was asked for, but because I live in emacs I don't get much value being able invoke it from the command line. If that's ok, try this..
(defvar org-journal-file "~/Dropbox/org/engjournal.org"
"Path to OrgMode journal file.")
(defvar org-journal-date-format "<%Y-%m-%d %a %I:%M %p>"
"Date format string for journal headings.")
(defun org-journal-entry ()
"Create a new diary entry for today or append to an existing one."
(interactive)
(switch-to-buffer (find-file org-journal-file))
(widen)
(let ((today (format-time-string org-journal-date-format)))
(beginning-of-buffer)
(unless (org-goto-local-search-headings today nil t)
((lambda ()
(org-insert-heading)
(insert today)
(insert " "))))
(beginning-of-buffer)
(org-show-entry)
(org-narrow-to-subtree)
(end-of-buffer)))
(global-set-key "\C-cj" 'org-journal-entry)
So, C-cj will open the file, create a timestamp entry at the top, and narrow to the subtree. Great for creating timestamped notes. I keep a journal this way (multiple entries per day are fine), but it could be used for any note taking.
I actually work in Windows, and use an Emacs clone called Epsilon, so my tiny batch file and Eel-language customization probably won't help you. It's really just a few minutes of work in any event.
I've been doing something similar to track what I do at work for just over a year. I tried keeping a home journal with a similar technique, but it didn't stick.
I have a git repo set up, and I run: "vim `date -I`", which opens a text file named for the current date (2020-02-08 today for example). Then I'll put in notes about what it is I'm currently working on.
I've come up with the convention of separating tasks with three equal signs (===) and separating updates to a single task with (--).
The main thing it's been helpful for to me, which is honestly probably why I've kept up with it, is that I'm bad about doing my daily timesheets. So once a month when our accounting lady gets after me, I'll go back through my notes and fill everything in.
That was the ethos behind the app I wrote, https://screwnotes.com - I just wanted a note taking tool that syncs everywhere and I there's only one way to add items. I don't want to wait for a product to load, or to have to make any mental decisions about organisation, due dates, or relationships between items.
I like the idea but I wish your website showed me what the app looked like and a rough idea of what features were available before I create an account.
I'm similar, but with vimwiki. <leader>-w-<leader>-w will open an entry for today's date, so for me ~/vimwiki/diary/2020-02-08.md. `<leader>-w i` will show a list of all entries. Pretty convenient stuff. I have mine start with a template as well, with a few common headers.
Same, of course. I added some bash aliases to make it much easier to write to the file, and use markdown instead to allow tracking todos easier.
I also added a vim command to push it to github while editing. These just remove barriers to opening and syncing the file, but the concept is the same.
This is the best thing I’ve ever read. The answer has been right in front of my eyes. I’ve been searching for a good note/things to know/knowledge storage app for decades. And a single text file seems like the best option. I’ve already started transferring stuff today to a text file.
Just a thought but would't creating a new file for each year make it more maintainable? I can't imagine searching a 100k line file or scrolling through it.
I find it useful to have everything in a single buffer, it makes searching easier. Otherwise I'd have to start issuing 'grep' commands and worry about which file is which, and get clever about regular expressions when all I want is instant, friction-free access with a handful of keystrokes. Opening a file that big doesn't take long on modern hardware.
Honestly, there's not really anything to "maintain". Just a text file and some timestamps. No magic at all. Simple as dirt. That's the magic :-)
Searching visually? Yes, 100k would be impossible. But then, even one year's worth would be impossible. So you're surely using your editor's search function, and that's definitely fast enough to not care whether you've got several lifetimes' notes.
A do see a lot of people who are making date stamped files, but I can't understand why. Do you want to switch between using C-s vs dropping to command-line for grep?
That sounds quite elegant, but seems this is only possible if you work out of a single machine almost always. Perhaps it could be made into a service? As long as explicit effort is taken that there's absolute minimum extra effort as possible!
A repo on github handles TODO.txt files from multiple machines fine, and better than gDrive or Dropbox. VSCode is now my main editor which makes git integration simple. I can also edit the file directly on github, though never do.
Keeping my notes in a single file has worked great for me too, i can quickly find notes by searching with Vim. i split the file in sections starting with [tag<name>] (e.g. [tagvim]) which makes it easier to move between sections. Each section is a markdown list.
Funny that we all resort to the same things. I have an almost identical bash script that appends and timestamps each note, but I push it to my Dropbox account using their REST APIs instead of my local file system.
Be careful about making a file like that -- one where you have to write the entire contents back to disk when you update it even though you only modified the last line or so -- too large. You're definitely better off splitting to give you more chances at not losing everything in the event that it gets corrupted. But I guess proper backups would also take care of that.
The "safe save" protocols that editors usually use to write file contents are pretty good. I've never worried about this and I've never lost a file to a mis-save, not in decades.
I don't think it's a concern. And you need to make backups anyway.
Often the "single text file" organization method is used along with a source control system like git to synchronize the file between different devices. So that helps with the backup/recovery aspect too.
I'm late to the conversation here as I've been pondering it for a few days. I'm not a very good programmer or a bash user, but I can usually understand a script when I see it.
What script or bash alias are you using to do your "note (maybe some text here)"? I'd love to be able to do something similar.
I separate my job journal from my personal journal. Job journal starts on a backed up work drive and I don't care to have mobile access to it. I must have access to my personal journal at work, or while I'm out and about and mobile is the only way.
> it cracks open Emacs on the notes file, adds a timestamp, appends the optional text, and then I can just type or paste something in.
Do you do that with a shell script or an elisp function? Either way, I'd be interested in taking a look at your implementation if you don't mind sharing.
I just implemented something very similar last week! I store the note in a Raspberry Pi which I can access anywhere. Also with iOS shortcut, I can easily send note to my Pi from my iPhone's clipboard.
Any thoughts on how to access/modify on mobile without making it too cumbersome? I often think about todo on walk/train, but could see making it a computer only thing.
Absurdly, comically simple is the way to go. In these situations I usually just send myself an email, or write something down in the current physical notebook.
About 20 years ago I spent a while writing a server to do a bunch of automation and reminding and so forth, and found that I was spending more time on that thing than I was doing real work, so I ditched it, just like I did OneNote and all the other apps. There's no need to fix bugs in a text file, nor do you need to upgrade your version of Python or whatever.
Simple will survive decades with zero effort. Complicated pieces of code (especially ones that use networking or browser tech) will need to be maintained, patched, debugged and ported. Life is short. I'd rather actually be productive than have to spend time keeping some productivity app running, or worrying if the vendor of the online notes app I chose to use is going to be bought by Oracle or something.
I started doing this at my first job in 1985. There is a direct lineage of the file to a few of the text files I use today. "todo.txt", "address.txt", and "dates.txt" have morphed continuously for 35 years.
Besides this reminiscence, I wanted remind vim users of a particular feature that allows easily navigating between text files like a hypertext system. The "gf" key sequence (mnemonic: go file). Typing "gf" will cause vim to extract the text under the cursor (it doesn't have to be at the head of the string) and open the file of that name. If you have ':set path=..' established, it also searches for the named file using that path order.
For example, in my main TODO I have a section like this for notes on things I want to attend to for various websites I maintain:
---------- websites todos -----------
family website: c:/path/to/this/todo.txt
personal website: c:/path/to/that/todo.txt
resume: c:/path/to/other/todo.txt
emulator: c:/path/to/emulator/todo.txt
Just place the cursor over one I wanted to visit, hit 'gf' then I'm teleported to that document.
I've-too been evolving the text file for about 25 years. In those days, at the beginning of time, when dinosaurs roamed the earth, one would evolve the data format to tailor it for its purpose. txt is just perfect for that. Some indentation, some symbols, some tabular data.
Sometimes just Monday is fine, sometimes you want Monday Week 4, sometimes the format should be 01-02-99 etc etc but after using it for long enough it kind of stabilizes into a format that fits the task. At that point it becomes easy to parse the data (read table) and [if so desired] display it in some more visually appealing format.
I for example keep a work schedule that at some point included the coworkers ill be working with and later it had their full schedule for purpose of trading shifts. (all the way to the right of the screen and beyond)
I publish this as interactive html for them with fancy unicode icons and colors. It is much more compact, convenient and with its rounded corners looks sooooo much better than the excel printout from the planning department. It reveals complex trades like if jim takes joes shift and I take joes shift jim can take mine. To the point I have to assure the coworkers they don't have to understand the complexity of the trade, just work Monday in stead of Sunday.
If a shift is understaffed I call them before they call me if I desire to fill it. Their excel print out ends up on the wall many cpu cycles after my text file is updated. If they get my payments wrong I strip all the extra information from the text file, paste it in an email and color the font in the spots where they should be looking. I could export it as a spreadsheet too I suppose.
The point being, its lovely to have the visuals but I wouldn't want to be working the data in a gui.
(Reminds me to figure out how to morph it into iCalendar files (and perhaps back))
This is very close to what I do, with a few modifications. Biggest difference is that I use Emacs Org-mode (https://orgmode.org/) which automates things like date strings, building a daily agenda, adding due dates, and the monotony of getting your itemized lists properly indented. (and a whole lot more)
Everything lives in my TODO.org file that's mirrored via dropbox between all my devices and on my phone where I use the Beorg app on the iphone (https://beorgapp.com/).
I archive my finished TODO items at the end of the year. Taking the opportunity to delete (mark CANCELED) things that no longer need doing and carrying over any TODO items that still need getting done.
You sound like someone that could really use Syncthing if youre into your own DIY cloud. I absolutely love it and I don't need an account to use it either.
I've instead gone for a git repo hosted on my VPS. That way I can use all the version control features of git, as well as the various tools that make it easy to look through my history, etc.
I do this and it is extremely powerful and extensible.
On top of this, I also track how much time I spend on different projects and then run a script that generates graphs to summarize my weekly and monthly usage of time.
However, I still use a physical daily agenda to take from my TODO list one or two concrete tasks I will focus on each day.
The 21st century has burdened the human psyche with a wonderful array of problems—most of which are invisible, abstract things.
It's taken some time figuring out how to make them real. Doesn't feel like anybody created a tool to help manage these abstract monsters. We still do not know ourselves that well. Not in this strange world.
Whenever I hear someone say, "Just use paper", part of me agrees. Paper is simple. It's easy to use. Plain text too. Simple.
I wonder if that's the best we can do.
I use paper. I use plain text. I use everything. Against the enormity of everything I want to do and the unfinished thoughts that repeat, it feels like nothing.
I've discovered small tips here and there. I'm making progress. I'm learning how to work with myself. But if I'm honest, the enormity of what's before me is infuriating and immense.
It's something like the question of how we want to live our lives.
This comment fascinates me. I hope you don't mind a very candid reply: You already know exactly what you need to do. You need to get away from the screen that you're looking at right now. Disconnect. Get to where you can see the clouds in the sky, and see how they move - spontaneously. Try to do THAT with your life.
This is a great comment. Over the past years I've created my own system using number of tools to manage my day-to-day life on a long-term perspective. I've decided to kick off a side project and create an app aggregating all the "tools" under one systematic framework. I'm happy to share when its ready. https://forms.gle/db4LXhaPjsapg8vN9
My favourite "productivity app" is not an app at all. It's a plain old notebook. I write down any notes and actions I need to take, and strike through them once finished. It has a nice benefit that I can scribble notes, draw lines between ideas, sketch out diagrams, etc.
I’m in your camp. Apple Notes somehow fell into this gap for me. For me the ability to format, add images and screenshots and easily share gave it an edge over plain text.
I agree. I first try to keep my commitments down to a point where I can remember things. When I can't, I like the flexibility of pen and paper for jotting, scribbling, and sketching.
When I've run large meetings/reviews, I would walk around the room after things got underway to gauge how people were reacting to the discussions. The people with laptops would be working on unrelated material. Unfortunately, these would often be the senior reviewers.
I tried everything and kept coming back to pen and paper. On the right side if the open notebook is an organized todo list. On the left side are notes and diagrams that I come to during the day.
I had a stroke last May and the only long term side effect (thankfully) is that my handwriting needs to be 2x the size to be legible, making my notebook obsolete.
Agreed. I tried using the "pencil" on the iPad. Writing on glass doesn't feel as satisfying as writing on paper at all, despite the iPad being very very responsive. I also started using an ink pen to slow down my pen strokes so that I think more before I put things down. Oddly that's changed how structured my thoughts are.
I personally use a journal + pen, but I've heard that matte screen protectors for the iPad can make it feel a lot more like writing on paper. Just a suggestion.
I use a notebook as well but mostly for hashing out design ideas. It's a great pleasure to just sit with a coffee at a cafe with just your notebook drawing system diagrams. No distractions from online. However, I still keep track of work in a text file since it's much faster to type things as I'm working at a machine. (Obviously it's not great for drawing ideas though!)
Same. I've used a loose type of bullet journaling for most of my software development career and it's the only workflow I've been able to stick to that I feel increases my overall output.
Same for me. My note book is A4 sized (lots of space), has a hard cover (easy to write with while out "in the field") and the pages are not easily removed (so I don't loose notes).
While I do write a lot of notes in it, I also like to draw block diagrams and high level designs of systems.
While some of this could be done on a tablet, I also try to reduce the amount of screen time on my eyes. I started this habit since starting my Masters 10 years ago.
Me too. A4 sized grid notebook, and I use it in the landscape position. My notes are a mix of schemas and written text. When I'm happy with my work I take a picture of it using the Evernote app and upload it to its cloud. Curiously enough, the app applies some sort of "filter" to the picture that removes the original grid lines, making the drawings cleaner, which is convenient sometimes.
Pen and paper is great but if it's something I want to hold on to, I have to add it to my digital system. Sometimes that means taking my written notes, doing some editing, then saving digitally. Other times it just means taking a snapshot and saving that.
I still use Evernote for my long term storage (although I do worry about the long term viability of the company) and it does a pretty great job of finding and indexing text (even handwritten text) in images. The search operators are also pretty great.
I tried tiny (A6, A7) notebooks and they frustrate me.
My brain prefers scribbling but I have to admit that I'd love something that connects idea to realization directly (the good old bidirectional modeling app)
I tried various automation things, org mode, scripts, markup for time spent (so I can automate timesheets, ugh) but none of it stuck. org mode in particular is like a straitjacket with the indentation rules. So text file it is.
I do keep command lines in it occasionally but ever since I started using eternal bash history that I version control I stopped recording those separately very much.
PS I find myself using Trello for home hobby projects, by using an "active" lane with 7 bottom cards being days of the week Mon-Sun. Then, TODO cards go on the top of the lane, and when I feel 95% confident I can get any given card done I drag it below a day of the week and make very sure it gets done. That way the system means something, and as a result I am pretty conservative about what I promote. If I know in my heart I won't really get it done tomorrow, I put it the day later, break it up into smaller tasks, or just leave it.
When you say “eternal bash history” how long is that? I thought after some large number it becomes very slow. I’d like to try this if you don’t mind sharing how you did that?
I'm up to about 4 years of history at this point. I use a dumb bash hook that sorts and reloads the history on each command execution, and yes, it's getting a little slow. I wish I could do this through some daemon-based DB-backed system but this works for now. Maybe I'll switch to zsh when it gets too slow.
The reason I have the hook reload and sort on each command is so that I can use a dozen screen sessions at once and:
1) they don't overwrite each other's history
2) each session's history is instantly searchable to the others
3) sorting is useful because each session prepends a session ID to the commands, so that Ctrl-R backward search can always hit the current session's commands first. And I can reboot/restart screen and recover history in each session.
(edit: I looked at the zsh-db project the other poster linked, and this does pretty much the same thing just probably slower since there is no DB involved).
I push every unique command that I type into a database and bind Ctrl-R to peco querying the 10k commands. I'm amazed it did not occur to me earlier. All of my systems have access to the same shared history, which greatly simplifies multi window and multi computer operations.
I do this too, since 2005. Part of the reason I do this was because between 1995 and 2005 I experimented with a bunch of different software, and the software kept being deprecated. I forget a lot of the software that existed at the time. I used a bunch of early web apps, in the 1990s, all of which disappeared, and I used some interesting experiments with desktop productivity apps, all of which were discontinued, and I used a 5 or 6 different PDAs (this was in the era before the smart phone, when cell phones were dumb and we used PDAs to take notes) all of which were abandoned by the companies that were selling them (most of them were pushed by hardware companies that had no strategy for building important software that would survive over time).
Having been burned, many, many times, trying apps and formats that all were abandoned, I eventually realized that the only thing that would definitely last, over the long term, was a simple text file. The simpler the better. Simple is the only guarantee that something will last. Unix text files have not changed much since 1970s, it is the only thing in the tech world that has demonstrated longevity.
So I stick with a simple text file, and I will do so till the day I die.
Oof, same here. I have notes and journal entries going back at least a decade, but there are a few frustrating gaps where I used apps like Day One, or built my own rickety tool using, say, RethinkDB.
While it's possible to somehow get my data back, it would be in a weird format or just a hassle to retrieve. I now use text files for everything (and mostly keep everything in emacs/org-mode).
I jumped on this bandwagon about 6 months ago and I love it. Like many others I had some levels of success with other apps (trello, RTM, Todoist, Toodledo, etc.), but a single text file is a whole new world. I've been do
My setup is a single .md file with typora as an editor. Some things I love about it are:
- Markdown checklists that (with custom css) can be faded when checked
- When I copy/paste an image in (often a screenshot of a whiteboard or sketch) it creates a local copy in ~./resources.
- Outline view on the side (I used headings to separate days, weeks, quarters, and year).
- I keep goals for the week/quarter/year near the top so I see them when I'm setting goals for the day/week/quarter.
The other nice things that's grown out of it is that I've started to create a knowledgebase (popular to discuss these days [0]) that is a collection of .md files (for example injection-molding.md, antennas.md, etc.). Having the same format for it and my todos makes adding to either seem more seamless. Just in the past 6 months the collection has become much more useful than the enormous pile of content I'd collected in evernote over the years.
At the end of the day I commit+push and that's it.
I don't see myself going back (although will maybe change to a FOSS .md editor once it has enough features).
I never really used typora but been trying out marktext and notable the last while and they both look very promising. both can be found on github. notable is new enough so it still needs a bit of work though
I just type
and it cracks open Emacs on the notes file, adds a timestamp, appends the optional text, and then I can just type or paste something in. Nearly frictionless, that's key. Great for writing those miserable annual reviews, too (easy answers to "what have I worked on in the past year?")I use plain old notebooks (simple blank sketchpads, or something bound like a Moleskin/Lecchturm) for meetings, interviews, walking around datacenters and so forth where a keyboard is awkward and anyway, drawings.
I've tried the EverNote/OneNote/etc. apps and none of them were as convenient or as easy to use, or as portable.
In my .bash_profile I essentially just `open --background -e "...$(date +%F).txt" &`.
Since I'm in the CLI daily for work, I get day-stamped files passively opened without having to think about it. It's a nice quiet reminder to keep notes throughout the day, and it all just goes into a folder in dropbox that I can trivially `grep` or add with other tools or add side-files (typically "date - stuff.ext" so they appear next to the day's notes).
Deleted Comment
Top tip is to add meta tags. I suffix them with a colon to help with searching. For example, the section containing my git notes begins with this line: Git notes: / Git: / Git commands: / Github: / Git bash:
And any time I search for something I didn't have a tag for, then I add a new one, even misspellings.
Ex. :label1:label2:labeln:
I also aliased this to something short so I can quickly view notes starting at the bottom: vim "+normal G" ~/share/notes.txt
Deleted Comment
Do you mind sharing how you have setup Emacs to do that? Thanks!
I have a git repo set up, and I run: "vim `date -I`", which opens a text file named for the current date (2020-02-08 today for example). Then I'll put in notes about what it is I'm currently working on.
I've come up with the convention of separating tasks with three equal signs (===) and separating updates to a single task with (--).
The main thing it's been helpful for to me, which is honestly probably why I've kept up with it, is that I'm bad about doing my daily timesheets. So once a month when our accounting lady gets after me, I'll go back through my notes and fill everything in.
I used just one big file right now and one thing good about it is that you can search all your notes with one command.
I also use the uuid command to tag/reference sections. Then, I can just put the cursor on the uuid and hit '*' to jump right to that spot in the file.
alias notes='nvim echo ~/notes/notes-$(date +'%Y%m%d').md'
The format being markdown gives a good syntax clue to vim.
I also added a vim command to push it to github while editing. These just remove barriers to opening and syncing the file, but the concept is the same.
You can see the result here: https://github.com/jodavaho/bashlog
Honestly, there's not really anything to "maintain". Just a text file and some timestamps. No magic at all. Simple as dirt. That's the magic :-)
A do see a lot of people who are making date stamped files, but I can't understand why. Do you want to switch between using C-s vs dropping to command-line for grep?
I've gotten to the point that anything important enough to keep around I basically just put in a git repo somewhere.
I don't think it's a concern. And you need to make backups anyway.
What script or bash alias are you using to do your "note (maybe some text here)"? I'd love to be able to do something similar.
I separate my job journal from my personal journal. Job journal starts on a backed up work drive and I don't care to have mobile access to it. I must have access to my personal journal at work, or while I'm out and about and mobile is the only way.
Do you do that with a shell script or an elisp function? Either way, I'd be interested in taking a look at your implementation if you don't mind sharing.
I've been thinking about this approach .. but was unsure about how access from outside, or if I'm abroad even.
About 20 years ago I spent a while writing a server to do a bunch of automation and reminding and so forth, and found that I was spending more time on that thing than I was doing real work, so I ditched it, just like I did OneNote and all the other apps. There's no need to fix bugs in a text file, nor do you need to upgrade your version of Python or whatever.
Simple will survive decades with zero effort. Complicated pieces of code (especially ones that use networking or browser tech) will need to be maintained, patched, debugged and ported. Life is short. I'd rather actually be productive than have to spend time keeping some productivity app running, or worrying if the vendor of the online notes app I chose to use is going to be bought by Oracle or something.
Then, just send your notes (via sms) to the email.
Deleted Comment
Dead Comment
Besides this reminiscence, I wanted remind vim users of a particular feature that allows easily navigating between text files like a hypertext system. The "gf" key sequence (mnemonic: go file). Typing "gf" will cause vim to extract the text under the cursor (it doesn't have to be at the head of the string) and open the file of that name. If you have ':set path=..' established, it also searches for the named file using that path order.
For example, in my main TODO I have a section like this for notes on things I want to attend to for various websites I maintain:
Just place the cursor over one I wanted to visit, hit 'gf' then I'm teleported to that document.Sometimes just Monday is fine, sometimes you want Monday Week 4, sometimes the format should be 01-02-99 etc etc but after using it for long enough it kind of stabilizes into a format that fits the task. At that point it becomes easy to parse the data (read table) and [if so desired] display it in some more visually appealing format.
I for example keep a work schedule that at some point included the coworkers ill be working with and later it had their full schedule for purpose of trading shifts. (all the way to the right of the screen and beyond)
I publish this as interactive html for them with fancy unicode icons and colors. It is much more compact, convenient and with its rounded corners looks sooooo much better than the excel printout from the planning department. It reveals complex trades like if jim takes joes shift and I take joes shift jim can take mine. To the point I have to assure the coworkers they don't have to understand the complexity of the trade, just work Monday in stead of Sunday.
If a shift is understaffed I call them before they call me if I desire to fill it. Their excel print out ends up on the wall many cpu cycles after my text file is updated. If they get my payments wrong I strip all the extra information from the text file, paste it in an email and color the font in the spots where they should be looking. I could export it as a spreadsheet too I suppose.
The point being, its lovely to have the visuals but I wouldn't want to be working the data in a gui.
(Reminds me to figure out how to morph it into iCalendar files (and perhaps back))
https://github.com/tyru/open-browser.vim
Here's my config from the vimrc:
" Disable netrw's gx mapping
let g:netrw_nogx = 1
" If the current word is a URL, open it in the browser. Else, pass it to a search engine
nmap gx <Plug>(openbrowser-smart-search)
vmap gx <Plug>(openbrowser-smart-search)
let g:openbrowser_default_search="duckduckgo"
Everything lives in my TODO.org file that's mirrored via dropbox between all my devices and on my phone where I use the Beorg app on the iphone (https://beorgapp.com/).
I archive my finished TODO items at the end of the year. Taking the opportunity to delete (mark CANCELED) things that no longer need doing and carrying over any TODO items that still need getting done.
On top of this, I also track how much time I spend on different projects and then run a script that generates graphs to summarize my weekly and monthly usage of time.
However, I still use a physical daily agenda to take from my TODO list one or two concrete tasks I will focus on each day.
Of all the apps/tools I've tried, it turns out that the complexity of the tools was really just another form of procrastination.
Just a daily list I write out in the morning, and work through - bumping unfinished things up to the next day if needed.
[] Mon - task 1
[] Mon - task 2
[] Tue - task 3
[] Tue - task 4
This way I don't hard time lock the tasks and just do them until they're done
It's taken some time figuring out how to make them real. Doesn't feel like anybody created a tool to help manage these abstract monsters. We still do not know ourselves that well. Not in this strange world.
Whenever I hear someone say, "Just use paper", part of me agrees. Paper is simple. It's easy to use. Plain text too. Simple.
I wonder if that's the best we can do.
I use paper. I use plain text. I use everything. Against the enormity of everything I want to do and the unfinished thoughts that repeat, it feels like nothing.
I've discovered small tips here and there. I'm making progress. I'm learning how to work with myself. But if I'm honest, the enormity of what's before me is infuriating and immense.
It's something like the question of how we want to live our lives.
I wonder if there's a tool for that.
For tasks, this might be the plan for the next few days, where everything fits on the same page.
For notes, those might be scribbles to help solve the problem at hand.
Larger and more long term things start benefitting from searchability indeed.
When I've run large meetings/reviews, I would walk around the room after things got underway to gauge how people were reacting to the discussions. The people with laptops would be working on unrelated material. Unfortunately, these would often be the senior reviewers.
I had a stroke last May and the only long term side effect (thankfully) is that my handwriting needs to be 2x the size to be legible, making my notebook obsolete.
Will try a todo.txt soon. I love simple.
Deleted Comment
While I do write a lot of notes in it, I also like to draw block diagrams and high level designs of systems.
While some of this could be done on a tablet, I also try to reduce the amount of screen time on my eyes. I started this habit since starting my Masters 10 years ago.
I still use Evernote for my long term storage (although I do worry about the long term viability of the company) and it does a pretty great job of finding and indexing text (even handwritten text) in images. The search operators are also pretty great.
I tried tiny (A6, A7) notebooks and they frustrate me.
My brain prefers scribbling but I have to admit that I'd love something that connects idea to realization directly (the good old bidirectional modeling app)
I tried various automation things, org mode, scripts, markup for time spent (so I can automate timesheets, ugh) but none of it stuck. org mode in particular is like a straitjacket with the indentation rules. So text file it is.
I do keep command lines in it occasionally but ever since I started using eternal bash history that I version control I stopped recording those separately very much.
PS I find myself using Trello for home hobby projects, by using an "active" lane with 7 bottom cards being days of the week Mon-Sun. Then, TODO cards go on the top of the lane, and when I feel 95% confident I can get any given card done I drag it below a day of the week and make very sure it gets done. That way the system means something, and as a result I am pretty conservative about what I promote. If I know in my heart I won't really get it done tomorrow, I put it the day later, break it up into smaller tasks, or just leave it.
There is also Historian [1] for bash, and a bunch of other suggestions in the discussion thread on it on HN [2]
[0]: https://github.com/larkery/zsh-histdb
[1]: https://undertitled.com/2017/04/12/historian-because-please-...
[2]: https://news.ycombinator.com/item?id=14103688
I use this format:
So I get this output:The reason I have the hook reload and sort on each command is so that I can use a dozen screen sessions at once and:
1) they don't overwrite each other's history
2) each session's history is instantly searchable to the others
3) sorting is useful because each session prepends a session ID to the commands, so that Ctrl-R backward search can always hit the current session's commands first. And I can reboot/restart screen and recover history in each session.
(edit: I looked at the zsh-db project the other poster linked, and this does pretty much the same thing just probably slower since there is no DB involved).
Having been burned, many, many times, trying apps and formats that all were abandoned, I eventually realized that the only thing that would definitely last, over the long term, was a simple text file. The simpler the better. Simple is the only guarantee that something will last. Unix text files have not changed much since 1970s, it is the only thing in the tech world that has demonstrated longevity.
So I stick with a simple text file, and I will do so till the day I die.
While it's possible to somehow get my data back, it would be in a weird format or just a hassle to retrieve. I now use text files for everything (and mostly keep everything in emacs/org-mode).
My setup is a single .md file with typora as an editor. Some things I love about it are:
- Markdown checklists that (with custom css) can be faded when checked - When I copy/paste an image in (often a screenshot of a whiteboard or sketch) it creates a local copy in ~./resources. - Outline view on the side (I used headings to separate days, weeks, quarters, and year). - I keep goals for the week/quarter/year near the top so I see them when I'm setting goals for the day/week/quarter.
The other nice things that's grown out of it is that I've started to create a knowledgebase (popular to discuss these days [0]) that is a collection of .md files (for example injection-molding.md, antennas.md, etc.). Having the same format for it and my todos makes adding to either seem more seamless. Just in the past 6 months the collection has become much more useful than the enormous pile of content I'd collected in evernote over the years.
At the end of the day I commit+push and that's it.
I don't see myself going back (although will maybe change to a FOSS .md editor once it has enough features).
[0] https://news.ycombinator.com/item?id=21310030
There's an issue for it already and I'm watching it so that I can switch once it's addressed.
Dead Comment