Git for Windows のエディタ (vim) でログが文字化けする問題

解決策

ユーザー・プロファイル・フォルダ %USERPROFILE% に .vimrc ファイルを作成し、以
下の 1 行を書いておく。

set encoding=utf-8

現象と経緯

コマンドラインから -m オプションでコミットメッセージを指定してコミットする。

>git commit -m "* 実験"


その後、 amend すると vim が起動して

>git commit --amend

こんな感じで文字化けしてしまい、何もできなくなってしまう。

vim文字コードを誤っているせいなので、環境変数 %USERPROFILE% にあるユーザー・プロファ
イル・フォルダ、一般には C:\Users\(ユーザ名) になっているので、そこに vim の設定ファイ
ル .vimrc を置き、文字コードを指定してやれば文字化けは回避できる様になる。

ユーザフォルダに .vimrc を作成し、以下の 1 行を書く。

set encoding=utf-8

これだけで、文字化けは解消できる。

>git commit --amend


Firefox 55 で使えなくなった The Addon Bar の代わり → Status-4-Evar

Firefox 55 で使えなくなった The Addon Bar (Restored) の代用アドオンとして Status-4-Evar を見つけた。
S4Eはこの 8/20 の更新で対応した模様。

自分の用途の範囲(アドオンアイコンをポチポチ置く)では The Addon Bar と同様に使えてる。

Firefox 55 で使えなくなって効いてるのが Make Link で、メニューが「エラー」となってて辛い。

あと、はてブ拡張がブクマ時のタグ一覧からのクリック→タグ挿入が効かなくなってて地味に辛い。

RTX5000 に ssh 接続できないバグ?

ファームウェア Rev.14.00.21 で遭遇。
Rev.14.00.22 に更新したら出なくなった。

ssh で接続して、ユーザ名とパスワードを入れるところまでは進むものの、
その後うんともすんとも言わなくなる。

login as: hogehoge(ッターン)
manager@192.168.1.1's password:(ッターン)

で、その後すぐに出るはずのログインメッセージが出てこずに固まる。

RTX5000 Rev.14.00.21 (Thu Jan 12 08:23:00 2017)
Copyright (c) 1994-2017 Yamaha Corporation. All Rights Reserved.
To display the software copyright statement, use 'show copyright' command.
00:a0:de:XX:XX:X0, 00:a0:de:XX:XX:X1, 00:a0:de:XX:XX:X2, 00:a0:de:XX:XX:X3
Memory 1024Mbytes, 4LAN
>

RTX5000のログには ssh 経由で接続成功してるらしきログが残っているもの
の、実際にはその先に進まず強制切断すると、ログには Logoff が残る。

Login succeeded for SSH: 192.168.1.200 hogehoge
Logout from SSH: 192.168.1.200 hogehoge

しばらく頭を抱えてから、ファームの更新具合を確認したら Rev.14.00.22 が出ていた
ので特に考えもなくなんとなくで更新。
そうするとこの症状はでなくなった。
リリースノート には書かれていないし、もしかしてレアなバグ踏んでた?

ITPRPTECH Media Wave HD Pro RED のレビュー

修正

以下本文

『メディアプレイヤー、NAS、外付ストレージの最強3in1』を謳う Media Wave HD Pro RED を手
に入れたのでレビュー。
残念ながら狙っていた用途と製品が合致していなかったのか、ぐぬぬなレビューとなってます。

Media Wave HD Pro RED は JUST SYSTEMS 直営の Just MyShop モデルとして ITPROTECH 社が 提供
しているメディアプレイヤーでこちらから購入可能です。 お値段は 8,000円前後。

ITPROTECH 社での公式ページはこちらで、公式ページにある通り、以下の特徴を謳ってます。

  • 2.5 インチ HDD or SSD × 1 を内蔵可
    • USB 3.1 で PC に接続することで USB 外付けドライブとして利用可
    • もちろんディスク内のメディアファイルは再生可能
  • 外部ストレージ対応
    • USB ストレージと microSD 上のメディアファイルを再生可
  • ネットワーク対応
    • NAS 上のメディアファイルの再生可
    • 自身のストレージを NAS として LAN 内に公開可

電源は AC アダプタ、 USB Type-A、車のシガーライターソケットの3種に対応する電源コードが付属
しています。USB 3.1 、HDMI、 LAN ケーブルも付属しており、各方面への接続に必要そうなケーブル
類は(長さを気にしなければ)一通りそろっています。

操作は一般的なストレージ内蔵型メディアプレイヤーと同じく、付属リモコンを介して全操作をする
形になっています。


さて、自分がこれに手を出した理由(期待)ですが、ネットワーク対応と言うことで自宅 QNAP の共
有フォルダに保存してある写真・映像データを PC レスで再生できる手頃なネットワークメディアプ
レイヤーとしてよさげかな、と触手が蠢いた次第です。
テック社の HD600A やバッファローの LT-V200 のような端末を期待してたわけです。

開封して動作確認てがら「何ができるのか」ということを探ったところ、

  • ストレージレス起動(内蔵ドライブ無し、USB外部ストレージ無し)
    • OK
    • 電源コードを繋いでから 1-2 分でメニューがでます
  • USB外部ストレージ内の映像データの再生 (1080/24P MKV H264L4.1+AAC)
    • OK
  • USB外部ストレージ内の音楽データの再生 (MKA FLAC)
    • NG
      • 一覧に表示されないため、 MKA 形式(拡張子)自体未対応っぽい
      • まぁマイナーだしねorz
  • DLNA 経由で QNAP 内の写真データの再生 (JPEG)
    • OK
    • 自動でスライドショーに
  • DLNA 経由で QNAP 内の映像データの再生 (720/30P MP4 H264L3.1+AAC)
    • OK
  • CIFS (Samba) 経由でQNAP 内の動画データの再生
    • NG : フォルダを開こうとすると待機中のまま固まる
      • 完全にフリーズするのではなく、待機アニメーションは動いているので何かしらのタイムアウト待ち?
      • 電源コード抜き差しで再起動しないと復帰せず
    • OK (1080/24P MKV H264L4.1+AAC)

こんな感じでポータブルメディアプレーヤーとしてはいいものの、メインの NAS と絡めたネットワークメディ
アプレーヤーとしては難あり、という感じにorz


CIFS のサポートは弱いようで、固まる以外にも

  • 不可視フォルダにアクセスできない
    • GUI 上からはフォルダを選択するしかない=直接フォルダ名を入力する方法が見あたらないため
  • 認証が必要なフォルダにアクセスできない?
    • 開こうとすると固まるため確証はないですが、たぶんユーザ名やパスワードを入力できない

という弱点がありました。ぐぬぬ
見たいファイルは不可視&要認証なフォルダに置いてるのよねorz

2017/9/2 公開のアップデートファームで改善されてました。

  • ユーザ名・パスワードが必要なフォルダはダイアログが出ます
  • 不可視設定しているフォルダは見えません
    • 直接指定する方法があるのかもしれませんが、触った分にはわかりませんでした。

他に気付いた弱点は以下の通り。

  • 外部メディア(USBストレージや microSD)の脱着は電源断状態でなければダメ
    • 電源コードを抜き差ししないといけない
    • 「これ(USBメモリ)の写真だしてー」みたいな要求に即応できない
      • ReadOnly で automount して〜みたいにできんだろうか
  • リモコンボタンの反応が一息遅い
    • 100ms 未満なんだろうけどディレイが入るのでもっさり感ある
    • SoC の RTD1185 が 500MHz らしいので仕方ないかなぁとも思う
  • NAS を相手にする場合、階層を潜るたびにネトワーク上でNASを探索してるようで、ボタン操作→画面反映までが待たされる。
    • 頻繁に出入りする機器でも無いのでキャッシュしといて欲しいなぁ
    • 2017/9/2 公開のアップデートファームで改善されてました。

Samba 経由で〜となると Raspberry Pi + Kodi とかのほうがいいのかなぁ…
「いかしたネットワークメディアプレイヤーがあるぜ!」ってのがあればコメントなりでお知らせいただければ。

nu board JABARAN を手に入れた。

設計やら何やらするときや打ち合わせやらでのアイデア練りまとめ用にnu boardJABARANを買った。
練り練り中はうだうだ考えながら書いて、書いては考え整理して修正して〜の繰り返しだから、やっぱり
ホワイトボード的なのがいいよねと。

現行モデルはそのまま持ち歩く想定で表紙が付いてるけれど、買ったのは旧モデルなのでケース+
ボード+マーカーの3点セット。

現行モデルのWTと同じく4面構成の片面方眼、裏側真っ白。

畳んでケースに入れるとだいたい A4 のクリップボードサイズなので、バッグに入れといて
ホワイトボードがない場所で打ち合わせしたりするときに、すっと取り出して見せるとスマー
トに見える(と期待)。
ケースあるからノートPCとかとバッグにつっこんどいでも痛みにくそうなのが旧モデルのメリット。

全部広げると A4×4 になるので、ミーティングテーブルに広げてあっちとこっちからうだうだ
やるにもよさげな感。

同じ方向性の製品に、バタフライボードもあるけれど、こちらは 1万円からとお高いのが
難点(切り離せたりで面白そうだけれども)。

JABARAN の方は、 2000円ちょいなので手は出しやすい。
nu board JABARAN 現行モデル(方眼&白)

両面白白モデルがあってもいいよなーとも思ったり。現行モデルも角を留めるゴムバンドがあれ
ばまとまりよさそうよね。

YAMAHA RTX1210 で作るゲストセグメント有り小規模ネットワーク

YAMAHA RTX1210 でちっちゃいネットワーク作る機会があったのでメモ。

論理構成は次の図の通り。

各セグメントの用途とセグメント間の接続要件は以下の通り。

  • 外部接続セグメント 10.0.0.0/24
    • インターネットに出て行くための上流セグメント。Untrustゾーン
  • サーバセグメント 10.10.0.0/24
    • DMZっぽいサーバ置き場。
    • アクセスセグメントからは全てのサーバと通信可能。
    • インターネット側(外部接続セグメント側)からの通信は Firewall で制限をかける。
  • アクセスセグメント 192.168.0.0/24
    • いわゆる内部セグメント。Trustゾーン
    • 外部接続セグメント・サーバセグメントには NAPT を介して制限無しで接続可能。
    • ゲストセグメントへの通信は不可。
  • ゲストセグメント 192.168.11.0/24
    • 訪問者にインターネット環境を提供する用&スマートフォンなどの私物接続用。Untrustゾーン
    • インターネットにだけ繋げればいい。
      • 外部接続セグメント(インターネット)には NAPT を介して制限無しで通信可能。
      • アクセスセグメントへの通信は不可。
      • サーバセグメントへの通信はインターネット側から接続する場合と同制限でなくてはならない。

物理構成は次の通り、 RTX1210 を中心として 4 セグメントが繋がる形になります。

外部接続セグメントとサーバセグメント間は上流の既設スイッチで接続済み、 Firewall 済み
なので、アクセスセグメントとゲストセグメント周りの通信制限が設定のキモになります。

まず、インタフェース周りの設定から。LAN2 と LAN3 には NAPT が入ります。
ゲストセグメントについては LAN1 に VLAN 11 を作り、そこに割り当てます。

# LAN1 アクセスセグメント
ip lan1 address 192.168.0.1/24

# LAN1 ゲストセグメント
switch control use lan1 on terminal=on
vlan lan1/1 802.1q vid=11 name=VLAN11
ip lan1/1 address 192.168.11.1/24

# LAN2 外部接続セグメント
ip lan2 address 10.0.0.2/24
ip lan2 nat descriptor 1

# LAN3 サーバセグメント
ip lan3 address 10.10.0.1/24
ip lan3 nat descriptor 2

# デフォルトゲートウェイ
ip route default gateway 10.0.0.1

# NAPT 設定。 LAN2 と LAN3 に出て行くパケットを NAPT する。
nat descriptor type 1 masquerade
nat descriptor address outer 1 10.0.0.2
nat descriptor type 2 masquerade
nat descriptor address outer 2 10.10.0.1
nat descriptor address inner 2 auto
nat descriptor masquerade incoming 2 reject

パケットフィルタではアクセスセグメント・ゲストセグメント間の通信制限と、ゲストセグメン
トから RTX1210 への接続制限を入れます。

# LAN1 アクセスセグメントフィルタ
# セグメント内通信を pass し、それ以外の 192.168.0.0/16 のパケットを reject すること
# でゲストセグメントからの通信を弾く設定。
ip lan1 secure filter in 103030 101102 101199
ip lan1 secure filter out 103030 101105 101199

# LAN1 ゲストセグメントフィルタ
# セグメント内通信を pass し、それ以外の 192.168.0.0/16 のパケットを reject すること
# でアクセスセグメントからの通信を弾く設定。RTX1210(192.168.11.1) へのSSH, Telnet, HTTP は弾く。
ip lan1/1 secure filter in 103110 103111 101102 101199
ip lan1/1 secure filter out 103111 101105 101199

# フィルタ
ip filter 101102 reject-nolog * 192.168.0.0/16 * * *
ip filter 101105 reject-nolog 192.168.0.0/16 * * * *
ip filter 101199 pass * * * * *
ip filter 103030 pass 192.168.0.0/24 192.168.0.0/24 * * *
ip filter 103110 reject-nolog * 192.168.11.1 tcp * 22,telnet,www
ip filter 103111 pass 192.168.11.0/24 192.168.11.0/24 * * *

以上の設定で、アクセスセグメントやゲストセグメントから外部接続セグメント・サーバセグメ
ントへの NAPT 通信、ゲストセグメントとアクセスセグメント間の通信遮断は実現できました。

ただ、ゲストセグメントからサーバセグメントに直接通信できてしまうため、パケット転送フィルター
を設定することで、ゲストセグメントからサーバセグメントに向かう通信は、外部接続セグメン
トに転送するようにしてやります。
これにより、ゲストセグメントからサーバセグメントに向かう通信は一旦外部接続セグメントを
介するので、既設 L3 スイッチでの Firewall が適用されることになります。
(RTX 1210 でフィルタしようとすると、設定箇所が散らばるので管理負荷が上がります)

# パケット転送フィルターに与える条件(ゲストセグメントからサーバセグメントに向かう通信)
ip filter 200000 pass 192.168.11.0/24 10.10.0.0/24 * * *

# パケット転送フィルター
# ゲストセグメントからサーバセグメントへの通信は外部接続セグメントに転送する
ip forward filter 11 1 gateway 10.0.0.1 filter 200000

# ゲストセグメントにパケット転送フィルターを設定する
ip lan1/1 forward filter 11

以上で、ゲストセグメントからサーバセグメントに向かう通信は外部接続セグメントを介する
ようになるので、通常のインターネット側から通信する場合と同様、フィルタがかかることに
なります。
フィルタ型ルーティングでもできそうだけど未検証)

めでたしめでたし。