トップ «前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|

ToDo:


2015-05-23

_ FFRKおもしろにっき

他のスマホゲーあまりやってないので、他と比べられないのだけど、前のプロテス耐性(http://shinh.skr.jp/m/?date=20150511)もそうだけど、やらかし系のことが起きるたびに面白い。いくつか記憶に残ってるものを。

  • 地属性撃つと1.2倍になりますよ、という装備を二つ装備すると2.4倍。
  • リディアのレコードマテリア(要はパッシブスキル)が「ミシディアの申し子」。リディアはミシディアと関係なくてセシルが焼いたのはミスト。
  • オルトロスが「今むかつくタコ野郎と思わなかった?」て聞いてからヘイストプロテス使う。原作では当然順序逆。
  • ガチャで宣伝より数値が不自然に高い防具を配布。しょうがないから高い方の数値を公式として、重装鎧より強い不自然な軽装鎧ができる。
  • エンペラーズサガとコラボ。モチーフはロマサガ1だけど集めるのは「ひらめき」。ただ電球ピコーンは攻撃前じゃなくて攻撃後に出る…
  • レナ(FF5)のイベントで魔石のかけら(FF6)を集める。
  • FF2 主人公フリオニールの武器が何故か石斧(https://xn--ffrk-8i9hs14f.gamematome.jp/game/780/wiki/%E8%A3%85%E5%82%99%E5%93%81_%E3%83%AC%E3%82%A25_%E9%AD%94%E7%A5%9E%E3%81%AE%E6%96%A7%E3%80%90%E2%85%A1%E3%80%91)

まあ総じて1-6に対して扱いが雑というか、まぁあまり詳しくないっぽい

(12:42)


2015-05-18

_ ctfutils TODO

  • puts を一発の write にする
  • get(3) の echo back をマシにする
  • format string 系とか

あと dis も色々いけてないがまあ

(16:28)


2015-05-14

_ 見ながら

http://blog.practical-scheme.net/shiro/20150401-editing

ふと見当たったこれにすごく同意した。なんか、全画面 screen とかで生活してるとかってすごいなぁとよく思う。

ただ、フォーカス当たってるやつが手前って決められるとうざい、てのも昔はそう思ってたんだけど、なんか広いディスプレイを使ってウィンドウを重ならないように配置したら問題なくなった。

(02:52)


2015-05-13

_ 新人ITエンジニアが先輩と話のネタにするためにゴルフ

https://twitter.com/tororosoba/status/597748845624172544

なるほど。

新人のみなさんはどんな会話をうんぬん。何を話したら…という方のために、今でも見ることができる50はめんどくさいから5くらいで

どハマりした問題が…というのは建前で好きな問題を並べてみたかっただけです。

minesweeper

http://terje2.frox25.no-ip.org/perlgolf_history_070109.pdf (minesweeperで検索)

http://golf.shinh.org/p.rb?Minesweeper

隣接した爆弾の数を表示する問題だけど、この Perl の異様な強さが好き。

FizzBuzz

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

わざわざ FizzBuzz について語るためだけの会合を開くほどでした

123

http://golf.shinh.org/p.rb?123

入力が無いので乱数頼り。 DOS 祭りになった

postfix to infix

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

Ruby の解がすごく良くて

Hello broken keyboard

http://golf.shinh.org/p.rb?Hello+broken+keyboard

文字種ゴルフ。特殊ルールでは一番好きなやつな気がする

(11:24)


2015-05-11

_ プロテス耐性

FFRK の新しいボス見てわらった。

https://xn--ffrk-8i9hs14f.gamematome.jp/game/780/wiki/%E3%83%9C%E3%82%B9_FF13_%E3%82%A2%E3%83%AC%E3%82%AD%E3%82%B5%E3%83%B3%E3%83%80%E3%83%BC

何に笑ったかというと、この人の「状態異常耐性」として、毒とか麻痺と並んで、プロテスとシェルってのがあること。 FF でプロテスとかシェルってのはバフであってデバフじゃない。なんでそれに耐性をつけるのか。

これはなんかヘンな裏技チックななにかへの対応。具体的には、例えば、敵にプロテスをかけてから、ハイアーマーブレイクっていう防御力40%減らす技を使い、もう一度その敵にプロテスをかけると、相手の防御力が60%減っている。ヘンすぎる。

理解するにはこのゲームの防御力がどうなってるかを理解しないといけない。そのへんの式とかは公開されてないけど、そこらにある情報と僕自身で適当に調べてみた感じでは、こうなってる:

  • 防御力は数値 X+Y の合計である。
  • 攻撃力 Z に対してダメージは min(9999, K*Z/sqrt(X+Y+1)) 的な方法で決まる。
  • X は基礎防御力。
  • Y がバフによる防御力。最初はゼロ。
  • プロテスは Y=X になる。
  • 防御力に対するR%のデバフは、 X-=max((X+Y)*R/100, 0) 的な方法で決まる。

まあ本当は X に対するデバフが無くなる時どうなるのとか考えると他にもパラメータがあるはずだけど、とりあえずプロテスで防御力が減る現象はこれで説明がつく。

  • 最初の防御力を X=10 とする
  • 最初のプロテス。 Y=10
  • ハイアーマーブレイク。 X-=(10+10)*0.4 なので X=2
  • 二度目のプロテス。 Y=2 …よって X+Y=4

まあこの場合は二回目はプロテスじゃなくてデスペルにすれば、 X=2 Y=0 となるので防御力8割減になる。

で、まぁこのくらいなら、防御力8割減でも sqrt のおかげでダメージ2.2倍程度なので、まあ面白くて結構強い裏技くらいなんだけど、デバフは重複させれる種類のものが結構あって、二回のプロテスの間に X を 0 まで減らしてしまえば二度目のプロテスで防御力がゼロになっちゃう。こうなると、防御力は分母にいるため、すっごい弱い攻撃でも 9999 でカンストするようになる。たぶんこれが問題。

でー。まあプロテスかかってる時のデバフを (X+Y) を基準にして X から引く、なんてことをやめて、 X を基準にして X から引いて、プロテスかかってりゃ Y も調整するとか、 X から引くのやめて Y がある時は Y から引くとか、なんかそういうのでいける気しかしない。ただまあデバフも何系統かあるし、現実にはこのへんもっとパラメータがあってややこしいんだろうけど。

既存の課金でも配ったもの系で著しくこの変更で損をする、ってものは無いと思うんだけど、うーんそれでも金払ってもらってアイテムばらまいてる以上、今までの敵に対する変更はしにくいのかな。新しい敵だけ戦闘での計算式変えるとかがしんどくて、とりあえず「プロテス耐性」なんていう素頓狂なものをつけたか。それか次のクライアントリリースでなおるとかかな。

(17:22)


2015-05-09

_ サーチエンジンはやぶさ

http://www.afpbb.com/articles/-/3047627

を見て思い出したら

http://www.kk.iij4u.or.jp/~kazunori/indexmoto.html

まだ移転前のがあった。

(07:55)


2015-04-30

_ 10万AP

イングレスのFSとかいうイベントに一度行った時に、10万AP増えたと言ってる(L8以上の)人がいた。はて、10万APてコンビニに行くと増えてる程度の量じゃなかったっけ、とか嘘ぶいてた。

ちょうど agent stats に上げたすぐ後くらいに、今さっきコンビニに行って、つまり行き帰りでかなりうろつくわけだけど、ああそういえばどんなくらいだろうな、と見てみたら、だいたい10万増えてた。

なんか割と気持ちよく多重できたなーくらいの感じだったので、ちょっと大袈裟だった感じだな…

(01:41)


2015-04-29

_ syscall と syscall wrapper

なんか安くなってるとのことで、遅らばせながらアセンブラ短歌本を読んでみた。なんか自分でも考えてみたくなる。

で、中の余談の一節のしょうもないことが気になった。

なお正式 には exit() は _exit() を呼び出すためのライブラリ関数であり,
_exit() が 本来 のシステムコールの API だ . このため 「exit システムコール」
ではなく 「_exit システムコール」 と表記すべきで , man のカテゴリは
exit(3) と_exit(2) になっている . まあでもあまり気にせずに , ここでは
「exit システムコール」と呼んでしまっている .

これはなんか全体的におかしいような気がする。

int 0x80 で呼ぶ文脈なんだから、 linux システムコールというレイヤで見るべきというのは良いと思う。間違ってると思うのは

  • _exit というシステムコールは linux に無い(と言って良いと思う)
  • exit(3) も _exit(2) も exit システムコールを呼ばない

あたり。いろいろ書いてみる。

まず、システムコールまわりには3つのレイヤがあると考えて良いと思う。

  • linux kernel のシステムコール
  • glibc 内の syscall wrapper
  • glibc 内の libc 関数

最初の linux kernel のシステムコール

これは歴史的な事情とかで名前とか引数が微妙にヘンだったりする。これらの正式な名前は、 linux kernel のコードを SYSCALL_DEFINE で git grep するか、 /usr/include/asm/unistd_{32,64}.h あたりを見るのが良いと思う。

unistd_32.h を見れば、まぁ __NR__exit なんてものは無いし、 kernel 内でも SYSCALL_DEFINE1(exit, int, error_code) などとなってる。まぁでも _llseek とかは kernel 内ではアンダースコア落ちてるな。。

このレイヤにあるのは exit と exit_group 。 exit はスレッド終了であり、 exit_group がプロセス終了をする。まあ短歌の世界ではどっちでも同じだろう。

次の glibc 内の syscall wrapper

基本的に、このレイヤが glibc の man の 2 番目のセクションに載っている、と考えるのが良いと思う。 gettid や futex なんかの、 glibc が提供してないシンボルも man 2 で出るんだけど、やつらはちょっとした親切で載ってるだけという感じで良いと思う。また、 syscall wrapper と syscall の ABI がだいぶ違う場合なんかは、親切で linux 側の方も紹介してくれる時もある。例えば clone(2)

がまぁ、基本的に man 2 が出すのは syscall wrapper 。 x86 には send なんて linux システムコールは無いし (c.f., man 2 socketcall) 、実際には pread64 が呼ばれるはずだけど pread しか書いてない。などなど。

man 2 にはエラー時には errno がセットされるとか書いてあるけど、これなんかも libc がやってること。 errno なんて kernel の世界には無くて、 -4095 から -1 までの数字が返ればそれを errno にセットする、てのを libc がやってる。

このレイヤの仕事は libc の ABI を kernel の ABI に変換する、ってこと。おかげさまで syscall(__NR_XXX, ...) とかしないでも割と簡単にシステムコールを叩くプログラムが書ける。

普通あまりたいした仕事しないけど、 sigaction とか fork とかは割と仕事ありますね。 mmap の第6引数がアラインされてない時 EINVAL 返すのが glibc の仕事とか (c.f., man 2 mmap2)、 x86 含めて、 kernel の sigsuspend で第1,2引数使ってないアーキテクチャがあるとか言い出すとだいぶ libc マニヤ。

最後の glibc 内の libc 関数

これが man 3 で出てくるやつ。普通、単なる syscall wrapper と違って、もうちょっと libc チックなイロイロをする。 fopen(3) と open(2) とかを考えると良いと思う。僕的には exit(3) と _exit(2) は fopen と open くらい違う。 atexit 呼ぶとかをはじめとして、結構いろいろやるんで。たぶん、歴史的には exit(3) が単なる syscall wrapper じゃない感満載なので、 syscall wrapper 足す時に名前かぶらないように _exit としたんじゃないかな。 C99 では _Exit 。

exit(3) も _exit(2) も _Exit(2) も exit システムコールは呼ばない。呼ぶのは exit_group 。 exit システムコールに対応する syscall wrapper は…たぶん無いと思う。一番近いのが pthread_exit(3) と言えなくはないけど…くらい。

んなことどうでもいい

と思う。

ただこのへんのレイヤをきちんと分別しないと大変な珍しい世界でしばらく仕事してたので、どうでもいい知識がたくさん身についた。まあ int 0x80 とかする人は上記3レイヤくらいは把握しといてもいいんではないかな。

(22:38)


2015-04-16

_ FF6

うわーキャラの名前でコーディングしてる。。

http://www.nicovideo.jp/watch/sm26038040

(11:47)


2015-04-13

_ しりこんばれー

http://togetter.com/li/806789

なにやらネガティブだなあと思うけど、なんか概ねそんなもんかな感がある話

まぁそもそも英語、車、国、的な問題であんまアメリカ行きたくないんだけど、そのへん無いとしてもあまり行きたくないなあ…と思ってて、この話に書いてあるようなことが、第四の理由くらいになってる気はする。

ただちょっとグーグルの話とクビになった後の話が混じってるのかなーというか、あまりグーグルだとそれは無いんじゃね、てのもあるな。年中仕事って感じじゃないと思う。たぶん日本グーグルのエンジニアの方が平均的に見てよく働く。まあ最もワーカホリックな連中は日米両方で同程度に社畜な気はするけど…

まあ生活費クソ安い日本でたぶん給料水準が大幅に違いない気がするので日本で働くのは勝ち組感ある。

それはそれとして、しかしこの話に納得しにくいのは、あれかな。僕が知ってる向こうに行った人は、金が欲しいから行ってるんじゃなくて、単に「最先端」に触れたい的なひとがほとんどな気がするからかな。まぁ僕の知ってるひとたちがたまたまそういうひとたちなのかもしれないけど。

なんかつまり、最後に書いてる、自分の技術を磨く、ってののために行ってる気がするんだよな。まぁ日本でもできんじゃね、と言われれば僕も賛成するところだけど。

(01:39)

_ スキャナを捨てよ書を読もう

最近 ingress 廃人度合いを低めている…が、今日は腕が痛かったので家にいるのやばげーということでおでかけした。

なんか港区自転車シェアリングというものがあり

http://docomo-cycle.jp/minato/

つまり月1000円で自転車が使い放題になるのだった。まあ ingress 関係なく単に生活に便利そうなので試してみている。

とりあえずわかったことは電動アシスト自転車というのはすごい便利だなーという。電気自転車とか意味わからんと思ってたけど、なんか要するに自分でペダルを踏んでる時に、ちょっと回してくれる感じなんだな。たぶん踏んでる力とか検知してるからか、坂道でペダル回せてない時もなんか「ああこの乗ってる人回したいんだろーなー」と察して回してくれる感じで良い。

慣れるまでなんか謎の急発進とか起きてちょっとこわかったけど

ingress 的にはミッションが40個くらい。だいたい6時間ほど活動した気がするので、ひとつ10分くらいかな。

(01:49)


2015年
5月
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.m(2015-03-25 23:58) 2.ゆーろ(2015-03-25 20:26)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h