Friday, November 21, 2008


I was shocked that Knuth was diagnosed with prostate cancel. It is not a news, but I just got know today from this interview.

Andrew: In late 2006, you were diagnosed with prostate cancer. How is your health today?

Donald: Naturally, the cancer will be a serious concern. I have superb doctors. At the moment I feel as healthy as ever, modulo being 70 years old. Words flow freely as I write TAOCP and as I write the literate programs that precede drafts of TAOCP. I wake up in the morning with ideas that please me, and some of those ideas actually please me also later in the day when I’ve entered them into my computer.

On the other hand, I willingly put myself in God’s hands with respect to how much more I’ll be able to do before cancer or heart disease or senility or whatever strikes. If I should unexpectedly die tomorrow, I’ll have no reason to complain, because my life has been incredibly blessed. Conversely, as long as I’m able to write about computer science, I intend to do my best to organize and expound upon the tens of thousands of technical papers that I’ve collected and made notes on since 1962.

I like the words "If I should unexpectedly die tomorrow, I’ll have no reason to complain, because my life has been incredibly blessed. ", very inspiring.

flash jffs2

Use flash on a arm-linux board always requires jffs2.

Here is the command that do flash erase and copy rootfs to mtdblock4.

# flash_eraseall -j /dev/mtd4
# dd if=rootfs.jffs2 of=/dev/mtd4 bs=4096
# mount -t jffs2 /dev/mtdblock4 /mnt/jffs2

Thursday, November 6, 2008

coding standard (GNU)

I feel I am quite like the coding standard with GNU by reading GTick.

1. variables and variable types are small characters. (add "_t" for types)
dsp_t* dsp;

2. function names are small characters, and written in this way: (in function name: words are connected by "_", this is my favorite way)
dsp_t* dsp_new(comm_t* comm);

3. comments in this layout.
 /* headers*/
#include < stdio.h>
#include < stdlib.h>

* brief.
* input: from: data source of input
* from_size: the number of frames in [from]
* output: to: the pointer to the allocated data.
* NOTE: here is the note. [to] should be free by the caller.
static int foo(short* from, int from_size, unsigned char** to);

4. CONSTANTS and MACROES are large characters.

Wednesday, November 5, 2008

no writing permission on /tmp

I found myself has no writing permission on /tmp with FC5. It caused many troubles, firefox would not launch, because it creates temporary files when it starts... To solve it is quite simple:

$ cd /
$ sudo chmod 777 tmp