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

河北新報主催のITフォーラム コミュニティーと地域SNS

が、22日に12月22日午後1時半から仙台市青葉区の河北新報社1階ホール であるそうです。 いけたら行こうと思ってます。

なんというか、なんだろう。

誰かのブログで書いてあったのですが、 考えを瞬間的に出力できるといいらしい。 心の内と外を行ったり来たりするのには鍛錬が必要とか。。。 自分でやらかしてしまうことに対して、恥らってたらダメだろうみたいな。 この間適当に書いた、日記なのに、いろ…

があります。

C言語風でBNFが短いと言うと しかし、そのBNFには存在しない、シンタックスシュガーがあります。 そのシンタックスシュガーとは一体なんなんですか? というところがよくわかりません。 勉強不足ですスイマセン。 Ioは結局のところオブジェクト指向な言語で…

パラメータ付き前置演算子

いつもの、文法をうだうだ考えるってのをやってたのを日記に書いてなかったので書いてみます。 C言語風の構文を式として構文解析しようってしてるわけですが if(a)b; else c;みたいな文法はif(a)をパラメータ付きの前置演算子とすると、式を取る、if,for,wh…

今更なのですが、twitterはじめまてました。

http://twitter.com/h_sakurai です。それだけなんですが。 あんまり使ってないのですが。。。

OS作る力があるなら、、、Linuxに移行しやすい環境を整える。

最近静かにしてたんですが、思ったことを少し晒してってみようかと。 どうも、最近のLinuxのデスクトップは凄いです。3Dでサクサク動きます。 VistaよりMac OS XよりLinuxがいいです。beryl Compiz fusion最高。 ウオーです。 knoppixで実行してみたら、セ…

ASDGL構想

ECMAScriptの新しい仕様が発表されました。 多少、そのことを考えると、夢が広がりました。 しかし、沢山ある機能はおなかいっぱい。 その先が直ぐに読めてしまい、萎えてしまいました。 それでも、結局、JVMより遅いのでしょう。 なぜなら、動的な型を許し…

2進数で考える。

コンピュータでやるとなると、これらは2進数で表すほうがいい。 ナルト的数の1次元バージョンを考えてみる。 すると、0は0以上〜1未満の間で1が-1以上〜0未満の間がいいだろう。 111 101 11 1 0 10 100 110 ってことで、一番下の1桁を符号ビットとすると…

この考え方で拡大してみる。

ナルト的座標系を捨てて、1000x1000の四角の集まりという座標系のみで、 拡大していくものを考えることもできるだろう。 1001,1001は一体どこだと言うような話だ。 それは、(1,1)(1,1)ですみたいなことだな。 で、100万超えたらまたその上に1000x1000の座…

無限に分割することを考える。

いきなり無限には分割できないから、とりあえず1000x1000で分割してみましょ。 で、たとえば、14321432141.41414141323212,214124141.4141432141421414141 っという座標(適当)これは、整数部分はナルト的な座標系で番号が触れます。 54514141324214…

ペアノ曲線

を思い出しますが、うーむ。精度を上げるにはと言うような話しが出来る気がします。 同じ領域を無限に分割するという。

N次元

で、うまいことやるとN次元の物が出来るでしょう。

3次元

うまいことやれば、ナルト的に広がるやつの3次元バージョンをつくれるでしょう。

宇宙

ああ、あと、こう、無限に広がっていくと言うと宇宙を考えてしまいます。 そうするとなんとなく、円座標とか使ったほうが良いんじゃないかとか思うけどよくわからない。

お絵かきソフトを考える。

これだと、あんまり効率よくないので、256x256で1つのセルとして、 256x256内は普通に線形にしといてるみたいです。 で、この無限に広がるような配列にその256x256を乗っけてけば まぁ、結構十分いいんじゃないかとおもいます。<何が…

壁ないようにする。

で、自分を中心にグリグリと増えていくような場合、ナルト的な座標の求め方を考えると。 (-2,-2) 20 21 22 23 24 19 06 07 08 09 18 05 00 01 10 17 04 03 02 11 16 15 14 13 12 (2,2)ってな具合になると思います。でコレを関数で表すと、、、。 f x y = if …

無限OF無限

http://www.kmonos.net/wlog/80.html#_0950071204なんというか、大きさ不定の二次元配列を作るのにはどうしたらいいかってのを考えたときに 作ったことあるような気がする。 00 02 06 12 20 01 03 07 13 21 04 05 08 14 22 09 10 11 15 23 16 17 18 19 24 と…

iknow用パーマリンクbookmarklet

http://d.hatena.ne.jp/amachang/20071128 面白そうなのでIE用に作ってみました。 javascript:a=document.getElementById("content_panel_container");function%20F(o){if(o){F(o.firstChild);F(o.nextSibling);r(o,"nodeValue",/(\w+)/g,"_1a%20href=../../…

「あなたが一番好きなアルゴリズムを教えてください」

スプラインが凄いと思った。コンピュータで曲線を描けるんだぁ。すげぇーっていう。

人間ホットスポット

flashで動くファミコンエミュがやっぱり遅い。 「ホットスポットを見てみるだけならできるだろう。」 とcpuの命令を実行する前でpcのアドレスのハッシュを作ってカウントするようにしてみた。 そうすると、無限ループが50%とか使ってたりするソフトもある…

はてなに貼る。

たぶん、javascriptを直だと色々セキュリティ的に問題ありそうだけど、sumiだとdocumentオブジェクトや、ならそのへんは大丈夫

ie用のブックマークレットを作ってみた。

javascript:function C(s){return s[r](/\\n/g,'\n')[r](/\\\\/g,'\\')}d=document;v=d.getElementById("textarea-edit");v[V="value"]=C(v[V][r="replace"](/\\/g,'\\\\')[r](/\r\n/g,'\\n')[r](/>\|javascript\|(.*?)\|\|

はてなに貼る。

オレオレ言語ブーム

IT戦記を見て、sumi言語に適応してみた。 <script src="smi.js"> print("hello world<br>"); </script> とhtmlに書けば、動きます。 ついでに、sumiを短くして、smiにしてみた。 http://sakurai.s59.xrea.com/compact/compact/smi.html

はてな記法マリオ

ふと、ActionScript3で、ちゃんと音を合成してみよう思ってネットみてたら発見。 ActionScript3内でflashオブジェクト作って音を鳴らす。 その音をリアルタイムに合成できるようにする。 で、それをライブラリ化。 そのライブラリを使ったmmlで再生できるラ…

の個人的感想

YTさんのあたりみてて、、、。 式ベースの言語であるのは好み。 camlp4は、使ってないけど、原理的なものは分かってきたつもり。式だから楽できるんだと思う。 ;や,の使い方がより一般的になってる。リストは、;で区切るので,はタプル用の演算子だ!!!って…

match式

Ocamlあたりのmatch式のsumiバージョンです。 f:(a){ match(a){ case(qq{$a+$b}){qq{add}} case(new XOX(qq{$a},qq{$b},qq{$c})){qq{xox}} default{a} } } print(f(qq{1+2})+"\n") print(f(qq{1*2})+"\n") print(f(qq{abc})+"\n") で、 add xox abc abcとい…

演算子定義とsyntaxマクロ

xox(100,_) syntax(qq{$a _ $b}){$a+$b} 1 _ 2 http://sakurai.s59.xrea.com/compact/compact/sumi.html?in=xox%28100%2C_%29%0D%0Asyntax%28qq%7B%24a+_+%24b%7D%29%7B%24a%2B%24b%7D%0D%0A1+_+2%0D%0Aこれで、3が返ります。まだ、完全ではないかんじだけど…

なんとなく

thenを2項演算子として使うと、if式って自然にかけるんだなぁとか思った今日この頃です。 if(a) then b else cは xox( xox( xpxp(if,(,a,)), then, b ), else, c )てなかんじになっていいなと。追記: いや、それより、 xox( xpxp(if,(,a,)), then, xox( b,…

シンプルなXMLのパーサを作ってみました。 単独タグ、通常タグ、アトリビュート、文字列のみ対応です。 コメント、CDATAセクション、等は対応してません。 使い方は X.p = 0; // 初期化 X x = new X("<xml da=\"yo\">aiu<eo/></xml>") というかんじで。 javac -source 1.2 -target 1.1 …