HNHacker News
TopNewBestAskShowJobs

trippplezz

23 karma · joined July 26, 2011

submissionscomments
trippplezz··on 21st Century C (new book)
I would recommend "C: A Modern Approach", 2nd ed by King (http://www.amazon.com/Programming-Modern-Approach-2nd-Editio...)

It's a hefty tome but that's not necessarily bad if you want to (re-)learn the language and the tricks in a proper way. Easily in my personal Top 5 books for C (The others are in no particular order: "Pointers on C", "Expert C Programming: Deep C Secrets", "The Standard C Library", "C Interfaces and Implementations".)

trippplezz··on Program above and beyond your actual ability by using FreeMind
Good article. Your practices are so similar to my recent approach to learning and organizing knowledge that it's scary ;) The only difference are the actual tools which I think is non-essential.

So, when I'm faced with some bit of knowledge/howto/troubleshooting that I encounter for the first time (at least from memory), I do the following:

* Launch Zim desktop wiki (http://zim-wiki.org/) opened with my Dropbox synchronized notes

* Add a new page with some descriptive but not overly long title (using the same principles as for the title line for the version control commit messages)

  * For example: "Python command line arguments"
* Write the tags for this particular bit of knowledge. This may sound repetitive but the number of tags needed (at least in my frame of mind) are usually 2 to 5.

  * @howto @python
* The actual content is written by myself, no copy and paste allowed. In this way I'm the one re-wording/restating the knowledge, so that the search queries afterwards will result in almost 'perfect' matches:

<CONTENT>

The command line arguments are accessed using the list sys.argv:

import sys

# Prints the name of the script

print sys.argv[0]

# Prints all remaining command line arguments

print sys.argv[1:]

</CONTENT>

When searching:

* Open the search dialog (CTRL+F), and enter my search string, for instance: "command line arguments"

Recently I've started using Anki for adding similar bite-sized facts about Perl, bash, grep, sed, awk, etc. because in the past year or so I was gradually 'forced' to become programming polyglot (I'm not there yet, though). I was frustrated for the very same reasons described by the OP's article: forgetting the little details when occasionally have to come up with a little script or modify an existing one in a non-primary programming language.

Generally, I use Zim wiki for facts/articles that are not that small that will be better as a flash card question/answer.