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

ToDo:


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-12

_ ぷよ

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

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

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

(15:06)


2024-09-03

_ elon

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

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

(18:12)

_ icfpc

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

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

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

(22:09)


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-08-30

_ Binary Hacks Rebooted に寄せて

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 でトレーサを作る、ってネタを書きたい気持ちもあったのですが、それはまぁ今度どこかに書きたいなぁ、と思います

特に印象に残っている部分を箇条書きにしてみる

  • やっぱりみんな好きな、 DWARF で遊ぶやつ
  • ソフトウェアの本なのにケーブル作れって言ってくるファームウェア自作
  • 異常な浮動小数深掘りっぷり
  • コンテナ・セキュリティは単純に現代には必須な内容が網羅的に紹介されていた
  • 仕事で関連があったのでなつかしくなった row hammer
  • hikalium さんのたのしげな文体・内容

あたりかなぁ。いろいろ忘れてしまってそうだけど

あと、著者の方々、各分野の一線の人たちで、でも分野違いで Rebooted 以前は相互に知りあいでない組みあわせが多かった中、その人たちが知りあうきっかけになったのは、良かったことなのでは?と想像していたりします。これはまさに、僕が Binary Hacks 代表のたかばやしさんのおかげで起きたことで、色んな人と知りあい、知らなかったことを知るきっかけになって、大変感謝しています。なんで、なにかそういう似たような副産物が生えてたら良いなぁ、などと

さて本題。個人的に懸賞金を出します

実は、著者のわたなべさんの指導のもと、おおむね僕が手を動かして、 Binary Hacks Rebooted のどこかに秘密のメッセージを埋める、ということをしました。比較的素直なところにあるつもりですが、メッセージを取り出すのは、それなりに大変じゃないかな、という感じのものです。いや、テストプレイが不十分なので、思ったより簡単だった、ということはありそうな気もしていますが……

なんにせよ、最初にそのメッセージを発見して、 X でリプライとしてそのメッセージを送ってくださったかたに、10万円、ということにしようかと思います。間違ったメッセージのリプライがついた場合は、単に僕がリプライに気付いてないのと誤認されると申し訳ないので、なるはやで間違ってるよ、とリプライする、ということにします

(追記) 瞬殺されました:

https://x.com/shinh/status/1830092237809533351

(19:51)


2024-08-29

_ おまけ

https://shinh.skr.jp/m/?date=20240828#p01 の続き

やっぱ FizzBuzz に思い入れが強いので、追加したくなりました

  • 最初に FizzBuzz でパーを出した人
  • 最初に FizzBuzz で僕のコードを越えた人
  • 最初に FizzBuzz 以外のいずれかの問題で、社内のベストを倒した人

にそれぞれ1万円プレゼント、ということにします

僕の FizzBuzz は、それなりにがんばったやつですが、たいしたことはないです。 sha256 は 766eb642f373a519615f158e28744df658e70617f90c44640e5a79cff9690d67 です

(00:07)

(22:08更新)


2024-08-28

_ MN-Core challenge によせて

https://mncore-challenge.preferred.jp/

言い出しっぺである以外はたいしたこともせず、なんだか非常にクォリティの高いコンテストが用意されて、とても嬉しい。いや言い出しっぺだっけ?ちょっと自信がなくなってきた。まぁ「やるってことは決めましょう!」は書いたぽい

コンテストに対して自分が意識的にしていた貢献としては、トップ陣は勝手に楽しむと思うので、その他の順位帯の人でも楽しめるものに、的な意見を多く出した、というのがある。うまくいっていると良いなぁと

始まったばかりだけど、反応もなかなか良いように思う。練習段階での参加人数や盛り上がりは、予想を大きく越える、とまではいかないものの、想像できる範囲で最高、くらいの感じに思える (2,3シグマくらいのイメージ)。とても嬉しい。トップ陣のヤバさというか、既に解かれてる問題数なんかは、想像した範囲を越えてるかなぁ

趣旨としては

https://shinh.skr.jp/m/?date=20240313#p01

の「人が欲しい」の一貫で、最近「仕事するのもいいけど、飲み会でもして人増やす方が有用では??」みたいなことをよく考えていて、そういう話

他にも副産物がある(例えばドキュメントの品質が非常に良くなった)ものの、採用が主目的なので、それとの関連を少しだけ書いておきたい気分がある

今回のコンテストは特殊な HW でのゴルフ大会ということで、通常のゴルフでやるアルゴリズム考察に加えて、 MN-Core 特有の演算器やポートのパズルを楽しむ、という側面も強いと思う。ただなんかちょっとミスマッチが起きると不運があるかもと思って書きたいところなのだけど

  • こういうのを楽しめる人たちは欲しい
  • 実際こういうのを楽しめる人たちが働いてる

は真なのだけど

  • 仕事で実際にこういうことに使う時間が多い
  • こういうのを自動化できなくて困っている

ということは、実はあまり真ではない。あまり真ではない理由はおおむね二つあり

  • 少なくとも DL だと、 python で書かれた MN-Core 向けのチューニングの特に無い計算手順に対して、適切なデータ配置や計算手順を作ることができれば、アセンブリレベルの細かい最適化が多少ヌルくても、十分に性能が出ていることが多い
  • とはいえ行列積などの律速要因となる重要な部分はポートパズルなどを考慮する必要があるのだけど、それも今回の問題のような、レイテンシ重視なパズルではなく、何十回も同じ処理を繰り返す時に、1要素を処理するのに何サイクルかかるか、というスループット重視でパズルを解くことになる

という話がある。なんというか、 SRAM の種別を適切に選ぶ、みたいなミクロなところでは、それほど困っていないというか、もっと大きな問題があるというか

言いかえると、「コンテストをやってみて、ゴルフができそうだから入社しました!」は、そうでもないかもしれない。「コンテストをやってみて、手でこういうのやるのはなぁ、と思ったから応募やめよう」もそうでもないかもしれない、て感じのことが書きたかったのです。あと「楽しめたけど、成績がふるわなかったから入社してもついていけない」なんかも明確に偽ですね。このコンテストを楽しめる人であれば、成績と関係なく適正がある可能性が高いと思います。実際社内のゴルフ好きたちが楽しそうに準備をして、開催の運びとなったわけです。もちろんこのコンテストを楽しめないとダメというのも偽です。社内テストでも、チーム外の人が楽しんでいたり、チームの人がスルーしていたり、割といろいろです

まぁなんか、採用目的のイベントなのだけど、実際の職務か、それとも単なるパズルゲームかと2択で聞かれると、パズルであると考えてもらった方が良いと思います。実際、業務に近い要素を色々検討したのだけど、議論を経て、より単純にパズルとしての楽しさに寄せていった、みたいな経緯もあったりします。ただ、とはいえ、通常のコードゴルフよりは職務に近い、とも言える、そういうちょっと独特な距離感ですね

さて、僕が書きたかったことは垂れ流したので、ここからが本題です。このコンテストに便乗して、個人的に賞金を出します。ただ、以下の条件とします

  • コンテスト終了後、現段階での PFN 社内ベストをかき集めて一人のプレイヤーとしてコンテストに参加させたと仮定してスコア計算した時に、一位を取れていれば50万円。こっちは投稿時間は無視で同着でも OK
  • FizzBuzz 最短賞の人が、現段階での PFN 社内ベスト FizzBuzz より短ければ50万円。こっちは同着ではダメ

前者、ちょっとマジメに考えてるとコーナーケースが色々ありそうで文言ややこしくなったんですが、基本的には総合一位が 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-08-26

_ adam の epsilon

のいみ

http://zna.do/epsilon

(10:33)


2024-08-01

_ 親バカ日記

31,32ヶ月

そろそろ隔月で十分な気がしてきた。最近は力も強くなっていて、割と重い扉を開けたりとビックリさせられるが、しかしそれよりも言語能力の成長が著しい。かなり会話ができているし、子しか知らない事項について聞いて帰ってきた返答が、時によってはなるほどこういうことがあったのだろう、と確定できる。「(保育園の友達の)Yちゃんがえーんしたよ」とか「ママ、カバンあっち置いてたよ」みたいな明らかに正しい記憶を話している時はもちろん、発言が若干不明瞭だがこっちの推測とあわせるとたぶんこういう話だろう、とかなりやれる。こちらからも普通に本当に答えてくれたら嬉しい質問をする。「お茶どこか知ってる?」とか。割と普通に役に立つようになってきていて、つまり、会話をしている

いくつかかわいかったのを記録しておく

  • 「パパだめね、だめよ、ばつ」: ダメはともかく、「ばつ」は家では使用されない単語なので、保育園の影響だと思う。なんというか、この2歳で完全に家に依存してる存在が、外との関係をもって、影響を受けている、ってことに嬉しさを覚える
  • 「いっちゃんいそがしい」: 間違いなく保育園の先生が言ってたマネだろこれ
  • 「パパあっちいって」: しょっちゅう言われている。相変わらず僕の扱いは悪い
  • 「ぱえる」: 食べるがぱえるになるのは、あるあるらしい。不思議。ただこれは言わなくなった
  • 「みえないしないで」: 買い物カゴに平たいものを横向けに置いたところ、縦にしろという意味でした表現。「底が見えないようにするな」という意図で、なるほど知ってる語彙をうまく使っているなぁと感心
  • 「遠くにいけー、はまじもいけ」: 二人でしゃぼん玉で遊んでる最中。3%くらいの確率で僕を「はまじ」と呼ぶのだけど、これがかなり好き。機嫌が良いタイミングだったので、発言の真意自体はよくわからない

(23:14)

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

_  [・「まるくして」「みえてる」:皿に米をいれたところ、こう言って怒り狂い始めた。夫婦共に困惑、子はイライラ号泣。なんだ..]


2024-07-11

_ Security Akademeia

https://akademeia.info/?p=44

おおお、いまごろ気がついたが昔のコンテンツが無くなってしまっている、のかな。始めてインターネットに触れたころくらいに、大ファンで、特に

https://web.archive.org/web/20210118101725/http://www.akademeia.info/index.php?%A5%A4%A5%F3%A5%D5%A5%A9%A5%E1%A1%BC%A5%B7%A5%E7%A5%F3

核戦争で廃墟・死の灰の状況から、少人数(最悪の場合一人)で文明を再建することができる
知識・スキル・経験を身に付けるための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
1.は(2024-08-02 07:13)
search / home / index

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

shinichiro.hamaji _at_ gmail.com / shinichiro.h