ギターアンプ買った
ほんとうにいろいろなことがあり,120dBまで出しても良い空間が出現したので,これ幸いということでギターアンプを購入した.
またアンプ買ってる…… pic.twitter.com/x2d424u1x7
— あなたはシステム管理者から通常の講習を受けたはずです (@moznion) 2018年6月18日
これはsunnのChorusLead 50で50Wのソリッドステートアンプ.本体にリバーブとディストーションが付いていて,いろいろ遊べるのでお得.Roland Jazz Chorusの対抗として作られたんだろうか? リバーブはクリアかつ結構エグめに効くのと,可視化のためインターバルに応じてインジゲータランプがぴこぴこ光ってかわいい.ディストーションもいかにもソリッドステート的なジャリっとした,表面が毛羽立っているかのような歪みなのだけど,普通にかっこいい音が鳴って楽しい.
sunnといえばFender Twinなどのコピーアンプを作っていたことで有名で,このアンプもなぜかトランスだけはFenderのライセンス品っぽくて面白い.sunnのアンプはイースタンユースの吉野さんやミッシェルガンエレファントのチバさんやモーサムトーンベンダーの百々さんが使っていたメーカーで,漠然とした憧れがあり,これを実際に所有して弾けるのは純粋に嬉しい.sunnのこの,遊びの無いロゴがまた良いですね.
中古で買ったんですが,これが3万円というのはよいですね.楽しい……
セサミ スマートロックをしばらく使ってみた感想
セサミ スマートロック本体 マットブラック 取付工具不要 スマートフォンでドアを施錠解錠 Google Home対応
- 出版社/メーカー: キャンディハウス(Candy House)
- 発売日: 2017/11/14
- メディア: Tools & Hardware
- この商品を含むブログを見る
これです.筆者の背景としてakerunは使ったことがある (使っている) というステータスです.
セサミを選んだ理由としては
- 他のスマートロック製品と比較して安い
- 買い切りモデル
というところなんですが,しばらく使ってみた感想を記します.
取り付けが楽
これは本当.取り付けはめっちゃ楽です.
動く
これは本当.ちゃんと鍵の開け閉めと時限オートロックは動くので必要最低限の機能は満足しています.解錠・施錠ログもちゃんと取れている.
安い
これもその通り.例えばakerunとかだと月15,000円程度のサブスクリプションモデルなんですが,セサミは買い切りモデルなのでデバイスを買ってしまえばあとは使い放題.とは言えやはりakerunの方がトータルの出来は良い感じがするし,ビジネスとしてもサブスクリプションモデルの方が健康そう……
あ,セサミデバイス自体も安いです.そこは良い.
アプリの出来が微妙
Googleアカウントを使ってログインしていて,そのセッション情報がアプリ内に保持されるんですが,このセッション情報が頻繁に揮発してしまう.鍵を開けようと思ってアプリを立ち上げるとセッションが滅亡していることがあまりに多く,その際にログインフローからやる必要があり非常にストレス.まったくスマートでない……
Bluetoothの都合
1つのセサミデバイスに対して,1つのクライアントデバイスしかBluetoothペアリングが出来ない……というのは仕方がないのでしょうが,しかし例えば複数人で飯行って帰ってきた時に「セサミに繋げねえ」「誰のデバイスが今コネクション持ってるの?」みたいになるのは正直微妙.この問題はWi-Fiアクセスポイントモジュールで解決するのだろうか.
管理者を複数人指定できない
「マネージャー」という比較的強い権限を持っているユーザを複数人アサインすることはできるんですが,「管理者」を複数人アサインすることが出来ないので不便.基本的に「管理者」じゃないと大半の設定が不可能なので,最悪管理者が死ぬとセサミデバイスごとゴミになる可能性がある (まあハードウェアリセットは可能でしょうが).
自動アンロック機能とリモートノック機能は使い物にならない
これマジで使い物にならないので一切の期待を捨てよ.バックグラウンドでセサミアプリを起動していてもBluetoothペアリングが上手くいかない (あるいはめちゃ遅い?) ので全く駄目.これもWi-Fiアクセスポイントモジュールで解決する?
まとめ
安い.最低限動く.以上.
付加価値とかを特に考えず,ミニマルで動くスマートロックを探しているのであれば良いのではないでしょうか.
とはいえアプリの出来についてはちょっと色々あるので,今後の改善に期待します.
ベースアンプ買った
ほんとうにいろいろなことがあり,120dBまで出しても良い空間が出現したので,これ幸いということでベースアンプを購入した.
ついに個人のアンプが導入された…… pic.twitter.com/fenah0BzR4
— 文化人 (@moznion) 2018年5月22日
ヘッドは昔から欲しかったアッシュダウン,それも真空管のやつで,これは元々はキャビネットマウントされていたものらしいのだけれど,前のオーナーがそのキャビネット部分を取り去ったらしく,金属むき出しの自動車のような見た目になっている.
キャビネットはグヤトーンの4Ωモデル.中古で2万円しなかったのだけれど,状態がかなり良い.きっと大事に使われて来たのでしょう.見た目がかなり渋くて格好良い.グヤトーンというのがまた良いですね.
軽く弾いてみた感じ,ローからローミッドにかけてが非常に豊かで弾いてて飽きがこない.パライコの効きも結構柔軟でなかなか遊べそう.やっと愛着を持てるマイアンプが手に入った……
それにしてもデカい音を出せる空間があるというのは良いですね.なお,このアンプの横にはドラムセットも設置されています.最高!
MacBook Proのバタフライキーボードについて
MacBook,本当にトラブル起きまくってつらすぎる
— ケチ (@moznion) 2018年4月23日
具体的に言うとNのキーが破滅して効きにくくなっている
— ケチ (@moznion) 2018年4月23日
PRAMクリア後のテクニックにより直ってきた pic.twitter.com/hNdgKnlHWc
— ケチ (@moznion) 2018年4月23日
PRAMクリア,暖機運転,筐体曲げによってNキーが復活してきた
— ケチ (@moznion) 2018年4月23日
やはり時代は物理(物理?)
— ケチ (@moznion) 2018年4月23日
今思うとこれ (キーの下にほこりやゴミが入り込むとキーストロークが効かなくなる) なんですかね.
「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の場合でも推論が効いて欲しい気がする?
--
そういえばTypeScriptで `function foo(): Promise<string> { return new Promise((resolve) => resolve('foo')) }` はコンパイル通るのに先頭にasyncを付けた `async function bar(): Promise<string> { return new Promise((resolve) => resolve('bar')) }` という形が通らないのはなんでなんだろう
— 田中角栄2.0 (@moznion) 2018年5月8日
`async function bar(): Promise<string> { return new Promise<string>((resolve) => resolve('bar')) }` は通る
— 田中角栄2.0 (@moznion) 2018年5月8日
そしてこの場合のコンパイルエラーの文言が割と不親切w
— 田中角栄2.0 (@moznion) 2018年5月8日
コンパイルエラーメッセージは以下の通り.
src/example.ts(2,3): error TS2322: Type '{}' is not assignable to type 'string'.
[追記]
GitHubにissueが上がっていた.
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されちゃっている……