タグ

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

  • clang-complete-asyncのcflagsを開いているファイルに応じてよしなに設定する - unknownplace.org

    Emacsで、C/C++/Objective-C とかを書く時、clangを使った補完 clang-complete-async を使っている。 いままではiOS用の設定決めうちで使っていたのだが、 たまにMacアプリを書くときにcflags切り替えがめんどくさい 外部ライブラリを使っているプロジェクトで、そのライブラリのヘッダがよまれない と言った不満があった。 ちょっと最近またMacアプリを書いていてよしなにやってくれるやつが欲しいな〜という熱がたかまったので作ってみた。 typester/clang-complete-helper 何をするやつ? 編集しているファイルから、xcodeプロジェクトを探して、その設定を読んでよしなにCFLAGSをセットしてくれるやつ。 なのでこれを使えば、xcodeのプロジェクトのファイルであればなにも考えなくてもclangによる補完が効くようになる。

    aereal
    aereal 2014/04/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を再起動する

    aereal
    aereal 2013/07/25
  • 最近のMacでuim-fep - unknownplace.org

    先ほどのエントリーで、Macだと uim-fep が SEGV してしまう、と書いたが、どうやらこれは gcc の最適化がよくない感じで動いてしまっているようだ。 $ export CFLAGS='-g -O0' $ export CXXFLAGS=$CFLAGS してビルドしたら普通に動くようになった。 こんな感じで入れた: cd /tmp wget https://uim.googlecode.com/files/uim-1.8.4.tar.gz cd uim-1.8.4 export CFLAGS='-g -O0' export CXXFLAGS=$CFLAGS ./configure --prefix=$(brew --prefix)/Cellar/uim/1.8.4 --without-x make make install brew link uim アドホックな対応だけど、こ

    aereal
    aereal 2013/03/07
  • Emacsの設定を見直し、 el-get の distributed セットアップに統一 - unknownplace.org

    いままで秘伝のタレのような設定を使い続けていたのだが、どうもしばらく使っているとEmacsがCPUを非常にうようになってくる。 flymakeの設定かなー?とかほかにもいろいろ怪しげなところを削ってみたりしたがわからず、だましだまし使っていた。 そういう理由もあってEmacs設定をリセットしたいと思っていたので、Emacs実践入門や Advent Calendar を読んでいたら el-get というパッケージマネージャがなかなかよさそうだと思った。 これ、存在自体はまえから知っていたけど秘伝のタレベースな自分は使わないだろうなーとスルーしていた物だが、 ドキュメント(info)を読んでみると思った以上によさげだと言うことが分かった。 Mac 使ってる人にわかりやすくいうなら Emacs 用の homebrew という感じ。 なかでも 6.3 Distributed Setup で紹介さ

    aereal
    aereal 2013/01/21
  • コマンドラインでネットワーク設定のネットワーク環境のところを変える - unknownplace.org

    ネットワーク周りの設定は networksetup コマンドでいろいろできるみたいで、 man をみるとどうも環境設定でできることはほとんどここからもできる模様。 んで、ネットワーク環境というのは -listlocations List all network locations. -getcurrentlocation Display the name of the current set. -createlocation location [populate] Create a set with the user-defined-name name and optionally populate it with the default services. -deletelocation location Delete the set. -switchtolocation locatio

    aereal
    aereal 2012/11/07
  • Redis布教活動報告 ISUCON 編 - unknownplace.org

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

    aereal
    aereal 2012/11/07
  • JSON::Types ってのを書いた - unknownplace.org

    JSON-Types-0.01 - variable type utility for JSON encoding - metacpan.org Perl から JSON 吐くときに、ここは絶対数値で(文字列で)だしたい、みたいなときに use JSON; print encode_json({ number => $num + 0, string => $str . '', bool => $bool ? \1 : \0, }); みたいにすることがあるかもしれませんが、これってやっぱりハックなので可読性悪いしわかりにくいってことで、 use JSON; use JSON::Types; print encode_json({ number => number $num, string => string $str, bool => bool $bool, }); みたいな感じで、まぁ内

    aereal
    aereal 2012/09/03
  • Githubの各種イベント通知をPubSubHubbubで受け取るの巻 - unknownplace.org

    tl;dr - 通常のHookではなくPubSubHubbubのほうのHookを使えばGithubのすべてのイベントをひとつのWebHookで受け取ることができる。 Github の WebHook ではレポジトリの更新しか受け取れず、issue とかも受け取れたら便利なのになーと思いつつ API ドキュメントを見てみると Hook を API から登録したりすることができるようになっていた。 だがこれは所詮は Web から登録できる Hook をいじるもので、このリストにあるものしか登録できない。 また、それぞれの Hook について登録できるイベントはリストで定義されている物に制限されているようで、たとえば WebHook だと push イベントしか設定することはできないみたい。(API 経由でも設定できなかった) 一方、それとは別に用意されている PubSubHubbub の Ho

  • Cocoa::Skype とか - unknownplace.org

    Cocoa:: なんちゃらでほしいものを聞いていたときにも挙がっていた Cocoa::Skype だけど、その昔Skype4COMを使った記憶があって、SkypeAPI のバインディング書くのはめんどそうな印象だったのだが、 今日 Skype.framework のヘッダファイルみたら、 #import <Cocoa/Cocoa.h> @protocol SkypeAPIDelegate; @interface SkypeAPI : NSObject { } + (BOOL)isSkypeRunning; + (BOOL)isSkypeAvailable; // You can only connect and send commands when this method returns YES. // For example, when Skype is running, but use

  • Growl 1.3.1 と Skype - unknownplace.org

    ひさしぶりにMacを再起動したらSkypeがGrowlを認識しなくなった。 そういえばGrowlを1.3.1にしてから再起動していなかった。原因はそれだろうとSupport Forumをのぞいてみると同様の問題を持った人がいっぱいいて、そこに解決法も書かれていた。 Skypeに内蔵されてるGrowl.frameworkが古いからそれをアップデートしてやればOKということらしい。 フレームワークのアップデートは自分でファイルを置き換えても良いが、Growl公式サイトでそれ用のツール、Growl Version Detectiveが配布されているのでそれを使用すると良い。 Growl - Downloads アプリはこんな感じで、 Skypeを選択してUpdate FWを押すだけで入れ替わる。

    aereal
    aereal 2011/11/18
    Framework versionが1.1系だと動かないっぽい
  • 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

    aereal
    aereal 2011/11/08
  • iPhone4S とか iOS5 とか Xcode 4.2 とか - unknownplace.org

    iPhone4S は予約しようと思ってたけど、予約開始日がちょうど F1 日 GP とかぶっていたので初日予約はあきらめ、暇なときに予約しに行こうと思っていて今に至る…。 iOS5 は開発者用のものを前から使っていたけど、通知で邪魔されないようになったのがすごい大きい。 いままではカーナビとして使っている最中に Push 通知が来てしまうと通知を消すまでカーナビとしての役割をはたさないようになってしまっていたからね。 で、こういうApple製品リリースの中で一番ライフチェインジングだったのが Xcode 4.2! ARC (Automatic Reference Counting) と Storyboard が便利すぎて iOS アプリの開発速度いままでの何倍にもなります。ただ Storyboard つかっちゃうと iOS5 以降限定になっちゃうってのが…。 ARC も zeroing

    aereal
    aereal 2011/10/28
  • YAPC::Asia 2011 - unknownplace.org

    なんだか今年は身内の訃報がかさなったりして、フル参戦できなかったのですが、少しでも行くとモチベーションが上がるのが YAPC ですね。 Hacking Mac OS X Cocoa API from Perl っていうニッチな発表をしました。補足エントリーは別でかきます。 あと、発表中に似非XSっていう言葉を使ってたんだけど、以外とこの方法で XS 入門するってのはあるなーっておもっているのでいつか(Advent Calendarとか?)まとめたいところ。 感想 見たかったトークの大部分を見ることができず、懇親会にも出られず、だいぶ不完全燃焼ではあるのですが、見ることができた gdb のトークや、組み込みPerlの話、あとたまたま通りがかったmotemenのトークがとてもおもしろかったです! motemen さんのは普通にメインであってもだいぶおもしろかったとおもうけど、たぶんこれはトーク

  • bREADER の PDF リフロー表示機能が素晴らしい件 - unknownplace.org

    BB2C というiPhone用の2chビューワアプリがあるのですが、このアプリは2chビューワとしての評価が高いだけではなく、その凄まじく軽快な動作からiPhoneアプリ開発者で知らない人はモグリだと言われるくらいの良アプリなのです。 最近その作者のブログ に電子書籍の話題が出ていて気になっていたのですが、どうやら次は電子書籍リーダーアプリを開発していたらしい。それが bREADER。 iPad を買って以来書籍はPDFにして読むのがメインになっていて、大体はi文庫HDで、検索が必要なときはiBooksかMac上で読んでます。 この環境におおむね満足しているのだけど、電車の中で座れなかったときにを読もうと思っても iPad を出すのはきびしいし、かといって iPhone だと PDF を等倍表示ではきびしいものがある。(Retinaならよめないことはないけど…) 拡大したら拡大したで、1

    aereal
    aereal 2011/07/31
  • 最近の活動その2 VQチェッカー - unknownplace.org

    Reengo の合間に VQ チェッカーというアプリも開発していました。 これ、結構真面目に音声解析をしているのですが、もともとそういう知識をもっていたわけではないので、東京工芸大学の森山先生に監修いただいています。 基礎から解説いただいて、非常に刺激的でした。音声解析というのは僕にとっては当に不思議な世界で計算結果がどうしてこうなるのかというところはまだよくわかっていません。今後も掘り下げていきたい分野ですね。 開発は音声が扱いやすいという理由だけでMacアプリとして開発しテストしていました。 ある程度出来たところでそれをActionScriptに移植したという流れです。MacのAudioUnitのコードは少し変更するだけでiPhoneでもそのまま動きます。したがってiPhone版もついでにつくっちゃうか!っていう流れでiPhone版もつくっちゃいました。 気軽に遊べるのでぜひ遊んでみ

    aereal
    aereal 2011/06/21
    ほーーーーーーーー
  • OSX で tmpfs 的なことをする方法 - unknownplace.org

    MacBook Air 上で Test::mysqld なテストを走らせていると SSD の寿命縮めそうだなーとおもって tmpfs 的なものが OS X にもないものかと検索したら hdid(8) でできるとのこと。 man の一番下のほうに例が載っている。 $ hdid -nomount ram://128000 /dev/disk1 これでメモリから128000セクタ(1セクタ512バイトなので62.5MB)分とって仮想ディスクをつくり、 $ newfs_hfs /dev/disk1 Initialized /dev/rdisk1 as a 63 MB HFS Plus volume HFSで初期化して、あとは普通に $ mkdir /tmp/mnt $ mount -t hfs /dev/disk1 /tmp/mnt でマウントすればOK。 作ったディスクの破棄には $ hdidu

    aereal
    aereal 2011/02/03
  • MacBook Air セットアップメモ - unknownplace.org

    11インチのやつ、買いましたよ。よくあるセットアップメモを残す。 SSDの容量が心許ないので、バックアップからの復元はしないで新規で設定した。 OS 再インストール まずやっぱ最初はこれ。目的は大文字小文字を区別するファイルシステムでパーティションを切りなおすということのみ。 デフォルトのファイルシステムではWindowsなどとおなじように大文字小文字を区別しない。そういう環境ではたとえば #include <STDIO.h> とか言うコードも通ってしまう。そういう気がつかないうちに仕込まれる各種トラブルの種は気持ち悪いよね。 注意点としてはAdobe製のソフトはそういうトラブルの種を抱えたコーディングをされているらしいものが多いようで、このファイルシステムにすると動作しないものが結構あるらしい。たとえばPhotoshopは最新版でもうごかないみたい。 (Lightroomは大丈夫) ソフ

    aereal
    aereal 2011/01/13
  • 無線APによって自動でhostsを変える方法 - unknownplace.org

    OSX の LaunchAgents には特定のパスを監視して更新があったらプログラムを起動すると言うことが出来ます。例えば以下のような設定を書いてみると: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.unknownplace.wifi_switch</string> <key>ProgramArguments</key> <array> <string>/usr/bin/zsh</string> <string>-c</

    aereal
    aereal 2010/10/01
  • GNU screen の裏にいる Window で完了したコマンドを Growl 通知したい - unknownplace.org

    というようなことをつぶやいていたら、 Twitter / hchbaw: @typester 最近になって screen -Q windows とできるようになってますね。 と教えていただいた。 -Q コマンドというのは -X と同じようなものだけど、コマンド結果を screen 内のステータス領域ではなく標準出力で得ることができる。また、-X はつねに実行時にそれ自体がアクティブな screen セッションになるのに対し -Q はアクティブなセッションにクエリを投げる感じで、セッションが切り替わらない。(この辺は理解が怪しいので突っ込み歓迎) それでそれを使うと screen -Q windows と実行することで :windows で echo されるのとおなじ文字列を標準出力で得ることができる。その出力をパースすれば、自分が screen の裏にいるかどうか判断することができるという

  • 1