Sierra にしたらリモートの日本語が化けるようになった
以下のような環境で日本語が化けるようになった。
- macOS Sierra
- リモートで screen を使っている
- ssh host -t screen -r で復帰している
問題ないケース
- Sierra にする前は問題なかった
- ssh host して手動で screen -r
解決方法
どうやら ssh -t したとき、特定の環境変数がリモートに渡されなくなったみたいだった。以下のように ~/.ssh/config に追記した
SendEnv LANG
Sierra での man ssh から抜粋。複数書く場合はスペース区切りか SendEnv 自体を複数書けば良い。
Specifies what variables from the local environ(7) should be sent to the server. The server must also support it, and the server must be configured to accept these environment variables. Note that the TERM environment variable is always sent whenever a pseudo-terminal is requested as it is required by the protocol. Refer to AcceptEnv in sshd_config(5) for how to configure the server. Variables are specified by name, which may contain wildcard characters. Multiple environment variables may be separated by whitespace or spread across multiple SendEnv directives. The default is not to send any environment variables.
関連エントリー
- ccls + vim-lsp で補完時に後続のwhitespaceが削除される 以下をいれるととりあえずおさまる。ccls と相性が悪い?? let g:lsp_insert_text_enabled = 0 let g...
- MCD-ST Liberty SW License Agreement V2 はフリーなライセンスか? STM32CubeMX でジェネレートされるコードは MCD-ST Liberty SW License Agreement V2 というラ...
- https 通信が不可能な原因が時刻ずれ 手元の NanoPi NEO2 が、証明書エラーでどうしても https 通信が不可能に。 Ubuntu 16.04 なのでそれほど古いOS...
- リクエスト時の Cache-Control、max-age=0 と no-cache の違い ほとんどのブラウザで、通常リロードは Cache-Control: max-age=0、スーパーリロードで Cache-Control: n...
- textarea.value は代入すると値が変わる 以下のような挙動をする。 var textarea = document.createElement('textarea'); textar...
✖
ゼルダやってた
最初のほう。
あんまりスクリーンショット撮ってなかった。
祠さん……
ライネルさん……
まじゲーム下手なので最初はヒノックスすら怯えてて、ライネルとか全く勝てなかったけど、片手剣のライネルなら安定して倒せるようになっておもしろくなった。よくできてるなあと思った。
ゲーム内のカメラを使わないと自録りができないんだけど、そうするとフルスクリーンで撮影できないのがもったいない。
カメラ向けると喋ってるNPCも目線くれるのおもしろい。
関連エントリー
- デジタル一眼レフ (EOS) をウェブカメラ的にとして使う スクリーンキャストとカメラの同時録画 の動画を撮ったときは Mac 内蔵のカメラを使ったので、自由にカメラを動かせず難儀した。ウェブカメラが...
- Mac で外部カメラとスクリーン録画を同時にやる (カメラ+スクリーンキャスト) 前までできなかったと思うんだけど、比較的簡単にできるようになっていた。 QuickTime Player に「ファイル」→「新規画面収録」と...
- Google+ の画像自動バックアップで、一部画像がアップロードされないとき Google+ の画像自動バックアップは、デフォルトだとカメラで撮影されたものしかアップロードされない。(いつのまにかこういう仕様になってた...
- ユーチューバー活動 ちょっと前まで日記の補足として動画を用いてきて、YouTube にあげるにせよ音もなにもなくスクリーンキャストだけというのが多かったけど、動...
- 子どもに COOLPIX W100 Nikon デジタルカメラ COOLPIX W100 防水 W100PK クールピクス ピンク cho45 Nikon ★ 4.0 / 5....
macOS Sierrra にしたら ssh 時に毎回秘密鍵のパスフレーズを聞かれるようになった
Sierra になる前はキーチェーンに勝手に登録されてうまいことやってくれてた気がするけど、うまいことやってくれなくなった。
機能が削除されたわけではなくてデフォルトで無効化されたらしい。
Host * AddKeysToAgent yes UseKeychain yes
を ~/.ssh/config に追記した
関連エントリー
- ssh-keygen 最近はこう ssh-keygen -t ecdsa -b 521 最近の raspi イメージはデフォルトで弱い暗号方式を無効化してあるので...
- 最近の Raspberry Pi はデフォルトで ssh が無効 Raspbian 2016-11-25 のリリースから ssh がデフォルトで無効になっていて port 22: Connection re...
- Sierra にしたらリモートの日本語が化けるようになった 以下のような環境で日本語が化けるようになった。 macOS Sierra リモートで screen を使っている ssh host -t s...
- 最近の ssh では YAMAHA RTX1200 に接続できない no matching key exchange method found. Their offer: diffie-hellman-gro...
- Shortcut Recorder がうまく動かなかった Xcode 6.1.1 で Shortcut Recorder の 440a3d18e688142cd00fc88e4dc36ff35544...
SmooseMouse が Sierra で使えなかった
https://steelseries.com/downloads?utm_source=smoothmouse.com&utm_medium=recommendation
から ExactMouse tool というのをダウンロードして起動すると加速をきれる。
✖
✖
Ruby Sequel で生 SQL をメインに使う
Sequel はドキュメント見ると SQL そのまま書くやりかたもとクエリビルダを介すやりかたも許されていると感じるので (別に他のライブラリでも可能だろうが)、導入負荷が低くてよさそうです。結構機能はもりだくさんありますが必要なければ使わないのも許されてる感じもよさそうです。
Sequel でのクエリ発行のしかたは sequel/querying.rdoc at master · jeremyevans/sequel · GitHub を読むとだいたい網羅できるが、特に自分に重要なところだけ別途メモしておく。
モデルを使っても使わなくても SQL クエリはそのまま発行できる。複雑な JOIN も安心。
モデルを使わない場合
SQL を発行して Hash として取得できる。
dastaset = DB["SELECT * FROM foo"] dataset.all # 全インスタンス化
モデルを使う場合
任意の SQL を発行しつつあるモデルとしてインスタンス化したい場合
class Foo < Sequel::Model(:foo)
end
dataset = Foo.with_sql("SELECT * FROM foo")
dataset.all # 全インスタンス化 Sequel::Model(:foo) の :foo はテーブル名を渡す。何も渡さないとクラス名を複数形にしたものを探そうとする。が明示したほうが良いと思います。
どういうときにモデルを使うか
使いたいときに使う。単にクエリ投げたいだけならモデルはいらないし、特に JOIN がからむなら余計なことせず Hash で返ってくるのは気楽で良い。
機能的な面からいえば、DBからひいてきたインスタンスにメソッドを生やしたいというときはモデルを使ったほうが楽。既存の行を update したいときもモデルがあったほうが楽。
Sequel のモデルも若干マジカルで、DBコネクションがないとモデル定義できなかったりする。キモいけどテーブル情報を使ってアクセサを定義したりするっぽい。
関連エントリー
- Lightroom のカタログを SQLite で読んで統計を出したりする .lrcat っていったい何なのか カタログファイルの実体である lrcat は SQLite の DB ファイルそのもの。sqlite3 ...
- SQLite で LOG や SQRT を使うには SQLite にはかなり基本的な算術演算関数しかない。追加で何かしらやるためには拡張 (Run-Time Loadable Extensio...
- ユーザ由来の構造化データによるSQLインジェクション Kazuho's Weblog: The JSON SQL Injection Vulnerability について。元記事をはっちゃめっち...
- MySQL で SET 型の UPDATE 以下のようなテーブルのとき CREATE TABLE foo ( aset set('aaa', 'bbb', 'ccc') ); 空文字列...
- TF-IDFとコサイン類似度による類似エントリー機能の実装 TF-IDFによる類似エントリー機能の実装をしてみました。ほぼSQLiteですませるような構成です。 やっていることの概要 エントリーのHT...
JavaScript で MQTT するなら MQTT.js が良い
https://github.com/mqttjs/MQTT.js
- ブラウザ (MQTT over WebSocket) でも node.js でもほぼ同じ使いかたができる
- 自動でリコネクトしてくれる
- API がモダン
Eclipse Paho の JS 版を一時期使っていたが、完全に乗り換えました。
MQTT over WebSocket の場合
ドキュメントの通りだけど以下のようにする。TLS なら wss にするだけ。
const client = mqtt.connect("ws://" + location.hostname + ":" + (location.port || 80) + "/mqtt", {
username: USER,
password: PASS,
reconnectPeriod: 500
}); 関連エントリー
- RabbitMQ で MQTT over WebSocket ウェブページから JavaScript で MQTT ブローカーに送られてくるデータを取得したかったので、MQTT over WebSock...
- MQTT のトピックを prometheus に登録する MQTT のトピックを subscribe して一時的に保持し、prometheus 向けに exporter として働くデーモンを書いた。...
- センサーデータ用に RabbitMQ + MQTT をセットアップする RabbitMQ + MQTT で Pub/Sub サーバを立てることにしました。 いろいろなセンサーのグラフ化にあたって GrowthFo...
- 7年放置した mqtt_topic_exporter を Copilot とともに書きかえた mqtt_topic_exporter という mqtt ブローカーに接続して特定の topic を subscribe して promet...
- golang で websocket websocket.JSON を使った場合 JSON をやりとりする場合専用の方法がある (JSON-RPC ライクな実装を書いてみた場合)...












