yak shaving life

遠回りこそが最短の道

世界史を変えた植物 を読んだ

なぜ読もうと思ったか

家族に勧められて。

どのような本か

Amazonの紹介文が面白いのでそのまま引用します。

私たちが知っている歴史の裏側で、植物が暗躍していたら……

古代の文明が植物によって生みだされたとしたら、どうだろう。 近代社会を生みだした産業革命の原動力となったものが、ある植物であったとしたらどうだろう。 世界一の大国であるアメリカの隆盛の陰に、ある植物があったとしたらどうだろう。 アメリカの南北戦争やイギリスと清とのアヘン戦争の陰に、植物の陰があったとしたらどうだろう。 人類の歴史は、植物の歴史でもある。 本書では、そんな植物から見た世界の歴史をのぞき見てみたいと思う。 (「はじめに」より)

書評というか感想

すごい面白かった。

一章につき一つの植物という章立てになっていて、歴史上重要な出来事と植物の関係性について解説がある。植物についての豆知識的な面白さもあるし、植物や農業が人類の発展においていかに重要なファクターなのかが丁寧に説明されていて勉強になる。

人間が植物を育てているのか、はたまた我々は植物に育てさせられているのか…?という若干オカルトめいた語り口もコミカルで面白い。

植物/農業が富を生み、国を作ったという視点は今までなかったけど言われてみれば確かにという感じ。肥沃な土地より痩せた土地で農業が発展するとか、農業と奴隷と戦争の関係、唐辛子と胡椒はなぜ両方ペッパーというのか、なぜヨーロッパで紅茶が流行ったのか、コーヒーを広めたのはイスラム教徒、ドイツ料理にジャガイモが多い理由、トウモロコシは宇宙から来た(?)等々、とにかく興味深い話題のオンパレードだった。

読みやすく、面白く、勉強にもなる非常にオススメな本です。

著者の稲垣栄洋氏は農学部の教授らしい。この人の他の書籍も読んでみたい。

KAWS TOKYO FIRST と 横尾忠則 The Artists に行った

順番的には先に21_21に行って横尾忠則 The Artistsを観てからKAWS TOKYO FIRSTの方へ行った。六本木はええところですなあ。

横尾忠則氏についてはあまりよく知らないのだけれども、若い頃のアングラ演劇ポスターみたいな印象が強い。毒々しい色の裸体の女みたいな。その程度しか知らずに観に行ったのだが、なかなか良かった。著名なアーティスト、写真家、デザイナーなどの肖像画がずらっと並んでいるのだけど、全て違った画風で書かれていて面白かった。北野武宮島達夫とかちょくちょく日本人も居た。ここにいる人たち全員わかったら相当アートに詳しいと言えるだろうな〜と思いながら眺めていた。僕は10分の1も分からなかった。無知。

KAWS TOKYO FIRSTは大変賑わっていて、長い入場列ができていた。当日券買えるかわかりませんとまで言われた。買えたけど。こちらは作品数も多いし大きな作品もあって分かりやすく凄かった。KAWSについてもあまりよく知らなかったのだけど、彼のキャラクターにはCompanion、BFF、Chumという名前があるようだ。BFFて。Best Friend Foreverて。個人的にはBackend For Frontendを真っ先に想像するので職業病だなと思った。

KAWSは大衆的キャラクターを多用しているので子供も喜んではしゃぎ回っていた。珍しく写真撮るときのポーズとかもしてくれたしキャラクターは偉大だなあ。アートと一般人(僕みたいな)の接点を増やしてくれるという意味でも良い。しかし、こういうのって権利関係とかどうなってるんだろう。分からんことだらけで楽しいなあ。

Pixel 6 祭りに乗るか否か

Pixel 3 を使っている。Pixel 3 は本当に素晴らしいデバイスで、未だにほとんど不満がない。いや、Google Storeで買った後すぐに値下げしやがったことについてだけはハラワタ煮えくりかえってますけどね。許すまじ。2万ですよ2万。いきなり2万値下げっておかしくない?値下げの直前に買ったんですけど?なんで先に買ったユーザになんの保証もないじゃコラ。せめてなんかクーポンくれるとかさあ、なんか…あるやん?何にも無しってのはちょっと…辛いやん?

というのはさておき、デバイス的には本当に素晴らしくて、ちょっとメモリ容量が少ないのとカメラのメモリ消費が異常なのでカメラを開くと全てのアプリがkillされてしまう*1けどまあ大して困っていない。動作の軽快さ、カメラの画質、背面指紋センサ、本体のサイズ感、質感、見た目。どこをとっても個人的には歴代ベストに近い端末だと思っている。

いるんですが、電池の消耗だけはどうしようもなく一日外にいると厳しい感じになってきたのと、電源ボタンがイカれ始めていてたまに押しっぱなし状態になってしまい勝手に再起動を繰り返す困ったちゃんなのでそろそろ買い替え時期かなと。Pixel 5aが出たときにこれは買いかなーと思っていたんだけど、割とすぐPixel 6の噂が出始めたのでどうすっかなーというところ。

Pixel 6はかつてないくらいマーケティングが激しくて盛り上がっているように見える。リーク記事とかも多すぎて故意にリークしてるとしか思えないレベル。しかしGoogle Tensorとやらがどのくらい凄いのか分からない、というか不安の方が大きい。フラッグシップ端末を大枚叩いて買ってまで人柱になりたくないなあ。あとはPixel 3 値下げの件もあり、発売してすぐ素直に手が出せないというのもある。あれは…本当にトラウマなんですよ…。

というわけで、このビッグウェーブに乗ってPixel 6買っちまうか、でも正直5aで十分な気もするんだよなーというので悩んでいる。5aはワイヤレス充電できないこと以外は良さそうだけどなあ。まあ6が発売するまでは様子見かなー。あと身近な人がiPhoneユーザばかりなのでPixel話ができないのが悲しい。日本Pixelユーザ会(JPUG)みたいなものが必要とされている…。いや、されてないか。とりあえずPixel 6、要チェックなのでAndroidユーザの皆さんは楽しくお祭りに参加しましょう。ワイワイ。

*1:rebuild.fmでもそのような話があった気がする

Spring BootでJS/CSSのバージョニングをするための最小設定

ググってもなんか古い情報とかが多くてうまく見つけられなかったのでメモ。Spring Bootのバージョンは2.5.x

基本的に、application.yml / application.propertiesspring.web.resources.chain.strategy.content.enabled プロパティを追加するだけでできる。

spring.web.resources.chain.strategy.content.enabled = true

これだけで良い。少し古いバージョンだとspring.resources.chain.strategy.content.enabled (webがない)なので注意。

バージョニングを適用するファイルパスを指定したい場合は spring.web.resources.chain.strategy.content.paths を追加すれば良い。

これだけなので本当に簡単なのだが、なぜかうまくJS/CSSにバージョンが付与されずハマったことがあった。原因は spring.web.resources.add-mappingsfalseになっていたからだった。ここだけ注意が必要。

絶対に挫折しない日本史 を読んだ

なぜ読もうと思ったか

日本史に苦手意識があるので、読みやすそうな本を読みたかったし、挫折したくないので。

どのような本か

日本の通史を、固有名詞を限りなく省いた形で書いた本。前半でざっくりした流れを説明し、後半ではテーマごとにまた一から通史を書くというのを8回繰り返している。今まで見たことのない形式。

書評というか感想

挫折せずに最後まで読めたのでよかった。結構さくっと読めました。

固有名詞をざっくり省いたということで、歴史上の人物とか建物とか律令とかそういうものの名前がほとんど出てきません。逆に現代の人物や作品の固有名詞が喩えとしてバンバン出てきます。とにかく親しみやすい内容にしようという著者の努力が伺えて好印象。ドラえもんの喩えとか分かりやすかった。

前半よりも後半のテーマが面白くて、個人的にはコメ、土地、家族あたりが興味深かった。米が主食になったのって意外と最近なんですねえ。家制度とかもどういう風に始まったのかとか全然知らなかった。男性優位社会がこうやって形成されていったんだな〜という大きな流れが理解できた気がする。

高校のとき日本史の授業はなかったし、小中で学んだ内容もさっぱり記憶がなくて日本史というものがどうしても好きになれない…というか分からなすぎて興味が持てないという感じだったのだけれども、最近は仏教について学んだり大河ドラマを見たりして少しずつ日本史の復習をしているので、この本も非常に役立った。僕みたいな日本史弱者には良い本だと思う。逆に歴史好きの人が読む本ではなさそう。

あと、著者の政治的指向がちょくちょく出ている感じがするので、そこに共感できなかったりリベラル嫌いだったりすると読むのが辛いかも知れない。まあ不快に思ったとしてもそういう部分だけ読み飛ばせばいいと思いますが。歴史の解釈にはどうしても主観が入るので難しそうだなと思いました。まる。

github.devがめちゃ便利で感動している

いや、感動は言いすぎかもしれないけど。良い。

最近ペアプロならぬペアコードレビューをやったりしていて、そういやgithub.devって使ってます?的な話をしたところ使ったことがないというのでとりあえず見せてみようと思って何気なく「.」キーを押したところ、えっ…PRの差分めっちゃ見やすくない!?なにこれ良くない?良くなくない!?と一昔前のギャルみたいな喋り方でキャピキャピ盛り上がりました。すみません嘘です。盛り上がったのは本当です。

まあ従来のGitHubのUnified Viewで十分なケースもあるけれども、Side by Sideでみたいなーと言うときもあり、でもSplit Viewはなんか見づらいんだよなーと以前から思っていた。そこでgithub.devですよ。PRの差分もこれで見れるとは知らなかった。手元のIDEで見ているかの如き良体験。流石にコードジャンプとかはあまりできない(ちょっとはできる)けど、とにかく見やすい。ファイルツリーが使えるのもいいですね。MacだとOption + ZでWord wrapするのがオススメです。

もうこれなしでは生きていけないくらい使っているんだけど、不満を挙げるとすれば「.」を押したときカレントタブじゃなくて新しいタブで開いて欲しい。github.comでしかできないことも多いので両方見たいんですよ…でも.devの方は開くまでだいぶ時間かかるんでブラウザバックとかしたくないんです。MSさんお願いします。新しいタブにしてください。おねげぇしますだ…。

最近は新しいタブ開いてURLコピペして.comを.devに書き換えるという方法を取っています。あれ、もしかして新しいタブで開くためのショートカットとかあるのかな。誰か知ってたら教えてください。

あと正式名称がよくわからないのも困る。これがCodespacesでないことは分かる。github.devと呼ぶべきなのか?それともGithub web-based editor?VS Code Web?誰か真実を教えて欲しい…。

まあとにかくコードレビューが大変捗るので、GitHubさんありがとうという感じです。使ったことない人はぜひ試してみてください。

ParallelStreamは親スレッドというか元のスレッドも並列処理に使用するし一部のスレッドで例外が発生しても正常処理のスレッドは継続する

PararellStream絡みでなんだかよくわからないことになったので公式ドキュメントなどを読んでみたけどたいした記述がない。(もっと詳しく書いてあるページがあるのか?)

docs.oracle.com

しばらくうんうん唸っていたけどもう一度ググり始めたら神記事を見つけて全てが解決した↓↓

hit-techblog.blogspot.com

要は、

ParallelStream内のスレッドでは親スレッドと同じスレッドも使用する…らしい ParallelStream内で例外が発生しても正常処理のスレッドは継続する…らしい

ということだそうで。この辺が分かっていなかったのが悩んでいた原因なのでした。なんとなく直感的じゃないんだよなあ…。まあ並列処理は直感では理解できないという印象ではあるので、こうやって色々踏んで覚えていくしかないのだろう。

しかし世の中には人の役に立つブログを書いてる人がいて素晴らしいなあ。インターネット最高。