2008-01-01から1年間の記事一覧

ブラウザで動く2chブラウザ、ktkrリーダーを公開。Google App Engineを使っています。

http://ktk-reader.appspot.com/ Webサービスなので、インストール不要です。 2chブラウザと同じく、2chの負荷を軽減する効果があります。 Google App Engineで動いているので、十分な帯域幅があり、月間 500 万ページ ビューをサポートできます。 JavaScrip…

SEに「システムってなんですか?」と聞くと

マジシャンに、「魔法が使えるんですか?」と聞くと、彼はにっこりして、 「坊や、そのとおりさ! おじさんは魔法使いなんだ!」と言い、そして・・・ 「おっと、急用を思い出した。じゃあ、またいつでもショーに来てね!」 ・・・そそくさと行ってしまう。坊…

Code Complete "変数名の力"

変数には、処理の意味が分かる変数名をつけよう! x なんて名前はダメだよ!・・・Scheme使いは lambda(x) とか書きまくり orz それでもHaskellのポイントフリースタイルに比べればマシなほうさ(ぉ

Google App EngineのTextPropertyの文字コードの扱い

Python覚えたてなうえ、いろいろ試行錯誤中なので間違ってるかもしれません。気軽にコメントください。 ちょっと戸惑ったこと。 x.name = db.Text('Shift_JISの文字列',encoding='shift_jis') x.put() .... # shift_jisでDBに登録したTextPropertyを読み込む…

はてなTシャツ欲しい!

はてなTシャツ欲しい!id:mzpと着たい!

higeponさんのSRFI-98がドラフト入り

おめでとうございます。srfi-100は誰の手に? http://srfi.schemers.org/srfi-98/srfi-98.html

Python勉強中

Google App Engineにktkreaderを載せるべく、Pythonを使い始めた。初めてなので苦戦中。 しかし困った。HTTPのリジューム機能を使うときに"既に取得済みのファイルサイズ"が必要になる関係で、 Shift-JIS文字列のバイト数をはかりたいんだが。 いつもはファ…

Emacsで便利なものは全部Webサービスに化けるよ

ブラウザ(HTML) == Emacs(テキスト) ブラウザ(JavaScript) == Emacs(Emacs lisp) GMail == Mew Ta-Da list == howm ktkreader == navi2ch ? == dired ? == occur さあ、あなたもEmacs lispのリストからインスピレーションを得るんだっ

木の統合(SchemeをJavaScriptに移植した)

ktkreaderでアンカの親子関係を木構造にするのに使っています。 元コードはWiliki:Scheme:リスト処理 1:名無し hoge 2:名無し >>1 乙 3:名無し >>1 乙 4:名無し >>2 グッジョブ 5:名無し >>2 グッジョブ 6:名無し >>3 うむ >>4 おkw 7:名無し >>3 うむ 8:名…

Emacs用javascriptモードをjavascript.elからjs2-modeに乗り換えた

http://code.google.com/p/js2-mode/ GoogleのSteve Yeggi氏が作成しているもの。(彼はJavaScriptはThe Next Big Languageと主張している(私も同意)) おかげでインデントの崩れが解消されたよ!d(-_☆) グッ!! しっかしHaskellモード並のインデントcycle機構が…

JavaScript製 2chブラウザ「ktkreader」を開発中。2ch過負荷解決の切り札になるか?

先週末から開発を始めました。 まだ初期段階ですが、お試しください。 「通常表示」、「ツリー表示」ができるのが今回の目玉です。 本当はCGIと通信しますが、セキュリティが心配なので今回は無しです。 Ajaxで2chのdatを取得して、JavaScriptでHTMLをその場…

ニコニコ動画に見る、Webサービスの"描き方"

ニコニコ動画は、はじめYoutubeに依存していた。これが”プロトタイプ”。 そして、このプロトタイプは"実物大"だった。だからこそ、これだけの情報が引き出せた。 ニーズ。Youtubeのランキングがニコニコ動画に左右されるほどだった。 競合(字幕.inやmixi動画…

Mac Fan 7月号特集は"無敵のコマンド+ランボー"。写っているのはスタローン。

本家コマンドーのシュワちゃんに連絡がつかないのは仕方ないが、スタローンの気持ちを思うと切ないアッ-。そういえば、この前チャットで久しぶりにICQ時代のあいさつ「アッオー」を使ったら通じなくて、危ないところだった。 こういう意味に見えるらしい。 G…

ペントミノ パズル(明治ミルクチョコパズル)をGaucheで解く(1時間で解けるようになった)

Karetta|Cパズルプログラミング-再帰編|ペントミノを参考にアルゴリズムを改良した。 ピースXを左上1/4に制限 近傍を予備的にチェック 使用済みピースを調べない(これは前回もそうだった) ちゃんと2339通りが出力される。1時間(PenR E2140 Mem 2GB)で。 この…

マルチプロセスで20分で解けた

チョコレートパズルを継続渡しで(30分で解けるようになった) うぉー速い!こちらのPCでは19分でした。継続渡しという高度な技を使っている。末尾最適化がかかってるのか。ちょっとこちらの旗色が悪い。だがあきらめんぞ。じゃあマルチプロセスだ! Xミノの置き…

ペントミノ パズル(明治ミルクチョコパズル)をGaucheで解く

athosの日記 - チョコレートパズルを継続渡しで経由 大雑把には、6×10の長方形の枠に12個の異なる形のペントミノを隙間なく敷き詰めるパズル。他にも、6×11にヘキソミノを詰めるのとかいろんなバリエーションがあるらしい。 2339個の解答があるらしいですが…

PLT Scheme v4.0 (和訳)

Eli Barzilayが投稿したPLT Scheme v4.0の和訳です。今回のメジャーバージョンアップの変更点まとめです。 PLT Scheme version 4.0を公開しました。こちらからどうぞ。 http://plt-scheme.org/このメジャーバージョンアップには、version 372からたくさんの…

ちょっと面白い予見として、電子書籍ではテキスト検索ができないと思う。

それは、電子書籍のデータ形式は、画像ファイルになると思うから。 テキストデータじゃない。PDFでもない。 それじゃテキスト検索ができなくて、当然みんなブツブツ言うんだけど、それが未来だと思う。そんな馬鹿なことってあるだろうか? いまや本の編集作…

出版不況は電子ブックリーダーが吹き飛ばしてくれる

クローズアップ現代の特集で「ランキング依存が止まらない〜出版不況の裏側〜」があって、特に、id:beniya:20080604が興味深かった。自分は、AmazonのKindleにすごくわくわくしていて、出版不況は電子ブックリーダーが吹き飛ばしてくれるとまで思っている。 …

シンタックスの木を見てセマンティクスの森を見ず

この名言の出典はどこだったっけ? ゼミで大堀 淳 著 "プログラミング言語の基礎理論"を読んでいます 領域論的モデルを解説する担当にあたった。ぎゃー。 de Bruijnインデックスって、cutオペレータの話につながってそうな気がする。 参考 lambdaと引数リスト…

憂鬱な勇者をGaucheで。

「憂鬱な勇者」を作った件 id:hrkt0115311:20080527:1211891558 「憂鬱な勇者」がとても面白かったので、 Scheme に移植してみた id:scinfaxi:20080527:1211919944 「憂鬱な勇者」を Squeak Smalltalk で - sumim’s smalltalking-tos id:sumim:20080528:p1 …

グラフの可視化の副産物その1(人形)

頂点をバネで結ぶ→それなんてIK? 人形の形にグラフを作ってみた。 http://eva-lu-ator.net/~gemma/geocities/jsgraph/jsgraph3.html

こんなに簡単なグラフの可視化

dは、2つの頂点間の描画上の距離。 kは、適当に実験して決める。(描画エリアの大きさや頂点の数やグラフの複雑度に左右されるので、これといった計算方法がない。) (グラフの辺をバネであると考えます) (電子同士の反発に似ています) これだけです!

グラフの可視化に挑戦

Canvas要素を使っているので、Firefoxで見てください。 その1 その2(ラーメンから連想したグラフを可視化してみました) (連想検索エンジンreflexaから引用しました。) 参考文献は、(PDF)Thomas M. J. Fruchterman, Edward M. Reingold: Graph Drawing by For…

マリオのジャンプ実装法とVerlet積分

(追記)JavaScriptで実装してみました 昔、何かの雑誌*1でマリオのジャンプの実装法を見た覚えがあって、あの放物線運動は、 マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて、 マリオの前回の座標を保存しておいて座標を計算しているんだそ…

JavaScriptでキモいコードを見た

気持ちはわからんでもない。 //f( x, a0, a1, ... , aN)の関数を作る。 function f() { var a_all = $A(arguments), x = a_all.shift(); } shiftメソッドの副作用に期待している。うげー。 car、cdrを用意したほうがいいと思う。パターンマッチングならなお…

「script.aculo.usを読み解く」の舞台裏

技術評論社で、表題の連載を持たせていただいています。 これは、ライブラリのJavaScriptのコードを1行1行、解説するというもので・・・濃いですね。「アメリカでは、JavaScriptのコミュニティーはまったくありません。」(John Resig、Mozilla Corporation/…

FLOPS2008に行ってきました

親に、国際学会に行くと電話で言ったら、テレビで見るような主要国首脳会議とか地球サミットがまず頭に浮かんだようでびっくりしてました。 日程初日終了後の夕方に、id:syd_sydさんが、「今からOlegさんが、限定継続のあれを見せてくださるって」という。 …

ゲーム用リアルタイム流体力学をJavaScript&Canvasに移植してみた

最近ネタに走ってばかりいたので、プログラマらしいことをしようと思って、Joe Stam氏がGDC2003で発表した Real-Time Fluid Dynamics for Gamesの、CとOpenGLで書かれたデモを移植してみました。 まずこちらのN=8で具合を見てください。 http://eva-lu-ator.…

プログラマが主人公の漫画はこんな感じ その2

彼には、永遠のライバルがいる。 ライバルもまた天才ハッカーで、C++を愛している。 だがライバルは、P2Pファイル交換ソフトや、DVDの暗号クラックや、商業ソフトのシリアルクラックや、エミュレータの開発に手を染めている。 「コンテンツの権利者を守る? …