タグ

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

  • FPGA に夢を見る。 - 言語ゲーム

    この週末はずっと FPGA で遊んでいた。出来たのはただ LED が光るだけの物だが、やっと考えたとおり動いてくれてほっとしている。一息ついたついでに、FPGA のどこが面白くて、何を目指しているかちょっと書いてみる。 この数週間の短い間に、私は FPGA がソフトウェアを変える!と信じるようになった。FPGA はハードウェア記述言語で動かすチップだから、ハードウェア記述言語がソフトウェアを変える!という妙な話の流れになってしまうけど。前からぼんやり思っていたプログラミング言語への違和感が急にはっきりした。その違和感とは、プログラミング言語全体が、いわゆる早まった最適化に陥っているという事だ。 プログラミング言語が必要なのは、コンピュータには人間の言葉が分からないからだ。コンピュータは順番に単純な命令を実行する事しか出来ないから、大きな問題を小さく分けて、さらに順番に並べなければいけない。

    FPGA に夢を見る。 - 言語ゲーム
    totttte
    totttte 2016/09/15
  • 論理かるた - 言語ゲーム

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

    論理かるた - 言語ゲーム
    totttte
    totttte 2012/03/11
  • 隠された HTML コメントを簡単に見る方法。 - 言語ゲーム

    同僚の Ted Kaehler さんのアイデアをヒントに、HTML のコメントを表示するブックマークレットを作ってみました。 http://metatoys.org/unveil/ にある Unveil というリンクをブックマークバーにドラッグして使います。一度押すとコメントが表示され、もう一度押すと元に戻ります。サイトによっては、なかなか味わい深いコメントを見る事があります(Chrome, Safari, Firefox で確認済)。例えば、 asahi.com のように高校野球速報の指示が書いてあったり、 楽天トラベルのようにコメントの中に隠されたバナーや選択肢を見ることが出来ます。 コメントのような舞台裏を見るとなかなか背徳的な気分になるものです。HTML の開発時にも役に立つかもしれません。面白いコメントを見つけたら教えて下さい。

    隠された HTML コメントを簡単に見る方法。 - 言語ゲーム
    totttte
    totttte 2012/03/11
    おもしろそう
  • 日記生活ふりかえり 2003, 2004, 2005, 2006 年 - 言語ゲーム

    ふと過去を振り返ることにした。 2003 年 日記を書き始めたのは 2003 年で、未踏事業の二年目に集中するため会社を辞めた直後だった。それまでテキストファイルに日々の開発記録を書いていたが、複数台のパソコンで同期を取るため「はてなダイヤリー」を利用し始めた。日記には技術的な事を書いて、日々の記録は BBS がメインだった「未来(2003)」。今読み返すまで忘れていたが BBS に私は「プレゼン資料を請け負う仕事って成り立たないかなー(2003)」と書いている。今の仕事がまさにそれなんだけど、夢というのは叶うと全く有難味が無いものだ「願いは叶うか?(2007)」。 この年の前半はグラフィカル・パーサー・ジェネレーター「言語ゲーム」の続きをやっていた。そのうち言語の面白さというのはモデルにあってパーサーには無いという事に気づき尻つぼみになってしまった。 後半は会社を辞めたりアメリカに行った

    日記生活ふりかえり 2003, 2004, 2005, 2006 年 - 言語ゲーム
    totttte
    totttte 2012/03/11
  • 日記生活ふりかえり 2007, 2008, 2009, 2010 年 - 言語ゲーム

    2007 年 2007 の C5 は Tinlizzie WysiWiki と WikiPhone について話した。どちらも中止したプロジェクトなので話すのが辛かった「WikiPhone プレゼン資料収集中(2007)」「WikiPhone 仕様(2007)」「Ruby で VoIP (IP 電話) を実装する(2007)」。 夏にロサンゼルスに引っ越した「金曜日から日曜日までの話(2007)」。仕事的には OLPC EToys 「C4 用カンペ: OLPC(100ドルラップトップ)の動向とスクイークの開発状況(2007)」の低レベルドライバの担当。色々勉強出来て面白い!と思うように努力したが辛い事も多かった「仕様もない話(2007)」。そこで、関数型言語の勉強を一生懸命した「ぼくがかんがえたモナド(2007)」「リストとしての haskell モナド。内包表現と do と >>(2007

    日記生活ふりかえり 2007, 2008, 2009, 2010 年 - 言語ゲーム
    totttte
    totttte 2012/03/11
  • 帰国と退職の記録 - 言語ゲーム

    突然ですが、四年半ほど過ごした米国ロサンゼルスから日に帰国しました。未踏直後からかれこれ八年ほどお世話になった Viewpoints Research Institute も退職し、来年から東京渋谷の UIE Japan で働きます。今年中はぶらぶらアパートを探しをして過ごします。東京ぐらしは初めての事で右も左も分からないので、関東圏の皆様色々ご厄介になるかも知れませんがよろしくお願いします。 アメリカは人間関係の濃密な所で、今までこんなに引越しが辛かった事は無い。職場はもちろんアパートの管理人や散髪屋やランニングクラブなど、それぞれお世話になった方々に一人ずつ別れを切り出すのがとても辛かった。なので、もしかしてやけに私があっさりしているなあと思ったかも知れないけど、そうじゃなくて、一対多関係なので毎回泣いてたら一ヶ月正気で過ごせないのです。という訳で以下記録。 夏ごろから帰国を念頭に職

    帰国と退職の記録 - 言語ゲーム
    totttte
    totttte 2012/03/11
    >Viewpoints Research Institute も退職し、来年から東京渋谷の UIE Japan で働きます
  • MinGW のアセンブラで Hello World - 言語ゲーム

    ちょっと前アセンブラの話題が出たので、いまどきのアセンブラってどうなっているのだろうと調べてみました。gcc にはアセンブラを生成する機能があるそうなので、まずそれを使って雰囲気を見ます。 GCC を使ってアセンブラの雰囲気を知る。 /* hello.c */ #include <stdio.h> int main(int argc, char *argv[]) { printf("hello world\n"); return 0; } $ gcc -S hello.cとしてコンパイルすると hello.s というファイルが出来ます。それに hello world, C and GNU as を参考にコメントをつけました。 .file "hello.c" /* 無視可能 */ .def ___main; .scl 2; .type 32; .endef /* 不要 */ .section

    MinGW のアセンブラで Hello World - 言語ゲーム
    totttte
    totttte 2008/08/13
    俺がわからなかったところ、やっぱみんなもよくわかんないよね>< addl $15, %eax 前後
  • Spartan-3A で Hello World! - 言語ゲーム

    LED ばかりでは味気無いので、液晶画面を使って Hello World! を出してみた。 ユーザーガイドを読む ユーザーガイドの「キャラクタ LCD」の所に液晶の使い方が書いてあるのでじっくり読む。難しい。。。PicoBlaze って何だ???知らない単語は置いといて、出来そうな事だけやろう。おお、何とカタカナも出るようだ!ワクワク。 説明を読むと、結構時間をきっちり測って信号を出さないといけないようだ。スターターキットのクロックが 50MHz なので、一クロックあたり 1000000us / 50000000Hz = 0.02us か!これは数えないといけないのかな。 数を数える。 数を数える事すらやってないので、まずただクロックに合わせて数を数えるだけのプログラムを書いてみる。0.02us を 2 ** 24 倍すると 335,544.32 us になるので、32 ビット目から 25

    Spartan-3A で Hello World! - 言語ゲーム
    totttte
    totttte 2008/06/02
    うううううううう久々にSpartan3かじりたくなってきた
  • 社会と職業と性格について - 言語ゲーム

    むかーし中学の副読でちらと見かけたんだけど、ある社会に属する人間の性格は大きく学者タイプ、軍人タイプ、政治家タイプ、職人タイプに分かれていて、その割合は社会のサイズや時代に関わらず常に一定であるという説があるそうです。つまり、例えばある街の学者ばかりを集めて研究所を作ると、その研究所にいる学者達の中にも学者、軍人、政治家、職人的に振舞う人々が現れ、軍人タイプが全員死んでしまっても誰か他の人がその代わりを勤めるようになる。 Wikipedia で探すと http://ja.wikipedia.org/wiki/%E6%80%A7%E6%A0%BC 岡田斗司夫 の分類(王様・軍人・学者・職人)が一番近いのだけど、私が中学生の時に教科書に載るような事を書いていたとも思えないし、重要なのは常に割合が一定という部分なのでポイントが違うかも。 実は10年くらいずーっと悩んでます。知ってる人がいたら教

    社会と職業と性格について - 言語ゲーム
    totttte
    totttte 2008/05/18
    要は「シャッチョーサン!」と言われてほいほいついてくか、「センセー!」と呼ばれて喜ぶか(違うw>社会に属する人間の性格は大きく学者タイプ、軍人タイプ、政治家タイプ、職人タイプに分かれていて
  • 逆世界聴診器を作る(?) - 言語ゲーム

    逆世界聴診器とは、id:abee さんの http://swikis.ddo.jp/WorldStethoscope/2 の逆の働きをする物で、ヘッドホン出力を元に外部デバイスを操作する物を言う。なぜヘッドホン出力かと言うと、最近のパソコンはパラレル端子が付いてないし、USB は難しすぎるから。素人にも分かる程度の簡単さを守る点がポイント。ふと、これを作ってみようと思った。私の中学レベルの電気知識でいきなり難しいのは無理なので、 ピーと鳴らす -> LED が点灯 音が止まる -> LED が消える というのをやってみる。例えば、こういう eToys プログラムで制御できるようにする(注: eToys を知らない人へ、音さえ出れば何でも良いので、適当に音楽を流すだけでも良いです)。 とりあえず LED をそのままヘッドホン端子に突っ込んでみた。 実はこれでも一瞬電気が点きました!でもヤバイ

    逆世界聴診器を作る(?) - 言語ゲーム
    totttte
    totttte 2008/05/18
    アイデア、おもしろい!!すげーー。 >スピーカー端子をInputしてなんらかのOutputを出すHWを考えていくっていうもの
  • 論文読み Charles Crowley. Data Structures for Text Sqeuences. 1998 - 言語ゲーム

    http://ned.rubyforge.org/doc/crowley98data.ps.gz 他に面白いリンクがここに一杯ある。 http://ned.rubyforge.org/ 結論 テキストエディタのデータ構造としては、piece table method が一番良い。 感想 今更テキストエディタを自分で作りたいという変わった人は読んだ方が良いです。この論文では、テキストをメモリやディスクでどのように保持するかという問題を、挿入、削除、位置特定の速度という観点から調べています。 位置特定とは、文を前から数えてどの位置にどの文字があるか調べるという問題ですが、ある位置を調べた後、次に調べたくなるのは前回調べた位置のすぐそばである可能性が高いという前提に立っています。 表示、例えばテキスト回り込みやプロポーショナルフォントの問題には触れていません。 UTF-8 のような可変長エンコー

    論文読み Charles Crowley. Data Structures for Text Sqeuences. 1998 - 言語ゲーム
    totttte
    totttte 2008/04/22
    テキストエディタの作り方
  • テキストエディタのデザイン - 言語ゲーム

    ここらでエディタのデザインについて再考する。エディタを関数と考えるとこんな感じだろう。 (テキスト画像, 新テキスト) = f(イベント, 画面情報, 旧テキスト) つまり、あるテキストがあって、そこにキーボードやマウスイベントを発生して更新した後のテキストを得る。また、画面の幅やフォントなどの情報を使って同時にテキストの内容を表示した画像を得る。 残念ながら、これをそのまま作っても遅すぎて数百文字程度のテキストしか扱えないので、最適化を色々考える事になる。特に画面表示はコストが高いので、どのような情報が必要なのか考える。 テキスト 論理桁、行情報: ある文字が論理行のどの桁、行にあるか(文字単位)。 物理桁、行情報: ある文字が物理行のどの桁、行にあるか(文字単位)。 論理座標情報: ある文字が、論理座標のどの座標にあるか(ピクセル単位)。 (物理座標情報: ある情報が、画面上のどの座標

    テキストエディタのデザイン - 言語ゲーム
    totttte
    totttte 2008/04/06
    何かソフトウェアを作る時のフローや考え方がまとめられててイイ! あとテキストエディタソースリンクつき!
  • 左再帰 - 言語ゲーム

    寝る前にメモ。 PEG の欠点として左再帰が出来無い点があるけど、それってどういう事だろう。右と左ってそんなに大きな違いがあるのか?と考え出すと止まらなくなって、でも何となく自分なりに思いついたこと。 まず左再帰と右再帰の違いを書く。次の式を読んでみよう。 1 + 2 + 3 + 4 + 5 + 6 + 7 多分みんな左から右に目を動かしたはずだ。これが右再帰(嘘)。次は左再帰を混ぜた例。 10000000000 + 2000 + 3000000000 + 400 + 5000000000 もしこれを口に出して読もうとしたら、途中で目を右から左に動かして、一、十、百、千、と桁を数えたはずだ。ここが左再帰。 つまり、数字というのは右から左に桁を数えていかないと意味が確定しない構造になっている。ただ、意味の事を考えないで、ただ数字である事を知りたいだけなら右再帰でもいける。 ここで質的なポイ

    左再帰 - 言語ゲーム
    totttte
    totttte 2007/12/06
    なるほど。。。
  • 1