脳みそスワップアウト

揮発性なもので。おもにPHPのこととか。

Thumbsenseの代替

Thumbsenseの代替

  • 2018-01-31

AutoHotkey

オリジナル自体が開発停止してしまっており、
AutoHotkey_L という派生版が主流。
https://www.autohotkey.com/

zip版をダウンロード - 起動は *.ahkAutoHotkeyU32.exe に D&D - 終了は AutoHotkeyU32.exe を終了

現在は公式がAutohotkey_Lになった?

  • v1.0
    • オリジナル版、Basic、Classic
  • v1.1

ThumbRemap

AHK1.0 のスクリプトで、タッチパッドのドライバの機能を使ってタッチ状態を取得しようというもの。

んー、なんかちゃんと反応しない。
常にタッチ状態になってしまう。

EdoBall Flick!

AHK1.0のスクリプト

マウスが動かされるとマウスモード
マウスが止り、ボタンがクリックされて、0.5秒たつと、通常(テキスト)モード
0.5秒以内であれば、ダブルクリック、トリプルクリックができます。
  • クリックとスクロールは動作する
  • 時限制なので、Thumbsenseに比べると待ち時間が長いのが惜しいところ

tsense-ahk

動かない

のどか

現状いちばんよさげ。

機能が割り当てられているキーは、パッドを離したあと何かしらの機能キーが押されないと反応しない?
パッド+S でスクロール → 何かしら機能キー でタッチ状態解除 → 文字入力 の流れ。
→ どうも、タッチを離す前にキーを離すとダメらしい?

  • 独自
  • 左右クリック、ウィンドウ閉じ(w)、cmd.exe起動(p)、スクロール(s)、ウィンドウ移動(a)
  • nodoka64.exe -m
  • シェアウェア ¥1,800 端末数制限なし。

Mac

Karabiner / Karabiner Elements

OSのバージョンアップの影響で、Thumbsense機能が削除されてしまった。
対応する見込みはイマイチ #782

Hammerspoon

ID3 tag

ID3 tag

mp3ファイルに曲の情報を付加する規格。
ファイルに埋め込む。

種類

ID3v1 / 1.1

  • 文字コードの規定がなく、昔設定したものが問題になりがち
  • 128バイト固定
  • ファイルの末尾に埋め込む

ID3v2

v1とは互換がなく、v2の中でも互換がない。
ファイルの先頭に埋め込む

  • ID3v2.3

    • もっとも普及している
    • ISO-8859-1, UTF16
  • ID3v2.4

    • UTF8サポート

運用

ID3v1 や APE は削除して、ID3v2.3 だけ付けるのがよさげ。
ID3v1 には文字コードの規定がなく、昔設定したものがよく問題になるため。

Mp3tag なら、

  • オプション>タグ>Mpeg>以下を削除する に ID3v2 以外にチェックを入れておく
  • ファイルを選択して右クリック>タグの削除 で、ID3v2 以外のタグを消すことができる

コマンドラインからシャットダウン/再起動

Windows7リモートデスクトップで繋いでいると、スタートメニューに再起動が出てこない。
コマンドラインからやる方法を調べたのでメモ。

すぐ再起動

Linux でいう shutdown -r now

shutdown /r /t 0

すぐシャットダウン

Linux でいう shutdown -h now

shutdown /s /t 0

リモートで再起動

SysinternalSuite を使うとリモートでもできる。

c:\Apps\SysinternalSuite>psshutdown.exe -u pen \\quro -r -f

LVM

LVMのレイヤ。メモ。 f:id:lion_and_perican:20180112020624p:plain

借りたVPSが妙なパーティション構成になっていることがあった。
/home だけやたら大きくて /var が全然ないとか、/data という謎の領域が大きくて / が狭いとか。

借りたら忘れずにパーティション構成を確認して、
必要に応じて調整しよう。

UPLOAD_ERR_PARTIALのシミュレーション

UPLOAD_ERR_PARTIAL を発生させる手順のメモ。

ファイルアップロードの途中でTCPセッションが切れた場合などにこれになる。
モバイル端末など、細い回線で発生しやすい。

このエラーを再現させるには、Content-Length に満たない multipart なリクエストを送り、途中で切断すればよい。
これで「ファイルの送信中に回線切れ」のような状況を作れる。
ncでできる。

$ nc <ipaddr> 80
POST /recvFile.php HTTP/1.1
Host: www.example.com
Content-Length: 500000
Content-Type: multipart/form-data; boundary=---------------------------12345

-----------------------------12345
Content-Disposition: form-data; name="img1"; filename="hoge.jpg"
Content-Type: image/jpeg

aaa

### ここで Ctrl+C で nc を止める(切断) すると、UPLOAD_ERR_PARTIAL が発生する

recvFile.php

<?php
$line = var_export($_FILES, true) . "\n";
$logfile = __DIR__ . '/test.log';

error_log($line, 3, $logfile);