丁寧に手を抜く

頑張らない努力

部屋のカーテンを白にしたら開放的になって癒やされた

カーテンをオレンジから白に変えた。

そしたら開放感がめちゃくちゃ上がって大満足。

f:id:craftzdog:20180206214815j:plain

清潔感も格段に上がって非常に良い。

f:id:craftzdog:20180206214831j:plain

購入したのは、無印の「ポリエステル綿変り織プリーツカーテン オフ白」という商品:

www.muji.net

光が柔らかく透けて、部屋がちょっと広く感じられるようになった。

f:id:craftzdog:20180206215246j:plain

遮光性と防炎性能は無い。

でも自分は朝日で自然に目を覚ましたいので、それでよかった。

満足。

窓際に緑を置きたいな。

桜丘カフェは遊び心のある内装でゆっくり寛げる @渋谷

渋谷は探せば探すほど良いカフェが見つかって楽しい街。

今回は桜丘カフェというところに行ってみた。「宇田川カフェ」の系列らしい。

f:id:craftzdog:20180205201059j:plain

内装はとても遊び心があって、薄暗い照明の中で電飾がキラキラしていて綺麗だった。

f:id:craftzdog:20180205195217j:plain

オーナーの大谷英政さんはこのカフェについてインタビューで次のように語っている:

「うちはマニュアルもないし、接客も隙だらけだったりするけど、とにかく好きなことをして生きていくってことが最優先。そのために一生懸命やっている」

このコンセプト、いいなぁ。

f:id:craftzdog:20180205195317j:plain

ベロア素材のシートの座り心地が良かった。

f:id:craftzdog:20180205195525j:plain

17:30頃を過ぎると照明が一層暗くなり、キャンドルが各席に置かれてよりムーディーに。

f:id:craftzdog:20180205195625j:plain

いい雰囲気の中で読書を楽しんだ。おすすめ。

ただ、喫煙席だったのでちょっと煙たかった。 食べログの情報では分煙とあるようだけど来店時は喫煙するか特に聞かれなかった。 隣の客が「禁煙席は有りますか?」と質問したら無さそうな回答をしていた。 なので実際は全面喫煙だと思われるので注意。


vim-javascript から tigris.nvim に乗り換えたら快適だった

最近neovimに乗り換えてから、javascriptの編集中にたまに固まる現象が発生して困っていた。 再現条件をいろいろ試したらどうやらvim-javascriptのインデント処理で無限ループしている様子。 という訳でvimの設定を見直してみることにした。

要件としては、インデントはPrettierでやるので、シンタックスハイライトだけ綺麗にやってくれればいい。

調べたら tigris.nvimというプラグインを見つけた。 これはnodeベースのプラグインで、Babylonを使って構文解析をしてハイライトを実現している。 Babylonはbabelプロジェクトの一部で、JSX, Flow, Typescriptを標準でサポートしている。 だからvim-javascriptのようにvimコミュニティが必死で新たな構文のサポートを追いかける必要がない。 ソースコードを覗いたらシンプルな実装だったので試してみた。

実際のハイライトは筋がいい印象。気に入った。固まる現象も消えたし、Flowシンタックスも問題ない。

f:id:craftzdog:20180204175654p:plain

インストール方法

自分はdeinプラグインを管理している。 tomlファイルに以下のように記述した:

[[plugins]]
repo = 'billyvg/tigris.nvim'
on_ft = ['javascript', 'javascript.jsx']
hook_post_update = '''
  let g:dein#plugin.build = './install.sh'
'''

インストールしたら、 :UpdateRemotePlugins を実行する。 neovimを再起動してインストール完了。

設定

オンザフライで構文解析してハイライトして欲しいので以下のように設定した:

let g:tigris#enabled = 1
let g:tigris#on_the_fly_enabled = 1
let g:tigris#delay = 300

おすすめ。

github.com

1週間ゆっくり動作を心がけたらいろいろ良いこと尽くめだった

先日、好きなことを長く続けるためにゆっくり動作を心がけるという記事を書いた。 それを一週間実践してみて感じたことをシェアしたい。

全体的に自分も周りも平穏な空気が漂って、充実度が増したという感じ。具体的には:

  • ゆっくりキーボードを打つと打鍵音が静かになって指が疲れなくなった
    • 丁寧に打つことを心がけると、力が抜けて疲れづらくなった
    • タイポしてもあんまりイライラしなくなって、集中力が長持ちするようになった
  • ゆっくり食べるとご飯がおいしくなった
    • ろくに咀嚼もせず流し込んで済ませていた食事が楽しみの時間に変わった
    • 単に栄養補給という側面だけでなく、精神的にも元気になれる
  • ゆっくり歩くと気分が落ち着いて他人の視線が気にならなくなった
    • 歩くことに集中するので他人がどうでもよくなる
    • ふといいアイデアが降ってきたりする
  • ゆっくり喋るとコミュニケーションが滑らかになった
    • 言いたいことが伝わりやすくなる
    • 相手もそのペースに合わせてゆっくりになるので、緊張感が和らいで丁寧にコミュニケーションが取れる (電話で顕著に感じられる)
  • ゆっくり仕事をすると結果的に効率が上がる
    • 今まで看過していた無駄な作業に意識が向く
    • 何度も同じ作業をゆっくりやるのは馬鹿らしいので自然と効率化しようとする

よい作法は総じてゆっくり動作であることにも、やはりそれ相応の理由があるようだ。

ちなみに実践する前にこちらの本を読んだ。精神科医による著書。

「ゆっくり力」ですべてがうまくいく (集英社文庫)

「ゆっくり力」ですべてがうまくいく (集英社文庫)

今後も続けて、更なる効能に期待したい。

最強の推薦エンジンを作る方法は情報発信する事

自分はエンジニアなので、なんでもコンピューターやアルゴリズムで解決できないかと考える癖がある。

情報取得問題についても昔からそうで、ナイーブベイズ分類器からジャッカード係数だのSVMなどと、いろいろ試したりした。

昨年からよくブログを書くようになって気付いたのは、情報を発信すればするほどこちらにも良い情報が舞い込んでくるようになるという事。

これは本にも似たような事がよく書かれていたから、もはや疑いの余地がない。

人は似た者同士で集まる傾向がある。こんな言葉もあるぐらいだ:

You are the Average of the 5 People You Spend the Most Time With

これはインターネットにおいても言える。 自分のTwitterのフォロワーには同業種の方がやはり多い。 情報発信することで自分と似た人が集まってくる。 それが思わぬ情報をもたらしてくれる事がある。

自分のブログでちょっと間違った開発テクニックを書いた時、読者の方が「こっちの方が正しいよ」と指摘してくださった。そのお陰でコストを節約できた事がある。他にも、知らなかった事が知れたり、面白い視点のコメントを見かけてなるほどと思うことがしばしばある。 Instagramカフェのレビューを沢山投稿していたら、「このお店好きそう」とメッセージで紹介してもらったこともある。 それはその人にとって、とっておきの情報だろうと思う。

これは言うなれば人力による情報推薦エンジンではないだろうか。 発信した情報に応じて、より良い情報を(もしかしたら)返してくれる。 間違いを訂正してくれたり、とっておきの情報をくれたり、新しい視点を与えてくれたりもする。

見方を変えると、情報発信とはインターネットという巨大なニューラルネットワークに接続して、「こんな情報が欲しい」と教師データを与える事とも捉えられる。

もちろん既存の検索エンジンや記事推薦サービスと全く置き換えられる訳ではない。 でも、それらが提供し得ないような質や種類の情報を得る事ができる。

だから特定の分野で真に情報通になりたければ、その分野について有益な情報を沢山発信すればいい。 それが自分専用の最強の推薦エンジンを作り上げる。 大枚叩いてGeForce GTX Titan Xを買わなくても出来る。

ちょっと良い食材を買うだけで幸福度がめっちゃ上がった

最近、食費をあまり切り詰めないようにしている。 スーパーで20%引きとか30%引きとかは鮮度が低いから出来るだけ避ける。 肉は国産でちょっと良いやつを選ぶ、など。

そしたら食事の楽しみが飛躍的に上がった。

一口目に思わず「うまっ」と言ってしまうぐらい美味しい。 凝った料理をしなくとも、シンプルな味付けでいい。素材の味だけで充分美味しい。 100円とか200円課金するだけでこんなに幸福度が上がるのなら全然コスパが良い。

普段は我慢してたまに贅沢をする、という考え方もあるかもしれない。自分もそういう考え方だった。 でも今は、口にかき込むだけの食事より、毎日「うまっ」と言える食生活の方が断然良いと思っている。 毎日のおいしい生活で活力を得れば生産性が上がって元が取れるし、お釣りで贅沢をすればいい。 さらに、質の良い食事で健康にもなれる。

あと、動画とか観ながら食べることをやめる。 自分の脳のリソースを食べることに集中させる。 すると美味しさが倍増する。 食感とか、舌触りとか、味の解像度が一気に上がる。

やってみると気づくのは、食べることに集中するのって結構難しいという事。 単純作業だから、気づくとつい仕事のこととか別のことを考えている。ケータイとか気になって触りがち。 雑念を振り払いながら味わうことに集中すると、気づけば頭がすっきりしている。 これって瞑想っぽい。 食事に集中するだけで、脳を癒す時間にできる。

ちょっといい習慣。

デジタルデトックスのためにTwitterアプリをスマホから消してみた

先日Momentという、一日のスマホの利用時間を計測してくれるアプリを紹介した。

craftzdog.hateblo.jp

このアプリのお陰で、日頃から平気で1日に2時間以上使っていることがわかった。

確かに、目が覚めたらとりあえずスマホを覗くし、寝る前も直前までスマホを見ている。 そしてもっとも利用時間が長かったがTwitterだ。 仕事の休憩中にも見るし、スーパーのレジで並んでいるときも見てる。

Twitterはスキマ時間を埋めてくれるというメリットがある一方で、なんだかそれがストレスになっているような気がしてきた。 自分がフォローしている方たちは同業者の方が多いので、技術情報とかビジネス関連のツイートが多い。 そうすると、休憩しているつもりが気づいたら技術ブログを読んでいたりして、全然休憩になっていないことが多々ある。 あと、自分の時間を自分の意志ではなく、たまたま流れてきた情報で反応的に過ごしている。これが結構しんどいかもしれないと思った。 YouTubeでたまたま関連に出てきたつまらない動画を見てしまったときに感じるイライラに似ている。

そういうストレスを少しでも減らしたい。 そのためにスキマ時間はスマホで何かをして埋めるんじゃなくて、積極的にボーっとして脳を休めるようにしたい。 だから軽めのデジタルデトックスとして、スマホからTwitterのアプリを消してみることにした。ついでにfacebookも消した。

アプリを消すだけでなんだか開放感がある。 しばらく続けて様子を見てみることにする。

渋谷の隠れ家的ジャズ喫茶「アプレ・ミディ」で上質な読書の時間を楽しんだ

渋谷と原宿の間に位置するジャズ喫茶「Café Après-midi」。

f:id:craftzdog:20180121202549j:plain

f:id:craftzdog:20180121202655j:plain

雑居ビルの5Fにあるこじんまりとしたお店。 平日の夕方に行ったら貸切状態。

f:id:craftzdog:20180121202720j:plain

マスターがコーヒーをじっくりと淹れてくださった。

ジャズを聴きながらゆっくり読書を楽しむには最高のお店。


  • Café Après-midi
  • 〒150-0041 東京都渋谷区神南 1-9-11 インタービルII 5F
  • 月曜休(祝日の場合は翌火曜)
  • 11:30〜23:30(日・木・土)
  • 11:30〜25:30(金)
  • 11:30〜19:00(火・水)※祝日の場合は23:30まで営業
  • 喫煙可
  • 食べログ
  • Google Maps
  • ホームページ

インスタで訪れたカフェを紹介中!

www.instagram.com

赤外線から気温や気圧まで取れるRaspberry Pi用のセンサーキット「ANAVI Infrared pHAT」が届いた

一ヶ月前に買っておいたRaspberry Pi、まだ開封したっきりそのまんまだった。

f:id:craftzdog:20180119210537j:plain

やりたいことは、Google Homeを使った音声によるエアコン操作。

部屋に設置するにあたって、完成物はできるだけ目立たないようにコンパクトにしたかった。 で、はんだ付けいらずのセンサーキットをクラウドファンディングで見つけたので早速注文してみた。

年末のホリデーシーズンでアセンブリのための部品の配送が遅れたらしく、今日やっとブルガリからはるばる届いた。それがこちら。

f:id:craftzdog:20180119210218j:plain

ANAVI Infrared pHAT」という製品。

赤外線センサー以外にも、気圧や気温、湿度、明るさのセンサーもセットで付属したAdvanced Kitというものを選んだ。 はんだ付けいらずでGPIOにぶっ刺すだけで使える代物。アツい。

近いうちに早速組み立てて遊んでみたい。

Momentで一日のスマホの利用時間を計測したら想像以上に使ってることが判った

今朝DHHのツイートだったかで知ったMomentというアプリを早速使ってみた。 これは、一日のスマホの利用時間を自動で計測してくれるアプリ。

Moment – Screen Time Tracker

Moment – Screen Time Tracker

  • Kevin Holesh
  • ヘルスケア/フィットネス
  • 無料

電車で周りを見渡せばみんなスマホの画面に食い入っているこの現代、いったい自分は何時間そこに費やしているのかがこれで可視化できる。

実際やってみたら夜9時の時点で3時間9分だった。そんなに使った実感が全くない。衝撃。

こんな感じで確認できる。

f:id:craftzdog:20180118211823p:plain

使いすぎだと文字が赤くなる。

どの時間帯にどれだけ使ったのかがタイムライン形式で見られる。

f:id:craftzdog:20180118211843p:plain

今日はオフだったので、スマホを見た時間はいつもより多いと思う。

これは便利。 スマホを使っている時間が全て無駄とはいえないけど、ツイッターをだらだら見ている時間とかを減らす意識の喚起に役立ちそう。

しばらく使ってみる。

Moment – Screen Time Tracker

Moment – Screen Time Tracker

  • Kevin Holesh
  • ヘルスケア/フィットネス
  • 無料

コード整形をStandardJSからPrettierに乗り換えたら捗った

f:id:craftzdog:20180117173750p:plain

eslintは --fix オプション付きで実行するとコード整形してくれる。 ここ1年強、 standardjs を好んで使っていて、そのルールに従って整形していた。

最近Prettierを知ったので早速導入してみたら、以下の理由ですぐに気に入った。

  • 軽い
  • 行が長くなった時でもいい感じに改行してくれる
  • 設定でstandardjsっぽく調整できる

Prettierのいいところはコード整形に特化している点で、コードのクオリティには一切感知しないところ。例えば no-unused-varsとかno-extra-bindとか。 standardjsはLinterルールセットとしていろいろ入っているから結構カオス感がある。 コードのクオリティは plugin:flowtype/recommended とか plugin:react/recommended に任せれば充分。

現状の設定

プロジェクトに応じてもちろん異なるけど、.eslintrc.yml には概ね以下を記述している:

root: true
plugins:
  - react
  - flowtype
  - prettier
extends:
  - plugin:react/recommended
  - plugin:flowtype/recommended
  - plugin:prettier/recommended
parser: babel-eslint
env: {}
rules:
  prettier/prettier:
    - 2
    -
      trailingComma: none
      singleQuote: true
      semi: false

vim

ale を使って保存時に自動で eslint --fix が走るように設定している:

let g:ale_linters = {
\   'javascript.jsx': ['eslint', 'flow'],
\   'javascript': ['eslint', 'flow']
\}
let g:ale_fixers = {
\   'javascript.jsx': ['eslint'],
\   'javascript': ['eslint']
\}
let g:ale_lint_on_text_changed = 1
let g:ale_lint_on_save = 0
let g:ale_lint_delay = 500
let g:ale_fix_on_save = 1

Apple初売りで買ったiMacが届いたので四年前のiMacと性能比較してみた

というわけで、新しいiMac 5K 27-inch, 2017モデルを入手。

初売りで注文が殺到したためか、配送が通常よりも遅れて昨日やっと届いた。中国からの発送だった。

f:id:craftzdog:20180116115154j:plain

開封すると本体がめちゃくちゃ冷えていて、寒い中海を渡ってきた様子が伺える。

f:id:craftzdog:20180116115219j:plain

背面のAppleマークの周囲に霜ができている。

メモリ増設で24GBに

起動の前に事前に購入しておいたメモリを装填する。

f:id:craftzdog:20180116115509j:plain

裏の蓋を開けまして・・

f:id:craftzdog:20180116121701j:plain

デフォルトで4GB x 2が入っている。

f:id:craftzdog:20180116121747j:plain

そこに8GB x 2をブチ込む。

f:id:craftzdog:20180116121855p:plain

素晴らしい。

起動

新規PCとしてセットアップしたので、完全に移行が完了するまで暫くは二台体制で行く。圧迫感がすごい。

f:id:craftzdog:20180116121953j:plain

左が新型。外見は全く変化なし。

さて、肝心の性能は以前のiMac Late 2013モデルと比べて如何ほどに改善しているのだろうか。

ベンチマークでの差はまあまあ

新旧のスペックは以下の通り。両方ともCPUなどをカスタマイズで強化している:

Late 2013 2017
Processor 3.4 GHz Intel Core i5 4.2 GHz Intel Core i7
Memory 28 GB 1333 MHz DDR3 24 GB 2400 MHz DDR4
Graphics NVIDIA GeForce GTX 775M 2 GB Radeon Pro 580 8 GB
Storage 1.12TB Fusion Drive 3.12TB Fusion Drive

Geekbenchベンチマーク計測。結果:

Single-Core Score Multi-Core Score OpenCL Score
Late 2013 4165 12230 29868
2017 5664 19749 122069
スコア差(倍率) 1.359 1.6147 4.0869

CPUはマルチコアで約1.6倍。 グラフィック性能の向上が4倍に飛躍している。さすがVR Readyと謳うだけある。

CPUの性能はスコアだけを見るとマルチコアで1.6倍程度と言う結果になった。

アプリのビルド時間もまあまあ短縮

InkdropというMarkdownエディタを普段開発しているので、そのアプリのビルド時間がどれくらい短縮されるのか計測してみた。

実務のスピードが改善しないと買った意味が無いのだが、果たして・・

デスクトップ版 (Electron製): 1.5倍

time コマンドによるビルド時間の計測結果:

real user sys
Late 2013 102.76s 71.78s 21.93s
2017 66.97s 55.18s 16.12s
時間差(倍率) 1.534 1.300 1.360

確かに速くなったけど、劇的!という訳でもなかった。こんなもんか。 大体1.5倍程度の改善が見られた。 概ねベンチマーク結果通りと言える。

iOS版 (React Native製): 1.6倍

iOSXcodeプロジェクトをスクラッチコンパイルした時の所要時間を計測してみた。

1回目

ビルド所要時間
Late 2013 2分38秒
2017 52秒
時間差(倍率) 3.0

2回目

ビルド所要時間
Late 2013 1分10秒
2017 42秒
時間差(倍率) 1.6

ディスクI/Oが改善したためか、初回のコンパイル速度がものすごく速い結果に。 2回目以降は、やはり1.6倍程度の速度で、こちらもベンチマークの結果に倣う感じだった。

体感でもなかなかのスピード

流石に四年経っているのでこれぐらいは高速になっていてもらわないと困る。 とはいえ、2倍も3倍もなった訳でもなかったのが正直ちょっとだけ期待外れだった。 それでも、ディスクI/Oやコンパイルの速度は体感でも充分に速くなったと感じられるので、よしとしよう。

これからよろしくな。

人形町「花」の親子丼が最高にふわとろだった

正月にお参りがてら寄った親子丼屋さんが超絶美味しかった。

 

人形町、地下鉄のA3出口をでて数分の場所にある。

 

末廣神社の前を通りがかったら神社に長蛇の列ができていた。初詣かな、小さな神社なのに。

なぜか飛騨高山からはるばる来たという獅子舞が練り歩いて、参列者にお祓いをかけていた。

こんなところでお目にかかれるとは。

 

お店は小料理屋のような、綺麗な佇まい。

 

早速「鳥玉手箱」をお願いした。

櫃まぶしのようにいろいろな薬味やお出汁をかけたりして味の変化を楽しめるようになっていた。

 

f:id:craftzdog:20180114195700j:image

 

うまい!

 

鶏肉はプリプリ、卵は濃厚。アツアツ。

山椒をかけるとさらに倍うまい。

 

This is 至福。

 

お近くを通りがかった際にはぜひ訪れてみてほしい。

 

———

百均でデスクのコードを整理したらいい感じにスッキリした

パソコンまわりの電源コードは散らかりがち。 床に直接置いていると掃除がしづらい。

机の天板が木製なので、そこにカゴを取り付けてコード類をそこに入れてみることにした。

使ったのはダイソーで買ってきた以下の3つ:

  • スチール棚のカゴ
  • フック
  • 二重リング

出来たのがこちら:

f:id:craftzdog:20180113120932j:plain

いい感じ!

素手で取り付けたので、痛くて最後までネジを回しきれなかった。ペンチを使えばよかったけど、案外しっかりしてるので取れる心配は無さそう。

f:id:craftzdog:20180113120956j:plain

コードを束ねると更にスッキリしそうだけど、近々新しいiMacが来る予定だし別にそこまでしなくてもいいかなと。

f:id:craftzdog:20180113121012j:plain

掃除がしやすくなりました。めでたし。


P.S.

日記系のネタはこちらのブログに投稿してみることにした。

メインブログはあくまでアプリのマーケティングのための情報発信。 こちらはライフログ、という感じで分けていきたい。