ToDo:
33,34,35ヶ月
論理ってのがなんなのかよくわからなくなった昨今だけど、論理ぽいのがかなり出てきている。月が見えなくなって「なんで見えなくなったのかねえ?」と聞くと「くもでかくれたんじゃない?」とか
近所に児童館が二つあり、「ころころ」と「ぷくぷく」なのだけど、最近は「ぷくぷく」がお気にいり。後者の方が小規模なので、落ちつくのかもしれない。「ころころとぷくぷく、どっち行く?」と聞くと「ぷくぷくー!ころころ、閉まってるって」などと答えたりする。もちろんウソなのだけど、閉まってれば行くことはないってことがわかってるんだなぁ、と
「帰れる」でなく「帰れれる」というなど、むしろ原則からすれば間違ってる方が正しい感がある「ミス」をするなんてのは https://www.amazon.co.jp/dp/4000296590/ で読んだ通り。汎化性能高いなあ、と。「帰られる」がより正しいとは思うけど
記憶力とかも良くなって、ちょっと前の会話に関連する会話をしたりができる。旅行でアルパカにキャベツをあげている時、小さい切れ端をあげようとして「大きいのにしな、小さいのは怒られるかも?」などと言われ、その数分後、妻が「小さいなぁ」などと言いながらキャベツをあげると「ちっちゃいの食べた?怒んなかった?」「怒んなかったよ」「そっか……ちっちゃいのでもいいみたい!」など
謎の演説をしてたりするけど、謎なので覚えられない。ので書き起こしておく。「いろんないろがかいてあるけど、あ、なんか!これが!わかりやすい、これはわからやすい、これがわからすい、これがわからしゃいです。ねー。あとはこれ、でーじーだけど。でじエービーシーディーかなけど、なんかね!エービーシーディーをうたってるけど!なんか。でーじーうごかないでしょ。なんかね!あとね。これね。なんか、いろんな、これ、みてみて、エービーシーディーかいてあんの。ね、あのーね、なんかね、どうぶつとかに、おっかこっえんだ、ねー。なんかねー、これがちりちりってひかるんだけど。……(ひたすら続く)」
何を言ってるかわからないけど、どうも何かを解説しているのだと思う。保育園の先生なり、ぼくたちなりが説明しているのを、マネしているのかなぁ、というフレーズがちょくちょく出てくる感じで
そういえば ABC の歌がやけに好きで、なんかおおむね覚えている。最後の now I know my ABC, next time won't you sing with me? が
のーはいのーはいえーびーしー ねくすたいむうぉんちゅーてぃんぐるみー
とかいう感じで、かわいい (16:02)
https://x.com/kusano_k/status/1838965345048265017
から引用していただいている、僕のイキリ発言について
僕は専門性が無いことが一定期間コンプレックスだったと思う。「A さんは XX に信念を持って取り組み続けて、今では XX は世界中から受け入れられている」みたいなのって、かっこいいじゃないですか。ひるがえって僕は器用貧乏で、特にそいうの無いなあ、なんて思っちゃうんです。今はなんとも思っていないんだけど、昔はそういうのを気にしていた。 今でも正直何が得意ということは無いと思う。長い間マジメにプログラム書いてることがあり、いろんなとこで平均以上のなんかができる、くらいの自信はあるのだけど、ゴルフにせよ、アルゴリズムにせよ、低レイヤにせよ、まぁなんでもいいんだけど、まわりに自分よりできる人があふれかえっているのよね。正直、今の僕には「XXなら誰にも負けません」なんて領域はない
そういう自己認識で、 kusano さんが書いておられる「全く新しいものが出てきたところですぐに対応できる」的な自信はそれなりにはあるものの、「目指すすべき姿」とはあまり思っていない。なんというか、一つのこと極められる人は、 CTF の種々の問題は解けないけど、人類のためになっている、みたいなケースが多そう
そいう前提で、これを書いているのは、僕みたいな、なにが得意というわけでもないけど、あれやこれや触って、あれやこれや知ってるし、突然 ksnctf 与えられてもそれなりに解けるけど、それぞれにすごく詳しくもない、みたいなのを肯定したい気持ちがあるのだと思う。そういう姿が「プログラマの目指すべき姿」というのは同意しないのだけど「好ましいプログラマの一つの形態」くらいだと良いなあ、くらいには思うのかな
現環境では、専門性がないのはたいして悪いことではないので、気にせず好き勝手なことを学ぶと良いと思うよ、くらいの
(00:18)
無事に終わって良かった。想定より多くの人が想定より熱心に参加してくれて、また、今までありえなかった、社外の人が詳細なブログ記事を出す、などをしてくれていて、存在の周知とか、転職先の候補になるとか、そういう効果が起きるといいねえと。まぁ種まき的な感じだから、効果があったかがわかるのはだいぶ先になるんだろうけど……
いくつか記事リンク
MN-Core 、アセンブリ言語の記述はまるで普通の ISA のコードを書いてる気分になる見た目になってるけど、実は mux カタカタやってるだけ、だから計算結果を複数箇所に出すとか当たり前、ってなっている。これって現代の CPU の、 ISA とは全然違うマイクロアーキが内部的に動いてる、て世界観と真逆で、好きなところで、社内で「このへんブログ記事書くと良い気がする?」とか思っていたのだけど、最初の記事とか、 https://qiita.com/kikx/items/23a76e196789250acd51 とかもそうなんだけど、社外の人たちが普通にこういうのを書いてくれている、ってのが、すごいなーという感じ
勝手に出した賞金は
の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社内記録を超えておきます
に期待。実際できるんだとは思う
だらだらと自分の記録と比べてみる。左がぼく、右がコンテスト最高記録
ConvertEndian 以外はトップ同着にすらなってないことがわかった上に、そもそも解いてない問題も多い。一応言い訳としては、途中で問題仕様を変えて invalidate されたのがあったり、社内テストの時はもうちょっと問題数があって、今回採用しなかった問題を解いてる、てのはあったりする
N/A のとこどう考えるか次第だけど、50位くらいになりそうな感じかなぁ?まぁ5年くらい(?)仕事で触ってる人が、その程度ということで、みなさんホントすごいですね……という感想だった。参加してくださったかたがた、ありがとうございました
(17:17)
今回の、これはプログラミングコンテストというよりは、パズルゲームです!て割り切った設計は、僕が思いつくなかでは、一番間口も広く、楽しいスタイルだったように思っている。特に全てが 0 初期化されてるとこからスタートとか、 mv が一瞬で終わるとか、パズルと割り切るまでは、仕事でやってる人間としてはちょっと抵抗感がある設定で、実際社内テストは最初は固定ランダム初期化したメモリでやっていたりもした
反応も良かったようで、良かった。ただ、これ同じフォーマットでもう一回やると、第一回のサブセットの参加者人数、似たような人が上位に来る、みたいなことになりそうで、するとこれ会社としてやる意義は……?となりそうな気がしている。参加人数が減るとしても、今回と違った層の人が参加する、今回と違った雰囲気の問題をやってもらう、そもそも成果物が直接有用になる問題にする、あたりを達成した方がよさそうで……
ただ、今回「楽しかった!」、って言ってくださった人たちが次回は not for me 、になるのは心苦しさあるよねえ。うまい方法あるかなあ。単純にこいうの考えるのわりと好きで、似た方向として、スコアシステムとか考えるのも好き
あ、そうだ、こんな文章書いてるけど、僕はそんなに運営仕事ほとんどしてないです。なんか全てがいい感じに整えられていって、すごいな……て見ていた。感謝です
(17:30)
https://ierae-ctf.com/ の gnalang
制約は
マジで?てなったけど、考えいくと割と普通にというか、新奇な道具が出ることなく解けてしまった
くらいか。最後のは作問者が知らなかったらしい。前から読むと文字列だけど、後ろから読むと " があまるので、これを二つ使うと好きな区間をコメントアウトできる
一番ハマったのは 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)
むっちゃひさびさにぷよ動画を紹介され、見てたら先折り GTR ばっかりで、「2018年頃に彗星の如く現れ、同年末には消息を絶った、正体不明、伝説の最強プレイヤー。」によってそうなった、と教えてもらった
https://w.atwiki.jp/puyopuyo-player/pages/52.html
すごい話だけど、意味わからんな……
(15:06)
woke 批判て、個人的に賛成しないものの、気持ちはわかる感じがあるのだけど、なんか最近は anti woke の方に woke してる感を感じていて、なんか面白いなって
なんとなく、日本でいうと小林よしのり的な、というか……
(18:12)
https://icfpcontest2024.github.io/scoreboard.html
3d に集中してたから、って言い訳を考えていたけど、 3d だけで見ても 8 位かぁ
フルで参加しづらいこと考えても、チーム入る感じが良いのだろうな。。
(22:09)
いろんな人に興味深い話を聞いた。とりあえずメモ
あとなんか、すっごいひさびさに物理本屋を見て、こういう本があるのだなぁ、というのが何冊か。たまに行って物理本買うのも良いだろうね、と (やらない気がするが)
(16:22)
https://www.oreilly.co.jp/books/9784814400850/
これまた「やりましょう!」と言ったこと以外にはあまり貢献していないのだけど、ぽけーと眺めていると、すごいクォリティの本ができていた
Binary Hacks の良かったところって、地味に実用的な内容も多いのだけど、それはそれとして、単純な探求精神、下の方までコントロールする全能感、意味があるかはともかく楽しいことをやる遊び心、そういうのがあったのかなぁ、と。今回、著者が完全に入れ変わってるし、僕が特になんか言ったわけでもないにも関わらず、そういうノリが通底してる感じに、とても嬉しくなってしまった。 Rebooted の「本書に寄せて」でも、たかばやしさんも同じようなことを感じたんだなぁ、とこれまた嬉しくなってしまった
そういう精神性については、 Binary Hacks の「本書に寄せて」 ( http://0xcc.net/binhacks/sample.pdf ) が本当に素晴らしいと思うので、もし買うか悩んでるかたがいるのであれば、これは Rebooted にもそのまま適用できると思うので、読んでみていただくと良いように思います。いやこれいつも言ってるんですが、この shiro さんの文章は、人生で読んだトップクラスに好きな文章レベルなんですよね……
精神の連続性を感じる一方で、クォリティは良い意味で継承されなかったと感じている。正直僕の文章はあまり読み返したくないレベルでアレだし、他の人達の文章はすばらしいけど、そうは言っても相互レビューや協力してくださった方々のレビューの量や質が、 Rebooted では本当に比較にならないレベルで行なわれていた。
モチベーションがないやつは書かない方が良いだろう、と、今回何も書かないつもりだったのですが、なんだかみんなが楽しそうで、ちょっとだけ書いてみたくなって、 1 hack だけ書かせてもらいました。だけど、やっぱり、ちゃんと文章を書くってすごく大変で、想像よりはるかに時間がかかったし、書き始めたことを後悔したりしていました。本当はもう一つ、 seccomp-bpf でトレーサを作る、ってネタを書きたい気持ちもあったのですが、それはまぁ今度どこかに書きたいなぁ、と思います
特に印象に残っている部分を箇条書きにしてみる
あたりかなぁ。いろいろ忘れてしまってそうだけど
あと、著者の方々、各分野の一線の人たちで、でも分野違いで Rebooted 以前は相互に知りあいでない組みあわせが多かった中、その人たちが知りあうきっかけになったのは、良かったことなのでは?と想像していたりします。これはまさに、僕が Binary Hacks 代表のたかばやしさんのおかげで起きたことで、色んな人と知りあい、知らなかったことを知るきっかけになって、大変感謝しています。なんで、なにかそういう似たような副産物が生えてたら良いなぁ、などと
さて本題。個人的に懸賞金を出します
実は、著者のわたなべさんの指導のもと、おおむね僕が手を動かして、 Binary Hacks Rebooted のどこかに秘密のメッセージを埋める、ということをしました。比較的素直なところにあるつもりですが、メッセージを取り出すのは、それなりに大変じゃないかな、という感じのものです。いや、テストプレイが不十分なので、思ったより簡単だった、ということはありそうな気もしていますが……
なんにせよ、最初にそのメッセージを発見して、 X でリプライとしてそのメッセージを送ってくださったかたに、10万円、ということにしようかと思います。間違ったメッセージのリプライがついた場合は、単に僕がリプライに気付いてないのと誤認されると申し訳ないので、なるはやで間違ってるよ、とリプライする、ということにします
(追記) 瞬殺されました:
https://x.com/shinh/status/1830092237809533351
(19:51)
https://shinh.skr.jp/m/?date=20240828#p01 の続き
やっぱ FizzBuzz に思い入れが強いので、追加したくなりました
にそれぞれ1万円プレゼント、ということにします
僕の FizzBuzz は、それなりにがんばったやつですが、たいしたことはないです。 sha256 は 766eb642f373a519615f158e28744df658e70617f90c44640e5a79cff9690d67 です
(00:07)
(22:08更新)
https://mncore-challenge.preferred.jp/
言い出しっぺである以外はたいしたこともせず、なんだか非常にクォリティの高いコンテストが用意されて、とても嬉しい。いや言い出しっぺだっけ?ちょっと自信がなくなってきた。まぁ「やるってことは決めましょう!」は書いたぽい
コンテストに対して自分が意識的にしていた貢献としては、トップ陣は勝手に楽しむと思うので、その他の順位帯の人でも楽しめるものに、的な意見を多く出した、というのがある。うまくいっていると良いなぁと
始まったばかりだけど、反応もなかなか良いように思う。練習段階での参加人数や盛り上がりは、予想を大きく越える、とまではいかないものの、想像できる範囲で最高、くらいの感じに思える (2,3シグマくらいのイメージ)。とても嬉しい。トップ陣のヤバさというか、既に解かれてる問題数なんかは、想像した範囲を越えてるかなぁ
趣旨としては
https://shinh.skr.jp/m/?date=20240313#p01
の「人が欲しい」の一貫で、最近「仕事するのもいいけど、飲み会でもして人増やす方が有用では??」みたいなことをよく考えていて、そういう話
他にも副産物がある(例えばドキュメントの品質が非常に良くなった)ものの、採用が主目的なので、それとの関連を少しだけ書いておきたい気分がある
今回のコンテストは特殊な HW でのゴルフ大会ということで、通常のゴルフでやるアルゴリズム考察に加えて、 MN-Core 特有の演算器やポートのパズルを楽しむ、という側面も強いと思う。ただなんかちょっとミスマッチが起きると不運があるかもと思って書きたいところなのだけど
は真なのだけど
ということは、実はあまり真ではない。あまり真ではない理由はおおむね二つあり
という話がある。なんというか、 SRAM の種別を適切に選ぶ、みたいなミクロなところでは、それほど困っていないというか、もっと大きな問題があるというか
言いかえると、「コンテストをやってみて、ゴルフができそうだから入社しました!」は、そうでもないかもしれない。「コンテストをやってみて、手でこういうのやるのはなぁ、と思ったから応募やめよう」もそうでもないかもしれない、て感じのことが書きたかったのです。あと「楽しめたけど、成績がふるわなかったから入社してもついていけない」なんかも明確に偽ですね。このコンテストを楽しめる人であれば、成績と関係なく適正がある可能性が高いと思います。実際社内のゴルフ好きたちが楽しそうに準備をして、開催の運びとなったわけです。もちろんこのコンテストを楽しめないとダメというのも偽です。社内テストでも、チーム外の人が楽しんでいたり、チームの人がスルーしていたり、割といろいろです
まぁなんか、採用目的のイベントなのだけど、実際の職務か、それとも単なるパズルゲームかと2択で聞かれると、パズルであると考えてもらった方が良いと思います。実際、業務に近い要素を色々検討したのだけど、議論を経て、より単純にパズルとしての楽しさに寄せていった、みたいな経緯もあったりします。ただ、とはいえ、通常のコードゴルフよりは職務に近い、とも言える、そういうちょっと独特な距離感ですね
さて、僕が書きたかったことは垂れ流したので、ここからが本題です。このコンテストに便乗して、個人的に賞金を出します。ただ、以下の条件とします
前者、ちょっとマジメに考えてるとコーナーケースが色々ありそうで文言ややこしくなったんですが、基本的には総合一位が PFN オールスターと互角以上だったら、本来の賞金に加えて50万円、て気持ちです。がたぶん可能性としてはコンテスト一位でない人が PFN ベストを入れると一位になる可能性もある気がする?のですよね
後者はシンプルですね。 https://x.com/shinh/status/1760252565051334786 の時から書いている通り、 FizzBuzz は絶対楽しいと確信していて、有給2日くらい取って取り組んだ結果やっぱり楽しかったので、思い入れが強いのです
ちなみに、 PFN オールスターと言いつつ、おおむね一名の激ヤバゴルファーと対決する感じとなっています。僕と勝負したことあるトップ層はよくご存知だと思いますが、僕はなにをやってもせいぜいかませ犬ポジションなんで、僕のコードはオールスターに一切入ってません。自分のコードが入るようでは内部競争不足ということで、今回の試みはやっていないと思います。合計100万て、まぁ軽々しく出したいお金ではないので、「ああ、このレベルまで楽しんでくれたら気持ちよく出せるなぁ」と思えるコードを書いてくれた同僚陣に感謝です。あともちろん、 https://x.com/shinh/status/1826854715579400650 にも書いた通り、いろいろと準備にコストがかかってるので、いろいろ感謝です。なんか前々から、個人的に賞金出すってやってみたかったけど、なかなか自分で問題用意するのも難しいよね、ってんで、ちょうど良かったというのもあったりします
つまりまぁ、かなり厳しいハードルだと思っていて、とはいえ世の中の人のすごさ、特に競争のすごさというのも知っているつもりで、それぞれ30%くらいの確率で支払う必要が出るんじゃない?くらいを想像しています。想像を大きく外して、10人くらいが条件を満たして完全に社外の争いになっていたら、笑ってやってください。いやホント、1ヶ月後が楽しみです!
いちおう、趣味で勝手にやってる話を疑う人もそんなにいない人もいないと思いますけど、現段階での社内最高スコアを固めたつもりの tgz を作って sha256 取っておきました
$ sha256sum sota240828.tgz 0063a806d91403c47ff4b15c6669b0d09d506f5152c6ea3a3ebb8affe1d33e5f sota240828.tgz
9月19日追記: 同着の場合について書いてなかったので、書いておきます。前者の総合得点で同着だった場合、公式の順位で上位の方、とします。後者の FizzBuzz は、早く回答を提出した方、ということとします。完全に同着の場合、賞金が倍増するのはしんどいので、按分とさせてください
(22:42)
前 | 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 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。