もぐてっく

人は1つ歳をとるたび、1ビットづつ大きくなれると信じてた。

リモートワーク通算3日のもぐのがイキる!買ってよかったものダメだったもの!

コロナ怖いっすね

うちの県も緊急事態になったということで、弊社もリモートワークが再び解禁になりました。

職場の雰囲気としては前春の様な感じはなくて、みんな普通に出社してるような温度感なんですが、使われない制度ほど無駄なものはない精神で率先して早起きと通勤ラッシュを放棄することにした次第です。

なお、申請は週1日にしました。
同調圧力にも適度に屈するのがマイ生き様。

今回は過去2回 + 今日のリモートワークで大体わかった、良かったガジェット悪かったガジェットをご紹介したいなと思いました。

適度に広いぜ!27インチQWXGAモニター

f:id:moguno:20210126230005j:plain

自宅では、会社から借りてきたノートPCを引っ越し直後に買った27インチのモニターにつないで作業をしています。

2048×1152ドット(QWXGA)の100%表示。

これが会社で使ってる23インチのフルHD x 2枚よりもなんだか使い勝手がいい。

例えば、A4のドキュメントのPDFとデザインレビューシートのExcelを横並びにしたときに、十分な大きさで表示できる解像感。

フルHDx2枚だと両者をモニタに1枚ずつ表示してるのでコメントを書くたびにかぶりを振らなきゃならんかったんですが、それがいらなくなりました。
めっちゃ楽。

また、愛用してるVisual Studio Code(Vimプラグインカスタム)はMDI(ではないがウインドウ一枚の四隅にサブウインドウがスナップする)なので、枚数よりも1枚の解像度の高さが重要になります。ソースコードの一覧性は正義っすね。

シンプルに机の上も広くなるし、会社でもごねて買ってもらおうかしらん。

ちなみにこのHPモニタ。期間限定クーポンとかでなんか異様な割引があって2万円ちょいで買えました。
スピーカーがついてないのでミニスーパーファミコンとかに使えないところを除いて満足してます。

腰が楽だぜ!ダイソーの腰を支えてくれる奴

f:id:moguno:20210126225908j:plain

引っ越し時にKOKUYOのオフィスチェアを中古で買ったんですがなんかフィーリングが合わず。
17:00頃には腰が死んでいました。

今日試しにダイソーで買った自動車のシート用の腰サポーター(\300)を付けたところ、快適性が劇的に向上しました。

ておくれ界のトレンドリーダー@AkkieSoftさんに感謝です。

相性が悪いぜ!Majestouch MINILA Air(茶軸)

f:id:moguno:20210126225939j:plain

逆に使ってダメだったものもご紹介。
デスク周りをお洒落にしたくて買った日本語60%キーボード。
Majestouch MINILA Airです。

こいつが致命的だったのはただ一点。

「ESCと半角/全角が排他仕様(片方はFn押し必要)」

なところ。

皆様ご存じの通り私Vimmerでして、勤務時間の半分はVimキーバインドで暮らしてます。
Vimを代表するキーと言えばESC。作業中数百回はタイプすることになります(ほんまか?)。

一方、WindowsキーバインドではESCの出番は案外なく、圧倒的に半角/全角の方が使いでがあります。

今はWindowsに合わせて半角/全角をワンキー、ESCをFnキー付きにしてますが、そうするとVimが致命的に使いにくくなります。

コマンドモードに入ったと思ってコマンドを打ったら全角文字が入って、まずいとESCを叩くもまた半角に戻るだけ。みたいなのを数百回繰り返すと人間気が狂ってきます。f:id:moguno:20210127033133p:plain:h64

Ctrl + [がESCの代わりになるってことでそっちの練習を続ける傍ら、試しにサブキーボードにしたら普通にトップスピードが出て苦労するのがアホらしくなりました。

f:id:moguno:20210126225957j:plain

このThinkPadキーボード。
安っぽい打鍵感の割には特にストレスも感じない。なんか不思議な子ですね。
地味にお気に入りです。Bluetooth版を買ってメインにするのもいいかも。

と、言うわけで私の特殊性癖とピンポイントで相性の悪いキーボードのお話でした。*1

最後に

リモートワーク。感染拡大防止に絶大な効果を感じました。
(一日中他人と接触しないのでリスクフリー。かつ混み混みの電車で咳してるバカに対するイライラを完全回避。)

さらに睡眠時間の増大&通勤時間の削減とか、休み時間に家族との語らいとか家事ができるとか。
副次的効果も多いのでなんとかレギュラー制度として定着してほしいなと思いました。

*1:初代Majeの茶軸と比べて打鍵感が大味。とか別の気になるところもあったりしたのですがまぁまぁ。

Pirate Audioの前面ボタンを/dev/input/eventXなキーボードとして使うソフトを作ってみた

サマリー

f:id:moguno:20201227155857j:plain:w400

  • Raspberry Pi用のコンパクトな液晶 & スピーカー & ボタンHATのPirate Audio Speaker for Raspberry Piがすごく良い。
  • そのボタンを/dev/input/eventXなキーボードにするプログラムを書いた。

Raspberry Piの弱点を完全にカバーしてくれるときめきデバイスをゲット

前から思ってたんです。ラズパイってヒューマンインタフェースが弱いなって。

ヒューマンインタフェースと言うのは、人間とコンピュータが対話するための入出力の手段のこと。
モニタやスピーカーのような人間の五感に訴える出力手段とか、キーボードとかタッチセンサーみたいな人間の意志をコンピュータに伝える入力の手段すね。

ラズパイのデフォルトだとそれがほぼないんですよね。

  • 出力する手段:一応アクセスランプのちっちゃなLEDを制御可能
  • 入力する手段:なし

まぁそのための拡張用40Pinなんですが、ジャンパ線がぴょんぴょんしてる基板をライフをハックするデバイスとして日常的に使えるかと言うと厳しいところがあると言うのが個人的な見解です。

(なおもぐのさん。はんだ付けがとても苦手なのは秘密です。)

そんなことを思いながら生きてたところ、公式サイトにときめくプロダクトが。

革命的だぜPirate Audio Speaker for Raspberry Pi

それは、Pirate Audio Speakerと言うHAT基板。
ラズパイW Zeroサイズの基盤にちっちゃい液晶、モノラルスピーカー、小さな4つのボタンが搭載されてます。

f:id:moguno:20210105181648j:plain:w200

もともとはラズパイを高音質なオーディオプレーヤーにするためのプロダクトなんですが、見事に上記のヒューマンインタフェース問題を解決してくれるHATになってます。

有志による解析も進んでて、独自のプログラムからでも使える感じになってます。

  • 液晶:ごにょればフレームバッファとして使用可。コンソールもXも使えるぜ!(すごいぜ@akkiesoftさん)
  • スピーカー:もともとALSA経由で使用可
  • ボタン:もともとGPIO経由で読み込み可

しかしながら、ボタンがGPIOなのがちょっと残念ポイント。
これがキーボードになれば、dialogコマンドとシェルスクリプトで超簡単に対話型のアプリが作れるのに・・・。

と言うわけで前面ボタンをキーボードに見せかけるアプリを作ってみました!

github.com

使い方

準備

Raspberry PiのGPIOを制御するwiringpiをインストールしてください。

sudo apt-get install wiringpi

コマンドライン引数

./pirate_audio_buttons Aボタンのキーイベントコード Bボタンの〃 Xボタンの〃 Yボタンの〃

イベントコードは以下を参照。キーボードのCキーを模擬するならKEY_Cに対応する46を指定します。

linux/input-event-codes.h at master · torvalds/linux · GitHub

0を指定するとそのボタンは無効になります。

起動方法

&を付けてバックグラウンド起動してください。
Bボタンを"yキー"、Yボタンを"nキー"にする場合はこんな感じ。

./pirate_audio_buttons 0 21 0 49 &
PID=$!

例えば、コンソールでdialogコマンドを実行してBボタン or Yボタンを押すと結果が得られると思います。

openvt -f -c 1 -- sh -c 'dialog --ascii-lines --yesno test 0 0; echo $?'


f:id:moguno:20210105195008j:plain:w400

終了方法

killしてください(爽やかな笑顔)

kill $PID

参考

Pirent Audioの液晶をコンソールとして使う方法

akkiesoft.hatenablog.jp

妻に尻にしかれ娘にスネをかじられてる僕が、いかにして自由に遊べるおうちネットワークを構築したかの記録

自宅ネットワーク。それは、

始めの方は楽しい!楽しい!と構築するんだけども、一旦安定動作し出すとすっかり構成を忘れちゃうもの。
完全に忘れちゃう前にメモっといた方がいいなと。

そう言えば仕事でもネットワーク構成図ってあんまり書かないな。
と思って、一度習作してみたくなったのもあります。

大公開!もぐの家のネットワーク構成!

f:id:moguno:20201230164812p:plain

コンセプト

このネットワーク構成に至ったコンセプトは以下です。

表テーマ:家族に迷惑をかけない!

自宅でネットワーク遊びをするならDHCPとかDNSとかもサーバに
OSSを入れて色々変な運用をしたいですよね。

でも、もしもサーバが不慮の事故で止まったりしたら・・・。

怒ると怖い嫁さんと五月蠅い長女のスマホゲーやAmazonプライムDoS状態に。

結果、即もぐのの家庭内カーストの順位が急降下することになります。
(多分、前に長女が捕まえてきたバッタといい勝負になると思います。嘘だといってよガンディー。)

と言うわけで、家族用のネットワークの信頼性は僕の人間らしさのための至上命題でした。

これに対するソリューションとして、タグVLANを使ってL2のセグメントを家族用(タグなし)ともぐの実験用(タグ1)に分ける構成にしました。

な感じです。

この構成。仮に実験ネットが崩壊しても家族用ネットから容易にインターネットが利用出来るのもメリットですね。

裏テーマ:家族ネット→「ぐびっ!(リビドーの擬音)」ネットの完全なる分離

このネットワークには、家族ネット→実験ネットのL3的な経路は設けていません。

最大の理由はDHCPを提供しているONUがスタティックルートを設定できないってとこなのですが、副作用的に家族がもぐのネットの各種ノードに偶然/意図的にアクセスすることができない構成になっています。

男の子なら誰でも家族に見られたくないものってあるよね。

もぐの家ネットの主要な機器に迫る!

ONU・宅内スイッチ

ONUと宅内スイッチは情報ボックスに入ってます。
そう言えば情報ボックスって開けたことないなぁ。ONU設置は僕の留守に業者がやってくれたし。

いい機会だし、スイッチの型番とか確認しよっと。ガチャ。

f:id:moguno:20201230150637j:plain
(ぐちゃあ)

パタン(そっ閉じ)

無線アクセスポイント(NETGEAR WAC505)

f:id:moguno:20201230172222j:plain

比較的低価格な業務用アクセスポイントです。
こいつの特徴はSSIDごとにVLANを切れるところ。
これで子守をしながらでもWifi経由で実験用ネットに入ることができます。

デメリットは故障時に替えの機器が容易に確保できないところです。
これは家庭内ネットをタグなしにすることで、市販のWifiルータを繋げば家庭内ネットだけは復旧できるようにしています。

今見たら後継機になってました。ルータモードもあるらしくいい感じです。

PoE対応スイッチ(NETGEAR GS308P)

f:id:moguno:20201230172525j:plain

前述のWAC505の電源供給手段がPoEのみなので一緒に購入。
LANケーブル一本でアクセスポイントを取りまわせるのはなかなか快適です。

VLAN間ルータ(EdgeRouter ER-X)

f:id:moguno:20201230172557j:plain

もぐの実験ネット→インターネットへのゲートウェイ君。

ソフトウェアルータってどうしてもパフォーマンスが下がっちゃうので、昔買ったEdgeRouterを置いてIPマスカレードさせてます。

これに搭載されているEdgeOSはLinuxベースのソフトウェアルータVyatta(現VyOS)をフォークしたもので、コマンド体系が一緒なのが素敵です。さらにGUIが結構優秀。

f:id:moguno:20201230180015p:plain

さらに言うとJuniperのファイアウォールに搭載されてるJunOSともコマンド体系が一緒なので、お仕事のお勉強にも使えたりします。

こだわりポイントはタグ1とタグなしのポートを分けてLANケーブル2本で接続しているところ。
これでインターネットの下りが20Mbps→150Mbpsくらい速くなります。

ケーブル1本だとタグ違いの同一データが同じLANケーブルを往復することになるので、それがパフォーマンス低下に繋がっているぽいです。多分。

実験用クラウド(Proxmox VE)

実験用クラウドにはProxmox VEのコミュニティサブスクリプションを採用しています。

Proxmox VE

f:id:moguno:20201230173947p:plain

定番のVMWare ESXiと比べた時のメリットは以下。

  • Debianベースなので使えるLANカードとかの制約が少ない。
  • 要求スペックが低い(最低メモリ1GB)
  • コンテナ(LXC)ベースの軽い仮想環境が作れる

サーバーアプリケーションの実験で一時的にVMを作ったりとかマイクラサーバーとか。
後ぐびっ!なファイルサーバなんかがいます。

家族向けファイルサーバ

f:id:moguno:20201230172416j:plain

UbuntuにSambaを突っ込んだファイルサーバです。

ハードウェアは以前とあるブロガーさんの記事をツイートしたらそれがバズって、その感謝の印としていただいたNUCです。その節はありがとうございました。

kannnonn.com

置いてるのは家族の写真で、EXIFを参照して自動でファルダ分けが行われるようになってます。

さらに、週一でOffice365のOneDriveに自動バックアップをするようにしています。rclone便利です。

これでマシンが壊れようが家が火事になろうが、娘たちの結婚式スライド用の写真は生き残れるという算段です。

ちなみに、1TBのオンラインストレージではOffice365が一番安いはずです。お勧めです。

最後に

あんまりなんもしてないつもりでしたが、意外と語りたい要素がありました。ど長文。
 
後これ、明日大掃除せんとあかんすね。。埃だらけだ。

来年の目標はDockerのコンテナを動かせるノードをどっかに置きたいですね。