2009-04-01から1ヶ月間の記事一覧
30分プログラム、その572。PythonでBASIC認証をやってみる。 PythonでBASIC認証をやる流れは、 パスワードをマネージャ(Mgr)に登録する マネージャからhandlerを作る handlerからopenerを作る(build_opener) openerをインストールする(install_opener) urlop…
30分プログラム、その571。特定のクラスタ向けふぁぼったー。 @banjunさんが、「ふぁぼったーみたいにTwitter全体での人気のある発言じゃなくて、もっと小さい集団での人気の発言が知りたい」と言っていたのでやってみた。とりあえず同じ研究室の人の間で計…
30分プログラム、その570。Erlangでpublic_timelineを取得してみる。 前にHTTPでGETとXML解析をやったので、それを組合せてTwitterのpublic_timelineを取得してみた。 あとはBASIC認証さえできれば、立派なTwitterライブラリになると思う。 使い方 % public_…
30分プログラム、その569。前回は二進数表記までしかやらなかったが、今回は素数を二進数表記するところまでやってみる。 素数を計算するのが面倒で二進数表記への変換だけでお茶を濁していたら、GaucheやらAwkで素数計算までやられてしまった。 このままだ…
30分プログラム、その568。整数を'+'と' 'の二進数表記に変換してみる。 素数の二進法表記 - 西尾泰和のはてなダイアリーに + + + + + + + +というよく分からない記号が書いてあった。 最初はさっぱり意味が分からなかったけど、よくよく考えていみると、立…
Workspace便利。とりあえずコードを試せる。Rubyでいうところのirbみたいな感じ class browserでライブラリのソースコードも簡単に覗けるのがいい 一定間隔で処理を実行する方法が分からなかった。結局、再描画処理(step)の中で、タイムライン取得をしてる …
先日、Linux > Mac > Windowsの中の人が「大学1年生にプログラミングを教えるんですよ、Squeakで。」というよく分からないことを言っていた。 それに影響を受けて、昔買った自由自在Squeakプログラミングをひっぱり出してきてTwitterクライアントを作ってみ…
30分プログラム、その567。いろんなアーカイブを展開できるコマンド。 ターミナルでアーカイブを展開するには、それぞれコマンドを変えないといけない。例えばば、hoge.tar.gzなら、"tar xvzf hoge.tar.gz"、hoge.zipなら"unzip hoge.zip"みたいな感じに。で…
omakeでLaTeXをコンパイルすると身長が伸びるらいいけど、PDFのサイズがletterになってしまう。 これを変えたい場合は、DVIPDFMFLAGSを変えてやればいい。 # A4で生成したい DVIPDFMFLAGS = -p a4 LaTeXDocument(document, document) .DEFAULT: document.pdf…
awk-users.jpのhi_saitoさんのポストでlesspipe.shなるものを知った。 これを使うと、lessでPDFとかを読めるらしい。全部確認したわけじゃないけど、以下のファイルをlessで読めるらしい。 PDF File - *.pdf Word Document- *.doc Image Files - *.gif, *.jp…
CPANで、ライブラリをインストールしようとすると、依存してるライブラリをインストールするかどうかを毎回訊いてくる。 ---- Unsatisfied dependencies detected during ---- ---- PMQS/IO-Compress-2.017.tar.gz ---- Compress::Raw::Bzip2 [requires] Sha…
30分プログラム、その566。世界時計 via エロと風俗情報満載 どう抜く?。 プログラムを実行した端末のロケールと、グリニッジ標準時と、ロサンゼルスの現在時刻をそれぞれ表示してください。時刻の表示はリアルタイムでなく、一回限りで構いません。時刻の…
http://d.hatena.ne.jp/Yuichirou/20090414#1239705258書かないといけない気がしたので。 class welcome name = object method get_name = name method say = Printf.printf "こんにちは、%s!\n" name end let welcome = new welcome "世界" in welcome#say
30分プログラム、その565。17歳とx日ジェネレータ via http://ja.doukaku.org/236/。 誕生日を入力すると、「17歳と何日か」、「17歳と何か月と何日か」を表示するプログラムを作ってください。 でも、何か月かを表示する部分は大変だったので、「17歳と何…
object HelloWorld { def main(args: Array[String]) { println("Hello Scala World!") } }
30分プログラム、その564。Scalaのシンタックスハイライトをやってみる。 Scalaっておもしろいですよね。でも、はてなだとシンタックスハイライトされなくてダサいですよね。というわけで、Scalaでもシンタックスハイライトされるようにしてみよう。はてなダ…
30分プログラム、その563。分散Grepっぽい何かを作ってみよう。 MapReduceといえばwcだけどgrepもおもしろいんじゃないかな、と思ったので作ってみた。 正直なところシングルCPUなボクのマシンでは、速くなっているのかどうかよく分からない。なんとなくIO処…
30分プログラム、その562。QuickCheckでリファクタリング。 ちょっと前に、Haskell使いのid:zyxwvが「QuickCheckはリファクタリングに使うといいと思うんだ。リファクタリング前と後の関数の挙動同じかチェックできるから」と言っていたことを唐突に思い出し…
Google App EngineでJavaがサポートされた。 で、これとThe website has movedを組合せたらGoogle App EngineでOCamlが使えるんじゃないだろうか、という妄想。
OCamlでは( ... )のかわりにbegin ... endが使える。 なので、これを使うと次のよように書ける。 let map x f = List.map f x let xs = map [1; 2; 3;] begin fun x -> x * x end おお、まるでRubyのようではないか。
30分プログラム、その561。MacBookのバッテリー残量表示をしてみる。 Linuxなら/proc/acpi/battery/BAT1にバッテリーの情報が書いてあるけど、Macの場合はsystem_profilerで取得できるらしい。-xmlをつければXMLで出力できるけど、驚くほど構造化されていな…
30分プログラム、その559。PythonでGrowlに通知を出してみる。 Growlに通知を出すにはどうするんだろう、と思って調べてみたけど、予想以上に簡単で驚いた。まあ、バインディングが用意されているのが多きいんだろうけど。 インストール Growl - Developer D…
30分プログラム、その560。Perlのourってなんだろう? 研究室配属でPerl Mongerと噂の人が入ってきたので、適当なPerlコードを書いてるとバカにされかねない! というわけで、ちょっとマジメにPerlを勉強しよう。まずは、ずっと疑問だったourについて調べてみ…
30分プログラム、その559。Grepっぽい何かを作ってみよう。 MapReduceといえばwcだけどgrepもおもしろいんじゃないかな、と思ったので、とりあえず直列なやつを作ってみた。 とりあえず正規表現の使い方が分っただけで満足です。 使い方 1> grep:start("Io",…
30分プログラム、その558。おかしなソート関数を実装してみよう。 訊くところによると、PHPの比較演算子は推移律が成り立ってないらしい。おそろしい話ですね。 これをあえて、Haskellでもやってみよう。きっと、Ordクラスを実装すればできるだろう。 使い方…