wgetでBasic認証付きのページをダウンロード

このエントリーをはてなブックマークに追加
はてなブックマーク - wgetでBasic認証付きのページをダウンロード
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]

wget先のURLを指定する際に,basic認証のユーザ名とパスワードを以下のように設定すれば良い.

http://username:password@www.server.name/path/to/file

ここで,passwordに「@」が入っていると,それ以降がサーバ名だと解釈されてうまくいかない.

http://username:p@ssword@www.server.name/path/to/file

こういう場合,ssword@www.server.nameがサーバ名だと思われてしまう.

パスワード中の「@」を「%40」に置き換えることでこれを回避できる.

http://username:p%40ssword@www.server.name/path/to/file

send to kindle

このエントリーをはてなブックマークに追加
はてなブックマーク - send to kindle
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]

最近Androidアプリ版のkindleを使い始めた.

kindleではAmazonで買った本の他に,「send to kindle日本語)」という機能を使って,自前のPDFもAmazonで買った本と同じように読むことができる.
send to kindleは,登録しておいたメールアドレス宛てにPDFを添付して送ると,そのPDFがkindleからダウンロードできるような形になる.

PDF以外にも

  • Microsoft Word (.DOC, .DOCX)
  • HTML (.HTML, .HTM)
  • RTF (.RTF)
  • Text (.TXT)
  • JPEG (.JPEG, .JPG)
  • Kindle Format (.MOBI, .AZW)
  • GIF (.GIF)
  • PNG (.PNG)
  • BMP (.BMP)
  • PDF (.PDF)

に対応しているらしい.

さらに,Chrome拡張のSend to Kindle for Google Chromeを使うと,Chromeで開いているWebページをKindleに送ることもできる.

WordPressのデザイン Twenty Fourteen

このエントリーをはてなブックマークに追加
はてなブックマーク - WordPressのデザイン Twenty Fourteen
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]

WordPressの2014年版デザイン,Twenty Fourteen,格好いいんだけども,コンテンツの幅が狭い.

それでこれまではYumeというテーマを使っていた.

が,この記事,WORDPRESS3.8がリリース、TWENTY FOURTEENが超絶かっこいいをみつけて,幅を簡単に変更できるようだったのでやってみた.

Style.css の中の, .page-content にある max-width を変えればいい.

.page-content {
    margin: 0 auto;
    /* max-width: 474px;  ←狭い */
    max-width: 800px;
}

上のブログよりちょっと広めにしてみた.

feedlyを整理した

このエントリーをはてなブックマークに追加
はてなブックマーク - feedlyを整理した
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]

feedly,Google Readerが終わってから乗り換えて使っている.ウェブベースのRSSリーダー.

Google Readerが終わった時に,まるごとインポートして使って来たが,更新されてないブログがいくつか登録されていたり,整理がうまくできていなかったりで限界に達したので,一旦全部見直すことにした.

左のメニューの Organize を選択して編集画面へ.

いらない要素を一番下のNEW COLLECTION点線枠内にドラッグ&ドロップすることで,新たにコレクションを作れる.その名前を,「ここまで編集済み」にして,コレクション自体を画面の一番上へドラッグ&ドロップする.

あとは要らないものを消して,必要なRSSだけをNEW COLLECTIONに入れてコレクションを作っていく.新たに作ったコレクション,編集する必要がない確認済みのコレクションは,上で作成した「ここまで編集済み」コレクションよりも上へ移動させる.

「ここまで編集済み」コレクションが画面の一番下までくれば整理完了.

IFTTTに登録した

このエントリーをはてなブックマークに追加
はてなブックマーク - IFTTTに登録した
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]

IFTTTは,If This, Then Thatの略で,「◯◯が起きた時に☓☓する」を登録することで,◯◯をトリガーにして☓☓を実行できるサービス.

例えば,「メールが来たら添付ファイルをDropboxへ保存する」「Instagramに写真をアップしたら,その写真をTwitterにもアップする」など,色々なことができる,情強さん御用達のツール.

さっそく登録して,色々試してみる.

php-fpmを使う時に気をつけること

このエントリーをはてなブックマークに追加
はてなブックマーク - php-fpmを使う時に気をつけること
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]

さくらVPSのメモリ2GBのやつで運用しているが,ApacheからNginx+php-fpmに変えた時にメモリがあふれたのでメモ.OSはCentOS 6.5.

サーバの応答がやたら遅くなったのでおかしいと思ってメモリ使用量をチェックしたら,php-fpmのプロセスが多数起動していた.

起動するプロセス数の上限がデフォルト値になっていたのが原因.こちらのページを参考に/etc/php-fpm.d/www.conf を編集した.
(リンク先のページはレイアウトが崩れていてよくわからなかったが…)

sudo vi /etc/php-fpm.d/www.conf

以下の部分が,とくに修正をする点.同時に起動する子プロセスの数などを決める.たぶん以下の設定はかなり小さい構成になってると思う.

pm = dynamic

; The number of child processes to be created when pm is set to 'static' and the
; maximum number of child processes to be created when pm is set to 'dynamic'.
; This value sets the limit on the number of simultaneous requests that will be
; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
; CGI.
; Note: Used when pm is set to either 'static' or 'dynamic'
; Note: This value is mandatory.
pm.max_children = 5

; The number of child processes created on startup.
; Note: Used only when pm is set to 'dynamic'
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
pm.start_servers = 4

; The desired minimum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.min_spare_servers = 3

; The desired maximum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.max_spare_servers = 5
-
; The number of requests each child process should execute before respawning.
; This can be useful to work around memory leaks in 3rd party libraries. For
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
; Default Value: 0
;pm.max_requests = 10

wordpressをapacheからnginxへ変更

このエントリーをはてなブックマークに追加
はてなブックマーク - wordpressをapacheからnginxへ変更
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]

WordPressをNginx上で動かしている.以前はApache上だったが,Nginxの方が最近流行りなので変えてみた.

気をつけるのは,rewriteのルール.特にwordpressの設定でパーマリンクを変えてるとはまる.以下の様なrewiteルールを付け足しておくと手元の環境ではうまくいった.

rewrite ^.+?($/-.*) $1 last;
rewrite ^.+?(/.*\.php)$ $1 last;
rewrite ^ /index.php last;

nginxの設定ファイル /etc/nginx/conf.d/default.conf  の全体は(下記の /path/to/wordpress の部分を適切に書き換える必要がある)

#
# The default server
#
server {
    listen       80 default_server;
    server_name  _;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   /path/to/wordpress;
        index  index.php;

        if (!-e $request_filename) {
            rewrite ^.+?($/-.*) $1 last;
            rewrite ^.+?(/.*\.php)$ $1 last;
            rewrite ^ /index.php last;
            break;
        }
    }

    error_page  404              /404.html;
    location = /404.html {
        root   /usr/share/nginx/html;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        #root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME  /path/to/wordpress$fastcgi_script_name;
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}

}

include /etc/nginx/sites-enabled/*;

見て便利・撮られても安心な「変身カメラ」

このエントリーをはてなブックマークに追加
はてなブックマーク - 見て便利・撮られても安心な「変身カメラ」
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]

以前開催したイベント:「体感しよう!あいあいネット」で,大々的に紹介した「変身カメラ」のコンセプトムービーを作っているのですが,とりあえずYoutubeにアップロードしてみました.


D

まだ音無し,カクカク,「※実際の結果とは多少異なります」付きですが….ちなみに映像に映っている人は私です.

このような防犯カメラの映像をインターネットに流す場合,プライバシの侵害が大きな問題となるのですが,この「変身カメラ」ような映像ならば,インターネットに公開してもプライバシ問題を気にする必要はありません.

ちなみに私の研究は,この「変身カメラ」のための「背景画像生成」です.

Twitter規制されてるような

このエントリーをはてなブックマークに追加
はてなブックマーク - Twitter規制されてるような
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]

出張で西安@中国へ行く途中に上海に来ています.空港の無線LANが使えるというので,さっそく「上海なう」をやろうとwww.twitter.comに接続してみると….なぜかつながらない.何度やっても.他のウェブサイトはいけるのに.

と,ここまできて,中国がネットの情報統制をやってるのを思い出した.これのせいかどうかはわからないけど,なんかそんな理由でTwitterにつながらないような気がする.

Youtubeはどうかな…?

画像処理におけるマルチスレッドの利活用

このエントリーをはてなブックマークに追加
はてなブックマーク - 画像処理におけるマルチスレッドの利活用
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]

最近研究で,ウェブカメラ(的なもの)から画像をとってきて画像処理(追跡とか重い処理)をすることがあります.

このとき,「画像をとってくる」処理は結構「待ち時間」があるので,リアルタイム処理をするときに困ります.

そこで,時間のかかる画像処理をやってる間に裏で画像をとってくる処理を並列して行う方法を書きます.「マルチスレッド」を使います.

とりあえず疑似コードで.

カメラからとってきたデータを「画像」へコピー
繰り返し始め
「temp画像」に撮影予約
「画像」を使って時間のかかる画像処理
撮影が終わるのを待つ(というかたぶん終わってる)
「temp画像」を「画像」へコピー
繰り返し終わり

ループ冒頭の“撮影予約”の部分では,スレッドを作成します.ここで作成したスレッドでは,“カメラからとってきたデータを「temp画像」へコピー”を実行します.

“撮影が終わるのを待つ”部分では,上で作成したスレッドの処理が終わるまで,メインの処理を停止させて待ちます.

これにより,時間のかかる画像処理中に撮影を並行しておこなっておくことができるようになります.

次のエントリではもうちょい具体的なソースコードを書く.かも.