PFIにインターンに行ってきました。

……もう1月以上前のできことなんですがね。


夏休みのGoogleインターンに続き(?)、春休みはPreferred Infrastructure(PFI)さんにお邪魔してきました。
誘ってくれた@suma90h君と、お世話になったPFIの皆様に感謝です!
期間は3月いっぱい、3/1 - 3/31の一ヶ月。
M1の3月と言えば就活開始時期ですが、なんのそので行ってきました。


で、何やってきたかと併せてなんか技術的なあれこれもまとめてエントリにしようかな、とか思ったのだけれど、そんなことしてるといつまでたっても書き終わらないので、技術的なことはともかくPFIインターンで何やってきたかなぞをだらだらと。

続きを読む

MySL改

インターンのエントリを書こうとしたら何故かMySLのエントリになりました(注:インターンでmyslを作ったわけではないです)。
※以下、予定を変更してお送りします。


ほぼ一年ぶりのエントリがmyslとか……。


myslについては
http://d.hatena.ne.jp/m-bird/20080623/1214231431

http://d.hatena.ne.jp/goth_wrist_cut/20080624/1214325754
を見て頂くとして、ちょいと改良(?)してみました。

続きを読む

コマンドラインで録音する Macで。

Macに乗り換えてはや一年。
だいぶMac流の流儀(LaunchCtrlとか)にも慣れ始めた今日この頃。
とはいえまだまだわからんことも。

Macってコマンドラインから録音できないんですか?
というか /dev/dsp ないんすか?
呟いてもにっちもさっちもだったので自分で作ってみた。

portaudioを使って。

続きを読む

ルーレットで確実にもうける方法。とその応用

かつて「宝くじを当てる3つの方法」たるエントリを書いたのだが、結局はラプラスの魔を使うなどとふざけた結論に至ってしまった。
それゆえこのようなタイトルのエントリを書くと「またか」と思われそうだが、今回は完璧だ。
理論上実行可能であると思われるし、現実的に考えてもおそらくは実行可能だろうと思われる。
まぁ、それゆえに、別の場所ですでに書かれているやもしれない、ということと、めんどくさいので調べていない、ということだけは先に述べておく。
ついでにいえばルーレットのルールですらまじめに調べていない、ということも加えて述べておこう。


ちなみに、Google Analyticsによればこのblogの訪問キーワードは上位から

  • 「宝くじを当てる方法」 123件
  • 「宝くじ 当てる方法」 52件
  • bash sed」 31件
  • 「宝くじを当てるには」 20件

となっている。
重ね重ね各方面の方々に謝りたい。




夢を壊してすまん、と(違

続きを読む

VimでiCalendarっぽいものをxmlっぽいものにする。

なんか曖昧なタイトルですいません。
仕様調べてないので(お
もしかしたらvCardとかいうのが正しい名前なのかも。


真夜中にふとicsをいじろうと思って、でもネットワークが無くて、わざわざPHSで繋ぐ程でもないなぁ...
と、いうことでvimでなぜかics to xml変換方法を探ってた。


とりあえず必要そうなのは

  • エスケープ。何をエスケープすればいいかは不明。"<",">","&"ぐらい?
  • 改行を繋ぐ。どうやら72文字あたりで改行しないと行けないらしい。次の行の先頭がスペースなら連結。
  • ヘッダの挿入
  • BEGIN:hogeに。END:hogeに。
  • hoge:fugaをfugaに。
  • hoge;name=value:fugaをfugaに。

ぐらいなのかな?


これくらいならvimでできるべー。ということで、こんなファイルを用意。

:%s#&#&amp;#g
:%s#<#&lt;#g
:%s#>#&gt;#g
:%s#$\n ##
ggO<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>^[:set ft=xml
:%s#^BEGIN:\(.*\)$#<\1>#
:%s#^END:\(.*\)$#</\1>#
:%s#^\([^;:]*\)\(;\([^:=]*\)=\([^:]*\)\)\?:\(.*\)$#<\1 \3="\4">\5</\1>#
:%s# ="">#>#
gg=G:w! %<.xml
:q!

途中にある^[は"Ctrl-v Esc"でエスケープ文字を入力ですじゃ。
このファイルを"ics2xml.vim"の様な名前で保存して、

$ vim -s ics2xml.vim cal.ics

するとcal.icsがxmlに変換されてcal.xmlが発生すると。


まぁ、つなり何が言いたいかというと、vim -s hogehogeを標準入力とみなして(?)vimにマクロ的というかバッチ的な処理ができるよーぐいらいの話。
とことでiCalendarの;name=valueの部分って複数現れないのかな?現れるとアウトなんだよな...これ。
というかそもそも仕様を読まずになるなという話か...。


icsのC/C++向けパーサライブラリってころがってねぇのかなぁ。
むぅ。

HaskellでProjectEulerを。11〜

そろそろ続きを書こう、と思っていたら下書き書いてそのままだったProjectEulerの11問目から。
下書きのタイムスタンプを見ると2009-09-08 02:34。
どうやら深夜に書き始めて、途中で気力が無くなったようだ。
さすがに今から加筆修正するのもアレだし、下書きママ貼り付けるのもありかな、とか思ったので、そのまま張ります。
文中に4ヶ月前、と書いてありますが、9月8日での、と適当に補完して下さい。
書きかけすいませぬ。
14問目のコラッツ数列まで。


↓ここから9月8日 現在↓

続きを読む

直前のコマンドの終了ステータスでプロンプトを変更する。

またもbashのPS1ネタです。
前に.bashrcの設定でPS1に終了ステータスを使ってたけど使えなくなった!などと書いたのですが、原因がわかりました。
そんなわけで、(個人的には)なかなか便利な(と思う)PS1の設定。
具体的には直前のコマンドの終了ステータスが非0の時は、プロンプト末尾の"$"を赤くします。

続きを読む