タグ

ブックマーク / propella.hatenablog.com (9)

  • Lambda the Ultimate を Kindle で読む - 言語ゲーム

    Kindle ユーザに人気のツールに Calibre というのがあります。これは iTune みたいに使う物で、電子書籍のバックアップやフォーマット変換を行う物です。一見初心者にも優しい見かけをしていて、iTune みたいな使い方をしても良いのですが、このツールに気を出させようと思うと Python を覚えた方が良いです。Python 無しの Calibre は elisp 無しの emacs みたいな物です。Python を使えば Calibre の変態的に強力なパワーを味わう事が出来ます。という事で、そのさわりとしてブログを Kindle 等の e-book で読めるように変換するというのをやります。 Calibre で Python をつかうにはコマンドラインツールをインストールする必要があります。Mac では Calibre 起動後、Preferences - Advanced

    Lambda the Ultimate を Kindle で読む - 言語ゲーム
  • 論理かるた - 言語ゲーム

    今日は証明するカードについて書きます。証明というとなんだか人間にも難しく、機械にやらすには高度な人工知能が必要だと思うでしょう。しかしコンピュータも電気も不要です。なんとこのカードは並べるだけで証明ができてしまうのです!とりあえずどんなのか見てみましょう。 自分でやりたい人は logiccard.pdflogiccard2.pdf をダウンロードして名刺用紙に印刷してください。用紙のサイズが合わない時は logiccard.svglogiccard2.svgイラストレータや Inkscape で編集するといいと思います。 このように印刷して、灰色の部分をポンチで穴を開けます。ホッチキス式のポンチではカード中ほどの穴に届かないので、その場合は手芸用のポンチを使うと良いです。 するとこのような謎めいたカードが出来上がります。 それぞれのカードはベン図になっています。穴の開いてい

    論理かるた - 言語ゲーム
    hamasta
    hamasta 2011/08/30
    論理パズル 例題
  • ファイルシステムとしての Git - 言語ゲーム

    Git のコマンド体系は全く歴史に学ばず後世に禍根を残す酷いデザインだが、どういうわけか内部構造は大変素晴らしい。特にファイル構造を一旦キーバリュー式データストアに保存するというのは是非参考にしたいアイデアなので調べてみました。 Git 内部データストアの基機能は、ファイル名を使わず中身だけを保存する事です。ファイル名が無くて後からどうやって保存した中身を取り出すかというと、保存時に SHA-1 という文字列が発行されるのでそれを鍵に取り出します。それでは試しにやってみます。まず準備として新しい Git レポジトリを作ります。 $ mkdir test $ cd test $ git init Initialized empty Git repository in /Users/takashi/tmp/test/.git/ blob 次に、適当な文字列を保存します。 $ echo '適当

    ファイルシステムとしての Git - 言語ゲーム
    hamasta
    hamasta 2011/01/07
  • テキストエディタの数学的表現を探す - 言語ゲーム

    昨日眠れなくてずっと布団の中で考えていたメモです。意味と実装という言葉がよくプログラミングの中で使われます。意味は二つのオブジェクトの間の関係を表していて、例えばテキストエディタで言うとテキストデータと実際に表示されるビットマップとの間にはある種の関係の事で、例えば横 80 桁固定のテキストエディタだとすると、 文字列が必ず横 80 文字で折り返す、とか、 A のフォントはこれこれこういう形である。 とか、宣言的に書く事が出来ます。また、実装とは、その関係をコンピュータ上で実行するために必要なプログラムの事を言います。例えばキーボードから A が押された時に、 バッファに A を挿入する。 入力位置のテキストを書き換える。 もしも入力位置のテキストが80文字を越えていたらそこから下全部書き換える。 などと、操作的に書く事が出来ます。問題は、意味から実装を機械的に作る事は出来ないのだろうか?

    テキストエディタの数学的表現を探す - 言語ゲーム
  • C 言語の static - 言語ゲーム

    白状すると、今日まで C 言語の static の使い方を知りませんでした。 僕は自分でプログラムを一から書くよりも圧倒的に人の書いたプログラムを修正する方が多いので、適当に最初に書いた人の真似をするだけで何とかなってました。だから文法の知識で知らない事はいっぱいです。C では大規模な仕事なんてしないのでそれでよかったんですよ。しかもライブラリについては大体どんな開発環境でも詳しいマニュアルがついてくるけど、文法については常識だからか、電子的に便利に纏まってないでしょ(あったら教えてください)。知らない物を見ても調べないままだったのです。言い訳終わり。 参考までに C の static について書くと、static とは、普通関数定義の中に書くと、関数の処理が終わっても消えないメモリ領域になります。つまり、次回その関数にやってきた時、再びさっきの結果を使えるわけ。醜悪な仕様だとは思うけど、

    C 言語の static - 言語ゲーム
    hamasta
    hamasta 2007/05/10
    staticの意味 2重 仕様が腐ってる
  • 論文読み: Arrows, Robots, and Functional Reactive Programming http://www.haskell.org/yampa/AFPLectureNotes.pdf - 言語ゲーム

    Haskell のアニメーションライブラリ Yampa についてのチュートリアル。またもや FRP (Functional Reactive Programming) の話題です。SOE の FAL は休憩して、その未来の姿である Yampa に寄り道します。Monad を一般化した Arrow なるものを使って、time / space leak なる物を排除し、モバイルロボットのプログラムをきっちり記述します。 プログラムの例として、シムボット(ロボットシミュレータ)を扱います。シムボットは二つの独立して動く車輪を持ち、ぶつかりセンサーや、前後左右に光学センサーを持ちます。また、他のシムボットの位置を知る事も出来ます。 シグナル (p 3) 一番重要な概念はシグナルです。 Signal a = Time -> a つまり、シグナルとは時間の関数です。例えばシムボットは車輪が二つあるので

    論文読み: Arrows, Robots, and Functional Reactive Programming http://www.haskell.org/yampa/AFPLectureNotes.pdf - 言語ゲーム
    hamasta
    hamasta 2007/04/09
    日本語 ロボット モナドからアロー?
  • 圏論の基礎 - 言語ゲーム

    ちょっぴり背伸びをして、『圏論の基礎』S.マックレーン isbn:4431708723 を読む。一目見て全く歯が立たないとすぐに諦めかけたが、結構高いし(4,700円)諦めるのは勿体無さすぎる。十回くらい眺めていると少しずつ解読する手がかりが見えてきたような気がしたので、分かった事を書く。 圏とは何か? (p 7) 圏と言うのは矢印(arrow)の集まりの事を言う。だけど矢印とは呼ばず、日語ではプロっぽく『射』と言う。矢印には根っこと先っぽがあるが、根っこと先っぽにはそれぞれ何かがくっついている。そのくっついている何かを『対象』と言う。もしくは、対象のほうに矢印がくっついていると見ても同じ事だ。とにかく、根っこについた物をドメイン dom (domain)と呼び、先っぽについた物をコドメイン cod (codomain)と呼ぶ。難しいのは呼び方だけで、意味は簡単。 さらにこれらの矢印を圏

    圏論の基礎 - 言語ゲーム
  • Flash Media Server - 言語ゲーム

    Flash Media Server について調べた。これは Flash でビデオや音声チャットをを行うのに必要な物で、You Tube で使われている物だ。Flash を使ったコミュニティサイト http://www.stickam.jp/ でビデオチャットが出来るのを見て、うわ、これは WikPhone の敵になるのでは無いかと思い調べる気になったのだ。たいした事無かった(嘘)。 Flash は Flash Media Server が無いと音声やビデオのストリーミングが行えない。 プロトコルは http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol オープンソースの実装がある。http://osflash.org/red5 コーデックはオープンでは無い。 音声には mp3 ビデオには http://en.wikipedia.

    Flash Media Server - 言語ゲーム
  • Javascript Workspace - 言語ゲーム

    最近アランさんが Javascript に興味を持たれているようなので、私も仕方なしに勉強している。しかしもうすっかり Squeak に体が慣れてしまっているので、何とかして Javascript を Smalltalk のように使えないだろうかと色々考えて、Javascript 用の Workspace を作る事にした。 Workspace というのは Smalltalk の最も基的かつ重要な開発ツールで、単なるメモ書きエディタなのだが、Smalltalk コードを実行できたり、変数に保存できたりする優れものだ。なにわともあれこれが無いと始まりません。それで作ったのがこちらです。 http://metatoys.org/propella/js/workspace.cgi/Home 作ってみての感想は、意外と Javascript と Workspace は相性が良いです。その場でさくさ

    Javascript Workspace - 言語ゲーム
    hamasta
    hamasta 2007/02/02
    これはすごい
  • 1