トップ «前月 最新 翌月» 追記

はじめてのにき

ここの位置付け

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|

ToDo:


2024-09-01

_ いろいろと話をした

いろんな人に興味深い話を聞いた。とりあえずメモ

  • row hammer の今について。ファームウェア側である程度のことしたら完全に防げるのでないの?的なこと聞いてて、読むと良いと言われたのはこれかな: https://ieeexplore.ieee.org/document/9152631
  • https://ai-li.co.jp/ について。普通に本業的に興味ある感じだったのでもちょい聞きたかった
  • ファイルシステムについて
  • OS 人材の職場について、もちょい聞きたかったかもしれない
  • MN-Core ゴルフをやろう!という話。改善した PE 内と外でアドレッシング単位が違うのだるい、という話。現地では慣れたと言ったけど、たしかになんかした方が良い気がしてきた
  • ELVM scratch バックエンド。ひさびさに見たけどやはりすごいことになっている: https://scratch.mit.edu/projects/383294522/editor/
  • チューリング完全性うんぬん。全然低レイヤじゃないなつかしい名前が出てきて、ああそういえばそこつながりあるのか、とか
  • reversing を楽しいと思う理由について。僕は reversing まるで楽しめないのだけど、なるほどなぁ、という感じで、かなり面白かった。「数独ひたすら解いてる人に近い感じですか?」「近いと思う」的な
  • goma のお葬式。いつも通り「まず redo をですね……」という話をしたが伝わってなさそう
  • マネージャについて
  • 300年生きたい話
  • binary 2.0 conference 的なのをやろう!という話。あまり具体化ができなかった
  • ierae ctf に参加せよとのお達し

あとなんか、すっごいひさびさに物理本屋を見て、こういう本があるのだなぁ、というのが何冊か。たまに行って物理本買うのも良いだろうね、と (やらない気がするが)

(16:22)


2024-09-03

_ elon

woke 批判て、個人的に賛成しないものの、気持ちはわかる感じがあるのだけど、なんか最近は anti woke の方に woke してる感を感じていて、なんか面白いなって

なんとなく、日本でいうと小林よしのり的な、というか……

(18:12)

_ icfpc

https://icfpcontest2024.github.io/scoreboard.html

3d に集中してたから、って言い訳を考えていたけど、 3d だけで見ても 8 位かぁ

フルで参加しづらいこと考えても、チーム入る感じが良いのだろうな。。

(22:09)


2024-09-12

_ ぷよ

むっちゃひさびさにぷよ動画を紹介され、見てたら先折り GTR ばっかりで、「2018年頃に彗星の如く現れ、同年末には消息を絶った、正体不明、伝説の最強プレイヤー。」によってそうなった、と教えてもらった

https://w.atwiki.jp/puyopuyo-player/pages/52.html

すごい話だけど、意味わからんな……

(15:06)


2024-09-23

_ gnalang

https://ierae-ctf.com/ の gnalang

制約は

  • The polyglot must be executable in `sh` and `node` both.
  • `sh` and `node` must exit normally when executing the polyglot.
  • `sh` and `node` must return the same output when executing the polyglot.
  • `sh` must never cause error for each executed command.
  • The polyglot must output "Yes\n" when the string given from stdin is a palindrome. "No\n" otherwise.
  • The polyglot must be a palindrome.
  • The polyglot must not contain the following tokens: '$', '#', "//", "<!--", "-->", '\n', ' '.
  • The polyglot must not write anything to file as a shell script (because it fails and causes error)

マジで?てなったけど、考えいくと割と普通にというか、新奇な道具が出ることなく解けてしまった

  • 空白不在はタブで無問題
  • sh は exit 以降無視できるので一行コメントがあるようなもの (と思っていた)
  • /* が封じられてないので、 sh と js の分離は /*/true とかで開幕でできる
  • POSIX shell なんて知らんしめんどいよーと思ったけど、 sed があったのでそれで OK (地味に $ が封じられてたので少しハマったけど)
  • JS 側は "fs" を require するやつが、 sandbox 中だと動かなかったので、適当にぐぐって process.stdin というのを使うやつを拾った
  • palindrome は1行コメントがなくても、 "n"" でおおむね無力化できる、てのがかなり一般的に広い言語で使える

くらいか。最後のは作問者が知らなかったらしい。前から読むと文字列だけど、後ろから読むと " があまるので、これを二つ使うと好きな区間をコメントアウトできる

一番ハマったのは polyglot や palindrome と直接関係がない、 backquote の挙動で、煎じ詰めると

exit;echo `\``

が /bin/sh だとエラーになる、ってことだった。 bash だったら OK だし

exit
echo `\``

も OK 。改行あったら読み込まないのは、よくある実行中に編集しちゃって困る経験的にもそうなんだけど、なんで実行しないスクリプトの `` の中身の backqoute がそろってるかを気にしるの?てなっていた

今思えば単に、 backquote の中で backquote を escape することはできない、ってこと?いや、うーんそれだと

echo `echo \`

が通らないのも説明がつかないので、単に /bin/sh はマトモな処理系ではないから、な気がする……

まあなんかよくわからないので、 backquote のかわりに double quote を使って解決した

最終的なコード

/*/true	"n\"";/usr/bin/cat	-|/usr/bin/sed	's@.*@&_@;:l;/^.\?_/s@.*@Yes@;/^Yes\b/q;s@^\(.\)\(.*\)\1_@\2_@;tl;s@.*@No\n@';/bin/true	'*/;m=this;m/"/;";(async()=>{const	buffers	=	[];for	await	(const	chunk	of	process.stdin)	buffers.push(chunk);const	buffer	=	Buffer.concat(buffers);const	text	=	buffer.toString();e=text.substring(9999);console.log(text.split(e).reverse().join(e)==text?String.fromCharCode(89,101,115):String.fromCharCode(78,111))})();exit=1;/*';/bin/true	*/;exit;"\n";"n\";tixe;/*	eurt/nib/;'*/;1=tixe;)()}))111,87(edoCrahCmorf.gnirtS:)511,101,98(edoCrahCmorf.gnirtS?txet==)e(nioj.)(esrever.)e(tilps.txet(gol.elosnoc;)9999(gnirtsbus.txet=e;)(gnirtSot.reffub	=	txet	tsnoc;)sreffub(tacnoc.reffuB	=	reffub	tsnoc;)knuhc(hsup.sreffub	)nidts.ssecorp	fo	knuhc	tsnoc(	tiawa	rof;][	=	sreffub	tsnoc{>=)(cnysa(;";/"/m;siht=m;/*'	eurt/nib/;'@n\oN@*.@s;lt;@_2\@_1\)\*.(\)\.(\^@s;q/b\seY^/;@seY@*.@s/_?\.^/;l:;@_&@*.@s'	des/nib/rsu/|-	tac/nib/rsu/;""\n"	eurt/*/

(10:34)


2024-09-28

_ MN-Core challenge 終了

無事に終わって良かった。想定より多くの人が想定より熱心に参加してくれて、また、今までありえなかった、社外の人が詳細なブログ記事を出す、などをしてくれていて、存在の周知とか、転職先の候補になるとか、そういう効果が起きるといいねえと。まぁ種まき的な感じだから、効果があったかがわかるのはだいぶ先になるんだろうけど……

いくつか記事リンク

MN-Core 、アセンブリ言語の記述はまるで普通の ISA のコードを書いてる気分になる見た目になってるけど、実は mux カタカタやってるだけ、だから計算結果を複数箇所に出すとか当たり前、ってなっている。これって現代の CPU の、 ISA とは全然違うマイクロアーキが内部的に動いてる、て世界観と真逆で、好きなところで、社内で「このへんブログ記事書くと良い気がする?」とか思っていたのだけど、最初の記事とか、 https://qiita.com/kikx/items/23a76e196789250acd51 とかもそうなんだけど、社外の人たちが普通にこういうのを書いてくれている、ってのが、すごいなーという感じ

勝手に出した賞金は

  • sosuupoyo さんが PFN オールスター倒した。この条件を満たしたのは3位までだったらしいけど、その中で1位に出すということだったので
  • sosuupoyo さんが PFN の最高記録を最初に倒す (Transpose) 。 PFN 社内記録が破られる数について、みんなが1問とか0問とか言ってるなか、僕が一番楽観的な予想で4問と書いていたのだけど、最終的に7問だったか破られたぽくて、ひとびと本当にすごいな……と
  • tails さんが FizzBuzz first par 。 FizzBuzz が盛り上がらなかったのだけは、今回残念なことだった。僕は FizzBuzz くらいしかちゃんとやってないくらいの勢いだったし、ああいうの好きな人他にもいそうなものだけど……好意的な見方をすると、本戦の方が楽しい、かつ、競争が激しいのでそっちに時間投入しないともったいない、ということはありそうだった

の3つが該当した。50万*2のうち、片方くらい払う感じじゃない?て予想は当たってた感じだった。とりあえず社外の人に賞金を勝手に出すということはできそうとわかったので、今後もこういうのやっていきたさがある。 tails さんの方はゴルフ場に寄付という対応をしてくださった。1万円だとまぁそれでもいっかと思ってしまうので、次回以降は10万程度を単位にして、絶対に払う感じにしていきたさがある

今回 sosuupoyo さんは本当に強くて、頭一つ抜けてる感じがあって、まさに事前に想定していた「気持ちよく自前賞金を出せる」というか、これは称えるに値する!て感じだった。特に Transpose MAB が好き

FizzBuzz は社内 sota (nuさん) が 53 、僕が 76 、ということでコンテストには参加されていなかった https://lpha-z.hatenablog.com/entry/2024/09/24/000000 のかたも含めて、今のところ前座の僕ですら負けていない。1位の人のエントリ ( https://primenumber.hatenadiary.jp/entry/2024/09/26/234205 ) の

あとでPFN社内記録を超えておきます

に期待。実際できるんだとは思う

だらだらと自分の記録と比べてみる。左がぼく、右がコンテスト最高記録

  • welcome: N/A vs 2 。なんかやってないらしい
  • plus 2: 6 vs 5 。入力依存は考えてなかった (テストプレイ時はもっと他の問題もガバかったので、そこついてもなー感があった)
  • A+B: 6 vs 6
  • Mul7: 9 vs 6
  • Abs: N/A vs 13 。問題設定が途中で変わって invalidate されたまま
  • FAM8: 17 vs 15
  • fmul2: 11 vs 9
  • Lesseq: N/A vs 4 。これもやったけど、問題設定が変わったやつか
  • Transpose: 16 vs 10
  • Gather: 9 vs 6 。 madpe は「いらないから消えて欲しい」くらいの気持ちで……同じ箱に BAR も入っている
  • SquareSum: 12 vs 11
  • ConvertEndian: 3 vs 3 。唯一のトップ同着問題!
  • Mod3: 14 vs 10 。3で割る力は FizzBuzz で生きそうなもんなのに、気合いが足りない……
  • MatrixSquare: N/A vs 10 。あれ、 MAU 難しいからイヤだな……と思いつつも、書いた気はしたけど?僕のなかでマスクと MAU が難しくて、マスクは割とたくさん触ったから苦手なりになんとかなるんだけど、 MAU は触った頻度が低くてイマイチ身についていない
  • Contains: 22 vs 20 。これ社内トップが 22 から 24 くらいの時に「これは追いつけるやろ?」と頑張ってたら nu さんが縮めてて印象に残ってた
  • CountUp: 30 vs 26 。実は FizzBuzz の練習問題なのに……
  • TransposeMAB: N/A vs 15 。これ最後の方にできた問題だっけ。 mabdiff 楽しい
  • InversionSmall: N/A vs 10 。やったけど invalidate された
  • Inversion: N/A vs 31 。たしかやってない?

ConvertEndian 以外はトップ同着にすらなってないことがわかった上に、そもそも解いてない問題も多い。一応言い訳としては、途中で問題仕様を変えて invalidate されたのがあったり、社内テストの時はもうちょっと問題数があって、今回採用しなかった問題を解いてる、てのはあったりする

N/A のとこどう考えるか次第だけど、50位くらいになりそうな感じかなぁ?まぁ5年くらい(?)仕事で触ってる人が、その程度ということで、みなさんホントすごいですね……という感想だった。参加してくださったかたがた、ありがとうございました

(17:17)

_ 次回

今回の、これはプログラミングコンテストというよりは、パズルゲームです!て割り切った設計は、僕が思いつくなかでは、一番間口も広く、楽しいスタイルだったように思っている。特に全てが 0 初期化されてるとこからスタートとか、 mv が一瞬で終わるとか、パズルと割り切るまでは、仕事でやってる人間としてはちょっと抵抗感がある設定で、実際社内テストは最初は固定ランダム初期化したメモリでやっていたりもした

反応も良かったようで、良かった。ただ、これ同じフォーマットでもう一回やると、第一回のサブセットの参加者人数、似たような人が上位に来る、みたいなことになりそうで、するとこれ会社としてやる意義は……?となりそうな気がしている。参加人数が減るとしても、今回と違った層の人が参加する、今回と違った雰囲気の問題をやってもらう、そもそも成果物が直接有用になる問題にする、あたりを達成した方がよさそうで……

ただ、今回「楽しかった!」、って言ってくださった人たちが次回は not for me 、になるのは心苦しさあるよねえ。うまい方法あるかなあ。単純にこいうの考えるのわりと好きで、似た方向として、スコアシステムとか考えるのも好き

あ、そうだ、こんな文章書いてるけど、僕はそんなに運営仕事ほとんどしてないです。なんか全てがいい感じに整えられていって、すごいな……て見ていた。感謝です

(17:30)


2024年
9月
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

search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h