アゴドリルの備忘録

小さいことを少しずつ

初登山 富士山編

記事を書く体力が今はないので写真とお気持ちをあげておく。

悪天候で頂上まで行けなかったので悔しいです。
来年再チャレンジですね。
気が向いたら追記するかも。

昼食 富士山カレー

五合目からの写真





五〜六合目までの休憩中にとった写真

六合目



七合目

元祖七合目


日の入り


宿


夕食 カレー

夜景


日の出







朝ごはん


宝永山第一火口縁


富士山自然休養林ハイキングコース



帰りの温泉


知見

  • 行動食はウィダーがよい。
  • 移動前の装備の点検は十分に。
  • ザックの容量に余裕を持たせたほうがいい。
  • 帽子の紐は絶対に必要。

豆知識


このちょっと変わった雲は「つるし雲」と言われていて、悪天候の予兆らしいです。


まとめ

山はいいぞ!

JAIST/NAIST入試について

JAIST NAISTの受験をしてきた。
JAISTの合格が出たのでまとめてみる。

当日まで

2018 ??/?? JAIST入学説明会 in 秋葉原

面白そうな大学院だなぁ

2/23 NAIST 受験生のためのオープンキャンパス

近くのホテルに前泊
面白そうな研究室見学
この時に先輩方の過去の小論文をいただきました。

5/24 JAIST 受験生のためのオープンキャンパス

交通費補助(QUOカード not現金)有り
調べてた研究室に行ったり、興味のある研究室に行った

6/10 *AIST 願書提出

小論文はここで提出
自分は入試の時までに書き上げればいいのでは?みたいなことを思っていたので注意

7/6 JAIST 入試

面接

7/8 NAIST 入試

数学 & 面接


JAIST

数学とか英語の筆記なく、面接のみの試験です。最初の7分間で研究したい内容を発表した後、質疑応答でした。

研究計画発表

  • 7分
  • OHP使用
  • PC使用不可

質疑応答

  • 提案手法の課題について
  • 先行研究比較
  • 入りたい研究室について質問
  • オープンキャンパスには来たか
  • 英語
  • TOEIC
  • 英語で自己紹介
  • エントリーシートに書いた教科について
  • なぜJAIST
  • 学科変えた理由
  • JAISTで取りたい講義
  • 大学時代頑張ったこと
  • スポーツはやっていたか

NAIST

数学

  • 準備時間10分
  • 問題観れる
  • 紙と鉛筆用意済み
  • 下書きの紙は数学の面接時に持ち込み不可
  • 12分発表
  • ホワイトボード使用
  • 誘導微妙にあり

面接 12分

  • 2,3分 小論文の口頭発表
  • 研究でやりたいことについて勉強はしてるか?
  • 既存の研究との比較
  • 提案手法のメリット

最後に

以上が私が受験で体験したことです。
両大学院を目指す人の参考になれば幸いです。
質問等もtwitterでDMしてくれれば喜んで乗ります。


追記(7/21)
NAISTは不合格でした

2019年目標

去年の目標の振り返り

2018年目標


大学に行って、pythonを勉強して、いろんなイベントに行った。
去年(2017)よりはアクティブに行動して色々できたと思う。
競プロはほとんどしなくなったけど、アルゴリズムの勉強はしないとなぁ、と思ってる。


いろんなイベントに行っていろんな人と会って、今までの価値観が色々と変わった1年だった。
海外に行きたいという中高のときの気持ちが割と戻ってきた。

今年の目標

  • 大学に行く(進級する)
  • 英語の勉強をする
  • 技術的に興味のあることを勉強・output
  • 運動をする

大学生なので、大学に行って卒検配属されれば、卒論頑張る。
海外にたくさん遊びに行きたいので英語の勉強をする。
今までどおり、技術的に興味のあることを分野構わず取り組む。
全く運動してないので、健康のためにも少しは運動をしたい。


3月に海外に行くのでまずは英語の勉強をしていくことかなぁ、


無理をしないで健康に生きていきたい。以上。

いい生活 インターン振り返り

株式会社いい生活で長期インターンとして働いていました。

不動産ビジネスを情報テクノロジーで加速させる株式会社いい生活


その振り返り。

インターンで何もわからない0からのスタートだったのですが、
要件を満たすものができたのでよかった。

期間

今年の4月末から12/26までの8ヶ月くらい

内容

社内ツールの作成
言語は主にPythonを使いました。

よかった

課題の選定

最初に複数の課題からどれをやりたいですか?って決めさせてくれたのでよかった。
自分の興味ある課題を取り組ませていただけたのは大きかった。

メンター・チームの人に無限に助けてもらってた

slackで質問したり、一人で悩んでたら社員さんにいろいろ聞いて助けてもらってた。
1を聞いて10くらい返ってきて、強いなぁという気持ちになってた。

日程調整の柔軟さ

基本的に週1で働いていました。
夏休み期間とかの長期休暇は週2くらいで働いていました。
大学の日程に合わせてスケジュールしてもらった。

また、大学のテスト期間・短期インターン時・その他所要の際は前の週に「休みます」と言って休ませてもらえて、柔軟にスケジューリングしてもらって非常に助かった。

有給だった

普通にバイトするよりよい時給だったので嬉しい。

美味しいご飯

いろんなタイミングで美味しいご飯が食べれた。嬉しい。

まとめ

大変だったけど、成長できた。
1から最終発表まで頑張った。
社員さんが強かった。
まだまだ精進!!!

RICORA言語班の個人的振り返り

某大学のRICORA言語班という技術系のサークルの部長(?)を一年間やっていたので、
できたこと・よかったこと、できなかったこと・よくなかったことを自分なりにまとめてみる。

できたこと・よかった

割と自由なサークル作り

もともと自由なサークルで、上下関係とかをそんなに気にしないサークルが例年通りできた。

新しいこと

夏季休暇でやったことや自分が最近使っているツール、興味あることなどを発表するLT大会をやってみた。
割と好評(?)だった。
知見の共有にもなった。
webについてのプレゼンなど、例年やっていないこともできた。
新しいことを少しづつだけど、取り入れることができた。

自由な活動・情報共有の場の提供

後期は基本的に課題を与えないで、好きなことをやってわからなかったら相談に乗るよ、みたいなスタイルをとった。
また、slack等で気軽に質問してもらって、それを知ってる人が答えるみたいな、情報共有もできてきた。
(今までは割とできてなかった気がする)

できなかったこと・よくなかったこと

スケジューリング

後期最初に考えていた、web、dappsなどいろんなことをやる予定だったのにできなかった。

チーム開発

チームを組んで、がっつり開発することができなかった。

反省

全体的にスケジュール管理と人員確保ができていなかったことが原因だったと今更ながら思う。

まとめ

人をまとめるのは難しかった。
老害として陰ながらサポートしていきたい。

DPDK FW進捗

seccamp 2018卒業生です。

趣味で作っているDPDK FWの進捗報告をさせていただきます。
よろしくお願いします。

DPDKとは

パケット処理に特化したライブラリのことです。

  • kernel bypassしてUser landから直接NICをたたくことができる
  • PMD(Poll Mode Driver)でCPUを占有(Polling)してパケットに関する処理に全リソースを割くことができる
  • hugepageの利用で、一ページあたりの大きさを大きくして、ページ数を少なくして、高速化ができる

以上のようなメリットがあり、パケットを高速で送受信することができます。

進捗

  • フィルター情報のjson読み取り化
  • logで出力されるプロトコルの追加(ARP/ICMP)
  • packet長のおかしいpacketのドロップ
  • フロント側のみの実装
  • packet senderの実装

以上のことをしました。

それぞれについて説明していきます。

フィルタリング設定json読み込み化

まず、今までdropする5tuple(ip dst/ ip src/ ip proto/ src port/ dst port)フィルターの情報を標準入力で受けつけるように実装していました。
しかし、それは非常に面倒だと普通は思うのでjsonを読み込んでフィルターするように実装しました。
これを実装した後に改めて計測をしました。

その際、janssonというライブラリを使いました。
Jansson — C library for working with JSON data
Jansson Documentation — Jansson 2.11 documentation

また、Log出力のOn/Offもここで切り替えられるようにしました。

ログの追加

速度を出すため、基本的にはログ出力をOFFにするのですが、ONにしたときのログの追加をしました。
今まではTCP/UDPのみ -> ARP/ICMPの追加

フロント側の実装

フロントではDPDKアプリケーションの起動・終了、config設定の修正、などをインタラクティブにできるREPLの形のCUIを実装しています。
(Pythonを使用)

f:id:agodoriru:20181208002021p:plain

packet senderの実装

このアプリを作成する際にデバッグ用に送信するパケットを自分で作れたら嬉しいと考えたので、上と同様にjson形式で設定を書いてパケットを送信するアプリケーションを作成しました。
(syuu先生のプログラムを参考にさせていただきました。)

f:id:agodoriru:20181208001913p:plain

FW性能測定

環境

f:id:agodoriru:20181207170951p:plain

上のような環境で実験しました。
Host 1側でIntel DPDK pkt-genを走らせてパケットを送信して、Host 2側で今回作成したFWを走らせてパケットをフィルタリングして、Host 1側に送信する、という形で測定しました。

HW

CPU : Intel Xeon Processor E3-1225 v6
OS : 18.04.1 LTS
NIC : Intel Ethernet Controller X540-AT2

測定結果


1filterの時はL2fwdと同様の動作をしている場合にはほぼ10Gbpsに対して、filter数を上げていくとやはり速度が落ちていく、という結果になりました。

githubリンク

github.com

パケットと戯れた結果

Todo

フロント側との結合
もっと低レイヤー的なことをして、パケットロスを減らしたい。
(どうすれば性能が向上するか全くわからないが、、、)
これを今後取り組みます。

最後に

自分はDPDKの開発環境を持っておらず、seccampでお世話になったsyuu先生のマシンを借りて開発をしています。
また、技術的な質問にも答えていただいて非常に感謝しています。
ありがとうございます。

最後の最後に

まだまだやることがあるので頑張りたい

seccamp2018参加記

8/14~8/18にセキュリティ・キャンプ(seccamp)に行った参加記

seccampとは

 セキュリティ・キャンプ事業の中心的な行事です。毎年8月中旬頃に4泊5日の合宿形式で、情報セキュリティに関する実践的な講義を実施しています。対象は22歳以下の学生で、参加するためには、募集期間中(毎年4月~5月頃)に応募課題を提出し、書類審査に通過する必要があります。
 本大会は、2004年から毎年1回開催されており、これまでに663名の修了生を輩出しました。既に社会で活躍している修了生も多数存在します。
 なお、全国大会では、参加に係る費用を主催者側で負担しています。参加者は、キャンプ期間中一人一台のPCが貸与される他、受講費・交通費・宿泊費を含めて、無料で参加することができます。

セキュリティ・キャンプ:IPA 独立行政法人 情報処理推進機構

ということで学生無料で強い人に色々教えてもらえるキャンプがあるということで応募用紙を出したら通ったので行ってきた。
(応募用紙は気が向いたらブログに投げたい。)


0日目

パッキングがいい感じにできて助かった。

1日目

朝はしっかり起きて出撃した。

出撃トラック

眠い・暑い・荷物重いで会場到達までが地味に辛かった。
北府中駅から会場のクロスウェーブ府中までは自分と同じ様にスーツケースを持った民がたくさんいたのでついていけば場所がわかった。


開会式

OSCの紹介

法律のお話

夕食

18:00に夕食でめっちゃ早かった。

LT大会

Wiiの正しい遊び方LTとか、アンチウイルスソフトウェアとパッキング処理済みマルウェア対決のLT、Z4で扱うDPDKのLTが面白かった。
面白いし、技術力的なところでレベルが違うなぁ、って思いながら聞いてた。

グループワーク

seccamp終わった後、どういった活動をするのか、話し合ったりして検討した。

2日目(トラック1日目)

なぜか圧倒的起床力をこのタイミングに発揮してしまい、6:00に起きた。
キャンプ中に唯一の外出できるコンビニタイムでコーヒーを調達した。

しっかり起きれたのに部屋がわからないというインシデントが発生して2、3分遅れてトラックの部屋に着いた。

参加したトラック紹介

圧倒的治安の悪さで有名なZトラックで、その中で決めつけで治安の悪いZ4トラックで毎日頑張ってコードを書いてた。
真面目なことを言うと、DPDKというネットワーク処理に特化したCのライブラリを使ってファイアウォールを実装していこう、というゼミに参加しました。

講義開始

twitterで見た事がある赤いサメアイコンの強い人とネコのアイコンの無限に強い人が講師で、受講者は自分と研究でDPDK使ってる強い人で物理が専攻で趣味でプログラムやってる人が行っては行けないようなやばいゼミだった。

マシンが4台、受講者二名にプロの講師二名の最高の環境だった。

f:id:agodoriru:20180819163128j:plain

1日目は各トラックのイントロダクションをして、その後は各ゼミごとに別れてイントロ・実装とか作業をしていった。
自分は朝から晩まで事前課題で書いたコードをDPDKのコードに移植するために、C言語のコードのバグフィックスと最適化を行なっていた。

基本的にペアプロで開発をしていった。
sshで開発マシンに入って頑張って実装してた。
マシンのhost名がかっこよくて、良さみが深い、って一人で思ってた。

ssh経由で開発するっていう事が今までなくて、nanoの使い方で色々困ってた。
(nanoを使った理由は単に下にコマンドが書いてあって使いやすそうだったからです。
実際はまあまあ辛かったのでemacsvimを使い始めたいと思います。)

自分がコードを書いていて、色々というかほとんど指摘されました。
いつも、中途半端な理解だったところもしっかり指摘されてしまって、教えてもらいながらやっていけたので良かったです。
gitの使い方とか、bashのコマンドとか、Cのコードの書き方以外にも色々教えてくれた。

最後の方はエラー出してごめんなさい〜、って心の底で思いながら実装してた。
講師の人がエラーの処理方法とかを隣で教えてくれたけど、朝からの作業時間が10時間くらいとかで、頭が蒸発してて頭に入ってこなかった。
(講師の人にもこれはバレてたっぽい。)
バグフィックスが割としんどかった。
でも、エラーが出たときのときの対処を何回もやって、これは今回のゼミだけでなくて、今後の日常の開発で常に役立つよなぁ、とあとで思った。

・8:30~12:30
・13:30~17:30
・19:00~22:00
の合計11時間で今まで感じたことがない疲れを得て、2日目を終えました。

シャワって11:30くらいに速攻で寝れた。

3日目(トラック2日目)

起きたのが8:20で、朝飯行けない〜、って思いながらトラックの部屋に向かった気がする。

朝に特に話があるわけでもなく、各班の作業タイムが始まった。
1日目まででまだDPDKのサンプルコードに移植する作業が始まってなくて、あーやばい、って心の底で思ってたのを覚えてる。
トラックの最後の時間までにはDPDKのサンプルコードを動かして、少しづつやっていける状態になったのでよかった。

企業紹介

某社さんのオフレコの話が聞けてやばかった。

グループワーク

疲れてて、チューターの人と喋ったりしてた。

HR

HRという名の実装時間
相変わらず、コード書いてた。

HRの時間が終わって良い感じのところまでいって、もう少し実装したいですーみたいな事を言ったら、良いよーって言ってくれて、神だった。
結局良い感じの時間まで教室外の机で実装してた。

近くにいた講師・チューターの方々が「進捗どうですか」「どんな感じですか」って質問されて答えようとしたら「nano使ってるんですか?」ってなってみんな大好きエディタの話でめっちゃ盛り上がった。
楽し〜い。

あと、良い感じのCUIのプログラムのdemoを見せたりしてくれて、かっこいー、こんなの作りたいー、って思ったりしました。

4日目(トラック最終日)

6:30くらいに起きた。
まだベッドでゴロゴロ寝られるな、って思ってゆっくりしてたら8:15くらいなってて、朝飯行けない〜、ってなった。

3日目夜に良い感じに実装が進んで少しだけコードをいじって、計測にはいれた。
良い感じに高速化出来てる感じでよかった。

午後はトラック内で最終発表をした。
資料作成能力のNASAを発揮してしまい、時間をかけてしまった。
一旦、事前課題で自分が書いたコードが最終的にDPDKにのせて早くなったのがトラック最終日までに実装できたので、一応最低限の目標は達成したと言えるので、安心と高速化の喜びを感じた。

4日目のどっかのタイミングでNOC部屋に行ったりもした。
Elastic Search + kibanaで可視化されたログ見せてもらった。
飯時にめっちゃトラフィック上がってるアクセスポイントとかわかって面白い〜、とか思ってた。

企業紹介

ヒルンの発表が面白かった。

グループワーク

色々考えた。
seccamp恒例の本などのプレゼントタイムもここで行なった。

HR

今後、どういった機能を実装すると良い感じになるかという検討をしてた。

5日目

例の如く、朝飯行けず。

グループワーク

今後取り組む事を書いた。

成果発表

集中トラックは他も面白そうだった。
コンパイラゼミの0日目にセルフホスティング出来た人の話が普通に面白くて、かつ実装力がやばそうでやばかった。
リバエンゼミとかのハードよりのゼミも面白そうだな、って思った。

成果発表(続き)

いろんな分野の話が聞けた。
資料があるのであとで色々見てみたい。

閉会式

アウトプットが大事だという話を聞いた。
ブログとgithubに色々アウトプットしていきたい。

帰宅トラック

荷物が重くて大変だった。

戦利品

セキュキャンパーカーとTシャツといろんな本をもらいました。
(写真に乗ってないノベルティもたくさんいただきました。ありがとうございます。)
自分の受けていない、他の講義の資料があって、あとで勉強できるチャンスがあって良い〜、って思いました。

f:id:agodoriru:20180819182016j:plain

感想

素直に楽しかった。まずはそれに尽きると思います。
三日間、隣に強い講師がいて、いろんなことを聞いてなんでも答えてくれるという最高の環境だった。
参加する講師・受講者が無限に強くてやばいのでは思ってたけど、案の定トラック1日目に実装力がなくて頭が蒸発してました。
自分はまだまだプロには程遠い存在ということがわかったので、精進していく必要があると再認識した。
twitter上にいる強い人にも名刺交換とかできて、いろんな人と関われる良い機会になった。

開発の方は、C言語の基礎から丁寧に教えてくれて、最終的にはDPDKのサンプルコードに移植して動かせる状態になった。
開発したものに関しては、また開発記という形で別のブログに上げたいと思う。
C言語完全に理解した、DPDK完全に理解した、まではいかないけど、ほんのちょっとは理解できて成長できたと思います。

三日間nanoを使って開発したけど、流石にemacsvimに入信した方が良さそう、って言われてvimの資料があったので、、、(以下略)

スライド


最後に

Zトラックはいいぞ
(ほぼ)一対一で開発できて最高だった。
(他のトラックに参加してないからなんとも言えないけど、さすがに一対一はこのZトラックだけなのでは?
なお、治安の悪さもピカイチだった。)
治安が悪いと散々言ってるものの、実際はめっちゃラフな環境ですごい開発しやすくて、居心地がよかったので3日間本当に楽しかった。(だからこそ治安が悪くなった(?))

興味のある学生へ

応募した方が絶対良い経験・良い刺激になるので応募しましょう。
学生なのに応募しないで後悔するのが一番良くないので。
なので、このブログを見て、かつ技術的に強くなりたい人は来年応募しましょう、という参加してください。(Zトラックは良いぞ!)
ネットワークとマルウェアに興味がある人はぜひZ4に応募しましょう。

一緒に参加した人へ

切磋琢磨しあいましょう。
また、どこかで会いましょう

講師・チューターの方々へ

強くなって帰ってきます。

最後の最後に

トラック最終日に撮った治安の悪い写真で参加記を終わりたいと思います。