Ansibleで牛が表示されるのをやめたい

きっかけ 久しぶりにAnsibleでサーバを構築していたのですが、なんかいつもと表示が違う… 動物っぽいような…牛ですね。 そして、なんとなくこの出力、見覚えがあります。 cowsay コマンドだ! $ cowsay "hello world" _____________ < hello world > -------…

LXDで作ったコンテナをcloud-initで初期化してみる

LXD2.0がもうすぐリリースされますね! LXDでコンテナが簡単に作れるようになったらコンテナ生成時にsshログインするための公開鍵を設定したり、任意のスクリプトを走らせたりしたくなりますよね。 調べてみたところ、LXDはcloud-initに対応していたようなの…

AWSのAvailability Zoneとロケーションの関係

シンプルなんだけど面白かったのでまとめました。 AZ(アベイラビリティーゾーン)とは ご存知の方も多いと思いますが、AWS(EC2)のロケーションは、リージョンとアベイラビリティーゾーンという概念があります。 リージョンというのは、 東京 や バージニア 、…

松屋アドベントカレンダー 15日目

この記事は、松屋 Advent Calendar 2015 15日目の記事です。 @kuro_m88 です。 4月から社会人デビューをして、シブヤーで一人前のエンジニアになるために修行しています。 シブヤーはIT系企業が多く、道玄坂界隈には特に密集しているという噂も。 忙しい時や…

busybusyboxというDocker imageを作った

busybusybox 簡単な負荷試験や、CPUの使用率制限の実験とかするのに、CPUを使いまくってくれるコンテナが欲しいなと思って作ってみました。 中では、opensslのベンチマークを無限ループさせてるだけです。 github.com 名前ですが、 busybox だと紛らわしいし…

Dockerでダイナミックルーティング!

前回、Dockerでルータが動くようにできたので、今度はルータを使ってダイナミックルーティングをしようと思います。 kurochan-note.hatenablog.jp 使うもの ubuntu 15.04 vyOSのコンテナ open vSwitch 作るネットワーク 以下の図のようなルータ3台のシンプル…

Dockerでルータをコンテナ化してみた

最近Dockerを触る機会がちょくちょくあって、ルータをコンテナ化したら面白いことできそうだし、便利かもしれないと思ってやってみました。 思い返すと、初めてDockerを触ったのは2013年の12月で、こんな記事を書いたこともあったっぽい。懐かしい。 kurocha…

LXDでコンテナのライブマイグレーションやってみた

最近自分の周りでDockerの話しか聞かなくて、寂しくなってきたので書いてみました(笑) 以前LXCの非特権コンテナをマイグレーションする記事は書いたのですが、コンテナを止めてtarで固めて移行先で展開するという原始的なものでした。 LXCの非特権コンテナを…

ScalaでSSHハニーポットを作ってみた

グローバルIPを持っているサーバで、sshのポートをデフォルト(22番)のままで運用していると、ログイン失敗のログがたくさん出るので、どんなアクセスが来ているのか見てみたくてSSHハニーポットを作ってみました。 SSHハニーポット ハニーポットとはわざと不…

サイバー用語 50本ノック

新卒として入社して2ヶ月ちょっと経ったので、何か書いてみようと思ったので、書いてみました。 今は渋谷でITエンジニアをしています。 どの企業にも文化というものがあって、会社や業界ごとに特色があるんじゃないかと思いますが、その中でも、うちの会社は…

LXCの非特権コンテナを別ホストに移行する

Ubuntu14.04の非特権コンテナをUbuntu14.10にマイグレーションしようとして、ちょっとだけハマったので、移行手順をまとめておきます。 一度必要な設定をやってしまえば、移行は簡単でした。 旧ホスト(Ubuntu14.04)側 コンテナのバックアップ コンテナの停止…

brew caskで夜フクロウをインストールしようと思ったらできなかった

Macにbrew caskで夜フクロウをインストールしようと思って、いつもどおりにinstallしようとしたら… $ brew cask search yorufukurou Error: No available Cask for yorufukurou Error: nothing to install 失敗した。 Githubのリポジトリがどうなっているの…

レッドブルの「新年の抱負キャンペーン」に当選した

明けましておめでとうございます(遅年末年始に、レッドブルが「新年の抱負キャンペーン」をやっていました。 2015年こそ○○!! 新年の抱負を宣言して特製キットを当てよう! キャンペーン | 2015年こそ○○!! 新年の抱負を宣言して特製キットを当てよう!自…

2015を2進数になおすと…?

明日から2015年だし、ふと、2015を2進数になおすと、いくつになるのか気になった。2015は2進数で、"11111011111"。 左右対称になるみたい。ちなみに、次に左右対称になるのは、 2047で、"11111111111"。ふと、2015は2進数だといくつなんだ?と思ったんだけど…

ChromeでTwitterを開いた時に"{searchTerms} lang:jaの検索結果"が表示されないようにする

Chromeでアドレス欄にTwitterと打ってTwitterを表示させた事がある人ならわかるのではないかと思うのですが、意図していないのに、Twitter{searchTerms} lang:jaの検索結果が表示されてしまうことがあります。 原因 Chromeの検索エンジンの設定にTwitterが入…

Yosemiteで日本語入力ができなくなった

Yosemiteにアップデートしてから2日が経過。 ツイートしようとしたら、日本語入力に切り替えられなくなったので、対処したことのメモ。Mac de nihonngonyuuryoku ga dekinakunatta nau.— くろ@進捗なし (@kuro_m88) 2014, 11月 25原因はよくわからないけれど…

pingの応答が帰ってくるようになったらメールで通知するrubyスクリプト

大学の計画停電の影響で、研究室の機器が使えなかったため、停電から復旧したらメールで通知が来るようにした。 net-pingというgemだけ必要。 当たり前だけど、このスクリプトは停電の影響がない外部から実行しないといけない。 $ ruby pingmail.rb >> ping.…

自転車を買った

クロスバイクを買いました。 きっかけ 友達や先輩が自転車で鎌倉まで行った話とか聞いて、楽しそうだと思ったから。 自転車通学したくなったから。 とかでしょうか。用途としては、通学メインでたまに遠出といったところです。 買った自転車 Trekの7.2fxの20…

SOPとは

サイバーエージェントの第三四半期の業績のページの質疑応答の資料をたまたま眺めていたら、 3Q に連結子会社(株)Cygames の SOP 行使に伴う持分変動損を特別損失として 11 億円計上。 と書いてあって、SOPってなんだ!?!?となったのでメモ。どうやら、ス…

某Swiftハッカソンに参加しました

昨日、Swiftハッカソンに参加してきました!チームは、当日の参加者で組み合わせられ、エンジニア4人とデザイナー1人でした。 SwiftどころかXcodeすら触ったことがなかったのですが、最初に簡単な説明があったので、最低限のものをコンパイルしてシミュレー…

Ubuntu14.04でbyobuがクラッシュする

Ubuntu14.04がリリースされてからしばらく経ったので、Ubuntu14.04を導入してみました。 12.04の時から、screen/tmuxのラッパーであるbyobuを使っていたのですが、タブを追加するコマンドを打った瞬間に落ちます。*1 調べてみると、バックエンドにscreenを使…

Interop TokyoにSTMとして参加してきた話

皆さん、インターネット、使ってますか!? ほとんどの人が毎日使っているであろう、インターネットに関するイベントに参加してきたので、その事について書いてみました。 STMについて、参加者が書いた記事があまりない気がしたので、STMを知らない人, 参加…

とある大学の学生のパスワード

とある架空の大学の学生の大学で使うパスワードについての架空の話をなんとなーく考えてみました。 大学生なので、友人繋がりでいくつかの大学の話を聞いたりしたので、そこらへんも踏まえて架空の大学を想定してみます。 大学の想定 ポータルサイトがありま…

定期的にPingを打った結果を一覧表示する死活監視ツール作った

こんな見た目です。ターミナル上で動作します。 Interop Tokyoで使われていたツールを真似して作ってみました。というかほとんどそのままです。 そのツールはPerlで書かれていたのですが、Rubyで書いてみました。 $ gem install pingman でインストールでき…

メールを送信することなくそのメールアドレスが存在するかどうか調べる

SMTPプロトコルに従ってメールを送ると、以下のようなやりとりがあります。(微妙に違っていたらごめんなさい) telnetを使えば、手元でも試すことができます。 参考: telnetでメール送信 '>'がクライアント→サーバで、' < 220 smtp.example.com ESMTP > HELO …

Windows Liveメールアカウント設定ファイル(iafファイル)のパスワードを解析してみた

家族が普段使っているプロバイダのメールのアカウントのパスワードが分からなくなってしまい、困っていたので、rubyで設定ファイルからファイル内の情報を読み取り、列挙するプログラムを書いてみました。 iafファイルとは Outlook ExpressやWindows Liveメ…

Rubyで指定ディレクトリ以下のファイルを全てrequireする方法

プログラムを書いていて、指定ディレクトリ以下のファイルをまとめてrequireするのに、うまい書き方ないかなーと思っていたのですが、pryのソースコード中にお手本になりそうな部分があったので、紹介します。こんな感じのディレクトリ構成です。 とあるディ…

Amazon SNSを使ってAndroid端末にPush通知を送る

Amazon SNSというサービスがありまして、これを使うと、管理画面やAPI経由でAndroid, iPhone, Kindleといった端末にPush通知を送ったり、メールで通知をしたりすることが簡単にできます。 Amazon SNS (メッセージ通知サービス Amazon Simple Notification S…

Java 1.7.0_06でStringが仕様変更されたのでベンチマークをしてみた

Java 1.7.0_06でJavaの基本型であるStringが仕様変更されたので、それがパフォーマンスにどの程度影響するのか簡単なベンチマークをして、比較をしてみました。 何が変わったのか String型の仕様が変更されたのを知ったのは、下記の記事がきっかけで、変更内…

プログラミング初心者が一番簡単にプログラミングを体感できる環境を考えてみた

ここ最近、他学科、他学部の友人に「プログラミングってどうやるの?難しそうだよね。」みたいな話をよくされます。今日もリプライで聞かれました。自分なりに最も簡単にプログラミングができてかつ、興味を持ちやすい環境はなんなのか考えてみました。 初め…