---
layout: post
status: publish
published: true
title: Efficiently handle knowledge as a Computer Scientist
author: Julien Lengrand-Lambert
author_login: jlengrand
author_email: julien@lengrand.fr
author_url: http://www.lengrand.fr
wordpress_id: 559
wordpress_url: http://www.lengrand.fr/?p=559
date: 2012-03-09 10:49:51.000000000 +01:00
categories:
- misc
- tips
tags:
- agile
- knowledge
- memory
- mendeley
- calibre
- management
- tool
comments:
- id: 536
  author: Sam
  author_email: only1lif3@gmail.com
  author_url: ''
  date: !binary |-
    MjAxMi0wMy0xMCAxNzozNzo0OSArMDEwMA==
  date_gmt: !binary |-
    MjAxMi0wMy0xMCAxNjozNzo0OSArMDEwMA==
  content: Please don't buy into the lie that you have a bad memory.  Read http://goo.gl/zHFm4
- id: 537
  author: Julien Lengrand-Lambert
  author_email: julien@lengrand.fr
  author_url: http://www.lengrand.fr
  date: !binary |-
    MjAxMi0wMy0xMCAxNzo1MToxMCArMDEwMA==
  date_gmt: !binary |-
    MjAxMi0wMy0xMCAxNjo1MToxMCArMDEwMA==
  content: ! "Well, I really do actually. \r\nThat's why learning stuff by heart to
    pass school exams has always been awful.\r\nBut I think this is not actually a
    real problem as soon as you find a way to counter this. I try to replace memory
    by efficiency :).  \r\n\r\nBut I'll definitely have a look to your book, thanks
    !"
- id: 538
  author: Efficiently handle knowledge as a Computer Scientist &laquo; Secret Blog
  author_email: ''
  author_url: http://eminter25391.wordpress.com/2012/03/10/efficiently-handle-knowledge-as-a-computer-scientist/
  date: !binary |-
    MjAxMi0wMy0xMCAxODozNDozMCArMDEwMA==
  date_gmt: !binary |-
    MjAxMi0wMy0xMCAxNzozNDozMCArMDEwMA==
  content: ! '[...] http://www.lengrand.fr/2012/03/efficiently-handle-knowledge-as-a-computer-scientist/
    Like this:LikeBe the first to like this post.     &nbsp;March 10, 2012 &nbsp;eminter25391  [...]'
- id: 539
  author: alx
  author_email: aaa@gaa.com
  author_url: ''
  date: !binary |-
    MjAxMi0wMy0xMCAxOTo0NDoxOSArMDEwMA==
  date_gmt: !binary |-
    MjAxMi0wMy0xMCAxODo0NDoxOSArMDEwMA==
  content: ! "Very useful mendeley, thanks a lot, i have the same memory problem and
    the information management is not easy haha, this cloud-app looks awesome... \r\n\r\nI
    just registered :) Can i see your library? I'm an spanish researcher interested
    in all related to computer science :) \r\n\r\nThanks a lot!!!"
- id: 540
  author: Julien Lengrand-Lambert
  author_email: julien@lengrand.fr
  author_url: http://www.lengrand.fr
  date: !binary |-
    MjAxMi0wMy0xMCAxOTo1MTo0MiArMDEwMA==
  date_gmt: !binary |-
    MjAxMi0wMy0xMCAxODo1MTo0MiArMDEwMA==
  content: ! "Glad it helped :). \r\nI think you might be able to think what I put
    online. But I shared nothing yet. \r\nLet me check and see if I can sort something
    out :)."
- id: 541
  author: Julien Lengrand-Lambert
  author_email: julien@lengrand.fr
  author_url: http://www.lengrand.fr
  date: !binary |-
    MjAxMi0wMy0xMCAxOTo1MzoxOCArMDEwMA==
  date_gmt: !binary |-
    MjAxMi0wMy0xMCAxODo1MzoxOCArMDEwMA==
  content: Hum. Apparently I have to add you as a friend so that you can see my publications.
    You can find me as jlengrand, or julien lengrand-lambert ;)
- id: 542
  author: alx
  author_email: aaa@gaa.com
  author_url: ''
  date: !binary |-
    MjAxMi0wMy0xMCAxOTo1NzoyNCArMDEwMA==
  date_gmt: !binary |-
    MjAxMi0wMy0xMCAxODo1NzoyNCArMDEwMA==
  content: ! "I added you :) It seems that you have 2 accounts :\r\n\r\nhttp://www.mendeley.com/profiles/julien-lengrand-lambert\r\n\r\nand\r\n\r\nhttp://www.mendeley.com/profiles/julien-lengrand-lambert1/\r\n\r\nI
    added you as a friend to the first one!"
- id: 544
  author: Toby
  author_email: dreynolds@gmail.com
  author_url: ''
  date: !binary |-
    MjAxMi0wMy0xMSAwMTo0ODoyMSArMDEwMA==
  date_gmt: !binary |-
    MjAxMi0wMy0xMSAwMDo0ODoyMSArMDEwMA==
  content: ! "From the author of that book via your link:  \"The techniques I learned,
    and used in the memory contest, are great for remembering structured information
    like shopping lists or phone numbers, but they don't improve any sort of underlying,
    generalizable memory ability.\"\r\n\r\nIn other words, they don't help in this
    scenario."
- id: 578
  author: Julien Lengrand-Lambert
  author_email: julien@lengrand.fr
  author_url: http://www.lengrand.fr
  date: !binary |-
    MjAxMi0wMy0xMSAwOToyNzoyNiArMDEwMA==
  date_gmt: !binary |-
    MjAxMi0wMy0xMSAwODoyNzoyNiArMDEwMA==
  content: It seems indeed :). I'll keep my notebook + pen in pocket as my main brain
    for now :)
- id: 579
  author: Julien Lengrand-Lambert
  author_email: julien@lengrand.fr
  author_url: http://www.lengrand.fr
  date: !binary |-
    MjAxMi0wMy0xMSAwOToyOTozNCArMDEwMA==
  date_gmt: !binary |-
    MjAxMi0wMy0xMSAwODoyOTozNCArMDEwMA==
  content: ! "I have two accounts. One I used at work, and the other at home. \nHopefully
    you chose the good one :). \n\nI should remove the other one soon ."
- id: 8991
  author: Let&#8217;s scratch those itches! | loup2fu
  author_email: ''
  author_url: http://www.lengrand.fr/2013/04/lets-scratch-those-itches/
  date: !binary |-
    MjAxMy0wNC0xNyAxNDoyODoyOCArMDIwMA==
  date_gmt: !binary |-
    MjAxMy0wNC0xNyAxMzoyODoyOCArMDIwMA==
  content: ! '[...] habit has been here as long as I can remember. I know I have a
    really bad memory. I always had. So noting down stuff is the best way for me to
    cope with this brain full of holes. [...]'
---
<strong>I love to learn</strong>. Each day. A bit more of what the world has to offer. I <strong>read a lot</strong> of technical stuff. I spend a lot of time reading about all kind of subjects, most of it being computer science / computer vision related.

I also have a <strong>really bad memory</strong>. If I rarely forget a face, I must say I have already forgotten 80% of the programming languages and libraries I haven't been working with for more than 10 days. I spent years with<strong> hundreds of bookmarks in my browser</strong>, classified into folders that would also contain other folders. . .

But if this could be a problem, my experience in research centers helped me find a nice workaround to highly increase my efficiency. Having no memory is no great deal, as soon as you are able to quickly process and find information. And a weak my long-term memory, as strong my need for organization.

As a researcher, part of your job consists in being an expert in your field and "keep both eyes open". Some of your time should be spent reading publications related (or not) to your curent projects. And most researchers I know have their own way to handle this big piece of "paper knowledge" they process. While being in <strong><a title="TNO" href="http://www.tno.nl/" target="_blank">TNO</a></strong>, I found one piece of tool that I never stopped using : <strong><a title="mendeley" href="http://www.mendeley.com/" target="_blank">Mendeley Desktop</a></strong>.

Basically speaking, <strong><a title="mendeley" href="http://www.mendeley.com/" target="_blank">Mendeley</a></strong> is a publication management tool. It would help you keep track of your publications by extracting meda-data from the pdfs, and sort them out for you. For each document, you can access its authors, abstract, . . . And you can also set these meta-data and add keywords or tags.
While keywords are often already filled by the authors of the pdfs, <strong>tags have become my very secret weapon</strong>.

<center><a href="http://dl.dropbox.com/u/4286043/mendeley.jpg"><img class="  " title="mendeley desktop" src="http://dl.dropbox.com/u/4286043/mendeley.jpg" alt="mendeley desktop" width="552" height="301" /></a></center>

There are<strong> 3 major things</strong> I want to show you here that can help you efficiently handle tons of information.

First of all, the center part of the screen is dedicated to the list of pdfs you have in your library. And what I love is the <strong>small green circle</strong> you can find on the left part of the list. It shows whether you have already read the paper or not. This is very useful if you have to store a lot of papers in the same place (like me).
Then, the right part of the screen. It shows all the meta-data available for each pdf. Once I have finished to read a paper, I switch the green circle to grey to show that this information has been processed and I add some tags.

Here are the tags hierarchy I would always fill in :
<ul>
	<li><strong>Name of the project</strong> for which this piece of information has been useful.</li>
	<li><strong>Programming language</strong> used in the paper</li>
	<li>General information about the <strong>field of the article</strong> (web development, marketing, agile, . . .)</li>
	<li><strong>Precise name</strong> of the module/library/tip (pickle, coding style, opencv, . . .)</li>
	<li><strong>read tag</strong>, double check of the green circle (in case I want to access this piece of information using scripts).</li>
</ul>
Last but not least, the bottom right part of the screen is dedicated to document filtering.
This is the tool I use to quickly find back some information that are already part of my "knowledge".

While working, I eventually have to search for some tips or module. Most of the time, I already know some of what I search, but need precisions (ex : I want to use memoization, but am not sure whether to use a dict or a list . . . ). I quickly jump to<strong> my second brain</strong>, ie. Mendeley and type the memoization keyword.
I would get the answer I search for immediately. Less than 1 minut later, my code is usually ready to go.

With time, I <strong>got rid of 95% of my web bookmarks</strong>. When I find some useful information on the web, <strong>I simply print the article as a pdf and store it into my knowledge database</strong>. Having Mendeley always open next to my code, this way of searching is way faster than finding a bookmark back in a browser :).
And as a bonus, your knowledge is also available offline, and you don't need your<strong> <a title="hyperion" href="http://en.wikipedia.org/wiki/Hyperion_(Simmons_novel)" target="_blank">chrome persoc</a></strong> anymore :).
<h2>Some more information (BONUS part) :</h2>
As I code at work, in the train and also at home, my knowledge database has to be available in at least 3 different computers.
Best of luck, Mendeley is pretty efficient and well developed, and as long as you don't use special characters <strong>you can use the software on different OSes without messing everything up</strong> (I tried Windows and Linux versions).
What you have to do is to install the piece of software on each computer, and give Mendeley a folder to watch.
I tried using a <strong>portable USB key</strong> to keep all my papers on the same place for some time, but it appear that it is greatly<strong> human-failure dependant</strong> (I kept forgettin' the damn key).
What I use now for a complete real-time synchronization is simply a <strong><a title="dropbox referral" href="http://db.tt/pdGVlyW" target="_blank">Dropbox</a></strong> folder. This way, everything is updated real-time (assuming you won't update the same file on different computers at the same time. . . ) on all your computers.

Another "similar" tool is <strong><a title="calibre" href="http://calibre-ebook.com/" target="_blank">Calibre</a></strong>, a pretty efficient library management tool. But I prefer using it <strong>only for ebooks</strong>, while using <strong>Mendeley</strong> for small ( not more than 100 pages) documents. Basically if it has a cover page, I'll put it in my Calibre database :).
<em>Note : Mendeley has a lot more capabilities (publication sharing, friends wish list, . . . ) and what I present here is only a tiny part of the software. I don't use them though, and I think they a</em><em>re not into the frame of this article.</em>

Your turn now, let me know about your own way of handling the huge quantity of information we have to deal with every day in CS !

Julien

<strong>UPDATE : You can join the group contaning my list of publication related to computer vision <a title="computer vision papers" href="http://www.mendeley.com/groups/1982081/look-up-to-the-future/">here</a>!</strong>
