カットレザー

息子の髪をカットレザーで整えてみた。

意外に簡単でそこそこの仕上がりに満足

hoogleをローカルで

昨晩、String -> ByteStringに変換する関数がわかんね的なことをtweetしたらHoogeleで型検索出来ることを教えてもらった。

Hoogle 激ヤバ!マスト!!!!(ローカルに)

というわけで、ローカルで検索できるように

sudo cabal install hoogle

これだけ。

~/.cabal/binにhoogleっていうコマンドがインストールされるのでパス通しておく。

$ hoogle "String -> ByteString"
Data.ByteString.Char8 pack :: String -> ByteString
Data.ByteString.Lazy.Char8 pack :: [Char] -> ByteString
Prelude read :: Read a => String -> a
Text.Read read :: Read a => String -> a
Data.String fromString :: IsString a => String -> a
...

これはアンセムといっても間違いない。

Haskellのプログラムの中でエディタを使ってファイルをいじる

週末はニューラルネットの実装でもするつもりでいたのに、突然

Haskellのプログラムの中でファイルをエディットして保存したら、そのファイルの中身を読む

ということをやりたくなってしまった。要するにHaskellでこれがやりたくなった

import System.FilePath ((</>))
import System.Directory
import System.Process
import System.Environment
import Control.Monad (liftM)

main = do 
  home     <- getHomeDirectory
  (file:_) <- getArgs
  editor   <- liftM (lookup "EDITOR") getEnvironment
  case editor of Just ed -> (>>= waitForProcess) . runCommand $ ed ++ " " ++ (home </> file)
                 Nothing -> error "command error\n"
  inpStr <- readFile $ home </> file
  print inpStr

最初、

runCommand $ ed ++ " " ++ (home </> file)

って書いてて、あーブロックされてないんだろうなぁと。探したらどう書く?にあった。

あと、RWHのモナド変換子の章を読むべし的な流れになってる。

ProductName Real World Haskell―実戦で学ぶ関数型言語プログラミング
Bryan O'Sullivan,John Goerzen,Don Stewart
オライリージャパン / ¥ 3,990 ()
在庫あり。

アッカーマン関数をHaskellで

計算論を読んでたらアッカーマン関数が出てたのでHaskellで書いてみた。

ack 0 n = n + 1
ack m 0 = ack (m-1) 1
ack m n = ack (m-1) $ ack m (n-1)

定義をそのまま書き下せばいい。

*Main> ack 1 2
4
*Main> ack 3 2
29
*Main> ack 3 4
125

それにしても計算論難しい。

ProductName 計算論 計算可能性とラムダ計算 (コンピュータサイエンス大学講座)
高橋 正子
近代科学社 / ¥ 3,570 ()
在庫あり。

ビューティフルアーキテクチャをつまみ読み

エッセイ集なので興味があるとこから。

  • 5章 リソース指向アーキテクチャ:「Web上にある」こと
  • 11章 GNU Emacs:漸進的機能追加方式が持つ力(ジム・ブランディ)

ProductName ビューティフルアーキテクチャ

オライリージャパン / ¥ 3,150 ()
在庫あり。

Emacsのアーキテクチャってあんまちゃんと考えたことなかったけど、11章読んだらあーなるほどと思った。Emacs-Lispももうちょっと使い倒して快適な環境を目指したい。

5章も面白かった。

これは既存のコードやサービスやインフラストラクチャを、論理的な名前を持ち、実装の詳細が漏れ出さないようなインターフェースに包み込んで再利用することで、多様な形態のやり取りに使えるようにしてくれる、強力なメカニズムとなります

これについてはRESTful Webサービスが詳しい

ProductName RESTful Webサービス
Leonard Richardson,Sam Ruby
オライリー・ジャパン / ¥ 3,990 ()
在庫あり。

Linuxカーネル2.6解読室 Part II

プロセス管理

ProductName Linuxカーネル2.6解読室
高橋浩和,小田逸郎,山幡為佐久
ソフトバンククリエイティブ / ¥ 5,670 ()
在庫あり。

execveシステムコールはそれまで使用していた空間を破棄し、新たな空間に別のプログラムをロードして実行を開始する。

やさしい分子薬理学—分子構造から薬理活性へ

分子薬理学と銘打っているが、内容はStructure-Based Drug Design(SBDD)よりな感じがする。

ProductName やさしい分子薬理学―分子構造から薬理活性へ― [CD-ROM付]
平山 令明
共立出版 / 3990円 ( 2010-02-10 )


中身読んでないけど、薬理的な知識よりは、生化学、有機化学、量子化学あたりの知識があった方が楽しく読めるような。

カバー見てそう思った。

SBDDはタンパク質を巨大な化合物だとみなせば有機化学だし、巨大な電子雲だとみなせば巨大な量子化学系だし、化合物(ここでいうリガンド)をネットワークを構成するアトミックな物質とみなせば分子生物学だし、薬理のメカニズムに組み込めば分子薬理学だし、視点を変えれば新たな発見があったりするので面白いし、まだまだやらなきゃいけないことが多いので魅力的な分野だと思う。

Rで決定木

Rと樹木モデルを読みながらトレースしてみた。

決定木

cart1

散布図に対し階段型回帰折れ線を追加。

cart2

ケミスト向けに分類と予測の枠組みを用意しておいてもいいかもしれんな。

Linux-DB システム構築/運用入門

データベース運用とかはやっていないし、最近SQLiteばっかりだけど読んで正解だった。 面白いというか勉強になった。読んでおいて損はしないと思う。

ProductName Linux-DB システム構築/運用入門 (DB Magazine SELECTION)
松信 嘉範
翔泳社 / ¥ 2,814 ()
在庫あり。

  • 監視ツールmon
  • covering index
  • 上位N件取得クエリの難しさ
  • KVSからRDBMSへの回帰
  • sysbench

エネリアの親子お菓子教室

今回二回目。超楽しい。

子どもが主役でカップケーキを作った(僕は補佐)。

1265018833 1265018821

チョコとストロベリーの区別がつくようにキラキラと星をまぶす。

1265018851 1265018839

焼けたら、粉をまぶして飾り付け

1265018827 1265018807

いちごラテ美味し。

1265018815 1265018845

お菓子はよいですな。