僕のTweetから僕の2018年を振り返ってみる
皆さん、2018年はいかがでしたか? 僕は一瞬でした。
この1年で何があったのか、何ができるようになったのか等々をそれぞれの月に分けて振り返ってまとめていこうと思う。
1月
今年最初のツイートはこれみたい
今年1年も頑張れる気がしません
— mina (@silmin_) 2018年1月1日
こんな記事が生えていた
あけましておめでとうございます&2018年の抱負 - 世紀末の墓
なんかやる気に満ち溢れてるって感じ。正直ここに挙げた項目の半分もできてない
正月早々こんなことを言っているので世話ないですね初抜きのおかずは何にしようか
— mina (@silmin_) 2018年1月1日
この辺でインフラ勉強会に入っている#インフラ勉強会 のDiscordって勝手に参加して良いもんなのか????参加したいが
— mina (@silmin_) 2018年1月7日
あとは高校最後の課題研究というやつの締め切りに追われている叫びしかなかった。
なんかDeepLearningのhogeをfugaしてました。
2月
2/4にインフラ勉強会でセッションをする(当該ツイートがなかった)
バレンタインに絶望しているあっても貰えないが… https://t.co/qY9YGLYMvm
— mina (@silmin_) 2018年2月13日
お気に入りのヘッドフォンがこわれるはー、今使ってるヘッドホンが急に左側しか聴こえなくなった
— mina (@silmin_) 2018年2月18日
とてもわかる、できるだけやりたいと思ったことはすぐGitHubにリポジトリ建てるようにしました(できてない)マジでやりたいこと・作りたいモノをメモ取る癖、もしくはすぐプロトタイプを作る癖を付けないとマジで忘れる。かなc
— mina (@silmin_) 2018年2月20日
一人暮らしに備えて家具を買いに行っている このデスクと椅子は気に入ってます購入確定 pic.twitter.com/j3l9p1C2LG
— mina (@silmin_) 2018年2月25日
2月は大した事してないですね。春休みだったしダラダラ生きてたんでしょう
3月
VTuberのファンゲームが生えてる#HibikiAo ちゃんのファンゲーム【清純ですよ?】、一応完成しました。是非皆プレイしてじゃんじゃんアオちゃんの清純度を上げよう!https://t.co/EY4G806bsE
— mina (@silmin_) 2018年3月8日
— mina (@silmin_) 2018年3月11日大学の入学式とかで使うスーツを買ったみたい それなりに気に入っている
ふふっとした彼女にnullが代入されてるだけマシなんだよなぁ…。わしはundefinedやぞ!!!(javascript並感
— mina (@silmin_) 2018年3月11日
ここから僕の一人暮らしが始まった.....今日は引っ越しで疲れたのでさっさと寝ます
— mina (@silmin_) 2018年3月17日
残念ながら.........年内に彼女ほしい
— mina (@silmin_) 2018年3月19日
またVTuberのファンゲームが生える 12月~3月くらいが僕の中のVTuber最盛期でしたな...VTuberかしこまりちゃんのファンゲーム【酒でりばりー】完成しました。是非プレイしてちゃんまりにどんどんお酒を運ぼう!#かしこまり https://t.co/USBJ9apJ5q
— mina (@silmin_) 2018年3月25日
3月はこのくらい
引っ越しとかいろいろあって大変だったけど、一人暮らし最of高となっていた
4月
大学生になった大学生になり申した
— mina (@silmin_) 2018年4月1日
なんか友のiconを描いてる友達のアイコン書いたんですが、こういうシュールなイラスト書くの好きなので定期的に書かせてください pic.twitter.com/4yfMxIOyhM
— mina (@silmin_) 2018年4月7日
19歳の誕生日を迎える19歳になりました!!!!!!!!!
— mina (@silmin_) 2018年4月13日
この辺から大学の講義に絶望してきている ほんと虚無プログラミングの講義でPCの設定とかの話してるよぉ....
— mina (@silmin_) 2018年4月18日
フォロワーが500人超えたみたい(現在:730前後)初心者向けもいいけど、ふぉよわーがいつの間にか500人超えてたのでそれ関連もやりたい
— mina (@silmin_) 2018年4月20日
とてもわかる僕は背高くて髪長くてメガネでクールであんま喋らない女の子すこすこマンなんだーーーー!!!!それで僕と二人でいるときは良く喋る(心を許してる感じがする)んだーーーーーーー!!!!!!!あーーーー!!!!
— mina (@silmin_) 2018年4月30日
4月は大学が始まってあたふたしてて全然技術的なことできてない感
5月
trelloが採用されるtrello、初めて使ったけど結構よさそうなので自分のタスク管理に採用してみる
— mina (@silmin_) 2018年5月2日
困惑がうかがえる 今でもこんな感じだわ自分が持ってる/知ってる技術は確かにあるはずなんだけど、周りにいる人は大体それらを知ってる人たちだから、自分が何も持ってないように感じている。なんとなく。だから、なんか話してってなるとどれをみんな知らなくて何を僕は分かっているのか分からなくなる。いやまじで。
— mina (@silmin_) 2018年5月6日
技術書を2つ買っている バイナリの歩き方は半分くらいまでしかできてないな パケットキャプチャの方は全部読み切ってる買いました pic.twitter.com/sHaLA5qLUR
— mina (@silmin_) 2018年5月18日
こんなこともあった急募 スーツケースのロックぶっ壊す方法
— mina (@silmin_) 2018年5月20日
鍵がわからないスーツケースをロックしてしまい開かなくなってました
これ最終的にはマイナスドライバで鍵ハックして解決でしたけど
この辺でインフラ勉強会のセッションも兼ねて自作PCを手に入れる最近タイピングも遅くなったしスプラも下手になったし数学的センスも消失したしIT力も下がったけど自作PCは手にした
— mina (@silmin_) 2018年5月28日
5月はバイトをして金をひたすら得ていた印象
6月
とてもわかるなぁ金欲しい
— mina (@silmin_) 2018年6月5日
ついに乞食を始める しばらく固定ツイートにしてたら各位がちょこちょこ送ってくれてうれしかった僕のほしいものリストです。
— mina (@silmin_) 2018年6月5日
最近ご飯に困っているので皆さまの慈愛を期待しています。
よろしくお願いいたします。https://t.co/tyVYQ55809
この辺でクレカを発行する 毎月クレカの支払いで口座残高80円とかになってますクレカ届いたが、口座に600円くらいしかないので無意味
— mina (@silmin_) 2018年6月12日
とてもわかるなぁ DM待ってます!!!!!僕もその辺のお姉さんにお金握らされて食べられたい
— mina (@silmin_) 2018年6月13日
なんかイキリ出す ただ、この通りだとは思うIT系の残業多いのってやっぱこれIT系の正しい知見を全員が持ってない癖に中途半端におかしい知識を持ってるやつが沸きまくってるからって結論にしかならない。だって、家建てるときとか知見全くなければ〇か月かかりますとかに無条件に納得するだろ?
— mina (@silmin_) 2018年6月13日
まだ社会出てないから実際の所は知らんけど()
某県警がぼこすか叩かれてましたね.....頑張ってほしいものですCoinhive騒動でやっぱり思うこと。
— mina (@silmin_) 2018年6月15日
_人人人人人人人人人人人人人_
> 日 本 脱 出 だ よ ね <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
インフラ勉強会半年イベントに言ってた僕はここにいます()#インフラ勉強会(東京) pic.twitter.com/Adg4anQfvF
— mina (@silmin_) 2018年6月23日
6月はまあなんかいろいろありましたね
7月
iPadPro+ApplePencilを買う もうちょっと後に新iPadProが出ることをこのころの僕はまだ知らないお金あると誤解を招きそうなので言っておくと、24回分割払いなので相変わらず金欠は揺るいでないです https://t.co/TOwl7gl2Zo
— mina (@silmin_) 2018年7月2日
今も欲しい DM待ってます!!!僕もつらいことがあったらおっぱい揉ませてくれる彼女が欲しい
— mina (@silmin_) 2018年7月7日
ISUCON8に友達と出る宣言ISUCON8@ida1ten0 @narupi0 と一緒に「CheapLearning」で出場します!
— mina (@silmin_) 2018年7月11日
よろしくお願いします!
よくあるよくあるそーいや今日致してなかったなー致してから寝るか、とか思ってたら今日すでに二回致してた
— mina (@silmin_) 2018年7月16日
タスクの押し付け合いだし、やれるやつがいたらそいつが無限に損する。できなかったやつがやるから成長するのであって、できるやつがやっても無意味なタスクなんだわ。
— mina (@silmin_) 2018年7月25日
大学のグループワークがクソでキレてる大学のグループワークというか、やる気も力も無いやつとグループワークするのがクソ
— mina (@silmin_) 2018年7月25日
7月はiPadを導入したことにより身の回りの書類をかなり廃することができました QOL爆上がり
8月
このころ食費を削りまくってガジェット買うみたいな生活してた 今もですが昨日、早朝まで友達と話してたんですが、食生活とお金の使い方について怒られました。ごめんなさいAmazonタイムセールでBluetoothイヤホンを買ってしまい・・・・
— mina (@silmin_) 2018年8月1日
そもそもいないやろがい彼女と別れました!楽しかったです、今までありがとう!
— mina (@silmin_) 2018年8月14日
そうなんですよね.... 丁度知った時に引っ越してしまったので定期的に帰省したいと思います まだ行ったことないので来年は通いたいですねは?僕の地元によさげ耳かき専門店があるってマ?
— mina (@silmin_) 2018年8月19日
この辺でCSSアニメーションを学び始めるCSSアニメーション入門します
— mina (@silmin_) 2018年8月23日
8月の最終週はインターンに行ってました 楽しかったですよし、出発するか
— mina (@silmin_) 2018年8月26日
8月は夏休みだったというのもあって前半は虚無でした。インターン辺りは充実してましたね
9月
Twitter初めて6年経ったみたいTwitterに登録した日を覚えていますか?#MyTwitterAnniversary pic.twitter.com/xziFiFvxSA
— mina (@silmin_) 2018年9月12日
8月末に行ったインターンについてまとめたはてなブログに投稿しました #はてなブログ
— mina (@silmin_) 2018年9月12日
インターンに行ってきました(2018/8/27~2018/8/31) - 世紀末の墓https://t.co/2wWIvsGifu
ポートフォリオサイトのためにVPSを借りる個人的にはConoHaがすこだけど、AmazonLightsail試してみるか~~~?????
— mina (@silmin_) 2018年9月12日
ISUCONぼこぼこにされたisuconお疲れ様でした
— mina (@silmin_) 2018年9月16日
来年は本戦出場できそうな機運だったので頑張って勉強します
このころはあんまり精神衛生が良くなかったなんか1年前の僕も同じ気持ちだったんだなぁと
— mina (@silmin_) 2018年9月17日
つまり進歩してな・・・
劣等感や焦燥感がやばいって話 - 世紀末の墓 https://t.co/Q5lA5Fv9ri
VSCodeのVim拡張周りで詰んでるなんで<Esc>→"jj" は可能で<Esc>→"<c-j>"はできないんだ!?!?!?!?
— mina (@silmin_) 2018年9月23日
カードの支払額がやばでした来月はショッピングサイトのドメイン、僕の使用端末でロックかけたほうがいいかもしれんなぁ!?
— mina (@silmin_) 2018年9月25日
こんなこともありましたね 結局都の高校とかに半強制で応募させてるみたいな話もありますしむずかしすぎる!五輪大会ボランティア応募フォーム(神田敏晶) - Y!ニュース https://t.co/utD8YYFMRn
— mina (@silmin_) 2018年9月27日
くちがわるい界隈では詰まったときとかに
— mina (@silmin_) 2018年9月28日
「にゃーん」
とか言うそうですが、僕の場合は
「はーくそしね」
です
ポートフォリオサイト開発が始まったおっけ、パス通せたhttps://t.co/kSQDvrumtr
— mina (@silmin_) 2018年9月28日
見れるようになった
やばい台風来てましたね 停電も各所であったしそんなにやばいのか今回の台風
— mina (@silmin_) 2018年9月30日
9月は個人的に虚無だと思ってたんですが、案外そうでもなかったです
10月
なんか言ってますね僕が学校等でぼっちなのは、話しかけるのが難しいのではなく、普通に話しかけてるだけなのに「なんだこいつwww」みたいにされるのが心底嫌なので話しかけてないだけです。むしろコミュ障なのは相手側
— mina (@silmin_) 2018年10月2日
これ、めっちゃ機嫌悪かった覚えある いいところに就職するのを見据えて生きるなんてつまらなくないですか そりゃいいところに就職できればいいにはいいんですが近くの大人に、「せっかく能力あるんだからキャリアプランとかどうなっていたいとかを設計して勉強していったら?じゃないともったいないよ。」的なことを言われたんですが、個人的には「趣味なので✋」の一言に尽きる
— mina (@silmin_) 2018年10月7日
情報のあれこれについて考えているinputした情報を金額ちょっと付与してoutputするの。どれくらいいいんだろうか。僕がinputできたということは他人もInputできるということで、僕の知見を上乗せすることでその金額が発生しているのか、わかりやすく噛み砕くことで金額が発生しているのか
— mina (@silmin_) 2018年10月9日
NFCで自動開錠する仕組みを作ろうとしている届いてしまったか pic.twitter.com/rkOcrqvAyN
— mina (@silmin_) 2018年10月12日
先輩から複合機をもらい受ける QOL爆上がりです搬出します pic.twitter.com/6HcYiePB9Q
— mina (@silmin_) 2018年10月17日
ポートフォリオサイトが生える ↓これ ポートフォリオサイト「The die is cast」を開設しました - 世紀末の墓ポートフォリオサイトを開設しました。拙いHTML/CSSですが、頑張って作りました。https://t.co/kSQDvrumtr
— mina (@silmin_) 2018年10月21日
大学にうんざりしてきている幣学のプログラミングの講義で僕の周りの人は、教授がpythonのイテレータの話とか例外処理とか結構大事な話してるのに全く聞いてない。その癖実際課題が出されると「意味わかんねーみしてー」ってほざきやがるしわかろうともしないのでア。
— mina (@silmin_) 2018年10月24日
やめたくなりますよぉ
Appleの新作発表があった心を理解したのはリーナスじゃなくてappleだったか........
— mina (@silmin_) 2018年10月30日
10月はポートフォリオサイトが生えたんですが、それ以外全然やれてない気がします
11月
かなしいねPCカタカタしてるときに後ろから「ねーつまんなーい!なんかしよー?」って抱き着いてきてくれる彼女欲しいぞ
— mina (@silmin_) 2018年11月6日
僕「なんかってなんだよ(呆れ)」
彼女「(ちょっと離れて)あれとかーこれとかー(身振り手振りで具体案をいろいろ出す)」
僕「それいいね。ちょっとまってて(カタカタ)」
までセットで
mina on Twitter: "tcpflowがどんなもんでどんな風に使えばいいのかみたいなのが理解できたので、十分進捗です" tcpflowを学んでいる
友達のアイコンを書くnarupi @ei1528 君のアイコンを書きました。かっこいいぜ。 pic.twitter.com/MYvrLf2N0P
— mina (@silmin_) 2018年11月9日
kernel/vm北陸に参加してたつぶやいてなかった#kernelvm
— mina (@silmin_) 2018年11月10日
11月こそ虚無だった
12月
セキュリティ・ミニキャンプ in 石川 に参加してた ↓その時の記事 セキュリティミニキャンプin石川 2018 参加してきた - 世紀末の墓in 石川のはずですが、この部屋だけ岡山となっています pic.twitter.com/EfYXwXQW2I
— mina (@silmin_) 2018年12月2日
ひたすらARがやりてぇと叫ぶおたくやっぱわかんねぇわこれは
— mina (@silmin_) 2018年12月3日
俺はいまARがやりてぇんだよ
買った、ただ分厚すぎて読みづらかったので後ほど電子版も買っているオ、届いた
— mina (@silmin_) 2018年12月7日
予想以上に厚かった(800p超)ので、電子書籍にすればよかった感が漂ってる pic.twitter.com/yYZ6UZk0Wf
Kaliの環境構築してたやっとkaliのいい感じのUS配列+日本語入力環境が整った
— mina (@silmin_) 2018年12月10日
ソロでダブルベッドのホテルに泊まる男人生初、ダブルベッド(ソロ)です
— mina (@silmin_) 2018年12月15日
無線イヤホンがお亡くなりになるそうそう、僕の無線イヤホンが昨日車に跳ねられて粉々になったで候
— mina (@silmin_) 2018年12月18日
未踏に応募することにする俺も未踏応募すっか~~~って思うけど文章うまく書けないので死
— mina (@silmin_) 2018年12月19日
家の機器のホスト名を総名づけして、mDNSで名前解決しようとしてる ちなみに旧バージョンのwinのmDNSがゴミで、windows10 1809で改善されているらしいのでupdateして解決win10 - Linuxで両方ともmDNS有効にしてるのにwin10からLinuxのホスト名ひけないのは何?
— mina (@silmin_) 2018年12月22日
chrome拡張作ろうとしている ただ、僕が作ろうとしていたものがchrome標準で実装されてたのでやめたchrome拡張わからんというよりjavascriptわからんになっている
— mina (@silmin_) 2018年12月27日
年末年始は用があるので実家に帰省 アホみたいにキンキンに冷えたコーラを雪の中で飲んだので鼻水が止まりません帰省するぜ pic.twitter.com/3hJfbLDBXJ
— mina (@silmin_) 2018年12月30日
12月はひたすらスマブラしてた記憶があります
総括
なんだかんだ言って裏ではちょっとずつ精進したりしていたんだなぁと感じた。 ただ、今年成長した感が全然ないので来年こそ頑張っていこうと思う。
KaliLinuxでUS配列+日本語入力環境【Anthy】
まず
「Kaliいれたろー」
「日本語環境一応作っとくかー」
「ふむふむ、日本語配列だと簡単なんだねー」
「........」
「US配列はどうすればええんや...」
って感じでちょっと詰まったので備忘録的な感じで。
詰まったついでにAnthyについてもちょっと書く。
KaliLinux
Linuxディストリビューションの一つで、Debian系の派生。 脆弱性攻撃とかテストする(ペネトレーションテスト)用にたくさんの攻撃ツールやらなんやらが標準で入っている。
ここではインストールは割愛。 各自で調べてください。
環境
VirtualBoxで仮想マシン上で動かしています。
ホストOS:Windows10
ゲストOS:Kali Linux 2018.4のova
↓から持ってきた
www.offensive-security.com
キーボード:US配列のテンキーレス
一応、日本語化はしている状態で説明する。
設定>Region&Languageから設定できる。
ここで、キーボードがしっかりUS配列になっているかも確認しておく。
理想
半角英数と日本語(ローマ字)入力を任意のショートカット(Ctrl+Spaceとか)に割り当てる。
やること
ターミナル上で
# apt install task-japanese task-japanese-desktop
を叩いて、再ログイン(再起動でもなんでもいい)。
これは日本語の入力環境をぶち込んでくれる。
すると右下に
こんな感じのマークが現れるようになる。
Leafpad等を開いて入力可能状態になると
こんな感じに表示が変わる。
左から順に
- 入力方式
- 入力モード
- かな入力方式
- 設定
の項目になっている。
左の設定から決まっていき、1つ目の設定がAnthyならAnthy用の設定が2つ目の設定に来て、2つ目の設定がかな入力(直接入力/ひらがな/カタカナ/半角カタカナ)の場合は3つ目が参照されるみたいなイメージ。
ここで、一番左の項目をAnthy(UTF-8)(王冠マーク)にしておく。
ちなみにここがAnthyじゃないと他の項目も別の様相になる。
ただ、こんなものをいちいちポチポチしていてはクッソ面倒。 設定をいじろう。
一番右側の設定マークをクリックすると設定画面が開く。
詳しくは自分でいろいろ見ればいいと思うが、このAnthyってやつがこの日本語入力機能の名前だと思ってくれていい。 このAnthyには、
- 直接入力
- ひらがな
- カタカナ
- 半角カタカナ
- 半角英数
- 全角英数
が付随する入力モードとして用意されていて、これらを切り替えながら使っていく。 3つ目にかな入力方式としてもいろいろあるけど、基本ローマ字しか使わないと思うので割愛。
僕の場合は
- 直接入力
- ひらがな
のみで十分なのでその2つの切り替えのみにしておく。
それ以外に関しては各自でやってください。
ここまで来たらあとは簡単で、設定のサイドメニューからAnthyキー設定2を開く。
そこの[Anthy]オンと[Anthy]オフのところに、自分が割り当てたいショートカット(僕ならCtrl+Space)を設定する。
適用なりOKなりをクリックして終わり。
[Anthy]のデフォルト設定が
入力モード→直接入力
かな入力方式→ローマ字
になっているので[Anthy]オンにするとローマ字入力できる。
仮に入力モードが半角英数とかだと、ローマ字は関係なく変換可能な半角英数()を入力できる。
実はShift+Spaceにあらかじめ割り振られているみたい。
ちなみに、[Anthy]オンにするとローマ字入力になり、[Anthy]オフにするとデフォの半角英数になる。
あとは
設定項目みればどんな感じかなんとなく察せると思うので、自分好みの設定にしてください。 どう設定したらどう反映されるみたいなのは触りながらつかんでいけると思うし、日本語が入力できればいいのでわかる必要もないかもしれない。正直僕もまだAnthyと仲良くなれてない。
セキュリティミニキャンプin石川 2018 参加してきた
はじめに
僕は金沢の近くに住んでいるのだが、近くで開催ということと実施される講義に特に興味があったので参加した。
参加レポート的な感じで、覚えてる限りでパパっと内容をまとめようと思う。長々書いてもアレですしね。
開催された講義
- 異常通信分析基礎(午前)
- GPSをだましてみよう(午後)
の2つ。どちらもネットワーク系で特にGPSに興味があった。
事前課題
セキュリティキャンプは(ミニキャンプも含めて)、応募時に課題的なサムシングがある。
知識とか技術力を見るんじゃなくて、やる気があるかとかその辺を見るためのやつらしい。
正解不正解は問わず、自分で調べて考察することが大事みたい。
今回は講義内容に関連して、「異常通信ってどんなのがある?」「GPSをハックして何ができる?」みたいな感じだった。
もっといろいろあったと思ったけど忘れた。
異常通信分析基礎
ログ解析とかいろいろ
squidのログ解析
Squidは、proxyサーバやwebのログサーバとかに使われるフリーソフト。
デフォルトのフォーマットがクソ見づらくてクソなので、awkで狙った情報だけ持ってきてsortして綺麗に見れるね的なことした。
pcap分析
tcpdumpで作られるパケットキャプチャファイルであるpcap。
こいつはWiresharkで解析されるのがおなじみだと思うけど、ファイルサイズがでけぇと開ききれないから、tcpdumpでフィルター条件を指定して既存のpcapファイルをスリムに絞ることができる。
あとIPアドレスを名前解決してしまうと、攻撃者側に調べているのがばれてしまう可能性があるのでこの機能をオフにする。←これはとても知見だった。
netflow分析
Ciscoかどっかが開発したIPトラフィック情報を集める規格。
サイズがでけぇpcapはWiresharkで開ききれない、が、pcapデータをnetflowデータに変換すると半分以下くらいのサイズに減らせる。
netflowデータの解析にはnfdumpというツールを使う。こっちのほうが軽いし速い。
オプションの設定がちょっと特殊だったけど、慣れればかなり便利そうだった。
実践
ここまでやったことを使って、実際にログファイルを解析して漏洩した情報の原因を探すみたいなやつをやった。 時間無さ過ぎて全然わからんかった。
GPSをだましてみよう
GPSの基本的な話と実践
GPSのしくみ
簡単に言うと、現在位置は地球の周りをぐるぐる回ってる人工衛星複数台からの距離によって算出される。
距離は信号の届いた時間差みたいなやつで見る。
ただ、GPSは
- 信号が弱い
- 形式が公開されている
- 欺瞞信号を見分けられない
というつらみを抱えている。
ので、色んな策を講じて何とかしようとしている。
ただ、今のところ普通に欺瞞信号ばらまけば近くの機器はGPS使えなくなる。
あと、GPSは一般用と軍用があるらしく、軍用は一般用に比べて強度が高いらしい。(複数の周波数を使ってるため切れにくい)
精度はあんま変わらんみたい。
実践
実際にGPS信号を作成して発せられる機器たちを用いて、虚偽の信号を流してそれを地図に表示してみるみたいな感じ。
5人グループでやった。この機器、400ドルくらいらしいので個人でも買えるやーん()
攻撃側と受信側でそれぞれPCを用意して、攻撃側はスクリプトを流し欺瞞信号を発生させ、受信側はteratermのシリアル通信で受信する。
そこで得た位置情報をツールでマップに表示する。
ちなみに、実際に電波を発生させ漏れてしまうと違法になっちまうので、ケーブルで接続した。
途中で、衛星情報は認識してるのに位置情報が出てこないみたいな事態が発生。 チューターの方々と立ち往生状態だったが、メンバーの一人が機器の不具合を発見し無事解決。 彼はプロだった...。無事、表示できて終了。
おわりに
最後はアンケート答えて集合写真撮って終わり。
今回のミニキャンプを通して、ネットワークへのモチベが向上し、GPS周りの興味が高まった。 ネットワークの解析は主にCTFとかでやってるけど、今までWiresharkとかtcpdumpとかしか使ってなかったし、ログ解析とか全然したことなかったので、得た知見を実用レベルまでもっていきたいと思う。 GPSに関して、僕はAR(MR)周りの通信の研究をしたいと思っていて、それに関連して面白いことができそうなので、これから細かく学んでいこうと思う。
全体的な雰囲気は、最初堅かったけどだんだん緩んでいった感じ。 チューターの方の何人かとTwitter交換できたのでよかった。 参加者の人ともっと話したかった感はあった。
ミニキャンプ中のツイートたち
ずっとTwitterしてました()
ひゃー
— mina (@silmin_) December 2, 2018
絶起スレスレである
コレ受付ギリギリだわ
— mina (@silmin_) December 2, 2018
各位、本名よりもTwitter名のほうが知りたい
— mina (@silmin_) December 2, 2018
例の飴だ pic.twitter.com/J7SsYMfKkB
— mina (@silmin_) December 2, 2018
nfdumpフォーマットキモすぎるな
— mina (@silmin_) December 2, 2018
飯がはじまる pic.twitter.com/hUqbkUXju9
— mina (@silmin_) December 2, 2018
in 石川のはずですが、この部屋だけ岡山となっています pic.twitter.com/EfYXwXQW2I
— mina (@silmin_) December 2, 2018
GPS特殊で脆弱だけど結構楽しい
— mina (@silmin_) December 2, 2018
デジタルアナログ時計があった pic.twitter.com/ozfOnpbgo0
— mina (@silmin_) December 2, 2018
raspberry pi 3 でサーボモータを動かす
ドアの自動開錠/施錠機構を作りたかったので、ラズパイからサーボモータを動かしていきます。
使ったもの
- raspberry pi 3 本体 (OS: raspbian)
- マイクロサーボ SG92R
- ジャンパー線
配線
まず、サーボモータ側の仕様を見ます
秋月電子のページを見ると、
配線:茶=GND、赤=電源[+]、橙=制御信号 [JRタイプ]
とあるのでその通りにします。
次にラズパイ側のピンアサインを調べます。
こういう仕様みたいなので、茶色をGNDへ、赤を+5Vへ、橙をGPIO4へ(GPIOならどこでも)、それぞれジャンパー線を介して繋げます。
こんな感じになりました。
今回に関してはブレッドボードを介そうが、直挿しだろうがどちらでもいいです。もちろん「直挿し」だよなぁ!? pic.twitter.com/vD5nQFv7qP
— mina (@silmin_) 2018年10月21日
プログラム
motor.py
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) out_pin = 4 GPIO.setup(out_pin, GPIO.OUT) servo = GPIO.PWM(out_pin, 50) servo.start(0) servo.ChangeDutyCycle(2.5) time.sleep(0.5) # 90度回転 servo.ChangeDutyCycle(7.25) time.sleep(0.5) # さらに90度回転 servo.ChangeDutyCycle(12) time.sleep(0.5) servo.stop() GPIO.cleanup()
参考先↓ bufferoverruns.blogspot.com PWM制御の話とか、周波数とDutyCycleと角度の関係とかが詳しく説明されてるので、知りたかったら読んだらよさそう。 決して、説明がめんどうだから貼ったというわけではない。
実行
$ python motor.py
で動く
ポートフォリオサイト「The die is cast」を開設しました
The die is cast 「人生は運ゲー」
僕の座右の銘である「人生は運ゲー」をテーマに据えて作った
silmin.net
人生は運ゲー??
人生ってめっちゃ運要素多いと思う。 産まれる親・国・地域・周辺の人・貧富・障害とかとか、産まれる前から運要素バリバリ絡んでるわけで。 少なくとも当の本人にはそれをどうすることもできない。
産まれた後も、親の挙動・周囲の挙動による自分への影響・事故・病気などなど、自分ではどうすることもできないことは多々ある。理由はあれど、自分が作用できないのであれば「自分にとっては運」と言っていいだろう。
ただ、これは努力や経験が無駄と言っているわけではない。この努力や経験が作用できる運要素もまたたくさんあるから。この努力や経験は生まれた後の人生から、運要素を少しでも自分有利に近づけるための要素だと思う。だからどちらかというと僕はこっちの方を言いたくて、「人生は運ゲー」と言っている節がある。
例えば温泉を掘り当てる可能性があったとして、「無知のままその辺を適当に掘っている人」と「泉源探査や解析をして金を集めて取り組む人」を比べてみる。この場合、後者のほうが圧倒的に温泉を掘り当てる確率は高いだろう。前者にも確率が0なわけでない。ただ、その確率はとても低く、人生80年を使い切っても余裕で無理だろう。後者は前者に比べたら掘り当てる確率はとても高い。ただ、運要素が全くなくなったわけではない。
つまりはそういうことだ。
サイトの話
運ゲーということで、ダイスやチップやルーレットなどカジノ的な要素を入れてみた。
もう一つ、CSSAnimationを練習したいという目的もあったため、積極的に動かしている部分もある。
僕がどんな人か、やってることなどがわかるようなページになったと思う。
とても拙いHTML/CSSやゴミみたいなファイル構成はまだなんとかしなければならないが。
裏側
VPS | Amazon Lightsail |
OS | CentOS 7.5 |
サーバ | Nginx |
vim-plugを導入する
vim-plugとは
Vimでプラグイン管理をしてくれるプラグイン
プラグインをどんどん入れていくと煩雑になるので、管理してくれるやつがいると嬉しい
vim-plug以外にもvundle,deni...など色々ある
他と比べて楽だと感じた
環境
CentOS7
Vim version 7.4.1099
Linuxやmacなら同じように動くと思う
Windowsは知らない子です
導入
まずcurlでファイルを持ってくる
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
終わったら~/.vim/autoload/plug.vimが作られる
これで導入は終わり
使い方
.vimrcに下記を書く
call plug#begin('~/.vim/plugged') call plug#end()
~/.vim/pluggedは任意のディレクトリでOK
※pluginなどの標準的な名前は重複する可能性があるのでNG
そこには実際に反映したプラグインが入る
そうしたら実際に使いたいプラグインを書いていく
今回はrust.vimを入れる
※rust.vim: プログラミング言語Rustのハイライトとか諸々のプラグイン
rust.vim
GitHub - rust-lang/rust.vim: Vim configuration for Rust.
上のページに書かれてるようにファイルを持ってくる
git clone https://github.com/rust-lang/rust.vim ~/.vim/pack/plugins/start/rust.vim
終わったら.vimrcに追記
call plug#begin('~/.vim/plugged') Plug 'rust-lang/rust.vim' call plug#end()
Plug '[入れたいプラグイン]' のフォーマットでbeginとendの間に書く
'rust-lang/rust.vim'のところはrust.vimのページで指定されている
書いたら保存して一回終了
またvimを起動して(.vimrcを読み込んで):PlugInstall
を叩く
するとこんな感じの画面になると思う
ならなかったらもう一度手順確認してvimを起動しなおしてやってみよう
そうしたら指定した~/.vim/pluggedにrust.vimが追加されているはず
これで導入~適用までの一連の流れは終わり
次回からは、必要なプラグインのファイルを持ってきて、指定通りに.vimrcに書いて、.vimrcを読み込んで(vimを再起動して):PlugInstall
を叩けばOK
おわりに
これでVimのプラグイン周りは結構すっきりしたし、適用されてるプラグインがひと目でわかる(~/.vim/plugged/)ので良い
ISUCON8予選参加記
ルール諸々
事前にしたこと
(事前準備なんて)ないです
やること
webアプリのチューニング
鯖が用意されるから、SSHしてコードやDBゴリゴリ速くしようぜっていう感じ
感想
何もしてねぇ
そもそもノリで参加したのはいいものの、webアプリ特有の色々とかAPI仕様とかDBの挙動とか、全然知識ない状態だったので手を付けようにもつけられず、Googleと対話するコンテストになってしまった。
過去問とか結構大事だったみたい。
言語ある程度わかるし行けるっしょでは無理だった。(あたりまえ)
せいぜい小手先の高速化くらいしかできなかった。
抱負
初参加でだめだめだったけど雰囲気がつかめた感じがあった。
過去問とか大事っぽかったし、webアプリ周りの知識をもっと付ける必要がある。
まだまだ学生枠なので、来年は本戦出場していき!
【BEENOS】インターンに行ってきました
タイトル通り、インターンに行ってきたのでその所感等を書いていき
場所
BEENOSさん
beenos.com
この中には複数のグループ会社さんがあって、僕はその中のtenso株式会社さんというところでインターンさせていただいた
期間
2018/8/27~2018/8/31
1週間5営業日
AWS
Amazon Web Serviceの略
Amazonが提供しているクラウドサービスですね
クラウドならアマゾン ウェブ サービス - AWS
Terraform
インフラ周りの構成をコード化しておいて再現性をもたせようぜっていうやつ
コード化しておくことで何度でも同じ環境が完璧に建てられるし、一回書いたら何回でも使いまわしできるので嬉しい
HashiCorpっていう会社が提供してる
Go言語をラッピングしていてHCL(Hashicorp Configuration Language)という文法で書かれる
www.terraform.io
最終的にできたもの
こんな感じのネットワーク構成ができた
appサーバにはApacheやPHPを入れてWordpress環境を建てた
Autoscalingでappサーバの数を適宜調整していく感じ
HTTPリクエストはELBで負荷分散し、SSHは直接入れないように踏み台としてbastionを用意した
図にはないが、ルーティングテーブルを書いたりセキュリティグループを設定したりと裏にいくつか隠れている
全体としての感想
1週間という短い期間だったが、得られたものは結構あった
技術面
ネットワークの知識はあったが、こういうインフラ周りに今まで大して触れてこなかったため新鮮だった
AWSなんてほぼ初めてである程度知見を吸収できたと思う
Terraformも初めてだったがGoは少しわかるし、AWS以外でも使えるとのことなのでこれからお世話になりそう
それ以外
インターン自体初めてでIT企業ってこんな感じかーって思った
雰囲気もいい感じに緩くて、作業しやすい環境だったと思う
今まで自分は個人での開発経験しかなかったので、多人数で進捗確認しながらじわじわ進めていく感じが新鮮だった(今回も個人だが周りを見ていて)
社内Slackにレビュー依頼や対応依頼とかが飛び交ってて、良くも悪くも手間がかかってるなぁと(金がかかってるので当然といえば当然)
最後に
全体的に楽しかったし、来年の春にも来ていいことになったので楽しみにしている
↑左から、チューターの加治さん、僕、人事の笠松さん
なぜか片足のすそが捲れてるぼく
【write-up】OverTheWire bandit Level0~10 を解いてみた
目次
OverTheWire banditとは
用意されたサーバにsshで入って、その中からflagを探すCTF用のサイト
bandit0にはbandit1にloginするためのpassが隠れていて、bandit1にはbandit2にloginするためのpassが隠れているっていう感じ。
それぞれのLevelにbanditが対応している。
Level2ならbandit2のユーザが使えるみたいな感じ。
一応、各番号のサイトにはflagの特徴や条件等いろいろなヒントが書かれていたりなかったりする。
今回はbandit0~10を復習がてらやってみたので解説
OverTheWire: Bandit
環境
host: windows10
VirtualBox:Ubuntu16.04 LTS
仮想マシンのUbuntu環境です。
Level0
書かれている文章を読むとsshして繋げたらおkらしい。
ちなみにアドレスはbandit.labs.overthewire.orgでポートは2220、アカウント名とパスワードは両方 bandit0 でいいらしい。
よって
$ ssh bandit0@bandit.labs.overthewire.org -p 2220
で入って
bandit0@bandit.labs.overthewire.org's password:
って聞かれるから
bandit0
を打って完了です。
Level0 → Level1
ホームディレクトリにreadmeっていうファイルの中に次のレベルのパスワード入ってるよ
って書かれてるので、念のため
$ ls
してみると、readmeっていうファイルがある。
そしたら
$ cat readme
で、ファイルの中身を見る。
するとなんかすごい文字列がでてくるが、これがキーらしい。
これを次のbandit1のパスワードにするとbandit1に入ることができる。
Level1 → Level2
ホームディレクトリの - って名前のファイルにキーがあるで。って書かれてる。
愚直に
$ cat -
をすると、- がオプション記号(?)として扱われてしまうのでうまくいかない。
最初に - が来ないようにpath指定してあげればよさそうなので
$ cat ./-
で無事中身を見ることができた。
Level2 → Level3
スペースを含むファイル名のファイルの中にキーがあるで。って書かれてる。
愚直に
$ cat space in this filename
をすると、空白区切りで別のファイル名として扱われてしまう(space というファイル、in というファイル、thisという...)。
これを避けるためにエスケープ文字というものを使う
スペースの前に \ (バックスラッシュ)を付けることで、スペースをファイル名に含まれる空白として認識してくれる。
$ cat space\ in\ this\ filename
ちなみに、Tabキーでファイル名を補完する機能があるため、Tabキー押してあげると自動で入力される。
Level3 → Level4
inhere っていうディレクトリの中にあるよ。って書かれてる。
とりあえず、inhere/に移動してみる
$ cd inhere/
そして中身を確認
$ ls
あれ、なにも表示されない。
でも問題文にinhere/にあると書かれているので、嘘ではないだろう。
なら隠しファイルの可能性を疑って全表示してみる。(lsだけでは通常隠しファイルは見えない)
$ ls -a
すると、.hiddenというファイルが見える。
中身を見てみる
$ cat .hidden
と、無事キーを入手することができた。
ちなみに、移動せず
$ cat inhere/,hidden
でもOK
Level4 → Level5
inhere/の中の一つだけ読めるファイルにキーが書かれてるよ。とある。
inhere/の中身を見てみると-file00~-file09が格納されている。
この中から読めるものを探すわけだが、読めるということはASCIIで書かれていそう。
なので、ファイルの形式を調べてみようと思う。
$ file inhere/*
で全ファイルの形式がわかる。
すると、-file07だけASCII Textだとわかるので、
$ cat inhere/-file07
でキーが入手できる。
ちなみに
$ cat inhere/*
で全部の中身表示して読めるとこだけ取り出してもいいけど、前ファイルの末尾が偶然アルファベットとかありそうだから非推奨
Level5 → Level6
inhere/の中にあるファイルで、
- 人間が読める
- ファイルサイズが1033byte
- 実行ファイルじゃない
の条件に当てはまるファイルだよ。って書いてある。
実際inhere/をlsしてみるとめっちゃファイルある。これを一つ一つ見ていくのは嫌だし、効率悪い。
ので、一番それっぽいファイルサイズを使ってみる。
#findコマンドを用いる場合 $ find -size 1033c #find, grepを用いる場合 $ find -ls | grep 1033
すると./inhere/maybehere07/.file02が当てはまってるのでそれの中身みてキー入手。
find -ls
findで見つけたファイルをls -lの形式で出力する
| (パイプ)
左のコマンドの出力を右のコマンドの入力とする
Level6 → Level7
このサーバの全場所から
- 所有ユーザがbandit7
- 所有グループがbandit6
- ファイルサイズが33byte
の条件に合うファイル探してねって書いてある。
これはさっきと同じ感じで、
#find $ find / -group bandit6 -user bandit7 -size 33c #find and grep $ find / -ls | grep bandit7 | grep bandit6 | grep 33
でいける。
find / -lsはこのサーバ内の全ファイルをls -lの形式で列挙。
ls -lの形式には所有グループ、所有ユーザ、ファイルサイズ、権限情報などいろいろな情報が載っている。
それをみてgrepで絞り込む感じ。
Level7 → Level8
data.txtっていファイルのmillionthって単語の次にキーがあるぜ。って書かれてる。
これはもう
$ cat data.txt | grep millionth
しかないね
Level8 → Level9
data.txtの中のものは被りばっかで、被らないものは1つしかないらしい。
その被りないやつがキーらしい。
被りを消してくれるuniqコマンドを使いたいんだけど、連続してないといけないから先にsortしよう。
$ sort data.txt | uniq -u
uniq -u は重複を非表示にしてくれる。
するとキーが出てくると思う。
Level9 → Level10
何個かの'='の後にある読める文字列みたいな感じで書いてある。
中身を見てみるとバイナリで読めない。
でも人間が読める文字列って書いてあるのでstringsコマンドを使って可読部分を表示してもらう。
$ strings data.txt
これでもたくさんあって大変。
grepを使うんだ。
$ strings data.txt | grep '='
すると3つくらい出てくるけど、今までキーになってたみたいなやつがキーになる。
まとめ
一応、Level0~10まで書きました。
ここはまだ全然簡単で、uniqやstringsコマンドを久しぶりに使ったくらいの難易度でした。
気が向いたら11以降も書きます。
【インフラ勉強会LT記】ネットワークの基本の「き」(2018/02/04)
インフラ勉強会って?
インフラ勉強会とは非営利のインフラエンジニアのための勉強会オンラインコミュニティです。
DiscordというVCアプリ(?)を用いて行っています。
詳細はインフラ勉強会 Wikiを参照ください。
形式
VC:Discord
画面共有:mixer.com
所感
僕の今まで勉強してきたことを、できるだけ初心者向けかつ体系的に伝えられるようにしたつもり。
なんか意外と刺さりが良かったというか好感触だったのでまたやりてぇってなった。
今までここの分野を講義というか人に教えるために整理したことがなかったので、良い復習になった。
ちなみにこのイベント
wp.infra-workshop.tech
まとめ
インフラ勉強会はいいぞ