2009-04-01から1ヶ月間の記事一覧

PythonでBASIC認証

30分プログラム、その572。PythonでBASIC認証をやってみる。 PythonでBASIC認証をやる流れは、 パスワードをマネージャ(Mgr)に登録する マネージャからhandlerを作る handlerからopenerを作る(build_opener) openerをインストールする(install_opener) urlop…

ミニふぁぼったー(みたいなもの)

30分プログラム、その571。特定のクラスタ向けふぁぼったー。 @banjunさんが、「ふぁぼったーみたいにTwitter全体での人気のある発言じゃなくて、もっと小さい集団での人気の発言が知りたい」と言っていたのでやってみた。とりあえず同じ研究室の人の間で計…

Erlangでpublic_timelineを取得

30分プログラム、その570。Erlangでpublic_timelineを取得してみる。 前にHTTPでGETとXML解析をやったので、それを組合せてTwitterのpublic_timelineを取得してみた。 あとはBASIC認証さえできれば、立派なTwitterライブラリになると思う。 使い方 % public_…

素数の二進数表記

30分プログラム、その569。前回は二進数表記までしかやらなかったが、今回は素数を二進数表記するところまでやってみる。 素数を計算するのが面倒で二進数表記への変換だけでお茶を濁していたら、GaucheやらAwkで素数計算までやられてしまった。 このままだ…

二進数表記に変換してみる

30分プログラム、その568。整数を'+'と' 'の二進数表記に変換してみる。 素数の二進法表記 - 西尾泰和のはてなダイアリーに + + + + + + + +というよく分からない記号が書いてあった。 最初はさっぱり意味が分からなかったけど、よくよく考えていみると、立…

Squeakを使ってみた感想

Workspace便利。とりあえずコードを試せる。Rubyでいうところのirbみたいな感じ class browserでライブラリのソースコードも簡単に覗けるのがいい 一定間隔で処理を実行する方法が分からなかった。結局、再描画処理(step)の中で、タイムライン取得をしてる …

SqueakでTwitterクライアントを作ってみた

先日、Linux > Mac > Windowsの中の人が「大学1年生にプログラミングを教えるんですよ、Squeakで。」というよく分からないことを言っていた。 それに影響を受けて、昔買った自由自在Squeakプログラミングをひっぱり出してきてTwitterクライアントを作ってみ…

いろんなアーカイブを展開できるコマンド

30分プログラム、その567。いろんなアーカイブを展開できるコマンド。 ターミナルでアーカイブを展開するには、それぞれコマンドを変えないといけない。例えばば、hoge.tar.gzなら、"tar xvzf hoge.tar.gz"、hoge.zipなら"unzip hoge.zip"みたいな感じに。で…

omakeでletterサイズじゃないPDFを生成する

omakeでLaTeXをコンパイルすると身長が伸びるらいいけど、PDFのサイズがletterになってしまう。 これを変えたい場合は、DVIPDFMFLAGSを変えてやればいい。 # A4で生成したい DVIPDFMFLAGS = -p a4 LaTeXDocument(document, document) .DEFAULT: document.pdf…

lessでPDFを読もう

awk-users.jpのhi_saitoさんのポストでlesspipe.shなるものを知った。 これを使うと、lessでPDFとかを読めるらしい。全部確認したわけじゃないけど、以下のファイルをlessで読めるらしい。 PDF File - *.pdf Word Document- *.doc Image Files - *.gif, *.jp…

CPANで、いちいち依存してるライブラリをインストールするか訊かれないようにする

CPANで、ライブラリをインストールしようとすると、依存してるライブラリをインストールするかどうかを毎回訊いてくる。 ---- Unsatisfied dependencies detected during ---- ---- PMQS/IO-Compress-2.017.tar.gz ---- Compress::Raw::Bzip2 [requires] Sha…

世界時計

30分プログラム、その566。世界時計 via エロと風俗情報満載 どう抜く?。 プログラムを実行した端末のロケールと、グリニッジ標準時と、ロサンゼルスの現在時刻をそれぞれ表示してください。時刻の表示はリアルタイムでなく、一回限りで構いません。時刻の…

RE:いろんな言語でオブジェクト指向的Hello World

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

17歳とx日ジェネレータ

30分プログラム、その565。17歳とx日ジェネレータ via http://ja.doukaku.org/236/。 誕生日を入力すると、「17歳と何日か」、「17歳と何か月と何日か」を表示するプログラムを作ってください。 でも、何か月かを表示する部分は大変だったので、「17歳と何…

てすと

object HelloWorld { def main(args: Array[String]) { println("Hello Scala World!") } }

Scalaのシンタックスハイライト

30分プログラム、その564。Scalaのシンタックスハイライトをやってみる。 Scalaっておもしろいですよね。でも、はてなだとシンタックスハイライトされなくてダサいですよね。というわけで、Scalaでもシンタックスハイライトされるようにしてみよう。はてなダ…

分散Grepっぽい何か

30分プログラム、その563。分散Grepっぽい何かを作ってみよう。 MapReduceといえばwcだけどgrepもおもしろいんじゃないかな、と思ったので作ってみた。 正直なところシングルCPUなボクのマシンでは、速くなっているのかどうかよく分からない。なんとなくIO処…

QuickCheckでリファクタリング

30分プログラム、その562。QuickCheckでリファクタリング。 ちょっと前に、Haskell使いのid:zyxwvが「QuickCheckはリファクタリングに使うといいと思うんだ。リファクタリング前と後の関数の挙動同じかチェックできるから」と言っていたことを唐突に思い出し…

OCaml-Java + GAE = ?

Google App EngineでJavaがサポートされた。 で、これとThe website has movedを組合せたらGoogle App EngineでOCamlが使えるんじゃないだろうか、という妄想。

OCamlでもbegin ... endを使うとRubyっぽくなる

OCamlでは( ... )のかわりにbegin ... endが使える。 なので、これを使うと次のよように書ける。 let map x f = List.map f x let xs = map [1; 2; 3;] begin fun x -> x * x end おお、まるでRubyのようではないか。

MacBookのバッテリー残量表示

30分プログラム、その561。MacBookのバッテリー残量表示をしてみる。 Linuxなら/proc/acpi/battery/BAT1にバッテリーの情報が書いてあるけど、Macの場合はsystem_profilerで取得できるらしい。-xmlをつければXMLで出力できるけど、驚くほど構造化されていな…

PythonでGrowlに通知を出してみる

30分プログラム、その559。PythonでGrowlに通知を出してみる。 Growlに通知を出すにはどうするんだろう、と思って調べてみたけど、予想以上に簡単で驚いた。まあ、バインディングが用意されているのが多きいんだろうけど。 インストール Growl - Developer D…

Perlのourってなんだろう

30分プログラム、その560。Perlのourってなんだろう? 研究室配属でPerl Mongerと噂の人が入ってきたので、適当なPerlコードを書いてるとバカにされかねない! というわけで、ちょっとマジメにPerlを勉強しよう。まずは、ずっと疑問だったourについて調べてみ…

Grepっぽい何か

30分プログラム、その559。Grepっぽい何かを作ってみよう。 MapReduceといえばwcだけどgrepもおもしろいんじゃないかな、と思ったので、とりあえず直列なやつを作ってみた。 とりあえず正規表現の使い方が分っただけで満足です。 使い方 1> grep:start("Io",…

おかしなソート関数を実装してみよう

30分プログラム、その558。おかしなソート関数を実装してみよう。 訊くところによると、PHPの比較演算子は推移律が成り立ってないらしい。おそろしい話ですね。 これをあえて、Haskellでもやってみよう。きっと、Ordクラスを実装すればできるだろう。 使い方…