I’m asking because I’m wondering if there’s a more efficient way for me to handle my notes at work. Currently I just use a txt file in Notepad++. I use this file to track all of the stuff I have to do, such as tasks for stories I’m working on, next steps for projects, discussions I need to follow up on, questions and ideas I want to bring up, etc. The way I organize the document works pretty well for me, but I’m just curious how other people do it.
Org-mode FTW! You only need to know emacs for it, which you can master in just a couple of measly decades.
Jokes aside, org-mode is unironically incredible. I use something called Getting Things Done (GTD). I do not regret spending some weeks truly learning about it.
This! Orgmode for all internal stuff, Jira for when my team needs to be in the loop.
Being a vim user for 30 years I’m often tempted to learn emacs purely for org mode. But then i remember emacs is evil and go back to todo.txt and vimwiki and I’m content.
There is evil-mode in emacs, just saying…
Yeah. Org mode isn’t that great 😃
-.-
I use something called Getting Things Done (GTD). I do not regret spending some weeks truly learning about it.
Are you being sarcastic, or is there actually a tool with this name?
Its a good book to read. Highly recommend.
Also look up 43 folder by Merlin Mann.
Its a good book to read. Highly recommend.
The one by David Allen?
Yeah.
Much of it was obvious, a few new ideas. But it was good to just reinforce the whole process. It’s all about you building your own strategy so whatever works for you.
There is, and there’s a book that describes the philosophy.
Not at all! I followed this guide to learn about it https://www.labri.fr/perso/nrougier/GTD/index.html Like really went step by step trying to understand it. Really changed the way I go about work notes.
For instance, I used to just commit ideas (fixes, imprivements…) to mind (and forgetting 99% of them ofc), since then I C-c i and write it up, which stores it in a file called “inbox.org” for later processing.
I used to write in a post it at the end of the day whatever I was doing when I left home and stick it to the display memento-style (otherwise I noticed I was completely clueless in the morning). Things like “you are dealing with this one bug”. Now I C-c i and write it up along the relevant snippet of code or whatever and from there I C-c w to refile it into the appropiate section of my projects.org file. It takes me less time than the post it and contains 10x the info. It also allows me to go back and know exactly what I was dealing with X months ago.
Like emacs, org mode (and to a lesser degree org-gtd) requires commitment and has a really steep learning curve, but many years down the line I feel really lucky to have put the time into it. Moreover when I see other people struggling to interact with the computer for something that I would do with emacs/org. Have you ever seen someone searching “google” on google? Its that feeling.
As a college student, org mode is one of the best tools I’ve ever come across.
Is there a version for neovim users?
It’s not as fully-featured as the Emacs one, but yes: https://github.com/nvim-orgmode/orgmode
That’s alright, I’ll check it out. Thanks!
You might also like https://github.com/nvim-neorg/neorg which is not meant to be compatible with Emacs org-mode, but rather something new that’s built around similar ideas but for Neovim. Hadn’t used it myself though, only heard about it.
Neorg is what I know of, and seems the most mature / recently updated.
Oh that looks interesting! I’ll have to check it out, thanks!
Combination of Jira tickets and Obsidian.
+1 for Obsidian! Great for notes and the kanban plugin makes it perfect for tracking tasks. The kanban board items also support markdown so you can quickly add lists and various formatting to your work items
I use todo.txt format, created my own cli https://github.com/jecxjo/todo.hs
I set up tasks with priorities:
- A: tasks i am doing now/today
- B: tasks i am planning on soing this week
- C: tasks that need to be done but aren’t high priority
- D: tasks I delete if not done by the end of the month
I make sure all my tasks have a
+ProjectName
and if i have to deal with aor
i note that. I will also add in things like
jira:StoryNumber
or other data.Due dates are rare, only when there is a hard stop. End of a sprint is not a hard stop. If i need to remind someone I’ll use due date and
100% of the time all tasks go in my list. Nothing is left for me to remember. It goes into my list before it ends up in a Jira ticket or Conflience page. Remind me first, everyone else second.
First thing in the morning i process my list. Move tasks to A. End of the week at the end of the month I delete all the D tasks.
As for notes, i use vimwiki with automation to compile into html when files are written. I’ve also setup coworkers with an automated process using pandoc to go from markdown to html. Then i have a little a bookmark on my browser to pull it all up nice and pretty. I’ll post the scripts later, not at my computer.
Daily diary entry made every morning when i do my todo list prep, entry for each meeting. Add notes during meetings and links or other details when looking for solutions to problems.
Well, there is Jira with the tickets of course, but when I’m working actively on a ticket I do two things:
-
Text file in Notepad++ (something with custom markup so I have regions) or recently OneNote (just so this crap is backed up), write my hours down before putting them into the system, current ToDo things, notes, etc. till the ticket is through. Anything actually worth keeping gets puts into the Jira ticket as comment on close
-
While working on the code and I need to do something before committing it I use comments. Like
// todo# do x
, I’m using todo# because if I text search the code base for just todo I’ll find a hundred entries… adjust to whatever is unique to you so you find your own comments again
It’s a shit system, but has worked for me. I also write everything down so I don’t forget it, that has saved me several times.
In the past I even took my text notes and put them into an archive (with the Jira ticket linked) just if an old issue pops up and I still have my thoughts from around that time. But nowadays I do less of that because code changes too fast anyway.
Can you explain what you mean by “something with custom markup so I have regions”? How do I do regions in Notepad++?
A little trick I like: You create your own custom language in Notepad++:
- Go tab Language → User Defined Language
- Create new… button
- Name it whatever you want, txtRegions or whatever
- In the “Folding in code 1 style” area put your favorite Open and Closing symbols. For example I used
{{
and}}
- Close the dialog
- For your todo file, now go up again to Language → Select your custom language at the bottom
- Try it out, you can now make your own regions in your .txt file
Usually Notepad++ remembers your custom language for your file. If it should ever forget to use it (and falls back to default .txt behavior) just select your language again. Have fun! :)
Thanks for this tip, very useful
-
I’ve found Notion to be quite good. I just started with a blank page, then added the date as a heading, a smaller heading for each project, then todo boxes for each task. I tick them off as I go. Then, the next day, I copy yesterday’s todos and paste it above, change the date, then delete the crossed off items. This gives me a history log off what I did on previous days, so if I forget what I did yesterday I can just look back at what I ticked off that day.
I used to use a paper notebook but found it annoying because I couldn’t add a task in between other tasks. That’s the benefit of a computer; I can move things around
I used to use org-mode, then switched to markdown for compatibility across things, currently I use taskwarrior for tasks and quick temporary notes, and markdown for knowledge bases, although I’m looking into Notion instead of Markdown.
Amazed no one else mentioned taskwarrior since it’s made especially for tasks, and should be very easy for programmers since it’s CLI and very intuitive to do things and I usually have one terminal window open anyways.
Taskwarrior is fantastic.
I use a cheap paper notebook, like 5x8 inch size. Each day, first thing when I start work, I write the date at the top of the next blank page, copy the items from the previous page that are not done, and add new items at the bottom of the list as they come up. Tasks I haven’t started have a blank box next to them, tasks I’ve started get a half-filled box, and finished items get a filled box. Anything that moves from one day to the next that hasn’t been started gets a digit in the box that increases by one each day. If the number gets to 10 I cross the item off as cancelled. When I’m picking a new task I try to prioritize some the tasks with higher numbers.
If I need to take notes I’ll use nearby blank space, sometimes a facing page. Generally I keep notes very short, long details go into whatever ticketing system we’re using with the ticket number in my notebook so I can find it again. There are a few other habits I use that are generally in line with the Getting Things Done (GTD) productivity techniques, like simple flags for what sort of action I can take on the item (completable (about half a day or less), needs more info, needs decomposition (more than half a day of work)), with the notable difference that I don’t make any effort to ‘capture everything’. I load-shed aggressively and early, which is in-line with the way I want to live my life.
Mostly I don’t keep very many active tasks, so it’s rare that I have to cancel items. If my list is getting long I stop putting new items on it and just tell people I’m too busy to accept new stuff. I used to try to track more stuff, but I learned that just meant I ended up with lots of notes about stuff that I never had time to do, so I quite wasting my time tracking them.
When the notebook is full I put it on the shelf and get a new one.
I keep the notebook next to me on my desk. If someone asks me for something I check the book, if it looks like I’ve got time, I add it to the book. When I go to a meeting, I take it with me. If I don’t happen to have it I usually remember what’s on the current page because I just wrote it there that morning.
It’s low-tech, and I like it that way. Partly because I like to find nice pens to write with.
A mix of Obsidian for myself and OneNote for team stuff because it’s what they all use.
I might try orgmode now because I prefer to procrastinate with new things rather than doing work, especially when it is organization reheated because then I can tell myself there will be a net gain in work productivity.
Todo.txt plain text file. Use Vim. Date and todo statement. Sometimes more for explanations. I never delete anything in it; just make an X next to todo’s I’ve completed. File goes back many years. I can easily search for something I did a long time ago.
And then there’s MS OneNote for capturing howto’s, quick script one-liners, cheat sheets, diagrams, notes on various industry interfaces, etc.
Then there’s SCM for bug, feature, and track tasking.
And usually notepad paper and pen for meetings, which if there are todo’s, go into my electronic todos.txt file.
Two ways:
- I create a jira issue or
- I send a mail to myself so I don’t forget the thing.
I always keep my mailbox clean so that I have an overview on what’s open.
A bit basic, but I have a
TODO.md
in my documents folder that I keep up to date. Markdown so I have an easier time formatting links to websites or other relevant documents.Basic but works.
After 15 years and countless software, I keep returning to trusty markdown for daily organization.
There’s literally dozens of us.
There are a billion ways to organize your stuff. I used org-mode a lot in the past but it’s a bit difficult to setup, especially on Windows. Nowadays, I use a mix of GTD, https://johnnydecimal.com/, Markdown (with Sublime Text), and https://taskwarrior.org/. Don’t forget calendars too (like the one on Outlook) because you can freely add meetings or things to do inside this application.
You have to find something that works for you, there is no perfect solution. You can also ask the same question on !experienced_devs@programming.dev.
I’m using todo.txt, which is a basic plain text file following a simple syntax. I added various extensions to work with this: todo.txt-more, which does things like:
- make things accessible through a simple menu (dmenu/bemenu/rofi) system.
- time tracking functions
- synchronisation with github issues and/or e-mail
Thanks for sharing. Dmenu integration would be a killer feature for me. I’ll look into todo.txt again. Very cool. Thanks!
Wow. Many people have digital methods. I create jira tickets because it’s required but my actual work list I follow is handwritten in a notebook. When it gets more than 50% completed I copy the incomplete items onto a new page.
Issues on jira/GitHub/gitlab/whatever is used and their planning boards. Assign them to me, put them in to-do/planned and do them until they’re all closed/to be reviewed. Occasionally I will put a reminder in the reminders app of my phone with a timed alert if I mustn’t forget something rather urgently.