「幸福の方程式」を読んだ

昨日は食中りのような、げんなりするような鈍痛でやる気があまり出なかったので本でも読んだ。

フローの幸福からストックの幸福へ。

ProductName 幸福の方程式 (ディスカヴァー携書)
山田 昌弘,電通チームハピネス
ディスカヴァー・トゥエンティワン / ¥ 1,050 ()
在庫あり。

幸福のペンタゴンモデル

  • 時間密度
  • 手応え実感
  • 自尊心
  • 承認
  • 裁量の自由

半農半Xという生き方は読んだ。あと、ブータンのGNHの話は伊藤洋一のビジネストレンドの第206回「GNHという考え方」が面白かった。

今日の畑(091003)

メモ

  • ほうれん草と小松菜の種を撒いた。
  • 少し、草取りをしないといけない
  • ジャガイモがちょっと弱っていた
  • オクラがでかくなってた。

Unix/Linuxプログラミング理論と実践 4章 (pwdを書く)

pwdコマンドはinodeを親ディレクトリに辿っていく。ルートディレクトリは. と..が同じinodeを指す。

macbookでls -ia。

$ ls -ia /
      2 ./                                               31452 Users/
      2 ../                                              22730 Volumes/

ので.と..のinodeをチェックしながら再帰的に辿るという実装。

void printpathto( ino_t this_inode )
{
  ino_t my_inode;
  char  its_name[BUFSIZ];

  if ( get_inode( ".." ) != this_inode )
    {
      chdir( ".." );

      inum_to_name(this_inode, its_name, BUFSIZ);

      my_inode = get_inode( "." );
      printpathto( my_inode );
      printf("/%s",its_name );
    }
}

ProductName Unix/Linuxプログラミング理論と実践
Bruce Molay
アスキー・メディアワークス / ¥ 6,090 ()
在庫あり。

ダブル間接ブロックとトリプル間接ブロック

Unix/Linuxプログラミング理論と実践 3章 (lsを書く)

lsを書く。

ProductName Unix/Linuxプログラミング理論と実践
Bruce Molay
アスキー・メディアワークス / ¥ 6,090 ()
在庫あり。

ファイルタイプとパーミッションを調べるのにマスキングを使う。

sys/stat.hのファイルタイプのとこ

/* File type */
#define S_IFMT          0170000         /* [XSI] type of file mask */
#define S_IFIFO         0010000         /* [XSI] named pipe (fifo) */
#define S_IFCHR         0020000         /* [XSI] character special */
#define S_IFDIR         0040000         /* [XSI] directory */
#define S_IFBLK         0060000         /* [XSI] block special */
#define S_IFREG         0100000         /* [XSI] regular */
#define S_IFLNK         0120000         /* [XSI] symbolic link */
#define S_IFSOCK        0140000         /* [XSI] socket */
#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
#define S_IFWHT         0160000         /* whiteout */
#define S_IFXATTR       0200000         /* extended attribute */
#endif

man ls

b     Block special file.
c     Character special file.
d     Directory.
l     Symbolic link.
s     Socket link.
p     FIFO.
-     Regular file.

Unix/Linuxプログラミング理論と実践 2章(cpを書く)

システムコールを使ってcpコマンドを書く。

ProductName Unix/Linuxプログラミング理論と実践
Bruce Molay
アスキー・メディアワークス / ¥ 6,090 ()
在庫あり。

そのあと、バッファするバージョンのwhoコマンドを書く。

ガラスに描けるクレヨン

娘の心をがっちり掴んだ。

1254481612

水で濡らした布でサッと拭けば奇麗に消える。

ProductName キットパスきっず 12色

日本理化学工業 / 1048円 ( )


これは素晴らしい。

perlでソースコードのハイライト

Pygmentsをperlで使いたかったので、 Inline::Pythonでやってみた。

use Inline Python => <<'END_OF_PYTHON_CODE';
from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter

def py_highlight(code):
   return highlight(code, PythonLexer(), HtmlFormatter())

def get_stylesheet():
    return HtmlFormatter().get_style_defs('.highlight')
END_OF_PYTHON_CODE


$code = <<'PYTHON_CODE';
from reportlab.pdfgen import canvas

c = canvas.Canvas('hello.pdf')
t = c.beginText()
t.setFont(t._fontname, 64)
t.setTextOrigin(0, 0)
t.textOut('Hello, World')
h = 64 / t.getX() * c._pagesize[1]
t.setFont(t._fontname, h)
c.setFontSize(h)
c.rotate(-90)
c.drawString(-c._pagesize[1], t._leading - h, 'Hello, World')
c.save()
PYTHON_CODE

printf qq|<html><head><style type="text/css">%s</style>
</head>\n<body>%s</body>\n</html>|, get_stylesheet(), py_highlight($code);

pygments

Tenth Street and Clarence / Soso

ナードヒップホップは落ち着くので好き。

ProductName Tenth Street and Clarence
soso
hue / 2040円 ( 2005-07-16 )


理由はよくわからないがEMINEMも好きだったりする。

ProductName Curtain Call: The Hits
Eminem
Aftermath / 1954円 ( 2005-12-06 )


hiphopはよくわからんが故に、純粋に好き嫌いだけで聴く聴かないを決めてる。

ice cubeは4,5曲目が好き

ProductName Lethal Injection
Ice Cube
Priority Records / ?円 ( 1993-12-07 )


Unix/Linuxプログラミング理論と実践 2章(whoを書く)

whoを書く(macbook)

ProductName Unix/Linuxプログラミング理論と実践
Bruce Molay
アスキー・メディアワークス / ¥ 6,090 ()
在庫あり。

macだと

  • utmpではなくてutmpxを
  • 時刻がut_tv.tv_sec

あと以下の関数のcp+4は先頭の文字列4つを落としている。

void show_time(long timeval){
  char *cp;
  cp = ctime(&timeval);
  printf("%12.12s", cp+4);
}

作ったwho2は月の表記がオリジナルとちょっと違うけどまぁいいか。

$ ./who2
kzfm     console  Sep 27 17:31
kzfm     ttys000  Sep 27 17:32
kzfm     ttys001  Sep 27 18:50
kzfm     ttys002  Sep 27 18:50
$ who
kzfm     console   9 27 17:31  
kzfm     ttys000   9 27 17:32  
kzfm     ttys001   9 27 18:50  
kzfm     ttys002   9 27 18:50  

pythonからutmpx(utmp)ファイルにアクセスするにはpyutmpってのがあってCythonで書かれている。

他にもunagi.pyをみるとstructモジュールを使ってアクセスできるようだ。

バキュバン

日本酒の劣化を防ぐためにも、バキュバンを使うのはいいのは分かっているんだが、2.5Kを出せるかというと微妙。

ProductName VACUVIN バキュバン ストッパー2個付き V-20

VACUVIN (バキュバン) / 2130円 ( )


だってすぐ吞んでしまうのだから。

自分専用日本酒冷蔵庫が手に入って、開封済みの日本酒が増えるようになったら購入を考える。