PCの調子がおかしい

 マルチメディア(死語)サーバとして使っているShuttleのXS36V5だが、動画サイトを見るとクラッシュするようになった。Google ChromeでもFirefoxでも同様。

 メモリの不調を疑い、memtest86+を走らせてみたが完走。ならばと再インストール。だがインストールを完走できない。コピーの途中で止まってしまう。前回うまくいったHDDクリア法でも同様。

 次に疑ったのはHDD。

続きを読む

ORCA、がっつり

 恒例、週一ソロ飲み。

立ち呑みバル ORCA

 「最近綾小路におしゃれな店が増えとるな」と思っとったら、佛光寺通りにも。おしゃれだけど、単価は抑えてある。
 店名に反して、椅子完備。

retty.me

がっつり

 打って変わって、おっちゃん度の高いお店へ。ずいぶん久しぶり。

thunarのアクションで与える引数の挙動

 昨日の続き。

 普通の場合は特に気にすることはないが、ファイル名にスペースが含まれると挙動がおかしくなる。

 こんなphpスクリプトを作って、実行権限をつけて引数%Fを与えるよう設定し、2つのファイルを選択して右クリックメニューから実行してみる。ファイル名は"/tmp/Screenshot 2.png"と"/tmp/Screenshot 1.png"。

#!/usr/bin/php
<?php
$file='nanchara.txt';
array_shift($argv);
file_put_contents($file, $argv);
?>

 ダブルクオーテーションで囲んだ場合。

続きを読む

escapeshellarg

 phpでsyncthingサーバの新しいファイルをローカルにコピーするスクリプトを作っていたけど、一部のディレクトリでコピーできていない。ログを取るようにして原因発見。Androidのコラージュ作成ソフトが作成するファイルの名前にスペースが入っていたせいだった。
 いったんは$filename=str_replace(' ','\\ ',$filename);したけど、ちょっと検索してescapeshellargという関数があるのを発見。こりゃ便利だ。

 とはいえ、外部コマンドを呼び出すときはクォテーションで囲って、phpの関数に渡すときははずさないとうまくいかない。諸悪の根源はファイル名にスペースを入れるAndroidアプリだけど。

phpでinstagramをスクレイピングして更新時刻を得る

 instagramのAPIは自分のアカウントの情報しか得られないらしいが、サブアカウントの更新情報を更新情報ページに反映させたい。

 ならソースコードを見ればいいかと思ったが、大部分はJavaScriptで書かれているので、そのままではいかなそう。
 ふとスクレイピングという単語を思い出し、「instagram スクレイピング」で検索。
blog.xin9le.net

 なるほど、JavaScriptの変数にJsonとやら(名前は知っていた)の形式で書かれているらしい。Jsonはphpで簡単に扱えるらしい。

 で、作ったのが以下。エラー処理はテキトー。

続きを読む