News for hackers. Stuff that matters.
Re:The software engineering notebook by goo on Saturday October 14, 2017 @04:06PM (#15473965)
The commitment to taking good notes has been one of the best decisions of my life -- not just professionally. I use my standard text editor (Textmate 2), and have a "notes" project, with all manner of categories organized by folder. I take notes on articles I have read, take notes on any presentations I watch or educational courses I take, or books I read. Moreover, I now take much better in person notes -- I take them into "scratchpads" and then synthesize them later.

It's indispensable in meetings because I both take notes about the goals of meetings beforehand, take note of any important parts during them, and am able to succinctly review them afterwards as they relate to the original goals, and easily keep track of any action items.

I manage EVERYTHING this way now-- what I am currently working on, notes about what I've done in a day, notes about what I've done on the weekend, notes about books I want to read, movies I want to watch, have watched, fitness routines. It goes on.

At first it was a small but useful knowledge base, and a good plan for how to keep track of things better. Now it's a larger, and even more useful knowledge base, where due to review and organization the important concepts in it have mostly made its way into my long term memory. And the process of taking and using the notes has become a smooth and well-honed process. I keep the notes in dropbox so I have easy access to them on mobile also.

In short: I treat my personal knowledge base as if it were a coding project: using well organized text files. I am constantly adding to them and maintaining them. It is working very well for me.

Re:The software engineering notebook by Koshkin on Saturday October 14, 2017 @04:47PM (#15474199)
On the other hand, based on my personal experience, maintaining a constantly growing archive of things, be it notes, bookmarks, emails, etc. turns out to be not very useful. Also, it gradually becomes something that you spend more time on than on other things. I now prefer to be more spontaneous, try to minimize the number of things that drag me into the past, start things as if from scratch, "reset" myself, dismiss the baggage that is often turns out to be nothing more than a dead weight. This "lightweight" approach seems to allow me to move forward faster, learn new things that I might have no plans to learn for a long time, because of a queue of other things on my "TODO list". But again, this may be personal.
Re:The software engineering notebook by losteric on Saturday October 14, 2017 @06:35PM (#15474700)
I had the same problem as you, but my solution was separating "notes" from future actions.

My notes track knowledge, they are referenced as-needed so I store everything because there's low/no cost. I've also found that writing things down improves my recollection, so there's value even if I never reference the note again.

My calendar / omnifocus track future actions, I minimize these and keep them very well curated - no "todo", only "do". Externalizing some cognition takes time in exchange for efficiency... less overhead from context switching or remembering unrelated items.

The tradeoff is loosely analogous to scheduling in computing - inefficient for an isolated single thread of work, but beneficial when coordinating lots of concurrent work.

Re:The software engineering notebook by lucideer on Saturday October 14, 2017 @09:11PM (#15475286)
> no "todo", only "do"

I'm curious about what this means. What are "do" notes (as distinct from "todo" ones). If it means that don't calendar, and you just do that task immediately, how you plan and (more importantly) remember future tasks?

Re:The software engineering notebook by losteric on Sunday October 15, 2017 @04:12PM (#15479042)
TODOs are crufty ambiguous notes that often poorly describe the current system and potential future work... and they're so easy to add that the average "todo" is very low-value, dragging down the perceived ROI of fixing any tech debt.

I keep the two separate: good notes describing the state of the world, and a calendar to schedule future actions.

When it comes to software, that means all code must have good documentation and known flaws are scheduled to be fixed. If it's not worth scheduling, it's not worth changing.

My personal life follows the same pattern, although much less formal... there just isn't enough time for every possibility, so I always work backwards from my calendar.

Re:The software engineering notebook by MichaelBurge on Sunday October 15, 2017 @12:18AM (#15475868)
In practice, most people's "todo" list ends up being the garbage bin for low-priority items that they'll never actually do. It's worth separating the things you actually plan to do next week/month, from the ones in a "backlog".

Grep any large code repository for "TODO" comments.

Re:The software engineering notebook by lucideer on Sunday October 15, 2017 @12:12PM (#15477745)
As someone who's worked on multiple teams that used TODO comments and then had a regular type of sprint in which they were grepped and cleared (these weren't perfect projects, there were other organisational problems, but this particular thing was handled well), I was actually quite surprised to get into a discussion recently here on HN about projects where this doesn't happen and TODO comments end up being largely aspirational.

However, I think code and life are slightly different contexts here. I get what you mean about separating aspirations from near-term actual intents but I generally use the word "todo" to refer exclusively to the latter (which still doesn't help a whole lot with ensuring execution as the list still grows quite large).

Re:The software engineering notebook by Sir_Cmpwn on Saturday October 14, 2017 @09:28PM (#15475355)
I think it helps to do only enough to be useful and not enough to be a productivity sink. I keep a general purpose plaintext file called notes and a handful of plaintext files specific to certain topics in ~/documents and that's it.
Re:The software engineering notebook by dkarl on Saturday October 14, 2017 @06:22PM (#15474657)
I like to separate notes from journaling for precisely this reason. I have hundreds of notes in Evernote that I will never see again. They're invisible, as light on me as a feather. Yet they're also searchable, so they're available in seconds if I ever need them.

I have system of using "top" tags to define my working view for a project. Say I'm working on project Foo. At any one time I'll have about half a dozen notes tagged "foo-top." I can take any note from my past and bring it front and center by tagging it "foo-top" and then delete the tag when I want the note to disappear again. Say, for example, I want to see if CouchDB will be useful for Foo. I used CouchDB for a personal project several years ago, so I can search for my note of CouchDB concepts and commands, tag it "foo-top", and then remove the tag if I decide it won't be useful. It's a beautiful way of carrying around a lot of baggage without feeling the weight. It's nice that if I want, I can write down notes and thoughts about something without worrying that I'll clutter up my journal and make it unreadable, or worrying that I'm mixing up the wheat and the chaff. It's not like I spend a bunch of time rummaging through a bunch of junk to find what I want, forcing me to think carefully about what I record. I can record anything that seems like it might be useful later.

A journal would be nice to have, too, though. One note in each project serves as a journal of sorts, in the form of a quick summary of what I've done each day and a quick summary of what I expect to accomplish next. (For work, I find it more convenient to keep a single note for this instead of breaking it out by project.) Evernote isn't great for keeping chronological notes. I only use it because I haven't seen an alternative that is compelling enough to make up for the convenience of using just one program.

One thing I really wish for is a program that could automatically present me with a diary of sorts based on my note-taking. Versioning would be nice, too, so I could see how my notes evolve over time.

Re:The software engineering notebook by shoover on Sunday October 15, 2017 @09:03AM (#15476935)
Nice. I’m going to think about using ad hoc tags like this to tame my monolithic orgmode hierarchy.

Is there not an API in Evernote to query the notes? Seems like getting the last few weeks’ worth, sorting, and dumping to html or pdf would go pretty far for your diary use case.

Re:The software engineering notebook by Too on Sunday October 15, 2017 @03:57AM (#15476305)
I also used to keep tons of notes, references, cheat sheets and bookmarks to various topics around. I found the success rate of finding something there vs google was quite low and things quickly became obsolete. Not only did the topics quickly become irrelevant (I would never go back to CVS or SVN when i only use GIT today so why should i keep my old CVS-cheetsheat around, it's just dead weight and waste of time to organize it) but even for up to date technologies the landscape quickly changes, especially in the javascript world. If i re-google something vs read a note i wrote down 3 years ago i might hit an article teaching me a new better way to do something instead of being stuck in my old bubble.
Re:The software engineering notebook by atmosx on Sunday October 15, 2017 @05:28AM (#15476488)
I'm doing something similar. I prefer pen and paper. For someone reason digital notebooks don't have the same effect on me as physical notebooks.

I read my notes every now and then. But what the notebook does mostly is make me focus and concentrate on my goals and remind me what's important. As the parent said, a notebook enhances your long term memory. You re-iterate lessons learned/forgotten. It's not a bookmarking tool.

Re:The software engineering notebook by dorian-graph on Saturday October 14, 2017 @05:11PM (#15474330)
I just replied to the parent agreeing with their method, because I do something more or less the same, but I also try and keep a balance between this and what you just described.

The importance of the 'reset' has helped me a lot too, and calling a lot of recorded things 'baggage' is very true. If everything I had recorded was wiped would I be disappointed? Definitely! But life would go on. :) I'd re-discover things, my tastes and personality would change so those recorded things aren't relevant, etc.

Re:The software engineering notebook by zerkten on Saturday October 14, 2017 @06:42PM (#15474718)
A shudder went through me when I read the parent post you replied to. Based on my personality that wouldn't work for me, and over time I've had to learn to better understand and work better with people that work that way. I've had people comment on me as sloppy, uninterested etc. when they make the observation I'm not a detailed note-taker which is quite frustrating.

I've mentored enough colleagues that I've come across those who take extremely detailed notes, and are successful, and a fair number who do this and don't find success in their work. When I try to find ways to get them to question their approach they are often resistant to changing because the have an ingrained belief that detailed note-taking is of fundamental importance.

Re:The software engineering notebook by goo on Sunday October 15, 2017 @04:50PM (#15479228)
One insight that I've come across is the idea that "writing is just thinking on paper". Detail isn't necessarily valuable when it comes to thinking -- it can add noise to the crucial signal. I think the same is true of notes.

I spent my entire education and most of my software career taking few notes, and they did the job well enough. Despite my shift to taking a lot more for various reasons, I agree that there is no moral or strategic value to taking nice notes just for the sake of having done so.

Re:The software engineering notebook by swsieber on Saturday October 14, 2017 @08:09PM (#15475057)
I would bet those who are successful have some pretty good reasons for taking notes, while those who are not do it as an end until itself (e.g. "because that's what successful people do")

Which makes me think there is something not so obvious that accompanies effective note taking.

Re:The software engineering notebook by Kluny on Saturday October 14, 2017 @08:41PM (#15475168)
For me, it's when I've expended some effort to gain a new piece of knowledge. I'll have to redo the (debugging process/google trail/staring into space thinking real hard) from scratch next time I do it, because it's too intricate to have memorized it.

Taking notes about routine everyday stuff is boring and worse than useless, because the notes are full of duplicated information that makes searching slower. I imagine the people who take notes for it's own sake are basically listing everything that they do, whether they gained any new insight or not.

Re:The software engineering notebook by goo on Sunday October 15, 2017 @04:41PM (#15479188)
I think that's a really valuable mental tool. Sometimes past baggage is a hindrance to current goals.

As part of treating my notes as a code project, I even keep them version controlled, which leaves me a little more free to just delete things or "refactor" stuff. A lot of the value I get is going back through things and synthesizing them into clearer and more useful notes. TODOs in particular are dangerous -- I try to treat files of that nature as extensions of my long term memory, rather than a curriculum which I feel obligated to follow.

That being said, there is an element of this project where I feel like a am building a piece of "my life's work". I've built a number of software projects, and part of building them over time and organizing them leaves them in a state where I am proud to have built them -- I can point out a piece of the system, and understand why it works that way, and remember the choices that led to its current state. At one point, I realized that I had no such project for my life, and it was a little weird that I had so clearly documented software systems that were hardly used, whereas my life and action and ideas and knowledge were, for the most part, just in my head. So in a way it's more than the practicality of having notes, although in the practice of it I have found it to be practical. It's a way of adding meaning to the course of my life -- now the ten minutes I spent reading an article can also become a gift to my future self due to the one choice quote I grab from it.

Re:The software engineering notebook by closeparen on Saturday October 14, 2017 @05:53PM (#15474541)
It isn't about having the artifact, but about the reflective activity of creating the artifact.
Re:The software engineering notebook by djhworld on Saturday October 14, 2017 @04:11PM (#15473998)
I'm fairly similar to you but not as maybe not as meticulous

One thing that wasn't working for me was storing TODO style things and "X I want to watch/read/learn/play/do" items in my notes. Eventually I found Trello and it seems a good fit for that style of task (for me)

Everything else is stored in my notes though, or sometimes in paper-based notebooks that I take pictures of occasionally for archiving.

Still need to get better at things I've done at the weekend/daily bullet points etc, I often forget or am too lazy

Re:The software engineering notebook by amelius on Saturday October 14, 2017 @08:51PM (#15475212)
What is the read-versus-write ratio of your notes?

I.e., how often do you actually read the things you write down?

PS: Have you ever thought about using a "lifelogging camera" instead? :)

Re:The software engineering notebook by goo on Sunday October 15, 2017 @04:16PM (#15479060)
Great question... some files are very read heavy (e.g traits.txt, which is a collection of about 25 traits phrased as imperatives that I aim to accomplish, such as: "

BUILD QUALITY RELATIONSHIPS - improve existing relationships, and seek out new good ones

MAINTAIN NEUTRALITY - approach things with a beginners mind

PRACTICE SELF-COMPASSION - admit pain, take kind and mindful action ")

Some files are just used a lot for both reading and writing. These include a todo.txt, event_planning.txt for planning logistics of whatever fun getaway or event I'm doing next, a shopping_queue.txt (reduce impulse buys by requiring I put things on that list for some amount of time).

I find that for taking notes on books or presentations, I will write them once, and then refer back to them infrequently -- maybe once a year. A bigger advantage is gained because it makes it easier to stop reading/watching things, because then I can always pick it up again and review the notes associated with it, so I can have a lot of educational threads going at the same time without fear of losing the context.

For journaling, I tend to review my journal and list of activities as a whole a couple of times a year, and typically will review the last week every week or so.

Much of this happens naturally due to the fact that the project is open -- it's often easier and more interesting to review my past work week or pick up where I left off on a book (stored as a pdf within the notes) than it is to jump onto facebook or whatever.

Re:The software engineering notebook by Too on Sunday October 15, 2017 @04:00AM (#15476308)
Videos reduce the read-vs-write ratio even more for me, they can't be searched or skimmed.
Re:The software engineering notebook by dorian-graph on Saturday October 14, 2017 @05:08PM (#15474314)
Totally agree goo! I do something more or less the same as you, just to not the same extent—but I will be soon when I export my 'to watch' list from IMDB and 'to read' list from Instapaper.

Since 2013 I started creating a text file almost every day in a directory structure of '../daily/2017/17-10-14.txt'.

I use it as a journal (I put the current time and wrote whatever it is down), a scratchpad, a temporary todo, habit tracker, etc. It's been super useful for me. I've thought about formalising it, using tags, etc. but have found myself getting along fine.

I used to use Day One (macOS/iOS) religiously but have found that this daily txt log mostly sufficient. What I would like is to expand my macros from getting the current time to getting my current location and weather.

For work, I have a 'log.txt' in which I have a section for each day and copy-forward the previous day's section. While we have our own company tracking tools, etc., this is purely for me and has helped me keep better track of everything I need/want to do without letting anything slip out.

I've found that doing each of these things takes up very little time too—partly due to not formalising it or making it fancy. I've thought about using a vimwiki which I'm a big fan of, and gave it a go once, but I stopped. It was no fault of vimwiki itself, but so far have found the text files sufficient.

For my phone (iPhone), I use https://ia.net/writer/, and I keep all these text files in Dropbox.

Another reason why I've stuck to text files is because of the fatigue of different apps and services disappearing due to whatever reasons.

Re:The software engineering notebook by danilocesar on Sunday October 15, 2017 @08:13AM (#15476818)
I'm doing almost the same thing. I have a simple script that opens a ~/Documents/devlog/20171015.txt automatically when I start working.

When I need to find something old I use fgrep on that folder. Works like a charm.

It's plain text, no defined structure. I dont't use it for TODOs as that info would get easily lost.

I use it almost everyday, specially when something different happen: how to release an old piece of software that current setup dont support anymore or how to connect to a service that I only use sporadically.

I tried some tools and apps for this, even tried to track that for a few days in Trello. eventually I gave up and went back to the plain txt file.

Re:The software engineering notebook by aiisgood on Saturday October 14, 2017 @04:24PM (#15474071)
Can you explain how you organize them? Been trying to do something similar but haven't gotten it quite right yet.
Re:The software engineering notebook by Kluny on Saturday October 14, 2017 @05:37PM (#15474453)
I've given up on organizing. I find things with ctrl-f and put the date siren every time I start writing, so if I know generally when something happened, I can go back and find it.
Re:The software engineering notebook by tigershark on Sunday October 15, 2017 @06:10AM (#15476558)
I have a diametrically opposite experience instead. For me taking notes is most of the time harmful. If I need to document something it is much better to write a confluence page so everyone in the team can access it. While I'm coding taking notes breaks my flow of thoughts and I lose the momentum. Obviously I do write schematics or structures of the components on which I'm working on, but I don't consider that note taking, it is really part of the designing process and at the end the architecture will go in any case in confluence. Last but not least, I noticed that if I can just read some note easily I don't commit that information to my long term memory, so paradoxically, writing notes actually harms my memorisation process.
Re:The software engineering notebook by hyperpallium on Saturday October 14, 2017 @11:34PM (#15475741)
How do you find relevant notes from the past? grep (or a fuzzy-match version) would help, or do you organize them by some system?

The organization of notes in an accessible manner is a challenge for me - perhaps I'm doing it wromg.

Re:The software engineering notebook by goo on Sunday October 15, 2017 @04:04PM (#15479009)
Many notes are easily organized -- when I take notes on books I am reading, for example, there is pretty natural connection to where the not should live (e.g. /education/books/design_of_everyday_things.txt)

Otherwise, since these notes in the context of a project, I can treat it the same way I treat code. So a mix of multi-file search, and directories that correspond to the knowledge in them (e.g. "finances/investing.txt" or "journal/happiness_project.txt", the latter containing any work I do on http://diurnal.st/2013/05/27/training-your-brain-to-be-and-s... -- which I don't do everyday by any means, but that's an example of the kind of thing that exists in my notes)

Re:The software engineering notebook by epsolos on Saturday October 14, 2017 @09:23PM (#15475338)
Would you be willing to talk more about your experience? I too am very interested in this process, but have yet to find one that is successful for me. I would love to hear more about your process.
Re:The software engineering notebook by vram22 on Sunday October 15, 2017 @02:28PM (#15478401)
I had started a simpler version of your approach a while ago, but how do you manage the overhead if you use it for EVERYTHING?
Re:The software engineering notebook by craftyguy on Saturday October 14, 2017 @09:57PM (#15475451)
Good god, man/woman. Do you have time to do anything else besides taking notes?
Re:The software engineering notebook by fredsted on Sunday October 15, 2017 @03:59AM (#15476306)
What does the folder structure look like?
Re:The software engineering notebook by galfarragem on Sunday October 15, 2017 @05:44AM (#15476515)