ToDo:
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)
31,32ヶ月
そろそろ隔月で十分な気がしてきた。最近は力も強くなっていて、割と重い扉を開けたりとビックリさせられるが、しかしそれよりも言語能力の成長が著しい。かなり会話ができているし、子しか知らない事項について聞いて帰ってきた返答が、時によってはなるほどこういうことがあったのだろう、と確定できる。「(保育園の友達の)Yちゃんがえーんしたよ」とか「ママ、カバンあっち置いてたよ」みたいな明らかに正しい記憶を話している時はもちろん、発言が若干不明瞭だがこっちの推測とあわせるとたぶんこういう話だろう、とかなりやれる。こちらからも普通に本当に答えてくれたら嬉しい質問をする。「お茶どこか知ってる?」とか。割と普通に役に立つようになってきていて、つまり、会話をしている
いくつかかわいかったのを記録しておく
(23:14)
おおお、いまごろ気がついたが昔のコンテンツが無くなってしまっている、のかな。始めてインターネットに触れたころくらいに、大ファンで、特に
の
核戦争で廃墟・死の灰の状況から、少人数(最悪の場合一人)で文明を再建することができる 知識・スキル・経験を身に付けるためのWebサイトを目指します。 コンピュータの例でいえば、OSやコンパイラの作成はもちろん、CPUなどのハードウェアの設計も含まれます。 さらに、ハードウェアを作成するための電子部品が手に入るとは限らないので、手に入らないものは自作になります。 電子部品を自作するとしても、鉄やアルミなどの素材が転がっているわけではないので、 それを精製する能力もなければなりません。
ていうお題目がカッコよくて、今でも自分の行動指針にかなり強い影響を与えてもらった認識でいる。こういう全ジャンルをマスターする能力を自分で身につけるぜ、って行動指針は持てていないのだけど、もともとの僕は「それは興味ないからどうでもいいよ」て考えかただったと思うのだけど、今は、「現段階であまり興味がないことでも、ちょっと勉強して興味を広げていこう」くらいの気持ちはあるので、結構デカい差分を感じている
(19:10)
前 | 2024年 11月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
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 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ は [・「まるくして」「みえてる」:皿に米をいれたところ、こう言って怒り狂い始めた。夫婦共に困惑、子はイライラ号泣。なんだ..]