Just another Ruby porter,

〜2013年9月中旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2013-09-11 (Wed)

Cygwinでjq

configureしてmakeでいけるかと思ったら、結構面倒だった。
git clone git://github.com/stedolan/jq.git して、
autoreconfしなきゃいけないけど、これが通らない。
どうもautomakeが新しすぎてバグにぶち当たるようで。

% autoreconf
automake-1.14: error: global options already processed
automake-1.14: Please contact <bug-automake@gnu.org>.
 at /usr/share/automake-1.14/Automake/Channels.pm line 662
        Automake::Channels::msg('automake', '', 'global options already processed') called at /usr/share/automake-1.14/Automake/ChannelDefs.pm line 212
        Automake::ChannelDefs::prog_error('global options already processed') called at /usr/share/automake-1.14/Automake/Options.pm line 421
        Automake::Options::process_global_option_list('HASH(0x600924fb8)') called at /bin/automake-1.14 line 5331
        Automake::scan_autoconf_traces('configure.ac') called at /bin/automake-1.14 line 5431
        Automake::scan_autoconf_files() called at /bin/automake-1.14 line 8259
autoreconf-2.69: automake failed with exit status: 29

Cygwinでautomakeをインストールすると、
無駄に過去のバージョンまで一緒にインストールされるけど、
ひょっとしてこういう自体に対処するため?
というわけで1個前のバージョンを指定してみる。

% WANT_AUTOMAKE=1.13 autoreconf
parallel-tests: error: required file 'config/test-driver' not found
parallel-tests:   'automake --add-missing' can install 'test-driver'
autoreconf-2.69: automake failed with exit status: 1
% WANT_AUTOMAKE=1.13 automake --add-missing
parallel-tests: installing 'config/test-driver'

これでconfigureができあがった。
あといろんなgemを入れないとドキュメントができないらしいが、
jq自身だけできればいいならこれでok。


2013-09-12 (Thu)

判子をかすれさせるには

判子を作ったはいいが、あまりにも完璧すぎていけない。
一部かすれるとかないとらしくない。
convertでできるもんかな。


2013-09-13 (Fri)

またNo-IPからexpireするぞと警告が

noip2はだめだなこりゃ。というわけでddclientを試す。
インストールはパッケージがあるので普通にaptitudeで。
serverはdynupdate.no-ip.comで、更新プロトコルはdyndns2で、
ネットワークインターフェイスはとりあえずeth0にしてそのまま続けて完了。
eth0だとプライベートアドレスになってしまうので、
/etc/ddclient.confを編集してuse=の行を

use=web, web=checkip.dyndns.com/, web-skip='IP Address'

に変更。sudo ddclient -daemon=0 -debug -verbose -noquietして確認。
最後に

SUCCESS:  updating XXXXXXX.no-ip.org: good: IP address set to XXX.XXX.XXX.XXX

と出てくればok。


2013-09-14 (Sat)

No-IPの更新は結局curlで

noip2とかddclientを常駐させとくのもばからしいし、
curl一発cronで1日と16日に実行でいいかという結論に。

0 0 1,16 * * curl -sn "https://dynupdate.no-ip.com/nic/update?hostname=XXXXXXXX.no-ip.org&myip=`curl -s ifconfig.me`"

curlもftpみたいに~/.netrcに

machine dynupdate.no-ip.com login アカウント名 password パスワード

と書いておけば-nで読み込んでくれる。ifconfig.meはIPアドレスを返してくれるので便利。
User-Agentで判断してる。ifconfig.me/ipなら確実にIPアドレスを返す。


2013-09-15 (Sun)

JSONの残念なところ

最後のカンマが許されないのでエラーになってしまう。
hashとか配列とかいじるときにコピペするとどうしえも残りがち。
しょうがないので

{
  "foo": 1,
  "bar": 2,
  "ダミーの終わり": 0
}

みたいなことしてるけど、あまりかっこよくない。


2013-09-16 (Mon)

o(pen)を定義

Linuxでは/bin/openが存在するが、これはopenvtへのsymlinkらしい。
openvtなんてコマンドがあることすら知らなかったが実にもったいない名前ではある。
どこかのOSのように関連付けられたコマンドを起動するほうがよさげだ。
というわけでXfceだったらexo-open、その他だったらgnome-openを起動するようにした。
ついでに今さらopenでもないのでもうoにした。

#! /bin/sh

open=gnome-open
if [ "$GDMSESSION" = xfce ]; then
  open=exo-open
fi
exec "$open" "$@"

今まではXfceでもgnome-openを使っていたが、
フォルダを指定した時にGNOME上じゃないとやはり起動に時間がかかる。
exo-openならXfceのファイルマネージャーが開かれるので速い。
まあ、GNOMEはあまり使わないのでexo-openを直接使えばいいんだが。


2013-09-17 (Tue)

xdg-open

わざわざ作らなくてもすでにxdg-openがあるとの情報をemasakaさんから得た。
というわけで、もうalias o=xdg-openだけでいいね。


2013-09-18 (Wed)

fstabでパス名に空白を使う

cifsでmountするときは相手側がWindowsなので空白が含まれているときがある。
これを/etc/fstabで設定しようとしてはたと困った。
fstabでは空白は区切り文字なのでescapeしないといけない。
単にbackslashでquoteしてもだめ。""で全体をくくってみてもだめ。
man fstabしてもman mountしてもそのあたりの記述が見つからない。
そういえばcygwinのfstabでは8進数が使えたのでやっぱそうなのかと試すといけた。

//server/share/foo bar/hoge

のような場合は

//server/share/foo\040bar/hoge

とすればok。注意点としては\40では駄目。0も必要。\x20のような16進も使えない。


2013-09-19 (Thu)

GmaneのRSSの空白の扱い

なかださんから以前指摘された件。@rubyciの大元はruby-cvs MLだけどGmaneのRSSを利用してる。
でなぜかたまに空白がなくなる。RSSの段階でなくなってるわけでなぜこんなことになってるのか。
たとえば これはなぜかmakeSymbolとなってしまっている。

それはそれとしておめでとう!


2013-09-20 (Fri)

cURLでDiigo bookmark

まず API Keyを入手。アカウント名とパスワードは例によって~/.netrcにあらかじめ追加しておく。

machine secure.diigo.com login アカウント名 password パスワード

あとはURLエンコードするところを--data-urlencodeで指定する。titleとかdescriptionとか。
--trace-ascii -すると何を渡しているかもわかるのでデバッグ時に便利。

% curl --trace-ascii - -sn -d 'key=api_key&url=https://jarp.does.notwork.org/jarp/&shared=no' \
  --data-urlencode 'title=テスト' https://secure.diigo.com/api/v2/bookmarks

<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!