タグ

ブックマーク / unknownplace.org (15)

  • 独立しました - unknownplace.org

    2013年8月末で面白法人カヤックを退職し、新しく会社を設立しました。 カヤックには約9年間お世話になり、とても多くのことを学ばせてもらいました。 とくにクリエーターとしての自分の考え方は、ほぼカヤックで養われたと言っても過言ではないでしょう。 そういう意味でカヤックは僕の第二の親のような存在であり、鎌倉方面には足を向けて寝られません。 当にありがとうございました。 カヤックは面白法人とか名乗っていますが、実は非常にまじめな集団です。 たとえば、経営理念についても、とても真摯に向かいあっています。 経営理念とはただの飾りではなく、まさに会社の存在意義であり、社員全員がそれを意識して仕事をしなければ意味がない。 そんなことから半年に一度、全社員で経営理念について考えるための全員社長合宿、というものをやっていたりします。 そんな環境で、自分も個人としての理念を磨いてきました。 昔のカヤックス

    hokaccha
    hokaccha 2013/10/01
    お疲れ様でした & おめでとうございます!
  • TwilioのRedisによる決済サービスの障害、2つの原因 - unknownplace.org

    Twilio というサービスで決済サービスの障害があったらしいが、恐しいことにこのサービス、 決済情報をRedisで管理していたらしい、というのをRedis作者、antirez氏のblogで知った。 Twilio incident and Redis - Antirez weblog この件に関しては、Twilio自体も 調査報告 を出している。簡単にまとめるとこういう感じだ: TwilioではRedisを single-master, multi-slave なレプリケーション環境で使用している ネットワーク障害で一時的に master-slave 間の接続が切れたことにより、master-slave間のデータの再同期が発生 この再同期がすべてのslaveに対して同時に発生したため、masterの負荷が高くなり、結果決済サービスの障害が発生 この負荷を解決するためmasterを再起動する

  • Redis布教活動報告 ISUCON 編 - unknownplace.org

    最近 Test::RedisServer とかもろもろつくっててばれてるかもしれませんが、だいぶ Redis 期にありまして、最近の趣味は?っていう問いにはだいたいRedisのソースを読むことですってなくらいなのですが、 memcached とかシンプルな KVS と比べるとだいぶ機能が豊富なので使い方を迷ったりとかそういう事例もあり、周りにもう少し使える人を増やさなければ僕の書いたコードが属人化しててつらい感じになるなーっていうわけで、 布教活動をおこなっておりまして、その一環として ISUCON2 に参加してきましたのでその報告です。 livedoor Techブログ : #isucon2 リアルタイムフォトレポート 更新終了 前回の優勝チームに混ぜてもらった感じでだいぶついてる感じもしますが、見事連覇を果たせ、懇親会でも redis redis と連呼してきたのでだいぶ興味持った方も

    hokaccha
    hokaccha 2012/11/07
    typester++
  • nginx で lighttpd のようにユーザーをトラッキングする方法 - unknownplace.org

    lighttpd では mod_fastcgi や mod_proxy 経由でアプリケーションが、 X-Lighttpd-Hogehoge: foobar のような X-Lighttpd- ではじまるヘッダーを返してもそれをクライアントに送り返さないという仕組みがあり、 たとえばそれを利用してアプリからユーザーIDを返してあげたりすると、それをクライアントに送ることなく lighttpd のアクセスログにだけ記録する、といったようなことが出来て便利なのですが、 同じようなことを nginx でやりたかったのでしらべてみた。 アプリから X-MyApp-User: foobar みたいなのを返してそれをクライアントに送ることなくアクセスログに記録したい場合、まずクライアントに送らないように、 proxy_hide_header X-MyApp-User; とし、さらに accesslog

  • node.js C/C++ addons 入門 - unknownplace.org

    node.js のドキュメントを見ていたら C/C++ で簡単に拡張が書けそうだったので試してみた。 addons - Node.js Manual & Documentation ドキュメントに載っている hello.cc をみてみると: #include <v8.h> using namespace v8; extern "C" void init (Handle<Object> target) { HandleScope scope; target->Set(String::New("hello"), String::New("world")); } この extern "C" void init (Handle<Object> target) というやつが、jsで require("hello") したときに呼ばれる感じらしい。この関数だけは必ず実装する必要がある。 この中の Ha

  • VAIO P に ubuntu 10.4 入れたときのメモ - unknownplace.org

    だいぶん前の話になりますが、重たい Macbook を常に持ち歩くのに嫌気がさし、外出用PCとして VAIO P を購入しました。 ただ Windows をつかうつもりは全くなかったので、とどいてすぐ ubuntu をインストールしました。 リカバリディスクの作成 最近の PC はリカバリディスクがないかわりに、HDD 内にリカバリ領域をもつ。 この領域もフルで使いたかったのでまずリカバリディスクを作成しリカバリ領域が消えても問題ないようにする。 手順はマニュアルを参照してやるとすぐできた。 なんとこれにDVD-Rが二枚必要だった。 ubuntu インストール 10.4 の NetBook エディションを選択。(当時は 10.10 がまだ出ていなかった) インストールはイメージを DVD に焼いて DVD ブートし、通常インストール。 まず DVD ブートの方法がわからず苦労する。 起動時

  • ふるいPerlをいれる - unknownplace.org

    perlbrew を導入したのでもりもりテスト環境を作れるようになったわけですが、perl-5.8.8 をいれようとしたら Can't open makefile: No such file or directory. Can't open x2p/makefile: No such file or directory. make: *** No rule to make target `<command-line>', needed by `miniperlmain.o'. Stop. make: *** No rule to make target `<command-line>', needed by `miniperlmain.o'. Stop. のように make がこけてしまってインストールできなかった。 ググってみるとどうも新しいgccだと古いPerlはうまくビルドできないら

  • PerlエンジニアのためのObjective-C Blocks入門 - unknownplace.org

    OS X 10.6 以降の xcode では Objective-C に Blocks というシンタックスが追加されている。 Blocks Programming Topics: Introduction Perl でいうところの無名関数(コードブロック)を作ることができる機能で、Perlでいうところの my $f = sub { ... }; $f->(); は void (^f)() = ^{ ... }; f(); のように書ける。書式がきもいのはObjective-Cの定めなのであきらめましょう。 より詳しい書式については上記ドキュメントを見ると良い。 しかしデフォルトではPerlのコードブロックとはレキシカル変数の扱いが異なる。 my $i = 0; my $f = sub { return $i + 1 }; $i++; $f->(); # 2 を返す perlではこのようにレ

    hokaccha
    hokaccha 2010/05/11
    たしかにキモイ。
  • local::lib を切り替える - unknownplace.org

    レガシーなアプリをメンテするのにレガシーな Perl モジュールが必要になることがあり、そのために古いアプリ用には専用の local::lib ディレクトリを切っているわけですが、普段から日常的に local::lib を使用しているため shell が上がったタイミングではデフォルトの local::lib 環境変数がセットされていて切り替えが非常に面倒だった。 これまではそれほど頻繁に使用しなかったので放置していたのだが、ここのところ頻繁に必要になるためいい加減うざくなってきて簡単に local::lib を切り替えられるよう設定をしてみた。 zsh に次のような関数をつくり、それで local::lib を切り替えるようにする。 function locallib () { INSTALL_BASE=$1 if [ -d $INSTALL_BASE ]; then eval $(~/

    hokaccha
    hokaccha 2010/03/04
    [local::lib][zsh]
  • iTermでもremap.app_term_commandL2optionL - unknownplace.org

    KeyRemap4MacBook に remap.app_term_commandL2optionL という設定があって、これを使うと Terminal.app でのみ左コマンドキーと左オプションキーを入れ替える左コマンドキーを左オプションキーにすることができる。 これを iTerm でも使いたかったので設定を追加しようと思ってソースを見てたら実はこのオプションは iTerm でも効くようにつくられているのだが、そのアプリケーション名の指定が間違っているだけだということがわかった。 diff --git a/src/core/server/server.cpp b/src/core/server/server.cpp index d4695fe..40d1715 100644 --- a/src/core/server/server.cpp +++ b/src/core/server/se

  • irssi-proxy++ - unknownplace.org

    通常 IRC は自宅サーバー上の irssi でやってるのだが、イタリアの回線が細いため ssh が重くてイライラする。 tiarra はずさなければよかったなぁと思ったが、irssi にも proxy 機能あった気がするなぁと思い直してそれを使ってみた。 まず、 /load proxy して proxy モジュールをロード。 するとパスワード設定されてないYO! とかいう警告が出るので /set irssiproxy_password hogehoge などとしてパスワードを設定する。 最後に /set irssiproxy_ports freenode=16667 ircnet-ja=16668 skype=16669 local=16670 とかすれば指定したポートで proxy が立ち上がる。 あとはローカルのIRCクライアントからそこにつなぐだけ! 快適快適。

  • A simple chat server in AnyEvent - unknownplace.org

    Node.js でつくってるやつ をみて同じくらいで書けそうだなと思ったので試しに AnyEvent で書き直してみた。 #!/usr/bin/perl use strict; use warnings; use AnyEvent::Socket; use AnyEvent::Handle; my @clients; tcp_server undef, 7000, sub { my ($fh) = @_ or die $!; my $h = AnyEvent::Handle->new( fh => $fh ); my $leave = sub { my $client = delete $clients[ fileno($fh) ]; for my $c (grep { defined } @clients) { $c->{handle}->push_write("$client->{na

  • 2009/02/06 - memo - unknownplace.org

    お気に入りのタスク管理ツール Hiveminder をちょっとハックして自分好みにしてみた。 Fluid でアプリケーション的に使えるようにページ内の jGrowl の通知を物の Growl 使うように変更いまやってるタスクのタイムをカウント出来る機能でそれ(いまやるべきこと)を10分間隔で Growl 通知する機能 など。すぐに他ごとしてしまう僕のような人には一番最後の機能がなかなか有効なはず。 スクリプトのダウンロード、使い方などはgithubにアップしたのでそっち見てくださいませ。 typester's hiveminder-local-timetrack at master - GitHub 余談。 そんなに Hiveminder がいいの? と聞かれると返答に困るわけですが、todo.pl からのブレインダンプでのタスク登録 (todo.pl braindump) とか、指定し

  • unknownplace.org

    VLCってたしかYouTube動画の再生に対応してたよなーと思いだして試してみたけど、 現在の最新バージョンの2.0.5でも今のYouTubeの仕様に対応できてないのか、YouTube動画の URL を開こうとしてもエラーになってしまう。 ためしにナイトリービルドでためしてみたらOKだった。 けど、ナイトリービルドを常用するのも嫌だ。しかし、このYouTubeのハンドリングはどうもluaの拡張でやっているだけみたいなので、 その拡張ファイルだけバックポートするだけでいけそうだということで、やってみたらちゃんと動いた。 具体的には、 VLC.app/Contents/MacOS/share/lua/playlist/youtube.luacVLC.app/Contents/MacOS/share/lua/playlist/youtube_homepage.luac の2ファイルを上書きしてあ

  • CLON - 2006/02/02 - IE7 beta2 preview をインストールしないで使う

    IE7 をインストールすると IE6 を上書きする形で入るのではげしくうざいので調べてみた。 まず、IE7 をスタンドアローンで動くようにする IE7のセットアップファイル (IE7B2P-WindowsXP-x86-enu.exe) をダウンロード上記は自己解答形式の圧縮ファイルなのでなんかで解凍する解凍してできたディレクトリの shlwapi.dll を削除し、iexplore.exe.local という空ファイルを作る これでiexplore.exe起動すればIE7が立ち上がる。 ただこれで一度IE7を起動するとIE6でアドレスバーにURL入力するとIEではなくデフォルトブラウザで開くようになってしまう。(IE6がデフォルトブラウザな方は下記作業はいらないのかもしれない) なので、IE7終了したらIE7が追加したレジストリエントリを削除する必要がある。 Windows Registr

    hokaccha
    hokaccha 2006/12/19
  • 1