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型の仕様が変更されたのを知ったのは、下記の記事がきっかけで、変更内…

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

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

ブログを11日間書き続けてたらホッテントリ入りした話

今日でブログを連続で書くのは12日目になります。 今までも不定期に記事を書いていたのですが、ここまで連続で書いたのは初めてです。 連続で書こうと思った理由は特になくて、挙げるとすると、1月末で大学の試験が終わり、春休みが始まったので、毎日やった…

Dockerのコンテナを操作できるWebアプリを作ってみた

Dockerの操作は、コマンドからだけではなく、リモートAPI経由でもできます。 APIの説明はここにあります。 http://docs.docker.io/en/latest/api/docker_remote_api/今回は、このAPIを使ってコンテナを簡易的に操作できるWebアプリを作ってみました。 とりあ…

RubyからDockerコンテナを作ってsshで操作できるようにする

Dockerは操作をするためのAPIも用意されていて、便利そうなのでRubyからコンテナを自動起動するための方法をメモしておきます。 sshが使えるコンテナを作る ubuntuのイメージを使用します。 標準のイメージだとsshは使えないのでいったんシェルログインし、…

SoftEther VPNを使ってVPNサーバを立ててみたものの、速度が出ない

今日は大雪で、大変でしたね。SoftEther VPNを使ってVPNサーバを立てて見たのですが、VPN接続(IPSec)した状態でWeb閲覧したところ、異常に速度が出ないので、現状をメモしてみました。 どなたかアドバイスを頂けると嬉しいです。 サーバ環境 OS: Ubuntu Serv…

netcatコマンドでコードを書かずにお手軽チャット環境作ってみる

nc(netcat)コマンドという万能コマンドがありまして、これを使うと簡単にTCPやUDPを使ってパケットの読み書きができます。 以下の例だと、HOSTの行と次の空行まで入力すれば、htmlの文章が返ってきます。 $ nc www.example.com 80 GET / HTTP/1.1 HOST:www.e…

Docker0.8でMac OS Xがサポートされたので仮想化環境構築してみた

以前、Dockerを使って仮想環境を作ってみた - くろの雑記帳という記事を書きましたが、本日Docker0.8がリリースされ、Mac OS Xがサポートされたようなので、環境構築をしてみました。 VirtualBoxをインストールする 単体で動作する仕組みができたのかと思っ…

Macで拡張ファイル属性やアクセス制御リストの属性を消す

Macのファイルシステムでは、拡張ファイル属性(Extended Attributes, EA)やアクセス制御リスト(Access Control List, ACL)というものがあり、前者は通常のファイル名やパーミッション、所有者とグループといったものとは別に属性情報を付与することができ、…