2022年11月1日火曜日

RealForce Mac用 R3

mac用の新型キーボード R3 を買いました

 前のバージョンのR2はWindows用は全体がガッチリしててとても良かったのに、mac版は筐体が華奢だったので泣く泣くWindows用のを使っていました

 R3はずっしり、ガッチリ、静音でGood !

 ラバーとキーそのものの精度も高くて軸がブレずにとても快適

キーボードの押下の重さについて

 職業病ではありますが、腱鞘炎気味なので押下30gのものを使ってました

 R3は45gのものしかないので腱鞘炎にどの程度ダメージが出るかはまだ不明です

 店頭でR3を触ったらとてもいい感じでしたが自宅でタイプすると...

 ん~やはり少々重め

 とはいえAPCというキーの打ち込み深さを変更する機能があって、自分は最小の0.8mmにしました

 奥まで押し込まなくても打鍵に反応してくれるので撫でるようにタイピングすればいいらしいのですが、まだその感覚がわからず底まで押し込んでしまいます

 ここらあたりはタイピング仕方を変えるようにするつもりです


かな/英数キーは必須

 カナ打ちなので かな/英字 キーは必須です

 GoogleのIMEもこのキーに対応しているので、英字を入れているつもりがトントカイモとかにならないのでWindowsでもとても快適になりしまた

 いままでのWindows版でもかな/英字キーがあるんですがmacにそれを対応させる為にカラビナというアプリを使ってました

 仕事がらひんぱんにmacとWindowsを切り替えて使う事もあり、Windowsに切り替えるとそれが使えなくなるので靴の上から掻いてるみたいでもどかしかったという事もあります


BT切り替えが速い!

 BTの切り替えが遅いのでいままで有線で使ってましたが、BT5.0の効果のせいかmacに接続するのがむっちゃ速い!
 WindowsのほうはレシーバーがBT4.2なので1,2秒かかります
 Windowsも5.0レシーバー買おうかな

有線接続したまま切り替えてもUSB-UnPlugしない

 WindowsにUSBを挿抜すると「ぴんころぴん」となりますが、このキーボードはUSBからBTに切り替えてもUnPlugしないので警告音がでなくて快適です
 挿抜する時にデバイスドライバにログが残るとハードウェアの開発している時にUSBログに記録されてうっとおといのと、あまり速く切り替えると刺したことに気づかない事があるのでこの対応はGood !

カスタマイズがすごい

 これは書ききれない(笑)

なんだかんだでよくできてるキーボードだと思いました


2022年10月18日火曜日

Xeon e5 2620 v4 から e5 2643 v4(中古)へ換装

Xeon x 2サーバー来歴

  自宅のVMWareサーバー& Jenkinsビルド用に2016年末 Xeon e5-2620 v4 x 2CPUのマシンを作りました。

 当時はmac mini(2012)でXcodeのコンパイルがあまりに辛かったのでWindows上でXCodeを動作させてコンパイルしていたりもしました。(Asset Storeのグレーなアプリ) 

 手元のmac miniはCorei7で2Core 4スレッドで事実上Corei5、つまりナンチャッテCorei7でした。

 性能より消費電力が低いのが売りだったみたいです。まぁminiシリーズですからね。

 実際 2CPUで16Core 32スレッドは強烈でmac miniの10倍速でコンパイルが終わりスクラッチ&ビルドが死ぬほど捗っていました(miniだと15分、2620v4だと2分かからない)

 資産の関係で20万円を超えたくなかったのでメモリーは32GByteとしました。

 CPUは@5万円もしたのと、もう一ランク上は@7万円となり予算超えで諦め。

 

SSDをOptaneへ 2年目

 その後SSDをOptane 900Pに変えたら更にコンパイルが早くなりました。

 OptaneはシーケンシャルリードはNAND SSDと大差ありませんが、C++の小さいファイル1万個ともなるとIOPSが10倍と効きまくり。コンパイル速度が30%ほどアップしました


メモリーを64GByteへ 3年目

 元々32GByteでしたがメモリーショックでドカンと価格が落ちたので追加で+32GByte
ECC付きのレジスタードメモリー。
 サーバー用マザーの為メモリーバスが4chもあるので、4ch(8枚)全部埋まりました。


CPUを換装 5年目 超快適!

 今回CPUをXeon 2643 v4 x 2 に交換しました
 聞いたことない型番だったんですが、Xeon v4 中古で一年くらい地道に検索したらでてきましたよ、1つ17,500円。ebayだと12,000円くらいからありますがes品だったりラベル書き換えCPUかもしれないので日本の業者さんを選択
 元々コンパイル用のマシンだったのでコア数重視だったんですが、最近はVisual Studioで開発にも使い出しました。
 ベースクロックが2.1GHzというのが存外モッサリ
 VSのコンパイル時は当然マルチスレッドでコンパイルしてくれますが、エディターが2.1GHzというのがツライ。
 自分のキータイピングの速さは大したことないんですが、最近のIDEは超優秀な補完・推奨機能があってこの推奨候補がでるのにキーボードの入力が妨げられていたのです。

 なので今回はベースクロック重視

CPUBase ClockCore数(2CPU)CineBench R23
2620v42.1GHz1612332
2343v43.4GHz1213004

表にするとこんな感じで、マルチスレッドでのコンパイル速度はほぼ同じです。

ところがこの通常3.4GHzというのがVSエディターではやたらに効いてるようで 

超快適 !!

あと電力と熱はこんな感じ。室温は20度くらい

CPUメーカーTDPコンパイル実測PC全体アイドル時コンパイル時温度
2620v485W40W100W25度(笑
2343v4135W85W100W75度

 2620v4の消費電力と温度がおかしい。超当たりだったのかも。選別品なのでもっと上位のCPUになる筈だったのかもしれません。

 コンパイル時の消費電力は120Wから350Wと激増しましたが、もうビルドマシンじゃないので目をつぶります。VSエディタ上なら100Wと変わりません 


長生きしてくれよ 

 Xeon e5 v4シリーズではこれ以上のベースクロックがなさそうなので、このマシンはこれで拡張終了ですかね。

 Xeonはサーバーメーカーの案件毎に本当に色々な型番があるので探すの大変ですが、用途にぴったりなのが見つかって良かったです。

これからさらに10年くらい長持ちしてほしいな。


おしまい


2022年2月5日土曜日

Hue Bridge V2 API (Phirips Hue Lamp)

HueのREST API V2を使う

 我が家では、照明コントロールにHueのブリッジを複数使って、家中のライトをコントロールしているのだ

 SiriでもAlexaでもコントロールできるので楽ちん


アプリ使えば?

 はい、前はそれで十分でした。使いやすいGUIアプリだったし

 ところがiOS13あたりから改悪されて、アプリケーションは長時間起動し続ける事ができなくなったのだ!アリエン
 寝る前に30分だけタイマーして電気を徐々に暗くしていただけどそれができなくなった

 ムキー

 iOSのショートカットを作ってもiPadがスリープすると「ショートカットアプリ」自体がkill processされちゃう。iOS 裏アプリは5秒しか動けない制限。

 つまり「スクリプト」をアラームにしても「アラームアプリ」までは目覚ましの機能で起動するんだけど、その後「ショートカットアプリ」がすでに死んでるんでその先の「Hueの照明を消す」に進まない。
 「アラームアプリ」はスーパースペシャルで、「ショートカット」なんて新参者にはあまり権限がないようだ
 しかたない、自作するか


やれやれどっこいしょ

 V1 APIとV2 APIがあるんだけど、V1は古いAPIなので、もうじきなくなるよ、と脅し文句がAPIリファレンスに書いてあるけど、告知されてから早10年以上たってる気がする

 家電なので10年や20年は使うから、そうそう無くせないよね

 またV1じゃないとできない機能があるらしい。はよ解決しろ

V1 API

http://192.168.0.127/debug/clip.html

 httpでもアクセスできるよ、いいんかい。確か初代のブリッジはCPUとメモリがしょぼすぎて httpしかできなかったのでAppleのHomeに公式登録する事ができなかったんだよな

 初代ブリッジはhttpsの実装ができないので、新しくブリッジに買い直したんだよ

 1万円近かったよ

 海外は初代ブリッジ下取りするサービスがあるんだけど、日本のサポートに問い合わせたら

「そんなサービスの予定はありません、フヒヒ」

と言われてがっかりした

 フヒヒは言ってなかった気がする


V2 API

前準備

まずはブリッジのDHCPのアドレスが必要なのだ

Hueブリッジは勝手にインターネットにつないでくれてちゃって


https://discovery.meethue.com/


にブラウザでアクセスするとどういう仕組みなんだか、自宅のブリッジが全部出てくる

[{"id":"002992aaae7ee5c3","internalipaddress":"192,168.0.115","port":443},{"id":"00354ffe299d29","internalipaddress":"192.168.0.127","port":443}]

うむ、怖いww

まぁルーターのDHCPリストとmacアドレスを老眼で突き合わせてショボショボ IPを探すよりは楽なんだけど

このidはいつ使うのかな。自分のアプリでブリッジを見分ける時に使うのかも

複数のルーターを使っている人は知識あるから説明は不要でしょう

postmanなるツールを使うなら、SETTINGSの

Headers 項目

  1. Send no-cache header をon

  2. Send Postman Token Headerをon

  3. Trim keys and values in requst body をoff

  4. SSL certificate verification を off. (俺俺証明書だから)

としときなさいよ、と

ハイカラなGUIが不得意な8bitおじさんなのでcurlで作業するのじゃ、ヨボボ

1は  -H 'Cache-Control: no-cache'

2と3は無視

4は -k をくっつけとけばよさそうじゃのぅ

ブリッジにIDを作る

まずREST APIをアクセスできるように、ブリッジに適当な名前で「アプリ#ユーザー名」の登録をする

urlを /api

Message Body の中に

{"devicetype":"my_app#mydebug"}

とか入れる。

my_app が 今回決めたアプリケーション名(適当)で、

mydebugがそのアプリのユーザー名という事らしい

何個作れるんですかね


curl -X POST -H 'Cache-Control: no-cache' -k "https://192.168.0.127/api" --data '{"devicetype":"my_app#mydebug", "generateclientkey":true}'

を送信すると

[{"error":{"type":101,"address":"","description":"link button not pressed"}}]

hueブリッジのボタンを押せ、とな。押入れまで歩いて一回だけポチする

30秒くらいでこの呪文の効果が切れるらしいのでダッシュで戻り、さっきのcurlをもう一度たたくと

[{"success":{"username":"LuY7AOkGozQTotCstgya28EUddfYpSflIr-CCPc","clientkey":"007E618660B3464232C29946A01CE3DF"}}]

なんか手に入ったっぽい!

これ何人くらい登録できるんすかね。ブリッジのメモリーなんてたかが知れてるし

で、このusernameをヘッダーにくっつけとくとGETができるようだ

返ってくるのが一本グソのjsonなので jq で整形する

# brewはおググりください
% brew install jq

usernameはさっき手に入れてたので、-H "hue-application-key: LuY7AOkGozQTotCstgya28EUddfYpSflIr-CCPc"をくっつけて、/clip/v2/resource/device のリクエスト

curl -H 'Cache-Control: no-cache' -k "https://192,168.0.127/clip/v2/resource/device" -H "hue-application-key:LuY7AOkGozQTotCstgya28EUddfYpSflIr-CCPc" | jq

でっかいjsonキター

このjsonはランプのuuidとか入ってて、これがバレると外からアクセスできちゃうからhueの画面を貼っとく







APIの一覧

ユーザー登録すると、以下のurlでapi一覧を見る事ができる

https://developers.meethue.com/develop/hue-api-v2/


よし、これを使って30分で消えるタイマーをRaspberyy PIで作るぞ

今年度中には