monolog

monora log #=> ものろーぐ

2016年の投稿

KnobCon史(仮)

雑記

この記事は ぐらぽむ Advent Calendar 17日目の記事です。書き始めたのは 12/18 0:05 です。ごめんなさい。

はじめに

この記事は、僕が一応代表という事になっている、豆腐屋というサークルが C90 で KnobCon を出すに至った一連の流れを追いかけたものです。 こんな機会がなければ絶対に外には出ない記録でしょうし、内部の人間も見返すことはなかったでしょう。

そしてただのポエムで、晒しで、反省でもあります。

また はしけむの KnobCon前史(仮) - 0rangetail をお読みでない方は、先にそちらを読まれた方がよいかと存じます。

なぜ (仮) なのかというと、まだ終わっていないからです。別に意味深な話ではなく、まだ KnobCon が世に出てから4ヶ月しか経っていません。その今、全てを過去のものとして語るには早すぎるのでは、という意味合いで言っています。

まず、この Advent Calendar の 10日目 に少しだけ書いたものを引用します。

そしてメンバーを振り回したということが半年ほど前にあり、彼 (はしけむ) もその振り回された一人です。KnobCon のオリジナルアイデアは彼によるものです。その節は本当にすみません……

結果として最終的に KnobCon というものができ、実際に頒布できたのは奇跡だと思っています。 今日はそれについては何も書きませんが、そのうち、誰かが @kyontan はクソみたいな話をしてくれるでしょう。

これを深く掘り下げようという話です。 つまるところ、我々はどのように考えてこれを出し、どのような事があり、どのように今に至るのかという話です。

前振りが長いですね。本題に入ります。

本題

とにかく僕は記憶力が悪いので Slack をひたすら漁ってぺたぺた貼っていきます。だいたいメッセージ数でいうと5000〜6000ぐらいでしょうか。多すぎるので99.8%は割愛します。

なお、これ以降の引用文は、全て同期数名で構成された横浜県というSlackチームでの会話です。 横浜県といえば、僕が持っているドメインであり、 pref.yokohama ですが、名前以外に関連性はありません。

まずは Slack のログを漁ろうとしたのですが、肝心のログが24,000件の投稿の彼方に飛んでいました。アーカイブから取ってきたものを張ったため、スクリーンショットがありません。ご了承下さい。

kyontan has joined the channel #newproject-comike 2015-12-31 20:15:02 +0900kyontan set the channel purpose: C90出しませんかプロジェクト 2015-12-31 20:15:03 +0900kyontan: とりあえず申込書セットを買いました 2015-12-31 20:15:21 +0900

時間を見た感じ、C89 3日目から帰ってきて唐突にチャンネルを立てて発言したらしいです。覚えていません。 多分コミケ独特のテンションで勢いでやったのでしょう。

kyontan: ゆりえっちSS 2016-01-02 17:45:56 +0900

まったく記憶にない。

割愛しますが、1/2 はその他に萌基板はどうだろう、みたいな話があり終わりました。

蛇足ですが、コミケの申込み期限はかなり早く、C90のオンライン申込期限は 2016/2/9 (火) でした。開催6ヶ月前です。 そのため、とにかく申込書類に必要なサークル名やサークルカット、頒布予定商品を決めないとという焦りがあったのを覚えています。

そして次の発言は 1/5。

gurapomu: 物理的に動くものが作りたい気分だ 2016-01-05 21:47:42 +0900

なるほど、ここで方針が決まったんですね。

kyontan: にゃあ 2016-01-05 21:52:49 +0900

gurapomu: もふもふ 2016-01-05 21:53:19 +0900

kyontan: そういうのここでする必要なさそう 2016-01-05 21:56:07 +0900

記憶にない。

その後、サークル名が「豆腐屋」に決まるなどがありました。意外と早いタイミングで決まっていたんですね。

その後、2月中旬までに、数回の秋葉原中央通りのサイゼリヤでの話し合いを行い、ハードウェアで何をやるか、何をしたいのか、黒字を出したいのか出さなくて良いのかなどという話がありました。 メンバーは既にこのころ決まっていて、 @kyontan (僕), @akira, @gurapomu, @hashikemu になりました。たまにオブザーバ的存在として @hogas や @36kyo などが出てきます。

その頃は左手デバイスを出している人を参考にしたり、キーボードを作ろうみたいな話をしていた気がします。 キーボードといえば、最近は Ergodox なんかが一部界隈で流行っている印象を受けますが、おそらくキーボードの話を突き詰めるとこのような物になったのかな、などと思っています。

そんなこんなありつつ、頒布予定としてはひとまず何らかの入力デバイスを出す、といった内容を提出します。 肝心のサークルカットははしけむにお願いした結果、素晴らしい小紅ちゃんを描いていただけました。本当に可愛い。

[caption id="attachment_1558" align="aligncenter" width="400"]

豆腐屋 C90 サークルカット[/caption]

そして申し込みが終わった 2/18 の後、 #newproject-comike に書き込みが行われたものがこれ

kyontan: @channel: > 貴サークル「豆腐屋」は、日曜日 西地区“g”ブロック-11a に配置されました。 2016-06-10 17:43:36 +0900

突然3ヶ月ぐらい飛びました。そのようなことがあります。時間とは……

この時点で C90 3日目 (当日) まで2ヶ月と少ししかありません。死にそうです。

ところでコミケに慣れている方は 西g-11a というスペース番号が見慣れないという方も多いかと思いますが、gというのは C90 ではじめて追加された配置であり、1, 2日目に企業ブースとして使用していた西34ホールを3日目に一般サークルが配置されたものです。

その後、 KnobCon前史(仮) - 0rangetail であったとおりの流れがあり、最終的に「自作ハンコン兼汎用入力デバイス」を作る話にまとまります。まったく経緯がログにないな……

akira: Knob+Controllerでのぶこんとかですか(雑 2016-06-27 17:36:32 +0900

これが名前の元っぽい。

ちなみに競合という表現はあれですが、この時点で似たようなプロダクトとしては PowerMate や BrushKnobなどがありました。 最近は Surface Dial などがあり、これは KnobCon ですという発言をすると巨大な存在に消されることが知られています。

また、DIPスイッチを付けるか、フルカラーLEDを付けるかなどの議論があり、最終的に無くなります。スモールスタートというやつです。(雑)

6月〜7月の1ヶ月間は、そして無限に終わらないノブの形を決める話があり、 @akira が CAD で作った案をあーだこーだとひねりながら形を練っていき、などがありました。

この時期は KnobCon のユースケースであったり、そもそもどういう使い方をするのか、対象とする層はどこなのか、というような抽象的な話が多かった気がします。これをこの段階で固められたのは、後々考えるととても良かったと思っています。やはりそういう曖昧な話はどうしても時間がかかりますし、すり合わせるのは難しいです。 (ノブの形は1週間ぐらいで決まったようです。)

そして @akira を中心にロータリエンコーダ(ノブの回転角を取る電子部品)を探しつつ、外形を決め、 @gurapomu が基板を設計するということがありました。 基板の話は最初僕がやるという話になっていたのですが、完全にこの時期は何らかの力が働き死んでいました。本当に申し訳が立ちません。 部品といえば、ロータリエンコーダ探しはとにかくしんどくて、経済力や政治などがあります。これがハードの辛いところで、要求するスペックの部品があっても、少数ロットでは購入できないものが意外とあります。つらいです。

あとはWebカタログ公開があり、それに合わせて公式Twitterを開設した気がします。

http://twitter.com/tofu_ya_moe/status/754964207209033729

基板設計、発注のあたりは進捗が完全に燃えていました。これは完全に僕のせいで、ファームウェア (ソフトウェア)の検証が遅れに遅れていたのが原因でした。ちなみに 7/23 に手を付け始めたようです。

 

そして 7/31, 8/1 の突貫工事でサイトを作成し、その夜に 公式サイト を公開します。 最初は頒布価格が未公開でしたが、それ以外はほとんど今に至るまで変更はないです。 最初から3Dモデルがグリグリ回せたのは、どこかのクリスタルがグリグリ回せるサイトへの憧れからです。

http://twitter.com/tofu_ya_moe/status/760110714031706112

gurapomu: 正式見積もり完了しました 2016-08-01 23:21:34 +0900

これは基板の発注をしたときの書き込みですね。

ところで、僕はこれ以前も、以後この記事を書いている現在に渡るまでもハードウェアを設計した経験はないのですが、それでもこれが異常なスケジュールなことは分かります。 8/1 というのは、たいていの印刷会社の同人誌の通常入稿締切な訳です。 決して印刷会社の方々を卑下するわけではありませんが、我々はハードウェアを作っているわけで、この 8/1 にはその構成部品の1つを入稿したに過ぎないわけです。 そして印刷会社と違い、これがいつ完成し、我々の手元に届くのかもはっきりと分かっていませんでした。 さらに、手元に届いた後に我々は部品を一つ一つ手で実装する必要があります。

異常なスケジュール感でただひたすら焦りが出てきます。しかしやることはあるのでやっていきます。

まず、最後まで継続して行った取り組みの1つに宣伝があります。

泥臭い話になりますが、そもそもコミケで頒布するハードウェアを1つ作るためには、本を1冊作る以上のお金が掛かります。 とても雑な見積もりですが、例えばとある印刷所ではオンデマンド印刷表紙カラー本文モノクロ24Pで20部10,000円程度だそうです。本は非常にスケールメリットが高いので、頒布する場合に20部しか刷らないケースというのはあまりないかもしれませんが、とにかく原価で配布するとして、1部500円ですね。 (ちなみに50部刷ると14000円程度になり、1部280円になります。) 一方で、今回の KnobCon のコストはこの10倍までは行かずとも、数倍のコストが掛かっています。 例を上げると、基板の製造単価だけで先ほどの本1冊分に相当する程度のコストが掛かっています。つまり、1つも売れないのと1つ売れたのですら大幅に損失額が変わってきます。 どんなに理想論を語ろうと、そこには有限のリソースがあります。無限のリソースが欲しいです。

ちなみに今回は僕の財布というリソースがある程度存在するものと仮定し、資金源はそれだけを使い、かつ僕が全損失を負うという話でそもそもこのプロジェクトが動き出しました。仮に1つも売れなくても、絶対に金で揉めるのだけは避けたかったのです。

というわけで宣伝します。Twitterでガンガン呟いてリツイートします。アキバBlog 様と 秋葉原PLUS (+) 様のコミケサークル宣伝企画にお願いをして呟いて頂くなどもあります。 あと、上のツイートに残っているかもしれませんが、 Twitter Cards も設定しました。これは2000回ぐらい表示されたみたいです。ちなみに、 @tofu_ya_moe のツイート自体はトータルで20000回ぐらいは表示されたようです。

とにかくそんな感じで金の話があり、頒布数、頒布価格を決めることになります。様々な思惑がぶつかり合い、最終的に20個のKnobCon を4000円で頒布することになります。これを言うと原価がだいたいバレますが、まあ政治的な思惑はさておき公開することにします。損益分岐点は17個です。つまり、在庫の85%を売らないと黒字が出ません。同人活動って難しいんだね……

そんなこんながありつつ、@akira が死にそうになりながら 3Dプリンタに昼夜張り付き外形の造形をしてくれます。ログを見ながら、彼は本当にいつ寝てたんだという気持ちになる……

ちなみに僕が書いていたファームウェアは 8/3 には完成したらしいです。 (コミットログを見ると 8/12, 13 にもコミットがありますが、主にチャタリングやコードのリファクタリングなどの微修正です。)

そして 8/6 に何をとち狂ったか説明書を作ろうと言い出してデザインを始めます。@akira には猛反発を喰らいましたが、単純に僕がやりたかったし、そういう製品に良い感じの説明書が付いていたら一目置かれるだろうし、最悪印刷費は自腹するから作らせてくれという話をしました。ちなみに端的にいうと、発注した部品が届かないので精神が死んでいたということです。

で、ここから連日朝になるまでデザインをしていて気が付いたんですが、僕は壊滅的にデザインセンスがないんですよね。 @akira にデザインセンスがあるのはさておき、@hogas という(彼も高校の同期であり、今は大学の同期でもあります) 素晴らしいデザインセンスを持った人がなぜか横浜県にはいて、とにかく素晴らしい指摘で僕の作ったデザインをどうにかしようとしてくれる訳ですね。いや、本当にこれはありがたかったです。せっかくなので最終的なデザインを貼ります。

[caption id="attachment_1546" align="aligncenter" width="620"]

最終的に完成した KnobCon のマニュアル[/caption]

僕はあまちゃんなので、これは今でも良かったものだと思うし、あの時のベストだと思っています。 そして、それが物を良くしようとする指摘であれ、自分のデザインを否定するような発言をされることが死ぬほどつらかったし、本当にこれを入稿する 8/11 までの数日は地獄のような日々でした。もう二度とやりたくないです。

これもおかしくて、僕はマニュアルという紙媒体の原稿データを印刷会社に 8/11 に入稿してるんですよね。何度でも言うんですが、豆腐屋のC90の参加日は3日目で、8/14 です。

 

8/11 といえば、パッケージのデザインもしてたようです。僕は @akira の原案を元にちょっと直しただけです。

[caption id="attachment_1548" align="aligncenter" width="251"]

KnobCon のパッケージ[/caption]

designed by ... のくだりはみなさんがよく見たことのあるアレです。

 

そしていよいよコミケ0日目 (8/11) には部品が揃い、その日から3日間掛けて 秋葉原の創造空間ナノラボに集い製作作業だったようです。@gurapomu が謎のスキルを持っていて、表面実装部品をはんだ付けするなどがあります。

これが他人行儀な表現になるのは、僕がこの製作作業に半分程度しか参加してないからです。だからdisってくれという話をしてるんだけどなあ。disられたけど。

当日のお品書きはこれ

[caption id="attachment_1555" align="aligncenter" width="226"]

豆腐屋 C90 お品書き[/caption]

見れば分かるのですが、基板が余ったので売りました。

そういえば回路図を公開し忘れた気がするのでします。

[caption id="attachment_1557" align="aligncenter" width="259"]

KnobCon 回路図[/caption]

ちなみにマイコンは aitendo で売っている PM32U4 で、ロータリエンコーダは Bourns の PEC12R-4020F-S0024 です。

3Dモデルはこれ (Thingiverse) です。ソースコードはさっき上にも貼りましたがこれ (GitHub)です。

当日

http://twitter.com/tofu_ya_moe/status/764615159054606336

kyontan: スペースに3人入るのがそもそもつらいぞい 2016-08-14 08:13:14 +0900

予想以上に狭かったです。サークルチケットが3枚あるのはどういうことなのか全く分からず。まあそういうことなんでしょう。 西34は予想通りではありますが、人が比較的少なく、空調もそれなりに効く関係上そこまで暑さは感じませんでした。

また、完全に蛇足ですが近くに大学の教授が配置されていたり(後でスペースまで来て名刺を渡された)、どこぞのTwitterで有名な先輩が配置されていたりしました。濃い。

http://twitter.com/tofu_ya_moe/status/764628009194106881

そして始まる戦争。

http://twitter.com/tofu_ya_moe/status/764664052777836544

突然の完売。

もう売れたときには何が起こっているか分からなくて、とにかく感動より安堵が先に来た気がする。

https://twitter.com/kemuduino/status/764743427820969984

このように比村乳業を4週する豆腐屋メンバーなどの存在も知られています。

そうしyr,豆腐屋の C90 は幕を閉じました。

後日談

そして翌日から僕はアレのために大阪へ旅立ち、と思った後には今度は九州へ向かいました。最終的に、僕が関東へ戻ってきたときには9月になっていました。夏も終わりです。

大阪(正確には兵庫ですが)では変人のメッカや1話で出てくる階段などに行き、九州ではオタク活動をしました。 そして打ち上げは例のごとく秋葉原で行われ、我々はお金に余裕が無いため天上ではなく地下へ潜ります。

https://twitter.com/sukukyon/status/778907390695575552

人生でも指折りの素晴らしいエクスペリエンスがありました。

https://twitter.com/sukukyon/status/778969414917951488

つまりこの打ち上げ代が出る程度の黒字が出たということです。 これは初参加がコミケでしかも本ではなくハードウェアなんか作ってしまったサークルの結果として、この上ないものだと思います。

人に恵まれ、機会に恵まれ。本当に、感謝してもしきれません。ありきたりな言葉ですね。

その後 C91 の申し込みセットを買ったにも関わらず申し込みに失敗するなどの些細なことがありましたが、それはまた別の話です。

最後に

ひとまずこれで豆腐屋の C90 の活動、つまり KnobCon は一先ず幕を閉じます。 いや、正確にはそこから先の認識はメンバーでずれていたりしたので、終わっていないのかもしれません。でも少なくとも僕はそう認識しています。

豆腐屋という名前も、メンバーが変わるならおそらく別の名前になるでしょう。次があるのかも分かりません。

でも、何らかのものを0や、0に近い形から作る機会というのは、なんらかのきっかけがないと生まれないでしょう。 逆に言えば、そのようなきっかけがあれば、そのようなこともあるのかもしれません。

これは KnobCon です

akira: KnobConがMicrosoftから発表された http://japanese.engadget.com/2016/10/26/surface-surface-studio/2016-10-27 10:48:18 +0900

結局我々はこういうものが作りたくて、違うところはあるにせよ、少なくともあの Microsoft よりは先にそのようなビジョンを具現化できたわけです。そしてその作りの精巧さを見れば見るほど、リソースを異常に注ぎ込んだ製品であることが分かってしまうわけです。

この記事は ぐらぽむ Advent Calendar 17日目の記事です。書き始めたのは 12/18 0:05[…]

Adventar::List 2016

雑記

この記事は MMA Advent Calendar 2016 12日目 の記事ということになりました。若干遅刻しました。一般に終電で帰宅すると日付が変わっていることが知られています。

MMA といえば花火なので、合宿担当をやった話でも書こうかと思ったのですが、あまりにも特異なケースすぎて全く一般化できない上に、多少書くのが微妙なラインもあったのでやめました。

また、Team MMA として SECCON 2016 Online CTF に参加した話は昨日書きました。 というわけで、宣伝も兼ねて Adventar::List について書きます。

Advenar::List というサービスを作った話は過去にも monolog に書いていますが、今年も少しアップデートしたので書きます。

kyontan/AdventarList だいたいこのようになっており、このようなマイルストーンがあります。

見た目上の変化はないですが、クローラがモジュールっぽく書き直されて少しイケた感じになったり、N+1問題が解決して4倍ぐらい早くなったりしています。特に最近は1日500件以上の記事が上がるので、それなりに速度が求められている気がします。

つまり現時点では何もやっていないということが分かるのですが、頑張ってやっていて、フロントを書き直そうとしています。

このフロントは確か2年前からそのまま使っているし、最低限の機能しかないのでそろそろ検索なりお気に入りカレンダー機能なりを付けようとしていて、せっかくだしモダンフロントJSを書きたいなあと思いつつやっています。

ちなみに開発が止まった最大の理由は、MacBook Air と盃を交わしたところ9万円が飛んだ一連の事象に寄るものです。データが飛ばなかったのが不幸中の幸いです。 皆さんもお気をつけ下さい。

一先ず、先行実装で雑に各ページに .json という拡張子をつけることでこのような JSON が返る API は実装してあります。後はこれを良い感じに表示するだけです。

という訳で、クリスマスまでにはおそらく完成するのではないでしょうか。

こんなサービスが存在するということで、暇つぶしにでもお使い頂ければ幸いです。

この記事は MMA Advent Calendar 2016 12日目 の記事ということになりました。若干遅刻[…]

SECCON 2016 Online CTF に参加しました (Write-up)

Programming

なんか直前に参加しない? と誘われたので今年もYouTube問題担当として参加しました。Team MMA で 700 Points, Rank: 107 (国内: 27) だったっぽいです。(暫定?) あと500 Points で国内予選でしたね。先は長い

MMA は大学のサークルですが、前回のチーム overflow +αみたいな感じでした。主要メンバーが運営にいるし、新たに入ってきた後輩はなぜか別チームでやっていたので、謎です。

僕は VoIP (Forensics 100), Memory Analysis(Forensics 100), PNG over Telegraph (Crypto 300) を解きました。とりあえずメモです。

VoIP (Forensics 100)

pcap が振ってくるので、WireShark で開いて VoIPツールで再生して終わり。これICTSCでやったやつや…… SECCON{9001IVR}

Memory Analysis(Forensics 100)

Volatility というツールを使えということだったのでその通り頑張ってみる。

strings forensic_100.raw | grep http をメモ ./volatility_2.5_mac -f forensic_100.raw dumpfiles --dump-dir dumpdir -S summary.txtsummary.txt を見るとプロセスの絶対パスが取れて、怪しい svchost が分かる (PID1776)

$ ./volatility_2.5_mac -f forensic_100.raw pstree
(snip)
.... 0x81f65da0:svchost.exe 1776 672 2 23 2016-12-06 05:27:10 UTC+0000
..... 0x8225bda0:IEXPLORE.EXE 380 1776 22 385 2016-12-06 05:27:19 UTC+0000
...... 0x8229f7e8:IEXPLORE.EXE 1080 380 19 397 2016-12-06 05:27:21 UTC+0000
(snip)

プロセスツリーが取れて、 PID 1776 の子プロセスが分かる

$ ./volatility_2.5_mac -f forensic_100.raw connscan
Offset(P) Local Address Remote Address Pid
---------- ------------------------- ------------------------- ---
0x018c3cc8 192.168.88.131:1077 180.70.134.87:80 3676
0x0196f6a0 192.168.88.131:1122 175.126.170.70:80 3676
0x0233bbe8 192.168.88.131:1034 153.127.200.178:80 1080
0x02470238 192.168.88.131:1036 172.217.27.78:443 2776

PID 1080 がアクセスしてるのが 153.127.200.178 だと分かる

上の strings でアクセスしてた URL のドメイン部分を全部 153.127.200.178 に変えて、curl

echo http://153.127.200.178/
curl -I http://153.127.200.178/ 2>/dev/null | head -1 | grep -v 404

こういうのを書き連ねて、 200 OK が返ってくるものを探す

(snip)
http://153.127.200.178/entry/Data-Science-import-pandas-as-pd
HTTP/1.1 200 OK
(snip)

後はアクセスして取ってきたファイルを開く

$ cat Data-Science-import-pandas-as-pd [/Users/kyontan/Code/ctf/2016online]
SECCON{_h3110_w3_h4ve_fun_w4rg4m3_}

PNG over Telegraph (Crypto 300)

待っていました YouTube 問題、と思ったんですが、50分を超える動画で最初から心が折れる。 とりあえずダウンロードして、ffmpeg で 1fps で連番画像へ変換。

mkdir tower; ffmpeg -i SECCON\ TOWER\ 2016\ -\ YouTube.mp4 -vf fps=1 tower/out%04d.png

これ、最近授業でやった気がするなーと思いつつググルも、一般的な手旗信号ではないようで少し戸惑っていたら、 @f_dita 先輩が最初のデモから対応表を作っていたようなので拝借。

そもそもパターン数が26+αあって、コマ数がトータルで3000を超えていたので人間技で分けるのは無理だと判断し、ImageMagick でごにょごにょするも、動画内の棒がブレるわ、次第に少しずつカメラがずれている? やらで全く精度が出ず、ここまで3-4時間近く。

[caption id="attachment_1463" align="aligncenter" width="620"]

分類器の様子

ImageMagickで頑張って自動分類を試みていた形跡[/caption]

最終的に心が折れ、手動分類アシストツールを書きやっていくこととなります。 そのようにして、160行のSinatraアプリケーションがここに爆誕しました。HTMLを文字列として扱って結合する簡単仕様。 そして去年のごとく、突然 @hogas を呼び出し、ひたすら朝まで単純作業。

それに伴い少しずつ分類器の機能が向上され、再分類(間違えた画像のやり直し)や大分類(軸となる棒の向き)→小分類 などの仕組みが整いスピードアップ。

[caption id="attachment_1464" align="aligncenter" width="620"]

手動分類の様子

二値化して見やすくしたら骨を分けている気持ちになれた[/caption]

これはSECCONではないと思いつつやるも、結局どのようにしてフラグを得たら良いのか分からず、更に混乱するなど。 問題文でPNGに戻せることが示唆されているので、何らかの方法で元に戻るはずですが、そもそも動画の冒頭で文字の対応が示されたのは20パターンほどに過ぎず、全部で何パターンあるのかも良く分からないままひたすら分類していきます。 最終的に32パターンになるのですが、途中で分類を誤ったりなんやかんやあった結果、36パターンの分類が完成し、Base36という誤った道を踏みそうに。答えは Base32 でした。

気合でバイナリに戻したら、馴染み深い IHDR の文字列が見えて感動しつつ、ここから更に間違えた分類画像100枚以上を探しつつ、気合でCRCを合わせて行きます。

最終的に、IHDR や PLTE, tRNS, pHYs, IEND 領域は CRC32 がマッチして、IDAT の inflate がチェックサムでコケるところまでは上手く戻せました。

input = "rfie3rynbinauaaaaagusscekiaaaaw5aaaafwqbamaaaabvebthaaaaaadfatcuiuaaaahzzzz5lwmz4uaaaaacorje3uzzzzellx1haaaaaclqjbmxgaaabmjaaaalcia2fxl1zqaaabwyjfcecvdyttw2uqms1i2ayrsrkvsqclbjlpxslmiavl5bus3zuqagz3xdt0oq15ci3kjuy0gjjknzzyjqobyha3dqobyha3dqobyhb3cpxdstrxdzt0zu1zzi5dwzc11jzvydx44gx2t0zfz3d4244rhdlcpir50u2mcaob1zrddyzj4bw11np1v02y5u1lcdrzjwouzjnzqobyb41geohcxsxdb3fdz3c0sejzsd2nbcye40jeapcdi3dt1g13gp2giw23z5jta0dfrt1ih55btxvmhxa3hqhzdpwdrl4whjsfrdqkzc2gljdeob0zdp1d55oe2uai1mnd4wxifhag344rpcm0rrbuha2pqr02i1dz2pd1bmbqobgzrhgrbqmzg00w12lpxgk1yn5c2obvnjwj4quha3pqjx2t2g1bmaq3rvpav5dmynuv2wlkuoppsrwidqodyl41hizwxhrl5lkz0ssvqdjwyzuvtev3k2dh05yha3d2zbdhljc1h4kj5ynk0100gw2xb5hz2jtuv2qobyg41gj2k3kl4jhftp2vfrr40fyme1l2vhc1dgzbpcnqgbyf41ewivxoh2pkn0qn5zpztpyllw33nzxoe2kqbhyda3cnzbepo3nylrfs0zjchnxcqyepu4krkupr1dqkbyh41evurfvlpar4ujdekpk34e1211lzzxacaob5zb5n5t0muzhmbs2urt2yr5524npkwukyot4z4xaiobyzbhtyzrj1okx5fv0g53voxfjfwqupsrj442n0ku0v4nyda3d2za4v0bvhnf5fpbv2lr3hvdndispkg5vi1byhatpyntgnwgusdvdnvh433x0rovk2r1lxzj0wi3dqohyi31nuunlupdqruvpo2gtp4lpzot4u2z053g3dqobg4qsfjvh1cz4jfy1kvg4u55givzw4acoobyzbdlyo21oo4wunlu5zmafr3tlqla0c0k4o5zwbihazpysw0wtz0feuyiyzznmxvk312gcpeyj4khmfy3dr1cwpvsvjt5mhl44404l4zuztj25ysxgf1vmmyldqohyl11yvxrlskky5fh02ncwlszjofoaffnleoiyha3d2zbzuvcoit5pxvqazyokxh1235ektpk3rd1tm4qibyh41cupelmkyzw40xl4t3omhlcvwmlwwq40zkf5klqodye4oekmt12pq5p2v3yh4dedtfui0pe5gu4fs1saeha2pqpc2u4gxeolww4j2lngsflw0xohl2byj1ayha4pymzf53hjbupoen5x4noc5beplaq4in2xb0ogq3dr1fz3o2ihvn0wxe34vlatswxkinpxmp5hxsomd55fqgbyf41g3kbgwk2ngbtfpupxwcndg3yzhkdaqdqpx3bmzgpntd4p0sfgwa441hppwmq2lsk2janbyhl3e1ptgpbdlnat2w21ukhm1kv4dpclpzp0p2vauob0zb4hsxvzi0gywexxzltim5ilmyvnrmwlk40hsly3q4xaadqpx3cvntfnn0ytnffkjc4x5trs44454sgucu4kx2m2byfa3d2zbshssd5wir0f13l14ln1xfcpe2w5j0d5rdnsda3dqjx3g3vdlk5xcjpcok1wypokpwgnlil4khjqkbyh41d5vruumwors0fu024zgkot100vjtrk34lx3ga3dv1cnlvhsmf1z5wutp0vkw2pwixvctl5j4iobypa4zrvkkch05giwwq4lmwqrf1ntwih21ly4fv1eiobyha4pylyyefx2tombpdl1lte5jlg3p0vilw5xmcla3dqnx3knm50tjlqnv12pwmz152ponnmafzs4iobyha4zrb4vtrlcxl20oqj54rxsuv5lrxcvdphm3dr1dgzqjp3otwo022qlrx0tlfiz3yfff4znfbyda3dp1eop2klbgoufqi2w3m5vqkyczlsjoagpxmuda3dqlx3dy020t0gde3vngk0d1u2vnkke1pnpf0a43kp3aha3dz1dwp2tvxklwknk55dlv2fbs135r0ix3pxbysdiob0zc44q1showz05sgn1moezliktgbku3lw55gmt3mo1ceobypaxlyx0mbl5ik1cl2oo4kdh40wwkxx5zoki1gbfyhb3fnxdmwqicfgdlzijcvkyvqz03h5yc31ev55ycxa3hqlx3n0qp5mxolk1nn4q1bwtkvmvtw22upeu5dqohys23m0lbxg04rx114zs3u31ehzki34jzihpotha3hpkbiha4pyu1xnmdt35ww31ht1f2epymzjf2x0phwwhamdqjx3ek1a54ufwoadzvikpo5iorjtplsm24eonyhb3dnzaef0m00jfmzvkatlu0xxdn0zpjueaaob5za4p23twus04k0ildq2nugd0dytpfsxgli22y1c33dr1cxpcgsax512lsmyq1h243s4kzmjmn3vtgayhazpyuj2yhgmv0nltaz01spccxf44kpn20mowlyodyh51h3kc2i43lddhvevviv1r4hqp5jkzkbtzvxqzlbi3dq1bg4yqr2gpw25vc4v3l4aan2xgx2zvxixhyobyg41eols0ong5koxbvretcf52ochl1nwbihazzqwpcif3ulfl3oixqvyulo5vky2ir45yag521jyha4pyplj3kmtoranly3wmn2mjoworm1wunnjcmx1adqobzzb4hvdqn3x5m1fzi3xnp4tm4y0ybhxfo5lfxyha3d2zbz15eaqobyha3dqobyha3dqobyhp3mz3apaujsxhmrfz0maaaaaacjivhejlscmcbaaaaaaaaaa"

s = "abcdefghijklmnopqrstuvwxy054321z"

x = [input.chars.map{|x| s.index(x) }.map{|x| ("00000" + x.to_s(2))[-5..-1] }.join].pack("B*")

# "\x89PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x02\xDA\x00\x00\x02\xDA\x01\x03\x00\x00\x005 fp\x00\x00\x00\x06PLTE\x00\x00\x00\xFF\xFF\xFF\xA5\xD9\x9F\xDD\x00\x00\x00\x02tRNS\xFF\xFF\xC8\xB5\xDF\xC7\x00\x00\x00\tpHYs\x00\x00\v\x12\x00\x00\v\x12\x01\xD2\xDD~\xFC\x00\x00\x06\xD8IDATx\x9C\xED\xDAA\x92\xF2:\fFQUe\x01,)[\xEF%\xB1\x00\xAA\xF4\x1AK\x9F\xA4\x00o\xF2\xE3\x9E]\x0FhH\xE2\x93Ld\xC9J\x9B\xFF\xE10ppppppppppppp\xF0O\xB8\xE58\xDC\x7F\x9E\x7FO\x7F\xE8\xD0\xED\xF1{\xC9\xFDp;\xEFf\xBFg\x9F\x97\xFC\x1E\xFB\xBD\xC4\xE3X\x9E\x88\xEB4\xEB\x04\a\a\xDF\x88\xC7\x8F\xA7a\xB7\xBC\xD7\xFA\xB9\xEE5O,C\x8F\xD3gS\xE9o\xE0\xE0\xE0;\xF1\x88\xE3\x8A\xF2\xB8\xC3\xC2\x8F\xFC\x16dD\xFEC\xEBB,\x13yI\x00\xF1\r\x1C\x1C\xFCop\xCF\xE9\x91n\xF3\xFAL\xC1\x91\x963\xF2\x0F\xAD\x06w\xAB\x0Fpp\xF0?\xC6\xFB\x0E+\xDD\x8E\x99\x16#\x82\xBE.\x99i\x19\x1C\x1C\xFCo\xF0\xF5\xA7\x13\xB4\x02<\xC6\x8Fv\xBA\np\e\x9B\xDC^&f1\r\x0E\x0E\xBE\x11\xCFQ\xE1\xFF\xAF\x1F\x82\xC0\xC1\xC17\xE2sD0g\xCD\x9C\xDB\xDD[\xEEe{\r\xD0\xBA\xE0\xD5\xA9\xB2w\n\x1C\x1C|\x13~\xCF\xA6\xF0X\br5x+\xA1\xB3\r\xA5{e\xAA\x8E{\xE5\e pp\xF0\xBD\xF8\xE8\xFD\xAEx\xAFKW\xF3)V\x03M\xB1\xFAVd\xAF\x15\xD1\x9F:\xC1\xC1\xC1\xF7\xE1\x19\xD6\x91x\xFBRu\x86\xAB>\xCEMn\xDC:?\xFA\x99\xD2\xBD\x83\x83\x83o\xC6OU\xC5/i9f\xFE\xD4\xB1\x8E\xF2\\0\x9E_jqxf\xF8^&\xC0\xC1\xC1w\xE2Y\x15\xBB\x8F\xD7\xA9\xB9\x83u\xF7\xFEo\xC2\xD7nq\xBF\xBB\x89\xD5@'\xC0\xC1\xC17\xE1#\xDD\xC6\xE1q,\xB3\xF4\x88\xED\xB8\xA1\x82>\x9BTUG\xC7\xC3\x82\x83\x83\xEF\xC4\xAD\"Z\xAD\xE0\x8E\xE8\x91\x91OW6Ow\xDE_\xFFp\b\x0E\x0E\xBE\x1D7S\xCB)\xF3\xB02\xED#>\xE2:\xD7v\xD7\xAA\xD4V\x1D=\xFFw\x02\x1C\x1C|'\x9E?\x14\xF9\xCA\xBE\x8B\\\x9B\\\xAB\xAET\x96\xD0\xA3\xE5\x14\xEF}nUL\xD7m\xC0\xC1\xC1\xF7\xE0\xDDr\x1A\x9D\xA5\xD1^\x1A\xF5q\xE1\xEA6\x8D\x12z\x8D\xAA\xA3\xC1\xC1\xC17\xE1\xB33ljHu\ej}\xF3\x97\xCC]Uv>]\xFE\x9C\xD9\x1C\x1C\x1C|#\x9Em(\xD5\xD1\xE3\x84iW\xBB\xA6\x9B\xF6\xB7\xFD\xD3\xDD;\xFC\xEB\x86\xE0\xE0\xE0\x9Bp\x91SS\xF8_\xDAK\x8F*\xA6\xDD5\xA3\"\xBF\xB6\xC0'88\xF8F\xBC;\xBEs\xB7j5t\xD7\xD8\x02\xC7\x93\\\x16\f\x8B*\xDB\xB5\xFB\x05\a\a\xDF\x89[6\x9F\xF2RS\b\xC7\xFE\xD6^\xAA\xE7\xBAa<\x98N\xD4v\x17\x1C\x1C|+>\xB2\xAAg\xA6\x1D{\xDE\xF3\xB5\xEF\xF4\xFC\xD3\xDDbW1}V3\v\x1C\x1C|/\xDE\xC5o\x15\xC9J\xC6\x8A|\xF5\xA2\xB2\xE5\xF4\xB8\xAE\x01J\xD5\x91\xC8\xC1\xC1\xC1\xF7\xE1\xFD*'\"z}\xEB\x00\x7F\x0EU\xCF\xEE\xF3DT\xDE\xAED~\x9B7\x04\a\a\xDF\x85G\x91lV?m\xE6\xEB\xDC\xF8\xE6\x1Db\xAD\x98\xBBZ\e\xCF\xD4])pp\xF0M\xB8\x8Ad\xFD\xD7\xC3O\xEDy\x83\xECd\x1C\xCBDe\xE4\xD1\xA9\xB2\xCB\xD2\x01\x0E\x0E\xBE\x0F\x17i\xB3\\\x8E]\xAD\xB4\xF5m4\x8A\xBBf\xEE:\xFA\x1C'\xC0\xC1\xC1\xB7\xE1\x9F.\xB8t\x86\x8Fq\e\xAB\xED\xAE\x16\x82G\xAC\x10\xDA\e\xDB\x87.488\xF8\xBF\xE3\xBA\x83\xD5\xB9\xB5\xC9\xCD\xD5`\x9C\xADu!\xAF\xBB\x1F\xA3\xDEN`\xF5\xA2\xC0\xC1\xC1w\xE3qA5\x95\xD6\x983+\xE8\xFB\xD8M\x19\xB9\x8F\x9DC\x04\a\a\xDF\x81g\xCC\xF6\xCC{~dSX\e\xDF\x8E\xF7\xD9\x90\xEA\xE4\xAE\xA4\r\x0E\x0E\xBE\x13\xCF\x99\x9E\x11\xAD\xA0\x9Fm\xDFQGg\x95]\x8D\xE2[\xFE\xFC\xBF\xB5\x05\x1C\x1C\xFC;<\xAF_\xA3&\xC5\x89{\xFDsC4\x85\xB3\x15lYe\xABy<\x97\x8ECw\x00\a\a\xDF\x82\xABfV\xB78\x9BJU$[\xBE\xA7\x19o{\xD6\xE4j\n\x9BU\xFA\xCE\x87\x05\a\a\xDF\x86G\x94\x87\xAB\"9/\xB8\xBFmm\xF5\xCA'\x93\xB6\xD2r=Dm\x90\xC1\xC1\xC17\xE1\xB9Q\xADZ\xB8\x92\xF19^\xB6\x1E\xE5>\xC6j\xD0\xBD\xA8\xE9\x82\x83\x83\xEF\xC3\xD5cJ2\xCE\x8C\xB2Zg\xBB\xF9\x94\xE9\xFB9\xAAg\x15sk\xBF\f\x0E\x0E\xBE\x13WS\xC9\x85\xF7\xF5jM\xF9\xAA\xAD\xD7\xD9\x17\xA8\xA6\xBD'hpp\xF0o\xF1\xAA\x94#\xE7FE\xAD\r\xAD\x96\x84K\xE6\xCE\xC8?|\xBCl\xB5\xF1\x10\xE0\xE0\xE0\xDB\xF0\xBC`\x85\xBFf\xE6\x05\xE3_\x972i+7\x1F\x9A\xA1v\xD5\xD8%\x83\x83\x83o\xC55\x9A\xCC\xD2\xB86\xBE\xEB\xEC\xCF\xFB]{\x9A\xD6\x00\xBF\x96\xD0\xE0\xE0\xE0\xDF\xE2\x1D\xD6qX\xAE\xBE\xE5\xD0N\xB7\e\xCA\x95\xD2\xE3qTo;88\xF8f\xFC\x12\xFE:vv{\xD8.7\xCC\xD6T\x7F\x98)K\xBF\xB4\xA1\xC0\xC1\xC1\xBF\xC4s\xFA\xA5\x84\xCE\xA1`\x8E\xDB\x8C\xD5`\xAC\v\xEB\x92\\\x03>\xEC\xA0\xC1\xC1\xC1w\xE0\xF1\x9E\xE6y0\xC9\xCA\xB4\xCA\xC8\xFDN\xD5\xAAQ<\xF6\xBC\xB9\x06\xF8\xA7\xF0\a\a\a\xFF\x0E\xCF\xEC\xEBu.\xCAj\xB5\xA1\xAE\xBD(e\xEEj9E\xF8\xFB\x87\x12\x1A\x1C\x1C\xFC[\xDC=#\xBA\xDF\xCE\xA4f\xF9\x8E'\xD6\x85L\xC1U8\xBBkFd\xF8\xC7xDpp\xF0]x\xBEX\x15\xE9\n\xF0\x97\xD7;j\x19\xF7\x9BYW\xBE\xBE\xE5#\xC6\tpp\xF0\xAD\xB8\xD9h E0\xD7\xF4$UV+\x0F\xE7\x87\xD6\x05\xCF\x12\xBA\xD6\x05pp\xF0]\xF8\xDC\xC1\xFAe\xDC\xB5y\xAD\xDC<\eMUegn\xF6\x8F%488\xF8\x97x\xCC\xAC76w\e\xFB\xDB\xFC\xB9Nx\x87\xFA\x91\xCD\xA7\xE8;\xDD3\x83\x87z\x82\x83\x83o\xC5=v\xB0s\xE6\xADnx\xF3\xF1zG\xE1\x9FI{|\xBC\xF6\xB1\xC0\xC1\xC17\xE1\x15\xE0kt-\x9C\x01\xFE\xA8S\xDD\xA4:)\x9B\xD7&wdspp\xF0m\xF8\b\\\xB39IY\xFA\xA8\x13]3{\x8D\xB9\xFB\xD3B\x00\x0E\x0E\xBE\r\xBF\xBC\x9D\xA9,\xEDYB\xC7\x0E\xB6\x86\x1EG\x89\xBC\xB2\xB9\x96\x8E\xF7\x1E\x1788\xF8Wx\x8D _^\xEA\xE4\xCCC\xC7\xEE\xF9-\xAB\xECK\e\xCA\xCC\xC0\xC1\xC1\xF7\xE2\x89\xEE\x0EfW-\\\xC1\xFC\xFAO\x10\xAE]\xEDOor\xC7Yxp\xF0}x\xFCP\xBA\x8D\xF1c\x19\xEAJ\xD5\x15\xF4vx?IW\xD4\x19\xFE\xB7\x87\xD6\x14pp\xF0M\xBCB=3\xED\xDDT[\xAF\x17\xB0\x01\xBD\xB9\xAF\xDF\xD6\xE8\xB9\xF0\xE0\xE0\xDB\xF1\x1C\xB9e\xCD6\x94\xEB\x86\xB1$\xC4]u\xC2:\xFC\xDB\x05\a\a\xFF\v<H/(\xB2\xAF\x8EE\xE1\\Qn\xD5U\x8E\xA2;\xD6\x00mw\xC9\xC1\xC1\xB7\xE1\xEBO\x14\xC9\xBA j\xF1\xCB1\xBDb]gE\x9E\xB5\x1A\xD4\x89\x97\xF0\a\a\a\xFF\x0E\xCFQ\xC1\xBC\xBE\x99\xE2\xFD\x1C\xBB_\xB9\xB3x\xCE\x02{\x95\xDAYo\x83\x83\x83\xEF\xC3\xFFh\x80\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\x83\xBF\x8C\xFF\x00\xF0Q2\xB9\xD9\x12\xFF,\x00\x00\x00\x00IEND\xAEB`\x82\x00\x00\x00\x00\x00\x00\x00"

圧縮の展開に失敗するため、普通の Preview.app などでは見ることができませんでしたが、とりあえず Chrome に投げたらある程度の断片が拾えて、QRコードだったので、なるほど〜といいつつ画像をチームチャットに投げたところ誰かのアプリが良い感じに読んでくれました。

SECCON{SEMAPHORE_LINE_IS_THE_1ST_TELEGRAPH_SYSTEM_IN_THE_WORLD}

7番目ぐらいに解けた気がします。これ、多分うまくやると自動分類できるんですが、それでもそこそこしんどい気がしますね。結局PNGは最後まで戻せるのかどうか……

普段 Web 系の人間なはずなのに全く分からなくてしんどいし困りますね。でもバイナリにも強くなりたいですね。やっていきましょう。

なんか直前に参加しない? と誘われたので今年もYouTube問題担当として参加しました。Team MMA で […]

alucky0707 について

雑記

この記事は ぐらぽむ Advent Calendar 2016 10日目の記事です。 9日目は はしけむ(@kemuduino) の KnobCon前史(仮) でした。 僕がなぜか勢いで C90の申し込みセットを買って申し込んだばかりに豆腐屋というサークルができました。 そしてメンバーを振り回したということが半年ほど前にあり、彼もその振り回された一人です。KnobCon のオリジナルアイデアは彼によるものです。その節は本当にすみません……

結果として最終的に KnobCon というものができ、実際に頒布できたのは奇跡だと思っています。 今日はそれについては何も書きませんが、そのうち、誰かが @kyontan はクソみたいな話をしてくれるでしょう。

というわけで、オーストラリアの首都はメルボルンです (@alucky0707) 、つまりはあらっきぃについて書きます。日本語が破綻するのでこういう表示名はやめてほしい。 オーストラリアの首都はキャンベラだってば〜!、とあべにゅうぷろじぇくとの曲でも歌われていたので、僕は知っていましたよ。ええ。

彼について語ることは大してないので、ここからは早足で進めます。ごめんね、でも未だによくわからないんだ。

彼は高校の後輩なのですが、情報・コンピュータ愛好会という部活のような何かに後輩として入ってきたことで彼の存在を認知することとなりました。 この情報・コンピュータ愛好会というのは、Advent Calendar のタイトルでもある、ぐらぽむ (@gurapomu) と出会った場所でもあります。まさか今も交友関係が続いているとは、あの時は思いもしなかったでしょう。 最近は僕が現在所属しているMMAと関係があるMCCの部長もやっているようで、とにかく不思議な縁があると思います。これからも迷惑をかけるとは思いますが、どうかよろしくお願いいたします。

 

そんなあらっきぃとの出会いについて、今となっては記憶がおぼろげなので、あまりイベントスチルが思い出せないのですが、確か Haskell を使っていたし、SKK使ってたし、vim使ってた気がします。ただの変態ですね。

あらっきぃと某人の違いが分かっていないので、ごっちゃになっているかもしれませんが、彼はプログラミング言語が好きみたいです。Quine という、ソースコードと同じ出力をするプログラムが特に好きみたいで、会う度に色々な言語で書いていた気がします。ある時は、なんだったかのスライド発表を Haskell で書いてきたことがあった気がします。Haskell で、というのはスライドの内容がソースコード中に埋め込まれていて、コンパイルして実行するとスライドが表示されるやつです。オタクですね。他にもプログラミング言語作ったりしてた気がしますし、IVRCなんかも参加していた気がします。僕の数倍、いや、数十倍、数百倍は技術があるオタクです。その他にも色々エピソードはあった気がしますが、割愛します。

そんな彼ですが、僕とネット上であまり会話してくれない気がします。これは僕が一方的に思っているだけかもしれないですし、単純に機会がないだけかもしれません。特に話すネタがないだけかもしれません。 最近、たまたま彼と会う機会があったのですが、「新宿にいませんか」「なんかいそうなので行きます」「n分後に着きます(原文ママ)」でした。雑ですね。どちらが雑なのかはご想像にお任せします。僕だよ。

更にその後も、「昼食いきませんか」「僕食べてきたところで」「は???」となり、そのままロッテリアに行きました。うーん……会話が成立しないですね。難しい。

まあなんか、面白いステッカーくれるし面白い話してくれるしいい後輩だと思います。 ただ、Twitterでもあまりみないしどこで生きているのか分からないし、将来どうなるのか一番分からない人間といっても過言ではないでしょう。

そもそも、あらっきぃの他にも後輩にはいろいろと人間性という気持ちになる人が多かったですし、彼らもどのように生きていくのはというのは、趣味が人間観察(笑)の私としてはとても関心があります。そんな感じで、賑やかな愛好会だった気がします。楽しかったですね。

今は会員がいなくなり、事実上団体としてはなくなってしまったのが悔やまれるところです。 また、いつの日かその意志を継ぐ人が現れることを期待しています。

明日はタイトルになった彼、ぐらぽむ (@gurapomu) が書いてくれるようです。 ところで17日目のネタがないので何か頂けると助かります。よろしくお願いいたします

この記事は ぐらぽむ Advent Calendar 2016 10日目の記事です。 9日目は はしけむ(@k[…]

学生エンジニア?についての私の考え

雑記

これを読んで思ったことがあったので、適当に呟きやらなんやらをメモるだけです。

つまり学生として技術に興味があって、僕はどう考えてどうやっていくかという話です。

(最初、 「学生がエンジニアになるためにどうやっていくかみたいな話 」 みたいなタイトルで公開したんですが、主語が大きすぎたので変えました。)

 

そもそも、僕はあまり具体的なアイデアとかを持って物を作る人ではない。 なんかこうビジョンを持って作りたい物とかがそんなになくて、でもプログラム書いたり勉強するのは好き、という感じだった。端的に言えば技術寄りとでも言えばいいのでしょうか。

なので、早々に (高校卒業前) そういった技術系のアルバイトを見つけられたのは良かったと思っています。 (蛇足ですが、この会社は最近辞めたエントリを書いた会社とは違う会社です。) で、そもそもそういった技術系のアルバイトをしたい場合に、どうやって会社を探すのかというのが最初に問題として上がってきます。 Wantedly のようなサービスもあるにはありますが、即戦力であったり、学生であっても技術力の高い層を狙っているという感じがあって、企業での開発経験がないような人間が突然入って、1から(もしくは0から)成長できる会社というのはやはり少ないのでは、という印象があります。 もちろんそういう会社もありますし、そうである実例も、そうでない実例も知っています。

で、個人的な結論としては、やはり知り合いの伝手を頼るのが良さそうな気がしています。少なくとも僕自身はそうです。

で、そういった知り合いを作るためにどうするべきか、というと結局コミュニティに入るのが手っ取り早いのだろうか、というところがまずハードルだと思います。

とにかく一人でそういう輪に入っていくのは難しくて、誰かに手を引いてもらいたいという気持ちがある。 そりゃそうで、人見知りはともかくとして、そうでないとしても知らない人しか居ない場所に突然飛び込んでやっていけるなら、それはもうある種の才能みたいなものなので、それで良いと思います。

僕は大学でそういうサークルに入ったり、そこからとある大会の運営をしたり、Twitterでどうでもいい呟きをしたりしています。

きょんたん (@sukukyon) 今僕がいるコミュニティってなんなんだろうなあ 2:03 AM - 20 Nov 2016

xxxxx

オタクコミュニティ 2:03 AM - 20 Nov 2016

きょんたん (@sukukyon) つぶす 2:03 AM - 20 Nov 2016

で、これは一部の業界の話だと思うのですが、Webなんかだと、最近の流行りは大規模開発にシフトしている気がしていて、一介の学生が趣味で作るようなものがそんなものを必要とするか? というのは疑問だったりします。 なので、そういったものを個人的な活動をやっていて触る必要があるのかとは思っていて、いくらOSSで自由に触れるからと言って、別に必要ないものは触らないよな、とは思いますね。(技術に興味があるなら触ってるんだろうし、そりゃそうなんだけれど……)

なので、結局そういうものに振れつつ、実際に役に立つものをどうやって作るかと考えると、自分で何かそういうビッグな物を考えるか、OSSの活動に貢献するか、バイトをするか、みたいな感じになります。短絡的な思考ですね。

 

結局人が作ったものを読んだりするのが自分の骨となり、肉となるので、だからみんなOSSのコミュニティに入れって言うのはまあ結論から逆算すると合っているんだけど、そんなのいきなり飛び込めるかみたいなのがあって

http://twitter.com/sukukyon/status/800025067983732738

なので、結局みんな「やるだけ」という話になります。

 

http://twitter.com/MysticDoll/status/800028076839051264

結局、この話はいくら遠回りをしようとこういう結論になるし、僕としても分かってきたので、これはもはや自明として扱うしか無い気がする。

そういう環境へ手を引いてくれる人が身近にいるならそれは恵まれているし、そうでない人は広大な海に突然放り込まれることになり、それがいわゆる「環境のギャップ」になるわけです。

これを読んで思ったことがあったので、適当に呟きやらなんやらをメモるだけです。 つまり学生として技術に興味があっ[…]

夜の合同説明会 #cdgh

雑記

つまりはインターネット同窓会

https://twitter.com/sukukyon/status/799557643924860928

クラブ的な場所で、ここがギロッポンかという気持ちだった。

https://twitter.com/sukukyon/status/799597911554158593

https://twitter.com/sukukyon/status/799598190584471552

酒と飯を頂きつつ、いい話を聞いて「よい」「良すぎる」「いい話」と合いの手を入れていた気がする。

https://twitter.com/sukukyon/status/799609300452708353

ちゃんと各社のことが分かったのは良くて、将来を考える上でプラスにはなったという感じがある。

明日になったら多分忘れます。いっついんたーねっと。

来週もあるみたいなので行きます。

つまりはインターネット同窓会 https://twitter.com/sukukyon/status/7995[…]

駄文を書くこと、文章をかくことについて

雑記

先ほどの記事でもあったように、僕は駄文を書くのが好きで、このようにダラダラと近況であったり、何か一つの物事についてとりとめもない、結論もない文章を書くのが好きです

というのはつまり「僕はポエムが好きです」と表明するようなものなのですが、ポエムみたいなふわふわしたものではないと思いたいし、思っています。つまりポエムという単語の語感が嫌いです。

多分この先も延々と取り留めのない話になるので、読んでいて眠くなるであろうことを先にお断りします。

なんで好きなのか、というのは単純に自分の性格に由来するものなので、あまり具体的にこう、と説明することができない。

ただ、単純に自分が思っていることを共有したくて、逆に共有もされたいのでやっている。

僕は基本的に人に何かを説明する時にそれに付随した色々なものを一緒に説明してしまいがちだというのがあります。 それはこれまでの記事でもある通りで、ひたすら「そういえば」「ふと」が続いたり、括弧による注釈が多かったりするのはそういうことです。 これは、僕が何かを伝える時に、「バックグラウンドとしてはこんなことがあって、こうだから、いま説明してるのがこうなっています。」ということを表現するための手段です。

僕が基本的に物事を結びつけて考えているので、それを相手にも伝えたいというのはあるし、そうした方が理解の助けになるのでは、と思ってやっているだけです。

ただ、これをすると往々にして、結論を見失ってしまいがちで、「で、だから?」となってしまいガチなのが難点。まだまだ修行が足りてないですね。

聞く側の経験としては、色々な知識が入れどもやっとしたまま終わるよりかは、情報量は少ないが結論がスパッと手に入る方が望ましい場合もあって、そこはケースバイケースなわけですが。 ただ、前者の方が圧倒的に重要だと僕が思っているのでそうしているというだけです。エゴです。

で、このようにして情報量を増やして会話したり文章を書いていると、自然と「この人はこういう考えで書いているのだから、これはこうなんだろう。」「前に言っていたこれがこれと結びつくので〜」みたいなようにして、こちらの考えを汲んでもらえて良い感じになるのでは、というのがあります。

これは言うなればレコメンデーションエンジンみたいなもので、好きな本、フェチなんかを共有することによって、他人からどんどん情報が入ってきて幸せになるというあれを一般の会話に応用したようなものでは? と思っています。

あとは単純に物を書く練習です。日頃 Twitter 以外で何もアウトプットしないので、たまには文章を書いていたほうがまだ頭が回って良いです。

ここまでが僕が書く理由です。

で、上の理由の裏返しで、僕は他人が何かを話し/書いたときに、そこに至ったバックグラウンドを知りたくて、なのでこのように駄文を書いて欲しいと思っています。それだけです。

ちなみにここで、「趣味は人間観察です」、というと途端に胡散臭くなることが知られています。

先ほどの記事でもあったように、僕は駄文を書くのが好きで、このようにダラダラと近況であったり、何か一つの物事につ[…]

2016年11月あたりの今日このごろ

雑記

こんばんは。

そういえば、僕は遠視のようで、5年以上前に作った眼鏡を気まぐれで月に1日ほど掛けています。 近視用の眼鏡を掛けるよりは遠視用の方が見えるので、まあそういうことなんでしょう。 日頃から画面へかじりつくようにPCを触り、暗い部屋で読書をする20代の人間が遠視になるんですね……

20代といえば、先日の9/19 に20歳になりました。誕生日プレゼントが沢山届いて幸せを噛み締めています。ありがとうございました。 人生で初めて飲むお酒が美味しくて、梅酒やら杏露酒やら柚子酒やらの果実酒やらカルーアミルクやらクラフトビールやらウイスキーやら日本酒やら飲んでいてとても美味しいので良いです。 お前は絶対に酒に弱いはずだ、と周り言われていたにも関わらず、何故かお酒がそこそこ飲める体質のようで、嬉しいような、飲んでもそんなに酔わないので微妙なような、なんとも言い難い気持ちです。

近況については以下の記事にもずらずらずら〜と書いたので、こちらも併せて参照して頂ければと思います。

CloudStack の VM を cs コマンドでデプロイしようとしてハマった Dentoo.LT #15 に登壇した 第6回 ICTトラブルシューティングコンテストの運営委員をしていました サイバーエージェントのインターンに行った バイトを辞めました

その後

で、その後の近況ですが、バイトを辞めて暇になった時間が、睡眠 / 積ん読を崩す / 紙芝居を眺める 時間に充てられました。

人から借りた漫画雑誌 (まんがタイムきらら系列誌 / まんが4コマぱれっと / コミック百合姫 / コミックキューン) および漫画が100冊以上積まれている状態でした。これが自室の貴重な4畳半スペースを占領していたため、とにかく読んでは週末にまとめて返すということが起こります。

https://twitter.com/sukukyon/status/798177914504085504

少なからずとも生産的であった行為をやめて、消費主体的な生活に突然シフトしたわけです。すると、周囲からどうこうの前にまず、本人にこんな自堕落な生活をしていいのかという罪悪感が芽生えるわけです。

ただ、最近は本を買ってばかりでろくに読んでいなかったというのも事実なので、とにかくバランスを取れるまでは消費主体でいきたい所存です。

ただ、一番体積を食ってるのはなぜか増えるサーバーであったり、中にDVD1枚しか入っていないPC向けゲームだったり、薄いのにちりつも理論で増えていく同人誌だったりします。ゲームの箱が小さくならないのには色々大人の事情がありそうですが、一消費者としては小さくなってほしいなあ、と切に望みます。

断捨離というキーワードはキラキラ女子みたいなのが連想されて反吐が出るほど嫌いです。 がしかし、流石にこのペースでものが増え続けると数年後はどうなるんだ、ということもあり、ぼちぼち物を捨てていかないといけないのかなとも思いつつ。ただ所有欲は満たされるのですよね。 根底にあるのは、電子書籍より物理本という考えで、これは端的にいうと現在販売されているDRM付き電子書籍/音楽がいつまで読めるのか分からないという不安が根底にあります。

アニメ

秋アニメもそろそろ折り返し地点です。夏アニメの頃から急激に忙しくなったのもあり、録画しているけれど見ていないアニメが山のように増えてきました。 夏アニメですが、NEW GAME! / ラブライブ!サンシャイン!! /クロムクロ / 食戟のソーマ 弐ノ皿 は全部見ました。NEW GAME! が2年越しの期待を1話アバンからのOPで軽く越えて来たので、森羅万象がどうでもよくなったみたいなところがあります。良かったですね。 #動画工房ありがとう

動画工房といえば未確認の進行形ですが、新作の抱き枕カバーがでるみたいでこれもすごいです。原作も破壊力が上がってきていて、尊さが高いです。

変わって秋アニメは15本近く撮っていますが見られていなくて、響け!ユーフォニアム2, ガーリッシュナンバー, ステラのまほう, おくさまが生徒会長!+!, 舟を編む だけは観るぞという気持ちがあります。 個人的に一番期待してたのはステラのまほうですが、一端の原作派としてはキャラデザの違いが気になってしまう、というかくろば・U先生の絵柄が好きすぎる問題があります。

響け! ユーフォニアム2 はとにかく引力が働いていてすごい。最近ICTSC6の運営の後に宇治観光したのもあってとにかく思考が終わりながら脳にダイレクトインプットされています。終わっていますね。

漫画雑誌

ところでまんがタイムきらら系列誌を読んでいて思う最近の一押しは、

です。 (リンクは 1巻の Amazon)

どちらも連載最初から読んでいるのですが、良いです。スロウスタートはイベントスチル的良さがあって良いですし、すわっぷ⇔すわっぷはすわっぷしていて良いです。読んでください。

あと、まんがきららミラクはどんどん面白いものが連載終了していて残念という感じがあります。

技術周り

とくに何もやっていないので書くことがありません。 というのは多分嘘だと思いたくて、最近は4000行の jQuery を殺せなかったり、Visual Studio と和解して C++ をちょっと書いたり、 Objective-C と距離を保ったまま Swift に浮気して幸せになったりしています。 Swift 、すごいですね。Swift 2 → 3 でまた人が死んだらしいですが、これからはあまり破壊的変更はないらしいです。 とにかく Objective-C でもやっとしていた部分をすっきり書けるのが嬉しいのと、異常なほどに補完が賢くて、これが LLVM の力か……! と感動します。あとたまにコンパイル中にコンパイラが死んで気持ちになります。あと個人的には予約語や記号の使い方が好きで、コードの見た目が良いのがプラスポイント。 iOS 7 は殺せない。絶対にお前だけは殺すという気持ちがありますが、その前に◯◯◯を殺さないといけないのでは? という気持ちになり、あの権力は殺すとかいうと自分が消される気がしました。大人の事情は面倒くさいですね。

見えるところでは、 monora の profile をトップページみたく SVG やらなんやらで書き直しました。スクロールしたときの動きが完全に僕の自己満足になっています。

SVG はなんというか自由で救われた気持ちになるのですが、いかんせんWebページを全部それで書くかと言われると微妙で、まあこんな感じで組み合わせるとデザインの自由度が上がって面白いかなと思います。SVG のデザインも CSS で書けるんですが、これが結構気持ち良くて、これが Web です。書いている人を他に見たことがないので先を行っているという気持ちになれて自己満足。しかしレガシーブラウザでのサポートはお察し。

そういえば今日公開された Firefox 50 で NodeList に forEach が乗ったみたいですね。JavaScript (ECMA...) を書いているとこういう問題に無限にぶち当たって不幸になるので、各位はちゃんと実装してください。

CSS といえば、僕は CSS Selectors Level 4 (W3C CSS WG の Draft) でついに関係上の擬似クラス :has が乗るっぽくてワクワクしています。これはつまり、CSSセレクタで今まで表現できなかった、特定要素 (や、特定セレクタ)を持つ親要素を選択できるということです。

とにかくこれは最高なので各位は今すぐに Microsoft Edge でこの機能を実装するよう下のリンクから投票してください。

:has() – Welcome to the Windows developer feedback site! https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/8977591--has

あとは、前から練っていた memora をそろそろ開発したい。 これは名前の通り、いわゆるメモ書きプラットフォーム的のようなあれで、つまり僕が文章を書きたいときのプラットフォームになってほしいやつです。 実は monora のサイドメニューには項目だけ存在していますが、まあ少なくとも半年はできないのではという気がしています。 そもそもサービスの全容がわかりません。 考えれば考えるだけそれ WordPress で良くない? とか、その機能プラグインで作った方が良くない? となるので、車輪の再発明はつらい。でもしたいので仕方がない。エゴです。

そういえばAdvent Calendar の時期なので Adventar::List を復活させないと行けない気もしています。というかなんで死んでいるんでしょうね。殺した覚えはないです。 (しかし最近サーバーのバックエンドをごっそり書き換えたりしたので心当たりは無限にある。)

あと、前回、前々回に引き続いて ICTSC7 の運営委員も務めさせて頂いております。今回はインフラリーダーだそうです。 そろそろインフラに知見がないとかいうと怒られますね。 人をまとめるのは苦手なので、とにかく自由にやってくれという気持ちになってそのようにしています。 近況としては、「これL2?」「これL3?」「これは??」「よくわかんないけど良い感じにやってくれ!!」という感じです。 前回の運営でようやくL2 と L3 を区別してまともにトポロジが書けるようになった気がするのですが、 OSI is dead みたいな風潮もあり、レイヤーで考えると人は思考停止して死ぬということが示されつつあります。そのようにやりましょう。

その他

生産をしないでひたすら消費をしたり、Suica で無限オートチャージ! みたいなことをしていると恐ろしい勢いで貯蓄が減っていくわけですね。 そんなことを行っていたら知り合いがこのようなことになったりするわけで

とにかく現金が欲しそうなのに、何故か記事末尾に Amazon の欲しいものリストへのリンクがあるのがオチという感じがしますね。

というわけでまだアルバイトを始めたいです。 つまり面接があったり、履歴書を持参したりするわけです。そういえば今まで履歴書って書いたことなかったですね。 学歴上の学校名が以上に長いのであまり書きたくないです。

個人的には、本当になぜかたまに企業の方からお声掛け頂くことがあって、マジか、と驚くことがあります。 目立つ活動をしている自覚は全く無いのですが、やはり色々見られているのでしょうか…… それにしても、自分を必要として頂けるのはありがたい限りです。承認欲求が満たされますね。

承認欲求を満たしたいという話はここ数年ずっとしているのですが、安定して満たされるただひとつの解決法がいまだに達成できていません。

あと、後輩が、事あるごとに自決と連呼していて、もしかしたらこの世界はディストピアなのでは? と思いつつあります。

とにかく幸せになりたい。やっていきます。

♪お菓子な夢をおひとつどうぞ♪ - チノ (水瀬いのり) : ご注文はうさぎですか?? キャラクターソングシリーズ06 #NowPlaying

こんばんは。 そういえば、僕は遠視のようで、5年以上前に作った眼鏡を気まぐれで月に1日ほど掛けています。 近視[…]

バイトを辞めました

雑記

溜まっているタイトルしか書かれていない下書きを消化するシリーズです。

ただの事後報告で、自省です。

僕が当初この記事を書こうとしたタイミングで、他の方から激しい退職エントリが流れてきたので、そういったものを求められている方はそちらをご参照下さい。

ベンチャー企業のアルバイトを辞めた - 人権喪失メンヘラワンダーランド

結局のところは自分の技術力が見合っていなかったというところに帰結する話です。

10ヶ月ほど、ベンチャー企業のアルバイトとして、インフラ関連の開発をしていたわけですが、僕が辞めたのは特に上記の記事で述べられているようなことがあったからではなく、ただ単に環境に馴染めなかったからというのと、大学周りの活動が忙しくなったからです。

別の会社でのアルバイトと掛け持ちで始めた本職でしたが、忙しくて行けない日が続き、環境に馴染めず、目標がハッキリとしないうちに時間だけが過ぎていきました。

僕が関わっていたのは、当時はまだ社外へ公開もされず、社内でも関わっていた人はごく少数のプロジェクトで、なんか良い感じに新しいプラットフォームでした。(公開情報です) CTO がアーキテクチャ設計を先導して、コードもほとんどが CTO のお手製という状況に放り込まれたのが自分でした。 アーキテクチャも採用した技術もイケていて、パワーのあるプロダクトでした。(と今でも思っています)

ただ、いかんせんベンチャー企業というのは勢いがあるもので、プロダクトのコードはあっという間に書き換えられ、毎週出社する度に操作方法が変わっているような状況でした。 その度にどうやって動かすのかを尋ね、コードを追い、そして僅かに自分の作業を行うといった日々が続きました。

結果として、自分の生産性は恐ろしく低く、これで給料を頂いていいのかと自問するほどでした。(時給が前職に比べて良かったのもありプレッシャーにもなっていた) そしてしばらく、「辞めたいな、でもここで辞めても何も生み出せてないし、ここで辞めるのもな……」と焦燥感だけが募る日々が続きました。 結果として、10/3 夜に退職の意志を表明して、翌々日の 10/5 に退職しました。実時間でいうと40時間ほどしか掛かっていなくて勢いしかなかったですね。

結局、昨年の12月に働き始めてから、100時間も労働していなかったみたいです。 決めるには時期尚早だった感じもありますが、単に周りの環境に自分が馴染めなかったことも後押しする結果となりました。

(これは個人的な意見ですが、エンジニアと営業を同じフロアに詰めるのは幸せになれないと思っています。ただ、ベンチャー企業として社員の気持ちを共有するという目的のためには良いのかもしれないですが、これが最適解だとは思っていません。) 会社の方々はとても良い方々で、技術力があってパッションがあって、サービスを良くしていこうという気持ちの感じられる社風でした。 学生のバイトも多く、自分とは比べ物にならないような方々にも沢山出会いました。

本当に短い間ではありましたが、お世話になりました。

そんなこんなしていたら貯蓄が尽きまして、良い感じにやっていけるバイトをふらふらと探しています。 結局のところ、アプリもフロントもサーバも書くしインフラもやっていて、自分が何をやりたいんだろう、ということが最近見いだせていない気がする。

溜まっているタイトルしか書かれていない下書きを消化するシリーズです。 ただの事後報告で、自省です。 僕が当初こ[…]

サイバーエージェントのインターンに行った

雑記

1ヶ月近く経ってしまいましたが、書くぞという気持ちがあるので書きます。

2018年新卒ではないですが、 2016/9/6 〜 2016/9/26 まで、2018年新卒向けの CyberAgent の夏季長期インターンであるところの WORKインターン (インフラ) に参加して、アドテク本部というところでなんやかんやしていました。

2018年新卒向けとはいっても、特に制約があるわけでもなく普通に応募できます。まあ、インターンに行くのは普通は学部3年 or 院生なので、必然的にそうなるんでしょうか。

ICTSC 関連の知り合いの方に誘われて、大規模なインフラに触れてみたいという気持ちもあり応募したことから始まったインターンでしたが、今までに無い濃密な日々でした。

まず、面接が2回ある。これは本当に驚きで、まず人事面接があって、その後に部門面接がありました。 ただの職業体験的なインターンだと思っていたそれまでの観念が書き換えられて、1ヶ月間共に仕事をする人という扱いをされているんだなあという気持ちになりました。

人事面接の後、人事の方から「kyontan君のやってみたいことからすると、ここ(アドテク本部)のインフラとかどうかな〜」といったサジェストを頂き、インフラができればどこでも! ということでレスポンスをしたところ、そこの方と部門面接をすることになりました。 CyberAgent のインターンは内部的には100箇所以上の配属先があるらしくて、それぞれの学生に一番マッチするところへ、ということでマッチングにとても気を遣われている印象がありました。

部門面接で興味のある技術やなんやかんやという話をしていましたが、やはりそこでも印象的だったのは、「もしやりたいことが変わったり気が変わったらいつでも連絡してね!」と言われたことでした。なるほどなるほど……

そんなこんなでインターンでは、OpenStack Mitaka と Midonet という SDN のプロダクトの運用検証や、ストレージ(SAN)の性能検証みたいなことをしていました。 「とにかく今までやったことがないことがやりたくて、やりたい、SDNとか興味あります!」みたいな意味合いのとにかく具体性のないことをメンターの方に伝えたのですが、実際にそんな感じになってとにかく感動しました。 ICTSC6 では CloudStack を使用していて、ICTSC5 では OpenStack を使っていた、みたいなことはあったのですが、自分で構築したことは一度もなかったし、この機会に1からやってみるのも良いな、というのもありました。 ついでにプロビジョニングも1からやってみたいという感じで、Ruby で書ける Itamae を使って、OpenStack Mitaka と Midonet を一発構築するレシピを書いた。

kyontan/itamae-recipe-openstack-with-midonet: Itamae recipe for installing Openstack Mitaka + Midonet

ちょっと最近私用で使ってみたら壊れてたので直します、ゆるしてください。

Midonet 、セールスポイントとしては ovs のカーネルモジュールを使っていて信頼性があって SPOF のない SDN オーバレイネットワークを構築できて OpenStack Neutron と密接に連携してくれるというところなんだけれど、結構イケてるプロダクトだと思う。 アーキテクチャの筋はめっちゃ良いと思っていて、おもしろプロダクトなので、これからも詳しく見ていきたい気持ちがあります。

で、主にそのあたりの検証をしたりした。

ストレージの検証は難しくてあまり成果が出せなかったのでしんどいという気持ち。

実質15日しかなくて、その中でいかにして結果を出すかみたいなことをメンターの方とも相談して方向性を決めたりした。 結果として、15日で目に見える成果物も出せて、濃密な感じにできたのは良かったと思っています。

最終的にできたのは以下のようなもの。(公開の許可は頂いています / 検証環境です)

Midonet Traffic Monitor on Zabbix

Midonet はトラフィックを可視化する機能が Enterprise (有償) にしかなくて、標準だと CLI で謎UUIDと紐付けられた値が取得できるだけなのだけれど、それを色々してちゃんとVMやらホスト間のトラフィックを可視化して Zabbix で表示するようにした。 これは結構イケていると思っていて、実際動くのでイケています。よかったですね。 技術系のネタはまた別の記事で書きたい気持ちもあるので端的にこんな感じで。

 

とにかくインターンを通して、メンターの方や社員の方々には良くしてもらって、気にかけて頂いていた気持ちが強い。本当に一言で表せないぐらいなのですが、お世話になりました、ありがとうございました。 配属された組織がとにかく強い人の集まりで、僕のふわっとした要領を得ない質問に対して簡潔で的確で正確な応えが返ってくるのは学びになりました。

 

他にも、インターン同士の交流会があってどこぞの大会でお会いした人に再会したり、インターネットの有名人(と個人的に認識している人)にお会いしたり、社内の施設も社員と同様に使えたりして感動した。(使う機会がなかったのが残念) 社内のリラクゼーションスペースがちょうど工事中で、インターン期間に行けなかったのが悔やまれる。

他にも、椅子がエンボディチェアで、これがハーマンミラーか……! と感動したり、無限に甘ったるいドリンクが出てくるベンディングマシン(普通のコーヒーやコーラももちろん出てくる) があって、無限にアイスチョコバナナとかいう不健康飲料を摂取したりしていた。アイスチョコバナナは最高。

(2016/10/25 22:12 補足: 記事の公開時にアーロンチェアと表記していましたが、エンボディチェアだという指摘を頂きました。調べてみたら最上位……なるほど……)

他のインターンの方の話を聞いていると、やはり配属される部署でこの辺りは結構差があって、営業と同一フロアでノイジーな環境だったりすることもあるみたいですが、とにかくありとあらゆる手法で解決することが可能なのでやっていきましょう。 ちなみに僕の環境はオールエンジニアのフロアで静かでした。キラキラしてる印象はそんなになかったです。(他のフロアに行ったらキラキラしてたので驚いた)

そんなこんなであっという間に過ぎた3週間でした。改めて、アドテク本部のとある組織の皆様、メンターの方、人事の方、ありがとうございました!!!

 

1ヶ月近く経ってしまいましたが、書くぞという気持ちがあるので書きます。 2018年新卒ではないですが、 201[…]

第6回 ICTトラブルシューティングコンテストの運営委員をしていました

雑記

ICTトラブルシューティングコンテスト という学生が主体となってインフラやサーバに関するトラブルを起こして、学生が解決する(雑) な大会がありまして、その第6回、通称 ICTSC6 の運営側として参加してきました、ということです。

大会自体は8/27, 28 (土日) が本番でしたが、運営委員は 4/24 のキックオフMTGから活動が始まっていて、実に4ヶ月近くの期間があったことになります。

写真とかは公式のレポートにたくさんあるのでご参照下さい。

NTT西日本杯 ICTSC6 準備期間 レポート – ICTSC | ICT トラブルシューティングコンテスト NTT西日本杯 ICTSC6 DAY1 レポート – ICTSC | ICT トラブルシューティングコンテスト NTT西日本杯 ICTSC6 DAY2 レポート – ICTSC | ICT トラブルシューティングコンテスト  

ICTSC には運営委員として、第5回 (ICTSC5) から関わっていて、ICTSC6 では運営委員の副リーダーなるものを務めさせて頂きました。 (ICTSC6 は16人の運営委員と大人の方々による実行委員とスポンサーの方々によって成り立っており、その学生側ということです。)

ICTSC5 の反省を活かして、ICTSC6 のために自分が行ったことはとにかく1つに集約されていて、「とにかく見える化、情報の集約化を徹底して、何かをしたいときにすぐに行動できるようにする」というもの。

結局この記事は僕の自己満足ですし完全に主観で書いていて、最終的にはここに書いていない範囲、色々とよくないこともあったし、そもそも未だ僕が把握してない範囲で色々揉めたというのもあるのですが、結果としてそれを全部汲み取って解決できなかったのは本当に自分が悪いと思っています。未だももやもやとする気持ちもあります。 責任転嫁するつもりはないし、頼むから直接言ってくれという気持ちです。

 

以下、雑多に何をしたのか書いていきます。

 

ICTSC5 は、自分が初参加で周りが見えていなかったということもあるのだけれど、とにかく情報がブラックボックス化されていて誰が知っているのかすら良く分からないみたいな情報でつらかったという印象があった。 そのためにやったことは大きく2つあって、以下をしました。

  • Wiki を作る

  • Slack で Public チャンネルを大量に立てて話題を分ける / 見える化する (Private チャンネルを減らす)

Wiki は色々と模索した結果、 Crowi という国産の WIki が一番イケている印象があったので選択しました。半年間運用しましたけど本当に安定していて、ちゃんと動いて階層化ができて MarkDown がシュッと書けて良かったと思っています。 開発も精力的に行われていて、大会運営の後半では Elasticsearch と連携して検索機能も実装されて更に便利になった。開発者の人とも Gitter でコミュニケーションが取れて良いプロダクト。

とにかくありとあらゆる情報はこの Wiki から参照できるようにして、他サービスとして利用していた Google Drive やら Trello やらも全部参照できる情報をここに載っけるようにした。 合宿みたいなほぼ全員で集まる機会もあったので、Wikiの使い方をレクチャーしたり、みたいなこともした気がする。(あまりうまく行かなかったな、とは思っています)

結果としては、4ヶ月間で 147ページ ものページが作成されて Wiki で常に参照できる状態になった。 僕は文書化をほぼほぼ機械的にしていて、Slack で議論された事柄を片っ端から Wiki にまとめるみたいなことをした。 懸念していたのは、情報が錯綜することと古くなって参照されなくなることだったので、とにかくそこに気を使って更新を止めないようにした。

Crowi には Slack 連携機能があったので、#wiki-update みたいなチャンネルを作って通知を飛ばすようにした。 基本的に人が寝ている時間に作業する人間なので、4時とか5時とかにバンバン通知を飛ばしていた気がする。

Slack については完全に議論と雑談をするためのフリースペースでいいという認識で、1万件問題についてはログを取って参照できるようにすればいいし、そもそも確定した重要事項については Wiki に書くのが大前提なんだから、いくら流れてもいいのでとにかく書いてくれというスタンスで運用した(つもり)。

分報 (#times_{username})を導入したのもそういう意図があるし、運営委員そのものが日本中に散らばっているので、そのコミュニケーションの要となる Slack はとにかくコミュニケーションでツーでカーな感じにしたかった。

とにかく議論が混乱しないよう、分野ごとにチャンネルを大量に作成して、分けて議論がそれたらすぐに該当するチャンネルへ誘導するといったスタンス。 具体的には、 #infra やそのサブチャンネルとなる #infra-dc, #infra-network, #infra-server 問題作成に関連する #problem, 大会運営に関する #event-support などなど。times 含め59チャンネルが作成された (うち分報13チャンネル)

概ねこの方針は正しかったと思っていて、一部分けすぎて混乱したみたいなのはあったのですが、それでも全部が #random に書き込まれる世界よりはよっぽど健全だったと思っています……

そんな感じでやっていきました。

最後に、副リーダーとしてはリーダーの仕事を常に奪い続けるスタンスで行動していて、リーダーは常に手が空いてる状態を維持するように善処したつもりです。結局どうだったのかは人により意見が別れると思いますが、どうだったんだろう……

その他にも、無限に人にタスクを投げ続けるように立ち回ったつもりではあるのですが、結果としては僕がタスクを抱えすぎたり口を滑らせたりで本番直前で周りに大迷惑を掛けてしまったということが一番の反省点です。

結局、大会の運営というのは最終的にはどうやって人をマネジメントするかということに帰結していて、していますということです。

 

改めまして、この大会にご尽力くださった運営委員、実行委員、スポンサーの皆様、そして参加して頂いた皆様には厚く御礼申し上げます。ありがとうございました。

 

ICTトラブルシューティングコンテスト という学生が主体となってインフラやサーバに関するトラブルを起こして、学[…]

Dentoo.LT #15 に登壇した

雑記

世にも不思議な電気通信大学MMAという団体が主催している Dentoo.LT #15 というイベントがあって、登壇しました。あと寝坊しました。ゆるしてください

資格の話といいながら今年のネスペの午後II 問題を眺めたりしたのですが、案外普通に解ける感じだったし難易度が意外と高く無さそうだった。ちゃんと問題文を読みましょう。

** 資格の話 #3.2 @Dentoo.LT #15 ** from kyontan

最近は150枚ぐらいスライドを作って100枚ぐらいで時間切れになっていることが多い気がするので反省したい。次回は最後まで話します。

余談ですがスライドのテンプレート作ってたらまたCSSとSVGを延々と書くオタクに戻りたくなった。

世にも不思議な電気通信大学MMAという団体が主催している Dentoo.LT #15 というイベントがあって、[…]

CloudStack の VM を cs コマンドでデプロイしようとしてハマった

Infrastructure

こんばんは。タイトルだけ書いた下書きが溜まっているので書いていきますということです。

ICTSC6 で CloudStack を使用していた話はまだ書いていなし多分書かないですが、使用していました。

その中で、API を叩いてくれる薄っぺらいラッパーコマンドであるところの exoscale/cs を叩いてデプロイなりVMの起動停止なりボリュームのアタッチなどをやっていたわけですが、デプロイ関連で少しハマったので解決策を紹介。

ちなみにこれ: https://github.com/exoscale/cs。 exoscale 、 CloudStack なんですかね……

~~CloudStack の API はあまりにも愚直なのでパラメータが無限に多くてしんどいという話はさておき ~~APIの一覧は http://cloudstack.apache.org/api/apidocs-4.9/ にあります。 (4.9 の場合) VM を作成する場合は、 deployVirtualMachine 書いてある通りですが、必須なパラメータは以下の3つです。

  • serviceofferingid

  • templateid

  • zoneid

それとは別に、IPアドレスを固定したり複数のネットワークにVMを接続するときは iptonetworklist パラメータを指定するわけですが、このパラメータの設定がなんもわからんという感じです。

iptonetworklist[0].ip=10.10.10.11&iptonetworklist[0].ipv6=fc00:1234:5678::abcd&iptonetworklist[0].networkid=uuid

難しすぎる。なんで突然配列の演算子が出てきて & で繋ぐ必要があるんだ……

実際に直に API を叩いたことはないのですが、 cs ではこの通りにパラメータを書いても上手く動いてくれません。 なので、以下のようにする必要があります

cs deployVirtualMachine ... iptonetworklist[0].ip=192.168.15.3 iptonetworklist[0].networkid=4bbc38e5-3e36-4a11-9c93-5a5261911120

ただ & で繋げずにスペースで区切るだけです。どういう挙動なんだろう…… どこにも仕様が載っていないので試行錯誤せざるを得ないわけですが、やっていきましょう

結局 cs コマンドの引数はこんな感じになってしまうので非常に読みづらい。各位 Ansible のパワーに頼っていきましょう。僕は Ruby でラッパーを書きました。

cs deployVirtualMachine displayname='vm1-p15-t7' name='vm-x-hoge' serviceofferingid='3ebb38bf-dbb6-42b1-b301-041d3546b5dc' templateid='cec5838f-1bae-442f-9009-9e27dcf33941' zoneid='57305097-d51a-467b-bbec-862ab20850d1' hostid='3edc5cc0-5375-462d-8a38-b2e4920791f4' account='xxx' domainid='1d43bf7b-b00c-41ba-959a-e422c4649547' startvm='false' iptonetworklist[0].ip=192.168.15.3 iptonetworklist[0].networkid=4bbc38e5-3e36-4a11-9c93-5a5261911120
こんばんは。タイトルだけ書いた下書きが溜まっているので書いていきますということです。 ICTSC6 で Clo[…]

shotgun じゃなくて rerun を使おうという話

Programming

Ruby で Rack アプリケーションを書いているときに、コード変更したら自動的にサーバー再起動したいという話。

今までは shotgun でやっていたのだけれど、これは毎回リクエストする度に変更の有無に関係なくサーバーを立ち上げ直すので、遅いという欠点があった。 副次的な問題として、better_errors で REPL が無効になるという欠点があった。(レスポンスを返すとそのコンテキストを捨ててしまうから?)

ずっと前からどうにかならないかなーと思っていたのでググったら rerun というものを見つけた。 Rack とか関係なくもっと汎用的なやつで、ファイル変更検知してサーバー上げ直すぞ! みたいなプロダクトらしい。

入れたら下のような感じで使える。便利。

`RACK_ENV=development rerun -- rackup -o 127.0.0.1

`調子に乗って通知有効化するぞ! というノリで terminal-notifier を入れてみたらサーバーが上がらなくなった。何事かと思ったら tmux 上で使おうとすると一癖あるらしく、こういうIssue が立っていたので適当に読んだら解決した。

要するに、brew なりなんなりで、reattach-to-user-namespace をインストールして、.tmux.conf に下を書き加えるという話。


set -g default-command "which reattach-to-user-namespace > /dev/null && reattach-to-user-namespace -l $SHELL || $SHELL -l"

再起動に掛かる時間が体感で倍ぐらいになったけれど、better_errors使えることで圧倒的効率アップみたいなところがあるので、トータルで幸福度が向上した気がする。

Ruby で Rack アプリケーションを書いているときに、コード変更したら自動的にサーバー再起動したいという[…]

Sinatra Modular-Application で configure が上書きされる問題の対処

Programming

Ruby の Siantra で、Modular-Application を書いていたら良く分からない挙動にぶち当たって気が付いたら朝になっていたのでメモ。

app.rb

require_relative "hoge"

class App < Sinatra::Base
  configure do
    disable :protection
  end

  use HogeRoutes
end

hoge.rb

class HogeRoutes < Sinatra::Base
  get "/" do
     ...
  end
end

みたいな事をしていた。 disable :protection をしているのにどうしても Rack::Protection が有効になるので、どうしてこうなるんだとあちこちのコードを追いかけたりした結果、HogeRoutes が App とは別にもう一度 session, protections 等のセットアップが行われるので、以下のように、 use HogeRoutes を configure より上に持ってくる必要があった。

app.rb

require_relative "hoge"

class App < Sinatra::Base
  use HogeRoutes

  configure do
    disable :protection
  end
end

HogeRoutes 内の configure で disable :protection とやってもいいが、こうするとクラスが増えた際にその分だけ書かないといけなくて大変。セッションみたいなアプリケーション全体で統一的な設定を持つ部分は親の App でやって良いんじゃないかと思う。

Ruby の Siantra で、Modular-Application を書いていたら良く分からない挙動にぶ[…]

2016年3月あたりの今日このごろ

雑記

春休みになった。大学生の春休みはきっと長いのだろうなと思っていたが、やりたいことは積もり積もっていて、中々暇にならない。でもここ数日はこんな時間まで起きて12時まで寝るような生活をしていて大学生の春休みっぽい。暇なら仕事でもなんでもしろという感じである。

まず、春休みに入って初っ端に ICTSC5 という大会があった。正式名称は「cloudpack杯 第5回ICTトラブルシューティングコンテスト」といって、ネットワークやサーバーといった所謂インフラに属する部分のトラブルを学生が作って学生が解決する大会である。 今回、僕は学生の運営委員としてこの大会に参加していて、2月の中旬から東京ミッドタウンにあるシスコの東京本社に篭って、問題を作ったり、ネットワーク設計をみてフンフン言ったり、DMM.comラボ様からお借りしたGaffGun で光ファイバーやらなんやらを養生したり、ラッキング (画像左)したり、パトライト光らせたり、パトライトを Webhook するような API サーバーをサクっと書いたり、ansible の praybook を書いて200台以上のVMに対して🙏 pray 🙏 したり、突然秋葉原の愛三に行って1000A測定可能なクランプメーターを買ったり、受付したり、Redmine で参加者から続々と立てられる質問のチケットを100件以上クローズして指揮官の気持ちになったりということをしていた。日頃中々得られない大規模な大会運営に携われたというのは本当に良い経験で、それだけでなくてネットワークであったり、大量VMへの展開であったり、技術な学生との会話であったり、本当に得られたものは大きかったと思うし、それが終わって2週間経った今でさえ、心にぽっかり穴が空いたような気分だ。 次回の ICTSC6 は大阪開催のようだし、おそらくまた運営委員としてひたすら祈り続ける日々が始まるのもそう遠くないと思っている。楽しみだ。

それが終わったあとは、割とバイトに行く日々を繰り返している気がする。 週2, 3程度でバイトに行っているので、決まった曜日がないとはいえ、2週間もあけるとそれなりにタスクも溜まるようで (実際緊急の案件で呼び出されて ICTSC5 中にも一度出社して徹夜で勤務していた)、ひたすら溜まったタスクをこなしつつ、iOS アプリの画面を組んだりコード書いたりといったことをしていた。そういえば最近は Photoshop 使った画像切り出しやらリサイズやらも定常タスクに入ってる気がする。まあ自動化してるからサクっと終わるんだけど、まさか今までこれを手で切り出してたなんて言わないよね……? まあ、このあたりの話題は秘密保持のこともあるのであまり語れなくて、強いて言うなら学生を使うと安く済むんだなぁという事実から目を背けられなくて、やっぱり給料上げてほしいなあみたいな気持ちになった。粘り強く交渉していきたい。あと iOS 7 は絶対に潰す。絶対にだ。

このあたりはもう一つ書いておきたいことがあって、最近別の会社でもバイトを始めたということを書いたのだけれど、未だに全然仕事できていない。というか時間を割けていない以前にどこから手を付ければ良いのか分からなくてつらい。頑張りたい。

あと、先週はサークルの先輩としまなみ海道を自転車で渡る旅行に行った。しまなみ海道に行くのは2回目なのだけれど、今回は尾道から今治へ渡った。前回とは逆向きで、行きは新幹線で福山経由で行って、帰りは高松からサンライズに乗って帰った。この辺の話はTwitterで書いたとおり。やはりしまなみ海道は走りやすくて良い。ついでに自分の体力の無さが身にしみたので頑張っていきたい。もうちょっと乗ろうな……。ついでに香川のうどん屋は異様に閉まるのが速い。またリベンジするぞ。

今週はまた旅行に行きます。旅行といっても突発的なバイトついでという感じで、敦賀へ1泊2日の作業をしに行く。そのまま名古屋で1泊して、凪のあすからの聖地巡礼をしに紀伊半島、紀勢本線の波田須の方へ行こうと思う。紀伊半島は鉄道の僻地という感じで、こんな時間までジョルダンの18きっぷ検索と格闘していた。週末にスケジュールが入っているということもあってなんやかんやと5時間ぐらい悩んで、帰りは高速バスに乗って帰ることにした。朝が厳しい。

本当に朝に弱いので普通に早起きしようとして起きたら12時とかあるのだけれど、多分旅行のときぐらいは7時とかに起きれるんじゃないかと自分に淡い期待を抱いている。

とかこんなことを書いている暇があったら寝たほうが良さそう。寝る。(2016/3/15 執筆)

 

春休みになった。大学生の春休みはきっと長いのだろうなと思っていたが、やりたいことは積もり積もっていて、中々暇に[…]

こたつを買って最高の環境を構築した

雑記

成人式は成人の日に行われる鎌倉に住んでいます。きょんたんです。

前々からこたつが欲しいというのは叫んでいて、バイトも初めて余裕もあるしそろそろ導入したいなあと思っていたので、思い切って導入した。

どのこたつを買うかとか、大きさについては結構悩んだ。そもそも部屋が狭い (四畳半+α程度) し空きスペースもほとんど無いので、悩む選択肢は 60cm 四方 or 75cm 四方の2択だった。 60cm四方については、単純に数字から小さいのではないかと危惧していたのだけど、メジャーを当ててみたら意外とそうでもないということが判明。 たまたま機会があったので、祖父母宅のこたつの大きさも測ってみたが、75cmというのはそれなりに大きさがあって、1人で入るにはかなり余裕があるようだった。

でもなぜか購入したのは 75cm四方のもの。なんでかって? 大は小を兼ねるからだよ。

メーカーについては、大きく外れを引くことはなさそうだと確信を持ってニトリを選択、それにしても同じ大きさでも10種類ぐらいあって悩んだ。 最近のは人感センサーがあったりリバーシブルだったりと、色々工夫が凝らされている、特に人感センサーは火事を防げたりで良さそう。流行るべき。 人感センサーは悩んだがコスト面の問題で (ないものに比べ6000円近く高い)却下。後は個人的な趣向で樹脂ではなく木材のものが良いなど色々悩んで以下のこたつを選択。

https://www.nitori-net.jp/store/ja/ec/0710432 後は掛け布団も買う必要があったので以下のものを。値段も大差なかったので模様で決めた。

https://www.nitori-net.jp/store/ja/ec/7600762 購入の様子は以下のとおり。

https://twitter.com/sukukyon/status/682279292248522752

https://twitter.com/sukukyon/status/682279327740768257

3コマ目もあるけれど、特に注文確定画面っぽさが伝わらないので割愛。

 

後日、掛け布団より先にこたつ単体が届いたので導入。組み立ては足を付けるだけなので割愛。

https://twitter.com/sukukyon/status/684051938946580480

75cm 四方はやはり大きかった。そして気付かされるのは、掛け布団がないこたつは極めて寒いということ。熱があっという間に外に漏れていく。その場にあった毛布を掛けるが、しかし全体を覆うことは叶わず、熱は外に漏れていく。

その後、掛け布団が届くまでの3日強はなんとか有り合わせの毛布で凌ぐも、こんなものはこたつとは認められない状況であった。

掛け布団が届く。早速インストールする。 余談: 掛け布団の配送日は最速でも 1/9 とニトリの注文ページにあったので最速指定にしたのだけれど、何故か1/6には既に発送されて最寄りの配送所まで来ていて、1/9まで保管されていたらしい。なんだったんだろう。 https://twitter.com/sukukyon/status/685719503494225920

掛け布団を掛けたこたつに入って、これが、これこそが私の知るこたつだと。

こたつの大きさに合わせた掛け布団なので、全体をしっかり覆える上に、今回購入したものは、内部にアルミシートが入っていて保温性も高いらしい。 本当に冷えなくて、中に入るといつでもぬくぬくできる。最高。

 

導入してからの気付きとしては、こたつは案外作業領域が広いということがある。 75cm 四方というのはそれなりに大きい。色々置いて作業が捗る。 後は掛け布団の質感がもふもふでふかふかで個人的にとても好みなのは予想外の収穫。

今は全体の4割近くがスチールラックの下にあるのだけれど、代わりにスチールラック上にスピーカーを置いたり、そこからモニターアームが生えていたりする。これはこれで1人の人生がダメになる程度の快適性がある。

こたつを持っていない各位は是非検討されてはいかがでしょうか。 これから冷えますし。

成人式は成人の日に行われる鎌倉に住んでいます。きょんたんです。 前々からこたつが欲しいというのは叫んでいて、バ[…]

2016年1月あたりの今日このごろ

Programming 雑記

こんばんは。 面白そうな事にどんどん手を出し続けた結果、日々忙しい生活を送っています。

ふと、季報的な物を書きたくなったので書きます。

10/27: monora rebuild

12/7: Adventar::List release

12/11: 某社に見学に行く / バイトを始める

12/14: monora improve

12/16: ネットワークスペシャリスト試験合格

monora rebuild / improve

12月に一番力を入れたのがここ。

新デザインの構想は結構前からあって、ずっと laboの方 にはデザイン案が置いてあった。ファイル名を見るに 2014/5/18 に作ったっぽい。

[caption id="attachment_947" align="alignnone" width="1920"]

monora-feature_140518-1417

2014/5/18 時点でのデザイン構想[/caption]

確か Adobe Creative Cloud の学生プランに入って Illustrator が使い放題になったので、使い方を学ぶべく作ったというところ。 ただ、この時はまだWebでこの見た目を HTML / CSS で再現するのは無理だと割りきっていて、いつかこのデザインが日の目を見ると良いな、という感じだった。

そこから1年半が経過して、ふと思い出したのが SVG 。 HTML 5 もそろそろ普及してきて良い感じに使えるんじゃない? と思いつつ、ものは試しで Illustrator で SVG出力してみた。 **「うん、普通に表示できるね」 **というのがその時の率直な感想。実はこれ、1年前の時点でできたんじゃない? とか思うけれど気にしない。 Illustrator は優秀で、それなりに読める SVG を吐いてくる。これは結構驚きだった。(コードジェネレータがまともなコードを吐いてくるとはあまり思っていない)

ただ、パスの部分は合成操作を多くしたせいか、結構長くてごちゃごちゃとしたパスが出力されていたので、その辺りも含めて一度全部書き直した。

もう1つ面白い発見があって、SVG の見た目の部分を html ファイル内に書くのがダサい!! と思っていたら、なんと CSS で書けることが発覚した。

http://www.w3.org/TR/SVG/styling.html#StylingWithCSS

6.6 Styling with CSS に書いてあって

svg circle {
  fill: #3C241A;
  fill-opacity: 0.64;
  stroke: #3C241A;
  stroke-opacity: 0.64;
}

というように SVG の属性 を CSS で書ける。とても便利。 問題はエディタがこういった仕様を知らないことで、手元の Sublime Text 3 では全く色が付かない……

そうして、これが

monora-v1

 

こうなりました

monora-160107

自分でも感動した。めっちゃ良い。現代って感じがする。

元より v1 の時点でも corner-radius が正式に出る前から使っていたし、丸っこいデザインが好きで、そういうデザインをしたかったというのがあっただけに実際にブラウザに表示された時は感動した。まだまだWebで丸を全面的に使ったサイトというのは中々見ないし、文字の配置なんかもイケてると思う。

ただ、SVG による難点もいくつかある。例えば <foreignObject> を使ってHTMLの要素 (<p> とか) を使わないと幅を固定して複数行表示ができない。けれど、<foreignObject> は現状でサポートされていないブラウザもそれなりにあるので、<text>と<tspan>を併用して地道に座標を当てる対処も必要。 ただ、今回は TypeSquare という、無料で和文のWebフォントが使えるサービス (リュウミンや新ゴのようなすごいフォントがタダで使えるすごいサービス ) を使っているので、どの環境でも同じフォントでほぼほぼ同じに見える……はず……

12/14 には improve と題して無駄な機能を付けた。

[video src="https://monora-monolog-media.1line.dev/ecdce6eba666ffe33ce9ec576a9aed5e.mp4" height="622" width="684"][/video]

カーソルを乗っけると色が変わったりブラーが掛かったりする。モダンな感じに動くし良いんじゃないかなみたいなノリ。 Material っぽく、カーソルを乗っけたところから色が変わると面白いかなと思ったけれど、結構実装がつらそうなので後回し。

今でも正しかったのか悩んでて、そのうち外すかも。 (この記事を書きながら Firefox で検証しようとしたら、この変更のせいでまともに文字が描画されていないことに気が付いたのでブラーは無効化しました……)

背景はデザインを変更して少ししてから変えたもので、上の画像のものは大学に一眼レフをふらっと持っていって撮ったもの。 背景にも地味ながらこだわっていて、もっとバリエーションを増やしていきたいなと思う。そして年も開けたしそろそろ差し替えたい。この辺りの話はまたいつか。

そんなこんなで結構良い感じのデザインをしたと勝手に思っている。コンテンツを増やしていきたいと切実に思う今日このごろ。

Adventar::List release

この記事が公開されているときには既にアドベントカレンダーは終わっているんですけど…… 2014年12月にリリースして、その後しばらく動いていたんですが最近またサーバー環境のあれこれでぶっ壊しまして、ほぼほぼ1から作り直しみたいなことをしました。 ただ、今回はなんやかんやでクローラが上手く動かないし直そうにも忙しいしで困った。 (今確認したら何故か今日の日付が表示されているし困った。後で直します。)

某社へ見学に行った / バイトを始めた

書いてある通りで、何の変哲もないです。 見学に行ったつもりが仕事してました。何か前のバイトでも同じことをした気がする。学習してないですね。

業種としては自社開発のWebサービスの運営企業で、Wantedly にも載ってるような、いわゆるスタートアップというところです。僕は Wantedly 経由じゃないですけれど。

前からインフラに興味があって、たまたま中の人からお話を伺う機会があったというタイミングの良さもあり、インフラ関連の開発をさせて頂くことになった。 これを書いてる時点ではDockerとかAWSとかそのあたりを弄っています。

いい椅子があって、壁で仕切られて無くて明るくて美味しいコーヒーが飲み放題でうんぬんかんぬんという、自分の想像するベンチャー像をまさに具現化したような存在でとても良い開発環境で作業をさせて頂いています。

近況は以下のとおりです。

http://twitter.com/sukukyon/status/683996193932746752

http://twitter.com/whywaita/status/684060812017729536

http://twitter.com/whywaita/status/684061949378727936

思いつきで名前を付けるのは良くないですね。意味のある名前を付けるよう心がけましょう。

ところで、前のバイトを退職したという事実は一切なくて、、むしろ新しく始めたこっちの方が勤務日数としても結果的な給料としても少なくなるはずです。(現状では)

気になるお給料については前の会社と同じ時給という感じにしてもらった。半年後、1年後となった時にどっちの方が高くなっているのかは個人的に興味深いところ。(今の時給は1000円台前半です。まさかこの歳でこんなに貰えるとは……)

前からいた会社の方では、最近はもっぱら iOS 開発を主にやっています。社外秘と書かれた紙を見るだけでワクワクするし、Objective-C という言語は知れば知る程賢い設計だなあと感動する。Swift にもそういうワクワクはあるのかな。

12/16: ネットワークスペシャリスト試験合格

ネスペに合格しました。これで、IPAの情報処理技術者試験は AP/ES/SC/NW を取ったことになります。

テクノロジ系だと、あと DB は取れると思いますが、今ひとつ興味が…… マネジメント / ストラテジ に関しては全く歯が立たないですし、ひとまず IPA に関してはこのあたりで卒業したいかなというところ。 NW は興味がある分野といえど勉強期間が短く詰め込み学習になったのもあって一番つらかった。

https://twitter.com/sukukyon/status/677722585090551808

また3週間後に資格試験が控えている気がしますし、これを取ったらしばらく資格を取るのはやめたい。

 

ではまた。

こんばんは。 面白そうな事にどんどん手を出し続けた結果、日々忙しい生活を送っています。 ふと、季報的な物を書き[…]

高専カンファレンス100 in 東京 に参加してLTした話

雑記

連日ブログを書いている気がします。きょんたんです。

既に年も明け、とても遅くなってしまいましたが、先日の 2015/12/19, 20 と2日連続で高専カンファレンスに行ってきました。

http://kosenconf.jp/?100tokyo 何故かタイムテーブルに僕の名前が乗ってます。 はい、LTしました。工業高校卒の僕が、高専カンファで。何故か。

5分の発表時間に対し、150枚のスライドを用意していたので、都合2枚/秒のペースで話す必要があったのですが無理でした。そりゃそうだ。 それどころか、しどろもどろになってしまって内容の1割もまともに喋れなかったので、あの場を用意してくださった方々に申し訳ないという気持ちでいっぱいです……

** 資格の話 #3 @高専カンファレンス100 in 東京 LT ** from kyontan

そもそもどうして高専卒でない僕が高専カンファで話すことになったのか? ということですね。

物事の発端は Dentoo.LT #11 で とある方 が高専カンファの宣伝LT をしていたことに依ります。 その とある方 こそが 100カンファの運営委員長の なっちゃんさん な訳ですが。 その後も、すれ違えば LT出てよ! と背中を押され、気が付いたら申し込んでいて通っていて…… みたいな感じでした。

そんな広告戦略については、なっちゃんさん の100カンファ後のブログ記事を見て納得するなど。

http://marin72.hatenablog.com/entry/2015/12/23/202842 僕は私用により1日目の夢これ、アイスブレーク等に参加できず (とても悔しい!!) 、懇親会の途中からの参加となったのですが、会場について驚いたのが、高専生ってこんなにたくさんいるんだ!! ということ。 身の回りに高専に行った人もいなく (神奈川県には高専がない) 、高専生ってどのくらいいるんだろうなあという実感もないままに参加したイベントだったがために、余計に感動しました。 しかも、会場が東京だというのに、北海道から沖縄まで、全国津津浦浦からの参加者がいるのには本当に驚くばかり。

発表者といい参加者といい、自分より若い方もいれば、卒業生の方もいてなんだなんだこの巡るめく高専ワールドは…… とただひたすらに。

特に感動したのは、でなりさん (@denari01) 率いるデザインチームの力でした。 会場の案内から、チラシから名札からなんやら、果てはスライドのテンプレートまで、一貫したデザインがあるということはここまで強いことなのだなと実感せざるを得ない場所でした。 デザインは趣味程度にかじる人間でしかないですが、ここまで一貫したブランドイメージを感じる機会というのはなかなか記憶にないところで、最初から最後まで感動が止まらず。あと、でなりさん本当にイケメンだったのでイケメンしか言えなくてとても残念だった。ぐぬぬ

会場ではたくさんの人と話しましたが、本当にいろんな人がいて、高専というのは不思議な場所であるなあと。 こんな(いい意味で)変な人がたくさんいる場所は高校以来だったので、不思議な感覚でした。あの工業高校にも変な人がたくさんいた……

LTについては精進しますとしか言えない……!

参加者、運営の皆様、本当にありがとうございました! 最高のイベントでした!!

 

連日ブログを書いている気がします。きょんたんです。 既に年も明け、とても遅くなってしまいましたが、先日の 20[…]

明けました

雑記

12月の季報?の下書きがまだ残っていますが、書き上げる前に年が明けました。 今年も1年、どうかよろしくお願いします。

気が付けば2016年なんですね。今年は天覧山に初日の出を見に行きました。

天覧山 初日の出号 に乗って、自宅(鎌倉) から乗り換え1回で行ける世の中。便利ですね。 元より、池袋まで湘南新宿ラインで行けば1回なのですが…… http://www.tokyometro.jp/news/2015/780.html 飯能、改札出たらヤマノススメで、ふもとにヤマノススメの絵があり、山を登ったらヤマノススメのグッズが売られているしすごいところでした。 (本当は飯能駅で元旦限定の音声案内が聞けるはずだったのだけど聞き逃してしまいました、残念。)

天覧山山頂から拝む初日の出もとても良くて、首都圏が一望できる立地にあるので、自然に包まれた天覧山から、都会のビル街に昇る日というものは趣があるなあと。スカイツリーも良く見えました。

その後、近くにあったからという理由で観音寺に初詣に行きました。 ヤマノススメで見覚えのある白い象がいて、なるほど、なるほど……! となった。良い街。

今年は激動の1年になる予感がするぞい!

以下、言えるだけ言っとけコーナー

https://twitter.com/sukukyon/status/683281561161076737

https://twitter.com/sukukyon/status/683281148709965829

https://twitter.com/sukukyon/status/683281181987635201

https://twitter.com/sukukyon/status/683281370420936704

https://twitter.com/sukukyon/status/683281516814675969

12月の季報?の下書きがまだ残っていますが、書き上げる前に年が明けました。 今年も1年、どうかよろしくお願いし[…]