職質アンチパターン

無責任な事を書きたい

RTX-1200をまたしても買った

f:id:moznion:20180528150114j:plain

ほんとうに,全く買う気はなかったんですが,秋葉原イオシスで14,000JPYだったので購入してしまいました.RTX-1200は安いときに買わなければ損!!! みたいな謎の相場師根性が出てしまってついつい買ってしまう.魔性ですね.皆さんもどんどん買いましょう.
これで私はRTX-1200を3台個人所有していることになります.そろそろもういらん気がする……

セサミ スマートロックをしばらく使ってみた感想

jp.candyhouse.co

これです.筆者の背景としてakerunは使ったことがある (使っている) というステータスです.

セサミを選んだ理由としては

  • 他のスマートロック製品と比較して安い
  • 買い切りモデル

というところなんですが,しばらく使ってみた感想を記します.

取り付けが楽

これは本当.取り付けはめっちゃ楽です.

動く

これは本当.ちゃんと鍵の開け閉めと時限オートロックは動くので必要最低限の機能は満足しています.解錠・施錠ログもちゃんと取れている.

安い

これもその通り.例えばakerunとかだと月15,000円程度のサブスクリプションモデルなんですが,セサミは買い切りモデルなのでデバイスを買ってしまえばあとは使い放題.とは言えやはりakerunの方がトータルの出来は良い感じがするし,ビジネスとしてもサブスクリプションモデルの方が健康そう……

あ,セサミデバイス自体も安いです.そこは良い.

アプリの出来が微妙

Googleアカウントを使ってログインしていて,そのセッション情報がアプリ内に保持されるんですが,このセッション情報が頻繁に揮発してしまう.鍵を開けようと思ってアプリを立ち上げるとセッションが滅亡していることがあまりに多く,その際にログインフローからやる必要があり非常にストレス.まったくスマートでない……

Bluetoothの都合

1つのセサミデバイスに対して,1つのクライアントデバイスしかBluetoothペアリングが出来ない……というのは仕方がないのでしょうが,しかし例えば複数人で飯行って帰ってきた時に「セサミに繋げねえ」「誰のデバイスが今コネクション持ってるの?」みたいになるのは正直微妙.この問題はWi-Fiアクセスポイントモジュールで解決するのだろうか.

管理者を複数人指定できない

「マネージャー」という比較的強い権限を持っているユーザを複数人アサインすることはできるんですが,「管理者」を複数人アサインすることが出来ないので不便.基本的に「管理者」じゃないと大半の設定が不可能なので,最悪管理者が死ぬとセサミデバイスごとゴミになる可能性がある (まあハードウェアリセットは可能でしょうが).

自動アンロック機能とリモートノック機能は使い物にならない

これマジで使い物にならないので一切の期待を捨てよ.バックグラウンドでセサミアプリを起動していてもBluetoothペアリングが上手くいかない (あるいはめちゃ遅い?) ので全く駄目.これもWi-Fiアクセスポイントモジュールで解決する?

まとめ

安い.最低限動く.以上.
付加価値とかを特に考えず,ミニマルで動くスマートロックを探しているのであれば良いのではないでしょうか.

とはいえアプリの出来についてはちょっと色々あるので,今後の改善に期待します.

ベースアンプ買った

ほんとうにいろいろなことがあり,120dBまで出しても良い空間が出現したので,これ幸いということでベースアンプを購入した.

ヘッドは昔から欲しかったアッシュダウン,それも真空管のやつで,これは元々はキャビネットマウントされていたものらしいのだけれど,前のオーナーがそのキャビネット部分を取り去ったらしく,金属むき出しの自動車のような見た目になっている.
キャビネットはグヤトーンの4Ωモデル.中古で2万円しなかったのだけれど,状態がかなり良い.きっと大事に使われて来たのでしょう.見た目がかなり渋くて格好良い.グヤトーンというのがまた良いですね.

軽く弾いてみた感じ,ローからローミッドにかけてが非常に豊かで弾いてて飽きがこない.パライコの効きも結構柔軟でなかなか遊べそう.やっと愛着を持てるマイアンプが手に入った……

それにしてもデカい音を出せる空間があるというのは良いですね.なお,このアンプの横にはドラムセットも設置されています.最高!

MacBook Proのバタフライキーボードについて





今思うとこれ (キーの下にほこりやゴミが入り込むとキーストロークが効かなくなる) なんですかね.

「MacBook/Proのキーボードは欠陥品」と集団訴訟。米国で無償修理と賠償求め - Engadget 日本版

とにかくバタフライキーボードになんらかの問題は明らかにあると思うので,みなさん体を鍛えて筋肉をつけて筐体を曲げて解決していきましょう.あるいはThinkPadを買う.

TypeScriptのasync functionに戻り値の型を明記すると,Promiseの型パラメータの推論が効かなくなる (場合がある)

前提.

$ $(yarn bin)/tsc --version
Version 2.8.3

async を付けない場合,以下のコードはコンパイルが通る.

function foo(): Promise<string> {
  return new Promise((resolve) => resolve('foo'));
}

async を付与すると上記コードはコンパイルが通らなくなる.

// NG!
async function foo(): Promise<string> {
  return new Promise((resolve) => resolve('foo'));
}

以下のように,戻り値側にも型パラメータを付与するとコンパイルが通る.

async function foo(): Promise<string> {
  return new Promise<string>((resolve) => resolve('foo'));
}

これは Promise を明示的にreturnしている場合にこういう状況になるのであって,以下のように暗黙的なPromiseを返却する時は問題がない.

async function foo(): Promise<string> {
  return 'foo';
}

なぜなんだろう? ふつうにasyncの場合でも推論が効いて欲しい気がする?

--

コンパイルエラーメッセージは以下の通り.

src/example.ts(2,3): error TS2322: Type '{}' is not assignable to type 'string'.

[追記]

GitHubにissueが上がっていた.

github.com

Looks like a linter issue.
if a function is marked as async, the compiler will wrap the return value with a new Promise.
https://github.com/Microsoft/TypeScript/issues/23114#issuecomment-378360613

なるほど……しかし自動closeされちゃっている……

Anker PowerPort+ 5 USB-C Power Delivery評

これの話です.

仕事柄,自宅で仕事をする時間とオフィスで仕事をする時間の比が半々くらいで,2拠点を行き来するのにいちいちMacBook ProのUSB-C充電器を持ち運ぶのがだるく (あれ結構大きくて重いですよね),それであれば1個これを買って自宅において使おう……USB-Aで充電もできるから何かと便利でしょう,というモチベーションで購入したものです.

結論から言うと,予想通りUSB-Cを介したMacBook Pro 13インチの充電は満足に出来ませんでした.ケーブルを繋いでいるにもかかわらずラップトップのバッテリのインジケータは増加せず,またCPUリソースを食うようなタスクがブン回っている時はバッテリがどんどん減っていく始末.ケーブルの問題かと思い,Apple純正のケーブルに代えてみたものの状況は変わらず.ギギギ……

というわけでもう一個,AppleのUSB-C充電アダプタを買いましたとさ.充電ができて便利!!!!!!!!!

受難の日々は続く……