Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
River (getriver.com): Keep a programming journal.

One of my favorite past times is to look at the notebooks of famous scientists. Da Vinci's notebook is well known, but there plenty others. Worshipping Da Vinci like no other, I bought a Think/Create/Record journal, used it mostly to keep jot down random thoughts and take notes. This was great in the beginning, but the conformity of lines drove me nuts. Only moleskines made blank notebooks, so I had to buy one.

At the same time I started a freelance project. The project itself is irrelevant, but suffice to say it was very complex and spanned several months. It seemed like a perfect opportunity to use the moleskine. Looking back, all my entries fell under few categories:

  • Todo
  • Question
  • Thought
  • Bug
  • Feature

Clearly there isn't any technological reason you couldn't use Github issues or Pivotal or Jira. I tried those, but none of them caught on. The real value for me, was oddly not looking back at the entries (I rarely do), but writing them down on paper, especially the question or thought. I'd write it down, research online, test it and write down the results. It gets tedious at times, but at the end of the day its a real pleasure to look back and see how far I've come.

If you decide to start your own journal, here's few tips:

  • Keep a list of contents
  • Number each page
  • Note date & time before each entry
  • Write everything everything

I've been doing this experiment for the past 4 months and it's been very helpful. Some days I'd feel lazy or be excited to write stuff down, but inevitably the regret train hits me the next day. Nowadays I open the notebook and write down date and time first thing in the morning.

This is part of River blog. See https://gist.github.com/3417820.

@dudepare

This comment has been minimized.

Show comment Hide comment
@dudepare

dudepare Aug 28, 2012

nice leather covered notebook.

nice leather covered notebook.

@martinvelez

This comment has been minimized.

Show comment Hide comment
@martinvelez

martinvelez Aug 28, 2012

I think notebooks typically help you organize your current thoughts and plans. I never look back through mine either.

I think notebooks typically help you organize your current thoughts and plans. I never look back through mine either.

@ecirmada

This comment has been minimized.

Show comment Hide comment
@ecirmada

ecirmada Aug 28, 2012

would you be able to elaborate on this point: "Keep a list of contents"?

How would one deal with multiple projects?

would you be able to elaborate on this point: "Keep a list of contents"?

How would one deal with multiple projects?

@sent-hil

This comment has been minimized.

Show comment Hide comment
@sent-hil

sent-hil Aug 28, 2012

@ecirmada My current list of contents is something like this:

Project A: 1, 3, 5
Project B: 2
Project C: 2, 4

The numbers next to the project name are page numbers. I experimented with allocating a set number of pages for each project, but then I ended up with lot of unused pages. Now if I switch projects I simply write down the name of the project on a new line and add the page number to the contents. Another idea is to write down the new page number next to the last old entry, so there's trail. You could also use page markers with different colors indicating different projects.

I don't mind too much anymore about the projects being spread out so much. Like I mentioned before the real value for me is putting my thoughts on paper, not reading them back, but its nice to know I can.

Owner

sent-hil commented Aug 28, 2012

@ecirmada My current list of contents is something like this:

Project A: 1, 3, 5
Project B: 2
Project C: 2, 4

The numbers next to the project name are page numbers. I experimented with allocating a set number of pages for each project, but then I ended up with lot of unused pages. Now if I switch projects I simply write down the name of the project on a new line and add the page number to the contents. Another idea is to write down the new page number next to the last old entry, so there's trail. You could also use page markers with different colors indicating different projects.

I don't mind too much anymore about the projects being spread out so much. Like I mentioned before the real value for me is putting my thoughts on paper, not reading them back, but its nice to know I can.

@brianpartridge

This comment has been minimized.

Show comment Hide comment
@brianpartridge

brianpartridge Aug 28, 2012

I started doing this a few months ago as well, with similar results. I find that writing things down helps get them out of my mind so I don't dwell on bugs and todos.

Rather than using a bigger notebook I've been using Molskine cahire-sized notebooks, like Field Notes. This way I can have a single notebook dedicated to a single project without the need to try something like your page numbering technique. Field Notes also have a blank version, which is the kind I use as well since the lines applied too much structure.

I started doing this a few months ago as well, with similar results. I find that writing things down helps get them out of my mind so I don't dwell on bugs and todos.

Rather than using a bigger notebook I've been using Molskine cahire-sized notebooks, like Field Notes. This way I can have a single notebook dedicated to a single project without the need to try something like your page numbering technique. Field Notes also have a blank version, which is the kind I use as well since the lines applied too much structure.

@postmodern

This comment has been minimized.

Show comment Hide comment
@postmodern

postmodern Aug 29, 2012

Ever since college, I've kept notebooks for long running projects. I would discuss problems, approaches and features in the notebooks, enumerating pros/cons and edge-cases. This prevented me from getting blocked, or worse, thrashing around in the code.

Also, quad-ruled Composition notebooks are superior to Molskine notebooks; cheaper and found in most any grocery store. If you need more writing space, try to find a Chemistry notebook (60 sheets, 11'' x 8 1/2'', hardcover).

Ever since college, I've kept notebooks for long running projects. I would discuss problems, approaches and features in the notebooks, enumerating pros/cons and edge-cases. This prevented me from getting blocked, or worse, thrashing around in the code.

Also, quad-ruled Composition notebooks are superior to Molskine notebooks; cheaper and found in most any grocery store. If you need more writing space, try to find a Chemistry notebook (60 sheets, 11'' x 8 1/2'', hardcover).

@jbubriski

This comment has been minimized.

Show comment Hide comment
@jbubriski

jbubriski Aug 29, 2012

If you like the physical medium, you should try the Circa notebooks from Levenger. They allow you to reorganize pages inside the notebook in a pretty slick fashion! I have used these before and they work well. You can buy a hole punch to make your own, and print out your own templates to reduce cost (The products are rather expensive, so just get the starter kit to try it out).

If you like the physical medium, you should try the Circa notebooks from Levenger. They allow you to reorganize pages inside the notebook in a pretty slick fashion! I have used these before and they work well. You can buy a hole punch to make your own, and print out your own templates to reduce cost (The products are rather expensive, so just get the starter kit to try it out).

@sdball

This comment has been minimized.

Show comment Hide comment
@sdball

sdball Aug 29, 2012

I keep a continually growing text file. Plain text with a smattering of "markup" that's not really conforming to any specific syntax although it's mostly markdown.

In that file I just drop in short notes on what I'm working on, problems I ran into, solutions I found, code snippets, sql queries, etc. Being plaintext it's easy to move around, search, edit, etc.

sdball commented Aug 29, 2012

I keep a continually growing text file. Plain text with a smattering of "markup" that's not really conforming to any specific syntax although it's mostly markdown.

In that file I just drop in short notes on what I'm working on, problems I ran into, solutions I found, code snippets, sql queries, etc. Being plaintext it's easy to move around, search, edit, etc.

@kellishaver

This comment has been minimized.

Show comment Hide comment
@kellishaver

kellishaver Aug 29, 2012

I've done this for a while. I stock up on notebooks during "back to school" sales when they can be had for a dime a piece. Then each project gets its own notebook(s).

I've done this for a while. I stock up on notebooks during "back to school" sales when they can be had for a dime a piece. Then each project gets its own notebook(s).

@rhacker

This comment has been minimized.

Show comment Hide comment
@rhacker

rhacker Aug 29, 2012

I've done taking note with notebook but I don't keep it as a journal. I just write all my thought, my flow to get things clear and then throw it away, if there is important information, I will write back to evernote or text files to search later.
My real journal actually is my blog and private notes ( which is mostly text file, easy to write and easy to search )

  • Nice leather covered book :)

rhacker commented Aug 29, 2012

I've done taking note with notebook but I don't keep it as a journal. I just write all my thought, my flow to get things clear and then throw it away, if there is important information, I will write back to evernote or text files to search later.
My real journal actually is my blog and private notes ( which is mostly text file, easy to write and easy to search )

  • Nice leather covered book :)
@mixonic

This comment has been minimized.

Show comment Hide comment
@mixonic

mixonic Aug 29, 2012

This looks more like a notebook than proper journal. I've been considering a real programming journal for a while now, a spot to note down what I worked on that day, what worked, what didn't. A tool to encourage reflection after a day of pushing pixels and bits around.

I'm sure having a place to periodically organize yourself throughout the day is great though!

mixonic commented Aug 29, 2012

This looks more like a notebook than proper journal. I've been considering a real programming journal for a while now, a spot to note down what I worked on that day, what worked, what didn't. A tool to encourage reflection after a day of pushing pixels and bits around.

I'm sure having a place to periodically organize yourself throughout the day is great though!

@craig552uk

This comment has been minimized.

Show comment Hide comment
@craig552uk

craig552uk Aug 29, 2012

I keep a couple of notebooks for thoughts and sketches. They're not at all structured, everything goes in it as it comes out of my head. Though I do date entries.

I also keep text files, one per month, with my daily work activities in. That has a running to do list at the bottom. I can easily look back over events and grep keywords. These files are sync'd via Dropbox so I have them at work/home and on my phone.

I keep a couple of notebooks for thoughts and sketches. They're not at all structured, everything goes in it as it comes out of my head. Though I do date entries.

I also keep text files, one per month, with my daily work activities in. That has a running to do list at the bottom. I can easily look back over events and grep keywords. These files are sync'd via Dropbox so I have them at work/home and on my phone.

@Apocryphon

This comment has been minimized.

Show comment Hide comment
@Apocryphon

Apocryphon Aug 29, 2012

Why use pen instead of pencil? Or is it erasable ink?

Why use pen instead of pencil? Or is it erasable ink?

@seanjensengrey

This comment has been minimized.

Show comment Hide comment
@seanjensengrey

seanjensengrey Aug 29, 2012

Just for pior art ... I have a similar glyph system that annotates my notes. The plan is to create optical recognizers so when the notes are scanned sections can be highlighted. My scribblings will be hard to OCR but the glyphs will be indexable.

Just for pior art ... I have a similar glyph system that annotates my notes. The plan is to create optical recognizers so when the notes are scanned sections can be highlighted. My scribblings will be hard to OCR but the glyphs will be indexable.

@superplussed

This comment has been minimized.

Show comment Hide comment
@superplussed

superplussed Aug 29, 2012

I'm a big fan of the dot-grid notebooks from behance:

http://www.creativesoutfitter.com/product/34/dot-grid-book

They are great for wire-framing, but I mostly use them for free-form notes. For some reason I really hate having lines on a page. Too restrictive man!

I'm a big fan of the dot-grid notebooks from behance:

http://www.creativesoutfitter.com/product/34/dot-grid-book

They are great for wire-framing, but I mostly use them for free-form notes. For some reason I really hate having lines on a page. Too restrictive man!

@sent-hil

This comment has been minimized.

Show comment Hide comment
@sent-hil

sent-hil Aug 29, 2012

@Apocryphon The one in the picture is a pencil. Its a Zebra M301 0.5mm lead. I really like the feel of it in my hands and they're relatively cheap, been using them since college.

Owner

sent-hil commented Aug 29, 2012

@Apocryphon The one in the picture is a pencil. Its a Zebra M301 0.5mm lead. I really like the feel of it in my hands and they're relatively cheap, been using them since college.

@CarolynG

This comment has been minimized.

Show comment Hide comment
@CarolynG

CarolynG Aug 29, 2012

YES! I do the same thing, but I can't stand how dark the lines are in most notebooks. I love the Whitelines brand for both lined and quad-ruled notes: http://whitelines.se.

YES! I do the same thing, but I can't stand how dark the lines are in most notebooks. I love the Whitelines brand for both lined and quad-ruled notes: http://whitelines.se.

@jondot

This comment has been minimized.

Show comment Hide comment
@jondot

jondot Aug 29, 2012

I wrote a CLI tool that saves and organizes notes as you work, on top of Gists for this exact purpose. Of course pen and paper offers the best UX, but command-line is a close second for me.

https://github.com/jondot/logbook

jondot commented Aug 29, 2012

I wrote a CLI tool that saves and organizes notes as you work, on top of Gists for this exact purpose. Of course pen and paper offers the best UX, but command-line is a close second for me.

https://github.com/jondot/logbook

@localredhead

This comment has been minimized.

Show comment Hide comment
@localredhead

localredhead Aug 29, 2012

I have a very similar system that I've fallen into after years of documenting nearly everything in a moleskin. I've used the Question mark and Exclamation's - but for "Ideas" I always combined the two - i.e. (!?) <--- idea

I noticed you use the same mechanical pencil I use so there must be similarities in tastes. In the end I found that I liked the Grid moleskins for engineering work (for the occasional diagrame, flowchart) but I felt the exact same as you about having lines on my pages because I write in my journal so the pages are landscaped sometimes - usually when diagramming.

I have a very similar system that I've fallen into after years of documenting nearly everything in a moleskin. I've used the Question mark and Exclamation's - but for "Ideas" I always combined the two - i.e. (!?) <--- idea

I noticed you use the same mechanical pencil I use so there must be similarities in tastes. In the end I found that I liked the Grid moleskins for engineering work (for the occasional diagrame, flowchart) but I felt the exact same as you about having lines on my pages because I write in my journal so the pages are landscaped sometimes - usually when diagramming.

@ryanobjc

This comment has been minimized.

Show comment Hide comment
@ryanobjc

ryanobjc Aug 30, 2012

A cool way to amp this up is to get a Fountain Pen. Now you are rocking in style.

The bad news is that moleskin has reduced paper quality, so you may need to find an alternative to them.

A cool way to amp this up is to get a Fountain Pen. Now you are rocking in style.

The bad news is that moleskin has reduced paper quality, so you may need to find an alternative to them.

@nickbauman

This comment has been minimized.

Show comment Hide comment
@nickbauman

nickbauman Aug 30, 2012

Never buy a notebook to write in. Always make it yourself. It's cheaper and it makes you think more carefully about what you're saying because each page (or folio, in my case) was put there by you by hand.

This is pretty much kind I like to make for myself, I've been doing this since I was 9:

http://danidraws.com/2007/09/19/make-your-own-sketchbook/

Never buy a notebook to write in. Always make it yourself. It's cheaper and it makes you think more carefully about what you're saying because each page (or folio, in my case) was put there by you by hand.

This is pretty much kind I like to make for myself, I've been doing this since I was 9:

http://danidraws.com/2007/09/19/make-your-own-sketchbook/

@thunderrabbit

This comment has been minimized.

Show comment Hide comment
@thunderrabbit

thunderrabbit Aug 30, 2012

STOP THE PRESSES!!! You've been doing this for four months and that's awesome, but I've been doing it for N+1 years and have to add one more detail to "write the date" WRITE THE YEAR AS WELL!!!

STOP THE PRESSES!!! You've been doing this for four months and that's awesome, but I've been doing it for N+1 years and have to add one more detail to "write the date" WRITE THE YEAR AS WELL!!!

@azat-co

This comment has been minimized.

Show comment Hide comment
@azat-co

azat-co Aug 30, 2012

You should definitely re-read it :)

azat-co commented Aug 30, 2012

You should definitely re-read it :)

@Apocryphon

This comment has been minimized.

Show comment Hide comment
@Apocryphon

Apocryphon Aug 30, 2012

@sent-hil Ah, I see! I know some people who swear by ink over graphite, and while the latter certainly fades over time, I just don't see how anyone can do drawings or sketches with ink, even if it's just part of a journal. They must have a steadier hand for wireframing than mine.

@sent-hil Ah, I see! I know some people who swear by ink over graphite, and while the latter certainly fades over time, I just don't see how anyone can do drawings or sketches with ink, even if it's just part of a journal. They must have a steadier hand for wireframing than mine.

@andsve

This comment has been minimized.

Show comment Hide comment
@andsve

andsve Aug 30, 2012

@sent-hil Which Moleskine notebook do you prefer? And which is the brown one in the photo also a Moleskine (if so, what is it called, need to order that one since it looks slick!)? :)

andsve commented Aug 30, 2012

@sent-hil Which Moleskine notebook do you prefer? And which is the brown one in the photo also a Moleskine (if so, what is it called, need to order that one since it looks slick!)? :)

@sent-hil

This comment has been minimized.

Show comment Hide comment
@sent-hil

sent-hil Aug 30, 2012

@sweetfish The brown one is a Think/Create/Record graph ruled notebook, the black one is a blank Moleskine.

Owner

sent-hil commented Aug 30, 2012

@sweetfish The brown one is a Think/Create/Record graph ruled notebook, the black one is a blank Moleskine.

@johnantoni

This comment has been minimized.

Show comment Hide comment
@johnantoni

johnantoni May 16, 2013

the problem i always find is that anything you write in a notebook, moleskine etc., once it's written it takes extra effort to review it or copy it into something you can then process (basecamp), especially if your working with external sources.

so how i do things is use notepads and paper for sketches and notes to help my mind. anything i need to keep or use as actionable items i'll either put in basecamp via email or via the web client.

and then any programming notes i'll put in my note readme's via vim, and i've got a few macros for quick access to those.

i've got 9 filled moleskines at home and i'm pretty certain i have no desire to go thru them again, notebooks for me are temporary and just required to keep things in play during the moment, anything long-term needs a git repo.

probably super anal but that's just me.

the problem i always find is that anything you write in a notebook, moleskine etc., once it's written it takes extra effort to review it or copy it into something you can then process (basecamp), especially if your working with external sources.

so how i do things is use notepads and paper for sketches and notes to help my mind. anything i need to keep or use as actionable items i'll either put in basecamp via email or via the web client.

and then any programming notes i'll put in my note readme's via vim, and i've got a few macros for quick access to those.

i've got 9 filled moleskines at home and i'm pretty certain i have no desire to go thru them again, notebooks for me are temporary and just required to keep things in play during the moment, anything long-term needs a git repo.

probably super anal but that's just me.

@localredhead

This comment has been minimized.

Show comment Hide comment
@localredhead

localredhead Jun 30, 2015

Just came back to this in 2015 :) This is timeless!

I upgraded my notebook stack to Rhodia - only because it has better paper than a moleskin. Still using this system to this day.

Just came back to this in 2015 :) This is timeless!

I upgraded my notebook stack to Rhodia - only because it has better paper than a moleskin. Still using this system to this day.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment