2012-05-09

Producteev 現在はGoogle カレンダーとの同期に対応していない

検索した人をガッカりさせるためのエントリ。

「Producteev」はGoogle Calendarとも同期可能なオンラインタスク管理ツール : ライフハッカー[日本版] が2010年

We are working to make Google tasks sync available again asap.

How can I sync Producteev with Google tasks? – Help us improve your Tool...

が2012年の1月で

Producteev launches new apps for Android, iPhone, Web and Windows! - What's up at Producteev?

でもCEO が直しますとは言っているんだけど、はや数ヶ月。

という状況です。

2012-04-28

mongoose 3.1 でurl_rewrite_patterns が設定できるようになりPHP アプリケーションの開発サーバにApache HTTPD やnginx が不要になった

mongoose というのはhttpd のことで、Mongoなんとかの周辺ツールのやつではありません。
http://code.google.com/p/mongoose/

PHP をCGI で動かせるのでPHP での開発でめんどさくかったウェブサーバのセットアップの手間を省けて便利に使っていた。
が、今まではソースが.htaccess(Apache HTTPDでいうmod_rewriteでのURL置き換え)に依存してたりするとmongoose 単体でデバッグがしずらく仕方なくApache HTTPD をセットアップしていた。

PHP 5.4 でもビルトインウェブサーバが入っているけどとくにURLを書き換えたりする機能はないみたい。dispatch.php みたいなものを書けばよさそうだけど

まあ /index.php/hello/world のまま全部使えるんならそれでいいけど静的ファイルの参照先が崩れる。

url_rewrite_patterns(Alias)は単純な内部URLの文字列置き換えっぽいけど自分が求めていたことはできそう。
Symfony Standalone 2.0 のDemo アプリケーションで試してみる。

    cd web
    mongoose -I ~/bin/php-cgi -w "/bundles=bundles,/**=app_dev.php"

bundles ディレクトリは静的ファイルがあるので優先してそのまま書き換えて、あとはapp_dev.php にURLのパスを引数として渡す

http://localhost:8080/demo/hello/%E3%81%8A%E3%81%BE%E3%81%88
にアクセスして確認

わーい

無事、Symfony 2.0製のアプリケーションを動かすことができました

2012-04-25

uim-skk(MacUIM) ユーザーなんだけど、iTerm 内のVim でC-[ でIMEオフにしたい→C-Gで妥協した

Esc ではできてる(UIM のvi 強調モード)
MacVim では問題ない

Esc では効くのでKeyRemap4MacBook でマッピング書いてみたがうまくいかずふて寝。→C-Gで妥協したらできた

private.xml Reference Manual
http://pqrs.org/macosx/keyremap4macbook/xml.html#t3

  <!-- https://github.com/tekezo/KeyRemap4MacBook/blob/master/src/core/server/Resources/appdef.xml -->
  <appdef>
    <appname>TERMINAL</appname>
    <equal>com.apple.Terminal</equal>
    <equal>iTerm</equal>
    <equal>net.sourceforge.iTerm</equal>
    <equal>com.googlecode.iterm2</equal>
  </appdef>

  <item>
    <name>Escape IME on Terminal</name>
    <identifier>private.appdef.terminal</identifier>
    <only>TERMINAL</only>
    <autogen>--KeyToKey---
        KeyCode::G, ModifierFlag::CONTROL_L,
        KeyCode::ESCAPE
    </autogen>
  </item>
2012-04-25

CUI版Vim を使う理由について

ちゃんと考えたことなかった。

シェル環境で作業する領域と、エディタ環境での作業がきっちり別かれている意識だとGUIVimのが使いやすいのかな?
Emacs や各種IDE だと埋め込みシェル環境みたいなのがあるらしいけど、あれってどの程度の仕事をこなす用なんだろう。

普段、tmux(GNU screen) + zsh + vim でいろいろ作業する

  • リモートのマシン上でも作業する
  • ターミナルエミュレータから出たくない
  • 異なるワークスペースでそれぞれ作業を平行したい
  • 他のCUI ベースのツールとウィンドウを共有したい(screen分割とか)
  • 作業の延長線上にファイル編集がある(あいまい)
  • ~/Project/HogeProject 以下をエディタでいろいろ編集→ウェブブラウザで操作だったらGUI版でいいかも
  • 実際はエディタでいろいろ編集→シェルでコマンド発行→いろいろ編集→ウェブブラウザで操作という手順が多いのGUI版だと管理するOSのデスクトップ上のウィンドウが増える
  • 早い(気がする)
  • かっこいい(気がする)


こういう文章を書いているとVimShell おじさんが来るらしい(都市伝説)

2012-04-08

OS X 環境でCUI vim を操作しているとグっと固まる現象

症状

  • OS X 環境でCUI vim を操作しているとグっと固まる
  • カーソルを左右に移動しようとキー長押ししている時によく起る
  • Ctrl-C のシーケンスを送ると復帰して操作できる
  • GUI vim では起きない
  • MacVim(KaoriYa)、/usr/bin/vim 両方で起きる
  • vim --noplugin でも起きる
  • vim -u /dev/null で起きない
  • screen/tmux には依存せず
  • :message にはエラーの形跡なし

確認手順

  • 症状からVIMRC 内に問題箇所があると推測
  • コメントアウト→再現確認で繰り返し
  • set visualbell の行に依存していることが判明
  • set novisualbell をすると起きないことを確認
  • とりあえず :h vb 、t_vb の文字列をエスケープシーケンスを発行していることを確認
  • term=xterm-256color
  • t_vb=^[[?5h$<100/>^[[?5l
  • TERM=screen-256color vim で起きないことを確認
  • xterm 系のtermcap? を使っている時のみ起きそう
  • xterm 系のビジュアルベルのエスケープシーケンス発行時にエラー、タイムアウト、などが起きていると今時点での知識から推測

対策

  • set novisualbell でフリーズはない。ビープ音が鳴る。
  • set visualbell t_vb= でビープ音もならなく、フリーズもない。が、ビジュアルベルを握り潰しているのでBEEPには気付かない

さらに知りたいこと

  • もっと効率的な確認方法やコマンド
  • 起きている現象の詳細と正解の解決方法
2012-03-11

githubのユーザー検索結果に各ユーザーのプログラミング言語属性がついてて面白かったので集計した

たとえば、”.” で検索した時の。他に, と# もやってみたけど同じ数だった(ワイルドカード的な扱い?)。

今これ、148万ユーザーって出てるけど総ユーザー数かな? 2009年に10万ユーザーいったらしいのですごい伸びですね。

あとどういう具合で言語が判定されているのかも気になる。自分のレポジトリ+活発とかwatch多いとかのアクティビティや実績を見てそうだけど。

この辺の結果と比べるとRubyのシェアが全然違う。github のサービス自体Rubyコミュニティの人たちがはじめたそうなので、その傾向もあるのかな。

ユーザー別

f:id:laiso:20120311194400p:plain

スクリプト

以下でタブ区切りCSVにして、Google Docs でチャートにしました。