タグ

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

  • モバゲーで遊びたい(ドラッカーのイノベーション論) - 言語ゲーム

    今週末日に出張に行くのですが、帰ったらやってみたい事に今流行のモバゲーとかグリーとかの携帯電話ゲームがあります。といっても私はゲームが苦手なので、出来たら上手な人のやってるとこを見たいです。というのも、これってすっごい儲かってるらしいじゃないですか、あと、すっごい叩く人いるじゃないですか、貧乏人からさらに金を巻き上げる貧困ビジネスだとか言って。こういう、頑張って叩く人がいるジャンルって滅茶苦茶面白そうです。 それと、もしかしてこの携帯電話ゲームというのが、まさにドラッカーが 『イノベーションと企業家精神』isbn:4478370176 で書いている七つのイノベーションの源泉のその 1 にぴったりはまるケースをリアルタイムで見てるんじゃないかとドキドキしています。一応七つの源泉を重要な順に書きます。 意図していなかったもの。意図しない成功や失敗や外部の出来事 ちぐはぐなもの。実際に起こって

    モバゲーで遊びたい(ドラッカーのイノベーション論) - 言語ゲーム
  • オープンクラスとはダイナミックスコープだという話。 - 言語ゲーム

    http://blog.livedoor.jp/dankogai/archives/51507869.html を読んで、これは書かなきゃ!と思ったので、まだ考え途中だけどメモします。私のネームスペース理論で言うと、オープンクラスとはダイナミックスコープなのです。 まずオープンクラスとは何かざっと復習。Java 等の静的なオブジェクト指向言語では、クラスを定義する時に全部のメソッドを書く必要があるけど、Smalltalk や Ruby のクラスでは、あとからメソッドを追加したり書き換える事が出来ます。こういうのをオープンクラスと言います。オープンクラスの凄い所は、メソッドを変更する前にもともとあったプログラムの振る舞いまで変わってしまうと言う事です!これは柔軟であると同時に大変危険な諸刃の剣です。 次にダイナミックスコープとは何かをざっと復習。変数が使われている場所ではなく、処理の流れを元

    オープンクラスとはダイナミックスコープだという話。 - 言語ゲーム
  • ネームスペース概論 - 言語ゲーム

    ネームスペースについて、色々調べたので今度は自分の考えをだらだら書く。 今思っているのは、ネームスペースを主要な言語の要素として考えたいという事だ。だいたい GC だとかオブジェクトだとか末尾再帰について色々うるさく言う人は沢山いるのに、ネームスペースは日陰者というか、言語開発者が最後に面倒くさそうに付ける物という程度の人気しか無い。モダンなネームスペースが特徴です!とセールスポイントに挙げてる言語に出会った試しが無い。 しかし世の中には名前が原因で起こる問題が沢山あるし、当はネームスペースの問題なのに他の問題と思われている物も沢山あると思う。そういう物にはネームスペースが解決の糸口になると思う。 やりたい事。まずネームスペースがどういう物か、どんな種類があるかを定義したい。そしてプログラミング技術に散在しているネームスペースっぽい問題の共通点を考えたい。 まずネームスペースが取り上げる

    ネームスペース概論 - 言語ゲーム
  • 名前空間と最近の悩み - 言語ゲーム

    最近ずーっと、Tamacola で使う名前空間について考えている。あるシステムの中で同じ名前の関数を二回以上使いたい時がよくあると思うけど、大まかに二つの解決方法がある。オブジェクトと名前空間だ。オブジェクトというのは、関数をクラスメソッドとして定義する方法。名前空間というのは、関数名をグループ化してグループの名前を前に付けて混ざらないように管理する方法だ。 どちらも一種の辞書なのでよく似ている。実際、Python のパッケージはオブジェクトで実装されているし、JavaScript ではオブジェクトを名前空間として使うのが常套句になっている。ただわざわざ名前空間と言うとき、コンパイル時に名前の意味が決定出来るものを言うようだ。 悩みというのは、関数名の整理にオブジェクトか名前空間のどちらを使おうかという事だ。メジャーなオブジェクト指向言語では名前空間を使ってクラスを管理し、クラスメソッドと

    名前空間と最近の悩み - 言語ゲーム
    yyamano
    yyamano 2010/08/13
    オブジェクト指向の中に不自然な心理モデルを強制する物があるんじゃないかと最近疑っている
  • git サブツリーマージを使って他のプロジェクトのソースコードを使う。 - 言語ゲーム

    git で管理しているプロジェクトの中に他の git プロジェクトを混ぜる方法を書きます。例えば私の lispコンパイラ tamacola では、abcsx という別のレポジトリにあるアセンブラを使っているんだけど、これをライブラリとして使いたい。しかも単にコピーするだけじゃなくて、もしも abcsx を変更した時に、その変更点を元のレポジトリにも反映したい。そんな状況です。 そこで役立つのがサブマージツリーという仕組みです。普通 git では二つのプロジェクトを混ぜて一つのレポジトリを作りたいとき、一つのディレクトリに二つのプロジェクトが混ざってしまいます。サブマージツリーを使うと、ライブラリとして使いたい方のプロジェクトをサブディレクトリとしてマージする事が出来ます。 サブマージツリーを使った作業ツリーの作り方。 まず、あなたはとある git レポジトリ上で仕事をしているとします。ab

    git サブツリーマージを使って他のプロジェクトのソースコードを使う。 - 言語ゲーム
    yyamano
    yyamano 2010/08/13
  • ROKU で未来のインターネット TV - 言語ゲーム

    今日 ROKU がやってきました! ROKU というのは、テレビとインターネットを繋げる小さな箱で、NetflixAmazon がネットで提供しているオンデマンド映像をテレビで見るための専用機です。最近では Wii や PS3 等のゲーム機にオマケでこういう機能もついているらしいですが、再生機能だけ取り出して取り出して値段は 80 ドルです。 これが小さくてすごい良い。操作も簡単で、電源ボタンが無いという所にこだわりを感じます。わざとらしくビール瓶を置いて大きさを比べてみます。 最近ネット関連のサービスは国境を超えて使えて当たり前になってきていますが、それでもアメリカだけ、日だけでしか使えないサービスはあります。映画音楽みたいに特に権利が関係してるやつは駄目みたいですね。特に私が ROKU を購入するきっかけとなった Netflix と Pandra Radio は是非日でも欲

    ROKU で未来のインターネット TV - 言語ゲーム
  • ロサンゼルスで投票する方法 - 言語ゲーム

    海外に住んでいても、あらかじめ登録しておく事で日の国政選挙に投票する事が出来ます。その場合最後に日に住民票があった場所での投票と同じ扱いになります。 まず領事館へ行って、在外選挙証の申し込みをします。手続きには一ヶ月程かかるとの事です。在外選挙証には、もと住んでいた場所の市長のハンコが押してあるので、多分書類が行ったり来たりするのに時間がかかるのだと思います。 私の地区では、選挙は日米文化会館という所で行われています。日での投票日は 7 月 11 日ですが、こちらでは一足早く、6 月 25 日から 7 月 4 日までの間受付ています。平日に行くとガラスキなので、建物の前のコインパーキングに余裕で停められます。30 分 1 ドルで十分でした。 投票所に行くと、お姉さんが案内してくれます。手順はややこしいですが、言われた通りに何度も自分の名前を書くだけです。 まず投票用紙の請求手続きとい

    ロサンゼルスで投票する方法 - 言語ゲーム
  • Clojure のネームスペースについて調べる - 言語ゲーム

    Var とは何か Clojure のネームスペースについて調べてみました。ネームスペースを理解するには、その前に Vars について覚えておく必要があります。まず、例に使う簡単な関数を作ります。 user=> (defn hello "blah blah..." [] (print "Hello, World!\n")) #'user/hello user=> (hello) Hello, World! nil Clojure では defn を使って関数を定義する事が出来ますが、この結果返される #'user/hello とは何でしょうか? user=> (type #'user/hello) clojure.lang.Var type で調べると、clojure.lang.Var というオブジェクトである事が分かります。これは Clojure のグローバル変数を特徴づけるオブジェクトで

    Clojure のネームスペースについて調べる - 言語ゲーム
  • ザ・アクシデンタル・セオリスト - 言語ゲーム

    ぼくが昔、パチンコ屋のバイトのシフトを管理するプログラムを作っていた時の事だ。最近の若者に働いてもらいやすくするために、携帯を活用して簡単にシフトを組めるような奴を作っていた。そのためにお客さんの事務所に伺って業務の流れを調べてゆくのだが、インタビューの中で年配の社員の方に、こういうパソコンとか若い人ええけどわしらついて行けへんわーみたいな事を言われた。その頃からなんとなく、果たしてぼくのやっている仕事当に人の役に立っているのだろうかと考える事が多くなった。 確かにコンピュータは今までやっていた仕事を楽にするけれども、結局それは誰かの仕事を奪っているだけの事ではないか? それからしばらく経って「ITと生産性向上」 http://www.chikawatanabe.com/blog/2004/06/it.html というコラムを読んだ時に、その恐れが裏付けられた。コンピュータは人の仕事

    ザ・アクシデンタル・セオリスト - 言語ゲーム
    yyamano
    yyamano 2010/06/22
    技術革新による生産性の向上は雇用のバランスを変化させるけれども、全体としての雇用自体が減る訳ではない。少なくとも歴史上それを裏付ける証拠がある。
  • ビザの更新面接 - 言語ゲーム

    私の持つ H1-B ビザというのは、三年が期限で、あと三年延長出来るという物だ。早くもロサンゼルスに住み始めて三年が経過したので延長手続きをした。 色々な書類が必要で、どれも正確な意味がわかりづらいんだけど、アメリカで短期労働者として働き続けるために H1-B ビザを延長するには、アメリカでまず I−797 という物を発行してもらう。これによって延長が認められる。 実際に滞在を許可するのは、前回アメリカ入国時にホッチキスでパスポートに止めてもった I-94 という小さなカードだけど、I-797 の一部として許可期間の延長を示す書類が付属していて、これを I-94 と一緒に携帯する事で許可された印となる。I-94 と I-797 の一部は次回出国時に空港職員に回収されるので、一旦アメリカを離れるとビザ無しで再入国する事は出来ない。逆に言うと、I-797 さえあればずっとアメリカに居続ける分に

    ビザの更新面接 - 言語ゲーム
    yyamano
    yyamano 2010/06/04
  • WikiPhone 総括。そして TwitterPhone へ。 - 言語ゲーム

    ふと思い出したように WikiPhone の事を書いてみる。 WikiPhone というのは四年前の今頃私が作ったインターネット電話システムです。多対多通信を基としていて、シグナル機構が無いのと、ウィキのように無限にチャンネルが作れるのが特徴です。 どういう事かというと、基はグループチャットで、無限にあるチャンネルから一つ選んでそのアドレスを友人と共有します。電話みたいに二人同士で話したければ、そのアドレスを他人にばらさなければ良いすし、逆にラジオみたいに放送したければアドレスを告知すれば良いです。つまり、電話のような会話から放送までリアルタイムな通信を全てカバーする一つのシンプルな仕組みです。また、仕組みとしては音声だけでなく将来動画の放送も考えていました。 なぜそういう事を考えたかと言うと、私は当時電話会議を頻繁に利用していて、その柔軟性の無さに困っていたからです。その頃 Skyp

    WikiPhone 総括。そして TwitterPhone へ。 - 言語ゲーム
    yyamano
    yyamano 2010/05/25
  • カリフォルニア自動車免許の更新 - 言語ゲーム

    運転免許の更新をしました。カリフォルニア州の免許の有効期間は5年ですが http://www.dmv.ca.gov/pubs/vctop/d06/vc12816.htm 、外国人の場合はビザの有効期間にあわせて設定されます。私の場合三年前に取得した時のビザの期限と同時に免許が来週で切れるので、新しい滞在許可書を示して運転免許を更新してもらう必要がありました。 実は一ヶ月程まえに郵便で必要な書類を送る事という通知が来ていたので、指示に従ってパスポートと滞在許可書のコピーを同封して返信していたのですが、いつまでたっても届きません。心配なので直接 DMV で問い合わせる事にしました。ホームページを見ると、訪問の際は予約する事とあります。職場の近くのグレンデールは二週間以上待ちだったので、嫌な想い出のつまったハリウッドの DMV に行く事にしました。 DMV についてから受付の列に並びます。受付の

    カリフォルニア自動車免許の更新 - 言語ゲーム
  • Objective-C の LL っぽい機能 - 言語ゲーム

    折角マックがあるので、最近マックのプログラミングについて色々勉強しています。Objective-C の設計思想はかなり LL に毒されているとみえて、気持ち悪い機能が色々あります。忘れると厄介なのでメモします。 準備: Objective-C のコンパイル方法 -framework オプションを使ってライブラリを指定するとコマンドラインからコンパイル出来ます。 cc -o basic basic.m -framework Foundation && ./basic nil はエラーにならない Objective-C ではヌルポインタの事を nil と呼びますが。nil はどんなメソッドにも反応しないという約束になっています。例えば [nil message] のように書いてもエラーになりません。ヌル判定をしなくて良いので利点だそうです。 // Nil にメッセージを送っても無視される実験。

    Objective-C の LL っぽい機能 - 言語ゲーム
  • 善男善女天文台参り - 言語ゲーム

    スタートレック・ヴォイジャーで、グリフィス天文台が出てくる回を観たので、天文台まで行ってみた。以前大島さんに連れて行ってもらった時はバスでしか行けない決まりになっていたが、評判が悪かったのか今では普通に車で行けるようになっている。でも駐車場は無茶苦茶混んでいるので、今回特別に歩いて行く方法をご紹介しよう。 公園の入り口は Fem Dell Dr という通りにある。 THE TRAILS という軽屋が目印。 公園の中はちびっこ達の憩いの場となっている。 公園の反対側に行くと、もう天文台が見える。 どんどん歩く どんどん歩く どんどん歩く ついた。徒歩 30 分くらい。 リス。 参考 グリフィス天文台が出てくる回 http://memory-alpha.org/en/wiki/Future%27s_End

    善男善女天文台参り - 言語ゲーム
  • git show-branch の見方 - 言語ゲーム

    git が使いにくいのはコマンド設計の悪さの他、レポジトリの状態と自分の位置を確認するのが難しいからだと思います。例えば Subversion ならある瞬間のファイルはパス名とリビジョン番号で一意に定まるので、時間的、空間的位置を把握するのは簡単です。しかし git ではそこにブランチが加り、ファイルは SHA1 という恐ろしい記法で管理されます。そこで色々試してみて git show-branch を活用するするとだいぶ理解しやすくなる事が分かりました。 来の git show-branch の役割は、複数のブランチやタグが分岐してから現在までの記録を表示する事です。例えばたまたま手元で仕事中のブランチ bui-test と master、そして タグ idst-r612-merged を比較するとこんな風になります。ブランチ名を指定しないとローカルのブランチを全部指定したのと同じにな

    git show-branch の見方 - 言語ゲーム
  • The Many Faces of Publish/Subscribe - 言語ゲーム

    http://www.irisa.fr/asap/intranet/the-many-faces-of-publish-subscribe.pdf publish / subscribe とは、通信方法の一つで、生産者と消費者間が以下の三つの点で依存しない方法。 Space (空間:お互いのポインタ) Time (時刻) Synchronization (同期: 処理中待機するか) 典型的には、 消費者は生産者に subscribe() で登録し、unsubscribe() で離脱する。 生産者は消費者に publish() で通信する。 他の手法との比較。 空間依存(両者のポインタ必要)で、時間依存するもの。 Message Passing : 消費者同期。消費者がずーっと待ち受ける。生産者がトリガ。 RPC : 消費者同期。消費者がちょっと待ち受ける。消費者がトリガ。 非同期 RPC

    The Many Faces of Publish/Subscribe - 言語ゲーム
  • アメリカの郵便局で郵便を止める方法 - 言語ゲーム

    https://holdmail.usps.com/duns/HoldMail.jsp 毎回旅行の度に郵便を鬼のように溜めてたが、USPS のホームページで申し込むとちゃんと止めてくれると大島さんに教えてもらったのでメモ。

    アメリカの郵便局で郵便を止める方法 - 言語ゲーム
  • Vista で MinGW, MSYS - 言語ゲーム

    マックの VMware に Vista を入れて、最近の OS 環境を満喫する毎日ですが、噂通りまだまだ沢山落とし穴があります。その一つ。Vista で MinGW や cygwin のインストールスクリプトが動かない話。なんと Vista は install や patch と言ったファイル名のコマンドを見つけると、こいつは危ないやつだと判断して、勝手に実行出来ないようにしてしまうらしい。そんな勝手な! 直し方。以下の内容のファイルを三つ作る。 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <v3:trustInfo xmlns:v3="urn:schemas-microsof

    Vista で MinGW, MSYS - 言語ゲーム
    yyamano
    yyamano 2008/08/26
    "Vista は install や patch と言ったファイル名のコマンドを見つけると、こいつは危ないやつだと判断して、勝手に実行出来ないようにしてしまうらしい。"
  • Ruby + Linda = Rinda http://www.druby.org/ilikeruby/d208.html - 言語ゲーム

    Linda について話題に出たが、論文を読むだけじゃさっぱり分からないので、Ruby の実装を試してみた。Ruby に最初から入ってるみたいで試すのはめっちゃ簡単だった。 まずサーバー。個人サーバーの languagegame.org を使って実験した(豆知識: fedora では irb は別パッケージなので、sudo yum install irb しよう)。 $ irb -r rinda/tuplespace --simple-prompt >> DRb.start_service('druby://languagegame.org:12345', Rinda::TupleSpace.new) => #<DRb::DRbServer:0xb7f49e3c ... >> puts DRb.uri druby://languagegame.org:12345 => nil >> DRb.

    Ruby + Linda = Rinda http://www.druby.org/ilikeruby/d208.html - 言語ゲーム
  • Pootle - 言語ゲーム

    Pootle とは、Web ベースの翻訳ファイル編集ソフトです。ソフトウェアの国際化に必要な辞書をネット上で共同編集する事が出来ます。 バックエンドにはテキストファイルを使用。 CVS や SVN 等のバージョン管理システムと統合されている。次のバージョンから git も対応する予定(olpc では特別にパッチを当てて git に対応している)。 異常に遅い。 では Pootle をインストールしてみます。まず必須ライブラリから。translate-toolkit の最新版を使わない事がコツです。 sudo yum -y install python-lxml python-sqlite2 # python 2.4 の時必要らしい wget http://downloads.sourceforge.net/translate/translate-toolkit-1.0.1.tar.bz2

    Pootle - 言語ゲーム