via IPv4/IPv6を出力するPHP

管理しているVPSはたぶんIPv6レディである。そこで某ドメインにAAAAレコードを追加して、IPv6でのアクセスを許すようにした。そこで、時々プロバイダのトップページにあるみたいに、今v4とv6のどちらで通信しているかを表示しようと思って若干コーディングした。

まずはアイコンを作成する。僕にとってアイコンを作るなどの高度な操作はExcelでやるしかない…ので以下のようなアイコンを用意した。それぞれv4.pngv6.pngという名前で配置するものとする。

あとはPHPでアクセス元をIPv4かIPv6か判別して、この画像のどちらかを出せばよい。

  • IPv4のアドレスは数字を.で区切る
  • IPv6のアドレスは:で区切る

という事実を利用してコードを書けばよい。具体的にはこんな感じ(v4v6.php)。

<?php
$count = substr_count($_SERVER['REMOTE_ADDR'], ':');
if ($count > 0 ) {
    readfile('v6.png');
} else {
    readfile('v4.png');
}
?>

このコードは、コロン区切りであればv6.pngを、そうでなければv4.pngを読み込んで出力する。要は画像そのものを出しているのであるから、利用する側のHTMLは以下のようになる。

<img src="v4v6.php">

僕がやった方法はこれだけ。

もっとうまい方法がありそうな気がする。REMOTE_ADDR以外を用いて判断することができるのかもしれないが、知らないのでこのようにやってしまった。

HUAWEI Band 4購入

テレワークの世の中のおかげか、運動の習慣もないし、運動不足が極まっているので、先月終わりころにHUAWEIのBand 4(グラファイトブラック)を買って、毎日ほぼつけっぱなしで生活してみている。思ったことを書くと、

  • 歩数計があるので、あまりにも運動してない日は反省する(1000歩未満とか)。
  • 電池は期待以上に持つ。カタログスペックで一週間持つとあるが、そこまで持つかは試していない。減ってきたら充電するので。
  • 充電は本当に簡単、バンドを外してUSBスロットに突っ込むだけでよい。
  • BTがつながっていれば電話がかかってきたときにブルブルするので気づきやすい(そのまま通話できたりはしない)。
  • あまり来ないがSMSは内容をいくらか表示してくれる。二段階認証のSMSとかでいちいちスマホを見なくとも済むケースもある。
  • タイマー機能がある。画面が狭いので操作は若干やりにくいが、何しろ手首に付けているので必ず気づく。
  • 心拍数を測れる。
  • インテリジェントな目覚ましがついているが、今の時期、日が昇るのが早いので自然に起きてしまう。あまりお世話になっていない。
  • 睡眠の状況が可視化・点数化される。スマホで見ることができる。睡眠時間や深さ(動きや脈拍で判断するのかな)、中途での覚醒の回数やトータルの時間などなど、これは最も重要な機能の気がする。
  • 昼寝もしっかり記録される。
  • 肝心の時計としては、結構しっかり「時計見るぞ」というポーズを取らないと表示してくれないので、使い勝手は今一つなのではないか(笑)。
    • とか書いたけど、画面下部の「ホーム」みたいなボタンを押せば時間が出ることに気が付いた。2週間ほど気付かなかった…

この手の装置はまずスマホと連携させないと何の意味もないのだが、そこが幾分曲者で、GoogleのPlayストアからHuaweiの「ヘルスケア」を入れて、必要そうなライブラリ「HMS Core」を入れるとバージョンの不一致とかで利用できない。

まずHuaweiのAppGalleryを入れて、そのアプリから「ヘルスケア」と「HMS Core」を入れるとうまく動いた。できればPlayストアから入れられるようにしておいて欲しいのだけど、政治的な問題でもあろうし、深くは踏み込まない。ともかく、これが嫌だなと思う人は、買わないほうがいい。レビューでもそういうことがたくさん書かれていると思う。

それでも3000円で買えるガジェットとしては、間違いなく大変面白いものだ。上で挙げた項目が目的と合致する人は、一つ買ってみてはどうでしょうか。

dynabook T65/DGへのメモリ増設

知人より「PCが重すぎるので助けてほしい」という連絡をもらった。機種はdynabook T65/DGである。現在のところ、Webでカタログが閲覧できる。スペックは以下の感じ。

  • CPU Core i7-7500U (いいじゃん)
  • メモリ 4GB
  • HDD 1TB

CPUはとても良いのに、メモリはたったの4GBしかなく、SSDではなくHDDなのも残念。リモートでサポートしていたので、まずはメモリの増設をしてみようという話になった。

メモリはDDR4-2133のSO-DIMM。2つスロットがあり、1つ空いているので、とりあえずそこに4GBを足して8GBにしようかという話になった。通常用途なら8GBあるとずいぶんマシになるはず。

メモリの増設自体は裏フタを開けて刺すだけ。事前に「Shiftを押しながらシャットダウン」をして、きちんと電源を落としておくことが大切。あとは静電気に注意することと、刺し方に若干のコツがいるということ。この辺はdynabookのサポートのページにまとめてあった。そのくらいを伝えて、作業自体はうまくいった様子。

当たり前だが、8GBに増設した後は、これまでとは利用感が変わったようで良かった。そりゃそうだよね。売る側も知ってて売ってるから悪質だ。i5でよいから8GB積んでおけと言いたい。

買ったメモリはこちら。

WordPressの記事中に静的なHTMLパーツを読み込ませる

WordPressの記事中で、静的なHTMLパーツを読み込ませたいケースがあったとする。色々な方法があるのだろうけど、僕がやった方法は、

  • functions.phpに、HTMLを読み込むショートコードを定義する
  • 記事中でショートコードを使う

というやり方。自分でもやり方を忘れてしまうので、ここに記しておく。

HTMLを読み込むショートコードを定義する

functions.phpを編集する。具体的には、ダッシュボード→外観→テーマエディターと進めば、functions.phpを編集できるようになる。

その末尾に、例えば xyz.html というHTMLパーツを読み込む show_xyz という名前のショートコードを定義するには、以下のように追記すればよい。

なおここはPHPのコードであり、WordPressそのものをいじることになるので、いくらかの覚悟が要る。バックアップはきちんととってから、あとは文法間違いなどないように、慎重に行った方がよい。

/* show_xyz shortcode */
function show_xyz_func() {
return @file_get_contents( "/home/username/public_html/xyz.html" );
}
add_shortcode( 'show_xyz' , 'show_xyz_func');

記事中でショートコードを使う

ショートコードを使うのは簡単で、本文中で、

[show_xyz]

と書いておけばよい。これはContactFormプラグインを使うときと同じようなノリなのかな。

Anker PowerPort III Nano

僕のじゃないけど、新しいスマホ AQUOS sense3 (SHV45) を購入した。これには充電器がついていないので、新しく買うことにした。

特に変わったところはなく普通の充電器なのだけど、小さいことと、USB-Cなのが特徴かな。サイズ感はiPhoneの純正充電器と同じくらいの感じ。あと、ケーブルがついていないので、これも適当に購入した。

今のところ、Pixel3aもAQUOS sense3もばっちり高速充電できているようです。ともかく小型なものを求める人にはいいんじゃないかな。

REGZA 37Z1Sのリモコン購入

テレビ(REGZA 37Z1S)のリモコンが壊れてしまった。その型番はCT-90352なのだけど、もう製造をやめたのかな、えらい高値で買うしかないみたい。

大変見た目のよく似た、CT-90348というものは安く手に入るので、そちらを買ってみた。違いはいくらかあって、

  • ボタンがプラではなくゴム製
  • 右上の「二画面」が「番組説明」となっている
  • ふたを開けた中のレイアウトは少し違っていて「番組説明」がなくて「ラジオ/データ」というボタンがある

という感じで、二画面なんて使うことはあまりないので、買ってみた。今のところ、どのボタンもちゃんと使えているようで良かった。(もし使えないボタンを見つけたら追記します。)

Ubuntu18(以降)の日付がUTCなのをJSTにする

Ubuntu18.04LTSをインストールしたら、インストール時にタイムゾーンを聞かれず、UTCになっている。そこは自分で設定する必要があるみたい。以下のコマンドで設定できる。

sudo timedatectl set-timezone Asia/Tokyo

19.10をインストールしてみたけど同じだったので、18以降なのかな。

(追記)20.04LTSのbetaでも同じノリでした。

Ubuntu16/Ubuntu18へのDockerのインストール

自分向けのメモみたいなものだけども、Ubuntu16/Ubuntu18へのDockerのインストールは以下のようにやるとよい。検証はVPS(KVM)を利用して行った。

前提として、以下のOSのいずれかがインストールされていて、今日(2020/3/5)までの最新のパッケージが入っていることとする。

  • Ubuntu 16.04.6
  • Ubuntu 18.04.4

また、作業はsudoを実行可能な一般ユーザで行う。この一般ユーザでdockerコマンドを使えるようにするのがゴール。

sudo apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce
sudo adduser `whoami` docker

以上である。adduserでグループdockerにユーザを追加しているが、これが有効になるのは再度ログインしてからなので、ログインをしなおすとよい。これでDockerの入門書などに進むことができる。

Anker PowerDrive 2

車のシガーソケットからUSB充電するアダプタ、大昔にカー用品店で買ったのだけども、最近のスマホだと充電が遅いのなんの、たぶん1Aか、もしかしたら0.5Aかもしれない。そこで充電器を新調することにした。

買ったものはこちら。Ankerの定番品です。シガーソケットに刺すと、USBの口が2つできるみたいな、それだけといえばそうなんだけど。1000円くらいで購入。

QuickCharge3.0には対応してないけど、どのスマホが何に対応してるのか知らないので、こちらで妥協。安いですし。あと割とコンパクトで、シガーソケットからあんまり出っ張らないのも好印象。

2.4Aの威力はすばらしく、これまで「進むか進まないか」くらいの充電速度だったのが「ちょっと車動かしてる間にバッテリー残量が増える」という、ごく当たり前の状態になりました。2口あるのも、今後便利だろうな。

これまで外出する前に、バッテリー残量を気にしてた所があったのだけど、これで気にせずに出かけられます。あと停電などの非常時の対策としても心強いですね。

Backblazeについて

2013年から使っているBackblaze、今でもよいと思って利用し続けているので、紹介します。

Backblazeは、インストールしておくと、PCの中身をサーバ上にコピーしておいてくれるサービスです。HDDやSSDに故障が起きたら、サーバからファイルをダウンロードして復旧させたらよい、みたいな感じです。容量はなんと「無制限」です。僕がバックアップしているのは600GBほど。

容量は無制限ですが、比較的安価な点がよいです。月額$6、年払いであれば$60。これは今の相場だと660円、6600円くらいだけど、Amazonで売っているソースネクストのパッケージを買えば、一年間3,000円強とかで利用できます。これは月当たりにしたらとても安いのではないでしょうか。無制限かつとても安く利用できるところが、個人利用としてはうれしい。

よくない点を一つ上げると、「日本語があまりきちんとしていない」という点が挙げられます。この辺は、英語がある程度できる人は、むしろ「English」で利用したほうが迷わなくて済むのでは、と思うくらい。トンチンカンな文面のメールが届いたり、Webサイトの「Go」が「碁」になってたり、あちこちひどい。残念ながら、日本語化にはあまりお金をかけていられない事情があるのでしょう。とはいえ、動作そのものはまともです。

アップロード、ダウンロードの速度はどんなものか。昔は遅かったけれども、最近は十分頑張っていると感じられます。アップロードに関しては「スレッド数」を選べるようになりました。今のところスレッド数×4Mbpsくらいのアップロード速度が出るようです。僕は4スレッドにしてますが、30まで選ぶことができます。マシンパワーとネットワーク帯域に合わせて選択したらよいでしょう。

ダウンロードは、Web画面から復旧対象のフォルダを選んでZIPファイルを作成し、それをダウンロードすることになります。試したところ、十分な速度がでます。現在600GBほどバックアップしてますが、ZIPファイルを作るのに数時間、ダウンロードは専用のツールを使って数10Mbpsくらいでダウンロードできます。全データを吹き飛ばしても、丸二日くらいみておけば、復旧できる感じです。

なお、ダウンロード速度が十分でない人に向けて、HDDやUSBメモリなどのメディアにデータを書き込んで発送するサービスもやっているので、回線が細い人も安心できるのではないかな。