「推測するな、計測せよ」という訳はミスリードと言う話

パフォーマンス改善の文脈で良く用いられるフレーズとして、「推測するな、計測せよ」というものがある。これはRob PikeのNotes on Programming in Cからの引用なのだが、原典と少し印象が違う。 Rule 1. You can’t tell where a program is going to spend …

僕は勉強が嫌いなのかも知れない

僕は常々自分のことを「目的と手段が倒錯した人間」だと評価していた。何かを作るためにコンピュータを学ぶべきであるはずが、その学ぶ行動自体が楽しいと思う人間であった。何かを作るためにOSの機能を調べ始めたはずが、いつの間にかOSの仕組みを延々と調…

釣り人のための魚の持ち帰り方

最近友人と釣りを始めた。釣りには、釣れた魚をリリースする釣り自体を楽しむ方法もあるが、私はもっぱら食べるために釣りをしている。であれば、必然鮮度良く魚を持ち帰ることに興味がある。いくつか文献を漁ったので纏めておく。出典は面倒なので書かない…

クソ雑魚ナメクジのためのオーバーウォッチ立ち回りPart2

前回クソ雑魚記事を書いたがその後いくつかノウハウが溜まった。前回の記事ではサッカーで言えば「オフェンスやディフェンスが合ってそれぞれこういう動きをすべきで」みたいな話を書いていたが、もっと基礎的なことが必要だと気がついた。今回は「ボールは…

クソ雑魚ナメクジのためのオーバーウォッチ立ち回り

解説記事というのは往々にして人間向けであって、ブロンズと言った知性を感じさせないレート帯に向けてのものではない。 ここではブロンズの人間が出来ていないであろう事柄を書いた。 ここに書いてあることは極めて自明なことしか無い。しかしそれを徹底で…

vermagicとmodversionsを偽装する方法(Dirty Hack、備忘録)

LinuxではKernelをコンパイルした際、異なるversionのmoduleをインストールして不具合が起きないようにチェック機構を設けている。 これは通常、正しいversionのlinux-headerを指定することで解決するのが筋である。しかし、Raspberry Piで同じことをやろう…

How to use keyboard/mouse for PS4 part4 -challenge response-

How to use keyboard/mouse for PS4 part1 -Sniffing HCI-UART- - aki33524’s blog How to use keyboard/mouse for PS4 part2 -How does Bluetooth work?- - aki33524’s blog How to use keyboard/mouse for PS4 part3 -Btstack is GOD- - aki33524’s blog D…

How to use keyboard/mouse for PS4 part3 -Btstack is GOD-

How to use keyboard/mouse for PS4 part1 -Sniffing HCI-UART- - aki33524’s blog How to use keyboard/mouse for PS4 part2 -How does Bluetooth work?- - aki33524’s blog Part2で少し話に出したが、Btstackを使ってみると一気に進捗が出た。Bluezなんて…

How to use keyboard/mouse for PS4 part2 -How does Bluetooth work?-

How to use keyboard/mouse for PS4 part1 -Sniffing HCI-UART- - aki33524’s blog 今回は前回に引き続き、Bluetoothの簡単な説明を行う。 Bluetoothについて調べると他の分野に比べて資料が少なくて驚くと思う。 仕様書はまだ平易な英語で書かれているし、…

How to use keyboard/mouse for PS4 part1 -Sniffing HCI-UART-

If there is someone who wants to read this article in English, please contact me. I'm not good at English, so I don't want to write in English for anybody. Motivation 最近研究室でPS4版オーバーウォッチをやった。PS4でFPSは初めてだったのだが…

画像に情報を埋め込む -SteganographyとWatermarking-

大学でSteganography and Watermarkingについての講義があった。 SteganographyといえばCTFでたまに出題されるが、Gussingクソ問が多くあまり良いイメージを持っていなかった。実際には色々と考えられているようで面白い分野だった。試しに両方の簡単な実装…

Codefestival 2017 Finals Eに対する雑な考察

この問題の線形代数による考察を記しておきます。線形代数が何もわからない。まずbjxzjaを26を法とするベクトルとして考えます。これをあるベクトル群の一次結合によって表現出来るかを考えます。ここで、回文の基底を考えると以下のようになります。各操作…

SMT Solver無しでXorshift128+を解く

先週のCBCTFではXorshift128+の32個の出力列が与えられた場合にその先を予測させる問題が出題された(Random RSA)。 想定解はSMT Solverを使うのだが、宗教上の理由で使えない人が居るかもしれないため別の解法を考えた。 なお、先に言っておくとこの解法は…

CBCTF Writeups

miyaji-labで参加した。これは暗号系研究室に所属している以上Cryptoを全完するという強い決意を表している(大嘘)。 結果としてはRandom RSAを時間中に解くことが出来なかった。悲しい。 Common Modulus 1 Common Modulus Attackをする。 Common Modulus 2…

KRACKについての私的まとめ

技術詳細を解説した日本語記事が見当たらなかったため簡単に纏める。 なお、冗長になるため断定調で書いているが怪しい箇所も多い(間違ってたら教えてください)。 あと、図は無いです(許して)。 WPA2とは何か 新しい規格である802.11iの標準化が進められ…

ICPC2017国内予選

きゅうりが消えたため、たこの友人を新しくチームメイトに加えた。 なお彼は競プロ初心者らしいのだが、頭が良いのでアジア地区では化けてくれると信じている。 僕らのチームはどちらかというと考察が得意で実装が苦手なため、初動で遅れることは予想してい…

WoTの当たり判定を色付きで表示するMODを作った

github.com 動機 最近World of Tanksという戦車ゲームにハマった。嬉しいことにこのゲームはMODを作ることを歓迎している。 戦車の装甲値などを一覧で見たかったので、csvにまとめるツールを作った。 github.com しかし、実際には戦車の装甲値は位置によって…

GCJ 2017 Round 1B

B問題をクッソバグらせて絶望していたがCが瞬殺されてギリギリ964位だった。初Round1突破っっぽいので記念に解説を書く。 A 略解 一番ゴールするのが遅い馬と同時にゴールする。 証明 一番ゴールするのが遅い馬(以下B)に注目する。 Bと自身(以下A)が同時…

Nintendo Challenge解いた

まーす氏が突然問題を送ってきた。 @aki33524 https://t.co/OdsGbvIZGS 解いて— まーす (@__math) 2017年4月9日 https://www.nerd.nintendo.com/files/HireMe.cpp 実は初日で解法分かってたのにプログラムにバグが有って数バイト書き換えたら出来てクッソし…

GCJ2017qual AをO(N)で解く

概要 長さNのbit列が与えられる。長さKの連続した列をflipして、全て1になるようにしたい。不可能ならIMPOSSIBLE、可能ならflipする最小数を答える。 略解 左から貪欲に0になっているところからflipする。背理法で証明できる。 largeケースですらなので普通…

映像研には手を出すな!がヤベエ

映像研には手を出すな!を読んだ。感想を一言で言えば、「ヤベエ漫画が出て来やがったぜ」。 それ町*1のようなハイコンテクストなギャグを挟みながら、それでいてアツい漫画だった。 まだ読んでない?一話だけならタダで読めるぞ! spi-net.jp もしまだこの漫…

競プロ勢のためのデバッグテクニック

Facebook Hacker Cup Round1の問題をオーバーフローと配列外参照で2問落としてしまい、反省を込めてデバッグテクニックを調べました。 競技勢がやらかすケアレスミスなバグの多くはこの2つだと思うので、この2つのみについて述べていきます。また、僕は普段…

tf-idfを使ったDbpediaの型推定

卒論が上手く行かないので逃避していたらまぁまぁ良さそうなので公開しておく。 前提 DbpediaとはWikipediaを元に半自動で変換したLODである。 各リソース(記事)にはclass(人とか政治家とか虫とか)が定義されたりされなかったりする。 全リソースの3割ほ…