iPhoneは7, 8, SE2, SE3を愛用している。持ちやすく、打ちやすく、指紋認証も使いやすい。
昔はカバーやケースが嫌いでいつもむき出しで使っていたが、やっぱり多少はつけたほうが落としても傷つきづらいのは確か。 このiPhone 4.7インチサイズ用のカバーは、過去から何個も試していたが、おそらくこれが決定版。
ぴたりとはまり、頑丈で、邪魔せず、薄く、見た目も気にならず、しかも安い。
iPhoneは7, 8, SE2, SE3を愛用している。持ちやすく、打ちやすく、指紋認証も使いやすい。
昔はカバーやケースが嫌いでいつもむき出しで使っていたが、やっぱり多少はつけたほうが落としても傷つきづらいのは確か。 このiPhone 4.7インチサイズ用のカバーは、過去から何個も試していたが、おそらくこれが決定版。
ぴたりとはまり、頑丈で、邪魔せず、薄く、見た目も気にならず、しかも安い。
ついカッとなって、吉祥寺のヨドバシカメラで27インチの4Kモニターを購入。
コスパ抜群。ヨドバシ限定モデルらしい。 https://www.yodobashi.com/product/100000001007494612/
スピーカーは2Wのものがいちおうステレオで付いているが、超しょぼい。 これなら無いほうがよい。これが唯一の弱点。
Notionのデータベースをそれなりに使っていると、レコードごとにユニークIDを振り出してくれる機能が欲しくなってくる。
数日前にも、複数人で作業分担して進める工程進行表を作って使っていて、unique id機能が欲しくて悶絶した。
と思っていたら、今日みたらIDというプロパティが生まれてるじゃないですか
下の例では、工程番号という名前の「ID型」プロパティを作り、一番左に移動している。プリフィクスには「ODEN」を指定している。
行をつくるたび、ODEN番号は勝手に増えてくれる。 行の番号を入れ替えても、ソートしても平気だ。 行を消したらちゃんとその番号は欠番になる。
Notionのリリースノートにはまだ載ってない感じ。サイレントリリースかな。
あと、Notionのデータベースには「名前」のテキスト型が必須で、おそらくこいつが中でindexになってる気がするのだが、いっつもこいつが邪魔感がぬぐえないので、ID型を設けたデータベースからは「名前」カラムを削除可能になるとすっきりするんだけど、後方互換性の面で難しいのかもなー
コスパよくお手頃なiPad一式を考える。
iPad Proというラインナップがもっとも高性能だが、12万以上する。
iPad Airも薄くて使いやすいのだが、9万以上する。
比較的手が届きやすいのは、単なるiPadシリーズ。つまり無印iPad.
いま売っているものはiPad(第10世代)と呼ばれるものだ。それでも7万ぐらいする。
iPad miniでも8万ぐらいする。無印iPadよりむしろ高い。あともちろん画面が小さい。老眼にはしんどいし、後述するキーボードとの合体もしづらい。
コスパよいのは、無印iPadの第9世代。これもいちおう現行商品であり、新品が生産され、売っている。
5万ぐらいから買える。 ときおり割引販売されていることもあり、たとえば3/11〜12なら39,800円で買えるところがある。
ヤマダデンキで、本日11日から2日間「iPad(第9世代)」が1万円引きのセール - ケータイ Watch
→ 残念、売り切れた iPadセール|ヤマダデンキ
メモリは一番小さい64GBで充分だろう。
ネット接続もWi-Fiモデルで充分だろう。出先でネットに繋ぎたいときはiPhoneでテザリングしてやればいい。
iPadには外付けキーボードをくっつけることができる。
選ぶならApple純正の外付けキーボードがいいだろう。 本体を保護するカバーにもなる。
キーボードは、iPad本体と対応しているものを選ばないといけない。
無印iPad第9世代に対応しているのはSmart Keyboardという名前のもの。
無印iPad第9世代で利用できるのは「Apple Pencil(第1世代)」というものだ。
プロのソフトウェアエンジニアとしての心構え、思考法、コミュニケーション、マネジメントするほうされるほう、といったあたりを扱った本だと思って購ったが、前半半分ちょっとが結構具体的なTDDの実践法で、その後は若干駆け足でコード品質などについての話。
TDDはクラフトマンシップの具体的手法の一つに過ぎないと思うので、あれ、結構各論の話が始まっちゃったな、本の半分ぐらいになってもまだ続いてるな、おっと後半で他の話も採り上げはじめた、終わった。という読後感。
この本が目指すものはとてもよいと思うのだが、なぜそうすると良いのかの論理固めがまずあり、その実践手法の紹介もひととおりあり、という構成のほうが良かった気がする。
この本を読むぐらいの人であればTDDはある程度知っているだろうし、詳しく知りたければTDDの本を読むだろう。著者は、ついうっかりTDD実践について書きすぎてしまい、もっと網羅性やガイドラインとしての構成が必要なことに気づいたが、ちょっと遅かった。のではないだろうか。
1995年ごろ (Windows NT 3.5にWin32sサブシステムが追加されて3.51になったころ), IRIX + ANSI CからVisual C++に乗り換えることになった僕らは、職場でいわゆるGOF本を読まされた。
しかし文体と内容が高踏的で、語られている設計手法を自分ごととして理解するには知見も経験も不足しており、どれをいつなぜ使うのかもピンとこなくて、デザインパターンとはなんだか難しいものだなぁ、という読後感のみが残った。読後感なんていうほど立派なものではなく、食べきれなかったご飯のあとのげっぷみたいなものだ。
当時僕らにGang of Four本を読ませてくれたほうの立場を考えると、若手にC++開発環境を与えたはいいが、でっかいクラスになんでもいっぱい詰め込んだり、それもつぎはぎのコードでぶくぶく膨らんで…… あとあと自分たちみんなが辛くなることを分かってもらいたい…… といった事情が想像できる。しかし、この手の課題のあるべき設計論だけをエッセンシャルに記されても、学ぶべき人たちには理解や体感のためのとっかかりが難しいだろう。まさに銀の弾はないのだ。
この本には、そういった課題を起こす人たちが咀嚼でき理解しやすいよう、 具体例や比喩をふんだんに載せ、こういうコードはこういう問題があるから後々よくないんだよ、こうすると良いんだよ、というアドバイスがぎっしり詰まっている。地に足がついている。先人たちの理論へのreferも適切になされている。
大人には、「あちゃー」というコードに接した時、 そのコードを書いた人と同じ目線に立ち、コード改善とスキル成長を助ける責務がある。 そのとき、自分の経験知見のみを出発点にしてしまうと、結局自分の主観の押し付けになってしまったり、issueごとの対処の比較ができなかったりブレも生じてしまうだろう。
このあたりのキャリブレーションをしないとな、と思っていたが、
2022年にまたデザパタ本を読むのはヒストリカルすぎるので、手頃な一冊を求めていた。
文中で示されているサンプルコードはJavaになっている。
いまJavaがどの程度前線で使われている武器かというとなんともだが、
OOPにまつわる諸問題を汎用的に例示するなら適切だ。
practicalなpesudo codeといったところだ。
多忙に紛れて積ん読になってたのですが、読了。
読むというより、よくも漏れなく横断して網羅したなあ、すごいなあと。
ほんとにすべてMECEに書いてある。
自分もイントレプレナーのインキュベーション (社内起業家の育成支援) のため、ゼロイチ、イチヒャクの一気通貫のフローをまとめたり資料化したりしたことがあるので、読みすすめるにつれ、だよね、ですよね、うわ大変、この知見をシリアライズする気合と持続性は凄い、と思いました。
これは体系・辞典みたいな一冊なので、ふむふむと読んで覚えていく読み方では、体力知力が続かない。要点が400ページ列記してある濃度の本だ。「コレはあの本のあの辺に書いてあるに違いない」という、外部インデクスの勘所だけまずは体に入ればいいだろう。それで十分強くなる。
大学とかで半年かけて輪講とかもいいかも。おじょじょ先生やった!
リモートワークのおともに、手ごろに手元にいい音を。
また昨今、公共交通機関や人のいるところを避ける流れになり、自宅からもくもく作業をしている。
一人で部屋でもくもく作業をしていると、心地よく上向いた気分にするために、周辺を心地よく音楽で満たしたい。ひとり作業なので、まわりの音声から自分を守る必要はない。ヘッドフォンのたぐいは必要ない。単に心地よい音で包まれればよい。
Google Nest Miniは自宅にすでに2個あるが、あれは自宅に音と便利をもたらすものであって、自分を音で満たすためのものではない。
MacBook系のスピーカーはノートPCとしては優れていると思うが、音で包まれたいというニーズを満たすほどではない。昨年末、日立の「白くまくん」のいいやつを買ったときのコジマ電気のポイントがあったので、所要のついでにちょっと店頭でスピーカーを見てみる。
SonyのSRS-XB23を買ってきた。いわゆるBluetoothスピーカーである。
ちょうど500ml程度のペットボトルぐらいの大きさ。円筒。
大きさ、ほどよい。重さもほどよい。色は五色から選べる。
いちおう横置きすればステレオスピーカーとしても使える。
「重低音を響かせるExtra Bassモード搭載」とのことで、円筒形の左右両端にあるバスユニットがびんびん震えているのが手を当てればすぐわかる。
出力は14Wで、一人で一戸建てで鳴らすには充分。これ以上でかいものを買っても近所迷惑だし持て余す。
満充電しておけば12時間保つらしい。僕のiPhoneつながるのかなぁ… みたいな人の車ですごす一日みたいなときにも重宝しそうだ。充電はいわゆるUSB-Cでできる。
実際に使ってみて感じたことは
あとは、防水なのでお風呂でも使える、2台買えば左右設置のステレオ再生もできる、マイクも付いてるので音声電話にも使える、といった機能もあるが、まだ利用していない。
実売価格は11,000円程度である。けっこうValue for moneyで満足。
結局、もう1台を色違いで手に入れて、ステレオペアにして楽しんでいる。
2台組をステレオペアに設定するためには、まずは1台めをBluetooth接続し、Sony謹製Music Centerアプリでもう1台を指定してSpeaker Groupを構成し…… と若干手間がかかる。この構成には十数秒の時間を要してしまう。さらに、せっかく構成したステレオペアなのに、別のiPhoneやMacからうっかりどっちかのSRS-XB23にBluetooth接続してしまうとステレオペアが解散して単なるBluetoothスピーカー2個になってしまったりする。
なので結局、機種変して退役したiPhoneを1つ、設定やアプリなど何もかも初期化し、SpotifyとMusic Centerしかアプリ入ってませんという状態にし、SRS-XB23ステレオペア専用機にしている。これがまた、むちゃくちゃ快適。
Joplinを試してみている。なかなか良さそう。
Evernote Legacyから乗り換え、しばらく暮らしてみることにする。
上の過去記事にあるとおり、Evernoteは2011年から有料コースで使い続けていたのだが、昨今の性能品質低下がしんどい。出先でスマホでメモを検索して閲覧するという、canonicalな操作がかなりできない。
サービスやアプリの運営っていろいろあるものだし、そこへの敬意なしにああだこうだ文句ばかりいうのは好きではないのだが、急場の避難として提供されているはずのEvernote Legacyを仕方なく使いつづけ、すでに1年経っている。このあいだに気付けた改善はない。macOSでの利用に限ればEvernote Legacyでしのげているが、このまま使い続けるのは今後が暗い。
乗り換え先をどうしようと考えていたが、最近急浮上してきたのがJoplin
Joplinのデータ保存先は、local file systemをはじめ、Nextcloud, Dropbox, OneDrive, S3などいろいろ選べる。作者自身が提供しているJoplin Cloudというバックエンドもある。
だいたいの場合はこれらでいいと思う。自力であれこれ構築したり運用したりするのはもうold schoolだ。金で解決できるならそうしたい。
また、僕はもういい歳で、子どもたちもほぼ社会人だ。このステージになると、僕が死んだ後の家族が僕なしでデータ遺産をretrieveできるかという点も結構でかい。高いITスキルがなくとも、必要なcredentialさえあればアクセスでき、金さえ払えばサービスが提供されるバックエンドが望ましい。
だが、僕のデータは全部で10G近くあり、かつ、まずはトラブル時に詳細まで追っていけることも確保したい。なのでまずは自分でEC2にWebDAVサーバをUbuntu 20 + apache2 + Let's Encryptで作った。金のみで解決できる同期先は、いろいろ安定してきてエコシステムが成熟してからでもよい。本当はS3を使いたかったけど、まだBetaと書いてあるので見送った。
Joplinは、DAV上に大量の*.mdをフラットに作る。ちょっとMaildir感覚。Evernoteからデータ移行したらいきなり2万ファイル以上フラットに並んでしまい、今後のファイルシステムの負荷が気になったが、そうトラバーサルがかかることもないだろうし、ext4ならまぁいっかー。もうちょいpathがhashしてあってもいいかな、とは思ったけど、そこはWebDAVの裏側が担当してもいいことかもね。WebDAVに現れるファイルツリーと、その実体のファイルツリーが同一の写像である必要はない。Joplinがわの責務としては構造はシンプルなままでよい。
まずはmacOS版Joplinアプリをインストールし、Evernoteからのデータ移行をする。
Evernote側では、ノートを複数選び、enexで保存し、そのenexをJoplinで ENEX - Evernote Import File (as Markdown) する。
Evernoteでのenexエクスポートは、多数のノートがまとまったノートブック単位で、ノートブック名をファイル名としたenexとして保存していくと作業効率がよい。ただしノート数が多いとエクスポートに失敗することがある。200個程度でダメなこともあるし、数千個で問題ないこともある。ここは地味に着々とやっていくしかない。
Joplin側でのenexインポートは一切ノントラブルだった。
Joplinアプリは、macOSの他にもWindows, iOSなど試してみた。いずれも良さそうだ。
端末版は、nodeまわりのあれこれでインストールできず。いつかヒマができたら。
iOS版は、iPhone 8, iPhone 11, iPad Air 2いずれで試しても、設定画面にあれこれ入力したあと、画面が崩れてほぼ真っ白になって、戻れなくなる問題がある。いずれ時間ができたら自分でも追ってみたいが、とりあえず回避するには
これで初回の同期がはじまってくれる。
まあまあサクサクで悪くない。キーバインドをEmacs風に設定できるのも良い。Markdownの書き心地もなかなかだ。もし不満だったら任意のエディタを指定できる。
Chrome & Firefox extentionとして用意されているWeb Clipperも程よい。
同期もいまのところノントラブル。
ただiOS版はバックグラウンド動作ができず、裏でデータを同期しておくことができない。また、デフォルト設定だととにかく全てのデータを手元に同期してしまうので、データ量も通信量もなかなかのことになる。このあたりのlazynessというか都合の良いチューニングは全盛期のEvernoteは優れていた。Joplinでは、ノート数ぶんのMarkdown全数をローカルに同期してしまうことからは避けられないのだが、添付ファイルは「自動」または「手動」にしてオンデマンドで同期することをおすすめする。
Markdownプレビュー領域には以下のCSSを当てた。
/* For styling the rendered Markdown */ body { line-height: 1.7; font-size: 14px; } ol li, ul li { line-height: 1.4; }
Joplinというアプリの名前は、作者が好きなピアニストの名前からだそうだ。女性ロックシンガーの名前からではなかった。いいところで早逝してしまうことはなさそうだ。サイトにはDonation手段がいくつか載っているので、ベンツを買ってあげることはできないが、GitHub Sponsorぐらいならしてみようかな。