2011年3月25日金曜日

2011年1月31日月曜日

『情熱プログラマー ソフトウェア開発者の幸せな生き方』を読んで

情熱プログラマー ソフトウェア開発者の幸せな生き方』を読みました.非常に元気の出る本だなという感想です.
結構社会に出てプログラマ・SEとして働かれている方のために書かれた章も多いのですが,それを差し引いても学生の僕が楽しんで読むことができました.

最近はこれとか『プログラマが知るべき97のこと』のような,プログラマ向けの自己啓発本を読むことが増えてきました.
以前は「自己啓発(笑)」とか思っていたのですが,この2冊を読んで感じたのは,

  • こういう本を読まないと得られなかった視点・方法論が得られる.
  • それらのうちいくつかは(多くは)明らかに自分が身につけるとプラスになる
  • それらを身につけるためには何をすれば良いか,具体的に示唆してくれる

ということですね.自己啓発本,よいものだ.

今回は,『情熱プログラマー ソフトウェア開発者の幸せな生き方』を読んで実行に移したいなと思った事項を軽くまとめてみたいと思います.

5. 自分の知性に投資しよう
手続き型やオブジェクト指向のパラダイムしかまともに理解してないので,違うパラダイムを学んでいく.目下,Schemeで関数型.
7. 万能選手になろう
コーディングスキルばかり磨こうとしていたが,やはり環境構築や,環境に対する深い理解が求められる.今まではあまり理解せずにチュートリアルなどを見て環境構築をしていたが,特に気にすべき技術については深く理解しようと思った.
8. スペシャリストになろう
「7. 万能選手になろう」と相補的な関係になっている章.このあたりうまいなぁ.
13. 師匠を探す
親身になって自分の技術的・私的な相談に乗ってくれる人を見つけようというお話.自分の努力だけではどうにもならない面があり難しいが,内にこもらずに行動していこうと思った.
14. 師匠になる
これも「13. 師匠を探す」と相補的.元々人に何かを教えるのは好きなので,リアルな生活で積極的に実践していこうと思う.あと,このブログももっとうまく利用する.
15. 一に練習,二に練習
このポスト投稿したらすぐにCode Kata見よう.
17. 巨人の肩の上で
テスト後にでもオープンソースプロジェクトを覗いてみよう.候補は,Pythonで書かれたプロジェクト.Pythonとは今後もプラクティカルな付き合いが続きそうなので.
21. デイリーヒット
一日の目標を毎日立てよう.今日から始めてみて,おかげでテスト勉強がうまくいった.
28. 8時間燃焼
一日中プログラムを組むって日をなくす.ある程度コーディングしたら,自分が知らないことを学ぶ時間にする.
39. 業界で名前を売ろう
算段ありだけど,まだ内緒.ふふふ
42. 目立つこと
やっぱりデモ大事だよなぁ.メチャクチャすっごいアイディアと,結構すごくて実装もしているアイディアだったら,明らかに後者の方が好印象だもの(自分的には).この意味でも,アジャイル開発は有効だと思う.先にデモができる分の機能を実装し,その後で磨きあげていく.
43. コネを作る
勉強会行こう.直近ではこれに参加登録した.

という感じですね.これはあくまで僕が感じたことですが,100人が読めば50通りぐらいの感じ方はある本だと思います.是非ご一読を.


あまり本の感想とは関係ないけど,知ったかぶりしてたからじっくり調べてみたいことのリストを防備録がわりに.

  • 仮想化
  • JITコンパイラ
  • C++のランタイム処理
  • Pythonの動作
  • OS全般.特にメモリ管理,ファイルシステム
  • 文字コード
  • リレーショナルデータベース
  • Webサーバ
  • 並列プログラミング
  • GC
  • socket

多すぎワロタ

2011年1月26日水曜日

[防備録]CUI操作でプロジェクタとモニタ同期

CUI操作でプロジェクタとモニタを同期するコマンドを以前教えていただいたので,防備録に.

・プロジェクタの接続ポートとモニタを確認
$ xrandr

 ここでは,プロジェクタがVGA1,モニタがLVDS1とします.

・プロジェクタに合わせ,モニタの解像度を変更
$ xrandr --output LVDS1 --mode 1024x768

・モニタの画面をプロジェクタに同期
$ xrandr --output VGA1 --same-as LVDS1


これでおkです.

モニタの解像度を戻すときは,
$ xrandr --output LVDS1 --mode 1440x900

などで.

2010年12月7日火曜日

[防備録] Ubuntu 10.10, ThinkPad T400s でイヤホンジャックから音を鳴らす

https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T400s#Sound
に従って,/etc/modprobe.d/alsa-base.conf に次の1行を追加.

options snd-hda-intel model=thinkpad

2010年12月3日金曜日

フィボナッチ数列と放物線の関係??

pythonのお勉強していて,フィボナッチ数列を出力する簡単なプログラム書いてました.

def fib():
    a = b = 1
    while True:
        yield b
        a, b = b, a+b

fi = fib()
[next(fi) for x in range(1000)]

こいつをpythonのインタプリタにコピペして実行してみてください.

なんと,数字と数字の切れ目が放物線のパターンを描きます!



俺は数学に疎いので何が起きてるのかさっぱりわからないのですが,ちょっと感動.

もし解説できる方がいたらコメントでもお願いします.

2010年11月30日火曜日

クールな等幅フォント

最近Schemeを始めました.SchemeやLispといえば,括弧の嵐ですよね.
エディタで等幅じゃないフォントを使っていると,死ぬほど読みづらい.
そこで,クールな等幅フォントを入れて使ってみました.

[参考]
7 Of The Best Ubuntu Terminal (Fixed Width) Fonts

この中から,Inconsolataを選び,インストールしました.

sudo apt-get install ttf-inconsolata

で,~/.emacs に次の行を追加.

(add-to-list 'default-frame-alist
'(font . "-unknown-Inconsolata-normal-normal-normal-*-11-*-*-*-*-0-iso10646-1"))


些細なことだけど,かなりコーディング満足度が上がりました.

2010年11月21日日曜日

漢字を含むps,epsファイルをps2pdfで変換できない問題の解消

gnuplotで作成したEPSファイルを含んだtexファイルをPDFにしようとしたところ,ps2pdfコマンドでSegmentation fault が起こるために失敗しました.

ウェブで探すと,一回 ps2ps を介すると大丈夫なようですが,EPSファイル中のフォントがきもくなるので,何とか解決策を探りました.

「ps2pdf segmentation fault」とかでぐぐって分かりましたが,ファイルによってはps2pdf12 なら変換可能で、ps2pdf13 や ps2pdf14 (ps2pdf)、ps2pdfwr だとSEGVするらしいです.
http://vdr.jp/d/20100802.html

そこで,次のように対処しました.真似される方は自己責任でおねがいします.

  1. which ps2pdf コマンドで,/usr/bin/ 以下に ps2pdf* があることを確認
  2. sudo rm /usr/bin/ps2pdf
  3. sudo ln -s /usr/bin/ps2pdf12 /usr/bin/ps2pdf

これで,ps2pdf hoge.eps とかは成功するようになります.

しかし,これだけでは dvipdfmx が失敗することがあります.dvipdfmx が ps2pdf コマンドを呼び出すときに,-dCompatibilityLevel=1.4 とかいうオプションをつけているからなようです.
このオプションがつくと,実質的に ps2pdf14 コマンドを呼び出しているのと同じ動作をしている模様.(憶測)

そこで,このオプションを,-dCompatibilityLevel=1.2 に変更します.

  1. dvipdfmx.cfg という設定ファイルを探す.当環境では /usr/local/teTeX/share/texmf/dvipdfmx/dvipdfmx.cfg にありました
  2. エディタで開き,"Compatiblitity"とかで検索し,-dCompatibilityLevel=1.4 を -dCompatibilityLevel=1.2 に変更し保存

これで漢字を含むPS,EPSファイルを使ったtexファイルでも,問題なくPDF化できるようになるのではと思います.