<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3175700979970683526</id><updated>2012-02-17T08:54:35.492+09:00</updated><category term='sty'/><category term='scheme'/><category term='暗号化'/><category term='セキュリティ'/><category term='emacs'/><category term='javascript'/><category term='jCryption'/><category term='tex'/><category term='java'/><category term='マクロ'/><category term='コンパイラ'/><category term='awesome'/><category term='セプキャン'/><category term='lisp'/><category term='mktexlsr'/><category term='ps'/><category term='インターン'/><category term='自作'/><category term='dvipdfmx'/><category term='lua'/><category term='等幅フォント'/><category term='pdf'/><category term='aSSL'/><category term='WM'/><category term='PHP'/><category term='防備録'/><category term='latexmk'/><category term='eps'/><category term='python'/><category term='雑記'/><category term='T400s'/><category term='Ubuntu'/><category term='platex'/><category term='音'/><category term='数学'/><category term='ネットワーク'/><category term='ps2pdf'/><title type='text'>lay.sakuraの遊び場</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-1417234218794396205</id><published>2011-03-25T16:12:00.002+09:00</published><updated>2011-03-25T16:12:59.370+09:00</updated><title type='text'>はてなに移行しました</title><content type='html'>はてなにブログを移行しました．&lt;br /&gt;今後の更新ははてなで行ないます!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://d.hatena.ne.jp/laysakura/"&gt;http://d.hatena.ne.jp/laysakura/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-1417234218794396205?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/1417234218794396205/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2011/03/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/1417234218794396205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/1417234218794396205'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2011/03/blog-post.html' title='はてなに移行しました'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-3665786278254226781</id><published>2011-01-31T19:14:00.002+09:00</published><updated>2011-02-02T10:06:40.323+09:00</updated><title type='text'>『情熱プログラマー ソフトウェア開発者の幸せな生き方』を読んで</title><content type='html'>『&lt;a href="http://www.amazon.co.jp/gp/product/4274067939?ie=UTF8&amp;tag=laysakura-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=4274067939"&gt;情熱プログラマー ソフトウェア開発者の幸せな生き方&lt;/a&gt;』を読みました．非常に元気の出る本だなという感想です．&lt;br /&gt;結構社会に出てプログラマ・SEとして働かれている方のために書かれた章も多いのですが，それを差し引いても学生の僕が楽しんで読むことができました．&lt;br /&gt;&lt;br /&gt;最近はこれとか『&lt;a href="http://www.amazon.co.jp/gp/product/4873114799?ie=UTF8&amp;tag=laysakura-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=4873114799"&gt;プログラマが知るべき97のこと&lt;/a&gt;』のような，プログラマ向けの自己啓発本を読むことが増えてきました．&lt;br /&gt;以前は「自己啓発(笑)」とか思っていたのですが，この2冊を読んで感じたのは，&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;こういう本を読まないと得られなかった視点・方法論が得られる．&lt;/li&gt;&lt;li&gt;それらのうちいくつかは(多くは)明らかに自分が身につけるとプラスになる&lt;/li&gt;&lt;li&gt;それらを身につけるためには何をすれば良いか，具体的に示唆してくれる&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;ということですね．自己啓発本，よいものだ．&lt;br /&gt;&lt;br /&gt;今回は，『&lt;a href="http://www.amazon.co.jp/gp/product/4274067939?ie=UTF8&amp;tag=laysakura-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=4274067939"&gt;情熱プログラマー ソフトウェア開発者の幸せな生き方&lt;/a&gt;』を読んで実行に移したいなと思った事項を軽くまとめてみたいと思います．&lt;br /&gt;&lt;br /&gt;&lt;dl&gt;&lt;dt&gt;5. 自分の知性に投資しよう&lt;/dt&gt;&lt;dd&gt;手続き型やオブジェクト指向のパラダイムしかまともに理解してないので，違うパラダイムを学んでいく．目下，Schemeで関数型．&lt;/dd&gt;&lt;dt&gt;7. 万能選手になろう&lt;/dt&gt;&lt;dd&gt;コーディングスキルばかり磨こうとしていたが，やはり環境構築や，環境に対する深い理解が求められる．今まではあまり理解せずにチュートリアルなどを見て環境構築をしていたが，特に気にすべき技術については深く理解しようと思った．&lt;/dd&gt;&lt;dt&gt;8. スペシャリストになろう&lt;/dt&gt;&lt;dd&gt;「7. 万能選手になろう」と相補的な関係になっている章．このあたりうまいなぁ．&lt;/dd&gt;&lt;dt&gt;13. 師匠を探す&lt;/dt&gt;&lt;dd&gt;親身になって自分の技術的・私的な相談に乗ってくれる人を見つけようというお話．自分の努力だけではどうにもならない面があり難しいが，内にこもらずに行動していこうと思った．&lt;/dd&gt;&lt;dt&gt;14. 師匠になる&lt;/dt&gt;&lt;dd&gt;これも「13. 師匠を探す」と相補的．元々人に何かを教えるのは好きなので，リアルな生活で積極的に実践していこうと思う．あと，このブログももっとうまく利用する．&lt;/dd&gt;&lt;dt&gt;15. 一に練習，二に練習&lt;/dt&gt;&lt;dd&gt;このポスト投稿したらすぐに&lt;a href="http://codekata.pragprog.com/"&gt;Code Kata&lt;/a&gt;見よう．&lt;/dd&gt;&lt;dt&gt;17. 巨人の肩の上で&lt;/dt&gt;&lt;dd&gt;テスト後にでもオープンソースプロジェクトを覗いてみよう．候補は，Pythonで書かれたプロジェクト．Pythonとは今後もプラクティカルな付き合いが続きそうなので．&lt;/dd&gt;&lt;dt&gt;21. デイリーヒット&lt;/dt&gt;&lt;dd&gt;一日の目標を毎日立てよう．今日から始めてみて，おかげでテスト勉強がうまくいった．&lt;/dd&gt;&lt;dt&gt;28. 8時間燃焼&lt;/dt&gt;&lt;dd&gt;一日中プログラムを組むって日をなくす．ある程度コーディングしたら，自分が知らないことを学ぶ時間にする．&lt;/dd&gt;&lt;dt&gt;39. 業界で名前を売ろう&lt;/dt&gt;&lt;dd&gt;算段ありだけど，まだ内緒．ふふふ&lt;/dd&gt;&lt;dt&gt;42. 目立つこと&lt;/dt&gt;&lt;dd&gt;やっぱりデモ大事だよなぁ．メチャクチャすっごいアイディアと，結構すごくて実装もしているアイディアだったら，明らかに後者の方が好印象だもの(自分的には)．この意味でも，アジャイル開発は有効だと思う．先にデモができる分の機能を実装し，その後で磨きあげていく．&lt;/dd&gt;&lt;dt&gt;43. コネを作る&lt;/dt&gt;&lt;dd&gt;勉強会行こう．直近では&lt;a href="http://atnd.org/events/12287"&gt;これ&lt;/a&gt;に参加登録した．&lt;/dd&gt; &lt;/dl&gt;&lt;br /&gt;という感じですね．これはあくまで僕が感じたことですが，100人が読めば50通りぐらいの感じ方はある本だと思います．是非ご一読を．&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;あまり本の感想とは関係ないけど，知ったかぶりしてたからじっくり調べてみたいことのリストを防備録がわりに．&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;仮想化&lt;/li&gt;&lt;li&gt;JITコンパイラ&lt;/li&gt;&lt;li&gt;C++のランタイム処理&lt;/li&gt;&lt;li&gt;Pythonの動作&lt;/li&gt;&lt;li&gt;OS全般．特にメモリ管理，ファイルシステム&lt;/li&gt;&lt;li&gt;文字コード&lt;/li&gt;&lt;li&gt;リレーショナルデータベース&lt;/li&gt;&lt;li&gt;Webサーバ&lt;/li&gt;&lt;li&gt;並列プログラミング&lt;/li&gt;&lt;li&gt;GC&lt;/li&gt;&lt;li&gt;socket&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;多すぎワロタ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-3665786278254226781?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/3665786278254226781/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2011/01/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/3665786278254226781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/3665786278254226781'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2011/01/blog-post.html' title='『情熱プログラマー ソフトウェア開発者の幸せな生き方』を読んで'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-7190513843576812412</id><published>2011-01-26T10:36:00.000+09:00</published><updated>2011-01-26T10:36:55.969+09:00</updated><title type='text'>[防備録]CUI操作でプロジェクタとモニタ同期</title><content type='html'>CUI操作でプロジェクタとモニタを同期するコマンドを以前教えていただいたので，防備録に．&lt;br /&gt;&lt;br /&gt;・プロジェクタの接続ポートとモニタを確認&lt;br /&gt;    $ xrandr&lt;br /&gt;  &lt;br /&gt;　ここでは，プロジェクタがVGA1，モニタがLVDS1とします．&lt;br /&gt;&lt;br /&gt;・プロジェクタに合わせ，モニタの解像度を変更&lt;br /&gt;    $ xrandr --output LVDS1 --mode 1024x768&lt;br /&gt;&lt;br /&gt;・モニタの画面をプロジェクタに同期&lt;br /&gt;    $ xrandr --output VGA1 --same-as LVDS1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;これでおkです．&lt;br /&gt;&lt;br /&gt;モニタの解像度を戻すときは，&lt;br /&gt;    $ xrandr --output LVDS1 --mode 1440x900&lt;br /&gt;&lt;br /&gt;などで．&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-7190513843576812412?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/7190513843576812412/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2011/01/cui.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/7190513843576812412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/7190513843576812412'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2011/01/cui.html' title='[防備録]CUI操作でプロジェクタとモニタ同期'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-6375929531805662362</id><published>2010-12-07T18:07:00.000+09:00</published><updated>2010-12-07T18:07:35.478+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='音'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='T400s'/><title type='text'>[防備録] Ubuntu 10.10, ThinkPad T400s でイヤホンジャックから音を鳴らす</title><content type='html'>https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T400s#Sound&lt;br /&gt;に従って，/etc/modprobe.d/alsa-base.conf に次の1行を追加．&lt;br /&gt;&lt;br /&gt;options snd-hda-intel model=thinkpad&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-6375929531805662362?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/6375929531805662362/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/12/ubuntu-1010-thinkpad-t400s.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/6375929531805662362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/6375929531805662362'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/12/ubuntu-1010-thinkpad-t400s.html' title='[防備録] Ubuntu 10.10, ThinkPad T400s でイヤホンジャックから音を鳴らす'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-2761643728349337250</id><published>2010-12-03T00:11:00.000+09:00</published><updated>2010-12-03T00:11:11.823+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='数学'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>フィボナッチ数列と放物線の関係??</title><content type='html'>pythonのお勉強していて，フィボナッチ数列を出力する簡単なプログラム書いてました．&lt;br /&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;def fib():&lt;br /&gt;    a = b = 1&lt;br /&gt;    while True:&lt;br /&gt;        yield b&lt;br /&gt;        a, b = b, a+b&lt;br /&gt;&lt;br /&gt;fi = fib()&lt;br /&gt;[next(fi) for x in range(1000)]&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;こいつをpythonのインタプリタにコピペして実行してみてください．&lt;br /&gt;&lt;br /&gt;なんと，数字と数字の切れ目が放物線のパターンを描きます!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_crdlJ5XP7hU/TPe2eCWA0ZI/AAAAAAAAAKE/qUGbbKUcRNc/s1600/fib_para1.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_crdlJ5XP7hU/TPe2eCWA0ZI/AAAAAAAAAKE/qUGbbKUcRNc/s320/fib_para1.png" width="261" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_crdlJ5XP7hU/TPe2ffiCd-I/AAAAAAAAAKI/kn0xDBTvn6w/s1600/fib_para2.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_crdlJ5XP7hU/TPe2ffiCd-I/AAAAAAAAAKI/kn0xDBTvn6w/s320/fib_para2.png" width="261" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;俺は数学に疎いので何が起きてるのかさっぱりわからないのですが，ちょっと感動．&lt;br /&gt;&lt;br /&gt;もし解説できる方がいたらコメントでもお願いします．&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-2761643728349337250?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/2761643728349337250/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/12/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/2761643728349337250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/2761643728349337250'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/12/blog-post.html' title='フィボナッチ数列と放物線の関係??'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_crdlJ5XP7hU/TPe2eCWA0ZI/AAAAAAAAAKE/qUGbbKUcRNc/s72-c/fib_para1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-1494416019907344996</id><published>2010-11-30T11:28:00.000+09:00</published><updated>2010-11-30T11:28:36.619+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lisp'/><category scheme='http://www.blogger.com/atom/ns#' term='等幅フォント'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='scheme'/><title type='text'>クールな等幅フォント</title><content type='html'>最近Schemeを始めました．SchemeやLispといえば，括弧の嵐ですよね．&lt;br /&gt;エディタで等幅じゃないフォントを使っていると，死ぬほど読みづらい．&lt;br /&gt;そこで，クールな等幅フォントを入れて使ってみました．&lt;br /&gt;&lt;br /&gt;[参考]&lt;br /&gt;&lt;a href="http://www.webupd8.org/2010/07/7-of-best-ubuntu-terminal-fixed-width.html"&gt;7 Of The Best Ubuntu Terminal (Fixed Width) Fonts&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;この中から，Inconsolataを選び，インストールしました．&lt;br /&gt;&lt;br /&gt;    sudo apt-get install ttf-inconsolata&lt;br /&gt;&lt;br /&gt;で，~/.emacs に次の行を追加．&lt;br /&gt;&lt;br /&gt;(add-to-list 'default-frame-alist&lt;br /&gt;             '(font . "-unknown-Inconsolata-normal-normal-normal-*-11-*-*-*-*-0-iso10646-1"))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;些細なことだけど，かなりコーディング満足度が上がりました．&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-1494416019907344996?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/1494416019907344996/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/11/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/1494416019907344996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/1494416019907344996'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/11/blog-post.html' title='クールな等幅フォント'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-5577549757510545698</id><published>2010-11-21T14:33:00.001+09:00</published><updated>2010-11-21T14:35:34.013+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eps'/><category scheme='http://www.blogger.com/atom/ns#' term='dvipdfmx'/><category scheme='http://www.blogger.com/atom/ns#' term='ps2pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='ps'/><category scheme='http://www.blogger.com/atom/ns#' term='tex'/><title type='text'>漢字を含むps,epsファイルをps2pdfで変換できない問題の解消</title><content type='html'>gnuplotで作成したEPSファイルを含んだtexファイルをPDFにしようとしたところ，ps2pdfコマンドでSegmentation fault が起こるために失敗しました．&lt;br /&gt;&lt;br /&gt;ウェブで探すと，一回 ps2ps を介すると大丈夫なようですが，EPSファイル中のフォントがきもくなるので，何とか解決策を探りました．&lt;br /&gt;&lt;br /&gt;「ps2pdf segmentation fault」とかでぐぐって分かりましたが，ファイルによってはps2pdf12 なら変換可能で、ps2pdf13 や ps2pdf14 (ps2pdf)、ps2pdfwr だとSEGVするらしいです．&lt;br /&gt;&lt;a href="http://vdr.jp/d/20100802.html"&gt;http://vdr.jp/d/20100802.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;そこで，次のように対処しました．真似される方は自己責任でおねがいします．&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;which ps2pdf コマンドで，/usr/bin/ 以下に ps2pdf* があることを確認&lt;/li&gt;&lt;li&gt;sudo rm /usr/bin/ps2pdf&lt;/li&gt;&lt;li&gt;sudo ln -s /usr/bin/ps2pdf12  /usr/bin/ps2pdf&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;これで，ps2pdf hoge.eps とかは成功するようになります．&lt;br /&gt;&lt;br /&gt;しかし，これだけでは dvipdfmx が失敗することがあります．dvipdfmx が ps2pdf コマンドを呼び出すときに，-dCompatibilityLevel=1.4 とかいうオプションをつけているからなようです．&lt;br /&gt;このオプションがつくと，実質的に ps2pdf14 コマンドを呼び出しているのと同じ動作をしている模様．(憶測)&lt;br /&gt;&lt;br /&gt;そこで，このオプションを，-dCompatibilityLevel=1.2 に変更します．&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;dvipdfmx.cfg という設定ファイルを探す．当環境では /usr/local/teTeX/share/texmf/dvipdfmx/dvipdfmx.cfg にありました&lt;/li&gt;&lt;li&gt;エディタで開き，"Compatiblitity"とかで検索し，-dCompatibilityLevel=1.4 を -dCompatibilityLevel=1.2 に変更し保存&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;これで漢字を含むPS,EPSファイルを使ったtexファイルでも，問題なくPDF化できるようになるのではと思います．&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-5577549757510545698?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/5577549757510545698/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/11/psepsps2pdf.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/5577549757510545698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/5577549757510545698'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/11/psepsps2pdf.html' title='漢字を含むps,epsファイルをps2pdfで変換できない問題の解消'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-9163667587997121157</id><published>2010-11-14T17:58:00.007+09:00</published><updated>2010-11-14T18:16:43.493+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WM'/><category scheme='http://www.blogger.com/atom/ns#' term='awesome'/><category scheme='http://www.blogger.com/atom/ns#' term='lua'/><title type='text'>awesome WM の導入と設定</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_crdlJ5XP7hU/TN-nkzGJnzI/AAAAAAAAAJw/kC1WkZY7ml0/s1600/awesome_screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;ウィンドウマネージャ(WM)なんて，Gnomeで何も問題を感じていなかったのですが，「タイル型WM」なる全く異なるコンセプトのWMがあると聞き，導入してみました．&lt;br /&gt;&lt;br /&gt;今回導入したのは，&lt;a href="http://awesome.naquadah.org/"&gt;awesome&lt;/a&gt; WM です．&lt;br /&gt;&lt;br /&gt;&lt;b&gt;awesome WMの特徴(主観)&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;タイル型WMのジャンルで，Xmonad というWMと双璧をなす人気らしい&lt;/li&gt;&lt;li&gt;設定がLuaという，比較的簡単なプログラミング言語で，柔軟に設定可能&lt;/li&gt;&lt;li&gt;タイル型なだけあり，ウィンドウが重ならない．&lt;/li&gt;&lt;li&gt;キーボードショートカットを覚えると，本格的にマウス不要になる．&lt;/li&gt;&lt;li&gt;Gnomeでいうワークスペース的な機能を「tag」という形で自然に取り込んでいて，画面を論理的に切り替えられる&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.blogger.com/goog_1325771561"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_crdlJ5XP7hU/TN-nkzGJnzI/AAAAAAAAAJw/kC1WkZY7ml0/s1280/awesome_screenshot.png"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_crdlJ5XP7hU/TN-nkzGJnzI/AAAAAAAAAJw/kC1WkZY7ml0/s320/awesome_screenshot.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_crdlJ5XP7hU/TN-nkzGJnzI/AAAAAAAAAJw/kC1WkZY7ml0/s1280/awesome_screenshot.png"&gt;こんな感じにできます(スクリーンショット)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;導入&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;パッケージをダウンロード&lt;br /&gt;- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;sudo apt-get install awesome&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/etc/X11/Xsession.d/40x11-common_xsessionrc を以下のように編集&lt;br /&gt;(このあたりはだいぶ環境依存のはずです．)&lt;br /&gt;- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;# This file is sourced by Xsession(5), not executed.&lt;br /&gt;&lt;br /&gt;#Source user defined xsessionrc (locales and other environment variables)&lt;br /&gt;# if [ -r "$USERXSESSIONRC" ]; then&lt;br /&gt;#   . "$USERXSESSIONRC"&lt;br /&gt;# fi&lt;br /&gt;&lt;br /&gt;source /home/sho/.xinitrc&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;~/.xinitrcを，以下のように作成・編集&lt;br /&gt;- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;exec awesome&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;設定ファイルの作成&lt;br /&gt;- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;mkdir .config/awesome&lt;br /&gt;cp /etc/xdg/awesome/rc.lua ~/.config/awesome/&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;この時点で一旦ログアウトして，「セッション」をawesomeに指定し，ログインする．&lt;br /&gt;以下，自分好みの設定&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CPUやメモリの状態を表示させる&lt;br /&gt;- &lt;a href="http://awesome.naquadah.org/wiki/Vicious"&gt;Visious&lt;/a&gt;をダウンロード，解凍し，~/.config/awesome/visious という名前のディレクトリに移す&lt;br /&gt;- rc.luaの変更箇所(変更箇所の周りの記述で検索かけてください):&lt;br /&gt;--  &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;-- Load Debian menu entries&lt;br /&gt;require("debian.menu")&lt;br /&gt;-- For dynamic widgets&lt;br /&gt;require("vicious")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;-- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;-- Create a systray&lt;br /&gt;mysystray = widget({ type = "systray" })&lt;br /&gt;&lt;br /&gt;refreshdelay = 1&lt;br /&gt;-- memwidget&lt;br /&gt;-- text&lt;br /&gt;memtext = widget({ type = "textbox" })&lt;br /&gt;memtext.text = ' mem '&lt;br /&gt;-- bar&lt;br /&gt;membar = awful.widget.graph()&lt;br /&gt;membar:set_width(50)&lt;br /&gt;membar:set_height(17)&lt;br /&gt;membar:set_background_color("#494B4F")&lt;br /&gt;membar:set_border_color(nil)&lt;br /&gt;membar:set_color("#004080")&lt;br /&gt;membar:set_gradient_colors({ "#004080", "#006699", "#CCCCFF" })&lt;br /&gt;vicious.register(membar, vicious.widgets.mem, "$1", refreshdelay)&lt;br /&gt;-- // memwidget&lt;br /&gt;&lt;br /&gt;-- cpuwidget&lt;br /&gt;-- text&lt;br /&gt;cputext = widget({ type = "textbox" })&lt;br /&gt;cputext.text = ' cpu '&lt;br /&gt;-- graph&lt;br /&gt;cpugraph = awful.widget.graph()&lt;br /&gt;cpugraph:set_width(50)&lt;br /&gt;cpugraph:set_height(17)&lt;br /&gt;cpugraph:set_background_color("#494B4F")&lt;br /&gt;cpugraph:set_color("#004080")&lt;br /&gt;cpugraph:set_gradient_colors({ "#004080", "#006699", "#CCCCFF" })&lt;br /&gt;vicious.register(cpugraph, vicious.widgets.cpu, "$1", refreshdelay)&lt;br /&gt;-- // cpuwidget&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- Create a wibox for each screen and add it&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;-- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;      mylayoutbox[s],&lt;br /&gt;      mytextclock,&lt;br /&gt;      s == 1 and mysystray or nil,&lt;br /&gt;      -- I added the followings.&lt;br /&gt;      membar.widget,&lt;br /&gt;      memtext,&lt;br /&gt;      cpugraph.widget,&lt;br /&gt;      cputext,&lt;br /&gt;&lt;br /&gt;      mytasklist[s],&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;[参考] &lt;a href="http://samemiso.blogspot.com/2009/12/awesome-34cpumem.html"&gt;http://samemiso.blogspot.com/2009/12/awesome-34cpumem.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;テーマ(beautiful)の設定&lt;br /&gt;- &lt;a href="http://awesome.naquadah.org/wiki/Beautiful_themes"&gt;http://awesome.naquadah.org/wiki/Beautiful_themes&lt;/a&gt; から，zhuravlik を拝借&lt;br /&gt;-- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;sudo mkdir /usr/share/awesome/themes/zhuravlik&lt;/code&gt;&lt;/pre&gt;-- /usr/share/awesome/themes/zhuravlik/theme.lua を以下のように作成・編集&lt;br /&gt;--- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;---------------------------&lt;br /&gt;-- Default awesome theme --&lt;br /&gt;---------------------------&lt;br /&gt;&lt;br /&gt;theme = {}&lt;br /&gt;&lt;br /&gt;theme.font          = "sans 8"&lt;br /&gt;&lt;br /&gt;theme.bg_normal     = "#f7f7f7ee"&lt;br /&gt;theme.bg_focus      = "#535d6cee"&lt;br /&gt;theme.bg_urgent     = "#ff0000ee"&lt;br /&gt;theme.bg_minimize   = "#444444ee"&lt;br /&gt;&lt;br /&gt;theme.fg_normal     = "#535d6c"&lt;br /&gt;theme.fg_focus      = "#ffffff"&lt;br /&gt;theme.fg_urgent     = "#ffffff"&lt;br /&gt;theme.fg_minimize  = "#ffffff"&lt;br /&gt;&lt;br /&gt;theme.border_width  = "1"&lt;br /&gt;theme.border_normal = "#000000"&lt;br /&gt;theme.border_focus  = "#535d6c"&lt;br /&gt;&lt;br /&gt;-- There are other variable sets&lt;br /&gt;-- overriding the default one when&lt;br /&gt;-- defined, the sets are:&lt;br /&gt;-- [taglist|tasklist]_[bg|fg]_[focus|urgent]&lt;br /&gt;-- titlebar_[bg|fg]_[normal|focus]&lt;br /&gt;-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]&lt;br /&gt;-- mouse_finder_[color|timeout|animate_timeout|radius|factor]&lt;br /&gt;-- Example:&lt;br /&gt;--theme.taglist_bg_focus = "#ff0000"&lt;br /&gt;&lt;br /&gt;-- Display the taglist squares&lt;br /&gt;theme.taglist_squares_sel   = "/usr/share/awesome/themes/default/taglist/squarefw.png"&lt;br /&gt;theme.taglist_squares_unsel = "/usr/share/awesome/themes/default/taglist/squarew.png"&lt;br /&gt;&lt;br /&gt;theme.tasklist_floating_icon = "/usr/share/awesome/themes/default/tasklist/floatingw.png"&lt;br /&gt;&lt;br /&gt;-- Variables set for theming the menu:&lt;br /&gt;-- menu_[bg|fg]_[normal|focus]&lt;br /&gt;-- menu_[border_color|border_width]&lt;br /&gt;theme.menu_submenu_icon = "/usr/share/awesome/themes/default/submenu.png"&lt;br /&gt;theme.menu_height = "15"&lt;br /&gt;theme.menu_width  = "100"&lt;br /&gt;&lt;br /&gt;-- You can add as many variables as&lt;br /&gt;-- you wish and access them by using&lt;br /&gt;-- beautiful.variable in your rc.lua&lt;br /&gt;--theme.bg_widget = "#cc0000"&lt;br /&gt;&lt;br /&gt;-- Define the image to load&lt;br /&gt;theme.titlebar_close_button_normal = "/usr/share/awesome/themes/default/titlebar/close_normal.png"&lt;br /&gt;theme.titlebar_close_button_focus  = "/usr/share/awesome/themes/default/titlebar/close_focus.png"&lt;br /&gt;&lt;br /&gt;theme.titlebar_ontop_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/ontop_normal_inactive.png"&lt;br /&gt;theme.titlebar_ontop_button_focus_inactive  = "/usr/share/awesome/themes/default/titlebar/ontop_focus_inactive.png"&lt;br /&gt;theme.titlebar_ontop_button_normal_active = "/usr/share/awesome/themes/default/titlebar/ontop_normal_active.png"&lt;br /&gt;theme.titlebar_ontop_button_focus_active  = "/usr/share/awesome/themes/default/titlebar/ontop_focus_active.png"&lt;br /&gt;&lt;br /&gt;theme.titlebar_sticky_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/sticky_normal_inactive.png"&lt;br /&gt;theme.titlebar_sticky_button_focus_inactive  = "/usr/share/awesome/themes/default/titlebar/sticky_focus_inactive.png"&lt;br /&gt;theme.titlebar_sticky_button_normal_active = "/usr/share/awesome/themes/default/titlebar/sticky_normal_active.png"&lt;br /&gt;theme.titlebar_sticky_button_focus_active  = "/usr/share/awesome/themes/default/titlebar/sticky_focus_active.png"&lt;br /&gt;&lt;br /&gt;theme.titlebar_floating_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/floating_normal_inactive.png"&lt;br /&gt;theme.titlebar_floating_button_focus_inactive  = "/usr/share/awesome/themes/default/titlebar/floating_focus_inactive.png"&lt;br /&gt;theme.titlebar_floating_button_normal_active = "/usr/share/awesome/themes/default/titlebar/floating_normal_active.png"&lt;br /&gt;theme.titlebar_floating_button_focus_active  = "/usr/share/awesome/themes/default/titlebar/floating_focus_active.png"&lt;br /&gt;&lt;br /&gt;theme.titlebar_maximized_button_normal_inactive = "/usr/share/awesome/themes/default/titlebar/maximized_normal_inactive.png"&lt;br /&gt;theme.titlebar_maximized_button_focus_inactive  = "/usr/share/awesome/themes/default/titlebar/maximized_focus_inactive.png"&lt;br /&gt;theme.titlebar_maximized_button_normal_active = "/usr/share/awesome/themes/default/titlebar/maximized_normal_active.png"&lt;br /&gt;theme.titlebar_maximized_button_focus_active  = "/usr/share/awesome/themes/default/titlebar/maximized_focus_active.png"&lt;br /&gt;&lt;br /&gt;-- You can use your own command to set your wallpaper&lt;br /&gt;theme.wallpaper_cmd = { "feh --bg-scale /home/sho/document/wallpaper/Atmo.jpg" }&lt;br /&gt;&lt;br /&gt;-- You can use your own layout icons like this:&lt;br /&gt;theme.layout_fairh = "/usr/share/awesome/themes/default/layouts/fairhw.png"&lt;br /&gt;theme.layout_fairv = "/usr/share/awesome/themes/default/layouts/fairvw.png"&lt;br /&gt;theme.layout_floating  = "/usr/share/awesome/themes/default/layouts/floatingw.png"&lt;br /&gt;theme.layout_magnifier = "/usr/share/awesome/themes/default/layouts/magnifierw.png"&lt;br /&gt;theme.layout_max = "/usr/share/awesome/themes/default/layouts/maxw.png"&lt;br /&gt;theme.layout_fullscreen = "/usr/share/awesome/themes/default/layouts/fullscreenw.png"&lt;br /&gt;theme.layout_tilebottom = "/usr/share/awesome/themes/default/layouts/tilebottomw.png"&lt;br /&gt;theme.layout_tileleft   = "/usr/share/awesome/themes/default/layouts/tileleftw.png"&lt;br /&gt;theme.layout_tile = "/usr/share/awesome/themes/default/layouts/tilew.png"&lt;br /&gt;theme.layout_tiletop = "/usr/share/awesome/themes/default/layouts/tiletopw.png"&lt;br /&gt;theme.layout_spiral  = "/usr/share/awesome/themes/default/layouts/spiralw.png"&lt;br /&gt;theme.layout_dwindle = "/usr/share/awesome/themes/default/layouts/dwindlew.png"&lt;br /&gt;&lt;br /&gt;theme.awesome_icon = "/usr/share/awesome/icons/awesome16.png"&lt;br /&gt;&lt;br /&gt;return theme&lt;br /&gt;-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;---- theme.wallpaper_cmd = { "feh --bg-scale /home/sho/document/wallpaper/Atmo.jpg" } の行は自分で設定する必要あり&lt;br /&gt;---- 壁紙は，feh --bg-scale /path/to/wallpaper で設定．何個か試して，これだけうまくいった．&lt;br /&gt;&lt;br /&gt;-- rc.luaの変更箇所(変更箇所の周りの記述で検索かけてください):&lt;br /&gt;--- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;-- {{{ Variable definitions&lt;br /&gt;-- Themes define colours, icons, and wallpapers&lt;br /&gt;beautiful.init("/usr/share/awesome/themes/zhuravlik/theme.lua")&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;使わないレイアウトをコメントアウト&lt;br /&gt;- rc.luaの変更箇所(変更箇所の周りの記述で検索かけてください):&lt;br /&gt;-- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;-- Table of layouts to cover with awful.layout.inc, order matters.&lt;br /&gt;layouts =&lt;br /&gt;   {&lt;br /&gt;   --    awful.layout.suit.floating,&lt;br /&gt;   awful.layout.suit.tile,&lt;br /&gt;   awful.layout.suit.tile.left,&lt;br /&gt;   --    awful.layout.suit.tile.bottom,&lt;br /&gt;   --    awful.layout.suit.tile.top,&lt;br /&gt;   --    awful.layout.suit.fair,&lt;br /&gt;   --    awful.layout.suit.fair.horizontal,&lt;br /&gt;   --    awful.layout.suit.spiral,&lt;br /&gt;   awful.layout.suit.spiral.dwindle,&lt;br /&gt;   awful.layout.suit.max,&lt;br /&gt;   --    awful.layout.suit.max.fullscreen,&lt;br /&gt;   awful.layout.suit.magnifier&lt;br /&gt;}&lt;br /&gt;-- }}}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;tagに名前をつける&lt;br /&gt;- rc.luaの変更箇所(変更箇所の周りの記述で検索かけてください):&lt;br /&gt;-- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;-- Define a tag table which hold all screen tags.&lt;br /&gt;tags = {&lt;br /&gt;   names = { "1.work", "2.dev", "3.web", "4.study", "5.skype", "6.twitter", 7, 8, 9 },&lt;br /&gt;   layout = { layouts[2], layouts[2], layouts[2], layouts[2], layouts[2],&lt;br /&gt;              layouts[2], layouts[2], layouts[2], layouts[2] }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;メニューの編集&lt;br /&gt;- rc.luaの変更箇所(変更箇所の周りの記述で検索かけてください):&lt;br /&gt;-- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },&lt;br /&gt;                                    { "Ubuntu", debian.menu.Debian_menu.Debian },&lt;br /&gt;                                    { "Shutdown", function () awful.util.spawn_with_shell("gksu 'shutdown -h now'") end  },&lt;br /&gt;                                    { "Reboot", function () awful.util.spawn_with_shell("gksu 'reboot'") end  },&lt;br /&gt;                                    { "Suspend", function () awful.util.spawn_with_shell("gksu 'pm-suspend'") end  }&lt;br /&gt;                                 }&lt;br /&gt;                       })&lt;br /&gt;&lt;br /&gt;mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),&lt;br /&gt;                                     menu = mymainmenu })&lt;br /&gt;-- }}}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;アプリごとに表示するタグを設定&lt;br /&gt;- rc.luaの変更箇所(変更箇所の周りの記述で検索かけてください):&lt;br /&gt;-- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;  -- Set skype to always map on tags number 5 of screen 1.&lt;br /&gt;   { rule = { name = "Skype" },&lt;br /&gt;     properties = { tag = tags[1][5] } },&lt;br /&gt;   -- Set peraperaprv to always map on tags number 3 of screen 1.&lt;br /&gt;   { rule = { name = "PeraPeraPrv" },&lt;br /&gt;     properties = { tag = tags[1][6] } },&lt;br /&gt;   -- Set Firefox to always map on tags number 2 of screen 1.&lt;br /&gt;   -- { rule = { class = "Firefox" },&lt;br /&gt;   --   properties = { tag = tags[1][2] } },&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;-- class = "hoge" に入れる文字列は，以下のようにして調べる．&lt;br /&gt;--- xprop コマンドを起動&lt;br /&gt;--- 調べたいアプリのウィンドウをクリック&lt;br /&gt;--- WM_CLASSの2つめの文字列が目的の文字列&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;awesome WM起動時に，いくつかのアプリを起動&lt;br /&gt;- rc.luaの変更箇所(ファイルの最後の方に追加):&lt;br /&gt;-- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;-- Startup scripts&lt;br /&gt;function run_once(prg,arg_string,screen) -- NOTE: screen and tag are different.&lt;br /&gt;    if not prg then&lt;br /&gt;        do return nil end&lt;br /&gt;    end&lt;br /&gt;    if not arg_string then &lt;br /&gt;        awful.util.spawn_with_shell("pgrep -f -u $USER -x " .. prg .. " || (" .. prg .. ")",screen)&lt;br /&gt;    else&lt;br /&gt;        awful.util.spawn_with_shell("pgrep -f -u $USER -x " .. prg .. " || (" .. prg .. " " .. arg_string .. ")",screen)&lt;br /&gt;    end&lt;br /&gt;end&lt;br /&gt;run_once("xcompmgr", nil, 1)&lt;br /&gt;run_once("wicd-gtk", nil, 1)&lt;br /&gt;run_once("skype", nil, 1)&lt;br /&gt;run_once("peraperaprv", nil, 1)&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ウィンドウを半透明化する&lt;br /&gt;- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;sudo apt-get install xcompmgr&lt;/code&gt;&lt;/pre&gt;- rc.luaの変更箇所(ファイルの最後の方に追加):&lt;br /&gt;-- &lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;-- Make some windows transparent&lt;br /&gt;-- ref: http://nekolinux.blogspot.com/2009/05/awesomexcompmgr.html&lt;br /&gt;-- Hook function to execute when focusing a client.                                                             &lt;br /&gt;awful.hooks.focus.register(function (c)&lt;br /&gt;    if not awful.client.ismarked(c) then&lt;br /&gt;       c.border_color = beautiful.border_focus&lt;br /&gt;       c.opacity = 0.9&lt;br /&gt;    end&lt;br /&gt;end)&lt;br /&gt;&lt;br /&gt;-- Hook function to execute when unfocusing a client.                                                           &lt;br /&gt;awful.hooks.unfocus.register(function (c)&lt;br /&gt;    if not awful.client.ismarked(c) then&lt;br /&gt;       c.border_color = beautiful.border_normal&lt;br /&gt;       c.opacity = 0.5 &lt;br /&gt;    end&lt;br /&gt;end)&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;-- 上記「awesome WM起動時に，いくつかのアプリを起動」で，xcompmgr コマンドを起動していることが必要&lt;br /&gt;[参考] &lt;a href="http://nekolinux.blogspot.com/2009/05/awesomexcompmgr.html"&gt;http://nekolinux.blogspot.com/2009/05/awesomexcompmgr.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;以上です．この他にも，Emacsにlua-modeを入れたりflymake-luaを使えるようにしてます．&lt;br /&gt;&lt;br /&gt;誰かのお役に立てれば幸いです．&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-9163667587997121157?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/9163667587997121157/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/11/awesome-wm.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/9163667587997121157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/9163667587997121157'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/11/awesome-wm.html' title='awesome WM の導入と設定'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_crdlJ5XP7hU/TN-nkzGJnzI/AAAAAAAAAJw/kC1WkZY7ml0/s72-c/awesome_screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-8446443600556557153</id><published>2010-11-14T17:04:00.001+09:00</published><updated>2010-11-14T18:00:05.032+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tex'/><category scheme='http://www.blogger.com/atom/ns#' term='防備録'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>[防備録] Ubuntu デスクトップ版 10.04 の再インストールと設定</title><content type='html'>ちょっとした事故でUbuntu デスクトップ版 10.04 が立ちあげられなくなったので，Ubuntu デスクトップ版 10.10 を入れてみました．&lt;br /&gt;&lt;br /&gt;防備録がてら，作業ログを書き記します．&lt;br /&gt;自分の環境に依存してる部分もかなりあると思うので，万一参考にする方はお気を付けください．&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;大まかにやったこと&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Ubuntu デスクトップ版 10.10 のインストール&lt;/li&gt;&lt;li&gt;データの復旧&lt;/li&gt;&lt;li&gt;環境再構築&lt;/li&gt;&lt;li&gt;awesome WM 導入&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ubuntu デスクトップ版 10.10 をCDに焼く&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CDブートしインストール&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;インストール時の設定&lt;br /&gt;- sda2,sda3のWindows用のパーティションを潰し，sda6にマウントポイント'/'を作成&lt;br /&gt;- swap領域は既にあったのでそのまま使用&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ubuntu起動&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;rootのパスワード設定&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;sudo passwd&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ファイルの復旧&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;sudo mkdir /mnt/sda5&lt;br /&gt;sudo mount /dev/sda5 /mnt/sda5&lt;br /&gt;cp -vr /mnt/sda5/home/sho/* .           (※軽く20分はかかった)&lt;br /&gt;cd /mnt/sda5/usr/local/bin&lt;br /&gt;sudo cp eps2png.sh convert.sh jabref peraperaprv latexmk /usr/local/bin/&lt;br /&gt;sudo cp -r /mnt/sda5/usr/local/libexec/P3_4_36 /usr/local/lib  (PeraPeraPrvのコピー)&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NetworkManager(UbuntuデフォルトのGnomeアプリ)でネットワーク接続&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;セキュリティ的にアップグレードをかける&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;sudo apt-get upgrade&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;日本語システムのための設定が不足してるらしいので，勝手に出てきたダイアログの指示に従ってインストール&lt;br /&gt;- メニュー-&gt;システム-&gt;言語っぽい項目 からもいけるっぽい&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;この記事を書くためのエディタをゲット&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;sudo apt-get install emacs&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CtrlとCapsを切り替え・MenuキーをWindowsキーに&lt;br /&gt;(Windowsキーはawesome WM で右手用のMod4キーとして働く)&lt;br /&gt;&lt;br /&gt;- ~/.Xmodmapを以下の内容で新規作成&lt;br /&gt;-- &lt;pre class="prettyprint"&gt;&lt;code&gt;remove Lock = Caps_Lock&lt;br /&gt;remove Control = Control_L&lt;br /&gt;keysym Control_L = Caps_Lock&lt;br /&gt;keysym Caps_Lock = Control_L&lt;br /&gt;add Lock = Caps_Lock&lt;br /&gt;add Control = Control_L&lt;br /&gt;&lt;br /&gt;keysym Menu = Super_L&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;-以下のコマンドを，メニュー-&gt;システム-&gt;設定-&gt;自動起動するアプリ に追加&lt;br /&gt;-- &lt;pre class="prettyprint"&gt;&lt;code&gt;xmodmap ~/.Xmodmap&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;[参考] &lt;a href="http://kaede.blog.abk.nu/xmodmapSwapCapsCtrl"&gt;http://kaede.blog.abk.nu/xmodmapSwapCapsCtrl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;gnome-terminalのプロファイルを設定&lt;br /&gt;- 端末を右クリックして，適当に設定&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;欲しいアプリをインストール&lt;br /&gt;- 自動的に依存関係を解消してもらえるときはそれに従う&lt;br /&gt;- かなり検討したリストなので，自分がまた使うときはそのまま従う．例えば，flexもbisonも後でptetexをmakeするのに必要&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;sudo apt-get install \&lt;br /&gt;g++ \&lt;br /&gt;gnuplot \&lt;br /&gt;gnuplot-doc \&lt;br /&gt;gnuplot-x11 \&lt;br /&gt;valgrind \&lt;br /&gt;manpages-ja-dev \&lt;br /&gt;openjdk-6-jdk \&lt;br /&gt;openjdk-6-doc \&lt;br /&gt;adobereader-jpn \&lt;br /&gt;flashplugin-nonfree \&lt;br /&gt;nkf \&lt;br /&gt;netcat-openbsd \&lt;br /&gt;ghostscript \&lt;br /&gt;cmap-adobe-japan1 \&lt;br /&gt;gs-cjk-resource \&lt;br /&gt;xorg-dev \&lt;br /&gt;iperf \&lt;br /&gt;vim \&lt;br /&gt;vim-tiny \&lt;br /&gt;vim-gtk \&lt;br /&gt;vim-nox \&lt;br /&gt;patch \&lt;br /&gt;flex \&lt;br /&gt;bison \&lt;br /&gt;gnome-alsamixer \&lt;br /&gt;alsa-utils \&lt;br /&gt;gv \&lt;br /&gt;ipamonafont \&lt;br /&gt;scim-mozc \&lt;br /&gt;mozc-utils-gui \&lt;br /&gt;git \&lt;br /&gt;gitg \&lt;br /&gt;wpagui \&lt;br /&gt;libqt4-network \&lt;br /&gt;gimp \&lt;br /&gt;feh&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;[参考] &lt;a href="http://g1g2g3.logos.ic.i.u-tokyo.ac.jp/index.php?tag=vdxjkzvv"&gt;http://g1g2g3.logos.ic.i.u-tokyo.ac.jp/index.php?tag=vdxjkzvv&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;mozcの設定&lt;br /&gt;- メニュー-&gt;システム-&gt;設定-&gt;入力メソッド切替器&lt;br /&gt;- Use SCIM via xim (scim)&lt;br /&gt;- ログアウト&lt;br /&gt;- 日本語入力を開始すると，右下にscimのメニューが出るので，そこから色々設定&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ptetexのインストール&lt;br /&gt;(apt-getで入手したパッケージではは日本語がまともに使えなかった)&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;wget &lt;a href="http://tutimura.ath.cx/~nob/tex/ptetex/ptetex3/ptetex3-20090610.tar.gz"&gt;http://tutimura.ath.cx/~nob/tex/ptetex/ptetex3/ptetex3-20090610.tar.gz&lt;/a&gt;&lt;br /&gt;wget &lt;a href="http://www.ring.gr.jp/pub/text/CTAN/obsolete/systems/unix/teTeX/3.0/distrib/tetex-src-3.0.tar.gz"&gt;http://www.ring.gr.jp/pub/text/CTAN/obsolete/systems/unix/teTeX/3.0/distrib/tetex-src-3.0.tar.gz&lt;/a&gt;&lt;br /&gt;wget &lt;a href="http://www.ring.gr.jp/pub/text/CTAN/obsolete/systems/unix/teTeX/3.0/distrib/tetex-texmf-3.0po.tar.gz"&gt;http://www.ring.gr.jp/pub/text/CTAN/obsolete/systems/unix/teTeX/3.0/distrib/tetex-texmf-3.0po.tar.gz&lt;/a&gt;&lt;br /&gt;tar xvf ptetex3-20090610.tar.gz&lt;br /&gt;cd ptetex3-20090610&lt;br /&gt;cp my_option.sample my_option&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- my_optionを編集し，「KANJI_CODE=UTF8」の行のコメントアウトを外す．&lt;br /&gt;- このままmakeすると途中で失敗するので，一時的に/usr/include/stdio.hを書き換える．具体的には，/usr/include/stdio.hの651行目から653行目にかけての， getline()関数の定義をコメントアウトする． &lt;br /&gt;-- &lt;pre class="prettyprint"&gt;&lt;code&gt;/*&lt;br /&gt;extern _IO_ssize_t getline (char **__restrict __lineptr,&lt;br /&gt;       size_t *__restrict __n,&lt;br /&gt;      FILE *__restrict __stream) __wur;&lt;br /&gt;*/&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;rm -rf /home/denjo/.texmf_var    (あれば)&lt;br /&gt;make all&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- dviのテスト出力が終わってからエラーがあるが，無視&lt;br /&gt;&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;sudo make install&lt;/code&gt;&lt;/pre&gt;-- ここでもエラーがあるが無視&lt;br /&gt;&lt;br /&gt;- /usr/include/stdio.hを元に戻す&lt;br /&gt;&lt;br /&gt;- /etc/profile.d/tetex.shというファイルを作り，以下を記述する：&lt;br /&gt;&lt;br /&gt;-- &lt;pre class="prettyprint"&gt;&lt;code&gt;export PATH=/usr/local/teTeX/bin:$PATH&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- さらに実行権限を付けておく：&lt;br /&gt;-- &lt;pre class="prettyprint"&gt;&lt;code&gt;sudo chmod 0755 /etc/profile.d/tetex.sh&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- 再起動でPATHを反映&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TeXのスタイルファイルをコピー&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;sudo cp -r /mnt/sda5/usr/local/teTeX/share/texmf/ptex/platex/* /usr/local/teTeX/share/texmf/ptex/platex/&lt;br /&gt;sudo /usr/local/teTeX/bin/mktexlsr&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;マウスの真ん中ボタンでスクロールできるように&lt;br /&gt;- /usr/share/X11/xorg.conf.d/20-thinkpad.conf を以下のように作成・編集&lt;br /&gt;-- &lt;pre class="prettyprint"&gt;&lt;code&gt;Section "InputClass"&lt;br /&gt; Identifier "Trackpoint Wheel Emulation"&lt;br /&gt; MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"&lt;br /&gt; MatchDevicePath "/dev/input/event*"&lt;br /&gt; Option  "EmulateWheel"  "true"&lt;br /&gt; Option  "EmulateWheelButton" "2"&lt;br /&gt; Option  "Emulate3Buttons" "false"&lt;br /&gt; Option  "XAxisMapping"  "6 7"&lt;br /&gt; Option  "YAxisMapping"  "4 5"&lt;br /&gt;EndSection&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;- 再起動&lt;br /&gt;[参考] &lt;a href="http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint#Scrolling"&gt;http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint#Scrolling&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Firefoxの設定&lt;br /&gt;- 設定ダイアログ&lt;br /&gt;-- ダウンロード先とか&lt;br /&gt;-- 言語設定で日本語を削除&lt;br /&gt;-- フォントをIPA モナー Pゴシックに&lt;br /&gt;&lt;br /&gt;- アドオン&lt;br /&gt;-- All-in-One Gestures&lt;br /&gt;-- Tab Mix Plus&lt;br /&gt;-- Text Link&lt;br /&gt;-- Xmarks Sync&lt;br /&gt;-- AutoPager&lt;br /&gt;-- Adblock Plus&lt;br /&gt;-- FaviconizeTab&lt;br /&gt;-- Force AutoComplete Extension 0.4&lt;br /&gt;-- Firebug&lt;br /&gt;&lt;br /&gt;- 起動を軽く&lt;br /&gt;-- about:config で *history_expire* を適当に減らす&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;skypeのインストール&lt;br /&gt;- 公式サイトからUbuntu用のdebパッケージをダウンロード&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;dpkg -i skype-ubuntu-intrepid_2.1.0.81-1_i386.deb&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;wicdのインストール&lt;br /&gt;Gnome以外でのNetworkManagerの代わり&lt;br /&gt;- &lt;pre class="prettyprint"&gt;&lt;code&gt;sudo apt-get install wicd-gtk wicd&lt;br /&gt;sudo apt-get remove network-manager&lt;/code&gt;&lt;/pre&gt;- sudo wicd-gtk で設定&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;awesomeのインストール・設定&lt;br /&gt;- 長くなるので，&lt;a href="http://lay-sakura.blogspot.com/2010/11/awesome-wm.html"&gt;次のポスト&lt;/a&gt;参照&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-8446443600556557153?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/8446443600556557153/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/11/ubuntu-1004.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/8446443600556557153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/8446443600556557153'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/11/ubuntu-1004.html' title='[防備録] Ubuntu デスクトップ版 10.04 の再インストールと設定'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-2580341919125397748</id><published>2010-10-29T15:25:00.000+09:00</published><updated>2010-10-29T15:25:53.864+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='platex'/><category scheme='http://www.blogger.com/atom/ns#' term='マクロ'/><category scheme='http://www.blogger.com/atom/ns#' term='mktexlsr'/><category scheme='http://www.blogger.com/atom/ns#' term='自作'/><category scheme='http://www.blogger.com/atom/ns#' term='tex'/><category scheme='http://www.blogger.com/atom/ns#' term='sty'/><title type='text'>[防備録] texの自作マクロの置き場所</title><content type='html'>防備録です。&lt;br /&gt;UbuntuでTeX環境を整えた場合に、自作の.styファイルを置く場所について。&lt;br /&gt;&lt;br /&gt;ただし、platexを使っていることが前提です。&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;とりあえず、 # mktexlsr してみて、どこに ls-R ファイルが作成されるか確かめる。何箇所かにできてるけど、 /usr/local/teTeX/share/texmf/ls-R にもあることを確認&lt;/li&gt;&lt;li&gt;"ls-Rのあるディレクトリ"/ptex/platex に、自分の作ったマクロファイルと同名のディレクトリを作る。今回は、mymacro.styを作ったので、 /usr/local/teTeX/share/texmf/mymacro/ を作成&lt;/li&gt;&lt;li&gt;上記ディレクトリにマクロファイルを入れる&lt;/li&gt;&lt;li&gt;# mktexlsr&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-2580341919125397748?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/2580341919125397748/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/10/tex.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/2580341919125397748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/2580341919125397748'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/10/tex.html' title='[防備録] texの自作マクロの置き場所'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-2942526015966795916</id><published>2010-10-29T13:41:00.000+09:00</published><updated>2010-10-29T13:41:16.724+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='latexmk'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='emacs'/><category scheme='http://www.blogger.com/atom/ns#' term='tex'/><title type='text'>latexmkで快適PDF作成</title><content type='html'>TeXを使うとき、一々&lt;br /&gt;&lt;ol&gt;&lt;li&gt;platexでコンパイル&lt;/li&gt;&lt;li&gt;dvipdfmxでpdf化&lt;/li&gt;&lt;li&gt;acroreadでプレビュー&lt;/li&gt;&lt;/ol&gt;という手順を踏んでいて、非常に面倒でした。&lt;br /&gt;&lt;br /&gt;特に、jbibtexを使うときなんかは、何回もコンパイルを繰り返さなくてはならず、非常に効率の悪いことをしておりました。&lt;br /&gt;&lt;br /&gt;しかし、今日紹介する latexmk を使えば、上記の煩わしさが払拭できます。&lt;br /&gt;つまり、PDFのプレビューまでを、&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt; $ latexmk -pv -dvi&lt;/code&gt;&lt;/pre&gt;というコマンド一発で片付けることができます。&lt;br /&gt;&lt;br /&gt;僕の場合はUbuntu 10.04でしたが、基本的にUnix系ならいけるかと思います。&lt;br /&gt;&lt;br /&gt;必要条件&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;platexが使えること&lt;/li&gt;&lt;li&gt;perlが使えること&lt;/li&gt;&lt;li&gt;acroreadが使えること(ただし必須ではない)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;導入&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.phys.psu.edu/~collins/software/latexmk-jcc/"&gt;Latexmkの本家サイト&lt;/a&gt;から、latexmk-*.zipをダウンロードし、展開&lt;/li&gt;&lt;li&gt;latexmk.plを、以下のように編集&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;pre&gt;$latex = 'latex %O %S'; =&gt; $latex = 'platex %O %S';&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre&gt;$bibtex = 'bibtex %O %B'; =&gt; $bibtex = 'jbibtex %O %B';&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre&gt;$dvipdf = 'dvipdf %O %S %D'; =&gt; $dvipdf = 'dvipdfmx %O %S';&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre&gt;$pdf_mode = 0; =&gt; $pdf_mode = 3;&lt;/pre&gt;(0のままだと、pdfは作成せずにdviファイルだけを作成する)&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;以下のコマンドを実行&lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;br /&gt; # cp latexmk.pl /usr/local/bin/latexmk&lt;br /&gt; # cp latexmk.1 /usr/local/man/man1/&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;以上の手順により、&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt; $ latexmk -pv -dvi&lt;/code&gt;&lt;/pre&gt;でpdfのプレビューまでができるようになります。&lt;br /&gt;上記の -pv オプションを取り払えば、プレビューはなしでpdfの作成までが一気にできます。&lt;br /&gt;&lt;br /&gt;僕はYaTeXとEmacsとも連携させるため、 ~/.emacs に以下の記述を追加しました。&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;;; latexmk&lt;br /&gt;(setq tex-command "latexmk -dvi"&lt;br /&gt;   dvi2-command "acroread")&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;非常に快適で嬉しいです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-2942526015966795916?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/2942526015966795916/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/10/latexmkpdf.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/2942526015966795916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/2942526015966795916'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/10/latexmkpdf.html' title='latexmkで快適PDF作成'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-5501408534091764860</id><published>2010-10-03T13:51:00.001+09:00</published><updated>2010-10-03T13:53:52.286+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='コンパイラ'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>コンパイラのお勉強なう</title><content type='html'>学校の図書館で&lt;a href="http://www.amazon.co.jp/%E3%81%B5%E3%81%A4%E3%81%86%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%82%92%E3%81%A4%E3%81%8F%E3%82%8D%E3%81%86-%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E7%B3%BB%E3%82%92%E3%81%A4%E3%81%8F%E3%82%8A%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%A8%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF-%E9%9D%92%E6%9C%A8-%E5%B3%B0%E9%83%8E/dp/4797337958"&gt;『ふつうのコンパイラをつくろう』&lt;/a&gt;を読んでいます。&lt;br /&gt;&lt;br /&gt;読み始めたばっかりだけど、こういう自分で創り上げていくのを支援してくれる本もかなり好き。&lt;br /&gt;&lt;br /&gt;最近自分が本当にやりたいこと(プログラムで)がなかなか無かったけど、言語処理系はちょっと面白いかも。&lt;br /&gt;というか「コンピュータ触ってるな俺!!」って思えるものが好きなのかもしれない。&lt;br /&gt;&lt;br /&gt;この本ではJavaを使ってCに程近い言語のコンパイラ(含むアセンブラ、リンカ)をつくるみたいですが、読み終えたら自分では、C++を使ってJavascriptのコンパイラ(インタプリタになるかも。型付け的に考えて。)を作りたいですね。&lt;br /&gt;ブラウザ上じゃなくて、コンソール上でJavascript動いて欲しい。&lt;br /&gt;&lt;br /&gt;もしそれをやるなら、実装するJavascriptのサブセットとしては&lt;a href="http://www.amazon.co.jp/JavaScript-3a-Parts-%E2%80%95%E3%80%8C%E8%89%AF%E3%81%84%E3%83%91%E3%83%BC%E3%83%84%E3%80%8D%E3%81%AB%E3%82%88%E3%82%8B%E3%83%99%E3%82%B9%E3%83%88%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B9-Douglas-Crockford/dp/4873113911"&gt;『JavaScript: The Good Parts —「良いパーツ」によるベストプラクティス』&lt;/a&gt;から選びたいですね。&lt;br /&gt;それだけでずいぶん実装も楽になるし、綺麗な言語が作れそう。&lt;br /&gt;&lt;br /&gt;夢がひろがりんぐww&lt;br /&gt;だけど、本当にできるかは不安。&lt;br /&gt;時間は掛かるだろうけど、こういうことじっくり進めていきたいですね。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-5501408534091764860?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/5501408534091764860/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/10/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/5501408534091764860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/5501408534091764860'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/10/blog-post.html' title='コンパイラのお勉強なう'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-8135156398089184407</id><published>2010-09-30T23:31:00.000+09:00</published><updated>2010-09-30T23:31:25.715+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ネットワーク'/><title type='text'>ネットワークのお勉強なう</title><content type='html'>そろそろ夏休みも終わり大学が再開するので、勉強モードに入りました。&lt;br /&gt;勉強といっても自分の好きな分野しかやりませんが。&lt;br /&gt;&lt;br /&gt;それに伴い、Webアプリ開発は一旦おやすみです。&lt;br /&gt;つーかログインシステム周りがうまく書けた時点で飽きたw&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jp.rubyist.net/magazine/?0017-Hotlinks"&gt;Rubyコミッタとして名高い笹田先生の対談記事&lt;/a&gt;なんか読んで、applicationをやるのも楽しいけど、やっぱりもうちょっと基盤的な勉強も必要だなと思ったり。&lt;br /&gt;それが勉強モードに入った大きな要因ですかね。&lt;br /&gt;&lt;br /&gt;とりあえず今は名著らしい&lt;a href="http://www.amazon.co.jp/TCP-IP%E3%81%AB%E3%82%88%E3%82%8B%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E6%A7%8B%E7%AF%89%E3%80%88Vol-1%E3%80%89%E5%8E%9F%E7%90%86%E3%83%BB%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB%E3%83%BB%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-Douglas-E-Comer/dp/432012054X"&gt;&lt;span style="font-size: small;"&gt;&lt;span id="btAsinTitle"&gt;TCP/IPによるネットワーク構築&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;を呼んでいます。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span id="btAsinTitle"&gt;サーバ構築なんかするようになって自分やるじゃんとか思ったり思わなかったりでしたが、やっぱりこういうの読むと知識が安定するというか、安心感のようなものを覚えます。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span id="btAsinTitle"&gt;しばらくはお勉強モードが続いたらいいな。 &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-8135156398089184407?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/8135156398089184407/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/blog-post_30.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/8135156398089184407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/8135156398089184407'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/blog-post_30.html' title='ネットワークのお勉強なう'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-7668662836348487711</id><published>2010-09-23T00:51:00.000+09:00</published><updated>2010-09-23T00:51:06.834+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='暗号化'/><category scheme='http://www.blogger.com/atom/ns#' term='jCryption'/><title type='text'>httpsを使わずに暗号化通信 with aSSL 〜結局aSSL使わず解決w〜</title><content type='html'>&lt;a href="http://lay-sakura.blogspot.com/2010/09/https-with-assl_21.html"&gt;前回の記事&lt;/a&gt;を書いた時点できっつい予感はしてたんですが、やはりaSSLのPHP版は動かすに至りませんでした。&lt;br /&gt;&lt;br /&gt;原因は全然掴みきれてませんが、PHPの環境構築な可能性が一番高い気がしてます。&lt;br /&gt;&lt;br /&gt;しかし、所望の暗号化通信自体には成功しました。&lt;br /&gt;今回は&lt;a href="http://www.jcryption.org/"&gt;jCryption&lt;/a&gt;というライブラリを使用しました。 &lt;br /&gt;&lt;br /&gt;こいつもaSSLと同じようなものなんですが、jQueryに依存している点、Javascript+PHPのサンプルが文句なしに動く点が違いましたw&lt;br /&gt;&lt;br /&gt;今回はこいつの解説とかを特に行ったりするわけではないですが、 ライブラリに付属してくるサンプルが小さくて解りやすくてすぐ動くので、導入はそこまで大変ではないはずです。&lt;br /&gt;&lt;br /&gt;おかげさまで、ユーザにメールアドレスやらパスワードやらを送信してもらう際に、暗号化してデータをPOSTすることが可能になりました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_crdlJ5XP7hU/TJoitjSBdxI/AAAAAAAAAJQ/A8YscYC50TA/s1600/20100923-plain.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="147" src="http://4.bp.blogspot.com/_crdlJ5XP7hU/TJoitjSBdxI/AAAAAAAAAJQ/A8YscYC50TA/s640/20100923-plain.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こんな感じで普通にボタンをクリックすると、&lt;a href="http://www.wireshark.org/"&gt;wireshark&lt;/a&gt;で見たときに、、&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_crdlJ5XP7hU/TJoiwRN6qeI/AAAAAAAAAJY/PHRd2K6vTdU/s1600/20100923-plain-wireshark.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="117" src="http://4.bp.blogspot.com/_crdlJ5XP7hU/TJoiwRN6qeI/AAAAAAAAAJY/PHRd2K6vTdU/s400/20100923-plain-wireshark.png" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;こんな感じで、&lt;br /&gt;$_POST['email] === 'someone@somewhere.com'&lt;br /&gt;$_POST['password'] === 'secret'&lt;br /&gt;であることがモロばれです。&lt;br /&gt;&lt;br /&gt;そこでjCryptionを使ってやると・・・&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_crdlJ5XP7hU/TJoiyJhjv3I/AAAAAAAAAJg/BNEGssgwy5A/s1600/20100923-enc-wireshark.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="127" src="http://4.bp.blogspot.com/_crdlJ5XP7hU/TJoiyJhjv3I/AAAAAAAAAJg/BNEGssgwy5A/s400/20100923-enc-wireshark.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;メールアドレスもパスワードも、全部 $_POST['jCryption'] という変数に暗号化して収められていることが分かります。&lt;br /&gt;&lt;br /&gt;あとはこいつをPHP側で(サンプル通りに)復号化してやれば、目的達成というわけです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;しかしjQryptionにたどり着くまでに色々なライブラリを試しては挫折しを繰り返し、今日はほぼ一日暗号化に費やしてしまいました。非リア乙。&lt;br /&gt;&lt;br /&gt;あとは今後このライブラリ周りで改善していきたいことを書いていって本日の記事を締めくくりたいと思います。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://blog.livedoor.jp/k_urushima/archives/988183.html"&gt;こちら&lt;/a&gt;で指摘されているとおり、セッションで鍵情報をやり取りするのはよろしくない&lt;/li&gt;&lt;li&gt;暗号化はRSAの2048bitだが、さすがに処理が重い。ライブラリのソースいじってビット数をもう少し落としたい&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-7668662836348487711?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/7668662836348487711/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/https-with-assl-asslw.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/7668662836348487711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/7668662836348487711'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/https-with-assl-asslw.html' title='httpsを使わずに暗号化通信 with aSSL 〜結局aSSL使わず解決w〜'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_crdlJ5XP7hU/TJoitjSBdxI/AAAAAAAAAJQ/A8YscYC50TA/s72-c/20100923-plain.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-15994339054867943</id><published>2010-09-21T23:32:00.001+09:00</published><updated>2010-09-21T23:33:55.820+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='暗号化'/><category scheme='http://www.blogger.com/atom/ns#' term='aSSL'/><title type='text'>httpsを使わずに暗号化通信 with aSSL 〜泥沼〜</title><content type='html'>先のエントリでaSSLがどうのこうの言ってましたが、ようやく実際に試すことにしました。&lt;br /&gt;&lt;br /&gt;しかし本家のPHP版サンプルが動かない・・・&lt;br /&gt;動かない間接的な原因は、ajaxのresponseTextが空になってるからなんですが、直接的な原因が掴めません。&lt;br /&gt;&lt;br /&gt;でも本家のサンプルはちょっとでかすぎる気がします。コード読むのが辛い。&lt;br /&gt;&lt;br /&gt;僕が実装したいのはもっと小ぢんまりしたものなので、言語はRuby+Javascriptですが、&lt;a href="http://kovayashi.blog120.fc2.com/blog-entry-81.html"&gt;こちら&lt;/a&gt;のページを大いに参考にさせていただいて何とか頑張ろうかと思います。&lt;br /&gt;&lt;br /&gt;要するに、&lt;br /&gt;&lt;ol&gt;&lt;li&gt;PHP側＝サーバ側で公開鍵と秘密鍵をペアで生成&lt;/li&gt;&lt;li&gt;Javascript側＝クライアント側で公開鍵を受け取る(サーバ側が公開鍵を一意に定めるNとEを渡し、それを使って公開鍵を生成)&lt;/li&gt;&lt;li&gt;Javascript側で公開鍵を用いて、POSTするデータを暗号化&lt;/li&gt;&lt;li&gt;サーバ側が、POSTメソッドで受け取ったデータを秘密鍵で復号化&lt;/li&gt;&lt;/ol&gt;ってのをしてるだけなはず。&lt;br /&gt;で、2,3の部分でaSSLさんが大活躍すると思われます。&lt;br /&gt;&lt;br /&gt;ちょっと試行錯誤して、できるだけ小さいサンプル作って報告しようかと思います。&lt;br /&gt;&lt;br /&gt;まずは牛丼食べてこよ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-15994339054867943?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/15994339054867943/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/https-with-assl_21.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/15994339054867943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/15994339054867943'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/https-with-assl_21.html' title='httpsを使わずに暗号化通信 with aSSL 〜泥沼〜'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-7967297549362377813</id><published>2010-09-16T03:07:00.001+09:00</published><updated>2010-09-16T03:08:47.649+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='セキュリティ'/><category scheme='http://www.blogger.com/atom/ns#' term='aSSL'/><title type='text'>httpsを使わずに暗号化通信 with aSSL</title><content type='html'>「個人情報やり取りするのに平文通信は危ないよね。」という、並のセキュリティ意識は付いてきた夏の日。&lt;br /&gt;でも、httpsプロトコル使うと、SSLサーバ証明書の確認とかでユーザ(クライアント)を煩わせちゃいますよね。特に個人で運営しているWebサーバの場合。&lt;br /&gt;&lt;br /&gt;でも、よく考えると暗号化通信にSSLサーバ証明書は必要ないはず。&lt;br /&gt;「証明書がなければ暗号化通信してもそのサーバは信用できない」などとよく聞きますが、これはあくまで一部のユーザの言い分です。&lt;br /&gt;Webサーバを構築する側からしたら、「自分のサーバへ通信しているユーザの個人情報は絶対に盗聴されたくない」というような要望もあっておかしくないはず。&lt;br /&gt;&lt;br /&gt;そんな風に考えたので、Web素人の僕はTwitterでフォロワーのみなさまにお知恵を拝借。&lt;br /&gt;すると30分ほどで有力なお答えが!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://assl.sullof.com/assl/"&gt;aSSL&lt;/a&gt;というものが上記の要望をそのものずばり叶えてくれそうです。&lt;br /&gt;&lt;br /&gt;こいつの仕組みは、&lt;br /&gt;&lt;blockquote cite="http://assl.sullof.com/assl/"&gt;1. The browser calls the server to start the process.&lt;br /&gt;&lt;br /&gt;2. The server returns its RSA modulus and the public exponent.&lt;br /&gt;&lt;br /&gt;3. The browser generates a random exchange 128-bit key, encrypts it using the server public key and passes the encrypted exchange key to the server.&lt;br /&gt;&lt;br /&gt;4. The server receives this encrypted 128-bit exchange key, decrypts it with its private key and, if the result is ok, returns the session duration time.&lt;br /&gt;&lt;br /&gt;5. The browser receives the session duration time and sets a timeout to maintain alive the connection.&lt;/blockquote&gt;だそうです。&lt;br /&gt;&lt;br /&gt;かるーく和訳すると、&lt;br /&gt;&lt;ol&gt;&lt;li&gt;サーバがクライアントに公開鍵(A)を渡す&lt;/li&gt;&lt;li&gt;クライアントが個人情報などを共有鍵(B)で暗号化し、共有鍵(B)と共にサーバに送信。この際共有鍵(B)は公開鍵(A)で暗号化&lt;/li&gt;&lt;li&gt;サーバは受け取った共有鍵(B)を、公開鍵(A)のペアの秘密鍵(A')で復号化。復号化された共有鍵で個人情報を復号化する&lt;/li&gt;&lt;/ol&gt;って感じですかね。&lt;br /&gt;まだ使ってないのでなんとも言えませんが。&lt;br /&gt;&lt;br /&gt;今度作る予定のWebアプリでは、勉強がてらセキュリティにこだわってみたいと思います。&lt;br /&gt;aSSLは絶対取り入れたいですね。&lt;br /&gt;&lt;br /&gt;関係ないけど、AES 128-bit には&lt;a href="http://laysakura.iobb.net/cheat_gmail/"&gt;インターンで作ったネタアプリ&lt;/a&gt;でお世話になりましたw&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-7967297549362377813?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/7967297549362377813/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/https-with-assl.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/7967297549362377813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/7967297549362377813'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/https-with-assl.html' title='httpsを使わずに暗号化通信 with aSSL'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-3657179212460447462</id><published>2010-09-14T20:40:00.000+09:00</published><updated>2010-09-14T20:40:49.438+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='セプキャン'/><category scheme='http://www.blogger.com/atom/ns#' term='セキュリティ'/><title type='text'>セキュリティ&amp;プログラミングキャンプ2010 Linux組の様子が記事になりました</title><content type='html'>そろそろうだるような暑さもおさまってきそうですね。&lt;br /&gt;&lt;br /&gt;そんな折り、猛暑真っ最中に開催された&lt;a href="http://www.atmarkit.co.jp/flinux/special/camp2010/01a.html"&gt;セキュリティ&amp;プログラミングキャンプ2010のLinux組の様子&lt;/a&gt;が@ITで記事になりました。&lt;br /&gt;&lt;br /&gt;Linux組に参加したのはもう1ヶ月前のことになりますが、未だに他の参加者の人達とも仲良くさせてもらってたりします。&lt;br /&gt;この間セキュリティ組の友人宅に軽い気持ちでお邪魔したら、インターネットの深遠な世界を知ることになりました。&lt;br /&gt;攻撃者目線で僕のサーバをチェックしてくれたりね。あくまで目線です。法的には全く問題ありません。&lt;br /&gt;&lt;br /&gt;でもおかげさまで、今まで興味のなかった(Webの)セキュリティにかなり興味が持てるようになりました。&lt;br /&gt;&lt;br /&gt;現在Webアプリをこっそり作ってたりするので、セキュリティもしっかり考慮してつくろうと思います。&lt;br /&gt;&lt;br /&gt;そんなときに役立つサイトを見つけました。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ipa.go.jp/security/awareness/vendor/programming/"&gt;IPA セキュア・プログラミング講座&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;さすがIPAと言いましょうか、眼から鱗です。&lt;br /&gt;&lt;br /&gt;考え得る攻撃の仕組み、それに対する対処法がしっかり載ってます。&lt;br /&gt;もちろん扱っている攻撃は有名なものが多いですが、ここまでしっかりまとめていてくれると初学者にとっては非常にありがたいです。&lt;br /&gt;&lt;br /&gt;また夏休みの楽しみが増えましたね。やっほー&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-3657179212460447462?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/3657179212460447462/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/linux.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/3657179212460447462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/3657179212460447462'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/linux.html' title='セキュリティ&amp;プログラミングキャンプ2010 Linux組の様子が記事になりました'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-383893735571473268</id><published>2010-09-12T18:26:00.000+09:00</published><updated>2010-09-12T18:26:08.857+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>prototype.js が全然読みやすくない件</title><content type='html'>ある程度Javascriptのお勉強も終わったところで、prototype.js のコードでも読んでみようかなと思ったんですよ。&lt;br /&gt;prototype.js のコードは読みやすいって『Head First JavaScript』か『JavaScript:The Good Parts』かに書いてあったし。&lt;br /&gt;&lt;br /&gt;めっちゃ読みづらくてワロタ&lt;br /&gt;&lt;br /&gt;&lt;a href="http://journal.mycom.co.jp/column/js/007/index.html"&gt;ここ&lt;/a&gt;とか見る限り、以前のバージョンのは読みやすかったみたいだけど、1.6.1では「洗練」されちゃったみたいです。&lt;br /&gt;&lt;br /&gt;古いの入手して読みます。&lt;br /&gt;&lt;br /&gt;Javascript 難しいお・・・&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-383893735571473268?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/383893735571473268/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/prototypejs.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/383893735571473268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/383893735571473268'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/prototypejs.html' title='prototype.js が全然読みやすくない件'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-7841855278126573518</id><published>2010-09-02T01:27:00.000+09:00</published><updated>2010-09-02T01:27:23.899+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='雑記'/><title type='text'>技術者として成長するには</title><content type='html'>9月に入って小中高生は学校が始まり、社会人の方は相変わらずお仕事に励まれていることと思います。&lt;br /&gt;そんな中、大学生は10月まで惚けていられる特権階級。&lt;br /&gt;&lt;br /&gt;とはいえ、本気で遊び呆けるほど遊びに飢えてもいないので、『&lt;a href="http://www.amazon.co.jp/JavaScript-3a-Parts-%E2%80%95%E3%80%8C%E8%89%AF%E3%81%84%E3%83%91%E3%83%BC%E3%83%84%E3%80%8D%E3%81%AB%E3%82%88%E3%82%8B%E3%83%99%E3%82%B9%E3%83%88%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B9-Douglas-Crockford/dp/4873113911"&gt;JavaScript: The Good Parts —「良いパーツ」によるベストプラクティス&lt;/a&gt;』を読んでJavascriptのお勉強を始めました。&lt;br /&gt;&lt;br /&gt;目的は2つあります。&lt;br /&gt;1つは、9月はチャットでも作ろうとしてるのでそれに使いたい。&lt;br /&gt;もう1つは、言語として自分の知らない概念を含んでいるから。&lt;br /&gt;&lt;br /&gt;1つ目は深める余地もありませんね。ちなみに、ただのチャットと見せかけで裏では凄いことやってる的なチャットにしたいですね。どう見てもオナ(ry&lt;br /&gt;&lt;br /&gt;2つ目が今回の記事のテーマです。&lt;br /&gt;僕はプログラムの世界にHSPから入り、ほとんどCと共に過ごし、C++のCにはない概念で感動し、それで言語の知識はほぼ停滞してます。&lt;br /&gt;一応色々な言語は触ってきたのですが、どの言語を使っても使える機能は自分の知っている概念を実装した部分のみ。&lt;br /&gt;だからリテラルだとか無名関数だとか、そういう全然僕自身が中身を把握していない概念を実装した言語をちゃんと学んで、知識を増やそうと考えているのです。&lt;br /&gt;&lt;br /&gt;「プログラマのくせに何が知識だ。いいからコード書けよ。」&lt;br /&gt;そう思っていた時期が僕にもありました。マジで。&lt;br /&gt;ですが、最近薄々感づいてきました。ちゃんと色んな概念を座学ベースで学んでいくと、自分の書けるコードの幅が広がる。&lt;br /&gt;&lt;br /&gt;例えば8月に参加したセキュリティ&amp;プログラミングキャンプではLinuxカーネルをいじったのですが、これができたのは事前課題でコンピュータアーキテクチャ(Linux固有の部分も含む)を学んだからです。これがなければ、いくらC言語には慣れっこだといえども、なぜカーネル空間でmalloc()を使わないのかとかで悩み、とても開発どころではなかったと思います。&lt;br /&gt;&lt;br /&gt;もうひとつ例を出すと、インターンでメール受送信関係のプログラムをいじっていたのですが、最初のうちはサンプルコードのどこをいじればいいのか中々分かりませんでした。ですが、IMAPやSMTPのプロトコル通信について調べて時間を費やした後は、すらすら変更箇所を見つけることができました。&lt;br /&gt;&lt;br /&gt;やはり知識の獲得は非常に重要だと思います。当然プログラミングに関しては、コードを書く作業も成長のために必須ですが、知識の獲得は同様かそれ以上に重視したいです。&lt;br /&gt;&lt;br /&gt;知識・概念を吸収すること、(今回は触れてませんが)コードを読むこと、コードを書くこと、この3つが一体となって初めて技術者としての成長につながるのだと考えてます。&lt;br /&gt;&lt;br /&gt;がんばろ。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-7841855278126573518?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/7841855278126573518/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/7841855278126573518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/7841855278126573518'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/blog-post.html' title='技術者として成長するには'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-8377889180254184841</id><published>2010-09-01T01:39:00.001+09:00</published><updated>2010-12-04T17:53:32.112+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='インターン'/><title type='text'>KLabインターンを終えて (感想編)</title><content type='html'>こんばんは。&lt;br /&gt;8/18 - 8/31 の2週間、&lt;a href="http://www.klab.jp/"&gt;KLab様&lt;/a&gt;にインターンでお邪魔しておりました。&lt;br /&gt;インターンを終えた感想なんかを今のうちに書いちゃいます。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;KLabに決めた理由&lt;/strong&gt;&lt;br /&gt;他にもインターン先の候補は自分の中でいくつかあって、実際に面接を受けたりもしてました。&lt;br /&gt;他の候補もプログラミング系で面白そうだったし、何より結構ゼニが入るところが多くて魅力的でした。&lt;br /&gt;&lt;br /&gt;でも、KLabさんに面接に伺ったとき、担当の方が物凄く熱くプログラミングについて語ってくれたんです。&lt;br /&gt;話自体にもすごく感動しましたし、何よりこんな方々がいらっしゃるところで自分も鍛えられたいと直感的に感じたので、二つ返事でやらせていただくことにしました。&lt;br /&gt;&lt;br /&gt;ぶっちゃけ当初は第1志望ではなかったのですが、面接で一気にひっくり返されちゃいました。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;何をしたか&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://laysakura.net/cheat_gmail/"&gt;cheat_gmail&lt;/a&gt;っていう&lt;strike&gt;ふざけてんのかって感じの&lt;/strike&gt;Webアプリを作ってました。&lt;br /&gt;確かに見た目とか機能とかはしょっぱいんですけど、結構技術的には面白いものを使ってると思いますよ。&lt;br /&gt;&lt;br /&gt;特に Gmail の OAuth+SMTP 認証を実装した部分は、ネットで探した限りはかなり先駆的だった気がします。(別に難しいわけじゃなくて、あまりやろうとした人がいなかっただけでしょうが)&lt;br /&gt;おかげさまで&lt;a href="http://lab.klab.org/young/2010/08/php-%E3%81%A7-gmail-%E3%81%AE-oauthsmtp-%E3%82%92%E4%BD%BF%E3%81%86/"&gt;KLabさんのブログにも記事を書かせていただくことができました&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;インターンの様子&lt;/strong&gt;&lt;br /&gt;インターン1人につきメンターの方が1人つき、何を作るかから全て自分たちで決めて進めていく形でした。&lt;br /&gt;はじめは「Androidで動くsshクライアントを作りたいです!」って言ったんですが、メンターの方に「もうあるでしょ。つまらない。却下。」とバッサリ。社会の恐ろしさを垣間見ました。&lt;br /&gt;&lt;br /&gt;で、色々相談した結果、&lt;a href="http://laysakura.net/cheat_gmail/"&gt;cheat_gmail&lt;/a&gt;を作ることに。今思うと、かなり血迷ってたと思います。&lt;br /&gt;&lt;br /&gt;そこで開発が始まったわけですが、普段一人でやる時と違って、それなりに設計・進行予定作成をしました。これが非常に後々の開発に生かされ、計画性をもって作業を進めることができました。勉強になります。&lt;br /&gt;&lt;br /&gt;それでも帰りの電車とか家で色々しているときに、「あ、あそこはこうしないとだめじゃん」とか「あれもっとこうすれば面白くなるな」とか、新しいアイディアが結構思い浮かんできました。インターンに熱中出来ていたのだと思います。&lt;br /&gt;&lt;br /&gt;全く興味のなかった形態素解析や暗号化、OAuthなんかもどんどん吸収して実装していきました。こんな短期間にコーディングできるレベルの知識が身についたのは初めてで、自分でも驚いています。&lt;br /&gt;&lt;br /&gt;あと、俺はネットワークめちゃ弱いんで、すぐに「〇〇さん、ネット繋がりません;;」って社員さんに泣きつくんですが、その社員さんがすぐに原因を特定して速攻つなげるようにしてくれるのを見て感動しました。負けてられないと、インターン期間中に&lt;a href="http://laysakura.net/"&gt;自分でサーバ&lt;/a&gt;も立てちゃったわけですね。&lt;br /&gt;&lt;br /&gt;開発以外でも、ランチミーティングが非常に楽しかったです。メンターの方や他の社員の方々、自分以外のインターン生でお昼を食べに行くんですが、時には技術の話、時には大学生でもしないぞってレベルの下らない話をして盛り上がりました。ぶっちゃけ技術の話はついていけない部分もあってチクショーって感じだったんですが、逆にこれから社員の方々に負けないくらい貪欲に知識を身につけようって気にさせられました。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;発表会&lt;/strong&gt;&lt;br /&gt;非常に楽しめました。元々プレゼンは好きな方だっていうのもありますが、社員の方々が対等な目線(思い上がりかもしれませんがw)で質問を投げかけてくださったのが嬉しかったです。&lt;br /&gt;&lt;br /&gt;それにちゃんとウケもとれました^^ 接待かもしれませんが^^&lt;br /&gt;&lt;br /&gt;&lt;a href="http://laysakura.net/cheat_gmail/cheat_gmail.odp"&gt;プレゼンで使った資料&lt;/a&gt;もついでにアップしておきますので、もしも暇で暇でしょうがない方がいらっしゃいましたらご覧ください。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;終わりに&lt;/strong&gt;&lt;br /&gt;技術的にも環境的にも、非常に充実感の味わえるインターンでした。&lt;br /&gt;やはり面接での俺の直感は当たっていたということでしょうか。でも金欠気味なのでお金入るのにすればよかったなんて思ってませんよ、絶対に。&lt;br /&gt;&lt;br /&gt;唯一の心残りは飲み会に参加する機会がなかったことです。でもKLabさんは外部を招いた勉強会を開催することもあるようなので、機会があったら参加して、ついでに懇親会にでも潜り込みたいと思います。あくまでついでです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-8377889180254184841?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/8377889180254184841/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/klab.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/8377889180254184841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/8377889180254184841'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/09/klab.html' title='KLabインターンを終えて (感想編)'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-1485051225076728462</id><published>2010-08-31T07:31:00.003+09:00</published><updated>2010-08-31T07:48:38.851+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='セプキャン'/><title type='text'>セキュリティ&amp;プログラミングキャンプ2010感想</title><content type='html'>おはようございます。&lt;br /&gt;&lt;br /&gt;以前参加したセキュリティ&amp;プログラミングキャンプ2010の感想をブログに書こう書こうと思っていたのですが、今日になってようやく書けました。&lt;br /&gt;&lt;br /&gt;他の場所でも使った文章で割と支離滅裂かもしれませんがお許しを。&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;参加前&gt;&lt;/b&gt;&lt;br /&gt;課題の難しさと分量に圧倒される。しかし、本当に参加したくて応募したものだし、なにより自分の力になるはずなので、力の限り取り組んだ。結果、講師にMLでダメ出しされた。ちくしょう。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;一日目&gt;&lt;/b&gt;&lt;br /&gt;「早めについてみんなと仲良くしとこう☆」とか考えていたが、まさかの強風電車遅延。みんな同じ電車だよなと思いつつも焦りは募る。到着してみればやはり遅刻者だらけで安心した。&lt;br /&gt;ランチミーティング、開会式と、中々自分も周りも緊張していて居心地が悪い。&lt;br /&gt;全体へ向けた講義やプレゼンはかるーいものが多い中、首藤さんのお話は非常に感動した。リスペクト。今度サインください! (もらった『BINARY HACKS』にサインしてあった。やっほー) 夕方のBoFは最高に面白かった。&lt;br /&gt;自慢の刈り上げヘアを馬鹿にされながらも、この辺りで多くの人と打ち解けられたと思う。夜は談話室でセキュリティ組のみんなと交流を深めた。すぐ横にビールの自販機があったのに誘惑に負けなかった俺らは偉すぎる。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;二日目&gt;&lt;/b&gt;&lt;br /&gt;本格的に組別講義開始。流石に内容のレベルが高い。でも色々プログラミングに役立つTipsは仕入れられたし、俺が分からないところは他の受講生もポカーン気味だったから安心。ザ・小市民。ただ、マシンの最初の設定(カーネルをブートするところ)で一人だけ詰まって冷や汗をかいた。三浦講師のマシンを変わりに使わせていただくことに。神。&lt;br /&gt;俺が詰まった原因は、4日目に矢倉くんと吉藤・亀澤両講師が発見してくれた。が、もちろん後の祭り。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;三日目&gt;&lt;/b&gt;&lt;br /&gt;組別の講義は演習中心。演習と言っても、ほとんどプロジェクタで写されているコードを入力していくだけだから楽なものだ。&lt;br /&gt;夜は交流企画第2弾。チューター陣のプレゼンは、意外すぎるぐらいに真面目にやってる人が多かった。しかし、ラストの2人、特に変態的にHaskellのナントカを何か実装していた人のは心の底から楽しめた。日本のITを支えていくのはああいう人なんだろう。胸が熱くなるな。&lt;br /&gt;その後の選択科目(?)は、知識のない参加者に話を振り過ぎたため、あまり議論が深まらなかったように思う。ああいうのは本とかネットじゃ仕入れられない話をその道の専門家が語るってのが一番面白いと思う。参加者に聞くとしても、もっと建設的な議論になるように綿密に誘導した上で聞くべきだったと思う。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;四日目&gt;&lt;/b&gt;&lt;br /&gt;ひたすらカーネル★ハッキング。俺はシュレッダー機能とか結構どうでもいいものを選んだ。しかし自分なりには訳があって、カーネルいじりのような今までやったことのない分野は、一番簡単なところから着実に覚えていくっていうのが自分のポリシーなのです。簡単なものを見栄え良くプレゼンするには、多少ウケを狙わないとねっていう綿密な算段があったわけです。まぁプレゼン滑ったけど。&lt;br /&gt;しかし、講師陣の助けもいただきつつ、何とか目標通りor以上のハックができた。&lt;br /&gt;でもプレゼンも含め終わった頃にはかなりな時間になっていた。いや、あくまで自主的な延長戦であってキャンプの制度が悪いわけではありませんよマジで。&lt;br /&gt;ここだけの話、各参加者のプレゼン練習中に参加者をフルボッコにする講師陣は本気で大人気ないと思った。でも愛のムチですよね多分。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;五日目&gt;&lt;/b&gt;&lt;br /&gt;おはようございます。目が開きません。眠いです。そんなふうに迎えた五日目。&lt;br /&gt;プログラミングコース内のプレゼンの前に、吉藤講師から合同成果発表会のプレゼンも任される。吉藤講師、痛恨の判断ミス。まぁ正直任されて嬉しかったが、他の参加者の方がプログラマとして良いものを作&lt;br /&gt;っていたのでちょっと複雑な心境。でも任されたからにはしっかりやろうと気合を入れなおした。&lt;br /&gt;プレゼンは元々得意だし好きなので、とっても楽しんでやらせてもらった。しかしウケなかった。猛省。&lt;br /&gt;プログラミングコースでは、言語組の発表の中にいくつか見た目に面白いものがあって楽しめた。合同成果発表会では、セキュリティコースのプレゼンをとっても楽しんで聞けた。全体的にセキュリティの方がリア充臭がする。あ、当然自分のプレゼンは滑りました。&lt;br /&gt;閉会式は無難に過ぎたが、最後の最後で本とかグッズとかもらえて大興奮。欲しかった本が2冊とも手に入ったし、一冊は首藤さんのサイン入り。家宝にします。&lt;br /&gt;そんなこんなで怒涛の五日間が過ぎ、新たな仲間と共に東京に帰りました。&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;参加後&gt;&lt;/b&gt;&lt;br /&gt;Twitterなどを通してめぼしい参加者のプロフィールを調べてみる。予想以上にすごい人達でびっくりした。と同時に、この22年間人様に自慢できるような成果を残せてこれなかった自分を恥じた。本当です。&lt;br /&gt;そこで、これから何ができるだろうと考えてみた。正直、Linuxのカーネル開発にはそこまで深く関わらないと思う。カーネル自体は大変学習の題材として興味深いが、自分の個性が活かせる場ではないように感じている。&lt;br /&gt;となると、首藤さんの言ってた「自分にしかできないこと」に挑戦したくなる。そのひとつの手段として、IPA未踏ユースへのチャレンジを考えてみたが、去年の採択者のやっていることを見る限り、少なくとも現状の自分には全く手が届かない。謙遜0%でそう思った。現状、本気でこれから何をしていけばいいのか迷っている。&lt;br /&gt;しかし、キャンプの2日後からプログラミング系のインターンが始まったので、今はとりあえずインターンに集中している。インターンでは順調に楽しい(けどそこまですごくはない)ものを作っております。&lt;br /&gt;インターンが終わってからはかなり暇ができるので、自分の進む道を改めて模索したい。多分、地道に応用の効く技術を学びつつ、何かを作っていくという方向になるとは思う。月並みですが。&lt;br /&gt;&lt;br /&gt;&lt;最後に&gt;&lt;br /&gt;参加者の目からしても、科学技術を愛する一日本国民としても、このキャンプは非常に意味のあるものだと感じております。この時勢では、中々簡単には開催のできないものであることも十分に理解しておりますが、来年以降も必ず継続していくべき事業であると確信しております。&lt;br /&gt;最後になりますが、キャンプの開催に尽力なさった関係者各位、及び講師陣にあらん限りの感謝の意を表明致します。ありがとうございました。&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;終わってから結構時間が経ちましたが、Twitterやmixiで参加者・講師の様子を伺って刺激を受けています。&lt;br /&gt;あと、リアルでお付き合いのある友人もできました。今度イケメンと飲みに行きます。&lt;br /&gt;&lt;br /&gt;来年も開催されたら自分の実力なんて気にせずに是非参加してみてください。&lt;br /&gt;ただし年齢制限は気にしてください。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-1485051225076728462?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/1485051225076728462/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/08/blog-post_31.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/1485051225076728462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/1485051225076728462'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/08/blog-post_31.html' title='セキュリティ&amp;プログラミングキャンプ2010感想'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3175700979970683526.post-8335331788716557206</id><published>2010-07-26T17:02:00.002+09:00</published><updated>2010-08-07T01:26:21.024+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='セプキャン'/><title type='text'>セキュリティ＆プログラミングキャンプ2010 参加!</title><content type='html'>お久しぶりです。&lt;br /&gt;&lt;br /&gt;遅ればせながら、セキュリティ＆プログラミングキャンプ2010 (&lt;a href="http://www.ipa.go.jp/jinzai/renkei/spcamp2010/index.html"&gt;http://www.ipa.go.jp/jinzai/renkei/spcamp2010/index.html&lt;/a&gt;) に参加することになりました。&lt;br /&gt;&lt;br /&gt;Linux組で参加するのですが、いまいち何やるか把握しきれていません笑&lt;br /&gt;まぁKernelのソース読んでいじったりするんでしょうかね。&lt;strike&gt;無理&lt;/strike&gt; ついていけるように頑張ります。&lt;br /&gt;&lt;br /&gt;余裕があったらキャンプの様子もこのブログに書きたいと思います。&lt;br /&gt;&lt;br /&gt;# 参加者には事前課題とかいうのがあるんですけど、これがまた重い。。&lt;br /&gt;# でも楽しいです!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3175700979970683526-8335331788716557206?l=lay-sakura.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lay-sakura.blogspot.com/feeds/8335331788716557206/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://lay-sakura.blogspot.com/2010/07/2010.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/8335331788716557206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3175700979970683526/posts/default/8335331788716557206'/><link rel='alternate' type='text/html' href='http://lay-sakura.blogspot.com/2010/07/2010.html' title='セキュリティ＆プログラミングキャンプ2010 参加!'/><author><name>lay.sakura</name><uri>http://www.blogger.com/profile/07460517897971888054</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
