休んだ。 _
_ 久し振りにX11
http://tronche.com/gui/x/icccm/ _
http://standards.freedesktop.org/wm-spec/wm-spec-1.4.html _
ちょっと見てたんだけど、よく考えたらWMIIの挙動はマイナーなんだから、それ用の仕様なんてないよな… _
やりたかったのは、常に浮かんでるウィンドウにするというの。普通のWMだとそっちが標準だろ常考。 _
_ memcpy
構造がmemcpyだけでコピーできるかどうか。 _
memcpyだけでコピーできると嬉しい点 _
ネットワークの向こう側はエンディアン問題があるが… _
安心して使えるって何だ。 _
_ MAX_PATH
readdirやらのバッファサイズはどうすれば正しいんだ… _
絶対パスの長さは決まってなくて、ディレクトリ名を含まないファイル名の長さはMAX_PATHが最大でいいか。 _
http://msdn.microsoft.com/en-us/library/aa365740(VS.85).aspx _
WIN32_FIND_DATAの中がMAX_PATHしかないから拡張子の_MAX_EXT入れるとFindFirstFileが使えない場合がありそうな気がするんだけど。 _
http://risky-safety.org/zinnia/doc/maxpath.html _
MAX_PATHとか名前が誤解招きそうで素敵すぎるな。 _
しかし、ファイル名とか将来システムのバージョンが上がったら変わりそうな値がコンパイル時定数になってるのはどうなんだろうか。ファイル名が256文字超えるなんて使ってるほうの責任といえなくもないが、例えば、ファイル名をデータベースに使ったりするような斬新なシステムがあった場合に、(どうでもよすぎるので略) _
http://itpro.nikkeibp.co.jp/article/COLUMN/20080104/290425/ _
getdentsとかがMAX_PATHに依存しないインターフェースになってるので、OS自作の人達はこれ参考にすべき。 _
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/getdents.2.html _
_ 絶対パスの長さてどのくらいまで大丈夫だろうか。
$ pwd | wc 1 1 88438
ここらへんで諦めた。 _
$ find | wc 2484 2484 66045767 $ tree | wc 854 2554 1108757 $ ls **/* | wc zsh: 引数リストが長すぎます: ls 0 0 0 $ echo **/* | wc 1 2483 66043280
treeはなんか間違ってんな… _
$ java shell-init: error retrieving current directory: getcwd: cannot access parent directories: ファイル名が長すぎます Error occurred during initialization of VM java.lang.Error: Properties init: Could not determine current working directory. at java.lang.System.initProperties(Native Method) at java.lang.System.initializeSystemClass(System.java:1072) $ ghci shell-init: error retrieving current directory: getcwd: cannot access parent directories: ファイル名が長すぎます ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.6.1, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \____/\/ /_/\____/|_| Type :? for help. Loading package base ... linking ... done. getCurrentDirectory: invalid argument (File name too long)
m9 _
_ readdirのバッファサイズてなんだ
readdirはバッファサイズ考えなくていいだろ… _
_ getcwd(NULL,0)の秘密
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/getcwd.3.html _
glibc拡張で必要な長さのバッファが確保される…とあるけど、これ絶対パスが長過ぎると失敗するのか。覚えておこう。 _
glibcのソースはこんな感じ↓ _
#ifndef NO_ALLOCATION size_t alloc_size = size; if (size == 0) { if (buf != NULL) { __set_errno (EINVAL); return NULL; } alloc_size = MAX (PATH_MAX, __getpagesize ()); }
で、alloc_sizeが足りない場合は、リトライせずにNULLを返してる。 _
_ unkownって書くたびに
うんこのことが思い出される。 _
世の中にはbugzillaを使っただけでうんこのことを思い出す人もいることだろう。 _
_ 消えてなくなれ
って英語で言うとなんだろ…FUCK? _
FUCKは便利単語である。 _
_ ひどいな
何もしないで寝てるのか起きてるのかわからない状況を続けていたところ、休みあまりに何もしなかったので後悔の末に発狂する夢を見て起きた。 _
なんとかするか… _
_ とりあえず
部屋を片付けるなどした。 _
_ こういうって文法どういう意図で作ってあるんだ
int func() { int; }
_ なんか部屋の掃除するたびに模様替えしてるような
3,4ヶ月に一回くらいしか掃除しないからなんだが… _
左からPS3、PC、ThinkPad…Mac入れるの忘れてた。 _
夏配置は布団とPCが隣あう必要が無いので配置の自由度が上がる _
とりあえず30分ぐらい使ってわかったことは、寝ながら操作するのはしんどい。 _
こうかな… _
二日続けて早く起きた。これはかつてない快挙。 _
なんかゲーム感覚で早起きしてる気がするな。基本的に怠惰な生活を送ろうとすることに対して、どう対処するかというゲーム。 _
作業の効率化を名目としたゲームって結構あるような気がする。liifehack(w) とかもゲーム感覚的側面がありそうだし。 _
他にも食費減らすとか。 _
男のひとりぐらしで食費がボトルネックになることなんてまずありえなくて、節約したいのなら、もっと他の点から攻めるべき。具体的にいうと、PC何台も買うなよ…とか。 _
でも節約しようとすると、食費の削減から始めてしまうのは、それがゲーム感覚的に面白いから、というのがあるのでないかな。 _
_ また
揺れすぎだろ… _
_ またまた
揺れすぎだろ… _
_ 今日も起きた
と思ったけど、もう会社行く時間だな。何してたんだ。 _
_ 久し振りにはじめてよむ486などを読んだ
そういやx86のセグメンテーションを有効活用してるOSって無いんかな。 _
なんとかすればユーザーレベルでアドレス変換みたいなそんなあんなxxvfdsaf!! _
時間が無い。 _
http://community.osdev.info/index.php?segmentation _
あー、そういえば、Kの人は「DEPなんか無くても486には保護機能がある」とかも言ってたな。 _
問題は移植性が無くなるのと、コンパイラのサポートが必要な点か。 _
あと、遅いのは「CPU設計の際にあまり工夫をしないせいであろう」て書いてあるけど、バイト単位の保護はそれなりにコスト大きいのでは、という気もする。 _
いや、一番つらいのはユーザプログラムに対応が必要な点が厳しい点か。 _
でもフラグメンテーションとか一番下のレイヤから一番上のレイヤまでが強力して手を取り合わないと対応できないんだから、ユーザープログラムも対応しろよ、という気がする。 _
起動後しばらくすると、ラージページとかヒュージページが作れないとか、今でもフラグメンテーションは大きな問題を起こしてるわけだし… _
単一CPU、単一メモリレイヤというのを仮定している点の問題…とか書こうと思ったら会社行く時間だった。 _
今日は午前中に起きた!! _
平日はどうせ会社行くために起きるので早起きとかどうでもよかったのだけど、なんのために早起きしていたかというと、休日も午前中に起きるためになんかそういうためだったのだ。 _
まあ目的は達成されたといえる。 _
で、何してたかというと、何してたんだろう…もう一日終わりか…まあニコニコ見てないだけ救われてる気がする。あと引っ越して1年3ヶ月で始めて最寄り駅付近の散歩などした。 _
あとフレッツのIPv6をなんとかした。 _
僕の認識が間違ってなければ多分フレッツのv6から名前で接続できる(確認しようがない)…と思ったのだけど、さすがにこのマシンを見えるようにする勇気はないな。 _
どうするか、と思ったところで、なんかマシン買う理由が見つかった気がするのでよくないと思った。 _
_ Everyday Shooter
何故か全方位シューで良作を出し続けるPS3のダウンロードゲーに新しいのが出てた。 _
こういう感じのゲームがPS3のゲームになってるという感じが新鮮だなぁ… _
風邪ひいてしまった。 _
風邪ひくのは社会人として最低の行為だと思っているので、しかし、僕は立派な社会人ではないので大丈夫なのだった。 _
サボるのは本人幸せだからいいのだけど、風邪ひくのは誰も幸せにならないので全力で阻止すべき。 _
_ とりあえず…
マシン買わない…と誓ったものの、x86じゃなかったらいいという俺ルールがあったのを思い出して、玄箱Pro買ってきた。 _
うーん…これシリアル無しでカーネル入れ換えるのかなり辛いんじゃないのか… _
でもシリアルあればNANDの中身入れ換えとかもできそうだな。どうするか…無しでやりたいが。 _
_ ワット
あと、なんかむしゃくしゃしてワットチェッカーも買った。 _
今の我が家の電気料金とワットチェッカーの値段から考えて4年ぐらいしないと原価償却しないんだが… _
風邪はなおった。基本的に「寝ればなおる」と信じて寝ればなおる。 _
ガイドラインが読まれていないことが発覚したので少しだけ見やすい位置に移動した。 _
もうARMもPPCもログイン可能なマシンが二台づつあるからそろそろx86以外も自粛しないといかんな。 _
うげー。ごはん炊くよりも凍ったごはん温める電子レンジのほうが消費電力多い… _
_ シリアル接続無しで玄箱Proのカーネル気軽に入れ換えたい
とりあえず書いた。カーネル入れ換えるのは来週だな。気が向いたらそのとき説明もうちょっと書く。 _
「シリアル接続無しで」とか偉そうに書いてる割に僕は失敗して結局シリアル付けたので信憑性は薄い。 _
あと久し振りに半田ごてを握り火傷するなどした。 _
_ 大復活
近くにあった。ので四回ほど。 _
面白いことは面白いが寿命削るほどやる気が出ないあたり僕も衰えたように思う。 _
中ボス、ボス以外で死ぬリスクほぼゼロのハイパーはなんだろう…とりあえずは道中で緊急回避がわりに使えばいいのかな… _
_ 風呂エンド
今日こそ風呂エンド見る!と思って、打ち返し無しでやったのだけど、やっぱり勇気が無くて見れなかった。 _
まあクリアできたのでよい。ラスボスにボム効くのが簡単クリアゲーとして大きいように思う。 _