For the past year or so, every time I worked on a non-trivial problem, I did it on a sheet of paper. It definitely took discipline at first but now I couldn't do it any other way.
My motivation for adopting this approach came from reading a blog post by Guido Van Rossum (http://neopythonic.blogspot.fr/2011/07/before-python.html).
Then I went to university in Amsterdam to study mathematics and they had a computer that was free for students to use!
(Not unlimited though. We were allowed to use something like one second of CPU time per day. :-)
"One second of CPU time per day" got me thinking. Sure there are benefits to having modernly cheap computers, but how did they do it before?http://www.cs.utexas.edu/~EWD/
They are hand written as you said.
Agreed. Also relevant to this topic is Rich Hickey's talk on "Hammock Driven Development": http://blip.tv/clojure/hammock-driven-development-4475586
After a few weeks of this, my handwriting got back to a decent quality and efficiency and now I find that I take notes on paper for all sorts of things. It's great for working through problems.
I tried a whiteboard for a while and it just didn't do it for me. I think there's something about the tactile experience of holding a notebook in my hand and scrawling on it with a pen; the movement, the sound, the texture of pen on paper, not to mention being able to keep and flip through previous work and go back and make notes in the margins that makes it far better than trying to work out problems on a computer or a whiteboard.
I am sometimes ridiculed for such low technology though which I find rather strange. I think there are some serious cultural identity problems at the moment.
By this argument, do you also pay your bills manually by check at the end of each month? And book all your air travel by calling a travel agent?
There's nothing wrong with trying these things to see what advantage they have, but advocating the old ways of doing things purely because they're old seems more like religion than science to me.
The appropriate question is whether or not the move to computers has improved things. Not every step forward technology-wise is an improvement. Some things need to be walked back.
For example, as a Physicist by training, most of the math I had to do was far more easily worked out by hand than fiddling around with a computer to do it.
When you're thinking through a problem pencil and paper are often a better medium than computers. Conversely where once I would have drafted letters and articles by hand, it's way faster nowadays to type into a word processor or tool like Evernote and keep coming back to improve something.
I still pay some bills by check as it fits the specific case better. But some online bill payment, or travel booking is better done online, as you correctly suggest.
...that being said, I wish I could call a travel agent and get it all booked nowadays, but they've been put out of business by book-it-yourself websites. Before these sites you may have been calling a travel agent but they were using a computer too so it's not so much the move to computation that's changed this last 10-20 years but disintermediation of the middle man. However those middle-men actually provided value that I'm only realizing now I'm older and would rather pay a little premium for the convenience of not wading through a gazillion different sites to get the right bookings and prices for a complex itinerary.
New way is always the best way seems more like religion than science to me.
I disagree with using paper and a pen. Why spend time drawing these letters out when we can just type them? Is it just a strategy to force yourself to slow down and think about what you're writing? There's nothing magical about manually drawing letters.
If I type, all I can do with minimal effort is type. If I want to draw diagrams, or annotations, or brainstorm, I have to change to a different application, and use separate tools for each task, or otherwise spend more time formatting my document than getting my thoughts written down.
If I write, then I need nothing more than a pen and some paper and I can do anything, and I can do it fast without having to find the correct type of document to create, or the right place to save it.
Most importantly, I don't need a computer to do it, and it gets me away from my screen. And even if I never refer to the notes again, the satisfaction of doing it at all is invaluable.
And I get an automatic, permanent record that I can review anywhere or when without having to print it out.
If the notebook is bound (can't add or remove pages), with pre-numbered pages (proves no pages added or removed), and entries are dated, it's pretty much automatically admissible in court. Loose or missing pages, hand written page numbers, missing dates -- won't necessarily make it inadmissible, but it leaves room for the work to be challenged by the opposing team.
Does anyone know of a good place to get an inexpensive (and leatherless) one of these? I would say any notebook would work, but I haven't ran on to many with numbered pages.
I have used them for years.
Reading the comments on here and reddit, it seems to me there are two different motivations: getting thoughts on paper vs. having a trail for future reference. Pen and paper is great for the former, which is my primary motivation.
I highly recommend you try the paper approach at least for a week to see if it helps you. Its is a hassle switching gears from keyboard to pencil, but it helps a lot. I did try various programs, but it never felt personal enough for me. Maybe its just me.
Keeping a record of your thoughts is so useful in establishing how you arrived at your current opinions. It helps you to make the mirror on yourself much clearer. I find it immensely useful to look at how I've approached problems and discover new insights from the patterns I can glean in my journals.
Plus it leaves behind a record of yourself in meat-space. Depending on the nature of the up-coming apocalypse this might come in handy.
I would disagree about the author's advice to use page numbers and table of contents, though; these add overhead, and for me the main advantage is ease-of-use, including close to zero extra work when writing something down. (Dates are useful, I admit.)
I keep a paper coding notebook of anything I might possibly refer back to ever -- things like basic how-to's on using new technologies, or diagrams of how I'm structuring my code.
I also use a simple open source work journal (nicknamed wj) that helps me make sure I'm on track in the scope of days and weeks. My plan is to end up with one or two sheets of paper that summarize what I did throughout a year - this is a great personal motivator to make sure I'm doing work that a future-me will be happy with. http://tylerneylon.com/a/wj/
I write down a LOT of my thoughts as I work - most of it I never refer back to again after that day. I like to use book darts (maybe two or three per notebook) to mark things I do refer back to more often. http://www.bookdarts.com/
My most recent attempt has been a pile of Markdown files in a Github repository. I edit them directly in Github's editor and they are automatically rendered by Github, so I get nice syntax highlighting and working links. It has the added advantage that I can send people links to whatever I'm struggling with, like "Here's the error message I'm getting: <link>."
Here's my log: https://github.com/pingswept/dev-log (Obviously, this only works because most of what I do these days is open source, but it could work just as well on an intranet.)
I've been creating a new file for each day's log, but I think that might not be quite the right approach. It makes searching a little more difficult (though still much easier than notebooks), but makes editing easier because I don't have to scroll to the bottom of a huge file to start typing.
If anyone has suggestions of better ways to do this, I'm definitely interested.
(Hmmm. Maybe there's a keyboard shortcut for skip-to-bottom-of-file in the Github editor. Edit: hey, there is! Command-down-arrow.)
More so, if it doesn't suit you I'd be interested to know why--given you seem to have implemented a more manual approach to what Labradoc aims to do.
The major difference from what you've described is that Labradoc has a project-based rather than day-based focus. (Although there's no reason why a "day view" couldn't be an option...)
(Labradoc also uses Markdown.)
1. My system already works fine.
2. The default styling of Labradoc doesn't suit me. The blue/purple links and left-aligned text have a 2005ish look to me. Those would presumably be pretty easy to fix with a CSS overlay of some sort, but that would require a little tweaking.
But still, Labradoc looks like pretty much the same solution that I came up with, so I like it!
One suggestion: make the example have a link or screenshots to something that shows the Markdown side of things. Is there an editor? What does it look like? Even a screenshot tour would help lure people in.
Than I found org-mode. We're happily together for over a month now ...
I've tried keeping notes on the computer and they are useful. But, I've never gotten the same level of focus from writing in an online journal. I wonder if the focus comes with practice. I type much faster than I write longhand, so perhaps I lose the trigger of slowing myself down.
I primarily created it for myself (http://www.labradoc.com/i/follower) because getting into the habit of creating project logs had a huge positive impact for me.
Here's an example of a small project I worked on earlier this year: http://www.labradoc.com/i/follower/p/project-sms-text-scroll...
I consider it a form of a "commit log for your day"...
I love the soft-leather grid notebooks from miquelrius (no affiliation whatsoever, but I always get comments about them): http://www.shopmiquelrius.com/servlet/the-553/Flexible-Noteb...
I always keep one of those handy, as well as a whiteboard. Together they serve as my rubber duck and todo list; no matter what apps, services, etc. I've tried, I always come back to pen/paper and marker/whiteboard - it just works.
Hard to draw diagrams in most todo-list apps; where do you jot phone #s, debugging constants, interview notes?
There's other stuff that you'll write down because you're going to want to refer to it later. (For example, contact information, websites urls, things to put on a to-do list.) I came up with a simple set of margin icons ("@" for contact info, "w" for a www url, a checkbox for a to-do item, the date for an item for your calendar.
If you put them in the margin, then you can cross them off when you put them in your contact list, your calendar, or your to-do list.
You can extend this further with other margin icons. For instance, you can write "M" in the margin to identify meeting notes. or "Q" for a particularly good quote.
The key to note taking is to figure out how you would need the information later and improve the way you capture to support the way you consume.
I was afraid of that. :) But yes, I see your point. I suppose it's hard to do better than: think of what your future self would need to know, providing both context (to jog your memory when possible), rationale (because that is NOT always obvious), and technical detail (both because that stuff changes and because it's better not to re-derive your previous understanding from scratch whenever possible).
I kept written notebooks for several years now. These contain anything including scratch paper, programming logs, long form writing, and ideas. I use standard spiral bound notebooks that always go on sale this time of year for a buck. They are reasonably well made and stand up to the abuses that I throw at them. Right now I am carrying three of these with me along with my laptop. My current notebook has four website ideas, one story idea, one game idea, and nearly two dozen short essays.
At the top of the page, I generally give a title to what I'm doing. I have some common labels, like what the project is or the title of a short essay. Right now I don't have a way to organize it, so I'm usually flipping to find what I'm looking for. Sometimes I become distracted by reading about something else I wrote months before, and it would inspire a new essay or idea.
I'm currently trying out some ways to digitize my old journals so I can put my old notebooks in long term storage and not disturb them. If anybody has some suggestions, I'm open :)
All my life I've been told that keeping a journal would be a worthwhile and valuable experience. However, I could never stick with it for more than a few days or a week at max.
Cut to this summer, where I got my first "real" job, and made friends with a very cool guy[1]. At some point, he mentioned how he adapted the idea of journaling into his life. He had encountered the same issue I had, where he could never keep a journal for any amount of time. Instead, he bought a moleskine large notebook and began using it for notes of all kinds.
The genius is that while it is an organizational tool, it also acts as a "no-effort journal." He showed me all the things he had been working on and thinking about just by looking back at the previous pages of his notebook.
With his advice in mind, I have also started keeping a notebook just to write things down in. It's tremendously helpful for my own organization, and it gives me a clear view of all the things I've had on my mind.
In short, I recommend a notebook for everything in your life, not just programming (although a separate programming notebook may be worthwhile to you).
My original goal for it was as a way to get ideas out of my head and onto "paper". It used to be that I would have an idea and then it would circle around my head for weeks while my subconscious tried to work out all the implications.
The thing I use almost every day, though, is the append API call, which just appends a timestamp and some arbitrary markdown to an existing note. I wrote a little script that appends to a particular note, and I run it automatically after consequential actions at work. I also use it to write journal entries about what I'm working on, both for work and side projects.
I've been meaning to get it fit for public consumption and set up somewhere but I haven't gotten around to it. If anyone wants to give it a test run, let me know. If there's a market I might just try to monitize it :)
Yeah, I've found a project log as a good way to get an idea out of my head too--or out of the tabs in my browser :) until I'm ready to get back to it.
Sounds like your app has some similarities to my Labradoc site (http://labradoc.com/)--I haven't yet succeeded in being able to monitize it. :)
"->" (random points)
"o" (random points)
"[ ]" (thing I need to do)
"[/]" (thing I need to do, in progress)
"[?]" (I don't know what to do, might revisit)
"[-]" (Not going to do this one, maybe it became redundant)
This helps me a lot to line up my thoughts and know where I am. However, I really like the legend as described by OP, so I might change mine towards that approach.
Different size notebooks for different size ideas. A friend of mine (who I stole this habit from) said he had a coffee-table-sized sketchbook at home that he'd never used, because he'd never had an idea that big. :-)
This is what I'm currently using and I really like them: http://amzn.com/B0027AEKJ8 they come in a 4 pack of different thicknesses, and are only $12 at Staples. I'm sure there's better however!
http://www.kickstarter.com/projects/894128597/the-pen-projec...
Sure, its expensive for a pen. But I plan on carrying it around with me everywhere and I wanted a pen that I feel reflects my values and interests.
I use and am totally in love with Day One (iOS & OSX) for my personal journal:
It could very easily be adapted into a programming journal (it supports images w/ each entry & monospace fonts, which are both great). Unfortunately, they don't yet support multiple journals, so that's out as an option for me on the programming side.
Any thoughts / suggestions on good apps that will fit the bill? I know about Evernote but would love something a bit more "journal-specific" and perhaps better suited to this task...
I have a org-mode "capture" keybinding set up so I can just hit a key while programming and a small popup buffer asks me for some notes on what I'm thinking about. It can then add it to tomorrow's TODO list or perhaps a journal file/folder of my choosing.
Best part: because it works with Emacs, it doesn't break my flow. I can just capture thoughts while coding and immediately get straight back to coding.
The two things this is weak in are sharing and not having a leather bound tactile notebook and pen to play with which I must admit looks pretty cool.
The only times I've found myself needing paper is when dealing with graphics programming, in which case it's simply for figuring out the best way to tell the computer how to do something. Once it's in code, I don't need the paper anymore; I can just grep for it.
http://lifehacker.com/281626/jerry-seinfelds-productivity-se...
I used to like putting stickers on a calendar as a kid for this sort of thing, and I wanted to do that on the phone but found that most electronic calendars aren't so good for that. So I developed an app to let me do that. http://www.ooghamist.com/shinycal/
I use a thin (0.5mm) mechanical pencil.
* Look back at it at the end of the day and see what you've done that day. This is your reward for using it. Alternatively you could have your own reward.
* If you forget to do it today, restart tomorrow without any fuss. Don't worry too much about the lost day, like I used to.
In the beginning I was pretty excited about it and it was real easy, but after couple months it got a little old. Eventually I got around to the point where if I don't write in the journal while working I feel uneasy.
But I haven't been able to find a paper that is thick enough to allow for double sided writing. The composition pads tend to have really thin sheets that the ink shows through. Does anybody have suggestions?
Moleskine notebooks look promising, except they aren't really leather and don't have pre-numbered pages. I guess I can number the pages myself, but it would be nice to already have it done.
Edit: Saw these in comments: http://www.leuchtturm1917.com/de/content/startseite
https://www.nytimes.com/interactive/2009/09/04/opinion/20090...
The second image of the journal page seems to show a list of possible approaches to a problem. The fourth image looks as if it has performance data and evaluation of a working system, so that is a couple of ideas. I think it is quite a brave thing to post the actual images. Perhaps fortunate the OP does not record team dynamics in his journal.
I work as a teacher, and I use a cheap page a day diary to record a few key points from each lesson. The 'readymade' aspect of the page a day diary seems to reduce the 'threshold' for making notes.
* Write a todo. Ex: Log errors from Fb. * Ask a question if I'm stuck. Ex: Will Log4R block the reactor? * Play with various approaches. Ex: Write in thread, plug into Goliath's logger. * Note any bugs. Ex: Logger blah blah * Rinse and repeat.
I know its a silly example, but you get the idea. Hope that helps.