〜2013年7月下旬〜
どうもmultiformというのが必須のようで、2回アクセスが必要になる。
<input type='hidden' name='multiform' value='3B62678802F857FEF11CC3D43FA4752359'/>
この値が必要。例によってgrep -Poを使う
grep -Po "multiform' value='\K[^']*"
awkのほうがいいか。
awk -F\' '/multiform/{print $6}'
まとめるとこんな感じ。
% MULTIFORM=`curl -s -c cookie.txt https://account.dyn.com/ | awk -F\' '/multiform/{print $6}'` % curl -kL --data "username=ユーザ名&password=パスワード&multiform=$MULTIFORM" -o dyn.html -b cookie.txt https://account.dyn.com/
dyn.htmlにユーザ名が含まれていればログイン成功と見ていいだろう。
左右ボタン両方を軽く触れ、どちらか一方をクリックすればいけるとの情報を得たが、
どちらのボタンをクリックしても右クリックと認識されてしまう。
そもそもタスクバーのアイコンが左右ボタンのインジケータしかないので、
最初からできない雰囲気ではある。
なぜ1ヵ月以上経った今頃こんなこと言ってるかというと、
普段はsynergy使ってるのでタッチパッドの挙動に気がつかなかったというか、なんというか。
タップゾーンに中クリックを割り当てられるらしいが、
四隅じゃなんか違うと思うのでやめておく。
正直なくてもFirefoxだけの話なので右クリックでなんとかなるね。
Cygwinの64bit版がリリースされたようだ。setup.exeもそれぞれ名前が変わる。
setup.iniの形式が変わるので古いsetup.exeは使えなくなるらしい。
竹シーツの出番がほとんどないくらい。
ちょっと気象庁で調べてみると熱帯夜になってない。
あと気温が低くなる時間帯も早いような気もする。
早速インストールしてみたらデフォルトはC:\Cygwin64に入るようになっていて、
32ビット版とは完全に分離さていた。
ホームディレクトリはどうしようかなと思ったが、
そんなことよりzshのパッケージがまだ存在してなかった。
これは痛い。もうちょっと待つか。
FreeのDynamic DNS。一応これも確保しておく。
linuxのクライアントもある。
ubuntuのパッケージがありそうな記述があったが、すでに存在せず。
tarballからmakeでok。
Fetch the current human population of Earthによるとjsonで取ってこられるらしい。
実際に
ここにアクセスすると推定の人口が得られる。
過去1年分ぐらいの月始めのデータもある。
grepで\Kを使ってもその月ごとのデータにもヒットしてしまう。
% curl -s http://www.census.gov/popclock/data/population/world > world.json % grep -Po '"population":\K\d+' world.json 7101036371 7095217980 7101942735 7108667490 7115175318 7121900073 7128407901 7135132656 7141857411 7147931384 7154656139 7161163967 7172800105
後ろに"population_rate"があるので
% grep -Po '"population":\K\d+,"p' world.json 7101036371,"p
とすれば1つにしぼれる。先読みを指定すれば数だけになる。
% grep -Po '"population":\K\d+(?=,"p)' world.json 7101036371
最小はこんな感じか。
% grep -Po '":\K\d+(?=,"p)' world.json 7101036371
最近話題のjqを使えば
% jq .world.population world.json 7101036371
でいいんだけどね。
と書いておきながら、実際はbookmarkじゃなかったりするんだけど。
address barで右クリックして検索エンジンの編集を選び、
最後までスクロールして、
「新しい検索エンジンを追加」「キーワード」「検索キーワードの代わりに%sを含むURL」
をそれぞれ埋める。これでaddress barでキーワードが使えるようになる。
過去にいろんなページで検索していると自動的に登録されてたりするので、
よく使うページは短いキーワードを設定しておくと便利。
configureした結果を32と比較してみた。
--- trunk-cygwin/configure.log 2013-07-29 11:45:45.579627200 +0900 +++ trunk-cygwin64/configure.log 2013-07-29 12:10:01.124625800 +0900 @@ -1,4 +1,4 @@ -checking build system type... i686-pc-cygwin -checking host system type... i686-pc-cygwin -checking target system type... i686-pc-cygwin +checking build system type... x86_64-unknown-cygwin +checking host system type... x86_64-unknown-cygwin +checking target system type... x86_64-unknown-cygwin checking for gcc... gcc @@ -23,3 +23,2 @@ checking whether gcc -E accepts -o... yes -checking for __sync_val_compare_and_swap... yes checking for ranlib... ranlib @@ -195,11 +194,11 @@ checking size of short... 2 -checking size of long... 4 +checking size of long... 8 checking size of long long... 8 checking size of __int64... 0 -checking size of __int128... 0 +checking size of __int128... 16 checking size of off_t... 8 -checking size of void*... 4 +checking size of void*... 8 checking size of float... 4 checking size of double... 8 -checking size of time_t... 4 +checking size of time_t... 8 checking for printf prefix for long long... ll @@ -220,3 +219,3 @@ checking for off_t... (cached) yes -checking for convertible type of off_t... LL +checking for convertible type of off_t... LONG checking for prototypes... yes @@ -241,4 +240,4 @@ checking for size_t... yes -checking size of size_t... 4 -checking size of ptrdiff_t... 4 +checking size of size_t... 8 +checking size of ptrdiff_t... 8 checking for printf prefix for size_t... z @@ -248,4 +247,4 @@ checking for struct stat.st_rdev... yes -checking size of struct stat.st_size... SIZEOF_LONG_LONG -checking size of struct stat.st_blocks... SIZEOF_LONG_LONG +checking size of struct stat.st_size... SIZEOF_LONG +checking size of struct stat.st_blocks... SIZEOF_LONG checking for struct stat.st_atim... yes @@ -281,10 +280,10 @@ checking size of uint64_t... 8 -checking for int128_t... no -checking for uint128_t... no +checking for int128_t... __int128 +checking for uint128_t... unsigned __int128 checking for intptr_t... yes -checking size of intptr_t... 4 +checking size of intptr_t... 8 checking for uintptr_t... yes -checking size of uintptr_t... 4 +checking size of uintptr_t... 8 checking for ssize_t... yes -checking size of ssize_t... 4 +checking size of ssize_t... 8 checking for stack end address... no @@ -432,3 +431,4 @@ checking for external altzone... no -checking for timezone... no +checking for timezone... yes +checking whether timezone requires zero arguments... yes checking for negative time_t for gmtime(3)... yes @@ -438,5 +438,5 @@ checking read buffer ptr field in FILE structures... _p -checking size of struct stat.st_ino... SIZEOF_LONG_LONG +checking size of struct stat.st_ino... SIZEOF_LONG checking whether _SC_CLK_TCK is supported... yes -checking stack growing direction on i386... -1 +checking stack growing direction on x86_64... -1 checking for pthread_kill in -lthr... no @@ -468,3 +468,3 @@ checking whether -Wl,--no-undefined is accepted as LDFLAGS... yes -checking for prefix of external symbols... _ +checking for prefix of external symbols... NONE checking pthread.h usability... yes @@ -475,3 +475,3 @@ checking for nroff... /usr/bin/nroff -.ext/include/i386-cygwin/ruby/config.h unchanged +.ext/include/x86_64-cygwin/ruby/config.h unchanged ruby library version = 2.1.0 @@ -482,4 +482,4 @@ -real 3m50.504s -user 0m41.058s -sys 1m52.276s +real 3m35.935s +user 0m32.877s +sys 1m46.179s
まあ、だいたい予想通りではあるが、timezoneとかsymbolに_がつかないとか違いがあるんだな。
realを見るとやはりcygwin64のほうが速いようだ。
で、makeするとfile.cでエラーになるが、GetLastErrorの宣言はもう不要だな。
昔はgnu-win32とかcygwin32とか名乗ってたが、cygwinになった。
でもここにきてcygwin64とか出てくるとそれと、
区別するためにcygwin32という名称が復活するような気がするがどうだろう。
最近なぜか同じページがブラウザのタブに並んでることが多いなと思ったら、
どうもマウスの1回のクリックでダブルクリックになるときがあるようだ。
分解して掃除するか。