ConoHaのVPSでArchLinuxを使う

そもそもの動機は単純で、PCを持ち込んではいけないというルールがある現場におり(仕事)、昼休みを無為に過ごす事しかできない…しかし、「PC」なので、あぁスマホやタブレットは持ち込み可なんですね、という話になる。事実スマホは使い放題だし(それはそれで問題があるような気もする)タブレットを弄っている人は見たことないけど、iPad弄ってたって怒られなかった さて、iPadが現場で使えるという事は確認できたが、iPadで直接開発作業を行うのは厳しい。お手軽に使えるターミナルエミュレータはパッと探した所見つからなかったし、何より自分はいまのとこNode.jsを使いたいので厳しい。という訳で、出先から適当なサーバにSSHで接続して開発をすれば良いのだ!という展開になる。 適当なサーバという事で、まぁ真っ先に自宅サーバが候補に上がるのだが、どうせならやったこと無いことしよ!と思い立って、VPSにを利用することにした。必要になったら好きにスペック上げ下げできるみたいだし、ストレージ欲しいな〜〜〜〜と思ったら適当にオブジェクトストレージ契約したりすれば良いのだ。 VPS業者の選定だけど、何も考えずサクッとArchLinuxが使える、ということでConoHaに決定。Vultrとかは自前でISOイメージうpしてそこから〜とかやれるみたいだが、やはり楽ちんである事は大切だよ。 さて〜、画面に従っててきとうに作ればもう使える状態のArchLinuxが出現するので、状態確認とか初期設定を行っていこう。今回は1GBプランを利用。ISOは20180914版。 自分でインストールする時って、パーティショニングとロケール、タイムゾーン、ブートローダあたりが最小限かな?というわけでその辺の現状をまずは見てみる。

# lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sr0     11:0    1 1024M  0 rom

sr1     11:1    1  482K  0 rom

vda    254:0    0   50G  0 disk

├─vda1 254:1    0    2M  0 part

└─vda2 254:2    0   50G  0 part /

# mount | grep vda
/dev/vda2 on / type ext4 (rw,relatime)
# free -h

              total        used        free      shared  buff/cache   available

Mem:          988Mi        48Mi       762Mi       0.0Ki       178Mi       797Mi

Swap:         2.0Gi          0B       2.0Gi

容量関係を見ると、/に全振り。ファイルシステムはext4だそうだ。GUIも何も無いので起動直後のメモリ使用量は48MiBとマジで軽い。メモリがそんなに無いからなのか、Swapは2倍量確保している。上のプランだとまた違う容量になるのかは不明。

# cat /etc/locale.gen | grep -v ^#

en_US.UTF-8 UTF-8

# ls -l /etc/localtime

lrwxrwxrwx 1 root root 30 May 29  2015 /etc/localtime -> /usr/share/zoneinfo/Asia/Tokyo

# uname -a

Linux archlinux 4.18.6-arch1-1-ARCH #1 SMP PREEMPT Wed Sep 5 11:54:09 UTC 2018 x86_64 GNU/Linux

ロケールはen_US.UTF-8のみなので、ja_JP.UTF-8も有効にしておくか。取り敢えずssh鍵の設置が終わってからで…。タイムゾーンはデフォルトでAsia/Tokyoになっている。ま、VPSそのものが東京リージョンだし、これで変なとこだったら意味わからんでしょ。ついでにカーネルバージョンも確認しておいた。あんま気にしてないけど。

# ls /boot
grub  initramfs-linux-fallback.img  initramfs-linux.img  vmlinuz-linux

最後に、ブートローダはgrub(grub2)でした。 以上、取り敢えず状態確認はお終い。次は初期設定を行うぞ。一般作業ユーザを作って、以降はそこから作業しよう。んで、さっさとSSHでつなげるようにしよう。
Web上のコンソールからではしんどい
Web上のコンソールからではしんどい

# useradd -m -g wheel tea
# passwd tea
# pacman -S sudo
# visudo
# su tea
$ id
uid=1000(tea) gid=10(wheel) groups=10(wheel)

以降一般ユーザで作業…と言っても、あとは普通のサーバだと思えば、素直にセットアップすれば宜しい。というわけで以下略。な〜んにも難しいことや新しい事はなかった。 今後ずっとこれを使っていくかはちょっと微妙。お金が貯まったらRyzenで1台組もうと思っているので、それで代替しようかな〜と思っている。やっぱ手元にマシンがあった方が楽しいよ。

WordPress5でAmazonJSを使う

気付いたらエディタが前のやつからブロックエディタに変わっていてびびった上に、AmazonJSをどこで呼び出すのかわからなかったのでメモ。

Wordpress5になって、以前はプラグイン扱いだったGutenbergというのがデフォルトで使われるようになったらしい。まぁ使い勝手も良いし楽しいので良いのだけど、AmazonJSが使えなくなるのはかなしい。というわけで使い方。

つかいかた

  1. ブロックを用意する
  2. ブロックタイプを「クラシック」にする
  3. 以前まで使えていたエディタが表示される
  4. AmazonJSを呼び出せそうなアイコンがあると思うので、あとは従来どおりに
単純な話でした。ブロックエディタを使いたくてこんな記事を書いているというのもある。

自宅ネットワークの設定

転居したのだが、転居先のインターネット回線工事が終わるより先に機材を用意して、その設定も済ましておきたい。工事が終わったら即座に利用が開始できる事を目指す。

利用機材・前提

最後にPPPoEの設定をするだけでそれとなく使えるようにする。回線工事を終えるまで固定回線は使えないが、モバイルネットワークを通してそれとなくインターネットには接続できるようにする。ネットワークの利用機材は以下の通り。
モバイルネットワーク:NETGEAR AC785
ルータ:Ubiquiti Networks EdgeRouter X
Wi-Fi AP:TP-LINK deco M5
それから、先に最終的なネットワークを示す。ネットワークアドレスについては下図参照。
最終的なネットワーク
最終的なネットワーク
インターネットへの接続はメインのlaptop、これを経由してEdgeRouter XをWANに接続する。あとはLAN側てきとうに作って、Wi-FiはTP-LINK deco M5をブリッジモードで動作させて使う。

手順とか

EdgeRouter Xの初期設定

WAN側はぶっちゃけどうでも良いのでDHCPで。LAN側は192.168.0.0/24でDHCPをセットアップしておく。
この段階でLAN側は一応出来上がっているので、sub-laptopとTVが通信できるようになっている。ただ、decoの初期セットアップにインターネット接続が必要らしく、このままでは有線系しか使えない。laptopをルータとしてセットアップして、どうにかインターネットへの経路を確保する。

laptopをルータ化する

laptop(ArchLinux)をルータとして振る舞わせ、EdgeRouter XとAC785の間に立ってインターネットへと接続させる。ひとまずlaptopは素直にAC785に接続しておく。

DHCPサーバのセットアップ

てきとうにセットアップする。

$ sdo pacman -S dhcp
$ cat /etc/dhcpd.conf
option dmain-name-servers 192.168.1.1;

subnet 192.168.11.0 netmask 255.255.255.0 {
  default-lease-time 600;
  max-lease-time 7200;
  option routers 192.168.11.1;
  range 192.168.11.2 192.168.11.250;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
}
$ cat /etc/systmd/systm/dhcpd4@.service
[Unit]
Description=IPv4 DHCP srver on $I
Wants=network.target
After=network.target

[Service]
Type=forking
PIDFile=/run/dhcpd4.pid
ExecStart=/usr/bin/dhcpd -4 -q -pf /run/dhcpd4.pid $I
KillSignal=SIGINT

[Install]
WantedBy=multi-user.target
$ sudo systmctl start dhcpd4@hogefuga.service

IPフォワードとiptables


$ cat /proc/sys/net/ipv4/ip_forward
0
$ sudo sh -c 'echo 1 >/proc/sys/net/ipv4/ip_forward'
$ sudo iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -j MASQUERADE
$ sudo iptbles -t nat -L
〜略

疎通確認とか

まぁ、てきとうに。deco M5のセットアップが継続できるようになっているので、セットアップを完了させ、その後スマホアプリからブリッジモードに変更する。

その他

以上で作業終了である。中古PCをルータとして振る舞うようセットアップするっていうのを過去やったことがあって、それがそのまま活きた。あとEdgeRouter Xは取り敢えずクソ詰まらん普通の設定になっているけど、インターネット回線工事が終了して落ち着いたら色々弄ってみる予定。今はダッシュボード眺めてるだけでも楽しい。

それから、サブのlaptopをdeco M5にぶら下げて使おうと思ったらやたらめったら通信が遅くて困った。最初はdeco M5がクソ遅いんじゃないかと疑っていたけど、iperfを色んなところでやってみたら見えてきた。サブlaptop〜laptopでは30Mbpsくらいしか出ないが、TV〜laptopは250Mbpsくらい出る。Androidスマホからiperfするとやっぱり250Mbpsくらい出るので、サブlaptopの無線デバイスが死んでいるんだと思う。(laptopのNICはUSB接続でちゃんとしたものじゃないので、その辺のおかげでギガビットとも言いづらい速度になっているのだろうと思う)。 LANケーブルこまごま買い足すのクソめんどくさいので、いっそこういうの買っちゃったほうが楽なのでは?と思いながら、いつもこまごま買い足してしまっている自分がいる… はやくインターネット回線工事来ないかな〜

PX-Q3PE4で録画機の新調

某店でPX-Q3PE4が安くなってたので、衝動的に新調してしまった。新調したのは9月くらいなんだけど、下書きしておいたのを今公開ってやつ。

構成は以下の感じで。

CPU:Intel Core i3 8100

M/B:ASUS TUF B360M-E GAMING

RAM:てきとうに8GBx1

SSD:Samsung 970EVO 250GB

PSU:Corsair CX450M

ケースはIN WINの301が良い感じだったのでチョイス。

カードリーダーは事前に購入していたSCR3310を利用。

組み立てはまぁ良いとして、環境構築がうまくいくかが問題。

Ubuntuを使って、Mirakurun + Rivarun + Chinachu gammaみたいな感じの構成(あんまはっきりわかってない)を作る。PX-Q3PE4はPLEX公式からUbuntu向けドライバが出ているので、これを使う。

というわけで実際の手順。

1.取り敢えずUbuntu18.04 LTSをインストールして、アップデートしておく

$ sudo apt-get update
$ sudo apt-get upgrade

2.時刻合わせしてほしいのでそのへんの設定しておく

$ sudo apt-get install ntp
$ sudo vi /etc/ntp.conf
$ sudo systemctl restart ntp
$ ntpq -p

3.カードリーダーに必要なパッケージのインストール

$ sudo apt-get install pcscd pcsc-tools libpcsclite-dev
$ pcsc_scan
Japanese Chijou Digital B-CAS Card (pay TV)

4.ビルドに必要なパッケージのインストール

$ sudo apt-get install autoconf build-essential cmake curl git-core libssl-dev libtool libboost-all-dev pkg-config yasm

5.ARIB25ライブラリのインストール

$ git clone https://github.com/stz2012/libarib25.git
$ cd ./libarib25
$ cmake.
$ make
$ sudo make install
$ sudo /sbin/ldconfig

6.PX-Q3PE4ドライバ(カーネルバージョンがあっているかどうか確認しておく)

$ uname -r
4.15.0-23
$ wget http://plex-net.co.jp/plex/linux/Ubuntu18.04_64bit_kernel4.15.0-23.zip
$ unzip Ubuntu18.04_64bit_kernel4.15.0-23.zip
$ cd !$
$ sudo insmod tty_Virtual.ko
$ sudo insmod usb-px4.ko
$ lsmod | grep px4
usb_px4 454656 0
tty_Virtual 24576 1 usb_px4
$ ls /dev/px4*
/dev/px4-DTV0 /dev/px4-DTV2 /dev/px4-DTV4 /dev/px4-DTV6
/dev/px4-DTV1 /dev/px4-DTV3 /dev/px4-DTV5 /dev/px4-DTV7

7.ドライバが正しくロードできているので、インストール

$ sudo cp -p *.ko /lib/modules/<code>uname -r</code>/kernel/drivers/video
$ sudo depmod

8.root以外からもアクセスできるようにruleを作成(デフォルトはroot:rootなのでroot:videoに変更するのと、600から666にする)

$ sudo cat /etc/udev/rules.d/99-px4.rules
KERNEL=="px4*", GROUP="video", MODE="0666"

9.録画コマンドを用意する(実行権限なくて怒られるので適宜追加しておく)

$ wget http://plex-net.co.jp/download/linux/Linux_Driver.zip
$ unzip Linux_Driver.zip
$ cd ./Linux_Driver/MyRecpt1/MyRecpt1/recpt1
$ make clean
$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install

10.recpt1が正しくできていることを確認する

$ recpt1 --b25 --strip 27 10 ~/test.ts

11.Mirakurunが要求するNode.jsを導入(v8.9.4くらいを要求するみたいなのでそれを入れる)

$ sudo apt-get install nodejs npm
$ sudo npm cache clean
$ sudo npm install n -g
$ n ls
$ sudo n 8.9.4
$ sudo apt-get purge nodejs npm
$ sudo apt-get autoremove
$ node -v
v8.9.4

12.Mirakurunの導入

$ sudo npm install pm2 -g
$ sudo npm install mirakurun -g --unsafe --production
Version: pm2@3.0.0 [NG] Expected: &gt;=2.4.0 &lt;3.0.0

pm2のバージョンで怒られてしまったので入れ直す

$ sudo npm uninstall pm2 -g
$ sudo npm install pm2@2.4.0 -g
$ sudo npm install mirakurun -g --unsafe --production
$ sudo npm install rivarun -g
$ sudo npm install arib-b25-stream-test -g --unsafe

13.Mirakurunのstatusを見る

$ sudo pm2 status
Name mode status restart cpu memory
mirakurun-server fork online 0 0% 47.3MB

14.チューナー設定

$ sudo mirakurun config tuners

15.チャンネル設定

$ sudo mirakurun config channels

16.ログローテーションの設定

$ sudo pm2 install pm2-logrotate
$ sudo cat /etc/logrotate.d/mirakurun
/usr/local/var/log/mirakurun.stdout.log
/usr/local/var/log/mirakurun.stderr.log
/{
daily
compress
rotate 7
missingok
notifempty
}

17.rivarunから動作確認

//Unixソケット通信
$ rivarun --b25 --sid 1024 --ch GR/27 15 ~/test.ts
//TCP接続
$ rivarun --b25 --mirakurun localhost:40772 --sid 1024 --ch GR/27 15 ~/test.ts

18.chinachu gammaの導入

$ git clone -b gamma git://github.com/kanreisa/Chinachu.git ~/chinachu
$ cd chinachu
$ ./cinachu installer&nbsp; //1(Auto)を選択

19.録画予約用の空ファイル生成

$ echo "[]" &gt; rules.json

20.設定する

$ cp config.sample.json config.json
$ vi config.json
uidの値を実行ユーザへ書き換え
wuiHostをwuiOpenHostに書き換え

21.chinachuのログローテーション設定

$ sudo cat /etc/logrotate.d/chinachu
/usr/local/var/log/chinachu-operator.stderr.log
/usr/local/var/log/chinachu-operator.stdout.log
/usr/local/var/log/chinachu-wui.stderr.log
/usr/local/var/log/chinachu-wui.stdout.log
{
weekly
compress
rotate 4
missingok
notifempty
}

22.起動確認

$ ./chinachu service wui execute

23.pm2を使ってChinachu自動起動設定

$ sudo pm2 start processes.json
mirakurun-server, chinachu-operator, chinachu-wuiの3つが見えるはず
$ sudo pm2 save

24.EPG取得テスト

$ ./chinachu update

以上でおしまい。特に詰まるところもなく、割と単純に作業できてしまい、拍子抜け。

これまではPX-W3PEだったので、同時録画可能数が2倍になった。旧環境ではtvrockを使っていたので、更にリッチなUIになったし、CPUはAthlonII X2 250eを使っていたので、快適に動くようになった。衝動的ではあったけど、良い買い物でした。

お次はRyzenで組みたいって気持ちだな。

NETGEAR AC785 + エキサイトモバイル最適料金プラン

以前書いた通り、NETGEAR AC785 + エキサイトモバイル最適料金プランで契約した。

モバイルルータ+MVNO SIMな感じを用意しようかな – お茶漬けぶろぐ

 

んで、2ヶ月くらい経ったので雑感をば。

 

まず、電源。

思ったより電池が保たない。ガンガン減っていく。想定用途は常時接続ではないんだろうなぁと思う。必要なときに電波を掴んで電波を発して、ってするんだろうな。

50%くらいまで減ったら充電しているのだけど、1日は全く保たず、日に2回くらい充電している。という事は100%ぶんくらい平然と使い切っているという事だ。

つっても、平日は目の前に充電器が常にある環境で生きているので、特に不便は無い。

ちなみにGL04Pを使っていた頃感じていた、発熱問題については特に問題無かった。

 

次、通信。

結構遅い。Youtubeで動画をなんとなく見る分にはそこまで気にはならないけど、それより普通のネットブラウズの方が厳しい。画像はもとより、レイアウト(CSS)が降ってくるまでの待ち時間がストレスフル。

この遅さがルータ由来なのか回線由来なのかは未調査だけど、どうせ回線由来なのでは?と思っている。

取り敢えずMVNOの回線提供元であるドコモSIMを挿してみようと思ったけど、microSIMを1枚も持っていないので試しようがない…。

データ通信回線を1本契約しようかなと思っても、定期契約ありで1900円/月、定期契約なしで3400円/月(どちらもシェアオプション)。まぁまぁ良い値段するのよね~。定期契約なしで2ヶ月くらい契約してみるのも良いかもだけどね。

あんままともに考えてないけど、そういえばL-04EがmicroSIMだったような気がするので、復活させて挿して見るってのもありかな。

 

最後、NETGEAR AC785本体

1万円しないやつだから、当然だし望んではいけないんだけど、安っぽいよね。

ボタンがパカパカ。ぎっしり感が一切無い。バッテリーカバーがしっかり閉まった感が薄い。

 

はい、今後。

遅さの理由を見つける。デバイスを変えたり回線を変えたりしよう。

それと、普通に安っぽくて物欲が一切満たされないので、ルータの新調。もっと重くていいので、しっかりしたものがほしい。

 

…と思っていたけど、結局、家族と一緒の回線で使っていくのがしんどいという話なので、そこを独立しようと思うと、つまりそもそもモバイルルータ不要なのでは?という気持ちになってくるな…

まぁそのへんは追々って感じ。17歳。(?)

 

モバイルルータ+MVNO SIMな感じを用意しようかな

理由は2つ。

ひとつは、家族でシェアしている通信容量を気にしながら通信しているのが微妙にしんどい事。

もうひとつは、久々にモバイルルータを使ってみたい事。

2012年頃、今は亡き(?)EMOBILEのLTE回線を契約した。当時はドコモでSC-02Cを使っていたのだが、この端末はLTE通信に対応しないため、新しいLTEとかいうのに触れてみたいと思いつつも、機種変更するお金も無かった折に(分割購入なので、当時まだ払い切っていない)、外側だけLTEにして内側は無線LANの速度になれば、3G端末を使っていてもLTEが体感できるのではないか?と思って、ドコモのデータ通信を絞って、EMOBILEと契約したのだ。

当時は長く使っていくつもりだったので、ドコモドメインのメールでやっていた諸々を、EMOBILEのメールサービスに移行したし、次世代モデルのモバイルルータが出ればそれらしい時期に機種変更するつもりだった。

しかし、丁度2年が経って契約更新?となっていた頃には、その熱はもうすっかり冷めてしまっていた。

(SC-02Cの支払いが終了したタイミングでスッとL-04Eを購入していたため)LTE対応端末が普通に手に入っていた事、それから、EMOBILEと契約した時に入手していたモバイルルータGL04Pが普通に使いにくかった事が理由だ。

音声通話は3大キャリア、データ通信はEMOBILEやWiMAX等のモバイルルータで、みたいな環境にしていた人がこぞって言うのは「電源の管理が面倒」という事。

確かに、スマホ(或いはタブレット)単体で運用するよりも、1台多くの端末電源を管理しないといけないので、労力は増える。とは言え、モバイルバッテリー(当時は大容量モノが少なかったので、5000mAh程度のものを複数持ち歩いていた)があれば特に問題なく充電できていた。

不便を感じたのは、熱処理。いつもモバイルルータ本体は鞄の中に入れて持ち歩いていたのだけど、本体がめっちゃ熱を持ってしまって、まともに通信できる状態じゃなくなってしまうのだ。しかもその状態になると充電すらまともにできない。とにかく冷やす必要があるが、屋外で冷やす道具なんて持ってやしない。モバイルバッテリーを組み合わせて、アクティブクーラーを自作しようかと思ったこともあるけど、結局やらなかった(工作するよりもゲームに時間を費やしていたかった)。

で、冷えるまでは通信ができないので、スマホそのものが使いにくい感じになってしまう。

という訳で、データ通信を外側に出しておく運用は、EMOBILEの2年契約が満了を迎えるタイミングで、やめてしまった。

さて、現在は、家族で10GBの通信容量をシェアして(我が家は全員ドコモなのだ)使っているが、殆どの通信は自分1人が食いつぶしている状態。とは言え、通信制限にかかるほど大胆に通信することは殆ど無い。稀に、新幹線の中で映画が見たいと思い立って、急に数GBの通信をするとか、そういう事はしないでもないけど。

要は自分がほんの少しだけ気をつけていれば、それで問題なく運用できる状態であった。

ところが、ここ最近どうも様子が変わっていて、これまで殆ど通信していなかった家族が、月によって多くなる事がちょいちょいある。それを察知して、自分が調整して容量を残すようにしていたけど、何回か通信制限を食らってしまう事があった。

それならいっそ、自分のデータ通信だけ外側にまた追いやってしまって、家族の契約はもう少し小容量…と言っても5GBプランしか存在しないが、その程度にしても良いのではないかと思うようになった。

つまり、家族みんなはみんなで好きにやってくれ、自分だけ抜けさせてもらう、みたいな感じだ。ドコモドメインメールだけは残そうと思ってるので、データだけ逃がす。

幸い、今はMVNOの選択肢も多く、割安で使いやすい。

で、問題は端末をどうするかという話。基本線の利用はドコモで良いと思う。普段の利用からそうたくさん通信する訳ではないからだ。使うときは一極集中だし、それかテザリングとかなので、メインのスマホで使うことを強制する必要はない。

LTEが使えるノートPCというのも魅力的だが、1年ほど前にDellのXPS9360を購入したので買い替えは流石に時期尚早。

そんで、2012年当時よりもモバイルルータの省電力性能も向上しているだろうし(?)、またそういう環境にしてみても良いのではなかろかと思った次第だ。

考えているのは、回線がエキサイトモバイルの最適料金プランで、端末はNETGEARのAC785という組み合わせ。

使わないときは多分とことん使わないので、使用量に応じて料金が変わっていってもらえると管理も楽ちんで良い。容量増えた時のコストだけ言えば勿論最安ではないけど、管理コストも含めればコスパはめっちゃ良いはず。

端末選択は結構てきとうで、安物過ぎないこと、聞いたことあるメーカーであること、ドコモ系MVNOが利用できバンド的にも問題ないこと、くらいしかこだわってない。

Huawei製品が沢山目につくが、2012年頃に使っていたものがHuawei製だったのでなんとなく敬遠。

NECのAterm MR05LNがデュアルSIMいけてまあまあ使いやすくていいよ、みたいなのをよく聞くんだけど、そういえばNETGEARって名前よく聞くけど使ったことないなっていう、NECに何のいわれもない理由で排除してしまった(自宅の固定回線ルータにずっと使ってたのよね、NEC)

というわけで、何を選ぶのか決めてしまっているので、すぐにでも契約できるのだが…

ここ最近出費がかさんでいること、それから、もう少し通信容量をウォッチしてから決めようという気持ちでいる。

特に後者は、これまでは月末近辺になって「そろそろだぜ」メールが来て、マジ!?って感じで確認して、あ〜確かにという気持ちになってそこから調整するという流れだったので、状態の分析を全然してないのだ。

半分以上は好奇心で通信環境変えるって話なので実益はぶっちゃけ薄くとも良いけれど、一応ね。

契約したらまた書きます。

コンパクトでカスタマイズできるメカニカルキーボードKUMO

Kickstarterで資金調達中のプロジェクト。

キーの配置が気分で気軽に交換できる楽しそうなやつ。

よくある自分で組み立て系のキーボードは、半田ごて片手に、気合を入れて毎スイッチについてソルダリングしないといけないものが多いようだけど、こちらはぐいっと押し込むだけっぽい。

 

また、レイアウトはWeb上で自由にカスタマイズできる。どうやってキーボードに反映させるかはようわからんかった。

レイヤー機能を持ち、レイヤーをトグルさせてキーの振る舞いを変更させながら使うみたいだ。ITmediaの記事によると、レイヤーは15枚まで使えるようだが、そんなにたくさん管理し切る自信が無い。Steam Controllerにも似たような機能があったが、2枚までで記憶が限界。

そして見て分かる通り、44キーのコンパクトな製品で、HHKBみたいなのを彷彿とさせるけど(スイッチが全然違うけど)、試しにレイアウト作っても、気に入らなければ変えてしまえば良いのだ。

キーボードのキーが少ないということは面積も少ないという事で、つまりは手が動く範囲が小さくなるため、手首への負担もかなり少ないはず。自宅でメインで使っているのがフルサイズのリアフォってあたり、説得力無いけど。

 

デフォルトではKailh製のCherry MX互換スイッチが付属してくる。スイッチ種別は3種から選べるようだ。が、これは自分で用意しても良い。気分でスイッチを変えたって良いのだ。

 

ハードウェアのみならず、ソフトウェア(レイアウト)まで含めて、自分で育て上げる事と、手軽さの共存したバランスの良い製品という印象。

 

ところで、上記見ればわかるとおり、資金調達は未達成なのである…

そしてこのプロジェクトはAll or Nothingのため、2週間と少し後の期限たる8/18(土)の1:48までに残りの25%程度が集まり切らなければ、無かったことに……

残りのプレッジは150USDのプランしか無いので、とすると更に145人くらい集まらないといけないのか。

最終日付近になったら駆け込みがあるだろうけど、そんなに沢山集まるかな~~~どうだろう

印刷禁止サイトを印刷する

下書きにおいてあったけど公開してなかったシリーズ。

 

日本電気技術者協会の解説講座、学生時代は結構お世話になったんだけど、研究で何度も見に行くうちに、あーこれ印刷して机にでも貼り付けておきたいなと思うようになった。

でもここ印刷禁止なのよね。

 

当時は大学でやってる研究が目的で印刷したかったんだけど、著作権法を眺めてると「授業の過程における使用に供することを目的とする場合には、必要と認められる限度において、公表された著作物を複製することができる」って記述があるんだよね。

研究も、履修登録を要する仕組みなので、「授業」の一環だよね!と解釈すれば、複製可能なはず。あくまで個人の勝手な解釈です。あと当該サイトに印刷に関する記述がぱっと見つけられないのも怖い。

 

という訳で、てきとうにソースコード眺めてると、window.onbeforeprintとかいうものが。

これ、最初はerase関数を実行するようになっているので、これを別ので再定義してしまえば良いのでは?と発想。

CSSでbodyにdisplay:noneを設定しているみたいなので、これをblockにしてしまえ

というわけで

window.onbeforeprint=function(){
document.body.style.display='block';
};

これであとは印刷し放題

 

ソース読めばそれとなくわかるし、大して難しい事もしてないけど、本当におkなのかは知りません。JSが読み書きできると、Webに関するいろんな事ができるよ、の一例でした。

kindle paperwhite買ってみた

別段すごく安くなってたって印象ではないけど、こないだのプライムセールで多少安くなってたので、買ってみた。

Wi-Fiモデル、キャンペーン情報無し。

もともと、買うならキャンペーン情報は無しだなと思ってたし、3Gモデル楽しそうだなとは思ってたけど案外価格差あるしで、取り敢えずエントリーしてみるのに丁度よいモデルを選んだつもり。

一応画面保護フィルムと、ぱたぱたのカバーも用意(Amazon純正)。スクリーンに対する防御が2重になっちゃってやり過ぎ感もあったけど。充電器はスルー。USB microBで充電できるので、わざわざ専用に用意する意味がない。

 

 

使ってみた感じ、やっぱ画面はきれいだ。画素密度もきちんとあるので。それから、ぱたぱたのカバーはスマホも含めて一切使ったことが無いんだけど(持つ手を制限される構造が気に入らない)、でもカバーの開閉でkindleのスリープが自動で切り替わるのはなかなか快適。

一週間ほど使ってみて、思ったより電池が持たない。別に画面輝度最大にしてるって訳じゃない。必要な時以外は輝度最低にしてるし、必要なときも半分以下くらいしか光らせてない。それでも、日に2時間程度の利用で、電池残量表示が目減りしていく印象がある。印象なので、事実からは大きく離れているかもしれないけどね。

 

 

さて、kindle使って外で気軽に読もうと思ってたのは、物欲を刺激されない(取り敢えず読めればいい)ラノベやコミック、あとてきとうな読み物、それから、できたらお勉強の本も読めたらなーとか。

 

いざ買ってみて思ったのは、結論から言うと、元々が文庫本サイズじゃないとかなり厳しいということ。

加えて、(これは前からずっと思ってるけど)画像として配信される書籍はもっと厳しい。

 

まず読んだのはラノベ。そもそもサイズが近いという事もあり、また文字データとして配信されているから字もきれいで、大変読みやすい。惜しむらくは、表紙やカラーページも白黒で見るしかないということ。まぁその辺は他のデバイスで見ればいいんだし、そこはぶっちゃけ中身に大きな影響を与えない。挿絵はそもそも白黒で印刷されているし。

ちなみに妹ちゃん推しです。

 

次に読んだのはコミック。長く続いているからモノを集めるのはしんどいけど気楽に読みたくなるもの、という事でNARUTOをチョイス。

大判コミックじゃないのはわざと。丁度いいサイズを狙った結果。物欲刺激されないが読みたいというタイトルがぱっと見つからなかったのもある。

これもかなり読みやすかったが、見開きページがつらい。一応画面下の方に「全体のうちのこの辺がうつってますよー」という表示はあるのだが、これがあるからと言って見えていない範囲が見えるようになる訳じゃない。

 

次はこちら。

結城浩著、暗号技術入門。もとはA5判らしく、そんなに大きくないのでいけるかなと思い。

しかしこれが一番キツい。文字がめちゃくちゃ小さい上に、凄く薄い。画像として配信されているので、調整しようもない。

薄くて何も見えない

 

正直かなり目を凝らして読む状況で、全然無理。

電子版で買ってしまったので、どうやって読もうかめっちゃ悩んでいるところである。

 

きちんとものを選べばかなり快適に読める事がわかったのは、大変収穫だった。つまりは、画像としてではなくテキストで配信されているコンテンツは、大変快適。

 

今は、ラノベとして

これを読みつつ、読み物として、じわじわと

これを読んでいる。

まぁなんていうか、予想できていた事だけど、めっちゃ気軽に迂闊に本を買っちゃうので、Wi-Fiモデルでよかったなって思うよ。無限に購入しちゃうもん。

改行コードを変換する

nkfでokだけど、メモ書き。ふと必要になった時は忘れているのだ…

 

Linux環境で吐き出した計算結果ファイルをWindowsに持ってきてそこで処理しようとすると(Linux環境で開発した自前ツールで計算した結果をWindows環境にインストールしたMATLABでグラフ化したかった)、改行コードの違いでクソ面倒な事に…

 

改行コードはCarriage Return(CR)とLine Feed(LF)の組み合わせが存在して、MacはCR、unix系(Linux)はLF、WindowsではCR+LFと完全にバラバラな状態となっている。どれかに統一すりゃいいじゃんという気持ちでいっぱい。

 

nkfでは、-L[uwm]オプションで改行コードの変換ができる。

-Lu→unix(LF)

-Lw→Windows(CR+LF)

-Lm→Mac(CR)

 

今回はWindows(CR+LF)の形に変換したかったので、

nkf -Lw –overwrite hoge.txt

みたいな感じで。(オプションで–overwriteをつけると上書き保存される)