3枚以上重ね着できない人のための冬に着るべき服ガイド
Tシャツだったあの頃から
冬ですね。ここ茨城県つくば市の12月では、夜は当たり前のように氷点下、昼間も8度程度の日々が続き、みな震えながら関東平野を踏みしめています。
無論、僕もその例外ではありません。中高時代と変わらない、Tシャツ1枚の上にパーカーを着込み、いつものコートを羽織った格好で、自転車で広大な大学を駆け回っていました。
で、この装い、自分では比較的スタンダードな「冬の格好」だと思っていた(コートも着てるし)わけですが、どうもそうではないらしい。毎年冬になると「おしょーゆの格好はおかしい」「半袖じゃないだけえらい」「見てるこっちが寒くなる」と言われるので、何かがおかしいことは分かるのだが、一体どうすれば良いのか皆目見当もつかない。寒いと思ってないんだから改善のしようがないわけです。マジで何を着れば良いのかさっぱり分からん。
と、いうわけですが、このたび何を着れば冬らしくなるか・暖かそうに見えるか、ということについて同期女子にアドバイスをいただいたので、ここで紹介しようと思う。
検討の過程
標題についての検討は慎重かつ大胆に、長時間に渡って行われた。ここでアドバイスを頂いた同期複数名は「冬に相応しい格好」について信頼できる情報源ではあるが、外部からの視点による検証も必要であるとの考えのもと、MEN'S NON-NO と non-no を急遽大学の書籍部で購入し、熟読した。
MEN'S NON-NO はともなく、なぜ non-no ? と思われるかもしれないが、ページをめくってみるとその答えは誰の目にも明らかである。女性向けファッション誌には「彼氏役」や「男友達役」が(脇役として)何度も登場するからだ! 無論のこと主役ではないため、派手な格好を披露してくれることはないが、彼らは一つの正解の例を我々に提示してくれた。ダサいのもいたけど。
かくして「冬らしい格好」に関する一通りの意見交換が行われたので、その結果をこのブログに貼り付けておく。検討を進めながらリアルタイムで Scrapbox.io にメモしていった内容そのままなので整理されていない感は否めないが、そこは大きい目で見てほしい。
また、以下にたびたびサイズについての言及が登場するが、これはこのアドバイスを受けた際に着ていたパーカーがやたらと小さかったことに起因する。自分では合っていると思って買ったんだよ。
服のジャンル別
シャツ
- 春・秋ぐらいのTシャツぐらいの感覚で着ると良いらしい
- パーカーの下にもセーターの下にもシャツ
- 彼女の親に会いに行くときに着るのが「きれいめシャツ」、友達と遊びに行くときに着るのが「カジュアルシャツ」
- チェックは目が細かいほうが安物感が出ない
- 目が粗いものはあまり着ないほうが良い
パーカー
- パーカーが一番上だと寒そうに見える
- シャツを内側に着る
- もしくはジャケットを上に羽織る
- 春なら
- 買ってしまったSについては前を閉めなければOK
- それでも小さく見えるらしい
- カーディガンとは合わせない
ジャケット
- Sを買わない
- もろもろの上に羽織れる
- 大きめのものを買うと良さそう
- パーカーの上でもOK
セーター
- 一番上
- これも大きめのものがあると良さそう
カーディガン
- これは間違いなく一番上
- シャツの上
misc
- 上からの順序としては コート > (ジャケット) > パーカー=セーター=カーディガン > シャツ=Tシャツ
- 同じレベルは組み合わせられない
- パーカーは冬の格好ではない
- Sを買わない
- MかLを買う
- 腕を伸ばしたときに手首の骨が出ない程度のサイズが適切
ns-3 を (macOSで) 動かすメモ
あまりにも多種多様な方法があったので、雑なメモを残しておく。
気持ち
- VM に Linux を入れるほうが簡単。Linux なら ns-3 が生やしてくれる tap とかを使って外部を巻き込んだシミュレーションもできる。
- 2006年の気持ちに戻る。パッケージマネージャーに頼らない。
- hg repo を clone してくると、謎のスクリプトを使って別途 ns-3 本体をダウンロードすることになるので使わない。tarball を落としてくるだけで良い。
- ns-3 には waf という万能スクリプトが同梱されていて、これが configure や make をラップしている。これは使う。
- waf をラップする build.py や bake というスクリプトも同梱されているが、よく言えば開発途中みたいなものなので使わなくて良い。
- Wiki にも "Most users quickly transition to using Waf directly to configure and build ns-3." と書いてる。
- "ns-3 mac" みたいなキーワードでググって出てきた公式っぽいページは見ない。10.6 の話をされても仕方あるまい。
- Python 2 しか使わない。
ドキュメントを斜め読みする
ns-3 wiki の Getting Started を読む。以下の項目は飛ばす。
- Downloading ns-3 Using Bake
- Building with build.py
- Building with bake
下準備
tarball を落とす。ns-allinone-3.27
という名前はヤバそうだ、なにが all-in-one だ、という気持ちは抑え、落ち着いて展開する。
ns-3.27 ディレクトリに潜る。今後は ns-3.27 ディレクトリより上は忘れます。
ここからは万能スクリプト waf を叩いて回る。まずは configure 。
$ ./waf configure --build-profile=debug
(snip configureっぽい出力) ---- Summary of optional NS-3 features: Build profile : debug Build directory : BRITE Integration : not enabled (BRITE not enabled (see option --with-brite)) DES Metrics event collection : not enabled (defaults to disabled) Emulation FdNetDevice : enabled Examples : enabled File descriptor NetDevice : enabled GNU Scientific Library (GSL) : not enabled (GSL not found) Gcrypt library : not enabled (libgcrypt not found: you can use libgcrypt-config to find its location.) GtkConfigStore : not enabled (library 'gtk+-2.0 >= 2.12' not found) MPI Support : not enabled (option --enable-mpi not selected) NS-3 Click Integration : not enabled (nsclick not enabled (see option --with-nsclick)) NS-3 OpenFlow Integration : not enabled (Required boost libraries not found) Network Simulation Cradle : not enabled (NSC not found (see option --with-nsc)) PlanetLab FdNetDevice : not enabled (PlanetLab operating system not detected (see option --force-planetlab)) PyViz visualizer : not enabled (Python Bindings are needed but not enabled) Python Bindings : not enabled (Python library or headers missing) Real Time Simulator : enabled SQlite stats data output : not enabled (library 'sqlite3' not found) Tap Bridge : enabled Tap FdNetDevice : enabled Tests : not enabled (defaults to disabled) Threading Primitives : enabled Use sudo to set suid bit : not enabled (option --enable-sudo not selected) XmlIo : not enabled (library 'libxml-2.0 >= 2.7' not found) 'configure' finished successfully (2.432s)
not enabled で必要そうなコンポーネントがあったら、Homebrew を使って入れると良いと思う。LD_LIBRARY_PATH とか渡して上げる必要はあるかも。やってないからわからん
ではいわゆる make をしましょう。ns-3 本体の全体をビルドするから時間がかかる。
./waf -j4 # make っぽく -jN できる
[ 1/2261] Compiling install-ns3-header: ns3/antenna-model.h [ 2/2261] Compiling install-ns3-header: ns3/isotropic-antenna-model.h [ 3/2261] Compiling install-ns3-header: ns3/angles.h (snip)
適当なスクリプトを動かす
scratch ディレクトリの中に自分が書いた C++ スクリプト(シナリオ)を置いておくとビルドされる。っぽい。
$ cp examples/tutorial/first.cc scratch/myfirst.cc # 適当なサンプルをコピー $ ./waf # ビルド $ ./waf --run scratch/myfirst
Waf: Entering directory `/Users/osyoyu/Development/ns-allinone-3.27/ns-3.27/build' Waf: Leaving directory `/Users/osyoyu/Development/ns-allinone-3.27/ns-3.27/build' Build commands will be stored in build/compile_commands.json 'build' finished successfully (4.567s) At time 2s client sent 1024 bytes to 10.1.1.2 port 9 At time 2.00369s server received 1024 bytes from 10.1.1.1 port 49153 At time 2.00369s server sent 1024 bytes to 10.1.1.1 port 49153 At time 2.00737s client received 1024 bytes from 10.1.1.2 port 9
動いてそう。良かったですね。
ISUCON7 予選2日目にチーム「学生気分」で参加した
ISUCON7予選2日目に参加した。メンバーは昨年、一昨年と同じく @osyoyu, @KOBA789, @everysick とチーム「学生気分」で出たが、実は大学を中退して学生ではなくなったメンバーが1名いるので一般枠です。
最終スコアは 80770点 (ベストスコアは 87598点) で、惜しくもなく予選落ちしてしまった。が、仮に学生枠で出場していれば3位で予選通過だった点数は取れたので、実力は伸びてるっぽい(?)。
最終的な構成
- Server 1, 2
- puma (1 worker, 16 threads)
- Server 3
- puma (1 worker, 16 threads)
- MySQL
所感
チームを組んで3年目、ようやく ISUCON を戦える分業体制が敷けた。全体として時間の浪費を減らし、問題そのものにきちんと取り組めたが、その分だけ点数を伸ばしきれなかった悔しさがある。けれども、初めて*1まっとうに戦えたので、その点はちょっと嬉しい。
自分は下回りと DB を整え続ける役回りをやりつつ、アプリを正攻法で殴っている KOBA789 をペアプロ的な感じで手伝っていた(と思う)。コードを触る人をとにかく減らしたことで現状に対するメンバーそれぞれの認識が分散しなかったことと、単純にコードが分散してしまって最新が行方不明になる類の事故が完全に防止できたことで効率よくボトルネック潰しに取り組めた。everysick は Redis とかやってたと思う。
同じ部屋に集まり、何をしているかを声に出すことで作業内容を共有し続けたことで、手がついていない事項も共有され、途中から自然と分担が進んで効率が高まっていった。
Server 1 に適用したコードや設定の更新をほかの2台に配布・適用するだけの超雑なスクリプト (mamiya.sh と名付けた (失礼)) を書いて運用していたが、非常に便利だったので、この手のツールを面倒臭がらずに作るのは大事ですね。
「じゃあ mamiya するよー」「mamiya 待って」「mamiya OKでーす」「じゃあエンキューするね」 #isucon
— ゆーちゃん (@osyoyu) 2017年10月22日
所感2
経験というか、このチーム固有の便利なことなんだけれど、KOBA789 と everysick がほとんど同じ Emacs の設定を使っていて、自分だけ Vim なので、設定のコンフリクトが起きなくて楽。とはいえ zshrc は 2vs1 でかなりカチ合うわけだけど、それはもう分かりきっていることなので PROMPT などを書き換えるスクリプトをササッと書いてログインするたびに叩いてた。後者は経験か。
上にも書いたけど、コードに触る人を減らしてしまうことでマージ・デプロイの煩わしさを減らせたのは良かった。この辺は普通の感覚ならば UNIX ユーザーをそれぞれ作ったり、それぞれの作業用インスタンスを作ったりしたくなったりして(実際今まではそうしていた)大変なことになっていたと思うので、これも ISUCON 経験なんですかね。
あとは床に寝そべらず、椅子に座ったのが良かったのかも。
所感3
スロークエリや分かりやすいボトルネックなどを潰しきり、終盤はやるべきことが分からなくなってしまったが、上位陣とは背中も見えないほどの点数の開きがあったので、彼らは本当に強いんですね……。
やったこと・やれなかったこと
この項を忘れないうちに書いてしまいたいのだけれど、手元にメモがないのでまたあとで
*1:昨年・一昨年はほぼ0点に近いスコア
キーボード(音が出るほう)を買った
キーが少ないほうね。文章が書けないほう。どう言えば明確に区別できるんだ。
先日、急に楽器が弾きたくなり、衝動のおもむくままに近所の WonderREX (茨城にあるハードオフみたいなやつ)に駆け込んだところ、種々の電子ピアノやキーボードが異常に安い値段で投げ売りされていたので YAMAHA DSR-500 という機種をつい買ってしまった。
こういう感じ。
とりあえずカレンダーガールの初心者向けピアノ動画を0.3倍速で見つつひたすら練習していたところ、右手だけなんとか押せるようになってきた。好きな曲の音が出せるだけでけっこう楽しい。
ピアノの類は一切未経験・五線譜は全く読めないので、はじめは調号の存在に気づかずに(譜面通り B を押してるのに明らかに違う音だぞ……? 動画の下のピアノではなぜか A#押してるし……)と思ったりしてた。知ってる曲だと違う音を出しちゃったときにすぐに分かって便利。
途中からこういうカンペを作って見ながらやってる。一時記号とかナチュラルとかが出てこなければまぁまぁ分かるようになってきた気がする。ナチュラルの記号がわからなくて [楽譜 記号 互] でググったのはここだけの秘密な(♮って 互 に似てるじゃん?)。
自分としてはカレンダーガールっぽい音が出せるようになってきただけでかなりエンジョイできてて、間違えまくってはいる*1もののめちゃめちゃ面白く感じている。それっぽく弾けるようなるまで頑張りたい。
ところで今日は 8/17
なので僕の誕生日です!!!!!! 祝ってくれ!!!!!!!! プレゼントは http://amzn.to/osyoyu でお盆も受け付けています!!!!!!!
*1:10秒ちょっとのイントロを間違えずに録音できるまで10分かかった
PushCrew を使ってブラウザ通知を出すのをやめてほしい && ユーザーの設定を尊重してほしい
ブンブンハローユーチューブ、ユーザーの設定は尊重しましょう
↑ 記事の本文に丸かぶりするダイアログの様子
ブラウザ通知そのものの是非はさておき、PushCrew はブラウザの通知に関する設定を全く尊重せず、あらゆる通知をブロックする設定にしていてもこのダサいダイアログを画面の真ん中に出してくる。
ド迫力で通知を許可するように求める Facebook だって
ブラウザーの設定で通知をブロックしていれば (Notification.permission === "denied"
であれば)こんな画面を見ることはない。
ちなみに全ブロック状態で PushCrew のダイアログで [受け取る] を押すと、こういうレイアウトが壊れたウィンドウが出てより悪い。
というわけで、自分のブログなどに PushCrew 設定している各位は ユーザーの意志の表明を無視してまで 通知を押し付ける必要があるのか今一度考え直していただきたいです、こちらからは以上
丸い Twitter を四角くするブックマークレット
↑ これをブックマークバーにドラッグして、twitter.com で押せ
Before
After
広告
最高プレゼンライブのプレエントリーを公式サイトで開始しました!最高オーディエンスも最高プレゼンターも大募集中です!6/30までのプレエントリーで特典もあります!皆様のプレエントリーをお待ちしております!! #最高ライブ https://t.co/l3r7u1Sfwk pic.twitter.com/eOwZ7IDpGR
— 最高プレゼンライブ (@saikoh_live) 2017年6月15日
blog.osyoyu.com アーカイブス
長らくDNSレコードさえ当たっていなかった blog.osyoyu.com の遺骸たる wp-content と MySQL のデータを集め、それらを新しく立てた WordPress に放り込んだ。更新はしない。卒アルみたいなものです。
「まだ半分残ってる (2012)」、「しょーゆ日誌 (2012)」、「しょーゆ日誌 (2013)」、「しょーゆ日誌 (2014)」からお届けします。これ以前にWordPressでブログを書いていたかは覚えていない。
移行した記事
まだ半分残ってる @ WordPress 3.4.1
- 2012-05-29 Hello, World!
- 2012-05-29 Apache を suEXEC 付きでビルドしてバーチャルホストで PHP-CGI を使う
- 2012-06-13 ドコモwebメール のメールを Gmail に取り込む
- 2012-06-30 Arch Linux実機インストールメモ (Xインストールまで)
- 2012-07-07 X Window Systemでキー入力中のタッチパッド無効化 (syndaemon)
- 2012-07-13 セキュリティキャンプ 2012 応募しました
- 2012-07-14 Android端末のパケットをキャプチャしてみた
- 2012-07-18 pacman -Syu したらエラーが出たので適当に対処
しょーゆ日誌 (2012)
これはオリジナルのデータはなかったので、Internet Archive から手動でコピペした。
- 2012-10-03 Hello World!
- 2012-10-05 Ruby+WebSocketでオンラインゲームを作ろう
- 2012-10-07 XSSを放置してたら数十分でサイトのデザインが出来上がってた件
- 2012-10-08 Rubyで可変長引数を使う / 引数を配列で渡す
しょーゆ日誌 (2013) @ WordPress 3.8.1
- 2012-12-31 Gehirn RS2 に移行しました
- 2013-01-01 2013 あけましておめでとうございます
- 2013-01-03 mikutterのキーバインドをVim風味にしてみた
- 2013-01-14 ぶろぐかいた通知用テスト記事
- 2013-01-14 Walkman NW-805K 購入しました
- 2013-03-31 Google Play Music Player が便利すぎて便利すぎるから便利
- 2013-04-29 Linux で文字コードが違うファイル名を rm / mv する方法
- 2013-12-21 US配列なMacで入力ソースの “U.S.” を無効化する (OS X 10.9)
- 2013-12-31 2013年を振り返って
しょーゆ日誌 (2014) @ WordPress 3.9.2
- 2014-03-02 OSC 2014 Tokyo/Spring に行ってきました
- 2014-03-04 今すぐに死ぬべきWebページデザイン集
- 2014-03-16 function と if のまわりの { } のインデント
- 2014-03-18 CSS: クラスセレクタと :nth-child 擬似セレクタの組み合わせ
- 2014-03-20 筑波大学に合格しました
- 2014-04-07 大学受験の記録みたいなもの
- 2014-05-05 #tkbctf3 Writeup
- 2014-05-07 ThinkPad X240 で 64 bit guest を使う
- 2014-06-17 Vimとセキュキャンの応募用紙、それとVimの話 #seccamp
- 2014-06-29 CTF for Beginners #ctf4b に参加しました + Write-up
- 2014-07-11 カレーを作れた
- 2014-07-15 rEFInd がコケて EFI Boot できなかった
- 2014-07-17 Linux でノートパソコンのフタを開いた時にスリープから復帰しないようにする
- 2014-07-17 ThinkPad X240 の ClickPad と TouchPoint の設定をいじって使いやすくする
- 2014-09-02 パソコンを使っていて困ったときにするべきこと10選
出土した下書きをそのまま公開状態に変えた記事
どちらかというと後悔
しょーゆ日誌 (2014)
- 2014-03-04 大学受験ログ(仮)
- 2014-03-06 ChatPadで18歳の女の子になっておっさんを釣ろう
存在していたことは確認できるが、本文のデータが見つからなかった記事
- 2012-09-27 gvim に Source Code Pro を設定してみた (ツイート, はてブ)
- 2014-02-02 WalletMonaを使って簡単にMonacoin決済を実装 (404) (ツイート, はてブ)