2020年8月中旬までの振り返り

今年はいろいろ大変な年ではある。

Aspire Switch 10eにUbuntu 20.04とKDEを入れた

普段遣いはほぼAndroidで賄っているが、Windowsを使う必要があるときはどうしてもある。

自分が今使っているWindowsマシンはAspire Switch 10eであるが、今のご時世Windows 10は2GBじゃ辛いし、ましてや32bit版だ。淘汰されるのが目に見えている。自分がWindows10で使っているのはAndroid StudioとVirtualBoxの中のUbuntuばかりで、Windowsを使っている意味があまり無い…。

というわけで、外付SSD 500GBにUbuntuを入れて運用してみることにした。

こいつ自体は64bit OSに対応しているもののUEFIは32bitなのでUbuntu Serverインストール後に32bit版EFIだけtty2からインストールし直す。最初はxfce4を入れたが、KDE 5 plasmaの軽さを確かめたく入れてみる。KDEも普通にあっさり動いて拍子抜けした。使用メモリも500GBぐらいと予想以上に少ない。内蔵無線LANもしっかり認識されている。

Android Studioは初期設定に戸惑ったが、あとはすんなり。ビルド時間が4分から40秒に短縮したのはうれしい。これはWindowsではmicroSDでやっていたのがSSDに変わった、というのが大きいのだろうが。

fcitxを入れていたが日本語入力で取りこぼしが発生してストレスがたまったのでuimに変更した。今のところ発生していないので良しとする。システムバーに表示したかったので、gitソースからビルドした。

microSDは最初読取り専用だったのだが、boot optionの変更で書き込み可能にできた。パーティションを再分割してemmcにインストールした。SSDから速度がガタ落ちするかとも思ったが、意外とそうでもなかった。後述するChromeBookのサブとして使っていくことにする。

auからUQ mobileへ

長らく使っていたauをついにUQ mobileにMNPした。回線自体はau網なわけだし、データ通信での使用感は既に経験済なので、あまり不安はなかった。機種はOPPO A5 2020にした。

OPPO A5 2020は6.5インチ。でかい。そしてやはり190gは重く感じる。EveryPhone ACよりは軽いしが3台持ちすると流石に重さを感じる。

操作自体は癖が強い部分もあるが総じて優秀。

 

HP Chromebook x360 12bを購入した。

2ヶ月ぐらい悩んでいたのだが意を決して購入。別途まとめる。

2018年4月後半〜5月初旬の近況

所謂ゴールデンウィーク前後。

GNU nanoが2.9.6になった。

GNU nano 2.9.6がリリースされている。前バージョンでのバグフィックスが個人的には大きいかな。

Huawei Mediapad T3 10

画面は9.6インチで大きいので見易い。解像度は1280×800であるが、ドットの粗さも気にならず、解像度の低さで困ったことはまだない。むしろ指紋の付きが気になる。他の機種と比べてもかなり目立つので、付属の保護フィルムを貼ろうとするも轟沈。自分は極度の不器用なのだ。

保護フィルムを改めて購入したが、自分でやるとまた失敗するのが目に見えている。購入した店で実施しているフィルム貼りサービスを利用した。

片手で持つのは大きさ、重量の点でやはり厳しい部分がある。460gはこのクラスでは最軽量の部類なんだとは思うが。

その点Qua Tab PXは手が小さい自分でも片手で鷲掴みが出来る。そしてなにより軽い。310gしかないのだ。他の8インチのタブレットでもこのレベルの軽さはあまりない。そういう意味でも棲み分けは出来るんだろう。

私家版GNU nano

ようやくAndroid本体のみでGNU nanoがビルドできるようにした。gnulibのmoduleを使わない設定にしてautoreconfを通し、configureをした後にconfig.hとMakefileを修正することにした。

私家版SKK for Android

前の投稿でも伸べたがキーボードは普通にT3 10で動いてくれている。ソフトウェアキーボードが出しゃ張ることもない。しかしshowStatusIconによる入力モードの表示がされないのは気になる。私家版Android for SKKでは通知領域に入力モードを表示させることで凌いでいる。とはいうものの、(priority lowとは言え)通知領域に表示するのもどうかとは思っている。

どうせなら本体の方に組み込んでしまえということで、Composingの文字バッファと入力モードの表示にもInputViewにみ込んだ。

そして候補変換は使っていなかったのだけども、これも使ってみることにした。その際にCadidateViewでの表示だと困る場面が出てきたのでInputViewの方に組み込んで常時表示することにした。非表示にしたいときもあるので、表示/非表示は前述のComposingのViewとあわせてそれぞれキーボードでも切り替えられるようにした。

余談ではあるが、Universla Mobile Keyboardの使い勝手は非常に良いので、先月に2台目を購入した。状態も悪くなく普通に使えている。

最近のAndroidの外部sdcardへのコピーを考える

MSCに最近のAndroidは対応していないので、外部sdcardに対してROBOCOPYが使えなくて困る。

もちろん、外部sdcardを引っこ抜いてカードリーダなりで読み込ませれば良いのだけど、毎回それをやるのもバッテリーを外さないと出来ない機種も有って面倒だ。rsyncはUSBで出来てることをわざわざネットワークでやるのも…というわけで除外。USBで繋がればそれでいいのだ。

仕方無いので、find . -type f -print0 | xargs -0 ls -l --full-timeでファイルリストを出力し、sedで整形したあとに、コピー元と比較したらcp --parents コピー元 コピー先とシェルスクリプトを吐き出すスクリプトをpythonで作成した。

あとはこれをローカルで実行してコピー先に出来たファイルをMTPで普通に外部sdcardに移動させればよい。

そうそう、jpmarkdownプラグイン入れました。マークダウン記法はやはり楽だ。

6~7月の近況

例によって生存報告がてら。

旧版Fireタブレットを入手した

だいぶ前の話になるが3月に(今となっては旧版となる)Fireタブレットを入手した。自分はあまりamazonを使っていないので、Androidタブレットとしては出来ることは限られている。端末エミュレータは問題無く動作。amazonサービスをよく使う人なら良いタブレットなんだろうね。

GNU nano v2.8.5がリリースされた

GNU nano 2.8.5がリリースされている。allow negative lineって何のことか一瞬分からなかったけど、要は最終行からの指定が出来る様になったということね。最終行からの検索が必要になったときに威力を発揮するかもしれない。

v2.8.5-36あたりからは遂に全角の折り返し対応がされたので、自分で書いていたパッチが要らなくなった。自分の感覚だと>と<の表現が逆が好みなので、そこのパッチは充てているが。

EveryPhone ACを購入した

6インチのスマホが欲しかったので、安かったこれを購入。普段はUQモバイルを使っているのだが。

実際に使ってみて思うのは画面が大きいのはやはり良いということだ。勿論、携帯性は犠牲になるけど、それ以上に視認性の向上は大きい。

自分はターミナルで作業することも多いので、ある程度の大きさが欲しいのだ。

少し困るのは通常の端末と、BackキーとRecentAppキーが逆なことだ。RecentAppキーにBackキーを割り当てて、それぞれのLongPressにRecentAppキーを改めて割り当てる。所詮アプリの切り替えはそこまで頻繁にやるものでもないし、慣れるまでの暫定ということで。

サイトをHTTPS対応にした

いい加減に対応させないとと思っていたので、意を決して実行。まだcronとかは設定していないので、自動化はこれからすることにする。

GNU nano2.6.3をAndroid Terminal Emulatorで日本語を打てるように

8/10にGNU nano2.6.3が公開された。今回のポイントはAlt+3でコメント化ができるようになったことだろう。Ctrl+矢印もそれなりに使い勝手が上がりそうである。

早速Build。一部関数名が違っていたりするのでパッチの修正はそのぐらい。相変わらずglobには対応させていない。

現状、自分がAndroid用にコンパイルしているncursesはja_JP.UTF-8を決め打ちで返すようにしてしまっている。自分が使う分にはまったく困らないのだけど、公開するとなると気が引けているのが実情。

とりあえず、パッチを当てるときに嵌まった点を列挙。

MB_MAX_LENとMB_CUR_LEN

日本語パッチを作ろうとして大嵌まりしたのはこれにつきる。NDKだと1なのよね。マルチバイトまわりをmusl実装で置き換えたときに期待通りに動かなくてかなり悩んだ。

再定義して事なきを得たけど、UTF-8環境では4か6か、どちらで定義するのかという問題がある。

本来5オクテット以上の表現は不正なのだから、4だというのはわかるのだけど、6オクテットまでは例えそれが不正な形式とはいえ、形式上は取りうることができるのだからと言う理由で6で定義。もちろん、それが不正な形式を許容してよいという意味ではない。

もっとも、UTF-8の第1オクテットを見れば、その時点で5オクテット以上になるかどうかはわかるのだから、4で問題ないはずなんだけど。

ttynameとgetpwentとglob

NDKで実装されていない関数。

ttynameはひとまず使わなくてもすむように強制コメント化。

getpwentはなにもしない実装して空ぶらせることに。~userみたいなのはどうせ使わないから、なにもしない実装で困ることはないだろうということで。

globの実装は2.5.3と同様に見送り。2.2相当のファイル指定ができれば、自分は困らないので優先度を落とした。

HTML Generating Time : 0.108 s