2010-08-17

第0回『ガロアの群論』読書会、第1-3章読書ノート公開

第0回『ガロアの群論(ブルーバックス)』読書会 まとめ - ツルマウソフト

第0回『ガロアの群論』読書会というのに参加しました。もうひと月前の事なんですが、読書ノートをちゃんとまとめて無かったので、ざっくりまとめたPDFを公開します。
たぶん『ガロアの群論』を読んでないと意味不明ですが、最後の「方程式の係数」「対称式」などの相関図は読んだあとに見直すと頭の中が整理できるかなーと思います。

ガロアの群論(1−3章)読書ノート(PDFリンク)


あ、『ガロアの群論』は講談社ブルーバックスの群論初心者向け解説書です。ふつうの数学書では省いてしまうような具体的計算を丁寧にしてくれて、私のような凡人には有難い本です。数学好きで「ガロアが五次方程式に解の公式が無いことを証明して、その過程で群論が発明されたってことは知ってるけど、いまいち詳細が分からなくてすっきりしない」って人にはおすすめです。

明日(18日)、第1回『ガロアの群論』読書会があるので、急いでまとめてみました。気分は8月31日の小学生。

【定期】明日18日、第1回『ガロアの群論(ブルーバックス)』読書会を開催します!場所は前回と同じエクセルシオールカフェ赤羽東口店にて、時間は13〜15時です。飛び入り参加も歓迎です。第0回のまとめ→ http://bit.ly/9GBaxu
Twitter
追記:PDF内の相関図だけキャプチャして載せときます。あくまでザックリ。
『ガロアの群論』1−3章 各概念の相関図



2010-08-12

「お前のブログをePubにしてやろうかぁ!」、feed2epub-clj作りました。

deltam's feed2epub-clj at master - GitHub

RSS2.0とAtomのURLを指定して、そのフィード内容をePubにするツールを作りました。
上リンクのダウンロードから、feed2epub-clj-0.0.2-alpha-standalone.jarを持ってくればJava実行環境だけでMac、Win関係なく動かせます。もろもろ至らない点はありますが、とりあえず使えるので公開してみました。

text2epub-cljと同じくシンプルなコマンドラインツール。

これで実際に配信されているブログ記事をePubにするのを説明します。
サンプルとしてコトリコさんのrss2をePubにしてみました。


$ java -jar feed2epub-clj-0.0.2-alpha-standalone.jar "http://d.hatena.ne.jp/kotorikotoriko/rss2"


これで”コトリコ.epub”が作られるので、iTunesにドラッグアンドドロップしてください。あとはiPhone/iPod touchで同期させて、iBooksで開けるか確認。
こんな感じで表示されます。





以下、このツールについて少し。

「これって単にiBooksがRSSリーダになっただけじゃないの?」っていうのはちょっと違います。目次の画像をよく見てもらうと分かりますが、RSSリーダみたいな新→旧ではなく旧→新に並んでます。
Blogってサイトの更新情報を配信することから始まりました。だから基本的に読み捨ての情報を書くためのメディアでした。しかしブログがこれだけ普及すると、繰り返しなんども読みたいような文章を書く人が出てきます。
具体的にはこのid:kasawoさんのブログ。

傘をひらいて、空を

これって過去ログ含めて全部読み直したいレベルの文章群です。
でもブラウザやRSSリーダの制約で過去記事が読みにくいのはムカつく。なにより勿体無い。
つーことでこのツール作りました。

あとAtomPubとかも調べているので最終的にブログ全記事をePubに出来るようにするする予定です。

はてなダイアリーAtomPubとは - はてなキーワード

2010-08-04

秀吉とMapReduce

高校のとき数学の先生がよく授業の合間に雑談をしてくれた。そのなかで聞いた豊臣秀吉の話しが面白かったのでいろいろ絡めて紹介。

あなたはいきなり鬱蒼とした森に連れてこられて、「あの山に生えている樹の本数を可能なかぎり正確に数えてこい」って命令されたらどうしますか? もちろん秀吉の話しなので部下はそれなりにたくさん居るとします。

山の表面積を計測して、ランダムに区画を選んでその中の樹を数えて、ひと山の概算をしますか?
それとも部下を何グループかに分けて麓から地道に樹の本数を数えながら登らせますか?
秀吉はどっちの方法もとらず、さらに精度が良い方法で樹の本数を部下たちに数えさせました。

それはこんな話し。

豊臣秀吉はあるとき、一つの山に何本の樹が生えているか調べるという任務を仰せつかった(理由は建築資材の見積もりだったかな?)。ひと山は広い。いちいち数えていたのでは何日経っても終わらないし、重複して数えるミスも出てくるだろう。

秀吉はどうしたか。

まずたくさんの紐を用意した。そしてその紐を部下たちに配りこう言った。
あの山にある樹に紐を縛り付けてこい、ただし一本の樹に紐は一本だけしか縛ってはいけない
たくさんの部下たちを動員してもう縛り付ける樹が見つからないほどその作業を続けた後、今度はこう言った。
樹に縛り付けた紐を解いて持ってきなさい
そして秀吉は集めた紐の数を数えてひと山の樹の本数を調べた。

これは数学における1対1対応の応用である。秀吉はとても数学的な思考力を持った武将であった」と数学の先生は最後に付け加えた。



これってMapReduceの考え方とも似てないだろうか?

MapReduceっていうのは、Googleが膨大なサーバ群で分散処理を実行するときに使われているプログラミングフレームワーク。

MapReduceでは処理するデータをKey-Valueの組みとして扱い、それをプログラマが書いたMap関数とReduce関数で処理していきます。
ラフに説明するとMap関数では「Keyの値ごとにValueをどう処理するか」を書いて、Reduce関数では「処理結果を各Keyに対してどのように集計するのか」書く感じ。


MapReduce論文(PDF)
のP.3, Figure 1の処理手順を書き出して、それに上記の秀吉の数え方を対応させてみよう。処理の詳細は同論文の”3.1 ExecutionOverview”から抜粋。
  • Input files
    • MapReduce(以下MP):処理するデータを一定サイズに切り分ける
    • 秀吉: 兵たちに紐を配る
  • Map phase
    • MR : 複数のWorkerがUser Programに従って切り分けたデータを処理する
    • 秀吉: 兵たちが山に登って木に紐を縛り付ける
  • Intermediate files
    • MR: Map phaseで処理した結果を保持する
    • 秀吉: 縛り付けられた紐(でいいのかな?)
  • Reduce phase
    • MR: Keyごとに保持された結果を集計する
    • 秀吉: 兵に命じて縛り付けた紐を回収すると同時に本数を集計。
  • Output files
    • MR: 集計結果
    • 秀吉: 紐の数すなわちひと山にある樹の本数

秀吉の方法が優れているのは動員する部下を増やせば増やすほど早く数えられるというところだろう。つまり作業の並列化によるスケールアウトができる。サーバを増やせば性能が比例して上がるWebのバックグラウンドシステムみたい。
1、2、3と数えて行く方法は並列化しづらいし、間違い防止やらで末端作業者の負担が大きい。
秀吉の方法では、末端の作業者には単純なルールを守らせるだけでミスを減らすことが出来る(一本の樹に一本の紐)。だから人員の調達も低コストで行える。
さすが後に天下を取る男、素晴らしく頭が切れて無駄がないですね。

ということで、
「豊臣秀吉は戦国時代からMapReduceを駆使する関数型武将だったんだよ!」「な、なんだってー!!」
というエントリでした。



・・・・・・正直言いまして、上記のリストがMapReduceの説明に本当に合っているのか自信がありません。あと秀吉の逸話もソースが不明です。そこらへん、コメントで教えてくれる方がいたら有難いです。m(__)m

2010-07-02

テキストファイルをePub化するツールをClojureで作りました。

追記(2010-08-10):現状、複数のファイルを束ねてファイ名を目次にしたepubを作るとこまで作成。こちらでそのことを紹介してくれてマジ感謝。
MOONGIFT » Blog Archive » テキストファイルをePub化「Text2ePub-clj」 オープンソース・ソフトウェア/フリーウェアを毎日紹介



deltam's text2epub-clj at master - GitHub


ePubというのはiPad、iPhone、iPodTouch(iOS4かつiBooks)などで読むことが出来る電子書籍のフォーマットです。
ePubを作るツールはいろいろあるんですが、単純にテキストファイルをePubにするツールが見当たらなかったので作ってみました(Clojureの練習も兼ねて)。
iBooksで読めるePubを作るところまで来たので、alpha版として紹介します。完成度:”とりあえず動く”、なので近日中にいろいろ書き換える予定。

以下、そのツールtext2epub-cljでテキストファイルからePubを作りiBooksで読むまでを説明します。


  • まずDownloadページに行ってtext2epub-clj-standalone-0.0.1-alpha.jarをダウンロードしてきてください。Javaの実行環境があればこのJarひとつで動きます。
  • ePub化したいテキストファイルを用意してください。これはUTF-8でエンコード必須です。
  • コマンドラインで以下のように打ってください。
    java -jar text2epub-clj-standalone-0.0.1-alpha.jar テキストファイル名 ePub名.epub ePubのタイトル
  • これでePub名.epubというファイルが出来るはずです。そのほかcontent.opfとかファイルが出来てると思いますが、それらは削除してOKです。
  • そのePubをiTunesにドラッグ&ドロップしてください。上手く行ってれば”ブック”の項目にコマンドラインで打ち込んだタイトルが表示されるはずです。
  • iPhone、iPodTouchを同期してePubを送ります。iBooksを開いてタイトルが表示されていればOK。それをタップしてちゃんと開ければ、あとは大丈夫。
  • 読書する。
iBooks画面はこんなふうになります(このときに書いたやつをサンプルに使用)。





現状では章ごとの目次とか表紙の画像は設定してません。著者欄もnobody。本当にシンプルな素のePubです。


今後のToDoとしてはRSS・AtomフィードからePubを作る、GAE/JでWebサービス化するとかを考えてます。


【参考リンク】
ssig33 - Tumblr 2 ePub の PodCast 機能を強化した
この人スゴイです。開発スピードが俺の10倍ぐらいある。ただ運用が大変みたいなので俺もYet Anotherなサイトを作って負荷分散に協力したい(来週中ぐらいにできたらいいな)。
あとドネーションも受け付けているみたいです(支援)。
ssig33 - Tumblr 2 ePub の Premium Service 作った、お金ください

2010-06-25

iOS4で肩コリが軽くなるかも

今年の4月ごろに買ったiPod touchをiOS4にアップデートしてみました。
それまでの3.1.3で結構サクサク動いていたので、アップデートには消極的だったんですが、TwitterのTLを見ても文句が少ない・Bluetoothキーボードが使えるらしいということでアップデートしちゃいました。
文句の中には「アップデートに時間がかかりすぎ」ってのがありましたけど、自分の場合は数分で終りました。

で、iOS4です。思ったよりもサクサクというかヌルヌル動きますね。画面遷移のアニメーションに細かい演出が追加されてて、ヌルヌルっていう動作感です(上手く言えない…)。
マルチタスク/アイコンのグループ化については色んなところで書かれているので省略。

問題はBluetoothキーボードです! EM・ONEを買った時にBluetoothキーボードとしてStowaway Universal Bluetooth Keyboardというのを買ってたので、それを使ってみました。



ペアリングはかなり簡単に終了、それ以降はキーボードの電源が入ると自動的にBluetoothを繋いでくれるみたいです。
Touchのソフトウェアキーボードは繋いでいる間は非表示になります。以下、入力中の画面キャプチャ。


変換候補は全画面で表示してくれて見やすい。


このキーボードの場合はCmd(Win)キー+スペースで入力切替ができました(一番下のはアラビア語です)。


ちょこっと使っただけですけど、文字入力に関してはかなり早くてストレスなく使えると思います。あとはこのキーボードの変則キー配列に慣れればOKですね。
このキーボード、薄いわりにキーの深さがそこそこあって良いんですが、真ん中から二つに折りたためるというギミックのため、キー配列が少々特殊です。

こんなふうに折りたたんで持ち運べば、文字入力マシンの最小構成になりますね。これでサボリ気味だったこのブログも更新出来るかな?




これで文章作成のためだけなら重たいMacBookを持ち歩かなくて良くなりました。最近、肩が重いのもこれで良くなったらいいんですけどねー。


【関連リンク】
サルノオボエガキ: EM・ONEと折りたたみキーボード
ThinkOutside Stowaway Universal Bluetooth Keyboard

2010-04-05

「根をはる安定」から「コマの安定」へ

「安定した生活」という言葉の意味が自分の中で変わりつつあるのを感じる。

以前の安定とは、ひとつところに樹のように根をはって定住するようなイメージだった。自分の場所があって、そこでいかに心地良く暮らすかが問題。

いまは回転するコマのような安定も良いんじゃないかと思うようになってきた。コマに動き続け、その回転力によって姿勢を安定させる。
決まった場所は持たないけど回転力を維持するためにやることはいろいろある。

まだ具体的なアクションにまで落とせないんだけど、こんなことを考えました。

あれこれジタバタしてみようかなーっと。


2010-02-28

Compojure - Clojure版Webアプリフレームワークをインストール

もっとClojureで遊びたいのでCompojureというフレームワークをインストールしてみました。Clojure用のWebアプリフレームワークです。まだMacPortsとかにも入ってないみたいなので、簡単にビルドと設定の方法を書いて記憶を整理しときます。とりあえずHello Worldを実行するまで。
以下、環境はMacBookでGitはインストール済(MacPortsにある)とします。


1) GitHubリポジトリから最新版を取ってくる。
git clone git://github.com/weavejester/compojure.git

適当な場所にcloneしときます。


2) 関連ライブラリを取得
cd compojure/
ant deps

必要なライブラリは上のコマンドで自動的に取得してくれます。実行するとcompojure/deps以下にJarファイルが用意されます。


3) ビルド
ant

これでcompojure.jarが作られます。


4) Jarファイルをまとめて配置
mkdir ~/.compojure
cp compojure.jar ~/.compojure
cp deps/*.jar ~/.compojure

私の場合はホームディレクトリに.compojureを作ってそこに配置することにしました。


5) 起動用シェルスクリプトを作る
cd ~/.compojure
vi compojure.sh

でファイルを作成して、以下のスクリプトを書く。
#!/bin/sh

for f in ~/.compojure/*; do
CLASSPATH=$CLASSPATH:$f
done

java -cp $CLASSPATH clojure.main $1

CLASSPATHに必要なJarファイルを追加してClojure起動という内容。
chmod +x compojure.sh
sudo ln -s ~/.compojure/compojure.sh /opt/local/bin/compojure

このスクリプトのシンボリックリンクをパスが通ったところに作ります。


6) Hello Worldスクリプトを作る。
CompojureのページにあるSample Codeをそのまま書きました。


7) テスト
compojure hello_compojure.clj

ブラウザでhttp://localhost:8080を見てちゃんと表示されればOK。




【参考リンク】
Compojure/Getting Started - Wikibooks, collection of open-content textbooks
起動スクリプトはココの情報を参考にしました。



プログラミングClojure

2010-02-15

手話を覚えたくなった

今日の仕事の帰り、コーヒーが飲みたくなってスタバに寄った。音楽を聞きながら本を読んでいると隣の席に男女のカップルが座った。横目にずいぶん身振りがオーバーアクションな人だなーと思っていたらそれは勘違いで、二人は手話で会話していたのだ。音楽で耳がふさがっていたのでしばらく気がつかなかった。

BGMが流れ、客の話し声で雑然としたなか、二人は静かに淀みない手の動きで饒舌に語り合っていた。なんというか、その滑らかな手の動きがきれいだと思ったし、それが言葉になっているということが美しく思えた。

そういや、今年の正月に「毎月ひとつ、何か新しいことを始める」って決めたんだった。今月はもう半分以上過ぎてしまっているけど、手話を覚えてみたい。まずは挨拶を覚えよう。それだけなら今週中に出来そうだ。



---
3DCGと手話は相性が良いのかもしれない。いつか音消しで見る!

2010-01-31

Clojureコードバトンを受け取った

manjilabさんよりTwitterでお誘いされたので光速で受けました。『プログラミングClojure』を読ん出る最中なのでちょうど良かったです。
自分が書いたのはGitHubのここのページに置いときました。

gist: 291106 - GitHub


さて「Clojureコードバトンっていったい何?」ってことなんですが、もともとはid:higeponさんがSchemeではじめたものらしいです。

Scheme コードバトンまとめページ - ひげぽん OSとか作っちゃうかMona-

コードバトンは、誰かが書いたコードをリレーして各人が好きに書き換えて面白いものに変えちゃおう!って感じの主旨のものみたいです。途中でathosさんがClojureで書き換えて、いろいろバトンが渡り現在に至ると。

噂の「英単語を覚えるスクリプト」をClojureで - athosの日記



今回のお題は「英単語を覚えるスクリプト」。前のmanjilabさんはMac OS Xで英単語をしゃべらせるというVery Coolな機能を書いてるわけで、あえて自分なりに一工夫加えるとなるとけっこう考えてしまう。と思いきや、すぐにアイデア浮かびました(やっぱり12時間睡眠すると頭がすっきりするなぁ)。

このスクリプトは英単語の辞書ファイルを読み込んで表示してくれるんですが、肝心の辞書ファイルを作るのが面倒くさい。じゃぁSmart.fmで学習中のアイテムを引っ張ってきて、このスクリプト用の辞書ファイルにする機能つければ便利じゃね?ということで作ってみました。

まず調査! Smart.fmのデベロッパ向けページを見てみると、ユーザ名を指定してその人の学習中アイテムを取得するAPIがありました。

items studied

いろんな形式でデータが取れるみたいですが、今回はXMLを選択。Clojureでは"Sequences"という概念でいろんなデータの連なりを統一して扱えます。XMLには"xml-seq"というやつが使えそう。いろいろ検索して使い方を調べてなんとかAPIのXMLを読み取れるようにしてみました。

自分が手を加えたのはコマンドラインで”−s”オプションと、smartfm-dictのところですね。一通り書いた後になんとかキレイにしようと思ったんですけど、どうかしら。

勢いで受け取っちゃったコードバトンですが、思いのほか面白かったです。だれか次に受け取ってくれる人は、この記事のコメントかTwitterのほうで話しかけてください! ちょっとでも興味があったら勢いでYou受け取っちゃいなYO!



---
(02/15追記)
私のバトンは@omasanoriさんが受け取ってくれました(感謝!)。さらにコメントを英訳するという試みもされてます(スゴイ。
さらにその先は@tnoborioさんに渡り、ついにSwingでGUI化されました(ぉぉ。今のところ受け取り先募集中みたいです。
tnoborio | Blogger Blog: Clojureコードバトン参加中



プログラミングClojure

2010-01-06

さくらインターネットにインストールしたMercurialをバージョンアップ

しばらくぶりにさくらインターネットにインストールしていたMercurialを使おうとしたら、hg stでエラーメッセージ。調べてみたらさくらインターネットではPythonを2.5.2から2.6.2にバージョンアップしたらしい(お知らせ記事)。

Mercurialもver0.9.5をインストールした時からアップしてなかったので、これを機に1.4に入れ替えることにした。
こちらの記事を参考にやったら結構簡単にできました。感謝。

さくらとPythonとMercurial。 - handlerの日記


これでOKだー、と0.9.5のときに作ったレポジトリのCGIにアクセスしてみたらInternal Server Error。どうやらMercurialのhgweb.cgiもバージョンアップされてたらしいので入れ替えることにする。

Mercurialに同梱されているhgweb.cgiというスクリプトをwww用ディレクトリにindex.cgiと改名してコピーする。実行権限を与えておくのを忘れずに。

cd mercurial-1.4
cp ./hgweb.cgi ~/www/hgtest/index.cgi
cd ~/www/hgtest/index.cgi
chmod +x index.cgi


index.cgiをレポジトリに合わせて書き換えていきます。まずPython pathの設定の行のコメントを外して環境に合わせてパスを設定する。

hgweb.cgi(6-7行)
import sys
sys.path.insert(0, "/home/ユーザ名/local/lib/python/site-packages/")


次にUTF-8の設定を有効にする。日本語を表示させたいならこれが必要。

hgweb.cgi(21-22行)
import os
os.environ["HGENCODING"] = "UTF-8"


最後にホームディレクトリに作ったMercurialレポジトリの位置を指定する。私は~/hgrepos以下にレポジトリをまとめているのでこんな感じになった。

hgweb.cgi(27行)
application = hgweb("/home/ユーザ名/hgrepos/レポジトリ名/", "レポジトリの説明")



蛇足。上記の設定をしたのに500 Internal Server Errorになっちゃう場合は以下のところのコメントを外すと詳細なエラーメッセージをブラウザに表示してくれる。私もちょっとハマりかけたのでこれが役に立った。

hgweb.cgi(13-14行)
import cgitb
cgitb.enable()



以上でバージョンアップは完了。hgweb.cgiも進化しているようでページデザインとかが小奇麗になっている気がする。

iPhone Note App File Sync: shortlog


【関連記事】
サルノオボエガキ: Mercurialをサーバにインストールした
2008年1月の記事。2年ぶりのバージョンアップでした。

2010-01-01

謹賀新年

あけましておめでとうございます。今年もこのブログをよろしくお願いします。

元日の今日を私はPHPを勉強しつつ過ごしてました。実験的にTwitterで記録しながらやってみました。まずは1日でPHPの基礎からTropyクローンを作ることまで目標に実施。結果はこれ。なんとか完成。

元旦からわりと疲れましたが、まぁ1年の滑り出しとしては良いかなーと思います。


ではみなさんが良い一年を過ごせますように!

2009-12-31

2009年最後のエントリ

『止まるな、踊れ!』をスローガンにして始まった私の2009年ですが、もう大晦日が来てしまいました。あっという間に1年が過ぎてしまった気がしますが、このスローガンに則った日々を過ごしてきたか、ちょっと振り返ってみようと思います。

スローガンを「止まるな、踊れ!」にした本意は「2009年で28歳になるが、これから先の人生の選択肢は狭まるばかり。だから今からでも出来るだけ色々なアクションを取って選択の幅を広げたい」という気持ちでした。なんというか、このまま29、30と日々を淡々と過ごしていくことも出来る、だけどこのままだと何か計ることの出来無いものが失われていって、挽回不可能なところまで過ぎてからそれに気づくんじゃないかと。
ちょっとブンガク的に表現しすぎましたね(汗 次、具体的にやったことをブログエントリで振り返ります。


    【1月】
    • アラビア語とヘブライ語のアルファベットを勉強した
    • ちょっとしたきっかけからアラビア語とヘブライ語を学び始めようと思ったのですが、ヘブライ語はギブアップ。アラビア語だけで四苦八苦しています。1年も経っているのですがアルファベットの基本形をようやく覚えたぐらいで、筆記体はまだまだ、日常会話とかはまだはるか先です。2010年もこれは継続!
      アラビア書道の筆を自作したので、2010年の書初めはアラビア語を書きたいですねー。
    【2月】
    • ライトノベル新人賞に応募することになりました
    • いろいろあって、小説を書くことにしたのでした。結局9月ごろまで掛かって書き上げました。書き上げた時点で「まだ応募するレベルに達していない」と判断したので応募はしませんでした。まず最初に確認したかったのは「自分は長編の小説を一作きちんと書き上げられる人間なのか?」ということ。そういう意味では目的達成です。具体的に足りない能力を見積もれたのでこれも2010年継続ですね。
    【3-4月】
      特に活動せず。ちょっとダレていました。
    【5-7月】
      ここから徐々にWindowsからMacにスイッチしていきます。そしてMacBook購入代の減価償却のため、iPhoneアプリの開発を学びAppStoreへリリースを目指していたのですが、結局まだ果たせずにいます。小物はちょこちょこ作っているので、来年はひとつの作品としてまとめたいですね。
    【8-10月】
      なぜか数学に目覚める。現在はトポロジーの入門書を学習中。これも継続。というか終りがなさげ。
    【11月】
      会社を辞めました。以上。
    【12月】
      フリーの開発者として仕事を探す。来年6月ぐらいまでのプロジェクトを教えてもらい、参加することに。



なんだかまとまりの無い活動をしてますね。3-4月を除けばとりあえず「止まらず踊れた」と言えるかな? アラビア語、小説書きなど今までの生活の延長線上にない活動を始められたのは良かったと思ってます。2010年もそれらを継続しつつ、新しい活動のタネを蒔いていきたいと思います。

さらっと書きましたが11月に新卒から5年半ほど勤めた会社を辞職しました。会社は中堅SIer、私はSEとして働いていました。最初はコーディングもやるゴリゴリの開発系SEで、最近は企画系の仕事をすることが多かったです。なぜ辞めたかについてはまた別にエントリで。


それでは皆さん、良いお年を!

2009-12-29

ラノベ小説(?)書きました

今年のネタは今年の内にパート2

サルノオボエガキ: ライトノベル新人賞に応募することになりました

上のエントリで書いた通り、ライトノベル新人賞に出すための小説を書きました。書き上げたのは9月頃なんですが、なんとなくこちらのブログで報告するのを忘れてました。それで結局新人賞へ投稿はしませんでした。あとで書きますが、一作書き上げたことで自分に足りないところがよく分かったからです。
ちなみに海燕さん主催のブログで報告した時の記事はこちら。コメ欄でアドバイスをいろいろもらって感謝。

冒頭さらし - ライトノベル新人賞に応募しよう!


これまで短編は幾つか書いたことがあるのですが、長編小説を書き上げたのはこれが初めてです。正真正銘長編処女作です。題名は『スウスウと砂漠の運び屋(仮)』。あらすじはこんな感じです。

砂漠を行き来して人々の荷物を受け渡す運び屋の主人公が、僻地の村で受け取った荷物は小さな女の子スウスウだった。人付き合いが苦手な主人公は活発で明るいスウスウに振り回され、オアシス街まで送る予定だったのに街のガイドまですることに。初めての街に浮かれるスウスウだったが、故郷の村ではスウスウの運命に関わる陰謀が進んでいた。

【書いた結果分かったこと】
  • 小説は書き始めたら何が何でも最後まで書いてしまうこと。そうしないと「物語りの終わらせ方」が練習できず、経験値が貯まらない。
  • 自分は小説とは「まずストーリーがあってそれに合わせてキャラクターを作るもの」と思い込んでいたがこれは違う。ストーリーとキャラクターは相互補完の関係にある。
  • ラノベの場合、まず魅力的なキャラクターを作る必要があるが、自分にはこの意識が足りなかった。
  • 結論:最低でも短編5本、長編2本を書いて経験値を貯めること。魅力的なキャラクター作りについてはトライ&エラーを繰り返すしか無い。

【ご提案】
で、ですね…。このエントリを読んでいる方で年末年始に何か暇つぶしのネタは無いかなーって思っている方がいらっしゃいましたら、これを読んでみるのもイイんじゃないかなと提案させて頂きたく存じておりありハベリの心なんですが…。素人なりに読みやすさに気を付けたり笑えるところとか入れて工夫はしてるんで、まるっきり時間の無駄にはならないんじゃないかーと思います。

Googleドキュメントに上げていますので、ディスプレイで長文を読むことに慣れている方はこちらでどうぞ。

スウスウと砂漠の運び屋(仮)

素のテキストファイルは以下に置いてあります。

http://deltam.sakura.ne.jp/txt/susu.txt/


iPhoneアプリでSkyBookAppStoreリンク)という素敵アプリがありまして、これを使うとテキストファイルが縦書きかつ美麗なフォントで読めます。
以下、SkyBookを使って上のテキストファイルを読む方法を説明しますね。

1.「本棚選択」で「FILES」を選ぶ。


2.右下の「作品追加」ボタンを押して次画面でテキストファイルのURLを入力する


3.本棚にテキストファイルが追加されるのでそれをクリック。


4.文章がこんな風に表示されます。



ということで、いかがでしょうか!? みなさん!!

2009-12-22

映画『火天の城』、信長のSEはやりたくない!

映画『火天の城』公式サイト

今年のネタは今年の内に。

ちょっと前になりますが、友人の誘いで『火天の城』という映画を見てきました。モノづくりをする人は胸にぐっと来るものがあるでしょう。熱い職人たちの話でした。


映画は安土城を築城する宮大工たちの物語です。戦国時代を舞台にしているのにほとんど武将が出てこないってのもちょっとレアな映画ですね。

宮大工の棟梁、岡部又右衛門(西田敏行)が主人公で織田信長から直々に命令を受けて設計図を書くことになります。しかしさすがの信長、普通のお城は作らせません。岡部にとんでもないムチャぶりをしてきます。それに対して岡部がどう対応したか、ここが前半の山場ですね。

ここらへんはわがままなユーザに振り回されるSEのようで自分の過去の経験と一緒になってちょっと泣けてきました(泣くの早! しかも相手はユーザっつーかお殿様ですからね、機嫌を損ねたら即首ちょんぱです。命がけのシステム提案ってやりたくねー!!!
SEをやってる方は、要求仕様をまとめようとユーザ先に行ったら織田信長がいて「出来るのか、出来るんだろうな」と刀に手を掛けながら迫ってくるような状況を想像してください。はい、ブラック企業どころではありません。首ちょんぱでBlood企業ですね。

それだけに岡部が指図争い(他社との提案書比較みたいなもの)でやったことはすごい。お客のためにモノづくりをするものとして見習いたい。どういう事になったのかは映画を見てのお楽しみということで。


他に見所といえば、リアルに再現された宮大工の作業風景でしょうか。槍鉋ってそういう風に使うのかとか、大きな板の切り出しってそういう風にやってたのねとか、自分としてはその場面を見れただけで結構満足感がありました。
大工さんの作業風景って好きなんですよね。子供のころにも近所で家を立ててると現場に行ってじーっと作業を見てました。大工さんと仲良くなって木っ端でおもちゃを作って貰ったり。何かが作り上げられていく現場っていうのはなにか不思議な魅力があります。


出演している俳優たちは安定感抜群。主役の西田敏行をはじめ、大竹しのぶ、寺島進、緒形直人、椎名桔平など素人アイドル俳優がひとりもいないという安心感。見ていてまったく危なげなく見ていられます。


後半は城の大黒柱にするための大木を探す主人公と、それに共感しつつも協力できない樵の棟梁など、なかなか熱い男のドラマがあります。あと何故か誰もが予想しなかったというか、別に無くてもいいんじゃね?というどんでん返しが!


映画を見終わったあとは心地よい満足感。まさに古き良き日本の職人の映画ですね。こういう映画こそ外国に配給する価値があるんじゃないかなーっと思ったらインドの映画祭に出品したそうな。好評なようで良かった。

『火天の城』公式サイト|制作日記 : ムンバイ映画祭レポート


職人たちが自らの意地と血と汗を流して作る安土城の築上物語、戦国時代のプロジェクトX、DVDは来年の2月21日発売らしいです。

2009-11-03

荒木飛呂彦と伊藤若冲を同じ日に見た

両方とも今日が展示最終日だったから同じ日に行かざる負えなかったんです! もう俺の感動メーターは振り切れて使いもんになりません。


ウルトラジャンプ創刊10周年記念イベント[ウルジャンまつり in アキバ2009]開催!(via @JOJO

 こちらはウルトラジャンプのイベントですが、荒木先生の特設原画コーナーがあってスティール・ボール・ランのカラー原画が見られました。あぁ、もうなんつー色使い! 荒木先生がこの原画を仕事机にのせてGペンを走らせてたのかーと思うと感動もひとしおです。
 ルーヴル美術館とのプロジェクトで進められているという岸部露伴を主人公にした短編も続報が載ってました(@JOJO記事)。展示ボードの説明書きによれば、123ページ(多い!)でまずフランスで出版されるとのこと。わぉ、荒木先生は軽々と海外進出されるなぁ。
 ウルトラジャンプに載せられたカラーの原画なので当然原稿サイズです。この色彩感覚の絵をもっと大きなサイズで見たいなーと思いました。機会があったら是非大きい絵を描いてください荒木先生!

 当然ですが、ウルトラジャンプの10周年イベントなので荒木先生以外のウルジャンにゆかりのある漫画家の方たちの原画やお祝いメッセージなどもありました。気になったのは諸星大二郎先生(応援メッセージで吹きそうになったw)、伊藤悠先生(カラー原画が綺麗だった、和紙に描いてたのかな?)、あとツナミノユウ先生の『シュメール星人』のカラー原画には不思議な存在感がありましたねぇ。



東京国立博物館 特別展 御即位20年記念 特別展「皇室の名宝−日本美の華」

 秋葉原の次は今度は上野です。なぜ俺は祝日なのにこんなにせかせかしてるんだとか疑問はわきに置いといて、兎にも角にも「動植綵絵」です。以前に三の丸尚蔵館で全30幅を5回に分けて展示されたときに見に行ったのですが、今度は全30幅を同時に見せてくれるというので行くしかあるめぇのこころです。もしかしたらこんな機会は生きてるうちに無いかもしれないし。
 最終日ということもあって入場20分待ちの大入りで、人が多くて見にくかったんですが、動植綵絵30幅の異空間は体感できました。以前、じっくり一つずつ見たときに思いましたが、とにかく若冲はねっとりと細部まで細かく描く人ですね。もうひとつひとつがキャラ立ちしすぎですごい。
 この展示会はこちらのブログ(「皇室の名宝展」の『動植綵絵』 | 弐代目・青い日記帳 )で知りました。展示作品や会場の様子など細かくレポートされてます。



ということで今日は荒木先生のカラー原画と伊藤若冲の動植綵絵をじっくり堪能したのでヘトヘトです。願わくば荒木先生の作品も100年後に若冲のように鑑賞されるようになってればいいなーと思ったのでした。


<関連記事>
サルノオボエガキ: 伊藤若冲『動植綵絵』を見に行った。
サルノオボエガキ: 伊藤若冲『動植綵絵』第2期を見てきた。

2009-11-01

Twitterはじめました

deltam (deltam) on Twitter

なんとなく避けていたTwitterですが、ついに始めてしまいました。(フォロー大歓迎です)

Twitterに慣れるとブログの書き方を忘れそうで怖いです。このブログも放置しないでなんか書きたいなーと思うのですが、思いついたネタをついついTwitterのほうに書き込んでしまうから良くない。

Twitterとブログの使い分けってどうしたら良いのかなー? と最近考えてます

2009-08-29

『サマーウォーズ』観てきた

映画「サマーウォーズ」公式サイト



とっても夏らしくって良かったです。十分楽しめました!
他サイトにも感想がいっぱい上がってるみたいだから、こちらでは箇条書きで簡潔に書いちゃいます。ネタバレ注意。

  • 冒頭のOZのグラフィック
    •  「そうかBDとかの規格は観る人間のためでなく、こういう映像を作れる人のために作られたのか」と思った。CGでどこまでも作り込めるってすごいけど、もうちょっとで人間の認知限界超えちゃうんではないかと心配になった。
  • 主人公
    •  「もう少しで数学オリンピックの日本代表になれた」。はいはい、数学オリンピック予選敗退の俺が通りますよ! 「もう少しで」ということはたぶん本選まで行けてそこで落ちたのか、本選は通ったけど成績不足でメンバに選ばれなかったのか。ヒロインに「何か出来ないの?」と言われて即座にカレンダー計算をしてみせるのはレベル高いぜ。合コンでもバッチリだ。
       ちょっと、というかかなりへたれな主人公がヒロインの涙で世界を救う決意をするっていうのはベタだけど良いなぁ。夏にエンターテイメントで観る映画ってのはこういうのでちょうど良いんですよ。
  • 大家族
    •  祖父が健在だったときは盆と正月はちょうどあんな感じだったなぁ。というか母が七人姉妹なのであれ以上。正月はお年玉が次から次へとやってきて笑いが止まらんかったわ(結局、母親銀行に強制預金されるのだが)。
       侘助さんみたいな嫌われっ子も居たりするのがリアル。家族は良いもんだけど、いろいろ気を遣うのでメンテナンスコストが高いのも確か。
  • おばあちゃん
    •  ヒロインの彼氏に「旧家出身、東大、海外留学経験あり」って条件を付けたのと、その後のスカッとした働きっぷりに違和感があったんだけど、「ハードルを上げておいて最低限ダメ男とは付き合わせないようにしたい」という老婆心だったんだろうかと思った。
       おばあちゃんが死んでしまうっていうのは個人的トラウマを刺激されまくりで涙腺決壊。おばあちゃんネタと犬ネタには勝てないよ!
  • 侘助さん
    •  あんた何でラブマシーンなんて名前付けてしもうたんや・・・。普通だったらヒロイン引いてるところだろ。
  • ヒロインのアバター
    •  和装だけど何となく巫女をイメージしているのかなと思った。クライマックスで世界の危機を背負って人知の及ばない脅威(AIラブマシーン)に立ち向かうというシチュエーションが、日照り続きの村で神に向かって雨乞いの儀式をする巫女さんという状況にダブって見えた。
       自分のアバターをヒロインに差し出すのは日本人的メンタリティ? 世界的な危機なら「ヘイガール、ミーが格好良くポーカーでラブマシーンをデストロイするからユーは下がっちゃいなよ!」という空気の読めないアメリカ人が4,50人は出てきそうなんだけどなぁ。
  • ラスト
    •  探査機が落ちた場所から温泉が湧いたのは噴いた。おそらくまたこの家族が集まるたびに伝説として語り継がれるんだろうなぁ。勝つんだったらこれぐらい大勝ちしてくれたほうが気持ちがよい。何となく日本昔話的オチ。
  • 物理部の彼は・・・
    •  主人公=世界の危機を救う+彼女ゲット、物理部の眼鏡の彼=部室に缶詰+サポートするも日は当たらず。どう見ても負け組です。ジャンケンに負けただけで酷い差です。何とか報われろ!

まとまらないので終了するけど、面白かったよ!!!


サマーウォーズ [Blu-ray]


サマーウォーズ [DVD]

2009-08-07

初チェックメイト!


iPod touchで負け続けていたiChess(Free版)でようやくチェックメイトを決めることが出来ました(私は白のほう)! 私は短気なせいか、こういうチェスとか将棋なんかのボードゲームは苦手なんですが、チェスのルールを覚えてから苦節三ヶ月、一番低い難易度だけどようやく勝つことができました。うれしー!

ちなみにこれを打ったのは徹夜明けで頭がろくに働かないときでした。眠気覚ましにやってたんですが、普段と違って余計な思考がセーブされてたのが良かったのか、いつのまにやら勝っていました。

さぁ、2勝目をあげられるのはいつになるのかな!?


チェス - Wikipedia



【最近読んだチェス関連記事】
公園のチェス王
 ハチワンダイバーの二こ神さんみたいなホームレスチェスプレイヤー。
ミモファント ("Bobby Fischer goes t...
 伝説的チェスプレイヤー、ボビー・フィッシャー氏の小伝。
The Return of Dr. Hara
 以上2記事を訳された方のブログ(『マルチンゲールによる確率論』の訳者の一人でもあるそうでびっくりしました)

2009-08-05

『モンティ・ホール問題』を図で解説してみる

最近、数学付いているので調子に乗って、以下で出題されていたモンティ・ホール問題という確率の問題を考えてみました(問1のノーマルなやつだけですが)。

はてな民に確率の問題を出してみよう - Pashango’s Blog
【回答編】はてな民に確率の問題を出してみよう - Pashango’s Blog


一応、問題文をWikipediaより転載。
プレイヤーは、3つのドアを見せられる。ドアの1つの後ろにはプレイヤーが獲得できる景品があり、一方、他の2つのドアにはヤギ(景品がなく、ハズレであることを意味している)が入っている。ショーのホストは、それぞれのドアの後ろに何があるか知っているのに対し、プレイヤーはドアの後ろの様子はもちろん知らない。

プレイヤーが第1の選択をした後、ホストのモンティは他の2つのドアのうち1つを開け、ヤギを見せる。そしてホストはプレイヤーに、初めの選択のままでよいか、もう1つの閉じているドアに変更するか、どちらかの選択権を提供する。プレイヤーは、選択を変更すべきだろうか


もうすでに回答が出てるんですけど、自分自身の理解を深めるために図に描いてそれぞれ計算してみました。自分も含めて数学が苦手な人って、言葉で説明されると納得いかないけど、図で説明されるとなぜかあっさり理解できてしまうことが多いような気がします(右脳左脳タイプ?)。

(Powered by ZeptoPad)

上の図では、問題のなかのクイズ回答者が取り得るすべての場合分けを樹形図で描いています。矢印の上の数字は、その先の選択をする確率を表しています。左側から、回答者が最初のドアを選んだときの場合分け(自動車、ヤギ、ヤギがそれぞれ1/3)、次に司会者が開けるドアの場合分け(最初のドアが自動車の場合は1/2になるが、ヤギだった場合は選択の余地なくヤギのドアが開けられる)、最後に選択したドアを変更するか否かの場合分け(それぞれ1/2で結果はその横に)。

図をざっと見てみてどうでしょう? 何か納得がいかないところがあるでしょうか(絵が下手というのはおいといてw)? それぞれの矢印上の確率は独立なので問題ないと思います。最初にヤギを選んだ場合、司会者が開けるドアは必ずもう一つのヤギのドアだからそれは確率1になりますね。思うにこれがモンティホール問題のミソなんじゃないですかねー。


じゃぁ、気合いを入れて計算します。
まずは右端の結果について、それぞれが起こる確率を全部計算しちゃいましょうか。左端の支点から結果に続くルート上の確率を単純に乗算すれば良いはずです(それぞれ独立な事象が同時に起こる確率だから)。

(選択したドア,開けられたドア、結果)=確率とすると、
  1. (自動車,ヤギ、変更=ヤギ)=(1/3) * (1/2) * (1/2) = 1/12
  2. (自動車,ヤギ、不変=自動車)=(1/3) * (1/2) * (1/2) = 1/12
  3. (自動車,ヤギ、変更=ヤギ)=(1/3) * (1/2) * (1/2) = 1/12
  4. (自動車,ヤギ、不変=自動車)=(1/3) * (1/2) * (1/2) = 1/12
  5. (ヤギ、ヤギ、変更=自動車)=(1/3) * 1 * (1/2) = 1/6
  6. (ヤギ、ヤギ、不変=ヤギ)=(1/3) * 1 * (1/2) = 1/6
  7. (ヤギ、ヤギ、変更=自動車)=(1/3) * 1 * (1/2) = 1/6
  8. (ヤギ、ヤギ、不変=ヤギ)=(1/3) * 1 * (1/2) = 1/6
ふー、メンドクセ。


えぇと、話しを元に戻すと、分かりたいことは「自動車を当てるためには司会者がドアを開けたときに選択を変更すべきなのか」ということ。だから計算しなきゃいけないのは「図の結果で”変更”したときに自動車が当たる確率」です。そのためには「変更=自動車の確率/(変更=自動車の確率+変更=ヤギの確率)」を計算する必要があります。

(1/6+1/6) / (1/6+1/6 + 1/12+1/12) = (1/3) / (1/2) = 2/3

ようやく答えが出ましたね。2/3です。変更した方が確率が上がるみたいですね。「変更しなかったときに自動車が当たる確率」はこれの逆(余事象)なので1-2/3=1/3で出るんですが、折角全パターンを計算したので、これも泥臭く計算してみましょう。

(1/12 + 1/12) / (1/12+1/12 + 1/6+1/6) = (1/6)/(1/2) = 1/3

出ました。やっぱり変更しないと1/3のまんまです。

結論:モンティ・ホール問題では司会者がドアを開けたあとにクイズ回答者はドアの選択を変更すべきである。


間違えないようにかなり丁寧に計算したので、自分としては納得できました。ちなみに最初のこの問題を出題されている記事の問2の場合は、場合分けの樹形図が「選択したドア=ヤギ」→「開けられたドア=ヤギ」のルートが二股に分かれちゃって、それぞれ1/2になってしまうので、最終的にドアの選択を変更しようがしまいが関係なくなっちゃうみたいですね。


こういう場合分けの樹形図は、以下の統計学の教科書でベイズの定理の条件付き確率を説明するときに出されていました。このエントリの説明はその教科書に習ったかたちになります。大学で使ってたけど、この教科書は分かりやすかったな~。

統計学の基礎
統計学の基礎
posted with amazlet at 09.08.05
J.C. ミラー
培風館
売り上げランキング: 329889



確率論はバクチの裏技から始まって、近代になってからきちんと数学的な理論付けがされて、今では金融取引からGoogleページランクまでいろいろ使われてますが、確率論が現実生活においてどのように対応しているのかということは、未だ解決されていない哲学的問題だそうです。このあいだ読んだ『統計学を拓いた異才たち』という本に書いてありました。何だかここらへんにはカイブツが潜んでそうな気配がするな-。

統計学を拓いた異才たち―経験則から科学へ進展した一世紀
デイヴィッド サルツブルグ
日本経済新聞社
売り上げランキング: 80676
おすすめ度の平均: 4.0
3 どっちつかずで煮えきらず
4 未来を予測する科学の成り立ち
3 最初と最後が面白かった
5 人間味溢れる研究者たちの横顔
4 おもしろくない統計学がおもしろく



出題されていたブログでは次にベイズの定理について解説するらしいので、楽しみに待ってます。ベイズの定理には大学の研究でだいぶお世話になったのでw

2009-08-03

Mathematical Monday

なんだか数学付いた一日でした。


最近なぜか自分の中で数学熱が再燃してます。いろいろ図書館で本を借りてきてうんうん唸りながら読んでます。今日、読み終えたのは『ファインマンさん、力学を語る』という本。




物理の本なんですが、惑星軌道のケプラーの法則を幾何学的に証明する、というファインマンさんが実際に行った講義を収録した本です。よく知らないけれど、普通は大学でこれを教えるときは微積分を使って証明するらしいんです。しかしファインマンさんはニュートンの『プリンキピア』に習って幾何学的に証明することにチャレンジしたそうです。さて微積分と幾何学とどっちが分かりやすいか? それはこの本の一節が物語っています。
「簡単なことには簡単な証明がある」と、ファインマンはその講義ノートに書きました。それから彼は、二番目の「簡単」を消して、それを「初等的」と書き直しました。
証明の筋を追うのが正直大変でした。幾何学の証明を文章で説明されると軽く混乱します。でも最後まで読んで、最初の方を読み直すとすごく分かりやすい。それに図形による説明が、なんだか奇跡のようにぴったり符合する様子が美しいと思いました。

本当をいうと、この本を読むのはこれが5,6回目で、今までは途中で挫折していました。でも今日改めて読んでみたらようやく分かった(ような気がする)。
なんだか27歳になっても分からなかったことが分かるようになるという成長の証を感じ取れると嬉しいですね。
でももう一回ぐらい読み直して見ようかな。




あともう一つ。「4で割って1あまる素数は2つの平方数の和で表される」という定理があります。たとえば、13=4*3+1=2^2+3^2、17=4*4+1=1^2+4^2、29=4*7+1=2^2+5^2などなど。
これにはDon Zagierさんのワンセンテンス証明(one-sentence proof)があります。私はこれを数学セミナーの2000年9月号の記事で初めて知ったんですが、あまりに簡潔すぎてびびりました。実際の証明はWikipediaのこの記事(一文証明の項)を参照。

実際の証明はWikipediaやこちらのテキストで確認できたんですが、なぜそうなるのかちゃんと理解できてませんでした。それで今日はガシガシ計算してようやく全部納得できました(最初記号を写し間違えて計算が合わなくて困ったのは内緒だ!)。

結果だけいうと、最初の変換の不動点はx=yですね。あと変換の場合分けを(1)、(2)、(3)と順番に名付けると、(2)→(2)または(2)→(1)→(3)→(1)→(3)→・・・という変換の順序になります。不等式を計算してみれば分かりますよ-。

いやー、計算しててちょうど上手くいくのが奇跡的に思えましたね~。それにしても謎なのはZagierさんがどうやってこれを思いついたか。世の中には恐ろしく天才な人がいるもんですねー。
ちなみにZagierさんのご尊顔はWikipedia記事で見られます。髭がプリチー。




そんなこんなで数学に頭を使った一日でした。脳が疲れたので今日はよく眠れそうですw