Outside of that, a friend of mine has made his own semi-public wiki, and tied that into his email client; he can now easily link to pages from within the email, allowing him to communicate A LOT with very few new words. It's pretty neat.
The software engineering notebook
51–60 of 143 posts
Re: The software engineering notebook
#52Plain Text:
Pros > Simplest, works everywhere/on everything, scales well (append forever!)
Cons > Least automated, no images, no math, no code, hyperlinks depend on editor, no embedded files
WYSIWYG Doc Editor (Word, Writer, etc):
Pros > As easy as plain text, can do images/math/hyperlinks/embedded files, somewhat portable
Cons > Bad at code, not many automated features, unwieldy once file gets large
Markup language tool (Org-Mode, Wikis, etc):
Pros > Powerful, portable, good at code/links, scales well, highly configurable, highly scaleable
Cons > Have to learn the markup language, mostly bad at math, high up-front costs (e.g. needing to set up a server or learn alien keyboard shortcuts), non-wysiwyg feels less like a "quick note" and more like a professional document, image/doc embedding can be hit or miss
Note-taking app (Onenote, Evernote, etc):
Pros > Automates lots of note-taking tasks (e.g. time stamping/tagging), can do images/math*/hyperlinks/embedded files, scales... fairly well
Cons > Least portable (dependent on app-specific sync features which may change), less simple (best use of notebook features are non-obvious), still bad at code
Electronic lab notebooks (ELNs) (labfolder, benchling, etc):
Pros > Good for organizing/presenting data, embedding files, scale very well, have collaboration features
Cons > Very not-simple (most require either require server config, or you don't own your data), most are somehow still bad at math/code, frequently expensive and not portable
Task Managers / To-do lists (Trello, Asana, etc):
Pros > Very intuitive to use, can sort of embed documents/images, have collab features
Cons > Not good for longer-form notes, bad at math, not meant for note-taking, you mostly don't own your data
Others:
Jupyter/Mathematica can do WYSIWYG text, code, math, data, and images all in one document. However, Mathematica is expensive, and Jupyter is non-trivial to get up and running. These tools are primarily geared towards creating a polished document, and are less good at documenting the evolution of ideas inherent in note-taking.
Personal Diary/Journal software is mostly underwhelming, most of these seem like cut-down note-taking apps sold to the non-tech-savvy
Re: The software engineering notebook
#53Sits in a browser tab, insanely quick to use which is the most important thing.
Consider it perfect for taking notes.
I use seperate systems for todo and project management (the project management one I wrote myself)
Re: The software engineering notebook
#54I have a "notes" directory in dropbox. I use .md files, with a text editor that does some highlighting based upon the markdown. 95% of them go into what I call my "dev diary". Each day gets a new file. Any questions, answers, thoughts, etc. while programming or designing go in there. For searchability, I also add any reference Jira/Trello/etc ids. Beyond that, I have cheatsheets and checklists. Cheatsheets are short,…
I've found that for some reasons I simply cannot consume/read .md in source form.
After all having rendered in larger font means something, right?
Re: The software engineering notebook
#55The 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 th…
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…
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
#56http://tiddlywiki.com/ Sits in a browser tab, insanely quick to use which is the most important thing. Consider it perfect for taking notes. I use seperate systems for todo and project management (the project management one I wrote myself)
Re: The software engineering notebook
#57I have adopted this practice over the last year and have found immense value in the practice. I believe this practice is one of the cheapest ways to help leverage your previous experience on the job as you keep yourself from having to repeat previous learnings over and over again as you try to remember what those compiler flags you used 6 months ago actually were :). My system is quite simple. I have created a github…
A script might finesse things a little more, but you could get a naive implementation of the timestamp behavior with something like: alias journal='vim + "/Users/username/journal/$(date +%Y)/$(date +%Y%m%d).md" -c "execute \"normal! Go$(date +%T)\ ========\ \" | startinsert "'
Re: The software engineering notebook
#58The 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 th…
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…
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
#59The 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 th…
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…
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
#60Working on this has definitely helped me learn these concepts much better and deeper, plus it's easy to go back and find things when I need them. Just reading something is not a good way to absorb information. Actually having to regurgitate something in your own words makes a huge difference.
Gitbook is not the best place for all my notes. Will be using Evernote going forward.