高専カンファレンスえぶりわん!

行きました。

前日までタスクのロボットが完成しておらずモータのトルクがそもそも足りてないなどで行けるかどうかすら怪しかったけどもなんとか動いて行けました。

全ロボにジャンボフェリーで行ったので今回もフェリーを使ったんですが本当に楽ですね。今回は寝袋を持って行ってなかった&圧倒的いびきで睡眠に集中できなかったもののそれでも楽。ジャンボフェリーの船内曲で精神が壊れそうになる。

往路

往路はジャンボフェリーで、格安で横になって寝れるので海運は最高。 大阪駅から徒歩5分との事でしたが、散々迷い結局ギリギリに着くこととなりました。一時間以上余裕が合ったはずなんですが。 大阪駅もそうですがさくらインターネットは特に厳しかったです。さくらインターネット本社はオフィスエントランスから入りエレベータで一旦9階に上がりそこからエレベータで当該階まで登るという完全に田舎者を苦しめにかかる構成で苦労しました。都会って三次元なんですね。

会場

オープニングムービーが強すぎてはいプロになりました。 lolのときは情報系以外の高専生も結構居たのに対し今回はそこまでという印象でした。多分FF内の非情報系高専生が少なかっただけです。

LT

最初の発表でひねくれ者しました。 マネジメントの話はああ...ってなりました。部活やプロコンプロジェクトみたいな能力とやる気がある程度ある集団以外をマネジメントするのクソ厳しさしかなさそう。 いらいざさんの発表も印象に残りました。一人CPU実験っぽい。 uskzさんのLTが一番好き。野生のHaskellerは突然圏論で人を殴りだすので怖い。 今回は徹夜高専生多かったんですがカジュアルに3徹とかしてるの本当に怖さしかない。

休憩

オタクなのでプログラミング言語かるたで優勝しました。コード書けないのにこういうとこだけ出来てしまう。

理不尽ですね。

procon28では同じホテルで1 mの距離まで接近したのにふるつきさんと会話が発生させられないコミュ症をしてしまいましたが今回は会話が発生しました。嬉しい。

名刺交換が行われてましたが名刺ケースを忘れてしまいただ貰うだけで申し訳の🚀NASA🚀になりました。まあ財布忘れるよりはマシ。

復路

ジャンボフェリーは時間が微妙だったので高速バスになりました。疲れた。

総括

LTしたくなった。今作ってる言語のフロントエンドが出来てきたらやりたい。時間の流れ本当に速すぎる。 今年の抱負は行動力です。

高専セキュリティコンテスト

KOSENセキュリティコンテスト2017に香川高専高松のUDONチームの一人として出ました。 初日の問題はJeopardy形式で、Binary、Crypto、Misc、Network、Webから5問ずつ程度です。

解いた問題

一日目

傘と家の鍵とPCの電源アダプタを忘れて帰りました。つらい。 Miscは気がついたら便利なプロトコル以外解かれてて、その他の問題は強い先輩方がやってくれてました。

Jeopardy2 ファイル名を探せ

q.gzというバイナリをダウンロード出来るやつです。q.gzをgzipで回答した後fileで調べるとtarなのでtarでファイル名の目録出してgrep 'SCKOSEN'すれば見つけられます。 base64では!?など錯乱しほげほげしてて時間を溶かしました。

gzip -d q.gz
tar tf q | grep 'SCKOSEN'

Jeopardy1 フラグを答えろ

ELFのバイナリをダウンロードするやつです。対話形式でFLAGを入力すると正しいかどうか判定するやつで、内部でstrcompでリテラルと比較しているだけで暗号化もされてないのでstringsで探せば目星が付けられます。というかvimでSCKOSEN探せば見つかりました。 完全な文字列ではなかったので無限に???して時間を溶かしましたが逆アセンブルすれば良かっただけな気はしないでもないです。 僕が持ち込んだArch Linuxマシン以外Linuxマシン無かったので少し危なかった。

Jeopardy17 ファイル送信pcap

pcapファイルが与えられるのでファイルを復元して、出てきた暗号化zipファイルの中身を出すとFLAGがあるやつです。zipファイルの中にはLenna.pngとflag(テキストファイル)が入っていて暗号化されています。zipファイルと内部のLenna.pngファイルの平文までは先輩が用意してくれたので既知平文攻撃で特だけでした。暗号化zipの既知平文攻撃にはpkcrackというツールがあるのでそれを使い解きました。 実質ツール使っただけ。

zip P.zip Lenna.png
pkcrack -C lock.zip -P P.zip -p Lenna.png -c Lenna.png -d decrypto.zip
unzip decrypto.zip
cat flag

-Pを付けずやってて無限に時間を溶かしました。どんな絵葉書を書くか考えないと...

Jeopardy20 Web1

候補ありの穴埋め形式のJavaScriptを完成させて答えを出すやつです。JavaScriptではobj["member"]がobj.memberと同じになので、それを元にそれっぽいところに関数を入れていきます。map、fromCodePoint、joinは自明で、evalとcallを入れれば関数は完成します。あとは結果を見ながらリテラルをはめ込めば終わりです。これはFLAGがかなりエントロピーの高い値になりました。

二日目

台風で登校できず忘れ物回収不可能な事が判明し台風への殺意を高めた。 なし。家のArchマシンでひたすら #ArchLinuxVPSConnectBattle してました。途中でWindowsに切り替えたり、その時にWindowsWindows Update掛け始めては?になったりしましたが1100にはつなげました。Web1を頑張ってましたがJavaScript触ったことがなく頭捻っただけでした。

まとめ

見返すと簡単な問題しか解いておらずアですが非CTF勢でセキュリティのセの字も知らないしがない電気科高専生としては良かった気はします。初日は7位だったものの2日目で落ちて13位でした。 簡単な問題は案外解けることが分かりましたが、KoHやOreNoFSのwriteup見てるとプロへの道は遥かに遠いことがわかります。来年はもう少し解けるよう頑張りたい...

カメの手

ミョウガガイ科ではなくヌマガメ科の方。川の中洲に居たところを虫網で捕獲。 今まで一度も見たこと無いアメリカザリガニも居ました。これも食えるらしいので持ち帰り

f:id:namachan10777:20170923224100j:plainf:id:namachan10777:20170923223911j:plain
中洲の様子

ザリガニ

f:id:namachan10777:20170923224547j:plainf:id:namachan10777:20170923224539j:plain
ザリガニ(塩ゆで)
エビのような見た目に反して外骨格が完全にカニでかなり硬い。尾の身離れは最高で胴の付け根で折るだけでとれます。身質はやたらプリプリしたエビです。泥抜きが完全に不足していて尿の香りでした。純アンモニアではなく完全に尿の香りで厳しかった。画像の通り手はカニです。ハサミは画像の通りカニです。アメリカザリガニを食べる際は念入りに泥抜きして肺吸虫に気を付けましょう。

カメ

www.outdoorfoodgathering.jp www.outdoorfoodgathering.jp を参考にさせていただきました

泥抜き

台風で餌を食べれて無かったのか糞が存在しませんでした。泥抜きが分からん。

f:id:namachan10777:20170923224315j:plain
泥抜きの様子

解体

f:id:namachan10777:20170923225658j:plain
断首

プライヤーを口に突っ込み引っ張り続け首を出します。筋力は凄まじく力任せに引っこ抜くのは無理なので長時間引き続き疲労させます。人間の方が持久力があるので勝てます。首の部分の骨は細く間隔も狭いので普通の包丁でガッといけば問題なく殺せます。結構な量の血が出るので血を使うつもりなら受け取る皿は予め用意しましょう。これが最大の難関だと思ってた時期が僕にもありました。

断首すると次に腹甲を外しにかかります。腹甲と背甲を切り分ける手順は参考にさせていただいた記事の通りです。それが終わると腹甲に付いた皮と筋肉を切断します。カメは首を落とした程度で動きが止まる事は無いのでこの段階でも足で包丁を抑えに来ます。カメの皮は分厚く非常に切断しづらいのでよく研いだ刃物で切断していきます。腹甲に沿って切断する限り内蔵を傷付ける可能性は無いのでグッと行きましょう。

f:id:namachan10777:20170923231231j:plain
腹甲外しカメ
この通り内臓は無傷。ここからどう解体すれば良いのか分からず完全に「???」のまま解体していきました。とりあえず前足、後ろ足の順に外していきます。後ろ足からでもいけるのは分からない。この段階でも抵抗はしますが腹甲を外したことでカメの足の先を背甲の内側に入れて動きを押さえ込む事が出来ます。甲と足の隙間に刃を入れていき最後は筋肉で足を外します。これは友人がやってくれました。 解体中もカメ臭が時折主張してきて非常に厳しいです。解体用にメスが欲しい。
f:id:namachan10777:20170923233148j:plain
前足外されカメ
茶色いのは胆嚢が付いていたので多分肝臓、肝臓の下に見える袋は胃、奥の白っぽいのは腸です。カメの甲は肋骨がベースなので足も首も甲羅と間接で接続されています。この段階で腸の裏にある膀胱を除去出来ます。膀胱と胆嚢、消化管のうち膀胱と胆嚢が外せるので多少やりやすくなります。泥抜きが完全な場合は消化管は安全なのでこれから先は楽です。 後ろ足を筋肉で外すのは前足より厳しいようなので筋トレは怠らないようにすべきでしょう。 カメ臭が厳しくメスがほしい。
f:id:namachan10777:20170923233837j:plain
筋肉類
なんやかんややるとこれだけ筋肉がとれます。カメの心臓は綺麗なハート型です。首落としたくらいでとまるヤワな心臓ではないので腹甲を外すと触れます。皮に熱湯をしっかりとかけると簡単に湯剥きが出来ます。

調理

カメ料理の定番、唐揚げ

f:id:namachan10777:20170923234145j:plain
下味
皮を向いた後に生姜、酒、牛乳で臭みを取ります。皮を向くのにはかなり筋肉が必要でプライヤーも必要です。 これは生姜、濃口醤油、ニンニク、酒の一般的な下味です。
f:id:namachan10777:20170923234551j:plain
揚げの様子
f:id:namachan10777:20170923234623j:plain
成果物
成果物です。臭みは完全に消滅しうまい(それはそう)。 全体的に骨で食べる部位が少ないです。肉質は獣を感じます。唐揚げは下味やタレを工夫しないとカメが完全に消え唐揚げのような何かになるのでテクニックが必要だと感じました。 何処かの自治体ではカレーにしているそうですが、臭みを封じ込めて安全にカメを味わうならインドカレーが一番かもしれません。

メスが欲しいです。やはり包丁では厳しいです。Amazonほしいものリストに追加しました。

泥抜きが不十分だった気がします。匂いが影響しそうな料理に使うなら衣装ケースなどを改造した泥抜きケースで流水を使って泥抜きをすべきでしょう。

実はこれの一ヶ月前に大型のスッポンを拾いました。その時はクーラーボックスが無く釈放してしまいましたが本当に悔やまれます。次はスッポンを食べたい。

f:id:namachan10777:20170923235849j:plain
逃したスッポンは大きい

カメノテ食べました

今日は自転車で結果的に海に行きました。岩場で大量のカメノテを見つけ、食べれると聞いたので少量頂いて帰りました。 f:id:namachan10777:20170416230550j:plain 食べようと思うには少しアレな見た目をしていますが、味は普通に貝のような何かで美味しいです。綺麗に岩から剥がした場合、そのまま茹でると岩に張り付いている筋肉の部分を覆う皮が旨味を完全に閉じ込めます。塩ゆでで食べるには問題ないですが出汁目当てで味噌汁に入れるなら先に皮を破いておくなりしないとダメだと思います。f:id:namachan10777:20170416231805j:plain (上が中身)

黒いエラのような部分はプランクトンを捉える蔓脚でシャリシャリするので除けて食べてもいいかもです。 カメノテ甲殻類ミョウガガイ目に属しており、どちらかと言うとカニやエビ、フジツボなどの仲間です。同じ固着生物で甲殻類フジツボフジツボ亜目に属しており、こちらは蔓脚を使うカメノテと違い二枚貝に近い餌の取り方をしてるそうです。

とりあえず味噌汁にしてみましたが、量が少なかったのかカメノテの肉は美味なもののあまり出汁が出ませんでした。次は塊で採りたいです。

関東ではブームの際に資源が減少したりしたようなので採りすぎないように注意が必要です。

M570tをベアリング化しました

Ligicool社製の親指トラックボール、M570tを暫く使っていたのですが時々ボールの動きが物凄く渋くなることがあったためアルミナの支持球をベアリングに置き換えてみました。

kirmav.blogspot.jp

部室に転がってた外形Φ7のベアリングを使い、この方の記事を参考にして改造したのですがベアリングの軸は外側から付けたほうが良さそうです。穴は大きめに開ける必要がありますが、ベアリング軸固定用の溝は結構浅めにしないと組み立てた時にボールが入らなくなります。流石にΦ7のベアリングを入れると結構干渉する部品が多くなり色々な場所を削らないと入らなくなります。

感想

ベアリングを使ったので引っかかりは殆ど無くなるだろうと期待していたのですが、新品M570tより少し小さいぐらいでした。動摩擦も格段に下がってるので結局差がそこまで埋まらなかったのかもしれません。あと動かしてると僕の場合だけかもですが何故かガタガタ言います。操作性にはあまり影響してないのですが、少し気にならないでもないです。

結果としてはかなり満足なのですが必要な工具が結構多いためやろうとすると費用が結構厳しいです。ベアリングの単価はそこまで高く無いんだしベアリングトラックボールを公式で発売してほしいと言う感情が非常に強くなりました。あとベアリングと光学式読み取り器があればトラックボールは作れるようなので光学式読み取り装置さえどうにか出来れば自作トラックボールはマウス以上に簡単にできそうです。M570tの玉はAmazonで売ってますし。

D言語の動的配列について

メモです

int[] darray = [1,2,3];
int[3] sarray = [1,2,3];

pragma(msg,typeof(darray));    //当然int[]
pragma(msg,typeof(darray[]));  //int[]
pragma(msg,typeof(sarray));    //当然int[3]
pragma(msg,typeof(sarray[]));  //int[]

静的配列でも識別子に[]を付けると動的配列に変換することが出来ます。 また、スライス演算sarray[1..2]などでも動的配列が返ります。

ベクトル演算では静的配列でも動的配列でも同じようにarray1[] + array2[]と書きますが、動的配列の場合の[]は単なる構文なのに対し、静的配列の場合は前述の動的配列への変換も含まれているようです(多分)。