2014-03-14: AWS Game Day Japan 2014 Spring

AWS Game Day Japan 2014 Spring に参加してきた。

問題は 2013 開催のやつと一緒。Image processor とか SQS とか使うやつでした。

チームメイトは @suzryo さんととささん。 (ref: suzryoさんのレポート )

あらかじめ断わっておくと強く批判しているつもりも dis っているつもりもないけれど、運営側が対戦相手のマッチングでミスをして、こっちが攻撃しているアカウントは他のチームも同時に攻撃していて、一方自分のチームのアカウントは攻撃を受けていないという状態になった。

つまり攻撃フェーズ中は意図しない変更がされてこちら側の攻撃が無効化されたりするし、自分のチームのアカウントは攻撃されちゃいないから復旧フェーズとは何だという状態でした。運営側を強く攻められないし攻めるつもりもないけど、正直に言うとわりと残念でテンションが下がった。

復旧フェーズで何も力試せなかったというのもそうだけれど、攻撃フェーズもこっちの意図した攻撃になってないとかそういうよくわからん感じになって… 途中で同じチームを攻撃しているチームの影響で作業止まったりしたし… (それに関しては運営のミスなので同じチームを攻撃していた他チームに対しては全く何も思ってないです。)

やった防御

あまり防御策は思いつかなかった。us-east-1 への構築を主に自分が担当して、suzryo さんは別リージョンでのバックアップみたいな事をやってくれていた。

防御としてやってみたのは、コマンドインジェクションで ec2-user の権限が奪えてしまうので、まず ssh アクセスはされないように crontab で毎分 authorize_keys を書き戻すという処理を入れてみたりしていた。

やった・やろうとした攻撃

  • SQS input queue の visibility timeout = 0 sec や delay timeout を最大にしたり、dead letter にすぐ飛ばしてしまうように
  • S3 の requester pay を有効化
  • Auto Scaling Policy で存在した scale out ポリシの cloudwatch alarm を若干いじっておく (不等号入れ替え、statistics を min にして分かりにくく無意味なものに)。ついでに cooldown 1800 sec とか。
  • ↑のカモフラージュ用に常に ALARM 状態、remove 1 instance するような Auto Scaling Policy を入れる
  • S3 bucket policy で getobject を deny
  • 後はやろうとしたけど出来なかった攻撃:
    • EC2 instance に結びつける IAM role でワーカーインスタンスの権限管理をしていたため、Auto Scaling 用の Launch Configuration では IAM role を指定する。ただし、攻撃用で利用する Power User には IAM に関する権限が与えられていないため、IAM role を指定して Launch Configuration を作る事ができなかった... (もしかして API 経由なら出来たのかなぁ)
    • Launch Configuration つくりなおせれば UserData で細工したりいろいろ面白い事ができたなあ…
  • これは時間がないのと他攻撃チームとの作業衝突でうまくできなかったのだけれど:
    • CLI tools 用の instance があったので、同じ user data で key pair だけ入れ替えて作成しなおし。そこに iptables を突っ込み、VPC Route Table をいじって S3/SQS へのリクエストが稀にうまくいかないみたいな状態にしようとしていた

2 チームがばらばらで同じチームに攻撃しているもんだから、途中でよくわからんインスタンスがでてきたり、SG いじられて疎通しなくなったり、default route 消されて疎通しなくなったり、auto scaling policy ががらっと入れ替わったりしてそれはそれでカオスで面白かった。

復旧

攻撃されてないので出来ず。

まとめ

Miles さんの "Hack Day must be fun, nothing to scare" っていう言葉はよかった。あと Miles さん「チョ〜スゴイ (日本語)」とか言ってたりおもしろかった。まあでも "(my) Nihongo is terrible..." とかいって基本英語だったけど。

途中からマッチングミスという事実が発覚してテンション落としつつもいろいろ弄れて楽しかった。次回開催で同様の事故がおこらない事を祈ります… 次回は復旧フェーズもやりたい…

あと、要望としてはマニュアル読んでみんなで同じもの構築とか無駄なので、構築は CloudFormation でサクッとやって防御に 100% 時間を振りたい感じかなー。

運営の皆様方お疲れさまでした。

Published at 2014-03-14 23:00:00 +0900

2014-02-28: Ruby 2.1.1 で Hash#reject のデグレ

Ruby 2.1.0 まで、Hash を継承したクラスの reject メソッドの挙動は継承クラスのオブジェクトを返す挙動をしてました。 しかし、 Ruby 2.1.1 で意図せずその挙動が変更され、必ず Hash クラスのオブジェクトが返されるようになりました。

class SubHash < Hash; end
p SubHash.new.reject{}.class #=> 2.1.0: SubHash 2.1.1: Hash
p Hash.new.reject{}.class #=> 2.1.0: Hash 2.1.1: Hash

(厳密には ivar 等その他の属性もコピーされなくなっています。 また、Ruby 2.1 からはバージョニングポリシーの変更により、2.0.0 までのパッチリリースにあたるリリース時で TEENY が増えます。詳細は今月の WEB+DB で!)

この挙動変更で具体的に影響を受けるのは、Rails の HashWithIndifferentAccess, OrderedHash です。壊れます (reject メソッドが必ず Hash オブジェクトを返してくるようになった)。 https://github.com/rails/rails/issues/14188

何故起きたか

そもそもこの挙動の変更は Ruby 2.1.1 では意図的ではないと思っています。事故です…。 これは bugs.r-l.o#9223 で昨年末 (2.1 リリース前に) 議論されていた変更ですが、この時期からの仕様変更はできないと Ruby 2.1.0 では見送られています。 そのため Ruby 2.1.0 では deprecated warning に留められました。 (それも --verbose, -v がついてないと表示されない物って…というのは今は置いておく。)

この変更の周辺コミットは https://gist.github.com/sorah/9265008 の通りです。詳細は←の gist を読んでください。 Ruby 2.1.0 の段階で、#ifdef により定数で警告+従来の挙動、あるいは警告せず新しい挙動 (必ず Hash オブジェクトを返す) という 2つ の挙動を切り替えられるようになっていました。尚、0 で新挙動、1 で従来の挙動になっています。

Ruby 2.1.0 リリースブランチが切られた後、trunk では r44358 で定数名が変更され、2.1.1 ブランチにバックポートされています。が、このコミットで一箇所 #ifdef 側の名前に変更漏れがあり、r44370 で修正されています。この r44370 がバックポートされず、必ず #ifdef が 0 と評価されて 2.1.1 では新挙動になってしまったという訳です。

事故ですね。

つきましては、r44370 をバックポートした Ruby 2.1.1p77 をビルドするか (たぶん大丈夫)、HashWithIndifferentAccess, OrderedHash にモンキーパッチで対処 する事をオススメします。

尚 r44370 のバックポートはされたので、2.1.2 では元の挙動に戻るでしょう。 https://bugs.ruby-lang.org/issues/9576

しかし、 2.2.0 では 2.1.1、つまり Hash クラスのオブジェクトが帰ってくる挙動に変更される ので、将来の事を考えたら 2.1.0 以前の挙動を期待するのはやめたほうが無難です。

Published at 2014-02-28 21:00:00 +0900

2014-02-18: にがつじゅうはちにち

(2/19 に書いてる)

なもり百合姫表紙画集 truth

なもり百合姫表紙画集 truth (イラスト集)
なもり
一迅社
売り上げランキング: 93

2012 年になもり先生が百合姫表紙で連続ストーリー描いたやつが一冊になった。黒いはなしだ…

標準添付の test/unit.rb で minitest の依存を書いた

Ruby 標準添付ライブラリである test/unit さんは実は gem として上がっている test-unit.gem とはちょっとちがくて (API は似てるのかな)、同じく標準添付 gem であるところの minitest.gem の内部に手を入れて test/unit っぽい API になったキメラのようなものです。どうしてこうなったという感じですがその頃は関わってないのであまり知らない。

minitest は現在 rubygems として push されているのは 5.x.x 系で、標準添付されている 4 系とは内部構造が大きく違っています。なので、gem install とか bundle install で 5 系がインストールされちゃってると、そっちが優先して読み込まれて test/unit.rb が壊れる。なぜいままで誰も気付かなかったという感じだ。

なので、test/unit.rb 冒頭で gem 'minitest', '< 5.0.0' しました。あまりライブラリでやるべき事じゃない事は分かってるんだけど、許してほしい…

5 系に追従しないの? っていう話とかはあるんだけど、test-unit 再バンドルの方が現実的な気がすると思ってる。あのキメラを維持する方がなんか微妙な気がする。そのうち意識を高めて現状まとめて ruby-core にチケット投げたい。

コミット

メモ

Published at 2014-02-18 23:00:00 +0900

2014-02-14: にがつじゅうよっか: Ruby 開発者会議, バレンタイン

雪の中、Ruby 開発者会議でした。夜は来日中の @kosaki55tea, @repeatedly, @tagomoris, nobu と鍋。

Ruby 開発者会議

  • https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20140214Japan
  • zsh の <<< で行末までのヒアドキュメントになる (勉強になる!)
  • 昔の Ruby から今の Ruby までで全部実行して試すスクリプト便利そう
  • golfer 御用達の goruby には Symbol#call が prelude で追加されていて map(&:+.(2)) が実は使える (マジで!)
  • _ ではじまる変数って警告の対象にならないんですよ (あーそんなのもあったわー)

focuslight のコミッタになった

https://github.com/tagomoris/focuslight

Perl じゃはやんないから growthforecast をモリスさんが Ruby で実装しなおしたけど、Perl で実は困ってないからどうしようかまよっている、という話からなぜか気付いたらコミット権をもらっている。コミット権もらってからユーザーになるという流れ、自分の事だけどおもしろい…

できる範囲でなにかやります。@sonots さんもコミット権もらったみたい。

akane-imkayac

twitter の TL で mention 以外で言及された場合も以前は twitter irc gateway (atig) → tiarra (Auto::Notify) → im.kayac.com で拾っていたんだけど、atig がたまに不調だったりするので akane のプラグインを書いて akane → im.kayac.com と直接送るようにしました。

これで言及されていたことに気付かない事がへる…はず。あと、streaming api なのでラグが減った。

どうぞご利用ください。といっても、akane については、まだドキュメントを書いてないのと書くきがあまり起こらない…

(atig の方もちゃんと追いたいんだけど、時間がね…)

fluentd とかもそうだけど、gem の形でプラグインが配布されてるなら Gemfile にまとめて書いて、Gemfile だけをデプロイするようにしておくと便利です。fluentd の場合、私設インフラでは設定ファイルも含めてデプロイしてるけど。

Published at 2014-02-14 23:30:00 +0900

2014-02-11: にがつじゅういちにち

明日から平日だというのに 16 時起床。

xtrabackup

xtrabackup いじってた。で、cron 用のスクリプトを書いた。S3 に最終的に投げるようにするつもりだけど、とりあえずここまで。

連れ込まれる… xtrabackup をつかってみた理由は mysqldump はつかったことあるしこっちも使ってみてはどうだろうという気軽な気持ちでした。

レジストラ

twitter account @N が奪われた話 をみてから思っていた事。

If you are using your Google Apps email address to log into various websites, I strongly suggest you stop doing so. Use an @gmail.com for logins. You can use the nicer custom domain email for messaging purposes, I still do.

これの起因はそもそもメールアドレスにつかっていたドメインの権威 DNS サーバーを変更する権限が攻撃者の手元に渡った (ドメイン自体が奪われる、レジストラのアカウントが hack される、etc) ことにある。 それが何を意味するかというと、要するに MX レコードとか SPF/DKIM の TXT レコードとかをいじれちゃうわけですよね。

アカウントリカバリーにメールアドレスを要求してくるのであればそのアドレスへのメールを受信できてしまえば良い。独自ドメインであるなら DNS レコードをどうにかしていじって MX を自分のサーバーへ向ければ良いわけだ。

生活に打撃を与えそうな重要なアカウントについてはすぐに gmail 等といったアドレスに変えた。残りだけど、いちいち変えてまわるのも大変なので引続き自分のドメインで。また、MX 関係の TTL を上げた。

実際この事例の場合はレジストラである GoDaddy のサポートがダメでアカウントを攻撃者に簡単に渡してしまったことにある。どこを信頼すればいいのかねぇ。

com/net/org についてはいろいろと検討できそうだけど問題は .jp のレジストラである。どこなら大丈夫と思えるかなぁ。

実際に自分で忘れたと連絡して奪おうとしてみるという方法も教えてもらった。時間があれば試したい…

Published at 2014-02-11 21:00:00 +0900

2014-02-08: にがつようか: 誕生日祝い@幸せのはし

連絡ですが、月曜休暇なので 4 連休 1 日目です。コードをかいたり貰った本を読む休みにしたい。

誕生日祝い@幸せのはし

P2080805.export

幸せのはし@asonas, @namamana, @mactkg に誕生日祝ってもらった。あそまなお二人にはプレゼントもいただいた。ありがとうございました。 (前回日記 2013/12/13)

雪が凄かった

玄関につもってて ドアあけたらこうなる し、エレベーターは↓表示で動こうとする意思を見せてくれたけど数分たっても動かないので階段にいったら階段もこんな様子 だし災難だった。帰宅してもエレベータ直ってなかった…

家でた直後は iPhone 5s のカメラで捉えられる程の吹雪だった。うーん、明日からは地面凍ってるんだろうなあ…雪、冷たい雨よりマシとはいえ、やだなー。

Zabbix 2.2 に上げたりいろいろ

PHP のバージョンがそろってないのであげたい → ついでに zabbix 2.2 にしよう → ついでに mysql とか nginx の監視も zabbix に整えよう、みたいな感じで zabbix 2.2 にあげたりした。

「Zabbix 2.2 にしたら housekeeper カスタマイズできるようになってるんだけどこれがアップグレード後のデフォルトがオフなんだよ気をつけてね」と前にどこかで聞いた覚えがあるので忘れずに入れた。データベースのマイグレーションというかアップグレード処理は zabbix-server 立ち上げたら勝手にはじまってくれた。

ついでに mysql の監視とかもととのえました。 あと nginx プロセス監視は proc.num[nginx] で item 登録して trigger セットした終わり。nginx の stub_status ごにょごにょするのも用意したい。

conoha 障害

16 時くらいに急に疎通しなくなってアラートがきた。DoSつらい… しかし、conoha のサーバーにも tiarra 置いて普段みないチャンネルの op 維持 + op 配布 bot としてつかってたんだよな…失なった…

OP ロスト + DoS といえば ircnet のここ最近の DDoS でいくつかのチャンネルの OP を失なった状態でつらいです。どうにかなんないんですかね…


明日は夕方バルト9 にアイマス見に行きます (3 回目)。

あと、2014/2/16 (日) 13:55 @ バルト 9 の舞台挨拶も当選しました。なので平日どっかで一回みにいくと思う。(前売り券残り 2)


以下おまけ

P2080748.export

P2080685.export

P2080807.export

P2080809.export

P2080739.export P2080713.export

P2080724.export P2080802 (2).export

P2080684.export P2080675.export

P2080712.export P2080759.export

Published at 2014-02-08 23:30:00 +0900

2014-02-02: にがつふつか: アイマス映画(2回目)+舞台挨拶, Maze party

朝は 10 時半頃に起きて @giginet を送りだした。

tl;dr 2/4 誕生日なので何かください http://amzn.to/sora_h よろしくお願いします

porticron の導入

porticron を導入した。便利便利。 これで security update を逃さない。

アイマス映画「輝きの向こう側へ!」 (2回目) 舞台挨拶

THE IDOLM@STER MOVIE 輝きの向こう側へ! 2 回目を見てきた。 (日記: 1 回目 01/25)

TOHO シネマズ渋谷 18:35- の舞台挨拶つきの回でした。あずみんと若林さんとあっきーとばねP。 前から3列目くらいで良かった。「泣いちゃえよ〜」「泣きませんよ!」のくだり良かった。みなさんかわいい。あと、ばねPすごいなあ。いろんな意味で。

あずみんの「アイマスですよ、アイマス!」もよかった。

映画本編は前回とはちがってさすがにずっと涙目とかではなかったけど、やっぱり終盤で春香のセリフにやられ涙腺が崩壊したのと、やっぱりライブシーンでも涙腺崩壊しました。ライブシーン、繰り返し見たい。雪歩かわいいし星梨花ちゃんかわいいしみんなかわいいし、いおりんすごく良い子だし、やっぱり良かった。

前回見逃した響が遠くでおいしそうにごはんを食べてる表情もみた。後はやっぱりはるちは食傷気味な気がする。

次回以降はいよいよ前売券の消化に入ります (残 3 枚)。平日とかにいくと思う。

Maze party @ 渋谷 OTO

に 16-18 時頃いた。Qrion さんのまで見たかったんだけど、前述のアイマス舞台挨拶とかぶっていたので断念…

なにも考えずにみなさんの事をフォローしていたら Qrion さんからフォローバック飛んできて名前も呼ばれたのでびっくりしてしまった。

インターネットすごい! (こわい)

渋谷からの帰りなんか視界が霞んでみえる、霧か、気の所為だろ、と思ってたら濃霧注意報出てたらしい。めずらしい…

2/4 誕生日です

というわけで wishlist はこちらです。よろしくお願いします。 http://amzn.to/sora_h

Kindle 本などはギフトできないので Amazon ギフト券 (メールタイプ) でもらえるとよろこびます。 gift -at- sorah _dot_ jp までよろしくお願いします。

iTunes Gift もうけつけております。

SSL 証明書をかった

sorah.jp の MX が今 1 台に減ってしまっていてやばいなーと思ったので別サーバーに postfix をつっこんでいた。といっても puppet module を include するだけで DKIM と SASL までちゃんと設定してくれて過去の私偉い! なんだけど、SSL 証明書が…

今迄、俗にいうオレオレ証明書でだましだましつかってたんだけど、もう一方のサーバーの証明書も切れてたしこれを気に SSL 証明書を注文してみた。CA.pl よくわからないし諦めた。

本当はワイルドカード証明書が欲しい。

Published at 2014-02-02 23:00:00 +0900

2014-02-01: にがつついたち

人を泊めたことも重なって速く寝たので10時には起きていた。

私設インフラ業

日中は個人インフラで諸々いじっていた。value-domain の DNS から脱却するため残っていたDDNSの部分を r53 api でできるようにおきかえたり。awscli 便利だなぁ。

Docker

Docker もポピュラーな distro を VM にいれて試したりはして見たんだけど、がっつり使って見てなかったので普通に常時動かしている Gentoo server に突っ込んで puppet manifest も作った。

諸々自分のための Gentoo イメージを作ろうとして力が尽きた。

デプロイ周りもすでに普通にcapでやっていたりとそんな困ってないので積極的に Docker に移行する必要はないかなぁ。確かにすぐに他のホストに動かせたりして便利そうだけど、今もpuppet manifest適用してデプロイし直すだけで動くし。捨てるかもしれない変更を試す時には便利かもしれない。

ツールを実装してる言語の作法から切り離して配布したい/してほしい

ただツールをインストールして使いたいだけなのに、それが ruby なり perl なり python なりといった LL で実装されているとその言語の環境を用意しないといけないの、めんどうくささとだるさがある。導入のハードルが上がる。

例えばawscliって今pipでいれるようになっているけど、万人に使って欲しいツールはそれぞれのLL言語の作法というか文化というか、パッケージマネージャなりbundler/carton/virtualenvみたいなものに依存しないで配布した方が色々楽だなーと思った。

ただツールを使いたいだけなのに、自分で使うわけでもない言語の環境整備からはじめないといけないのはハードルが高いしだるさになる。自分は Ruby には慣れてるから gem install / bundle install して使うツールは楽だけど、みんながそうなわけではない。

他にも Distro のパッケージマネージャーが変にその言語の環境、パッケージマネージャーと無理矢理気味に連携していることもあるので、変にそういうところで罠を踏みたくなくて結局1からいろいろ入れて行くみたいな感じになる。だるい。やるけど。

例えばtd-agentはRubyインタプリタごと含めてパッケージになっているけど、そこまでしなくてもいいので必要な依存パッケージを全部くるめたtarball/各distro用パッケージを簡単に用意できるといいなぁ。そういうツールを作るといいのだろうか。

後、そういう意味では go lang は強くて、バイナリパッケージにすぐできるからいいですね。ビルドも手軽そうだし。

クラッシュバンディクー(初代) をプレイした

こないだクラッシュバンディクー(初代)に言及したのもあって(また)やりたくなっていたので PS アーカイブで購入して遊んだ。8pm-2am で "クールなピンストライプ" までやった。3つ目の島まで突入してるから2/3くらいかな。

遊んでて思ったのはこのゲーム、2からは解消しているものの初代はレベルデザインがやっぱりおかしい、難易度高すぎる… でも、慣れてくるから人間すごい。

まずセーブがステージ中にアイテム三つ揃えてボーナスステージをクリアする(チャンスは一回)必要があって、これにこけるとゲームオーバー時にだいぶ前まで引き戻されてしんどいはめになる。"トカゲでだいジャンプ" はそれで何度もプレイしたけど、最後はノーミスあるいは1ミスくらいでクリアできるまで慣れてしまった。人間すごい。

しかし数年おきにこれを一からプレイしている気がするけど、今回が一番進めている気がする。ペースも。

あとは奥スクロール、ちょっと時代を間違えているような気もする。3DSでやりたいですね。

Published at 2014-02-01 23:30:00 +0900

2014-01-28: いちがつにじゅうはちにち: Asakusa.rb #245

Asakusa.rb #245

海外ゲストが来ていた。途中から絵馬亭 へ。

  • heroku の www.ruby-lang.org のやつってほとんど static file なので実は rack app ほとんど仕事してなくて heroku router で全部さばいてるんじゃないって気がしている

    • dyno 0 にしてもうごくんですかね、やってみよう
    • だめでした
  • Apache Cassandra Evangelist! ほうほう

  • わたしは retrobot をいじってました (後述)

英語しゃべれなくてつらい思いをした。精進したい(といってる内はなにも進歩しないのだろう)

retrobot

tl;dr retrobot@sorah_retro で動かしはじめました

retrobot とは

retrobot という物がある。これについては 1年前の自分と暮らす - 昼メシ物語 をみてもらうとして、ようするに tweets.csv から 1 年前の tweet をツイートしてくれる bot script。

もともと @mirakui_retro からはじまり @ryopeko_retro, @negipo_retro だけだったのかここ数日で(mirakuiのブログが影響なんだろうけど)増えてたので流れにのった。というより、1年前のツイートをざっとみた結果まあ耐えられるだろうという感じで。(ちょっと前は無理だった)

(1週間前から黒歴史、わかる)

観測できている retro bot たちはこのリストでまとめています。suggestions are welcomed. https://twitter.com/sora_h/retrospective

パッチもおくった

というわけで動かそうと思ったんだけど、その前にうごかそうとしてうーんめんどいとなった理由がいくつかあって:

  • gem になってないのでデプロイがめんどうくさい

    • gem になってると Gemfile に retrobot と capistrano を入れて Capfile 書いてデプロイどーん (ちゃんとデプロイスクリプトもアプリケーションと分けたリポジトリで git 管理できる!) ができる。サーバー運用上きもちわるくならない
  • 設定が環境変数あるいは dotenv 経由なのでいやだ

    • ENV は時によって insecure だし設定ファイルと dotenv 何がちがうのかよくわからない

とおもって放置してたんだけど、このたび重い腰をあげてパッチを書くことにして、書いた: https://github.com/mirakui/retrobot/pull/5

わりと大規模改修なので事前に確認をとって go ahead 言われたというのが一番やるモチベーション上げたかもしれない。大規模な改修になるから元のコードスタイルを尊重したつもりができてないこともあって、心象が悪くなるかもしれないとか思っていたりした。が、方向として ok がでれば reject される心配はなさそうだった、という具合。

うごいています

というわけで、うごいてます: https://twitter.com/sorah_retro

アイコンは今 @sora_h のアイコンと同じ人にかいてもらっていて、当時(数年前)もう1枚描いてもらったやつ。

デプロイ先はさくらの VPS です。

CD / iTS

M@STERPIECE、発売日当日配信、カラオケも当日配信っていう気の入りよう… (アイマス曲の当日・先行配信はぷちますの twelve seasons 以来 1 年ぶりじゃない?)

いやしかし M@STERPIECE なんか聞いた瞬間に何かぐっとくるものがあって、映画の印象が強すぎるなぁと思った。とても良いです。はやくききたかったので先行配信から買ってしまった。CD はそのうちくると思う。

iTS では以下。アルバムは今買うと給料日前しんどくなりそうなので一旦自重。

CD は以下。

THE IDOLM@STER LIVE THE@TER PERFORMANCE 10 アイドルマスター ミリオンライブ!
高坂海美(上田麗奈),徳川まつり(諏訪彩花),宮尾美也(桐谷蝶々) 四条貴音(原由実) 原由実 四条貴音(原由実) 徳川まつり(諏訪彩花) 高坂海美(上田麗奈) 宮尾美也(桐谷蝶々) 上田麗奈 諏訪彩花 桐谷蝶々
ランティス (2014-01-29)
売り上げランキング: 146

日記の行間幅を

この日記って游ゴシックつかえる人は游ゴシックで見えるようにしているんだけど、なんか行間が妙に広すぎるので line-height を指定してみました。一応ヒラギノ角ゴ (OS X, Chrome / Firefox) と Meiryo (Win 7, Chrome) でも問題なく表示されることを確認してあるけど、万全じゃないと思うので崩れていたらお知らせください。

Published at 2014-01-28 23:55:00 +0900

2013-12-03: じゅうにがつみっか: Asakusa.rb #239

Asakusa.rb #239 でした。英語力の無さを感じますね。ええ。


出社直前に家のネットワークが突如死んだので放置して出社した。

帰宅後に調査したんだけど、症状は:

  1. 外部に疎通できない (PPPoEセッション 2 つとも落として再接続にコケてる)
  2. 外部に疎通できなくなったと思ったらルータの管理画面に 80/tcp で到達できなくなった (curl でも Can't assign requested address, Chrome は ERR_INVALID_ADDRESS)
  3. でも Ethernet でつながってるマシンからは管理画面到達できるなぁ

この場合疑ったのは 4 つで、

  1. ルータの Wi-Fi 部が死亡
  2. ルータの WAN ポートが死亡
  3. VDSL モデムの不調
  4. VDSL←→ルータの接続がおかしい (ケーブル)

とかだった。とりあえず何度か VDSL モデムとルータを再起したりしたものの改善せず。

調査していて気付いたのは起動しっぱなしで転がってた MBA 11" から管理画面には疎通可能だったという事で、 どうやら偶然マシンも不調になっていたっぽい。ふしぎ。

なのでとりあえず Wi-Fi がおかしいという不安は解消されたし、実際当該マシンも再起動したらちゃんと直った。絶妙なタイミングかなんかキャッシュかなんかがおかしかったのかなあ(ネットワーキングは疎いのでわからない)

とりあえずだとすると残る問題は ルータから PPPoEセッションが貼れない問題なので、まずWANポートからケーブルをぬいて MBA に刺して直接 PPPoE を試みるもつながらない。うひー。

あまっていたイーサネットケーブルにおきかえてみたらつながった、が、これは短くてそのままルータまではもっていけなさそう。 うーん、買うかなあ、と思ったけど元のケーブルをVDSLモデムにさしなおしてみたら難無く接続された。なんだったんだ…

というわけで結論は 4 でした。解決してよかったですね。窒息死は免れそうです。


昼過ぎにヒカリエ倒壊の情報が流れてたけどこの件だったらしい。

公式でヒカリエが倒壊していませんと tweet されるの だいぶおもしろい状況 だと思う…


VAIO Pro 11 買った - shyouhei.tumblr.com を見て。

VAIO Pro 11, 素直に Linux が入ったらしいし普通に軽くて値段もそこそこなので興味がある。US 配列あるし…

実際確かに MBA 11" より軽かったけどまあ頑丈さには欠けそうな感じがした。 横幅は MBA 13" についているキーボード部分の溝とほぼ一緒だった。マシンの横幅がそれなのでそこからさらにキーボードの横幅がせばまるかんじですね。慣れなんかなあ。

いまのところ OS X で強く依存しているのは iTunes, YoruFukurou くらいなのでなんとかできる気もするけど…うーん。

冷静に考えて資金はないので夢物語ですね。

Published at 2013-12-03 23:30:00 +0900

2013-11-29: じゅういちがつにじゅうくにち: rbug#8872, 弐寺SP5級ほか

勤怠締めた。今月もお疲れさまでした。


rails/rails の方に segv 直したわーという pull request が飛んできていて何事かと思ったら regression が発生していたらしい。

どうやら Bug #8872 (commit: r42869) で case 文が === メソッドを呼ぶときに refinement を考慮してやる変更をした時に method_missing 含め、メソッドが存在していなかった時の事を考慮してなかった。

つまり === が未定義 (Proxy とかでつかう BasicObject を直接継承したクラスだとわりと有り得る) だと取得してきた method_entry が NULL で SEGV していた。

とりあえず r43913 で直したけど、そもそも r42869 自体どうなんだと今更つっこみがはいってきたりしている。どうなるのかなあ。


gdb が Xcode 5 で消えてしまったのでデバッグつらすぎる。make lldb できるようにするかなあ。


RubyForge が終わるそうです。


弐寺、SP 5 級到達した。なのでそろそろ☆ 5 に手を伸ばします。

最近 jubeat やってなかったから Lv10 で A とりにくくなっててウケる。

あっ PASELI… あっ


すいません、techlion はいつも通り格好でいきます。

Published at 2013-11-29 23:30:46 +0900

2013-11-09: #isucon 3 参加記

予選を通過した #isucon 3 に参加してきました。おつかれさまでした! (予選の様子はこちら)

PB098528.jpg

結果から言うと最終計測で fail してしまった。無念。人権がない。うまくいけば 20k くらいは乗れただろうけど fail したのでそんなのは関係がない。

以下、自分のチームが何をしたか等。

... Continue Reading...
Published at 2013-11-09 23:30:00 +0900