マルチスレッドでgetaddrinfo(3)するとたまにTemporary failure in name resolution (EAI_AGAIN) で失敗します。自分は↓な環境で確認しました。 CentOS 6.5 glibc-2.12-1.149.el6_6.5 こういうコードで再現します。(ruby 2.1.4で確認)なお、便宜的にrubyで…
先日、HTTP/2が正式な仕様として承認されると同時に、その実装であるH2Oのv1.0.0もリリースされました。 Kazuho's Weblog: H2O, the new HTTP server goes version 1.0.0 as HTTP/2 gets finalized HTTP/2の情報はちょいちょいウォッチはしていたのですが、…
『Serverspec』を読んだ(ご恵贈ありがとうございました!)ので感想とかを書いてみたいと思います。ちなみに、本書は1/17発売なので既に書店に並んでいると思いますし、Serverspec作者: 宮下剛輔出版社/メーカー: オライリージャパン発売日: 2015/01/17メデ…
結論から言うと、ひろせが望ましいと思う順にこうすればいいんじゃないの?ってのを列挙します。 my.cnfに[libmysqlclient]グループを追加しそこにdefault-character-set = utf8mb4と書き、DBD::mysqlでは mysql_read_default_file=/etc/my.cnf;mysql_read_d…
空白絡むとどうにも配列で返せなかったんで、裏変数(_split)経由で結果渡すようにしてるのがイマイチ。。。 #!/bin/bash set -u set -e export LANG="C" split() { sep=$1 str=$2 _split=() if [[ $str =~ $sep ]]; then while IFS= read -r e; do _split+…
static linkするにあたっての動機、諸注意(ハメがあるので必読)は [twitter:@sonots] さんの mysql2 gem を mysql5.6 の libmysqlclient.a と static link したい話 - sonots:blog を参照してください。ここではDBD::mysqlをビルドする際のオプションのみ…
VagrantではSahara pluginを使うことで、VMの状態を以前の状態に巻き戻すことができます(sandobx mode)。VMの中でいろいろいじっている際に変更前の状態に戻せるのはとても便利なのですが、Saharaでは戻せるチェックポイントをひとつしか作れません。自分の…
tail -Fしているfluent-agent-liteでハマったのでメモ。 存在しないファイルをtail -Fした後、その名前のシンボリックリンクを作った場合 $ rm -fr ~/oreno-tmp && cd ~/oreno-tmp $ tail -F tailme & tail: cannot open `tailme' for reading: No such file…
Chefでdaemontools配下のサービスをハンドリングするときは、コミュニティクックブックの daemontools を使ってる人が多いと思います。 https://supermarket.getchef.com/cookbooks/daemontools https://github.com/opscode-cookbooks/daemontools こんな感…
ちょっと前にリリースされた Berkshelf 3から、Berkshelf APIというインデックスサーバーからクックブックの情報を得るようになりました。 https://github.com/berkshelf/berkshelf/wiki/2.x-to-3.0-Upgrade-Guide https://github.com/berkshelf/berkshelf-a…
[twitter:@stillpedant](mooz)さん作のpercolはシェルとは独立しているのですが、ググるとzshと共に使っている人が多いようです。これはzshの強力な行編集機能を提供するzleに因るところが大きいためだと思います。bashでもpercolを使っている人もいるのです…
Apacheのmod_statusを使えば各プロセスの状態を知ることができます。CloudForecastやCacti等でそれを元に視覚化している人も多いと思います。mod_statusで確認できる状態には以下の11種類があるのですが、 状態名 値 mod_stautsでの記号 説明 SERVER_DEAD 0 …
InfluxDBとは http://influxdb.org メトリクスやイベントといった時系列データを格納するのに適したデータストアです。ちなみに go で書かれています。ちなみに 2013のOpen Source Rookiesに選ばれました。 InfluxDBの特徴 RRDやMySQLに時系列データを格納す…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
自分はディスプレイの最下にLimeChatのconsole(全チャンネルのメッセージが流れるpane)が常に見えるようにしてチラ見してるんですが、join, partの嵐にメッセージがざーっと流されちゃうことがあってウムーと思ってたところ、 mac版はwebkitでレンダリング…
redis-traffic-stats という Redis のクエリーアナライザーを作りました。 https://github.com/hirose31/redis-traffic-stats redis-traffic-statsはtcpdump -wで書き出したpcapデータを解析して、以下のような統計を表示します。 総ネットワークトラフィッ…
[twitter:@fujiwara] さんのこれ、 新しいPerlに今まで使ってたモジュールをまとめてインストールする - 酒日記 はてな支店 ExtUtils::Installedで現在インストールされているモジュールからcpanfileを作る をベースにちょっと弄ってモジュールをリストアッ…
てみじかに MacのステータスバーにCPU温度を表示するだけのアプリケーションを作りました スクリプトのapp化の方法を紹介します 1. MacのステータスバーにCPU温度を表示する 長らく Temperature Monitor を使ってMacのステータスバーにCPU温度を表示させてい…
この記事は MySQL Casual Advent Calendar 2013 の25日目の記事です。自分の過去のブログも含めて、mysqlコマンドのカスタマイズについていろいろな情報がありますが、わたしがオススメの秘伝のタレをまとめたいと思います。是非、ご参考に。 定型文(SQL)の…
https://github.com/hirose31/monitor-elb-address cpanm -l local --installdeps . cp config-sample.pl config.pl vi config.pl ./monitor-elb-address -c ./config.plな感じで使えて、列挙した FQDN の IP アドレス(Aレコード)の変更を通知します。IPア…
Nginx 1.4.2で試しました。ネームサーバーは、ローカルのunboundをlocal-zone, local-dataを使って簡易コンテンツサーバーにして試しました。 local-zone: "oreno." static local-data: "api.oreno. 30 IN A 192.0.2.11" # local-data: "api.oreno. 30 IN A …
Overriding System Functions for Fun and Profit | Hacker Boss をみて自分も試してみたくなったので書きました。 https://github.com/hirose31/galloc malloc(3)するとガチャピンが、free(3)するとムックがSTDERRに報告してくれます。便利!!1 $ make ga…
AWS Casual Talks#1を開催しました - まめ畑 http://d.conma.me/entry/2013/11/02/140136 に参加して『NATインスタンス冗長化の深淵な話』というLTをしてきました。 Redunduncy of NAT instance on AWS/VPC from Masaaki HIROSE これまで何度か発表をしてき…
付けてくれるやつ やつ ヘッダ 値 備考 AWS ELB X-Forwarded-Proto https Apache/mod_ssl X-Forwarded-HTTPS on 要設定: RequestHeader set X-Forwarded-HTTPS %{HTTPS}s 付けて欲しいやつ やつ ヘッダ 値 備考 Plack::Middleware::ReverseProxy X-Forwarded…
今まで秘伝のタレ化したmodule-setupのテンプレでモジュールのひな形を生成してたんですが、なういMakefile.PLやBuild.PLの書き方とかcpanfileとかMYMETA.*とかそのへんもろもろに追従するのがしんどくなってきたので、milla (Dist::Milla) を元に秘伝のタレ…
プロセスの起動日時は ps の START カラムでわかりますが、24時間経過すると表示上時刻がわかりません。 $ ps auxwwwwww | grep -e PID -e redis-server USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND hirose31 775 0.1 0.0 36328 2008 ? Sl Sep2…
YAPC::Asia 2013でLT『How to inspect a RUNNING perl process』してきました How to inspect a RUNNING perl process / YAPC::Asia Tokyo 2013 http://www.slideshare.net/hirose31/inspect-runningperl ハングアップとかメモリバカ食いとか、稀にしか発生…
ファイル指定で、ページキャッシュにのっているか確認したり追い出したりするPerlモジュールを書きました。 https://metacpan.org/release/Sys-PageCache https://github.com/hirose31/Sys-PageCache Linux なら動くはずですが、動かなかったら教えてくださ…
先日 awscli が正式リリースされたので、 http://aws.typepad.com/aws_japan/2013/09/new-aws-command-line-interface-cli.html Perlのラッパーの AWS::CLIWrapper-1.00 をリリースしました。 https://metacpan.org/module/AWS::CLIWrapper awscli にはこれ…