トップ «前10日分 最新 次10日分» 追記

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|

ToDo:


2007-03-05

_ そもそも

require_gem ってなんなんだろう

(00:16)

_ Mac

やったこと

  • irb とかの Arrow キーを screen 以外は解消 (がんばってscreen.tic作った。xterm-color.ticいじるとscreenに悪影響が出て謎)
  • とりあえず dict を対向は u で入れた
  • pbcopy に渡す時は nkf -s するようにした
  • GU は修正した
  • iTermにメタスラ実装した
  • フォントはよくわからんなー

やってないこと

  • screen の Arrow キーの動作が腐ってる
  • ペーストバッファにある英単語の意味を表示する何かを作る
  • Cmd+Ctrl+t
  • HHK Pro
  • TeX
  • ~/wrk, ~/public_html/skr など
  • 音楽
  • DSDL, Titanion
  • Font
  • zsh

減らねえなー

(00:22)

_ おや

zsh は autoload compinit とかを復活させればいいだけだった。 むしろ Ubuntu ではこれ無しで大丈夫だったのは /etc の下のアレが効いてたのかな

(00:25)

_ keyremap

うーん HHK の Fn+asdf による Vol_Dn とかそのへんを殺すために keyremap の dmesg 眺めて見るもキーイベント来てねえ。

(01:19)

_ おやー

HHK は keyboardType が 40 でメインのは 37 だ。 これ幸いという感じでしょうか。

(01:20)

_ HHK Pro

解決。 tekezo センセイありがたう。

まずDIPスイッチを 1,3,5 をオンにする。 これで Alt が Windows/Cmd キーになって ◇ が Alt/Opt になる。 これでこの HHK は PC にそのまま差せる。 かつ、 Mac のあのウザい Vol_Dn とかそのへんのキーは封印されたまま。

あとはこんな感じのコードを Remap4MacBook に

 case KeyCode::COMMAND_KEY:
     if (*keyboardType == 40) {
         if (*flags & KeyCode::COMMAND_FLAG) {
             addFlags |= KeyCode::OPTION_FLAG;
             removeFlags |= KeyCode::COMMAND_FLAG;
         }
         else {
             REMOVE(addFlags, KeyCode::OPTION_FLAG);
             REMOVE(removeFlags, KeyCode::COMMAND_FLAG);
         }
         *key = KeyCode::OPTION_KEY;
     }
     break;
 case KeyCode::OPTION_KEY:
     if (*keyboardType == 40) {
         if (*flags & KeyCode::OPTION_FLAG) {
             addFlags |= KeyCode::COMMAND_FLAG;
             removeFlags |= KeyCode::OPTION_FLAG;
         }
         else {
             REMOVE(addFlags, KeyCode::COMMAND_FLAG);
             REMOVE(removeFlags, KeyCode::OPTION_FLAG);
         }
         *key = KeyCode::COMMAND_KEY;
     }
     break;

(02:15)

_ ついでにこれ

キーコードチェックしたりとか他のバインド変えたい時とかも 使えて便利だにゃー

(02:15)

_ やること追加

ee みたいなソフトをさくっと作る

(02:16)

_

なんかうんこの本が本屋で目に入って眺めたと思うんだけど

http://www.amazon.co.jp/gp/product/toc/4774129852/sr=8-1/qid=1173028757/ref=dp_toc/250-8618356-3084248?ie=UTF8&n=465392&qid=1173028757&sr=8-1

なかなかすごい本だったと思う。

まずなんか目についたのはアセンブラがどうこうという章があって、 おおおと見てみるとなんか PPC みたいなアセンブリが書いてあって えーせめて x86 じゃないの…とか思いながら見てると CASL だったという。

ほへーとか思いながら後ろの方を見てみると フローチャートとかが出てくるわけだー。 でも UML も紹介されてた。

不思議な世界

(02:27)

_ あと

コーディングミスでCmd押しっぱなしになって再起動を余儀なくされたのは 良い経験であった

(02:46)

_ あれ…

Firefoxのあるデスクトップに行ったら強制送還されるという tekezoセンセイが言ってたような気がする現象が。

まぁ VirtueDesktop のフォーカスのあってる プロセスのあるデスクトップに行くとかそんなオプションを切って対処。

もはやデスクトップにいないプロセスが フォーカス持っているという状況はありえないので問題ないはず

(08:22)

_ とおもったら

http://www.pqrs.org/~tekezo/nikki/2007/02/24.html#y2007m02d24c1p1

全然違う現象だった

これはLinux上で見たことある気がする現象なんだよなー

(08:23)

_ VirtueDesktop

ついでに色々設定をいじってみた。 あんま使わねーだろーなと思いつつ 3x2 にしてみたり。

そういえば Move window under the mouse pointer みたいな コマンドはいかんよな。 動かすべきはフォーカスのあってるウィンドウであろう。

(08:38)

_ VirtueDesktopいじり

完了。

フォーカスのあってるウィンドウをふっとばすように勝手に書き換えた。 マウスポインタの位置なんて飾りだっつーの。

(09:21)

_ KeyRemap

   if (*flags == KeyCode::SHIFT_FLAG && *keyboardType != 40) {

Shift-Delete は便利だと思ったけど HHK ではいらないので。

(09:27)

_ 起動時にやりたいこと

  • sshfs
  • Apache の起動
  • cmigemo-server の起動

(09:29)

_ うわあん

キーボード持ってくるのわすれたうぜえ

(10:55)

_ NetBeans

http://cappuccino.jp/keisuken/logbook/20070303.html#p02

そいや話題になってたなぁと思った。

とりあえず軽いっていうのは代替物が出る時に 必ず話題になることだなぁと思った。 mozilla => phoenix とかね。

(11:54)

_ ar-mode

とか誰か作らんかな。

(12:04)

_ メタスラ

ひょっとしてこれ mlterm じゃなくて screen がやってないか

(13:07)

_ 3Dオセロ

http://d.hatena.ne.jp/Ozy/20070305#p1

ソースあったのでコンパイルして動かしてみた。 itoa とかは気合いで。

なんか基本的にパズルってのは「拡張」したら だめだと思うんだよなーという。

(14:01)

_ ghc6.6

deb で入りそう…

(14:28)

_ うーん

zinc-compiler を依存関係無視してつっこんだせいで apt-get が 怒って他のもの入れてくれないな

どうすりゃいいんだっけなぁ

(15:05)

_ hello

http://d.hatena.ne.jp/hzkr/20070305#p2

Ruby は Kernel#h どころか VM レベルで命令持ってるのかー。 すばらしい

(16:17)

_ xgawk と m4 入れた

xgawk は前々から考えてた、 m4 は

http://ya.maya.st/d/200703a.html#p20070303_1_1

とかを見て。

なんというか、「アレを入れてくれ」とかより 「アレは無いんだよな」とかだと妙に入れたくなるよねという。

squirrel は…まぁとりあえずいいか。

http://en.wikipedia.org/wiki/Squirrel

拡張子が nut なのはこのへんからということか

(16:18)

_ すっかりわすれてた

http://d.hatena.ne.jp/yshl/20070225#1172403124

Postscriptは入れたい言語なのだけど単品で というか表示を伴わない言語として使う方法をよくしらないというか

(20:53)

_ うーん

問題の expire 実装する気力ないな

まくぶくで遊ぶか論文いじるか

(20:57)

_ screen

メタスラはスクリーンの機能だったー。

というかメタ通らないって確かにそいう話だったな

AquaSKKとの連携って意味でも なんか挙動腐ってるからiTermの入力のあたりいじるかぁ

(21:01)

_ 興味深い屈折率

http://curry.2ch.net/jobs/kako/968/968941211.html

   まぁ、それはともかくMacはもっとエロゲー供給されるべきだと
   思うよ?過剰に供給されるのも困るけど<PCみたいに。

このあたりの屈折ぷりがたまらない

(21:09)

_ あれ

http://pub.ks-and-ks.ne.jp/prog/w3mmee/

w3mmee なんかすごくなってるような

(21:24)

_ アヒャ

http://d.hatena.ne.jp/tekezo/20070305#1173101554

% ls -lh /Users/i/Library/Logs/VirtueDesktops.log
-rw-r--r--    1 i        i            1.0G Mar  5 23:02 /Users/i/Library/Logs/VirtueDesktops.log

信じがたいものがありますなー。

(23:03)

本日のツッコミ(全3件) [ツッコミを入れる]

_ yshl [PostScript の件ですが Ghostscript であれば、 gs -q -dNODISPLAY -dBAT..]

_ shinh [ご教授ありがとうございます。さっそく加えてみました。]

_ Qgxoyvlc [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]


2007-03-04

_ BUG: soft lockup detected on CPU#0!

って言ってたまに止まてるんだよなゴルフサバ。

調べるか

(09:09)

_ Osaka

新着エントリーが新春エントリーにしか見えないなあ

はいはいアンチェリアンチェリ

(09:11)

_ む面白そう

なんか前も見たことある気もするけど

http://rainer.blog7.fc2.com/blog-entry-75.html

ぱっと見た感じプロトタイプベースじゃなさげ。 組込み言語といえばプロトタイプ! ていう思い込みがあるのだけど、 はてさてふむ

(11:44)

_ oggとm4a

うーんどうしたもんかな。

iPod にデータ移動させるには ogg => m4a の変換をする必要があるけど、 iTunes 自体はプラグイン入れたら ogg 聞けるようになった。

あと EUC-JP なファイル名が困るとか。 とりあえずビートルズを聞いて対処。

UTF8FSとか作ってしまうのが一番速そうな気がする

(12:28)

_ ogg

ファイルの転送はできたが、 メタデータも EUC-JP で保存してあったせいで困るみたいだ。

(12:42)

_ Mac

やったこと

  • w3mimg
  • Apache入れたmod_python動いた
  • ReFe 入れた

やること

  • irb などが Arrow キーの動作が腐ってる
  • Cmd+Ctrl+t
  • HHK Pro
  • 英語
  • TeX
  • ~/wrk, ~/public_html/skr など
  • pbcopy に EUC-JP 通す
  • iTermにメタスラ
  • 音楽
  • DSDL
  • Font
  • zsh

(13:53)

_ pbcopyと日本語

cat /tmp/scr|nkf -s|pbcopy とかでオケ。

i@um Music/iTunes/iTunes Music> dict 日本語
■日本語 : Japanese●Japanese language
i@um Music/iTunes/iTunes Music> dict OK
■OK : 【形】うまくいっている、だいじょうぶである、オッケーである、○である    【用例・形】 Is everything OK [okay, Ok]? : すべて潤邊ですか?、すべてうまくいっていますか? / I hope everything will be OK [okay, Ok]. : うまくいくといいんだけど。

(14:15)

_ dabbrev-expand

よく考えてみると実装はとても簡単でもないんだなぁと。

(17:19)

_ iTermにメタスラ

つけた。

コマンド一つ増やしちゃったからパッチ作りにくくなったかなぁ。

(18:07)

_ lv とか less とか screen とか irb とか

で、アローキーの上下左右だのを入力すると おかしな挙動をする。 zsh と w3m は大丈夫。 ncurses かなーと思ったけど、 なんかそうでもなさげ。 なんだろうなぁ

(18:28)

_ フォントの問題

iTerm で sazanami を読むといくつかの文字がおかしくなる。 で、フォントキャッシュのせいか知らんが他の環境でも同時におかしくなって謎

(20:44)

_ reveal solutions

問題作る時に「ナシ」「24時間」「3日」「1週間」「1ヶ月」くらいから選択して、 ナシ以外の場合はその期間過ぎたら公開、ってのはアリかもなー。 んで公開された問題への submit は post-mortem って感じで。

(23:02)


2007-03-03

_ sudo su !!!!!

http://d.hatena.ne.jp/niha/20070302#1172845991

その発想はなかった

(05:56)

_ amazon

http://www.kmonos.net/wlog/71.html#_0207070303

これ良さそうだなぁめんどくさいからこれにするか

http://www.amazon.co.jp/gp/cobrandcard/marketing.html/

サックリ申し込んでしまた。主体性の無い若者である

(06:12)

_ ツッコミメール

いいかげん復活させよう

(06:20)

_ なんかおれは

だめみたいだメール来ない…

(06:32)

_ Mac

まっくの悪口を言ってすっきりした

  • フォントが綺麗じゃない

やっぱどれだけ見てもアンチェリってただかすれてるだけに見えるな。 Firefox や PDF や印刷時みたいな状況ならもちろんアリっていうか 良いと思うのだけど。 端末とかじゃポイント固定でデザインされたフォントに勝てない気がするなぁ。

  • Expose が使えない

DVD鑑賞しつつIRCのログ流しとくとかならアリだと思うけど…

F9→矢印で移動→決定とかいう移動はちょっとありえん。 あと F9 で上下左右押した時に最初にフォーカスあたる ウィンドウって予測不能に思えるんだけど、 アレどいうルールなんだろう。

そもそもファンクションとか触れないし。

  • Alt+Tab が冗談みたいな動きをする

アレは悪い冗談。 仮想デスクトップとあわせて使ってるとさらにひどいことに。

Witch があるとややマシにはなるものの…

  • Cmd+` はアプリまかせ

だよね。

  • タイトルバーがださい

と、思うのだけど。 赤黄緑がありえないのに、 アピアランスでは二択でグラファイトを選ぶと フォーカスあたってるかさっぱりわからない。

あと閉じるボタンの赤いボタンの中にたまに 黒い目みたいなのが見えるけど霊の仕業ですか。

そもそもタイトルバー消したいわけだけど。

(09:14)

本日のツッコミ(全3件) [ツッコミを入れる]

_ shinh [teeeeeesstだよ]

_ shinh [hoge-だよ]

_ shinh [びょーん]


2007-03-02

_ つながりました

http://d.hatena.ne.jp/w_o/20070223#c1172261767

普通に読んでなかった。 まぁ wo さんの記述はなめるように正座して読み返すという 僕の性癖に救われた。

あと正規表現も format も俺 Turing complete ではない。 間違いなくリアル Turing Complete でもないことであろう。

あとむしろ正則文法な正規表現というのはどこにあるのだろうか。

(04:58)

_ どでもいいけど

infix って

a+(b+c)

っていう入力が無いのが優しさだよね

(05:00)

_ iTerm文字化け

なぜか解消。

なんか iTerm 修正しようと Terminal.app でほげほげモードに入ったら、 screen が動かんくなったから不審だなーと思いつつ screen -m とかで起動したら解消してた。

でもバイナリで拾ってきたヤツじゃダメで、 自分でコンパイルしたヤツだけ大丈夫。 よくわからんけど make Deployment してそれを使うように。

結論を言うとわいわい

(06:04)

_ なんだ

chardet はちゃんとインストールしてたのね。 mod_python 動いた。

(06:10)

_ なんで T-T

しばらくしたらまた化けるようになったおかしい…

本当に何もしてないはずなのだが。 window とか screen とか閉じてないしなぁ。謎

(06:27)

_ まぁ

だいぶマシではある。

hjkl 移動時がよくないようだ。 カーソル再描画というか。

たぶん見てて思うのだけど三つ化けかたがある。

ん、再描画がダメならもう描画やめてもらえばいいか

(06:30)

_ うむ完璧

ミッションコンプリート。

(06:33)

_ adhocな修正

VT100Screen.m にて。

//		if (sc[i]>0xa0 && [NSString isDoubleWidthCharacter:sc[i] encoding:encoding]) 
		if (sc[i]>0x80)

☆が見えるようになったわあ♪

でもここまで雑だと半角カナとかヤバいかね。

(06:51)

_ =?SHIFT_JIS?Q?=94=BC=8Ap=CE=B9=DE?=

(06:51)

_ なんか

_ =?SHIFT_JIS?Q?=94=BC=8Ap=CE=B9=DE?=

(06:51)

論外だな。 ていうかこれ端末の問題じゃなくて単にメールサブジェクトの問題か

まぁもう半角カナとか忘れよう。

うーんしかし w3m が化けないのは快適極まりないな

と思ったらまた文内が化けるタイプのヤツが出てる。 まぁこれは頻度は高くないし ^l で対応できるけど。

(06:56)

_ cmigemo

1.2 にバージョンダウン。なんかこっちの方がなじんでたんだよな

(07:39)

_ top

覚えられると思えなかったので alias

alias topm='top -o vsize'
alias topc='top -o cpu'

(07:46)

_ NSImage を Quarts2D で変換

蠅が止まるほど遅いな。

SDL_image 使っていいですか

(08:16)

_ ファイル書き込む子が

ぬーんそろそろ対策しないとなぁ。 C# が $HOME/.wapi とかの書き込みを欲しているんだよな。 まぁ本当にこれだけならすぐなんとかするんだけど、 まーテストするツール書いてからってとこだなぁ。 あと /tmp の存在を前提としてる言語環境とかるとイヤだし。

あとミスって FizzBuzz ににはさんのを改善したヤツ投げちまったスマヌにはこ。

(11:27)

_ iTerm

完璧な修正ができたと思う。 問題点。

  • EUC-JP で screen 併用時に、色々 # に化ける(UTF8もちょっと見たけどもっとひどかったような)
  • iTerm は文字コード処理に無数のバグがある(例えばそもそも decode_euc_jp が使われてないとか)
  • # に化けるのは二種類で、バッファが途中で切れて 2Byte 目の落ちたデータがキューに来る場合と、カーソル移動時に 1B だけの EUC-JP 文字列を送ってしまう現象の二点。

というわけで、

  • decode_euc_jp に入るようにして
  • euc_jp の 2Byte 目以降もちゃんとチェックするようにして
  • data が 1B だけの場合は次の入力待ちに入って(後続とつながればまともなEUC-JPになるかもしれない)
  • そうでない場合は文字化け表示もせずにバッファを 1B 捨てる
  • 2Byte文字を半分捨てたがる傾向があるので、そのへんのロジックちょっと書き換えた(ここたぶん EUC-JP 依存)

って感じでうまくいった。なんか他にもバグぽいのあったから修正した気がする。 まぁ decode_euc_jp にわりとおさまってるので、今度パッチ書くと良いと思う。

(12:17)

_ そこで

D を眺めてみるのですよ…!

http://d.hatena.ne.jp/Cryolite/20070302#p1

mixin による文字列のコンパイルタイム eval と、 typeof だの is 演算子があなたをわけのわからない世界へ

(12:19)

_ うおお

iTerm が完璧だ!!! 全く化けないよおかーちゃん

(12:30)

_

convert ってか ImageMagick 入ってる。 コイツ使うのが一番ラクかもしれないな。

ぬーん fink っぽい。

んーてか w3mimg -size がえらい繰り返し呼ばれているというか ここがバグってんるんじゃね

(12:49)

_ とりあえず

size の件は修正。 -size で呼ばれるたびに画像フォーマット変換とかしてた。

(12:58)

_ はてなぐる〜ぷのトップ絵

8bpp みたいだ

(13:11)

_ double buffering

Cocoaはデフォルトでやってるらしい

(13:42)

本日のツッコミ(全5件) [ツッコミを入れる]

_ あろは [僕も wo さんの記述だけは,定期的に何度も読み返す性癖があります.あと perl の Rules や format..]

_ shinh [社長のはてなはみんなのバイブルですね。 > awk なんか今だと sed とか grep さえ後方参照できるんで..]

_ k.inaba [意外なようなそうでないようなところで、Dのstd.regexpが後方参照できない古き良きregular expですね]

_ きむら [awkの正規表現はegrepと同じです(Kernighan博士経由でAho博士に確認取れました)。で、egrepの受..]

_ shinh [> D あーそういえば不便だなと思ったような気も。 > awk ほえー立派な歴史が。わざわざ偉い人に確認ありが..]


2007-03-01

_ IOCCC

なんか中途半端な感じだけどsubmit。 まー参加することに意義がみたいな

(04:07)

_ ばなー

ふつーにじっそうしたほうがみじかかった…

(06:50)

_ しかし

ばなーで embed ってどういうことなんだろう。 それ以外どうやって解くんだろうか…

(07:00)

_ なるほど

zlib使ったらembedかな…zlib使ったらもっと縮む気がするけどめどいしいいや

(07:27)

_ たくしょく

たくしょくだいがくってつげだいがくって読むんだろうなぁと思った。

間違っていた

(12:54)

_ bash

http://ya.maya.st/d/200702c.html#s20070228_2

echo 'ばいなり〜'|gzip -dc

じゃいかんのかなーと思ったんだけど、 ヌル文字がアレみたいだった。

(13:11)

_

http://programming.reddit.com/info/16swb/comments

よく見るとここの話面白いじゃないか。 「ちゃんとメンテナンス可能なコードを書かないヤツはバカだ!」みたいな 主張をする子ってのはネタにマジレスって感じなのかなぁ。

(13:17)

_ shebang

http://www.jmuk.org/diary/2007/03/01/0

http://d.hatena.ne.jp/soutaro/20070228/1172682278

shebangといえば。

http://homepages.cwi.nl/~aeb/std/hashexclam.html

そいやこれが /tmp/argv 以外になる環境って見たことない気がするなぁ

i@um ~/test> cat argv.c
main(int c,char*v[]){puts(v[0]);}
i@um ~/test> cat argv.sh
#!/tmp/argv
i@um ~/test> gcc argv.c -o /tmp/argv
i@um ~/test> ./argv.sh
/tmp/argv

(13:28)

_ make

なんか -j とかつけなくても両CPU共に負荷がかかるんだなーと

(13:42)

_ 型の型システム

http://d.hatena.ne.jp/Cryolite/20070301#p1

萌えるタームだなあ

(17:46)

_ LangScan::D

     abstract alias align asm assert auto body bool break byte
     case cast catch cdouble cent cfloat char class const continue creal
     dchar debug default delegate delete deprecated do double
     else enum export extern false final finally float for
     foreach foreach_reverse function
     goto idouble if ifloat import in inout int interface invariant ireal is
     lazy long mixin module new null out override package pragma
     private protected public real return scope short static struct
     super switch synchronized
     template this ~this throw true try typedef typeid typeof ubyte
     ucent uint ulong union unittest ushort version void volatile
     wchar while with

ふーむドキュメントからひっこぬいてきたけど なんとなく足りてない感じはしないな。

あとは文法的に特に変わりそうなのは無かったけなぁ。 scope あたりがアレか。

(17:57)

_ Wikipediaで

エロワードの記述を読む人生。

そんな暇ないだろ

(18:02)

_ くじらの腹わた

http://www9.ocn.ne.jp/~ymt/perl6/rules.html

前から気になってたのでやっと読んだ。 すごいなあ。

(19:29)

_ 今頃ためした

http://d.hatena.ne.jp/ytqwerty/20070126#p4

ローマ字慣れした人間の小指をなめてはいけません。両手の指を合わせてがっと力を込
めると、他の四本の指は全て右手が勝つのに対し、小指だけは左手の勝利です!

ホントだ!!!!!!

(20:17)

_ なんか

マクド行くと必ず順番抜かされるなぁ。 空気のような存在なのだろうか

まぁ別にいいんだけど

なんか色々考えたけど忘れたなぁ。 iPod にボイスメモしまくるってのはどうだろう。 キモいな。

ていうか iPod 未だに使いかたがよくわからない。

(21:31)

_ うふ

読んじゃった☆

http://www.kmonos.net/wlog/71.html#_2014070301

それ一瞬考えたのになぁ。 あと再帰下降は論外ぽいと勝手に思って展開するのはやめてたっていうか 実はほとんどゴルフしてないという。

あと mod_python はよ動さんとな

(22:13)

_ 新しい技術を見た時

うーんあれはあんまり好きじゃなくて… と技術者が言う時、実は気になってるのだけど 乗り遅れてて悔しいとかそんな場合があるかも

(22:16)

_ あれ

そいやはてな Captcha ついたと思ったのに消えてるな

(23:16)

_ しかし

誰も英語おかしいよとか指摘してくれないのが素敵である。 みんななんとなく意味通じりゃそれでいいのかな

(23:39)


2007-02-28

_ iTerm

Terminal.app よりは化ける確率減ったかなぁと 思いつつもやはり気になるのでいじろうと思って ソースぶちまけてコンパイルしたらフツーに文字化け減ってる気がする。

しばらくCVS先端のバイナリ使うかぁ。

VT100Screen.m を '#' で探せば文字化けの原因調査はできそうとメモ

(09:21)

_ 違うな

screen が走ってない時に化けにくくなるのだった。 iTerm の tab 使うつー手もあるけど、 ^t^k とかが消えるのは痛いから無理。

(09:24)

_ 怪情報

VTScreen じゃなくて VTTerminal のデコードだな

(09:46)

_ decode_euc_jp

には入らないみたいだ。

んーむ何コレ

#define isJPEncoding(e) 	((e)==0x80000001||(e)==0x8||(e)==0x15)

どう見てもドキュメントに EUC なら 3 って書いてあるんだが。

#define isJPEncoding(e) 	((e)==0x80000001||(e)==0x8||(e)==0x15||(e)==3)

とか修正すると EUC-JP のデコードルーチンには入ったが、 文字化けがひどくなった。 自前でやるより NSString にやらせた方がマシっつーことですか。

(10:34)

_ XTERMCC_RAISE

   case XTERMCC_RAISE:

こんな制御コードあるんだな

(11:04)

_ うーん

日本語表示部分でログ取ってみたけど、 こんなの来てるんじゃ化けてもしょうがない気がするなぁ。 むー screen が悪いとも思えんのだが。

0xcb0xa4 だったものが 0xcb0xcb0xa4 とかになって来るんだが、 端末ってそいうもんなのかね。

(11:29)

_ ふーむ

mimetex が見えないのは 16bpp だから。 CGImage 使えば 24bpp あたりに正規化できそうだからそれでいいかなぁ。

(11:50)

_ やっぱりかー

節穴なので同じに見えても自信持てないという。

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070228#p02

あと monaco がコーディングに…は主観の問題ですが 私は同意しかねますですはい。 いや悪くは無いと思うのですけど。 こうなんというか、

   imgs[n].h = [img size].height;
   imgs[n].bpp = [srcRep bitsPerPixel];

srcRep の R の上の文字は何?みたいなのが難しいような。

あとうちで見ると I がありえんですね。 l や 1 と区別つかなさすぎというか。

あと w3m の書体としては monaco いいなぁ。 0 数字がいい。

まーフォントってのは色々難しいなぁという。 なんせ日本語に関しては誰がどう見ても K14 一択だろうとか 思うのに全然賛同得られないしなぁ。

(12:07)

_ Haskell

6.6 にしろという話だけど、 アレをコンパイルするのは避けたい。 バイナリ配布のヤツ使うとかでなんとかなるかねー。

  • xgawk
  • Haskell 6.6
  • Pugs あたらしいヤツ?
  • yabasic はダメらしいが

(12:52)

_ sed

の \+ とか { とかキツいものがありますね。

http://risky-safety.org/~zinnia/d/2007/02/#20070228-t0-h1-p1

(12:57)

_ すごいことに

http://golf.shinh.org/p.rb?infix+to+postfix#Ruby

なってるな。

まー考えるか

(13:07)

_ strace

なんかスタックの状態とか残してくれると便利なのかも

(14:19)

_ やばい面白い

http://homepage3.nifty.com/worldtraveller/cuba/cubalist.htm

via http://alohakun.blog7.fc2.com/blog-entry-673.html

ギャグで書いてるのかきわどいラインだなぁ

(14:31)

_ アンチェリ

あってもキツかったような気がしたけど記憶が。 (帰ったら調べる)

いずれにせよ monaco 使うならアンチェリある方が好みだなぁと 思いながら日本語の方がアンチェリつきだと僕には辛くて ギーガーと。

まぁフォントはもう慣れてきたし、 その場しのぎでなんとかしようとせず ゆっくり考えて良くしていこう… とりあえず 7x14&K14 などこでも使える ttf 作れればいいと思うんだ。

(15:22)

_ 慣れは進歩をさまたげる

ってのはなんかバイトかなんかで 改善法があるのに古いやり方に慣れてるせいで それをしないってのはマズいですよねー的に喋ってた時から なんかスローガン化してるわけだけど。

なんかどっちが慣れかわからんよなーという。 古い環境に慣れすぎてて新しい環境でもアレがねえコレがねえと 叫び回るつー意味の慣れと、 新しい環境に慣れすぎて古い環境の良いところを忘れてしまうという 意味の慣れと。

前者を避けたいからとりあえずしばらくは X 入れない…とか 3日くらいはあんまりカスタマイズしない、とかしてたわけだけど、 結局なんか叫び回ってるし、 あと逆に新しい環境に慣れて古い環境と比べて不便になったとこも まだまだあるなぁ。

まー結構時間かかるねコレという。

  • w3mimg 修正
  • サーバ類 (Apache と sshd)
  • キーボード (HHK Pro)
  • 端末を Cmd+Ctrl+t で出せるように
  • 英語
  • TeX
  • ~/wrk の移行
  • ReFe など
  • zsh
  • Ruby/SDL
  • D/SDL
  • Titanion
  • iTunes
  • フォント

まぁだいぶ減った

(15:32)

_ 難しい単語

そういえば LR とか LALR(1) とかもよくわかってないな。

(17:02)

_ すごいなぁ

http://homepage1.nifty.com/herumi/diary/latest.html#27

Windowsとかでもそんなもんかぁ

(17:09)

_ I1l

の区別をつけたいのなら Andale mono というヤツならつくな。 あまり好きな雰囲気でもないけど普通に良さそうだ

(20:52)

_ フォントの話なんてするのは老いの証拠だと思ってたけど

まぁ異存はないな

(20:58)

_ FizzBuzzは

問題文にあるようにリンクはってあるからじゃないですかねえ

と思ったら他からもリンクはられてた。 そういえばリファラはここに。

http://golf.shinh.org/refer.rb

(22:16)

本日のツッコミ(全1件) [ツッコミを入れる]

_ tekezo [Monaco 12.0 pt & AA あたりで使うと可読性高めだと思いますが、 たぶん shinh さんの使い方だ..]


2007-02-27

_ mdfind

ふむ便利。 w3m でのラッパ作らないとな。

Terminal.app に dabbrev 欲しいなあ

(06:53)

_ deiconify

も、作ってみた

まぁ研究室行くか…

(07:23)

_ open

前々から思ってたけど open はホントに便利だなぁ。

ttf がガーと広がってるフォルダでさてどうしよう…と思って、 なんとなく open *.ttf とかしたらそれでいいのね

(08:25)

_ 痛い

なんか痛くて他のこと考えられないなぁという。

んでなんかなんも考えてなかったので 女性専用車両に乗ってて怒られた。

(09:38)

_ 無視してるメールがたくさんあったよ><

ひどいよ!

(09:41)

_ よくわかる情報

http://www.kmonos.net/wlog/#_2111070226

ちょうど昨日二人用ゲームは PSPACE で…とか いう話を喋ってたけどよくわからんかったのだけど、 こいう説明されるとよくわかるなぁ。

QBFって昔聞いた気もするけど忘れてたな。 コレが PSPACE だってのをふにおとしてないから イマイチぴんとこないんだよなたぶん。

将棋って EXPTIME なのかあ。

なんかプログラマのためのよくわかる情報みたいななんか誰かないかな。

Lazy K とかでぐぐってて気付いたけど この人なんかすごいな

http://www.nsl.com/

(10:54)

_ 僕もメモっておこう

http://www.spa.is.uec.ac.jp/~kinuko/survey/

論文

サーベイ

(11:02)

_ bpo

どーせコンパイル通るようにいじるんならついでに OSX バイナリ作るか。

んで iTunes のアレを勝手に持ってきて使うつーのはどうか。 m4a つーのは SDL_sound に無いよな。 まぁそんなもんなんとでもなるさ

(11:08)

_ Firefox

要は下にメイン画面にフォーカスがあってない時があってうざいわけだ。 そしてフォーカスのあてかたもよくわかっていない。 んなら簡単でメイン画面のフォーカスあてるもの書けばいい。

(12:46)

_ メシ

もう死ぬよねって勢いで2,3日何も喰ってなかったので バファリンで鎮痛してそのスキにバカ喰い。 まぁ鎮痛してるくらいで喰えるようになったのは良いことだ。

だいたい大きい口内炎って治してるスキに必ず転移するのって、 口内炎→メシ喰えない→栄養不足→転移、って 流れだよなたぶん。 となると鎮痛剤は極めて重要だと気付く。

そして当然ながら今も新しいのができつつあるんだよなぁ

(12:50)

_ そいや

そろそろおうちに無線LANとかなんかしたいなぁ。

(13:08)

_ これ

http://golf.shinh.org/p.rb?infix+to+postfix

Code Golf でやったら面白かったような気がするなー。もったいない

(14:45)

_ エスケープ

最近面白いなぁ…

https://www.codeblog.org/blog/akr/

(18:21)

_ 自転車

ぼんやりしすぎで駐輪所に止め忘れたなぁ… 撤去されてるだろうなぁガクリ

(19:00)

_ むしろ

驚き最大の言語はなんだろうな

(20:24)

_ 撤去

されてなかった。

こんなクズにラッキーなことがあるだなんて、

やっぱり神様はいないんだね!

(20:25)

_ ラーメン

前から行ってみようと思ってた安ラーメン屋に入って気がついたことは、 この店来たことあるじゃんということだった。

まぁ290円にしてはみたいなおいしさなんだけど、 気づいてみるとホッピーとかつまみとか結構色々あって しかも安いなぁと

(20:27)

_ フォント

俺は基本的にフォントに嫌われていて、 例えば人のフォントの設定をコピペしてもたいてい うまく動かんのだ。 ぐおー。 ぐおーとか言いながらもうイヤだまたトラウマ歴史が増えるよ フォントむずかしいよ…と思ってた。

とりあえず、

  • Emacs
    • アンチェリ切った
    • ASCII: monaco
    • 日本語: osaka
  • iTerm (Terminal.app が色々アレなので捨てた)
    • ASCII: monaco
    • 日本語: sazanami (K14)

まぁホントは違うフォントとかイヤなのだが。

(23:53)

本日のツッコミ(全2件) [ツッコミを入れる]

_ kosaki [正規表現を押しておこう > 驚き最大 100kを超えるぐらいからデバッグ不可能に]

_ shinh [100kまではメンテできるんですね!]


2007-02-26

_ よーわからんけど

どー見ても動かんよなーというコードを示して 質問者が困っているように見えるやりとりを見た

(01:19)

_ ヤター

Window switch 動いたぽい。

これならまこすてんも許せるかもなー。

まー微妙にバグあるがそれはまた取れるだろう。 それより毎度プロセス動くからちょっと遅いかもなぁ。 まぁ気になるほどでも無いと信じよう。

しかし Window switch するアプリは 結局 witch しかなかったってことは みんな Expose マンセーかフルスクリーン&仮想デスクトップ派なんだなぁ。

(02:29)

_ うむ

Window 自在に動くようになった。 しかもコマンドラインツールで window switch というのはなかなか面白い。 blackbox とかがそんな感じだったっけ。 ちょっと遅いのは OSX のせいだと思うなー。 たぶんクエリよりスイッチ本体に時間かかってそう。 完全にカンだが。

もう見掛けがオサレなだけで中身はかなりいい感じになってきた。 要は俺は w3m と sevilwm ラブなのだなぁという。 あと GCC と Emacs が動けばそれで良いのである。 最近すんごい気になるのは Terminal.app で w3m の文字がよく化けてることかなぁ。

(09:39)

_ w3mimg と相性が悪い件

ひどい話だ

(09:46)

_ switch_self

カレントウィンドウにフォーカスをあわせるってのを作れば これをscreenにひっかけておけばw3mimgのゴミが消えるなぁ

(10:00)

_ w3mimgは

わけのわからん Window を 57個も作っているらしい。 なんでだと思うが、それ以前にこんなもん無視できないといけない。

CGSの方で、titleが入ってるウィンドウが無ければ飛ばす、 とかで良いとは思うんだけど、ちとめんどくさいな。

まぁサックリと。ソース汚なくなるな。

これもひどいよなー。 1 がルートウィンドウと決めうち。

   // it is never proper way to get screen infos
   CGRect rect;
   CGSGetScreenRectForWindow(cid_, 1, &rect);
   screenW_ = rect.size.width;
   screenH_ = rect.size.height;

NSScreen の Carbon バージョンがわからんという。 さすがに Apple Event ナシでいけるだろうとは思うが。

(10:30)

_ Window移動

できた。

しかし Apple Event はなんか遅いなぁ。 俺の使いかたが悪いのかな。

あとは maximize つけて Witch 捨てるかね。 てか maximize って OSX 標準で無いんかという疑問も。

(11:44)

_ 世界は私のもの

http://d.hatena.ne.jp/atty/20070225/p2

僕の場合は、以下が完全に私と同じです。 普通にスペック見て第一候補になるのが Mac つーのもすごい話ですよね。

あとホッピーは残念です。 物体としてはビールみたいなそんな系統の。 会としては私もなんなのかよくわかってません。 また今度機会があればぜひ。

(13:01)

_

zsh に &! とかあったんだー

http://d.hatena.ne.jp/lurker/20070220/1171932797

(14:39)

_ w3mimg

透過 gif が見えてないな。 まぁなんにせよ全体的に作りなおす必要はある。

あとは HHK Pro なんとかしないといけないなあ。 キー配置全然違って全然抜き差しできない。

たぶん二種類解があって、

  • NIIのヤツを持ち歩きにして片方が OSX 用ということに
  • OSX の設定でなんとか

ただどっちにせよ OSX は Fn+[asd] で突然ボリュームの 設定が変わるのがうざいので、 外付けキーボードだけの設定を変えられるかどうか 調べる必要があるなーというところ。

(14:42)

_ うーん

http://homepage.mac.com/kenie/Projects/JANSI/MacOSX10.4/index.html

こいうの使えばメインキーボードが不便になる覚悟をすれば 使えるわけだなぁ。

(14:48)

_ 引き続き

痛いなぁ。

よって健康センター行ったら入試で閉まってたので バファリンを買ってみた。 カゼひいても薬は買わないのに口内炎で買うとか。

あと57個ってのは要は読み込んだ画像の数だよな。 NSImage 作った時点で表示とかなんもしてないのに Window になってるってわけか。 となるとやはり適切にフォーマット変換して byte* で持ってすぐ解放すべきか。

ただなんか、 画像読み込み→tiff→読み込んでbyte*に→フォーマット変換 、とかなんか貧乏症には耐えがたいものがあるな

(15:23)

_ 〜で書けたら

http://shinh.skr.jp/m/?date=20070224#c09

NP と PSPACE を俺定義で区分する何か無いかな。 答え聞いて俺がその答えあってると調べられたら、とかでいいのかな。

PSPACE と EXPTIME はもっとよくわからないな。

俺定義なので P!=NP は前提となっているという。

(15:34)

_

ひさびさに本屋行ったら欲しい本がたくさんあってびっくりした。 欲しい本がありすぎて何も買わなかった。

まぁメモだけ。

  • OSX 本 (いらない)
  • Postscript 本 (こんなのあったのかー)
  • kernel 解読室
  • の隣にあったのはなんだったっけ…
  • Emacs 本だ。辞書っぽいヤツなんだけど割に良さそうだった

(15:44)

_ Emacs本

書評見ようと思ってアマゾン見たら無いなぁ

(15:49)

_ こころがわり

ずっと健康にこだわってもしゃーないと思ってたけど、 最近健康は大事なんじゃないかと思ってきた。

というのも、僕の場合は健康を気にせずやることって言っても それは別にたいしたことじゃなくて、 生産的なことは眠くない時にガーとやってるんだよな。 健康に悪い、ダラダラ寝てない時とか ハラ減って動く気も失せてる状態とかは、 ただ健康に悪いだけであって、 それは太く短くを指向しているフリをして 細く短くを実践しているに他ならないという。

もうなんかずっと腰痛は慣れたし 1月入ってから半分は風邪みたいな現状に 参ってるだけで健康になったら また無計画に生きるに違いないのだが

(15:56)

_ きんむぼ

書きながら、2月は3回しか木曜無いんだなぁとか思って 提出しかけた俺はアホ

(16:16)

_ migemoの件

そう migemo がおかしいのもおかしいと思ったがとにかくおかしい。 入力した文字削った時に再検索してくれないんだよな

(16:50)

_ H! T! A!

いいアイディアを思いついた気がする。

(17:12)

_ r!

http://www.garbagecollect.jp/~usa/d/200702c.html#id20070226_P1_8

これ面白そうなんだよなーと考えてみた。

前方一致だと結局かぶってる名称が多いのでうまくないという話がある。 こんな感じにするともっと縮んでいいかも。 each_with_index は使いたい時は結構あるのに長くて絶対使わないからな

class Object
  def method_missing m, *a, &b
#    t = (public_methods + private_methods).sort.find{|e| /^#{m}/ =~ e.to_s}
    t = (public_methods + private_methods).sort.find{|e| /^#{"#{m}".gsub /./,'\&.*?'}/ =~ e.to_s}
    t ? __send__(t, *a, &b) : super
  end
end

if $0 == __FILE__
  p ob
  pr s='Hello World!'
  v=[*'A'..'N'].e__{|v,i|pr v,i}
  s.r!
  puts s
end

出力は

i@um ~/wrk/ag> ruby19 goruby.rb
-604162848
Hello World!A0B1C2D3E4F5G6H7I8J9K10L11M12N13!dlroW olleH

p は (protect|public|private)_methods が邪魔で使い勝手悪いな。

(18:03)

_ iconify

アイコン化って実は使えるなーとふと気付いた。 むしろなんで今まで気付いてなかったんだ。

Ctrl+Alt+t とかでウィンドウ出して、 irb 起動してちょっと計算、 で、そのウィンドウ邪魔だから 他の仮想デスクトップに捨てるか消すかしてたわけだけど、 iconify しておくといい。 あとは iconify したものをキーボードで Alt+Tab 式のスイッチで拾って来る機能があればそれでいい。

(18:59)

_ screen

  • 単純に1つの端末で2つシェルが動く
  • ちょっと置いておきたいバックグラウンドプロセスとかを放置
  • 2ch見てる時に後ろに立たれたらスイッチして仕事

要は裏バッファではないかと。

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070226#p03

僕は端末*2をscreenで倍増させて4個と emacs*2をelscreenで倍増させて4個というのが基本形。 これたぶん木構造作ってるんだよな。 まず仮想デスクトップ切り替えて、 sevil で Window を一手で選択して、 次に screen 切り替えで一手。

screenで4枚以上のscreen管理する人は役割を固定するぽいけど、 それはちょっとわからないなぁ。 なんか必要なシェルの数って起動時間にあわせて増えてくんだよな。 時間がたつとたいてい10越えるくらいは zsh 動いてる気がする。

空間有効活用と言えば是非中途半端な 半透明は実現したいと思ってたということを思い出したが、 Wanderlust がなんかおかしくなるな。

つーか半透明化はどうせ Accessibility API でケリつくんだから sevil につっこめばいいや。

(22:30)

_ iconify

一瞬ででけた。

そういやウィンドウふっとばしたい時に VirtueDesktop はフォーカスあってるウィンドウじゃなくて マウスの下にあるウィンドウ飛ばしてるっぽいんだよな。

これは VirtueDesktop いじってもいいし、 sevil 側にスイッチ時にマウス位置をそろえる機能つけてもいいし。

(22:35)

_ つか

よく考えると icon になってる window の 最大化ボタンをクリックさせたりとかできるわけだけど、 どうなるんだろうな

(22:36)

_ にしても

ウィンドウに移動用のキーを書いておくってのは賢いなぁ。 タイトルバーはそもそも消したいわけだが。 でも HaH 風の移動は便利な人には便利かもしれない。 でもうーんそのへんやるとなると WM 書きたくなるんだよなぁ。 あと僕が魅力感じるかというとノーかなぁ。

あとさっき気付いたけど QuickSilver のキー押しっぱなしの時に 連打してくれる機能は良い。 ウィンドウ移動が快適に

(22:56)

_ このサイト

http://software.jessies.org/terminator/

w3mimg がおかしくなるのでこれも調査

(23:12)


2007-02-25

_ ここまで減るとは

http://golf.shinh.org/p.rb?FizzBuzz#sed

emokenさんに追いつかないなぁと 悩んでいたのがウソのよう

(04:13)

_ 3の倍数

http://jarp.does.notwork.org/diary/200702c.html#200702241

最初は 1\n2\n... をループで作っておいて s/(hoge\n{2})hoge\n/\1Fizz/ みたいな感じでしたが、 そんな感じの方針の方が縮みそうだなぁと変更して 今に至ります。

文字数から数値に変換するロジックは書いてないので ちょっと違いますがまぁ似たような方法で。

http://jarp.does.notwork.org/diary/200702c.html#200702232

あとこの感覚はみんな共通なんだなーと思いました。 一通り終わったなぁってタイミングで もう無理だと昔思ったヤツを見直すと あれ、あれれと。そしてずるずるとハマって エンドレススリープレス。

(06:22)

_ K14

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070223#p01

ありがとうございます。やてみます。 ブラウザなんかはアンチェリいいなと思うのですが、 端末とエディタは不慣れだからかもしれませんが やはり厳しい気がします。 エディタはいいかもしれませんが。 あと黒背景ってのも関係あるのかしらと思うこのごろ。

正直 OSX は現状のキチンと手の入ってない現状では 気に喰わんところだらけなんですが、 環境いじりより環境ソフト作る方が楽しいので そっちに時間使いすぎで細かい設定全然してないとかいう。

まぁ一覧を書こう…

  • w3mimg 作る (まー元気になればすぐできるだろ) Ruby で書いたヤツは絵は出てるがムッチャ重いので方針変えてたらめんどくなってきた。
  • sevilwm 風の Window スイッチに移動とリサイズ (まー CGS* ベッタリなら行けるだろうし探索作業は楽しい)。現状ではここが圧倒的に一番不快。
  • フォント。現状の端末のフォントはさすがにひどい。 Emacs も黒背景だと太く見えるんだよなぁ。
  • サーバ類。 mod_python つきのフィルタプロキシは Thinkpad の方のを使ってもいいかもだけど ssh くらいは動かしておけよと思う。
  • キーボード。 HHK Pro との共存がイマイチうまくいってない。
  • てか Synergy みたいなのあったら HHK 一本で両方触れていいわけだが。
  • お気に入りショートカット類。特に Terminal.app の Ctrl+; でペーストが無いのがキツいかな。 X 使って mlterm ってのはアリだけどそれならもう Linux 入れるなぁとも思う。せっかく OSX に使ってみようかと思っているのに。
  • Terminal.app で行折り返して編集してる時に大変なことになることがあるので調べる。
  • 各種コマンドを覚える。スポットライトのコマンドラインアプリとか便利そう。
  • 英語辞書。とりあえずは Thinkpad の rdic が eijiro-server になってるのでそれと繋げばたぶん終わる。
  • TeX 環境。
  • CPU 負荷メータ。なんかメニューにつくのつけたけどちょっとイマイチな見た目かな。
  • ディレクトリ構成に慣れつつ考える。 Application ってとこに野良 .app はつっこめばいいのかな。
  • /Users/i の下の整備。 ~/wrk はどうしたらいいかなぁ。
  • alias 。 .app は alias しとかんと不便。
  • Emacs は AquaSKK をやめる。 tekezo 神が書いておられたはず。
  • ReFe とかそのへんのアプリ入れまくり。
  • zsh の complete が弱すぎる。 fink のじゃダメなのかしら。
  • もちょいまともな逆アセ。できれば自分で otool のラッパを書けば理解も進んで良い。
  • Ruby/SDL にもう一度
  • D/SDL にもう一度
  • Titanion にもう一度。ところで Cmd+Q の件は SDL_QUIT 来てないのかしらという話なので考える。
  • Finder っていうヤツはどう使えばいいんだろう。アイコンは無いと思うのだが、一覧ぽいヤツは二種類あってふむーと。あと Return でディレクトリの中行ってくれないとか。
  • iTunes をなんとかする。
  • まだなんかあったっけーな

正直隣に Linux があるからなんとか使えてる感じだよなーという感が強い。

終わったこと。

  • Firefox 入れてからとても便利になった気はする。 tekezo 神のおかげなわけだけど。ゴルフサバがメモリを逼迫する環境ではまともに動かんくなってたんだよな。ていうかね、気付いたよ HaH が便利なのは高速なマシンがある環境に限るね。
  • 同じく tekezo 神のおかげで環境移行期の sshfs が便利で良い。

(06:47)

_ ungolf.rb

どんな中学生やねんちゅうクォリティのコード…

(07:05)

_ 不思議なことです

下押しっぱで移動させると、 端末の移動速度より w3mimgdisplay の移動の方が速い。 大丈夫か Terminal.app

(09:58)

_ core

http://www.morishima.net/~naoto/fragments/archives/2006/10/02-1814.php

うーむ再起動がいるのか。

(10:00)

_ あーあと

画像ビューア必要だな。 無けりゃ作ろう。 プレビューなんて派手なのいらんくて、 ただ単に画像出して最大化とかくらいはできて、 q 押したら終了する、ってくらいのものを。

まぁ目下のところ open でも十分ではある。

あと頓着しない子としては既に Emacs のフォントには慣れた気がする。 端末はなんとかしないとな

(11:58)

_ おおお

http://www.garbagecollect.jp/~usa/d/200702c.html#id20070225_P1_2

Ruby のゴルフサポートが強化されるのかっ

とりあえず s/// が欲しいとか

(14:55)

_ Windowの上下

VirtueDesktop がこの上なくキチンと作ってくれている。 DEC がどうとかいう部分ひっこぬいたら Window の上下のテストが動いた。

あとはキー入力を受けられたらいいわけだけど、 それはランチャソフトとかでいいかな。 → QuickSilver で良さげ。こんさんには感謝であることよ

一刻も早く欲しいのは SWITCH_(LEFT|RIGHT|DOWN|UP|...) として、 あとはWindowを端にふっとばすのとチョイ移動。 画面最大化は Witch にあるしいいか

(16:31)

_ よくわからんけどコレだ!

CGSSet* をそのまま使うには Dock と同じ立場であるところの Universal なんとかにならないといけないらしい。 それになるには Dock を殺す必要がある。 師を殺さなければ免許皆伝とは言えぬー。 それはよくわからんがちょっとありえない気がする。

んで Dock と通信する方法がこうあるみたい。

http://developer.apple.com/documentation/Carbon/Reference/Apple_Event_Manager/Reference/reference.html

ってか Window を上に出すのもプロセスに フォーカス当てるのもできてるのに、 同一プロセス内でスイッチした時に Window が上に出るだけでフォーカス当たらんというのがなんとも。

あ、なんか一旦フオーカス捨てればいいのかも

(18:54)

_ おお

なんかちゃんと動くのは感激ですな。

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070225#p02

あと僕も必要な時だけ画像表示なのですが、 最近はどうも「必要な時」が増えているような気がします。 プログラム関係の調べ物でも 図とか画像で入れてるところが結構あったりと。

あとズレる方向はうちだとむしろ下… と思ったら screen の有無で結構変わるみたいでした。 screen 無いと上の方に。 正直 screen あるか無いかとか調べよう無い気がするんだけど どうなのかなー。 でも X のヤツはどうしようもなくキチンと位置あってるなー。

まぁ色々知識不足なので動けばいい主義のいいかげん物体です。 あとあまりささっとでもないというか どろっとアチコチ寄り道しながら色々調べて…という。 まぁ新しい環境調べるのは楽しいもんですなぁという。

(20:46)

_ ふーむ

だいたいわかった、と思う。

Accessibility API とか NSAccessibility つーのは プロトコルであって、このへんのキーワードで探すと Cocoa アプリを作る側はこいう規約にそってぷろぐらむすると ユーザにやさしいでちゅよーとかそいう感じ。

んでそれを使う側になるのはたぶん主に Apple Script で、これは内部的には Apple Event とかいうのになって飛んでいく、とそんな感じ。 なんかしらんけど Apple Script は Window ID とか使ってるし、 AXFocused とかいうのをセットゲット…と思ったらダメじゃん Carbon Emacs この属性サポートしてないよ!

なるほど規約に沿ってくれとおねがいする気持ちもわかるというか

(21:23)

_ CoreInjection

DesktopManager はあやしげなことやってるなー。 Dock に侵入してるらしいが

(21:27)


2007-02-24

_ むーん

ヤター Window 一覧取れたよ! これでマカーになれるかもしれない道が開けたような。

(01:31)

_ ぐおお

もう世界はジョブズのものになるんだと思った。 っていうかジョブスかジョブズかもわからない。 あと端末は打てるようになったけど w3m には日本語通らないからぐぐれない。 あと HHK Pro を MacBook に刺しちゃったので Thinkpad さわらなくなった。

http://d.hatena.ne.jp/atty/20070223/p1

そういえば Firefox 入れてないからえらい不便だったんですね!! Safari ってなんだこれわ!

まぁ僕はいくらなんでも日常使いマシンがゴルフサバになってるのは おたがい不幸だよねーというタイミングで おやねんがんのおかねが手に入ったぞーということで、 Mac はどうせ僕には使えないだろうから Linux マシンとして欲しいもの…ということで探すとどうにも MacBook しか無いという有様で (次点は HP のノートだった理由はかっこいいからとかそんな) まぁスペックとか色々不満はあるけど (もっと重くていいからシルバー層向けに液晶デカくしろとか) なんていうかクロスプラットが服着て歩いてるを 目指しつつ全然目指してない我が家としては、 ウチにも OSX 欲しいよなーというのはごく自然の流れでほげほげ。

案外 OSX のままでも使いものになりそうなんだよなー。 ニッチで誰もやってない w3mimgdisplay と sevilwm の 目処が同時に立ったのはでかい。

ところでホッピーとかいかがですかという。

http://zinnia.dyndns.org/~hiki/SandBox/?%C2%E8%B0%EC%B2%F3%A5%DB%A5%C3%A5%D4%A1%BCOFF

(01:57)

_ ぐおお2

http://d.hatena.ne.jp/w_o/20070223#p1

正規表現ネタキタ。

最近正規表現のことばかり考えてるのですよ 主にゴルフのせいで。

正規表現は可読性最悪なのですが、 短いバイト数に豊富命令を押し込むって能力はズバ抜けてる。 明らかに成功した DSL のトップ1なのは間違いない。

んでそいうこと考えるとこれはどう見ても言語環境つか VM ですっていうノリでね。 入力文字列をスタックと見たスタックマシンとして考えると、 スタックプッシュする関数とか、動的に正規表現をスタックから生成する 機能があればこれっていわゆる Turing Complete !?!? (よくわかってない) なんじゃないかとかそんなことを思ってたのがうんいくらか前の話。

あとたぶん正規表現が正格表現とかも呼ばれるアレじゃないのは あの \1 とかいう 後方参照とかがおーとまとんで書けない例だと理解してたんだけど、 まぁよくわからない。

形式言語理論っていうオートマトンがどうのとか正規表現がどーのとかいう 授業を 5 回も受けた (なんとこれはあの k.inaba さんの推定5倍の数字なのである!!!!) 私が言うのだからまかせてくれといったところです。

ところでホッピーとかどうですか

(02:12)

_ やっとFirefox入れたよ…

長いみちのりであった

(08:32)

_ Turing Complete

これも DFA とか NFA とか同様、よくわかってない単語だった。 ただ DFA と NFA はもうわかってるよ前の shiro さんの pdf 見たりしたときにわかった!

んで Turing Complete は なんとかセミナーの時に情報理工のやんごとなき人々が 2D は Turing Complete だけど BALANCE は違うとか言ってて、 まぁそんなもんかなーと思いつつも なんでそんなにすぐわかるんだろーっていうか 何言ってんだコイツみたいなことを思ってたのは 今解きあかされる真実とかはどうでも良くて。

最近フラたんのおかげで Turing Complete について非常にわかりやすい定義を ゲットしまして、 Brainfuck を実装できれば Turing Complete という 非常にすばらしい定義です。 しかしまぁこれだと実装者の腕前によってしまうのだけど、 まぁ実装ができてしまえば論より証拠チックに Turing Complete であることは証明されてしまうのだなぁと。

問題は「うーんコレ Brainfuck 作れるんかよー」とか 思った時なわけだけど、 まぁそれは「俺チューリング不完全」とか呼んでおけばいいと思う。

(09:12)

_ フォント

フォントが好きくないのは単にアンチェリが好きくないからかもな。

でもブラウザのフォントとしては良いものだと思う。

(09:12)

_ w3mimgdisplay.rb

表示ができるのはとっくにできていて、 あとその位置だけあわせりゃ終わりってとこで苦労してたんだけど、 どっちにせよ位置取得に C 使うんなら最後は Ruby から ObjC にするんだし今のうち移行しておいた方がいいかなーとか でもプロトタイピングは慣れない ObjC より Ruby の方がマシだよなーとか。

ってか作りかけゲームで1500行くらいは書いたみたいなので ObjC でも問題無さそうなのだが。

つまりスクリプト言語でプロトタイピングとかの問題は こういうどうでもいい政治判断をたくさんしなければならないことである。

その点 C はスバラ C !!!!!!!!!!! 迷い、ナシ! C で書くと決めたら後は一心不乱に書くべし書くべし。

(09:20)

_ なんか一手足りないのだった

Window list から、 w3m が走ってる Window がわからない。 Terminal.app が一つのプロセスで二つ 同じタイトルの Terminal を起動してたりするのがつらいようだ。

PID 渡せばーとか思ったが Terminal.app は同じ pid 。 tty のデバイス名から…ってのもあるんだけどキツい?

フォーカスがあってるかーって情報を取るのが一番普通だと思う。

ただそいう API が拾ったヘッダにない。 てか Carbon を nm で見てるとヘッダに無い API なんてざっくざっくと出てくるのがなんとか。

例:

http://www.google.co.jp/search?hl=ja&safe=off&q=cgscyclewindows&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=

で、とりあえずの課題は API 一覧を得ることだったのだけど、 なんか Carbon.framework の下を nm してまわっても 全然定義されてないなーと思ってたんだけど、 ld を ktrace したらわかった。 ApplicationServices の下の CoreGraphics.framework にあるのね。 なんかなんでもないこと調べるのに苦労しててダメだ。

ってかそろそろ書いてかんと調べたこと片っ端から忘れていくなぁ

例えば Workspace って概念は OSX には最初からあるわけで、 X の WindowManager みたく Window を消したり出したりして 作ってるわけじゃないんだよなーとか。 そもそも VirtueDesktop のやってる エフェクトつき切り替えも CoreGraphics の機能ぽいし。

む kCGSActiveWindowLevel 。このあたりかな。 kWindowTitle 以外の使い方が全く不明な CGSGetWindowProperty に渡せばいいんだと思うけど、 うーんしかし誰かがとっくに調べてそうなこと調べてるなぁ。

あと otool -tv がイマイチなので逆アセで調べにくいのも困る。 このへんなんとかしないとな。

(11:26)

_ daihakkennnnnnnnnnnnnnnnnn

Window 一覧が取れたら、最初に出てきた 名前が非ヌルの Window がフォーカスあたってるんだよ!!!!!!!!!!! っていうかフォーカス順にソートしてくれてたよこれ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

(11:40)

_ でけた

i@um ~/wrk/cocoa> cat testfocusedwindow.rb
require 'focusedwindow'
p focused_window
i@um ~/wrk/cocoa> ruby testfocusedwindow.rb
[9, 400, 583, 388]

わいわい。

(12:30)

_ ここあ

ここあはなんか画面一番下が 0 なんだよなー

色々痛くて変換ができない

(13:15)

_ 描画について

NSBitmapImageRep とか見てたけど、 明らかにコレスジ悪いよなーと思ってほげほげ見てると、 CoreImage API つーので描いたらいいみたいだ。

(16:49)

本日のツッコミ(全9件) [ツッコミを入れる]

Before...

_ kosaki [人間がhttp://swtch.com/~rsc/regexp/regexp1.htmlにのってるような状態遷移図を..]

_ k.inaba [>どれがオートマトンで表現できて その正規表現と同じ判定をする関数  bool hoge(char* p) { ....]

_ konn [NSViewとかNSImageとかだったら、isFlippedメソッドを上書きしてYESを返すようにさせると、ふつう..]

_ k.inaba [あうー自己つっこみ。↑↑だと"aとbの個数が同じ"とかがRegularでないのに事実上書けてしまうので微妙でした。一..]

_ wo [>shinhさん 17日はわかりました。また近くなったらメールします。 > k.inabaさん 「メモリサイズ固定=..]


2007-02-23

_ うーん

おやしらずが異様に痛くて何も考えられぬー

(00:43)

_ 端末日本語

もう EUC-JP にしちゃえ、ってことで変えたらよくなった。 Emacs のフォント気にいらないなぁ。

でもそういや w3m-img が無いんだよな

(01:18)

_ ぬーん

SKKだけど、 ほげほげうんこ Ctrl+m とかは確定&改行になってくれると良いのだが

(01:40)

_ 痛い

親知らずが痛すぎて、 間違って親不幸 痛いでぐぐってしまった。

(02:17)

_ LCSマジメに解いた人募集

http://shinh.skr.jp/m/?date=20070213#c09

誰もマジメに解いてなければかなしい。 あーでも LCS モジュールとかで解いてなかったっけ。 Scheme で。 あーいや Scheme の LCS モジュールは test#3 にパスしないとか書いてありましたねそういえば…

TODO: 親不孝痛くない時にリンクを探す

(02:35)

_ 要するに

親不幸痛すぎてなんか反応しようと思ったとことか 全部スルーしてるな

(02:35)

_ rec

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070221#p02

ハフマンはこれです

http://cvs.m17n.org/~akr/pub/rubykaigi2006-06-10.pdf

で、 OCaml はもうどうしようもなく失格だと思います。

ハフマンの話それ自体は書く側読む側共通で正義かなぁと思います。

ただまぁ Ruby や Haskell なんかは、 別によく使わないのになぜか短く書けるような機能が結構あって、 そういうところをガンガン使ってゴルフしてるのかなぁと。 あとそういう部分がとても多いのが Perl 。

うむまとまらない

(02:43)

_ うだうだ2ちゃんでほざくよりGAME内でケリつけようぜ雑魚が

http://jbbs.livedoor.jp/game/7135/storage/1086876397.html#14

ネトゲはよくわからないが割と衝撃的なセリフであった

「うだうだAでほざくよりBでケリつけようぜ」 のAとBを、A<Bと定義するとそれは 全順序とかになってるだろうか。

2ch<GAME
GAME<リアル
こんな所<出るとこ出て
みくし<はてな
はてな<ブログ
掲示板<オフ
匿名<実名

よくわからんな。 2ch より下はあるのだろうか。

うだうだAでほざくより2chでケリつけようぜ

うーむ。 ありそうなもんだが

(03:00)

_ フォント

ヒラギノとやらよりはるかにK14がいい気がするんだが。

マカーはフォントが良い良い言うけど 俺は目が不自由なのかわからないなぁ。

(06:47)

_ migemo

いつもながらめんどいが、 migemo関係のソフトを全部入れた、 つまり、 w3m に cmigemo に cmigemo-server/client とかその依存物とか

(07:58)

_ AquaSKK

ふーむ。

  • Windowごとにstate を持って欲しい
  • Ctrl+m は入力確定+改行であって欲しい
  • q でカタカナにした時の単語を辞書に入れる必要はどこにもない

まぁあとで調べる。

にしても w3m-img 欲しいねぇ。

あと痛い T-T

(08:16)

_ AquaSKK

そもそも端末で日本語入力モードに切り替えられないというのもひどい

(10:04)

本日のツッコミ(全2件) [ツッコミを入れる]

_ m.ukai [LCS は OCaml toplevel だと高速化しても3つめが timeout ですーって時間が間に合ったとして..]

_ jijixi [AquaSKK が Terminal.app でひらがなモードに切り替えられないのは、どっちかと言うと Termin..]


2007-02-22

_ OSX

普通に普段やってることができるようになってきて困る

それより問題はあいつーんずとかいうやつを使ってることだろう

(01:29)

_ OSX

AquaSKKは便利だと思うが、 Emacs は別のモードを持ってるべきです。 woさんもそういっていた。

あとタイトルバーのファイル名の部分から端末にドラドロで 端末にそのフルパスが出るという機能は実にどうでもいい

(02:30)

_ VirtueDesktop

衝撃的によくできている。

まかーになりそうでやばい

(03:17)

_ D & OSX & SDL & Universal Binary

色々大変だったみたいだ。

まず全部 Universal Binary をそろえないといけない。 SDL とかはある。 libbulletml はまぁ -arch とかつけてコンパイルしなおす。 さて… main の入ってない phobos が必要です。

ar -x とか libgphobos.a にしてもダメ。 Universal Binary に ar は通用しないぜ! んで lipo と libtool で中身を取り出して、 ar -x で展開…すると、同名のファイルを上書きされてダメじゃーん。 しゃーないので ar を展開するツールを作ってドビャーと展開、 んで cmain.o を削除してもう一度固める。

あとはまぁ…コンパイルはまぁ普通に通る。 .ptr とかあちこちにつけて回ることにはなるけど。

リンクで Universal Binary を作りたい場合、 普通なら gcc -arch i386 -arch ppc で終わりだけど、 libgphobos.a をリンクしたくない関係で collect2 のオプションをいじらなければいけないのだけど、 このオプションが i386 と ppc で違ったりしてまた微妙にめんどい。

そんなこんなで isshiki さんのはビルドできた気がする。

ABA さんのはとりあえず最近のは template の循環参照がありましてね… ということで、ソースを全部結合するというソリューションを思いついたので、 ttn 以下と util 以下を別々に結合してコンパイル・リンクすれば動いた。 別々にやる理由は Frame : abagames.util.Frame とか そういう継承のしかたしてるからモジュールをわけないといけないからであったー。

(06:38)

_ 世界樹

はなびらこわい

(11:20)

_ 世界樹

強行突破してクリアした。 そこらの雑魚一匹の一回の攻撃でこっちの パーティが全滅しうる。

FOEよりはるかに雑魚が怖いので FOEを泳がせて赤くなったらFOEと戦闘するとかそんな。

Lv50,50,50,50,39 の ダレメバカ。 レンジャー以外ダメージ与えてないみたいな。

あとストーリーは全く無い方がいいね。

(15:21)

_ うーん

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070222#p03

すいませんです。 しかしなんでだろーと原因調査しているうちに通るようになった。 なんでやねん…スワップとかそのへんかなぁ…

(16:14)


2007-02-21

_ うーん

submitサバが死ぬのは僕的には面白い (なぜなら僕も PKU とか CodeGolf とかにヒドいコード投下しまくりで、 オマエラよくやるなニヤニヤと笑えるから) のだけど、出かけてる時に長期間止まるとちょっと申し訳ないなぁ。

すまんこってす。

なんかそろそろマジメに対策考えようじゃないか。 ちなみに止めた実績のある言語として C++, JS, Erlang, Ruby, Io なんかがあったような。 CLISP とかもあったかな。 ていうか止まった時にちゃんと調べようよ…!

ていうか core 吐くようにしよう

(01:44)

_ 何度か見た気もするけど

http://www.geekpage.jp/blog/?id=2007/2/16

via http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070220#p02

プログラミングはセックスと似ている。一つの間違いに対するサポート
を一生続けなければならない。

ファインマンは「物理はセックスと似ている。過程が目的なのであって、結果生成物に興味はない」とかそんな感じのこと言ってたよな。

たいていのことにこの手のジョークは作れるのかも

(01:56)

_ 面白すぎる

http://d.hatena.ne.jp/sumim/20070221/p1

(17:17)

_ うーむ

  • exec のチェッカは全部チェックしなおすべき
  • というかいいかげん unittest 書く
  • 落ちるコードサブミットは深夜にでも

(17:26)

_ SRC

って打とうとしたらちょっと手がずれて SEX になった。 すばらしい罠配置だ。今まで気付かなかった。

(20:23)

_ なんか

timeout時に出力取ろうとするのがマズい気がする

(20:33)

_ testsrv

なんか殺した後に標準出力回収しようとすると、 select は成功するくせに帰ってこなくなるみたい。 なんとかするまでとりあえずタイムアウト時の標準出力回収停止。

(20:48)

_ ゴルフ

突然再起動したと思ったら critical temperature reached (91.0C) とか kernel が吐いてた。

どうしたものか。

_ libtool

とにかくだるい。

lipo -extract ppc libgphobos.a -output hoge.a
libtool -static hoge.a -o hage.a
ar -x hage.a

とかそんな感じで。

(23:31)


2007-02-20

_ うーん

http://zenmetsunotora.blog89.fc2.com/blog-entry-41.html

納得できないなぁ。

(01:06)

_ これ

http://golf.shinh.org/p.rb?e#Befunge

下の Minus のエントリと比較するに、 同じ方法で圧縮してるんかな。

Minus ってマイナスしか無いわけだが。

(05:04)

_ まぁこれで

--- js.c-       2007-02-20 06:10:02.000000000 +0900
+++ js.c        2007-02-20 06:11:21.000000000 +0900
@@ -653,9 +653,10 @@

     /*
      * Turn buf into a JSString. Note that buflength includes the trailing null
-     * character.
+     * character when readline ends with newline.
      */
-    str = JS_NewString(cx, buf, buflength - 1);
+    if (gotlength > 0) buflength--;
+    str = JS_NewString(cx, buf, buflength);
     if (!str) {
         JS_free(cx, buf);
         return JS_FALSE;

(06:11)

_ 同じ話かと思ったら

https://bugzilla.mozilla.org/show_bug.cgi?id=355827

そうでもないみたいだ。 ってかこれは別にバグじゃないんじゃないのか。

ああ、と思ったけどこれはひどい。 ていうか delete blank line とかどう解くの。

しかも UNCONFIRMED の略が UNCO って! 確認してやれよ! どう見てもこれじゃ困るじゃん! UNCO-! SM! UNCO-!

こんなもんマトモなプログラム言語じゃないなぁ…

(06:28)

_ Rhino

は readline 持ってないみたいだな。

まぁこれ当てるだけじゃんねぇ。

https://bugzilla.mozilla.org/attachment.cgi?id=241533

しかし全然 specially に扱ってねえしな。 UNCO!

(06:45)

_ なんか微妙なやりとりで入ってるなぁ

https://bugzilla.mozilla.org/show_bug.cgi?id=300841

(07:06)

_ LGPL

普通に考えると動的リンクだろうと思ったけど、 もしライセンス内できちんと書いてないのであれば、 たしかになんか微妙なかんじだなぁ。

http://d.hatena.ne.jp/KouMikage/20070214#p1

(07:31)

_ なんか

kounoike さんが猛っておられる。

swap と rotate で記録更新、かな。

(08:21)

_ rotate

http://golf.shinh.org/p.rb?rotate+lines#Perl

2秒で追いついた。そらそうだ。

(08:22)

_ 15からということでよろしいか

+
++
+++
++++
+++++
++++++
+++++++
++++++++
+++++++++
++++++++++
+++++++++++
++++++++++++
+++++++++++++
++++++++++++++
+++[->+++++<]>

27とかくらいだと、

+++[->+++++++++<]>
++++[->+++++++<]>-
+++++[->+++++<]>++

の方が

+++[->+++<]>[-<+++>]<

よりいいわけだ。興味深いな。

64でもまだ。

++++++++[->++++++++<]>
++++[->++++<]>[-<++++>]<

125だと…

+++++++++++[->+++++++++++<]>++++
+++++[->+++++<]>[-<+++++>]<

121作る時点で既に負けている。

(08:48)

_ 少し頭ひねったら

なんかピピンと下りてきた。全然違うコード。

http://golf.shinh.org/p.rb?hello+world#Brainfuck

(09:39)

_ まくぶく

きた。

タッチパッドは手がつるな。

とりあえず Xcode 入れればいいのかのう。

にしても最初から 17GB とか消費してあるんだなぁ。

Ubuntu つっこんで /home 30GB / 20GB とすると OSX になんぼも HDD のこらん。

ってか /home とか共有できた方が もちろんいいんだろうけどどうするのがベターなのかな。

まぁしばらく OSX で遊びつつ考えよう。

(10:42)

_ OSX で遊ぶことリスト

Ruby/SDL を見てみる。 今のところ ctor => main のてっぺん書き換え、っていう libGPL 殺法が一番良さげに思えるという。 あるいは ptrace かね。 mprotect はあるみたい。 ptrace もなんか man が出る。

あとは D の方。 とりあえず片っ端からゆにばーさるばいなり作るのを目標で。 なるべく downloadable なものを利用して作れると良い。

あと tekezo さん works で遊ぶ。

このくらいで飽きるだろう。

(11:52)

_ testsprite

Window モードだと 50FPS でフルだと 1800 。

(11:54)

_ Ruby/SDL

http://shinh.skr.jp/rubyrun.c

これコンパイルしてインタプリタとして使うだけで十分なような。

(12:11)

_ 祝い

http://d.hatena.ne.jp/ytqwerty/20070218#p1

を見てゴルフ場無制限使用会員権をお祝いに! とか書こうと思って忘れてたんだけど、 既に来ておられた。さすがに Ada でかいなー。

(12:15)

_ callcc

def finishLaunchNantoka
  puts '> finishLaunchNantoka'
  callcc {|$c2|
    $c.call
  }
  $c3 = true
  puts '< finishLaunchNantoka'
end

def _SDLMain_main
  puts '> SDLMain_main'
  finishLaunchNantoka
  puts '< SDLMain_main'
end

def _Init_sdl
  puts '> Init_sdl'
  callcc {|$c|
    _SDLMain_main
  }
  if $c3
    exit
  end
  puts '< Init_sdl'
end

_Init_sdl

puts 'hutsu-ni SDL'

$c2.call

要はこんな感じのを libruby で書けばいいのかな

(13:56)

_ even.d 63B

extern(C)int gets();void main(){for(;gets;)printf("%s
",gets);}

一個目のテストケースは通るのだが。 ところで gets の戻り値を long にするとサバが停止する。 帰ったら考える。

(14:41)

_ むしろ

普段から憎いような。

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070220#p01

久々に使うと必ず rec 忘れるんですよね。 しかし間違い発見しやすくなるのかぁ。

普段から憎い部分ほどゴルフ的にも嫌いというのはつまりそれは ゴルフ的にアレなところが僕の嫌いな部分ということですね はいそれはなかなか。

とりあえず OCaml は akr さんのハフマン符号がどうこうの精神を 読むべきだと思うんだよな。あと D もそんな感じ。 Haskell はわかってる。 Ruby はもっとわかってる。 Perl はたまに異様にわかっててツンデレ。

(18:24)

本日のツッコミ(全5件) [ツッコミを入れる]

_ ySas [BefungeとMinusのeですが、発想は同じかもしれません。たぶん、実際の値は違うと思いますが。あと、私のeは実..]

_ YT [会員権ありがとうございます〜。入会記念に好き勝手言い残しておきます。 まずそのAdaですが、コンパイルオプションに-..]

_ shinh [ご意見ありがとうございますです。-gnat05は加えてみたつもりです(未確認)。そのあたりは追加言語候補としてまた今..]

_ YT [-gnat05確認しました。ありがとうございますー。(ゴルフはしてたくせに)レスが遅くなってすみません。 歓迎会とい..]

_ shinh [レスなどいつでも良いですはい遅延評価とかそのへんで。上でも答えましたがおいわいはぜひ参加させてくださいませませ。]


2007-02-19

_ これか

js.c 。

   /*
    * Turn buf into a JSString. Note that buflength includes the trailing null
    * character.
    */
   str = JS_NewString(cx, buf, buflength - 1);
   if (!str) {
       JS_free(cx, buf);
       return JS_FALSE;
   }

で、 jsscan.c では、

   buf[i] = '\0';
   return i;

とかやってる。 つまり js.c はコメントからして間違っている。

パッチは瞬時に書けるけど検証とか色々考えるとめんどいか。 最新版でもなおってみたいなので 暇な時にでも Nightly とか見てからパッチ投げるかぁ。

(00:09)

_ 俺と

http://d.hatena.ne.jp/w_o/20070218#p3

忍耐力は、他同様、人それぞれだと思う… さっぱりついていない典型例がここに。 あと今に至るまで勉強は単なる趣味なので 受験とかあんまり我慢でも無かったんだよなーという。 英語つまらんから気張らしに物理やるとかそういう。

正確な文書はまさにそうで、 例えばレキシカルスコープという単語を見るとびくっとする。 未だに意味がよくわからない。 {} のことかな。

ということで斜め読み。

http://www.geocities.jp/m_hiroi/func/smlnj04.html

なんとなくわかったような。 Ruby の最近の議論はダイナミックにしようとしてるのかな。

一方一応専門としている物理の方は、 と、言えると良いのだけど、 むしろこっちの方がヤバいって勢いで専門用語が使えない。 「ユニタリ変換のエクスポネントって何ですか ハミルトニアンのことですか? そうならそう書けドアホ」 とか言われていじめられたり、 「それただ○○ってだけだよね」 とか言われて、○○の意味がサパーリわからなくて 「あー、それ」とか適当にゴマかす人生なわけだ。

というわけで

  • (落ちこぼれなければ)正確な文書が書ける
  • (頑張れば)忍耐力がつく

くらいじゃないかとか思うのでした。

あと難しい問題も色々あやしいと思うけど、 出会ってる人もたくさんいるのでまぁそうかもなーという。

(02:36)

_ わらた

http://d.hatena.ne.jp/sumii/20070217/p1

この手の技術で場合によって縮む言語とかあったら面白いだろうな

(02:41)

_ ただ

Haskell の表現力の強さは本物だなぁと思う。 正直 OCaml はダメだコレという感の記述力の無さだ。 OCaml の大嫌いな部分である string_of_int だとか print_int だとか *. だとか そのへんがモロに影響する。 強い型付けのために…という言い訳は、 Haskell やら GCaml なんか考えると言い訳になってないかなぁ。

でも OCaml は久々に触っても割と書けるのは良いなぁ。

うーむ Haskell 強い。なんか見直すものがあるな。 ハスなんとかとか言ってごめんよ。

http://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20070217#c01

ふとお前の言語選ぶ基準はゴルフかと自問する。

ちなみに僕の e.rb はこんな。あと 8B は実に遠い

a=2*v=10**?d
a+=v/=$.+=1while 0<v
p a+36

(03:11)

_ rescue

最近こう書けると知った。

nil+1rescue p$!
raise'str'rescue puts$!

これ結構短いんだよなぁ。 今までの問題で適用できたのもあったのかもしれない… が、今さら見返すとかはなんていうか無理だ。

(03:47)

_ 論文を書くのがつまらない

理由として、結構頑張って書いてもクソみたいな クオリティだったりすることがある。 それで楽しさが減らされちゃってるてのを考えると、 慣れるとこれも楽しいものなのかもしれない、とか思うんだけど。

もうちょい文章書くの慣れたらもう一度考えてみると良い。

(04:11)

_ 人類の大罪は

水曜までに処理

(04:26)

_

http://park7.wakwak.com/~blackbox/#dd2007-02-18_01-50-17

そもそもテストサバは ネットワークから断絶されてる(はず)なので、 example.com は誰かアクセスできるバグ見っけたら 記録出してみて下さい、っていう趣旨のものです。 というかアクセスできたら Ruby は

open'open-uri'
$><<open('http://example.com/').read

とかで終わりなので。

(05:22)

_ なんだよ

open'open-uri' って。もちろん require'open-uri' が正解。 ってか shebang でやった方が短いか。

(05:24)

_ スピードを

http://golf.shinh.org/p.rb?All+Expressions#Ruby

最適化しまくったところ通った。 元のコードは何Bくらいだったっけという感じだ。

(08:31)

_ unlambda

せっせと考えたけど1文字読み取って 1文字吐くくらいのプログラムしかできないのであった。

動きみないと死ねるので、 インタプリタ書いておられたなーと思って 眺めてみるもなかなか大変そうで死ねる。 たぶん d の実装が大変なんだよね。

http://d.hatena.ne.jp/oto-oto-oto/20061226/1167145829

(14:43)

_ AWK本届いたのでがんばります

http://www.garbagecollect.jp/~usa/d/200702b.html#id20070219_P4_1

ホントか

(21:12)

_

IMG_Load ってマクロじゃなかったのか… あー magic だけじゃなくて拡張子も判別の情報になるからかな。

(22:20)

_ どうでもいいけど

example.com 落ちてるよな

(22:45)

_ 何コレ

ていうテクニクがたくさんあるな。 全然 Perl 脳になってないなぁ。

http://www.nmt.ne.jp/~ysas/diary/?200702b&to=200702191#200702191

とりあえず -lp 使ってないのはひどい。 寝てるとしか言えない。

(23:08)


2007-02-18

_ pid

http://d.hatena.ne.jp/Ozy/20070217#p1

僕はこの手のコード見てうひひと思うのは好きなのだけど、 にはさんがインチキするかしないかで四苦八苦とか してるのを考えると、 確率的な方法は潰せるなら潰した方がいいのかもなぁという。

うん。というわけで、ですね。 getpid のカウントを取るとか、 まぁそいうのはアリっちゃアリなんだが、 まぁめどい。

でもとりあえず

echo 0 > /proc/sys/kernel/randomize_va_space

しといた。

うーんめんどいから各自適当に shinh(cheat) とかで 対応していただければ。

あーでもシステムコールのフックはちゃんとやりたいなぁ。

(07:09)

_ にはさんには悪いが

http://golf.shinh.org/p.rb?show+the+way#Ruby

これしか無いよなーというチートをしてたら 当然のようにフラたんとバイナリサイズが同じで面白い。 でも 7B も負けてるなぁ

差が2Bになった

まぁマジメにも解こうよという

(07:23)

_ こっちでも

http://golf.shinh.org/p.rb?show+the+way#sed

2B負けてる。

1B差になった。

1B勝った。

(07:31)

_ しかしまー

Rubyの人ってのはすごいなぁ。 こう俺がそれなりに長い間かけて蓄積してきた 大量のバッドノウハウを使って問題解いてるのに、 普通に追いついてくるっていうか。

(08:05)

_ 世界樹

FOEと戦うとTPが全快するから 帰る機会が無いなーと突撃してたら全滅した。 結構な時間が。

(09:30)

_ アレフ

http://www.aleph-lang.org/

これ入れてみたんだけど、 ベル研のヤツは Alef だよなと思ったのであった。

(11:13)

_ 言語増やすのに夢中になってたら

フロ湧かしすぎた

(11:16)

_ ゴルフのしすぎは

あなたの家を火事にする恐れがあります。

それはそうと hello.curry は相変わらずリンク通らん。

ということで A+ と J かなぁ。

(11:19)

_ そしてうめすぎた

うめるって関西語かね

(11:38)

_ なるほどなぁというか

プロセス落ちてたのは、 大量の出力があるスクリプトが submit されたからっぽい。 プロセス自体がメモリバカ喰いするとかは すぐ殺されるので問題無いのだけど、 親に大量の出力が来て親が死ぬと終わる、という。 まぁプロセス起動する部分の回りを for i in `seq 1 1000` とかでかこっておいた。

で、この場合、

   o = stdout.read

とかでメモリがものすごいことになって死ぬわけだ。 そらそうだ。

んで、

   o = stdout.read(10000)
   e = stderr.read(10000)

とかでいいだろーと思ったんだけど、 なぜか stderr.read(10000) の方が帰ってこなくなった。 stderr に内容がある場合は大丈夫。 あとタイムアウトじゃない場合も大丈夫。 ふーむ IO まわりはわけがわからない。

まぁプロセス死んだ場合は自動再起動するようにしたので、 帰って来ない場合はメモリオーバーで死んでくれた方が ありがたい。よって o = stdout.read で放置しよう。

あ、正解です! むしろバグ発見ありがとうございますというか、 全体的にいいかげんなシステムですいませんという。 ちなみに Ruby だと少々頑張っても プロセス止めるくらいの stdout を送るのは できないみたいだったので、 Erlang の方が速いのではないかという謎の予測が。

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070218#p03

(21:58)

_ というか

Erlang の使いかたのアドバイスありがとうございますという。

(22:02)

_ しかしみんな

いい問題次々考えるなぁ。

http://golf.shinh.org/p.rb?Booklet+Printing

こういうのは Ozy さんが鬼のように 得意という気がするがどうだろう。

俺が出したのって hello とチート伝説 echo と、 冗談でしかない example_com と 42 だけ。 42 は SF ジョーク言えるなんて 俺もハカーの仲間入りじゃね? とか調子乗ってたけど eban さんに自分の甘さを認識させられた。

(22:26)

本日のツッコミ(全5件) [ツッコミを入れる]

_ niha [帰ったらまあまともに縮めます。まだ縮むし。帰るの遅いけど。]

_ kosaki [ゴルフ場に限って言えばシステムコールのフックをまじめにやる必要は全然ないんじゃない? 単純にmmapとかgetpid..]

_ shinh [ええ、 LD_PRELOAD でいいというのは、ほとんどの場合正解だと思うのですが、 C や GAS なんかでは、イ..]

_ jijixi [こちらこそ、楽しい遊び場を提供していただいて、ありがとうございます :-) ところで、その後ちょっと調べてみたところ..]

_ Injovjhq [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]


2007-02-17

_ 明らかに一人やってることが違うので

公開 exit.rb

p (~/e/-3)%258

(00:53)

_

これと僕の混ぜるだけで5Bは縮むな。

http://www.math.sansu.org/u/diary/?date=20070216#p04

(01:01)

_ kernelも意見発信したい><

procfs とかにファイル生やすとかそいう苦労をしたくない場合、 printk とかしか無いのかな。 これはめんどい。

(04:35)

_ 参考文献

http://www.atmarkit.co.jp/fsecurity/rensai/rootkit03/rootkit02.html

を見てたんだけど、 これのまんまパクリなんじゃないかとか思った。

http://www.csg.is.titech.ac.jp/~kourai/memo/linux_kernel.html

(04:41)

_ 考えをあらためた

syscall_table.S ってのがあるみたいだというあたりで…

http://kerneltrap.org/node/5802

要するにオマエはバカだと言われているようだ

つまりなんつーかですね。 システムコールなんか Ruby で呼んでもたぶんデカいわけで、 GCC 一派だけ strace でしばりかけて、 他は .so でしばってもいいんじゃね、という

(05:45)

_ ぐおー

体だりーので予定していたアップデートの類いはちっともしてない!

だりーだりー!

とりあえず Minus はあのフラたんが esoterisのこと50% ゴルフのこと50%とか 考えて作ったに違いない -= しか演算が無い ヘンな言語なので試すといいよ!

http://darrenks.com/minus/

特徴はループがむっちゃ書きにくいこと!

aaaioac4 とかで無限ループ echo だ!

a-=a;  // a を 0 に
a-=i;  // a に入力(i)
o-=a;  // a を出力(o)
c-=4;  // 4個戻る(cはプログラムカウンタ)

あとは止める方法考えるんだお! ちなみに o-=i だと負数吐きやがる!

(06:32)

_ esoteris

って何! 知らない単語無理して使うんじゃないよ!

(06:33)

_ よくわからんけど

なんか Ruby のバグ踏んでる気がして 1B 減らない。

(08:13)

_ ぎぐぐ

ひどい。糸忘れたから ミッションクリア後に全滅した。

(09:37)

_ 第五層

ウケた

(10:40)

_ るびのばぐ

じゃねって言ったヤツはばぐでもなんでもなかった><>←さかな

(12:09)

_ ねぼけた

ねぼけて目覚ましが鳴ってるのを PCが鳴ってるんだと思って なぜか Ctrl+Alt+Del った。 結果再起動してくれた。 んで xen 上げなおすのとかねぼけててこずった。

アホというかなんというか

(15:33)

_ さすがに

こんな綺麗なコードが最短なわけないね。

これはたぶん面白い問題な気がするなぁ。

http://golf.shinh.org/p.rb?multi_key+sort#Ruby

(18:15)


2007-02-16

_ 隠蔽

http://gusmachine.blog49.fc2.com/blog-category-2.html

D は、

class C {
  int i;
  this() {
    int i;    // 合法
    {
      int i;  // 非合法
    }
  }
}

のはず。

 1. コンストラクタとsetterでは、セットする変数と同じ型の引数を受
    け取り、引数の名前はフィールドの名前と同じになることがある。
    同じであってもよい。

どの言語の話なんだろう。

#include <stdio.h>
struct C {
	int i;
	C(int i) {
		i=i;
	}
	void print() { printf("%d\n", i); }
};
int main() {
	C c(1);
	c.print();
}

こんなのは当然 C++ だとダメなので、 this->i = i; とかするんだろうか。 いや C++ なら C(int i) : i(i) {} でいいんだけど。 パイソン子なのかな。 まぁ僕はメンバが i_ になってるか、 引数が i0 になってるか、が慣用化されてるなぁ。

まぁ

 2. フィールドを参照する際にいちいち読みにいってほしくないとき、
    ローカルにキャッシュとしてフィールドの値をおいておくことがあ
    る。この名前は同じになる。

これがあるので、 D が一つ目が合法なのは 全然正しく感じる。

んで関数内のブロック内の隠蔽はなー。 あ、ちなみに

class C {
    int i;
    this() {
        int i;
        void delegate() d = delegate void() {
            int i;
        };
    }
}

は合法みたいだ。

んで関数内のブロック内の隠蔽は 禁止しておいた方が妥当な気がするけど、 俺は結構やりたいなーとかいう。

int main() {
  SDL_Surface* s = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
  // 長い時をへて
          if (hoge) {
            int s = 1;
          }

とかをしばられるのがなー。 いや行儀悪いんだけど書き散らかしコードだから許してよーという。

(15:52)

_

JSのエントリが一個メモリ不足で死んでるな。 ていうか 99 で速度不足とか大丈夫だろうか。 cron動いてたとかかもしれないけど。

(15:57)

_ compile time function evaluation

http://www.digitalmars.com/d/function.html#interpretation

思ったより適用範囲が広い。 これ入力固定の BF インタプリタくらいなら動く?

(16:02)

_ まぁ

http://alohakun.blog7.fc2.com/blog-category-5.html

よく使う機械語命令長くらいなら最近は覚えた…と思いつつ、

i;a[] = {4, 9, 2, 3, 8, 6, 3, 2, 1, 3, 5, 7, -0x80000000, 0x7FFFFFFF};
main(){
    qsort(a,sizeof(a)/4,4,"YXZ\x83\xec\f\213\0+\x2\303");
    for(;i<sizeof(a)/4;i++)
        printf("%d ", a[i]);
    puts("");
}

もろに sub じゃダメってケースだった…

% ./a.out
1 2 2 3 3 3 4 5 6 7 8 9 2147483647 -2147483648

まぁ

irb(main):001:0> disasm("\x55\xb9\x01\x00\x00\x00\x89\xe5\x8b\x45\x0c\x8b\x10\xb\x45\x08\x39\x10\x7f\x07\x0f\x9d\xc0\x0f\xb6\xc8\x49\x5d\x89\xc8\xc3")

/tmp/irb_disasm1672.0:     ファイル形式 binary

セクション .data の逆アセンブル:

0000000000000000 <.data>:
   0:   55                      push   %ebp
   1:   b9 01 00 00 00          mov    $0x1,%ecx
   6:   89 e5                   mov    %esp,%ebp
   8:   8b 45 0c                mov    0xc(%ebp),%eax
   b:   8b 10                   mov    (%eax),%edx
   d:   8b 45 08                mov    0x8(%ebp),%eax
  10:   39 10                   cmp    %edx,(%eax)
  12:   7f 07                   jg     0x1b
  14:   0f 9d c0                setge  %al
  17:   0f b6 c8                movzbl %al,%ecx
  1a:   49                      dec    %ecx
  1b:   5d                      pop    %ebp
  1c:   89 c8                   mov    %ecx,%eax
  1e:   c3                      ret
=> nil

これはちょっと見ただけで ECX のクリアは xor %ecx, %ecx; inc %ecx; に決まってるでしょ! このオバカ GCC ! とかいう感じなのでまぁいいか。 そもそもスタックフレーム作るなとか。 omit-framepointer つけといたらバイナリ長減ったりするのかな。

あと前から気になってたのですが第四引数でわ。

(16:28)

_ AWK

アマゾンで AWK 本注文した。

(16:40)

_ sh

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070216#p02

ls /bin /usr/bin などを送り込んで 確認していただくと良いかもです。

あと「読みやすく」は私の場合 「読みやすく書かなければならない」という 束縛から解放される喜びが大きいなぁ。

あと経由して思い出したように Smalltalk メモ

http://www.gnu.org/software/smalltalk/gst-manual/gst_42.html#SEC102

(17:50)

_ 3300万回

Rubyを起動させたらどのくらい時間を喰うだろうか。

(20:39)

_ うーん

終わりそうもない。

s='!\"\#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
s.scan(/./) do |a|
  s.scan(/./) do |b|
    s.scan(/./) do |c|
      s.scan(/./) do |d|
        s.scan(/./) do |e|
          begin
            p = a+b+c+d+e
            puts p
            fork do
              eval(p)
            end
          rescue
          end
        end
      end
    end
  end
end

Ruby segv を探そうかと思ったのであった

(20:45)

_ 今晩かなぁ

  • Erlang
  • Minus
  • A+
  • J
  • Unlambda
  • Curry

どれも難しいなぁ。まぁ Minus は入れると決まればカンタンだ。 2DとBALANCEはどう考えても無理だ。

あと純然たるマシンコードサイズを競う場として、 スタックとレジスタが全部クリアされた状態で始まる ヤツもあってもいいかもしれないな。

(20:59)

_ そいや16

センセは非常に穏当な意見でつまらなかったのだった。

ふと思ったけど NP-complete 解くってのはアレじゃないかな。 exptime 使って解くってことじゃ。

(21:19)

_ 世界樹

補助魔法とか強いなぁ。 1ターン目に170与えてくるザコの攻撃が 2ターン目に17だったりする

(21:22)

本日のツッコミ(全2件) [ツッコミを入れる]

_ Gus [> どの言語の話なんだろう。 Javaです。this.m=m;ってthisで修飾するとメンバになります。 そのD言..]

_ shinh [this. は Eclipse が自動生成してたような気がしますが、そうでも無ければキモく感じますねぇ。 あと c..]


2007-02-15

_ 健康ゴルフ

最近風邪をたしなんでいるという感じである。 もうちょっとマジメに原因に取り組む必要があると思う。

  • 飯を喰わない(食事ゴルフ)
  • 栄養偏る(栄養ゴルフ)
  • 寝ない(睡眠ゴルフ)
  • 局所的に忙しい(締切ゴルフ)
  • 医者に行かない(薬ゴルフ)

やめてお兄ちゃんそれ以上ゴルフしたらっ…!って感じだな。 あと部屋のホコリゴルフをしたら健康に良さそう。

(00:14)

_ 世界樹

ブシドーは普通に殴りキャラでつまらんので カースメーカーが入れれるよになったので即交換。

メディなんとか以外みんなイロモノだなぁ

(00:33)

_ Tropy

やっと利用法を思いついた。 官能小説書きためたらいいんじゃ

(02:51)

_ スポイラー!

http://pitecan.com/Puzzle/Predict/janken.html

via http://yowaken.dip.jp/tdiary/20070215.html#p01

じゃんけんゲームのネタバレ。

たぶん Firefox なら勝てるんじゃないかな

戦績: 50勝 0敗 0分け
計算機の手	あなたの手	勝敗
グー	パー	◯
チョキ	グー	◯
グー	パー	◯
パー	チョキ	◯
チョキ	グー	◯
グー	パー	◯
グー	パー	◯
パー	チョキ	◯
パー	チョキ	◯
パー	チョキ	◯
グー	パー	◯
チョキ	グー	◯
チョキ	グー	◯
チョキ	グー	◯
パー	チョキ	◯
チョキ	グー	◯
チョキ	グー	◯
パー	チョキ	◯
パー	チョキ	◯
グー	パー	◯
パー	チョキ	◯
パー	チョキ	◯
グー	パー	◯
パー	チョキ	◯
グー	パー	◯
グー	パー	◯
パー	チョキ	◯
グー	パー	◯
チョキ	グー	◯
パー	チョキ	◯
パー	チョキ	◯
チョキ	グー	◯
パー	チョキ	◯
グー	パー	◯
チョキ	グー	◯
パー	チョキ	◯
グー	パー	◯
パー	チョキ	◯
グー	パー	◯
チョキ	グー	◯
グー	パー	◯
グー	パー	◯
グー	パー	◯
グー	パー	◯
チョキ	グー	◯
チョキ	グー	◯
パー	チョキ	◯
パー	チョキ	◯
チョキ	グー	◯
グー	パー	◯

(04:41)

_ ウソだった

なんか結構乱数で変わるみたいだ

(04:46)

_ ゴルフサバ

いくらなんでも実行遅すぎやろと思うんだが 何が悪いんだろう。

strace かなーと思ったけど ゼンサバ上で strace かまして実行しても あんまり速度変わってなくて、 0.25秒くらいで終わる。 open4が悪いか、なんらかの俺のミスか…

(05:17)

_

やっぱ strace が重かった。 そうだよなー。 フィルタするシステムコールを選択的に 選ぶとかできないからかなぁ。 見てみると wait4 とかが重いらしい。 うーんそいうもんなのかね…

てゆーか -f オプションが遅い。 で、 man 見ると fork を追うって話で、 別に fork なんて追って欲しくは無くて、 やって欲しいのは execve で trace やめるのをやめろ、と。

(06:06)

_ きゅーりょー

608370
505856
346080
104000

えらい多いなー。 逆に言うと使い過ぎである

(07:20)

_ マクグリドル

なんかクーポンがあったので、 この危険そうな物体を食べてみることに。 最初の半分くらいはフツーにうまいじゃんねと思いながら喰ってたけど、 途中からこれはキツいなと思いなおした。

そもそも甘くて腹に溜まるものが得意でない。

(10:27)

_ ヤター

http://golf.shinh.org/p.rb?delete+blank+lines#OCaml

\('-')/

型推論をゴマかすのが OCamlゴルフのコツな気がしたのであった

(11:41)

_ ステキな先生

http://d.hatena.ne.jp/kanbayashi/20070214/p1

(12:38)

_ OCaml

ちょっと標準ライブラリ貧弱すぎんかという。 Haskell並のほげほげプラスOCaml並のほげほげ、 とかは無いんかね

(13:02)

_ うーん

shiroさんかっこいーなぁ。

http://jp.franz.com/base/seminar/2004-06-10/Franz1.pdf

(17:21)

_ OCaml

パーサがなんか Perl チックだよなぁ

# let f x y=();;
val f : 'a -> 'b -> unit = <fun>
# f 1l1l;;
- : unit = ()
#

Haskell もこんなもんだっけか。

(19:19)

_ tanakhさん

かっこえー

http://golf.shinh.org/p.rb?All+Expressions#ranking

Ruby のヤツ意地でも通したくなるのであった

(19:36)

_ 週刊エジプト

という雑誌があるらしい

(19:57)

_ なんか

ゴルフ場が刺さってた。

うーん元気に動いてたのになぁ。

(21:32)

_ なんか

ext3fs がそれなりに壊れてた。

なんかおかしいところあるかもしれない

(21:45)

_ すげー

http://golf.shinh.org/p.rb?e#Befunge

59Bかーあと名前変えて運用で回避というのは すばらしいですありがとうございます。

(22:13)

_ 俺もオキャムってる場合じゃないなぁ

でも prime 抜かされたしなあ

(22:13)

_ そいう感覚

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070215#p03

は、なんか長い間やってるうちにできてくるような。 私の場合 Ruby は大丈夫だけど Perl は一々試してみないとダメで、 OCaml とかはもう根本的にほげほげ、って感じですね。

ゴルフの才能って要は体力とか暇じゃないかとかいう。

99 は CodeGolf の時からわかってたことですが、 案外アルゴリズム勝負で、 言語によって全然最適な方法が違うので面白かったりという。

僕は一箇所 if then else 使ってるなー。 このへんがダメになるから設計がよろしくないのは なんとなくわかってたけど書き直すのが億劫。

(22:46)

_ あと 1>0 は

http://gusmachine.blog49.fc2.com/blog-entry-138.html

私はHaskellですがここで始めて気付きますた

(22:47)

_ 僕の学んだ OCaml ゴルフのコツ

  • if then else はできればやめる。
  • 適当に型と true false のつじつまをあわせる
true&recursive(i+1)||()=print_string"hoge"

こんな感じで。

(23:15)

_ とうとう

awk & sed が Haskell を破ってしまった。

(23:20)


2007-02-14

_ 最大以外

第一フォルマントから第二フォルマントに向けて射撃とか だともうどうしようもなく難しいだろうなぁ。 声優の訓練になりそうな

(09:24)

_ うあー

irb(main):001:0> disasm("\x58\x5a\x59\x31\xdb\x31\xc0\xb0\x04\x80\x31\x20\x34\x07\x89\xc5\xcd\x80\x30\xd3\x95\x85\xed\x75\xf0")

/tmp/irb_disasm22831.0:     ファイル形式 binary

セクション .data の逆アセンブル:

0000000000000000 <.data>:
   0:   58                      pop    %eax
   1:   5a                      pop    %edx
   2:   59                      pop    %ecx
   3:   31 db                   xor    %ebx,%ebx
   5:   31 c0                   xor    %eax,%eax
   7:   b0 04                   mov    $0x4,%al
   9:   80 31 20                xorb   $0x20,(%ecx)
   c:   34 07                   xor    $0x7,%al
   e:   89 c5                   mov    %eax,%ebp
  10:   cd 80                   int    $0x80
  12:   30 d3                   xor    %dl,%bl
  14:   95                      xchg   %eax,%ebp
  15:   85 ed                   test   %ebp,%ebp
  17:   75 f0                   jne    0x9

なんかすごいコードだなーデバッガで終わんとわからん。

これだから k* は。

でもたぶん短くなりそうな

  • EAXにゴミ入る
  • EDXに1
  • ECXにスタック領域のポインタ
  • EBXをゼロ (STDIN)
  • EAXをクリア
  • EAXに4 (read)
  • ECXに ^32
  • EAXに ^7 (これで3, write)
  • EAX=>EBP
  • システムコール
  • BL^=DL (BLはSTDIN/OUTでフリップ)
  • EAXとEBP交換してからEBPの終了チェックしつつしなければループ

とりあえずレジスタの初期化部分はうちの環境に依存すれば 短くなりそうな。 つーのは EDX 最初から 1 入ってやがるみたいだから pop EAX; pop EAX とかで始めれば xor EAX, EAX は いらんような。 あと地道に pop するより popa しちゃうと レジスタが割と綺麗になるという悲惨なワザがあるとか。

zlib もそうだけどバイナリ埋め込みは 他ランキングも用意したいなー。 これはこれですごいのに、混じることによって 双方の評価が適切にしにくくなる気がする。 Python と Ruby を共通の点数評価に乗せるような感じ。

(09:50)

_ permutater

sedで解ける気がしてならない

(09:57)

_ レイプすれば客も車のうち

という諺がアメリカにある、という夢を見た。

アメリカのバスはガンガンぶつかるということを指して、 バス客もそんな感じなら車の仲間入りさ (このへん夢だけに意味がわからん) とかいう話を聞きながら、 日本ではオカマ掘るって言うよなーとか 思いながら聞いていたのであった。

(10:12)

_ nop

プレフィクスかと思い込んでたら違うのだった

#define GENERIC_NOP1    ".byte 0x90\n"
#define GENERIC_NOP2            ".byte 0x89,0xf6\n"
#define GENERIC_NOP3        ".byte 0x8d,0x76,0x00\n"
#define GENERIC_NOP4        ".byte 0x8d,0x74,0x26,0x00\n"
#define GENERIC_NOP5        GENERIC_NOP1 GENERIC_NOP4
#define GENERIC_NOP6    ".byte 0x8d,0xb6,0x00,0x00,0x00,0x00\n"
#define GENERIC_NOP7    ".byte 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00\n"
#define GENERIC_NOP8    GENERIC_NOP1 GENERIC_NOP7

nop, mov, lea, lea, xxx, lea, lea 5B はホントに無いのかな。

(13:22)

_ statistics

実装より英語書いてるのがうざくなって途中でやる気失せた。

つまりバイナリのサイズはデフォで公開、 あとなんかシンボルゴルフとかした場合は、 名前変えてかつ statistics を公開すれば Alnum無いんだぜーとかアピールできるよ、と。

(14:41)

_ ほげー

shinh って SHINicHiro.h なんだよ!とか いうエイプリルフールネタを考えたけど 全然ネタになってないし 嘘かどうかも定かではない

(14:47)

_ OCaml

ゴルフ最弱言語の予感がたまらない

(20:30)

_ 417

< HTTP/1.1 417 Expectation Failed
< Connection: close
< Content-Length: 0
< Date: Wed, 14 Feb 2007 13:17:56 GMT
< Server: lighttpd/1.4.13

なんだこれは!

(22:18)

_ それネタバレ違う

わらた

http://www.kmonos.net/wlog/70.html#_1759070214

それはともかく、これ見て思い出したので各言語や Sample input へのリンクを追加しておきました。

あと all expression タイムアウトで通らないなーという 悲しさが私の近況

(22:48)


2007-02-13

_ perlって

uniq無いのかぁ

(00:47)

_ ううん

とりあえずハッシュに叩き込んで keys とか。

sort uniq に何byte使ってるんだという。

もちょい考えよう

(01:05)

_ dellast

http://golf.shinh.org/p.rb?delete+last+line

うーん。 sed は x の 1Byte だぜ! と思ったんだけど leading new line があるんだなー

(01:33)

_ AWK

http://jarp.does.notwork.org/diary/200702b.html#200702121

mawk と gawk はだーいぶ違うらしい。 AWK勉強したいと思ってることだし、 どうせならアグレシッブなのをってことで xgawk を入れてみようかなと思う。 x ついてるのに意味があるのかは知らないけど。

拡張子は何にしようか。 ベタベタに xgawk とかでいいんかな

(01:57)

_ ちょうし

わるい…ぐへ

(04:48)

_ あと

C って -lm つけるべきだよな

つけよう

(04:53)

_ ふむ

http://slashdot.jp/hardware/comments.pl?sid=351126&cid=1108658

このへんが一名を除いてすごくまともだ。 何事だ。

(08:45)

_ ふむ

ttp://www.fukkan.com/image/item/4091449-1.gif

このへんタイトルのところにはりたいものだよな

(09:31)

_ 妄想

まとめておく

&は敵位置 x+80*y 。ただし敵の.がこっちに直結。 ~は敵の踏んでるチップ(使えない)? ,は得点。

戦略

A. 攻める

A1. <>^v を置く

v      <  >>>>>>>>>
>      ^

端から伸ばしていってこの形で直撃すると即死

A2. pを置く

スタックアンダーフローで死んでもらう

A3. ~を置く

スタックオーバーフローで死んでもらう

A4. |を置く

スタックなり方向なりのハイブリッド。

A5. ?を置く

<>^vよりはいいかも

D. 守る

D1. 中心で

>v>v>v<v<v<v<
v>v>v>v<v<v<v
>v>>>>>>>v<v<
v>^      vv<v
>^^<<<<<<<<^<
^>^>^>^<^<^<^
>^>^>^<^<^<^<

こういう形が固いかなぁ。

D2. 敵陣で

敵陣を一部書き換えてぐるぐる

D3. 自己書き換え移動

移動式既知

I. 侵入

I1. シンプルなの

>         v

隙間に ^ とか置かれてたら死亡なのでたぶんだめ

I2. ちゃんと道作るの

>  v  >>>>>v
           v
^  <       v

ビクトリーロードを。 遅いかな。

(11:43)

_ 預金

3倍以上になってた。 赤いヤツだ。

(11:54)

_ 世界樹

そういや第四層に。

なんというか第三層はトントン拍子で進んで、 こういうバランスの取り方とかはホントうまいなぁ。

レベルは38くらいだったとおもう。 ブシドーだけ25とかそんなの。

(12:36)

_ p

  • 前半のつなぎ。stateが降ってわいてくるのはいかがなものか
  • N mode の話と他のかねあい

(15:38)

_ 作りたい言語が

また一つ増えた日なのであった

(19:48)

_ そういわず

http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0702.html#D20070213-8

参加しませう ^-^-^-^-^-^-^-^-^-^-^-^-^-^

(19:56)

_ AWK

Haskellやぶって3位とかすごいな

(20:02)

_ うーん

IE7で再現しないな

(21:07)

_ むむ

http://d.hatena.ne.jp/odz/20070212/1171345311

via http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0702.html#D20070213-4

たしかにこれはひどい。

  • 返り値の "int " がいらない 4B
  • cmp は長すぎる 2B
  • "const " なんて言わなくてもいじらない 6B
  • "int *" と余分な空白が入っている 2B
  • コンマの後ろにも! 1B
  • 改行とインデントがいらない 7B
  • return なんていらないグローバル変数でほげほげ
  • それ以前に文字列で機械語

とかいうどうでもいい話はどうでもよくて。

困ったな。なにがだめなんだろう。 a がマイナスおっきな数で b がプラスおっきな数の場合、 負が帰らないといけないのに オーバーフローで正になってしまう、と。

にゃるほど。 でも if 文が使いたくないという気持ちは 大変よくわかるのであるのであった。

return (a>b)-(a<b);

とかは反則負けとして、なんか無いものかなー。

隣同士の比較は諦める ('-')!

return (a-b>>2)+(a>>1)-(b>>1);

論外。

int r=((unsigned int)((a^b)&INT_MIN))>>31;
return !r*(a-b)+(a>>1)*r-(b>>1)*r;

うまくいってる気がするけどわからん。 なんにせよ * とか使った時点で負けぽい。 俺こういうのの才能ホント無いなぁ。

(21:41)

_ 面白いにゃ

http://www.nmt.ne.jp/~ysas/diary/?200702a&to=200702102#200702102

なんか前のなんとかセミナ〜で 「P!=NPはほげほげという方法では 証明できないということが証明できる」 みたいな話があって、 そのほげほげは普通の証明なら そのほげほげを満たすだろーという ものであって (よくわかってなかったけど あんまりややこしくないとかそんな)、 うあーこれじゃあ絶望的じゃーんみたいな話の後で、 人間の脳味噌で証明できない問題の クラスとかあるんじゃないかとか、 宇宙の全粒子の情報を使っても証明が書き記せない 命題はどうしようとかそんな話が出て面白かったのを思い出した。

(22:08)

_

http://yowaken.dip.jp/tdiary/20060302.html#c02

いい表現というかすごい正確

(23:33)

_ sedって子は

素数判定くらいはできる子なんですが…

i@u ~/wrk/ag> echo | sed -f prime.sed
NN
NNN
NNNNN
NNNNNNN
NNNNNNNNNNN
NNNNNNNNNNNNN
NNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN

これに1分かかってちゃなぁ。 ほんとなんでこんなに遅いんだ

(23:47)

_ そういや

XENの方のulimitのしかた変えてから安定してるなー

(23:52)

本日のツッコミ(全18件) [ツッコミを入れる]

Before...

_ LCS submitter [悩んでる人が多いみたいなので、この情報を伝える手段は何か欲しいですね。 今のLCSの問題文に上のプログラム定義をつけ..]

_ yshl [名前の欄に書いた < や > がそのまま出力されてしまうようです。エスケープ処理をお願いします。]

_ shinh [あーはい。一応対処しておきました。ぶっちゃけそのへんはものごっついいかげんというかいまいちマジメにやる気が起きなくて..]

_ bero [むむ:ちょい古いけど反応 D言語のcompareがコレで大昔に言ったけどスルーされた 今みたらさすがに直ってる・・..]

_ Imuzjkyk [この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5..]


2007-02-12

_ ごるふ

とりあえずふっかつ。

(08:16)

_ 色々と

固定出力の Web サーバを書いた→ u3で走らせた(nohup忘れた)→ ルータの設定変えるのに手こずった→ なんか同じ設定が二つ書いてあったりとか→ 気にせずあわててでかけた→ この時nohup忘れたのでWebサーバ死去(アホ)→ 帰った→すぐおねむ→ 起きた→ ルータの設定壊れててアドレス変換修正できない→ プロバイダの設定やりなおし→ ルータの設定むずかしい

とかそんな

(08:20)

_ それなんて

http://mono.kmc.gr.jp/~yhara/d/?date=20070209#p06

FORTH

つまり逆ポーランドなら括弧いらないんじゃというか

(08:26)

_ tyba-

ltが

│1   │tybalt89│46  │0.2996│07/02/12 08:25:17 │
│2   │shinh   │51  │0.2173│07/02/12 08:16:14 │
│3   │ySas    │52  │0.1663│07/02/11 01:34:34 │

suge-

(08:30)

_ こんかいのねた

cw2d.png

こんなのだった

ちゃんとリリースしようねーという

(09:05)

_ ぎゃー

sed の無入力時に改行一個の修正の時に 無条件で改行一個にしちゃってたよ!

(09:47)

_ データサイズとしては32bit

http://slashdot.jp/hardware/comments.pl?sid=351126&cid=1108498

なぜ

(10:22)

_ pdilemma

どこからもリンクはってない気が。

cw2d も pdilemma 風にして、 リプレイなりを見れるとかそんな感じが現実的かなあ

(12:17)

_ dense coding

のことを言ってるんだろうなぁとは

(12:18)

_ Hello world

ISOとかそいうとこで標準化してくれないかな。

アリアリの H w しかダメ、とか

(12:20)

_ Data.Bits

の使い方がさっぱりわからんな。

なんだこれ

(13:19)

_ すばらしい!

http://d.shinh.org/svn/toy/lang/Readme

俺も compile time Befunge 書くよ!

ホントは compiler time x86 emulator がいいんだけど!

(21:11)

本日のツッコミ(全7件) [ツッコミを入れる]

Before...

_ shinh [> sumimさん こちらこそ遊んでいただいてありがとうございます。過度のゴルフは古くから家庭崩壊の元となっていた..]

_ konn [あーなるほどそうすればもっと早いですね……ビット演算は奥が深そうだ。 えーとそれで、多分型宣言がないと怒られるのは..]

_ shinh [例えばこんな感じでうまくいかないから悲しいなぁという。 i@u ~/test/hs> cat bits.hs im..]

_ konn [あーなるほど。確かにそれだとどの 1 だかわからないので型宣言つけてやる必要がありますね。何かHaskellは妙に頭..]

_ shinh [なんかNumまわりだけインチキしてるから頭いいとかじゃなかったでしたっけ。まぁ復帰したら色々教えてください。]


2007-02-11

_ なんか

割とすぐに動いたな。 凝ったもの作ろうとしなければラクなもんだ

(00:12)

_ ライブドアニュース

Subject: 名門フェリス女子大でセクハラ?学長処分 ■□ドア日新聞(07/02/11号)□■

要はこういうもののようだ。

(01:45)

_ まぁ

だいたいできた。 意外なことに俺にはおもろいものがでけた。

(03:13)

_ あとは寝るか世界樹か

どっちがいいだろう

(03:16)

_ 行数

500行ちょいらしい。 GL使わなくて正解だなーと思う。

(03:17)

_ すごい

うーむ sed すごい

http://jarp.does.notwork.org/diary/200702a.html#200702102

それはそうと改行1個とかわかりにくいですし、 sed なら *NOTHING* でも改行入れる、っていう処理しようかと思います

というかもう入れた。

(03:45)

_ 世界樹記録

ねむれないので。

ゴーレムが強かったけどなんとか初見で倒した。 今レベル33-34で11,2階をうろちょろ。

ちゃんとドラクエみたいに眠らせないとなー。

(05:23)

_ しかし

バード二人のうち片方がどうしようもなくいらない。 戦闘の最初のターンに前衛で防御とかしてるカスである。

ホーリーギフトLv10になったら覚えるスキルが 無くなったので酒場に放置して新しい子を入れよう。

ブシドーに萌えキャラがいたのでこの子にしよう。 使い勝手が悪いらしいので良い良い。

カースメーカーもあやしげで良さげなんだけど。 いつ仲間になるんだろう。

(06:20)

_ メンタルモデル

エンジニアの知ってるメンタルモデルを 押しつけると大変ユーザビリティの良くないものになるので、 ユーザのメンタルモデルにあわせなさい、 として誰のためのデザインに載ってて、 例として冷蔵庫は上の温度と下の温度が設定できるのが正しくて、 冷やす総量と上下の配分を設定できるのはおかしい、と。

コンピュータでもそれは基本的にもちろん正しいんだけど、 でも敢えて技術者ベッタリで作られると 内部構造に思いを馳せる機会にはなるんだよなぁという。

というわけでやたら奥深くにある Windows の IP の設定画面は

(11:04)

_ メモ

  • trunk > tekezo さん
  • lambda > wo さん

(11:08)

_ 出るの遅れた

おもな理由はゴルフ

集合時間ゴルフ

まあつくのは35くらいかなあ

(12:24)


2024年
12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
1.shinh(2016-10-11 02:13) 2.sumim(2016-10-11 02:13) 3.ySas(2016-10-11 02:13)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h