トップ «前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|
2025|01|02|03|04|05|06|07|

ToDo:


2012-07-16

_ picture-mode

いつもメモり忘れるけど、このモードを使うと Befunge のコードが書きやすくなる。

しかし自分ではっつけた結果をよく見ると、 contest2.map で C++ コードが befunge のコードに負けてやがってうける。

(21:56)


2012-07-15

_ ぷよぷよ

最近思うことは飽和連鎖量が足りないなっていう。で、ぐぐってたら最初に出てきたやつ

http://www.geocities.co.jp/Playtown-Domino/6390/Bulletin/lecture/lecture6.html

これが、モロにGTR系なのに

  C
B CC
BAA
BAC

とかいうキツい形が最初に思いついてダメだなぁとか思った。ちょっとゆっくり一手一手考えるみたいなことした方がいいのかな…

あと初手で

BA
BBA
AAC

とかできた後に AB AC AD どれが来てもわりと悩むことが多い気がするなぁと思った。ネクスト考えないと、どの場合も A を5個消ししちゃうのが良いのかな… AC AD は2列目に立てるのもいいと思うんだけど。

(01:02)

_ あと

 A
BC
CCA
BACD
BBACDC
AACCDC

の ABAB が

  A
 AB
BCB
CCA
BACD
BBACDC
AACCDC

とかになりがち。

BAB
CAB
CCA
BACD
BBACDC
AACCDC

なら全然よいということを考えると、左端のフタが一つってのがイマイチ系なのかな…

(01:07)


2012-07-14

_ 残念ですが未実装です

i@u6 0:46 [master]
> cat non_static_data_init.cc
struct S {
  int i = 42;
};
i@u6 0:46 [master]
> g++ -std=c++0x non_static_data_init.cc
non_static_data_init.cc:2:11: 残念ですが未実装です: non-static data member initializers
non_static_data_init.cc:2:11: エラー: ISO C++ forbids in-class initialization of non-const static member ‘i’
zsh: exit 1     g++ -std=c++0x non_static_data_init.cc

そ、そうですか…

(00:47)

_ あきらかなバグをつぶしたら

すごく成績がわるくなったでござるのまき

こういうのどうしたもんかと思うよね…

(19:33)


2012-07-12

_ scons

http://blog.64p.org/entry/2012/07/11/224008

via https://plus.google.com/102550604876259086885/posts/AnEoGQexUcG

scons なんて始まってもいねえよ! ってのが僕の感覚だなあ、たいしてしらないけど、必要じゃない機能ばっか充実しているという mukai さんのイメージに賛成する感じ。

scons に関していつも言ってる悪口に、ファイルが本当に変更された時にだけ依存関係をビルドしなおしてくれるという便利な機能がある。

これはどういうことかというと、 hello.c から hello.o と hello を作ったあと、 hello.c を touch してもビルドしなおしてくれないと。 stdio.h とか書きかえた時とか、そういう特殊なことしてるからわざわざ touch してるわけで、なんか余計なお世話としか言えない。で、しょうがないなと hello.c の末尾に空行を一行足したりすると、 hello.o はリビルドされるけど hello はされない。何故なら hello.o のチェックサムは変わってないから。

そしてその余計なお節介にしか思えない機能が自慢気に書いてあるあたり、なんかすくなくとも僕の感覚とはずれてるなあ…としか思えない。

http://www.scons.org/doc/0.98.5/HTML/scons-user/c779.html

で、まーそういう余計なお節介があると知ると、あの遅さがそういう余計なお節介のせいではないか…とか思われて、どうしたもんかと思ってしまう。

ただ、一応今ぐぐってみると、色々速くする方法はあるみたいだ…ただ make 系ツールのデフォルトの挙動を遅いものにするセンスからして、このへん頑張っても make 程度にも速くならないんじゃないかな…とか思ってしまうよね…

http://www.scons.org/wiki/GoFastButton

あといつも言ってることだけど、ビルドシステムってのは、こうなんか、人々に再生産させたくなるようなオーラがただよってるらしく、なんか許しがたい数既にあるので、 make にムカついて僕の考えた無敵のビルドシステムを作ろうとしてる人はコレを見て考えなおしてほしい…

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

mukai さんも書いてる通り、 automake/cmake/gyp あたりは一つ上のレイヤにいるので、そのへんはまぁ OK 。 autoconf のレイヤは特に代替があまり作られてない気がするけど、まぁ Unix 乱立がおさまりすぎて、ああいうのの時代は終わりつつあるのかもな…

ところで autotools はひとくくりにして、嫌ってる人が多い気がするけど、僕的には autoconf は必要で automake は死んでもいい派。 autoconf 無しだと、わりと色々詰んでると思うんだけどな… cmake は autoconf 的なことを少しだけしてくれた気がしたけど、どうだっけ…

libtool は実際問題正しくライブラリ用の make 書ける気がしないから、本質的じゃないけどあれも必要かな…とか言ってると automake 無しで libtool 使うの大変とかで必要になってきて、こまるわけだ…一度 automake 抜きで autoconf/libtoolize 使うとか練習してみるのも良いかもしれない…

(00:57)

_ JS Sucks

sucks シリーズ、 JS はあまりよく知らないのにすごいのがいっぱいあるから書いてなかったけど、ちょっと書いてみた。

http://shinh.skr.jp/h/?JSSucks

(01:23)


2012-07-11

_ 自分でコンパイルするとぶっこわれるコンパイラ

https://github.com/rui314/8cc

の話を聞いて、 GCC でコンパイルしたコンパイラは大丈夫で、そのコンパイラでコンパイルしたやつはまだ大丈夫だけど、次でクラッシュするバグがあった、みたいな話をしていた。

で、 TCC であそんでたとき似たようなのがふたつあったなーと思ってたんだけど、片方しか思い出せない。そっちの片方はまだ2世代目が3世代目をビルドする時のやつで、こんな感じだったと思う。

INT_MIN 以下の値のリテラルの扱いがバグってて、なんかデカい値になっちゃう。 GCC はそんなバグ持ってないから1世代目は大丈夫。2世代目はそのバグを持った1世代目コンパイラでコンパイルされているので、コード中に一箇所だけある INT_MIN 以下の値が出てくるぶぶんがおかしくなってる。そのデカい数字が何でできてるかっていうと、 32bit 相対 call で届くかをチェックする部分で、届かないから trampoline 作らんといかんのに作らないから届かなくて SEGV する、っていうような感じだった。

このクラッシュは記憶がたしかなら3世代目を tcc -run で実行してる時、つまり

tcc -run tcc.c -run tcc.c -c hello.c

的なことしてる時しか当時は再現しなくて、小さいプログラムだと件のチェックに漏れるような種類の長距離 call が出てこなかった、とかなんとか。このへん記憶あやしくて最後に走らせるコードは tcctest.c でも再現してたかもしれない。

このバグ再現させるには JIT 生成されたプログラムから負方向の 32bit を越える距離の関数 call をする必要があって、これが小さいプログラムだと起きない。なんでかっていうと、プログラムは malloc された空間に置かれてて、 glibc の malloc は小さい malloc に対して最初のうちは 32bit におさまるアドレスを返すから。でも、デカいプログラムだとデカい malloc をする必要があって、となると 64bit なアドレスがかえってきてやっと問題が再現する…とかいう感じだったと思う。

うーんでも詳細イマイチ覚えてない…

それをゴマかした時の変更はこれだったんだと思うんだけど、ただこれは上記の話をきちんと説明しきれてない気がするんだよな…

http://repo.or.cz/w/tinycc.git/commitdiff/51a7f163ad4a363953ae744afbc12cd7bd381097

あともう一個はよくある 32bit 命令を 64bit アドレスに対して使っちゃってた、っていう系だと思う。この手のバグは頻繁に起こりすぎてて、世代を経ると発生するみたいなヘンなヤツでもイマイチ詳細を覚えてないんだよな…

(00:04)

_ 記録

http://shinh.skr.jp/m/?date=20090416

微妙な記録を見つけた。

tcc -run tcc.c -run tcc.c は tcc -run tcc.c -run tcctest.c より先に動いたらしい。で、前者の方動かすのに最後に必要だった変更はそのデカい int literal だった、っていうのは、時期的にも正しい記憶だったようだ。

(00:11)


2012-07-07

_ diablo3

cydaea はなんか強かった。 FoT 的に細かい敵たくさんは案外めんどい。 NV 捨てて、 sweeping wind 入れて何度かやったら勝てた。倒した時はもういけるかとゴリ押ししたらかなりギリギリ感があった感じだった…

http://us.battle.net/d3/en/calculator/monk#abXkgi!XUY!acbaYY

azmodan は初見普段ビルドで余裕。 melee 的にはザコだな…まあ血の池弱くなってるんだよねたぶん…

iskatu もなんか強かった。細かい敵たくさんはやはりきつい。 FoT がきついので、 cripping wave とかを久々に入れてみる。あとはザコ多い戦闘では恒例の sweeping wind

http://us.battle.net/d3/en/calculator/monk#WbXkgi!XUT!YcbaYY

(14:19)

_ diablo3

rakanoth 。結構強い。 sweeping wind 足したり防御重視にしたり。 sweeping wind はどうも普段からあると良いと思うんだけど、 primary 二つないとザコ戦しんどいんだよな… enchantress のスキル変えてみたりも。

http://us.battle.net/d3/en/calculator/monk#aiXhgj!XUT!aYbaYc

MoE と ally 頼りで殴り続けて、喰らいはじめたら breath of heaven 使って逃げるか、 serenity で殴り続ける。両方 CD の時は逃げ続ける

(16:07)

_ mac の tar

http://shinh.skr.jp/m/?date=20120703#p01

で書いた libarchive の tar は zip 内の symbolic link をちゃんと溶かしてくれないのであった…

(16:27)

_ diablo3

モンク終了。

izual は WD の時はあれだけ苦労したのにザコだった。普段のスキルのまま倒せた。

diablo もまぁ長いだけでザコ…なんか第三形態って攻撃かなり激しくなってるんだな WD の時は常に離れてるから気付かなかった…スキルは rakanoth と同じ。

装備とかは ghom からなんも変わってないと思う…本当に ghom さんラスボスだった…

DPS16k armor6779(5339+1340) res708(all:450) life27961 LoH691

ghom の時と違う理由は単に二刀流か盾かってだけ。装備は全体的に spirit regen 無くてキツいな…という感じだった。

(22:53)


2012-07-06

_ diablo3

ghom たおした。

nerf とか入らんかったから farm だけで倒せる装備が入るの待つのがだるかったので、あっさり AH 無ししばりをヤメて安物を買いあさった。

最初は盾装備 15k くらいで戦ってて、あと1割くらいかなーてとこで enrage しちゃったので、1割くらいなら余計に殴れるかな…と思ったけど、また enrage すると悲しいので、盾やめて両手持ちにした。

DPS20k armor5482(3857+1625) res732(all:474) life28101 LoH600

http://us.battle.net/d3/en/calculator/monk#biXkgY!XUY!cYbaYc

買ったものは

  • 片手斧 125k
  • 手 200k
  • ベルト 100k
  • 盾 20k
  • ダガー 110k
  • 指輪 175k
  • 靴 75k
  • 頭 88k

ざっくり 1M くらいか。それでずいぶん強くなるなっていうか正直もうこれでクリアできる装備なんじゃないかな…

変わらなかったのは胸腰腕肩。

(00:47)

_ diablo3

ついでに siegebreaker 倒した。 reflect damage ついてようが普段から LoH ついてるモンクからすればザコもいいとこだな…

act3 のこの部分元々簡単だったけど、それにしても簡単だった。どうもいい装備買いすぎた疑惑がありますね…目についたものを転売してたせいで金減るどころか増えてるんだけど…

そういえばウワサの vault てやつを回ってみた時に NV5 のまま belial ラクに殺せたりしたし(まあこの子は enrage さえしなければたいして問題じゃない)。

(01:36)


2012-07-03

_ Mac の tar

ねぼけて zip に使ってしまい、展開できてしまったことに驚く。

man によると

https://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man1/tar.1.html

This implementation can extract from tar, pax, cpio, zip, jar, ar, and
ISO 9660 cdrom images and can create tar, pax, cpio, ar, and shar archives.

とのこと。なんともはやだなー

で、 opensource.apple.com から gnutar をダウンロードしてみるも、どう見てもそんなパッチは入ってない。あーこれ BSD 由来なんかなーと --version してみると、 libarchive というものを使ってるとのこと。

http://libarchive.github.com/

なんか windows/mac フリーソフトウェア界が有史以前に通った道を21世紀にもなってやってる感じな気もしないでもないけど、しかし linux でもこれ使えるのは普通に嬉しい気がする…

とはいえ見てみると結構歴史の長いプロジェクトのようだった

(00:29)


2012-07-02

_ diablo3

ラスボスになったいうウワサの ghom 。実際なんかビビるくらい強い。ちょっとずつダメージ当たる系はゴミ装甲が目立って enrage どころの騒ぎじゃない感じ。

AH 無しで複数箇所の装備のアップデートを farm でゲットするのはしんどいんで、 AH 解禁するか nerf とかで弱くなるの待つ感じかな…だんだんやる気減ってるから待ってもいいんだけど、そうするとよりやる気がなくなるだろうな

(23:35)

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

_ lrlj [ghom ほんとに強いですよね…まだ倒せてないです…]


2012-07-01

_ diablo3

enrage のせいでこのままじゃ無理じゃねーと思ってたけど、 belial たおせた。 belial 第二を倒した段階で zoltun 同様 DPS 上げる装備に変えた。今回は LoH もいらんだろうと amulet も変えた。ただそれだと盾無しだと腕で即死で、腕全部よけてると enrage に入るので、 passive で Resolve 入れたらなんとか耐えれるくらいになった。あと primary 二つはいらんかな…と DPS と spirit 回復兼ねて sweeping wind を入れた。他はそのままで良いと感じたのでそのまま。

戦闘は、3連打じゃない腕は cooldown と付近の health globe 次第であえて受けて、回復しつつそのまま殴り続けた。ブレスは ranged の時と立ってる位置が違うからか、当たるけど威力減ってる? という感じだったので、これも受けてそのタイミングで breath of heaven の時間を延長する感じにした。あと毒沼最後の方で無敵使えるならもったいながらず発動してその時間殴った。

そろそろ enrage だなーて時間だったけど入る前に倒せたので、時間的には少し余裕があった気がする。似たような立ち回りしてるつもりなのにあんま減ってない時もあったのは、 sweeping wind と ally 使い忘れてるタイミングがあったってことかな…と思う。あと毒沼でたまたま ally が長生きしてる時とかあったりするだろうし、運ゲー感も。

そのへんの運ゲーと理想的な立ち回り (毒沼中も ally 見て死んでたら生き返す、受けれる腕は全部正しく受ける、 near death experience も使って殴る、毒沼をなるべく前で避ける) あたりをやれば DPS 12k くらいでもいけるんじゃないかな…その根性はないが。

第三の成功率は WD で倒した時と似たようなもんだったと思うんだけど、第二が安定してるんで色々ためせるし、ずいぶんラクだった。修理費は 200k くらいとかかなたぶん…

http://us.battle.net/d3/en/calculator/monk#aiXQgj!ZUT!aYbZYc

DPS16k armor2824 res357 life32719

(04:27)


2025年
7月
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.Gimite(2012-07-19 16:35) 2.mtve(2012-07-18 17:48) 3.lrlj(2012-07-03 23:34)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h