pdnsを適当にチューニング

pdnsのチューニングは以下のページが参考になる。 https://doc.powerdns.com/md/authoritative/performance/細かくやればきりがないと思うけど、receiver-threadsが一番効果がでそうなので、そこからやってみる。チューニングのきっかけとしては、バックエン…

pythonのsftpserverを試す

pythonで書いているバッチのテスト用にsftpサーバを簡単に立ち上げたかった。 探してみるとちょうどよいsftpseverというものを見つけたので使い方を含めてメモ。 GitHub - rspivak/sftpserver: A simple single-threaded SFTP server gist.github.com

ニフティクラウドのロードバランサをAnsibleから操作できるようにしてみた

AWSならbotoと連携するモジュールをAnsibleが正式に提供しているが、 ニフティクラウドのSDKがそもそもPythonに対応していないので、Ansible対応は難しい。ということでAnsibleに対応するために2点実装した。 (1)botoをニフティクラウド用に修正 (2)An…

implementation of smtpd always returning 500 error.

常に500エラーを返すSMTPサーバを実装した。テスト等に使えるはず。 gist.github.com工夫ポイント: エラーコードの返し方がsmtpdのドキュメントにはなかったので、ソースから特定した。

ログ監視ツール比較

ログ監視を行いたいが、どのツールがよいのか検討したので、簡単にメモする どのツールが良いかというのは、既存環境との組み合わせや、そもそも既存のツールで完結させたいとかそういう要望次第なのでなんとも言えない。 あくまで自分視点で比較をする。 調…

swatchをfluentdに連携させる

swatch(Simple Log Watcher)は昔からあるログ監視ツールらしい。詳細は置いておいて、このswatchの出力をfluentdに送りたい。なぜならばデフォルトでswatchが出力できるのはmailと標準出力なので、サーバの台数が増えてくると管理できなくなる(メール100通…

leapmotionでキー入力がしたいのでプロトタイプを作ってみた

勢いでleapmotionを新宿のヨドバシカメラで買ってきてしまった。 実は前々からジェスチャーで文字入力をやってみたかった。環境 Ubuntu 14.04.4 LTS Leap_Motion_SDK_Linux_2.3.1 どのような入力を実現するか手の指を一本折り曲げた状態で手を左右上下前後に…

perlワンライナー集計処理

以下の様なテキストを入力として受け、出力を合計値にしたい。 a 10000 b c 33 b 100 a 3993出力 c 33 a 13993 b 100シェルスクリプトで実装する方法も考えたが、なんだか面倒なので、 なれないPerlワンライナーにチャレンジ以下を参考にした。 「Perlワンラ…

「ls: 引数行が長すぎます」を回避する

ls: 引数行が長すぎます ファイルが大量にあるディレクトリをワイルドカードを使用してlsすると以下のように怒られる。 ダメな例 $ rm /hoge/fuga/??/*/*/hige/ ls: 引数が多すぎます エラーの文字列でググると、回避方法としてfindとxargsの組み合わせが一…

Postfixがきりの良い時間にアクセスすると遅い

Postfixがきりの良い時間にアクセスすると遅い 背景 ユーザから「cronがキックするスクリプトがメールを送るとPostfixからの応答が遅くタイムアウトが起きている」と報告された。 結論 nslcdのレスポンスが遅いことが原因だった。 きりの良い時間はLDAPのア…

キーボードってそろそろ進化するべきなんじゃないだろうか

スマホのフリックは好きだ。でもキーボードの入力速度にはかなわない。 いつでもキーボードを持ち運べて、どこでも使えるならキーボードを使うだろうけど、そうはいかない。 キーボードは、まずどこかに置かないと行けないし、幅を取る。キーボードが現在の…

IPの偽装

検証目的で接続元のIPを偽装したい場合にループバックデバイスのIPアドレスを変更するという方法がある。 参照:http://thesimplesynthesis.com/post/how-to-spoof-your-ip-address-to-test-geolocation $ sudo ifconfig lo 218.xxx.xxx.xxx $ telnet 218.xx…

dockerのAmbassadorパターンを理解する

前回と前々回で「単一のコンテナの起動」と、「2台のコンテナの起動と接続」について、ある程度理解した。 今回は2台のホスト(VM)にまたがるコンテナの接続について試す。 2台のホストにまたがる場合は、--linkによる接続はできない。これはひとつのホ…

docker --link --exposeの動きを理解する

dockerの--linkとかEXPOSEとか接続関係のコマンドがよくわからないので、動かしながら理解する。 参照: Dockerのネットワークの基礎 --link 他のコンテナのポートにつなぐ --expose コンテナのポートを他のコンテナに晒す --publish コンテナのポートをホス…

dockerを触ってみる

centosのイメージを持ってくる 公式に解説があるので、それを参考にする。 https://hub.docker.com/_/centos/ 途中で公式が解決方法を提供している問題をひとつずつ踏みながら、理解しつつ進むので少しまどろっこしい方法で理解する。 以下のようなDockerfil…

systemdについてちょっと調べた

参考文献を並べて重要な箇所だけ引用する。 参考になった順にならべる。 なぜsystemdなのか? (翻訳 Why systemd(2014-07-23)by Jorgen Schäfer) http://postd.cc/why-systemd/ SysV initサービスを起動したり停止したりするのに用いられる一般的な方法は”…

ステッドラー アバンギャルド 927AG-S をJETSTREAMに換装

自分はJESTREAM厨なのだが、JESTREAMの高級モデルはデザインが今ひとつ。 (なぞの宝石がついているところとか。) 三菱鉛筆 多機能ペン ジェットストリーム プライム 3&1 MSXE450000724 ブラック出版社/メーカー: 三菱鉛筆発売日: 2013/10/20メディア: オフ…

OpenCVとWebカメラで動画像処理を始める。

やりたいこと ビリヤードのテーブル上のたまの動きを撮影して、自動的にスコアをつけたり、あとで試合の運びを確認できるようにしたい。 そのために、opencvで動画を解析するのが今回の目的。 * 動作環境: Ubuntu 14.04.2 LTS * Webカメラ: logicool c920t…

ビリヤード台がほしい

ビリヤード台がほしい ほしいと思ったきっかけ 仕事忙しい・・・ビリヤード場いけねぇ・・・ 条件 1LDKのアパートにおける それなりに本格的 折りたためること 一般的なビリヤード台の大きさ重さ 大きさ: 9フィート 重さ: 300kg 自分の部屋に置くのはムリ…

CentOSでpymilterをインストールしたメモ(2)

以下のエントリの続き CentOSでpymilterをインストールしたメモ - いわゆる備忘録持ってきたpymilterのは以下にはサンプル(sample.py)が含まれている。 それを簡単に書き換えて使ってみる 設定 sample.pyを書き換える # A simple milter. # Author: Stuart D…

pythonのデコレータを勉強するためにmemoizedにlruとtimeout機能を追加してみた

Pythonのデコレータって面白い。 メモ化(Memoization)も簡単に、そして美しく実現できる。何かDBにアクセスして得られる結果をメモ化でキャッシュして、アプリケーションの動作を高速化したりできるだろう。ただ無尽蔵に引数と結果の組み合わせをキャッシ…

CentOSでpymilterをインストールしたメモ

pymilterを使ってみたかったのでインストールしてみた。 サンプルが同梱されているので、それが動くまで試してみた。 MTAにはsendmailではなくPostfixを使用した。 $ cat /etc/redhat-release CentOS release 6.4 (Final) 以下必要だったパッケージを記載す…

opendkim lua programming(2)

前回のエントリに引き続きopendkimにluaによるフックを仕掛ける。 前回はAUTH LOGINでログインしてきたユーザ名をluaの中で取得した。 今回はodkim.sign関数を使い、DKIMの署名をしてみる。 http://www.opendkim.org/opendkim-lua.3.htmlちなみにluaを使わな…

opendkim lua programming

opendkimのluaによるプログラミングについて備忘ログを残す。 luaプログラミング? DKIM署名(検証)時の処理にluaで記述された処理をフックできる。フックできる箇所は4箇所 http://www.opendkim.org/opendkim-lua.3.html setup opendkimの本処理が始まる…

inodeの枯渇実験

以下の記事が面白かった。inodeが枯渇するとどうなるのかということなんだが。 http://d.hatena.ne.jp/elf/20111113/1321177077 Ext2/3/4はディスクをフォーマットした時点でinode最大数が固定されてしまう。 一方でbtrfsはinodeを動的に確保できるのでフォ…

ディレクトリ内のソースコードの行数を再帰的にカウントする

ふと自分が書いたソースコードが今何行か知りたい時ってある。 ちょっと自己満足に浸りたい。そんな時だ。ひとつのファイルの行数をカウントするのは簡単。 wcコマンドを実行すればいいだけだ。 $ wc -l testfs.py 130 testfs.py ところがwcには再帰的にディ…

PythonFuseを使ってみた。

Fuseって面白いツールだと思う。簡単にファイルシステムに機能を追加できるのだから。 そしてこのライブラリはCは当然だけど、RubyやらPythonからも使える。今回はPythonを使ってFuseを使ってみた。 OS: Ubuntu 13.04 インストールするもの python-fuse ソ…

Amazon SESを(ちょっとだけ)使ってみた。

AWS

Amazon SESというサービスがあると聞いたので、どんなサービスか調べてみた。 大量メール送信サービスの一つらしい。 実際に使ってみた。 使い方 まずはAWS Management Consoleにアクセス。 https://console.aws.amazon.com/console/home そしてSESへアクセ…

「脳のなかの幽霊」

脳のなかの幽霊(V.S. ラマチャンドラン)を読みきった。知識欲も満たされたし、読み物としても面白かった。 Amazon CAPTCHA 概要 筆者が脳の一部に欠陥をもつ患者に様々な実験を行い、その結果から得られる事実にもとづいて人間の脳の機能について明らかに…

Arrayに対してfields_forを適用する

Railsを使い始めて3日目、詰まった・・・問題eventとparticipantのように1対nの関係を持ったモデルを作成して、 それらを同時に一つのフォームで入力したい場合にfields_forを使うと思うのだが、 participantがparticipantsのような場合にfields_forを使っ…