Monica

Personal CRM done right – Monica

Yuko and I started using the Monica Personal CRM a few months back. We find it useful. Today It has about 140 contacts and about 150 activities recorded. The number keeps growing. Let me walk through how we use it and whether it can be helpful to you.

TLDR: We like it but I don’t strongly recommend it because of its niche nature.

What Is Monica?

Monica is CRM, that is, an address book with richer metadata. You keep records of people with their names, birthdays, relationships (who is married to who, and whose parents are who, etc.), notes, and other attributes.

  • In the parenting context, I tend to recognize other parents as nameless, saying, “Mike’s dad”. This is problematic in the first name culture, and not very respectful even outside the cultural radius. Monica helps me remember their names1.
  • The birthdays of the child’s friend circle are important for gifting purposes.
  • Some other basic attributes are also worth tracking: Their current and past jobs, where they are from, how we met them, etc. These are often mixed up if you don’t take notes, and such a mix-up can cause some minor embarrassment.

It is also a journal. You keep records of activities you did with these people: Went where with whom, who said what, who gave us which, and vice versa, etc. You can look back at these chronologically and it helps since:

  • This is another form of metadata, but you don’t have to organize it in any canonical way. All you have to do is add a journal entry with people tagged.
  • The memory of the conversation evaporates quickly if you take notes, and you’ll have to ask the same questions again and again. The activity log reduces that social awkwardness.
  • You share the conversations with your spouse. Although you can do it over the dinner table, having the written records is a nice addition.

Asking Personal Questions

For me, one unexpected benefit is that I became more curious about other people.

I thought I was indifferent to other people and often forgot what they told me because of my indifference. This indifference has amplified my social awkwardness.

However, I realized that I was indifferent because I forgot. I was afraid of asking personal questions partly because I forgot what I heard and I had to ask the same questions again and again. I feard the awkwardness and the fear made me more indifferent to other people2.

Monica gives me a place to take notes, therefore making me less forgetful – I can just take note of what I heard. It becomes my assisted memory.

Once you unlock to ask personal questions, small talks become a bit easier. “How are you doing” becomes a source of a journal entry in Monica. I don’t say I become a more interesting person, but at least I become more interested in the other side of the talk. That does help.

Even better, it is also our assisted memory: I can share my findings with my spouse. This collective nature makes the memories more useful and robust.

Is Monica Worth It?

Monica isn’t for everyone. First of all, not everyone needs personal CRM. Some people are just good at remembering this kind of people’s details super well. Others are not, but don’t care. You’ll want something like Monica only if you’re in the narrow wind of a “not good at this but do care” personality.

Even if you are in that window, adopting Monica can be a high bar:

  • The membership is expensive – $9/month. Monica is open source and some people choose self-hosting because of the price.
  • The UI design is outdated and some important features like full-text search are missing.
  • They don’t have mobile apps.

They are working on a new version and I hope it’ll fix the feature parity and UI problems, but the price will be the same. Niche products are expensive.

We’re still using it and will stay on the tool because:

  • It allows sharing notes with family. This isn’t free with more mainstream tools either. For example, Notion costs as much as Monica ($8/m) if you want the collaboration bit.
  • The dedicated UI is better than the generic UI (say, Notion or Spreadsheet).
  • We know we use it somehow.

I tried other mainstream tools but none did suit well enough to stick.

I hoped there were less-niche options than this. In fact, we used to use Highrise from 37sinals. But they sunset it3 a while back. There are some others in this genre, but none are for families. Apparently, family-oriented CRM isn’t a big enough market.

Overall, I wouldn’t strongly recommend Monica to anyone. It’s a bit too niche and too indie.

I’d rather ask other families how they keep up with the growing flow of relationship-oriented information. Am I just too bad to remember these relationship things?4

Footnotes

  1. Without asking my spouse about their names which are in her text archive.
  2. Besides the fundamental indifference I have. I have accepted that to some degree.
  3. To their credit, they’re still running the app. But no updates are available anymore.
  4. I don’t want to believe it, but I kind of know the answer.

Link: Actually, Japan has changed a lot – by Noah Smith

There are some interesting numbers in the first article.


Every time I find Japan-related posts in places like HN, I realize how little I know about Japan. I stopped paying attention to Japan related news since I moved to the Bay Area, but I admit that I didn’t pay attention either even when I lived there.

I was a typical single nerd male who didn’t read the news. And I’m not sure I should have read more – What was the point of being informed if the only choice was to live in Japan and (although I didn’t realize) I was in a pretty privileged position? Well, there were points, but there were other priorities.

Now being an expat with a hypothetical option to move back or not, should I read more about Japan? I still don’t know. Such a decision is probably led more by local and personal context than the global, objective parameters like GDP or mortality rate.

If that’s the case, why do I subscribe NYT and read the U.S related news? Isn’t living in the Bay Area a personal, local choice? (It is.) That’s a fair question. I used to think that this is a survival strategy as an expat and that there are also some moral values, again as an expat, to be aware of local habitat, and to blend myself in.


For some reason, these points don’t feel as convincing as they used to be. Nowadays I rather read it just because it’s interesting enough as a pass time. They have good writers and some articles are deeply researched and well written. I didn’t have that feeling when I was reading newspapers in Japan. Also, exposing myself to the American value system still feels fresh to me.

This too is very subjective. I consider myself a very picky Japanese reader who has a strong taste. And I consider myself a very mediocre and slow English reader who has less than middle school vocabulary. This fluency gap surely biases my judgement here.

It’s ironic that I read less because I can read more. Maybe what I should do is read The Japan Times or Nikkei Asia. It sounds as ridiculous as it can go. But just by visiting the site I learned Toyota’s CEO is stepping down which is a big deal, I guess?

Link: Remote Workers Face a Lonely Wave of Layoffs – The New York Times

But management experts stress that businesses don’t have to navigate periods of economic turbulence so haphazardly.

Ms. Sucher noted that Nokia, when it was restructuring in 2011, gave the roughly 18,000 people who would be affected about a year of advance notice and offered them several pathways forward: The company would help them find new roles internally, get new jobs externally, start their own businesses or begin an educational program, among other options.

Nokia’s success metrics were whether people had a job lined up when they left the firm, and whether they were leaving with a positive enough impression that they would be open to returning in the future. Nearly two-thirds of people who left knew what their next steps would be.

Remote Workers Face a Lonely Wave of Layoffs – The New York Times

This sounds very European. Although I hope my employer and the peer companies did this, they are too American to behave like this.

According to Wikipedia, Nokia is kind of fine after they sold the mobile division to Microsoft.

Lifer

A month ago I wrote this but somehow didn’t publish it.

I feel I’m becoming a Lifer at Google. If you work for a single company long enough that you can imagine yourself retiring at that company, you are a Lifer.

I’m here at Google more than twelve years. That’s long enough for me to become a Lifer, I guess. It’s kind of a shame. When I moved from Japan to the US, I wanted to experience more diverce careers. That didn’t happen.

I’m old enough to be OK with it but it feels weird. Before I arrived at this place, I was a hopper and had never worked at any single company for more than three years.

A month ago it was disappointing to recognize me as a Lifer. Today it is scary. I can still imagine myself retiring here. What I find not able to do anymore is picture any other non-devastating future. And we just learned that life here can end at any time for no reason.

I want to ask Lifers elsewhere – What’s it been like to be one at, say, IBM? How about Adobe, Microsoft, Apple, or HP? Please tell me it is okay. Tell me you are okay.


This was such an insensitive, selfish and cowardly rumbling. There are people who lost their jobs. I should just collect the pieces and move on. That’s the right thing to do here.

I’ll leave this post alone to mark my wimp.

Agile Roles

Capital One cuts over 1,000 roles in Technology • The Register (Also HN)

The consumer lending company told The Register that its plan was to eliminate its “Agile” job family and integrate staff there into “existing engineering and product manager roles.”

As someone who worked in the Japanese IT industry, I used to be wondering how Agile was adopted in the U.S. and why it had collected so much hate.

I then learned that many companies not only hired Agile consultants but also had full-time “Agile roles” like Scrum Masters. There are even certificates for these professions. Hiring more people to run the process didn’t feel like lower-case “agile”, and that was probably one of the reasons why the upper-case “Agile” was disliked.

This upper-case Agile was not as common in Japan, and I suspect it is still the same. I preach this fact because, to me, Agile was always a grassroots movement. It was hard to imagine what a full-time Agile role was like. I still don’t understand.

Today, before I figure it out, the era of the upper-case Agile seems to be ending.

You would point out that the statement from Capital One is just an excuse. Maybe. Partly at least. On the other hand, I smell a pinch of truth; There are countless ways to cut and excuse, and they choose the above from the endless options.

You may then wonder if the lower-case agile is also ending. I hope not. The statement says:

The Agile role in our Tech organization was critical to our earlier transformation phases but as our organization matured, the natural next step is to integrate agile delivery processes directly into our core engineering practices

As an ex-grassroots-agile-believer, I’m too biased to question this. I’d rather ask you what you see from your trench. Is the lower-case agile dead, or is it “integrated”?

Link: Tell HN: It is impossible to disable Google 2FA using backup codes | Hacker News

The solution (which is too late to help you with now) is to take a photo of the QR code that is first showed to you when you originally set up 2FA. Keep that safe somewhere and you can always go back. For anyone who is freaked out by this and currently still has access to their google Authenticator app, I suggest exporting all your codes to a big QR code in the app and keep that safe (maybe print it out).
https://news.ycombinator.com/item?id=34442690

Printing it out and putting it in some safe is what i did.

And works like a charm.

I mean, if it works for crypto wallets it might also work for 2FA…

https://news.ycombinator.com/item?id=34443283

This is why I use SMS as my second factor for my Google account. Much harder to lose. It could be vulnerable to sim swapping attacks, but I consider Google locking me out of my own account a more likely threat (and frankly I’m probably not a high-profile enough target for anyone to bother with that, and in any case they’d still need my password).

https://news.ycombinator.com/item?id=34442690

See You on Sunday

Last week we had a birthday party for my daughter. We wanted it outside but it was a rainy day. So we ended up inviting a few families to our apartment. All kids had fun, and so did grownups.

It had been almost three years since the last time we invited people home. We forgot how it felt, but the party rekindled the excitement. The next round, hosted by one of the party’s guests, is already set up. It’s going to be a great potluck.

I recalled a book I bought right after the pandemic started. The book, See You on Sunday, is a cookbook about home-gathering meals: Big Meats, Big Pots, Pizza, and Pasta.

The author claims that the Sunday home gathering is an important social fabric. I read it under the COVID-sheltered apartment and dreamed that someday, this virus would go away, and we would have a meal with these big dishes. The virus hasn’t gone away and it never will, but we started gathering anyway. I have yet to have any big dish though.

One recipe I was intrigued by was Momofuku’s bo Ssam. I have no idea, however, where I can find “whole bone-in pork butt or picnic ham (8 to 10 pounds)”. Probably I should start with something easier like spaghetti.


Pumpkin Sugar

pumpkinsugar/source/_posts at master · omo/pumpkinsugar · GitHub

Dependabot のうるさい未使用 repo を archive していたら、10 年以上前に二年くらいひっそり書いていたブログが発掘された。基本的には少女マンガの感想を記録しており、かなりしょうもない。こういうのをみると、結婚して子供ができて強制的に真人間になれてよかったな・・・という気がしてしまう。独身の友人たちは特に心を病むこともなく楽しく暮らしているのでそれが悪いわけではない。自分が思ったより独身生活に向いてなかったという事後的発見。

“あなたのインターンに Blog (これ) の URL を教えておきましたよ” と同僚は明るく告げた.

pumpkinsugar/2012-09-26-closing.markdown at master · omo/pumpkinsugar · GitHub

会社員がインターンに見られて止めたくなるようなブログを書いてはいけない。ばかめ・・・。

Outdated Code Comment Enthusiasm

This article argues against code comment supremacy and discusses the modern writing venues in software development.


The book “A Philosophy of Software Design” discusses code comments through three chapters. The author is enthusiastic about code comments and argues against Robert C. Martin’s “comment as code smell” principle1.

I used to be in Robert’s camp, but after encountering many useful comments in real life, now I appreciate the values of good ones. Still, however, the enthusiasm in “A Philosophy of Software Design” puts me off. Such an extreme comment supremacy feels outdated: The author overlooks recent advances in software development tooling.

Today, software developers have various venues to leave written notes outside the code comments, for example:

  • In-repo notes like a directory README.md
  • Commit logs or PR messages
  • Threads on issue trackers
  • Other documentation tools like Wikis and Google Docs.

These have some advantages over traditional code comments:

  • Better formatting capability: You can highlight words, have headlines, use tables or even put some images, thanks to Markdown or WYSIWIG.
  • Conversational capability: Issue trackers and code review tools have a textbox. It allows you and your teammates to leave some extra comments, keeping the note a bit more nuanced and fresh.
  • Stable URL: You can link the notes from almost anywhere, including the code comment.

On the other hand, the traditional code comment has only one strength: It lives next to the code itself, inline. This is nice and why it’s been preferred.

Web-based Code Browser

However, the code comment’s lead has eroded once Web-based code browsers like GitHub or Sourcegraph have become common. You can just put the URL to the note in the source code so that readers can click through. For a note to be accessible, it no longer has to stay inline.

Code browsers assist code (and note) reading. A few notable features are:

  • It makes URL clickable: Although opening such a link can be cumbersome for text editors or IDEs, it’s instant in Web-based code browsers. Links are the first class citizen on the Web.
  • It makes blame handy: The commit log becomes a click away and the summary line even shows up next to the code itself. The code archeology has become a routine.
  • It runs in the Web Browser: You have tabs. You have handy extensions. You can search the code, others’ code, and StackOverflow, seamlessly.

In-Repo Notes

Among the new types of written notes, the in-repo notes are particularly powerful because:

  • They live next to the source files.
  • It is inherently versioned.
  • It can be part of the code review.

In the other words, it is like the code, without suffering from the limitation of the code comment (lack of formatting, missing stable URL).

And like the code, you can refactor the notes, making the trade-offs: Inline comments are like inline code. They are handy and immersive. However, it can also be noisy and annoying, diluting the code density on the screen. Extract them into a separate in-repo note when that makes sense. It reduces the noise and increases the code density2.

Also like code, don’t repeat yourself. You don’t have to explain a weird workaround. Leave a link to the relevant bug, that has a link to the relevant commit, that tells the story in detail. This is done only with a couple of clicks.

Suggestions

Let me rephrase the claim above as a few suggestions:

  1. Read the code in the Web-based code browser, in addition to the text editor or the IDE. Treat the code browser as a read-optimized IDE. If you don’t have one, invest.
  2. Pick the right venue for your written note assuming the above is the norm.
  3. Consider leaving links in the code to connect the relevant information.

In this world, you’ll find the code comment less useful. That is not because the code is clean enough, but because the comment is no longer a primary place to leave the notes.

Looking from a different direction, Web-based code browsers turn code into hypertext. And the hypertext blurs the boundary between inside and outside the code. Take advantage of it.

This article doesn’t discuss what should be noted in which writing venue, but it deserves a discussion. I might write about that at some point.

To Resonate

This article doesn’t argue against the fundamental point the “Philosophies” book makes, that is, the importance of writing around the code. However, claims like this are convincing only when it is stated in relevant contexts for the readers. It doesn’t resonate otherwise.

To be resonating and relatable, industry veterans like us have to re-tell the lesson in today’s voice, instead of recommending old books. And the “Philosophies” book is a respectable attempt at that retelling. It delivers in some parts, but the comment sections are yet to reach that point in my opinion.

Footnotes

  1. Robert later followed up on this topic.
  2. Some IDE allows comment folding and it does help readability. If the code can tell the IDE to fold a specific part of the comment, it’ll change the trade-off.

Link: EVs are getting too heavy and too powerful, safety chief says | Ars Technica

EVs are getting too heavy and too powerful, safety chief says | Ars Technica

As someone who was recently hit by a car, this is a bit horrifying. Also, as an environmental awareness wannabee, this is a blind spot. I wanted a bigger EV with bigger batteries for less frequent charging, but maybe that’s not a good idea. If so, what I need is a close-enough charging spot. It’s unlikely that I get one in near future. This outlook makes me sad.

写本

日常の雑談とは別に、文書を書くスキルも少しは高めたいなという気持ちから、唐突に適当な英文を書き写す写本作業を二日くらいしてみたが、ぜんぜんなんの手応えもないので中断。同じ失敗を何年か前にもした気がする。数年後にまた過ちを繰り返さないため書き留めておく。

写本作業とは、英文をセンテンス単位・・・だとだいたい長過ぎるのでコンマ単位くらいで、見て、覚えて、書き写す。PC だと単語単位で書き写してしまいそうなので、手書きでやっている。テキストは印刷しておく。ある程度長い文章を覚えようとすることで、文の構造とかを頭にエンコードするスキルを増す期待がある。

写本が良いかもしれないなと思ったのは、基本的にはスピーキングの定番練習である shadowing からの連想だった。が、効果のありそうな感じがなかった。進みが遅すぎてトレーニングとしての圧が弱いのと、あとやはり進みが遅すぎて文章のリズムみたいのが完全に消えてしまう。

もちろん、何らかの効果はあるとは思う。文単位で書き写し、採点(?)すると、冠詞とか細かい時制の間違いとかには気付ける。続ければこうしたミクロな間違いは減らせそうな気がする。ただ、こういうのは最近だと Grammarly なり GDocs のチェックが直してくれる程度のものなので、訓練しがいがない。

単純な文法よりはもう少し粒度のある文章の筋の良さみたいのを体に覚えさせたいとなると書き写しよりはスピードが欲しい。 Audible で shadowing でもすればいいのだろうか。むしろ普通にテキストを音読すればいいのかもしれない。音読は、やりすぎると読速を落とすクセがついてしまいそうで抵抗がなくもないが、試してみて良い気がする。


一歩さがって、自分が改善したい writing はどんなものなのかと考える。と、まず design doc. あとは proposal. そういうお仕事文の類である。オンラインの文章、今回は The Electric Typewriter というサイトから適当に選んだ Malcolm Gladwell の文章だったが、そういうのが書けるようになりたいわけではない。そんな高いバーは目指していない。

そういう「面白い文書」に関する含蓄を高めるより、もうちょっとドメイン依存のやつないかな・・・と思ったら Technical Writing  |  Google Developers というのがあったので、読んでいる。まあまあ良い。このくらいベーシックなやつを読み、何らかの形で実践していくところから始める方が良いな。

このガイドを実践しても面白い文章はまったく書けるようにならないので excitement はないが、別に design doc は面白くなくて良いんです。仕事の proposal とか長めのメールとかも、別に面白くなくて良いんです。そしてこういうの、昔勉強したことあるはずだけど完全に失われているね。ここ数年、ひどい sloppy な文章を書いてきたものだと反省。


練習として、日常の雑談、conversational resume 的なものを technical writing の流儀で書くのはどうか。ドライで楽しくない文章になりそうだが、他に対して題材もないので試して良いかもしれない。まあ日常の雑談に限らず blog に書いているようなことを technical write してみればよい。試してみるべし。

Conversational Resume

Better Small Talk by Patrick King – Audiobook – Audible.com

今年は新しいチームにいることだし少しは同僚とのコミュニケーションとか頑張ろうかなと思い、聞いてみた本。

Conversational Resume という話がでてきて、要するに話のねたを貯めておきなさいという主張。自分について話せる話題をどこかに書いておく。そういうのはあっていい気がする。日常の記憶が、英語でぱっと話せるほど整理されていない。同僚に話せる程度の話題なら大体はブログに書いても問題ないはずで、Conversational Resume をブログに書き留めるのはありかもしれないと思った。ブログの記事としてはまったく面白くないだろうけど、別にこのブログは面白さを志向していないので問題なし。

Chromebook の良さ

Chromebook(Chrome OS) の良さは、Chrome が他のどの環境よりも断然ちゃんと動くことだと思う。速いし、キーボードショートカットとかばっちり。わかりやすい例はログインして Ctrl+N するとブラウザが開く。奇妙なツールとかで設定するまでもなく、標準で。デスクトップ環境の方がブラウザに寄ってきてくれるのは、ChromeOS でないと(当然)ありえない。ブラウザだけ使っている分には他より圧倒的に快適。これに慣れたあとで Windows とか Linux で Chrome を使っているとイラっとする場面がある。

こういうのは Chromebook の良さを語るレビューとかであまり言及されない、当たり前だが使っていないとわからない良さだと思う。ブラウザしか動かないが、そこにはセキュリティだの何だのだけでなく、エンドユーザの手触りとして見返りがある。

だから他より良いと主張するつもりはないけれども、Chromebook のレビューは理論上の良さ vs 現実の制限みたいな論点ばかりが目につくので、そうでない切り口を記録に残しておく。

AI とプログラマの仕事

この手の話はフーンと眺めていたが、Neeva というウェブ検索のスタートアップが思ったよりはやく LLM を直接製品に埋め込んできて感心した (スクリーンショット)。Google のサーチ部門も Code Red らしいし(※勤務先ですが他所の部門の話なのでインサイダー知識はございません) Bing もなんかやってるらしいし、こういう LLM-based な自然言語製品は思ったよりすぐ商業化されるのかもしれない。


”プログラマの仕事は AI に奪われるのか” という話題で見られる先のリンクのような議論は Remote And Vegan と同じ問題を抱えている。つまり、プログラマの既存のタスクや責務が自動化できるかどうかというミクロな問題にフォーカスしすぎ、マクロで構造的な変化を議論してない。自分はどちらかというと後者が心配。

でかいモデルの学習には巨大なメモリと速いアクセラレータを長時間専有する必要があり、めちゃ金がかかる。推論もわりかし高価であることが知られている。従って、AI を使いたい企業は直接的、間接的にハードウェア投資をしないといけない。そのための資金をどこかから調達しないといけない。

自社でデータセンターを持つでかいテック企業の支出は、大半が人件費とハードウェア費用であることが決算報告などから知られている。そして近年のハードウェア費用の増大は AI/ML 用途の計算資源需要の増大が大きな理由だとみなされている。つまり、人件費(我々の給料)とハードウェアコストは、限られた予算を奪い合っている。

だから今後 LLM を使った製品が次々に登場して成功を収め、その開発運用に必要なハードウェア費用の高騰が進み、そのぶん人件費が圧迫されるということは、ありえるんじゃないの?

一歩下がると: 相対として AI 用途のハードウェア(およびそれを直接間接に提供するサービス)に投資する方がプログラマの給料に投資するより見返りが良いなら、企業は、これまで沢山あった玉石混合のソフトウェア開発プロジェクトを切り捨て、(運用が高くつくため相対的には数の少ない) AI-based な製品開発に比重を置く・・・かもしれない。そうなったら末端で比較的どうでもいい機能とかを開発しているスマホアプリプログラマなんて失業ですよ。困るわ。


テクノロジーのイノベーションでモデルの計算効率が良くなる可能性はあるが、それがモデルサイズの増大をオフセットできるのかは、まったく自明でない。LLM 製品の力で売上が加速してコストをオフセットできるのかも、やはり自明でない。めちゃ競争がある分野なわけだし。

というわけで、プログラマは AI に目先のタスクを自動化される心配をするヒマがあったらリサーチャーが LLM のコスト問題を解決するイノベーションをしてくれるよう祈るほうが良い、が、どちらも特別 actionable ではないのでほっといて真面目に働き解雇リスクをさげるのが現実的。正常化バイアスという批判は甘受いたします。

Atmospheric River

雨続きのカルフォルニア、新聞記事がこの気象を Atomospheric River と称していた。細長い雨雲のことらしい。このビデオを見ると要するに台風の尻尾のところだとわかる。Wikipedia によると US では CA で特によく見られる現象らしく、CA の雨の半分はこれとされている。

NYT の降水量マップを見るとベイエリアは Santa Cruz Mountain によって豪雨を免れているように見えるが、これはいつも期待できるのだろうか。


どうでもいい細かいことを Blog に書いて見る試み。

2022

短い旅行より帰宅。運転のためにキメたカフェインの都合で眠れない夜に一年を振り返る。今年は、色々なことを試したがうまくいかず、そのほかにもトラブルの多い年だった。


まず今年のはじめごろ、仕事を真面目にやって出世できないかと考えた。子を私立の学校に入れる可能性が生じ、金を稼ぎたくなったため。そこで数カ月のあいだ真面目に・・・というのは、今までと違う優先順位と労働時間で・・・働いてみたが、挫けた。仕事に頭と時間を使いすぎて業務のイヤな部分をデタッチできなくなり、精神衛生を著しく損ねてしまった。とても続けられない。

挫ける速さには我ながら感心した。自分は出世に向かないボンクラだと悟り、余暇活動でもしながら楽しく暮らそうと改心。Podcast およびブログ(これ)を再開した。労働は以前の勢いに戻した。

いちおう勤務先の名誉のために書いておくと、子供一人を私立に入れるくらいの給料は貰っている。ただバッファが欲しかった。なおこの挫折とは無関係に私立の話は立ち消えとなった。


春を過ぎたころ、いつもように HN で他愛もないコメントを書いていたら、それを読んだどこかの会社のエンジニアからメール。「おまえわかってんじゃん!ちょっと話しない?」というので、何かと思ったら hiring のお誘いだった。聞いた仕事は面白そうだしこれも縁かと面接を受けることにした。ただ冷静に考えるとコーディングクイズを突破できる気がしないので、一カ月くらい待ってもらい LeetCode で準備のうえ臨んだ。

練習の甲斐あってインタビューは通過し、いちおう VP (部長) の話も聞いとく?というので聞き、あとは肝心な給料の話かと思っていたら返事がない。つつくと会社の都合で採用全体が止まっているという。そのあとも音沙汰なく、しばらくのちに同社のレイオフを知らせる報道があった。あれまあ。さほど積極的に転職したかったわけでもなく給料がバーンとあがるなら考えようという程度の甘い見通しだったので、忘れることにした。想定給料が見られなかったのは残念だけど仕方ない。

LeetCode で転職修行するのがどういう感じかわかったのはよかった。つまり: 嫌いではないがそんなに好きでもないし、他に何もできなくて大変。日頃からコーディング筋をつけておこうかと Codeforces を試したが、早々に脱落した。あたしプログラミング向いてないんですよ・・・。


夏。二年ぶりくらいで日本に帰省したら、旅先で COVID に感染してまった。発熱など一通りの症状があり辛かったのみならず、家族の旅行を台無しにしてしまい心苦しかった。隔離施設に入ったのは、経験としては興味深かったが、十年分くらいのコンビニ飯的弁当を延々と食べさせられ食傷。とはいえ日本の COVID はその後 surge して隔離施設も満室になったと伝え聞くから、入れただけマシと言える。

帰国後 2 週間くらいは体調が悪くしんどかったものの、最終的には回復。後遺症がなくてよかった。


日本からの帰国後、妻子および自分に虫刺されらしき腫れと痒みが発生。US 帰国後に一度外泊があったため bed bug を疑って色々と対処する。この一年で一番エネルギーを費やしたものが何かといったら、これだね。害虫対策。数カ月もの間、この見えない敵を相手に大量の資金、時間、精神力を溶かした。EPA, CDPH などオンラインの authoritative なサイトを読み漁り、専門書も読み、現実的な範囲で手を尽くした。家族は皮膚科にもかかった。件の害虫の発生で説明されるような頻度での痒みは一カ月くらいで落ち着いた。家族には最近も断続的に腫れや痒みが観測されているが、そもそも自分たちはアウトドアで過ごす時間も長く家の周りもまあまあ草なため蚊など他の虫刺されと区別がつない。虫とは無関係な蕁麻疹やできものなどの肌トラブルもある。だから最低限の防御だけを残し、問題は解決したことにしている。

なお、これだけ手を尽くしたにもかかわらず bed bug の実物にお目にかかることは一度もなかった。なので、本当に bed bug がいたのかどうかは藪の中である。Bed bug は、発生しているなら高い確率で実物を目撃するとされており、多くの駆除業者は現物を確認するまで薬物散布などの対策は打ってくれない。自分の中では「当初はいたが努力によって撃退した」ということにしている。

対策と調査の副作用で bed bug に異常に詳しくなった。詳しくなってわかったこととして、オンラインの体験談はだいたいゴミである。業者もわかってないケースが多い。ぼったくり業者、役に立たない製品も沢山ある。EPA のようなまともなサイトを読もう。あと近所の方で困った際にはご相談ください。


九月。車にはねられた。いやー死ぬかと思ったねマジで。一カ月以上、体のあちこちに痛みがあった。 勤務先では春に出社が始まっていたがしばらく通勤する気が起きず、痛みが治った後を含め二か月くらい自宅勤務をしていた。先月ようやく重い腰を上げて自転車を買いなおし、通勤を再開した。

体が痛いと何もする気が起きず、仕事をなんとかこなしつつ漫然と過ごしていた。Codeforces が途絶えたのもこれ(と害虫対策の疲労心労)が一因。しかし記録をみると Podcast は続けており、我ながらインターネット芸人魂がある。


インターネットといえば、雑談相手を求め Twitter を真面目にやろうとして、挫けた。今思えば新社長就任とは無関係に単なる気の迷い、気の散り、時間の無駄だったと思う。まあ時間をムダにするのはソーシャルメディアの本質なので別にいいんだけど、自分の求めていたヒマ潰しではなかった。それを改めて確認できたのは、よかったといえばよかった。

一方で COVID 時代の友人関係のありかたは、妻子あり中年の友人関係の在り方とあわせ考えているテーマなので、何らかの形で探索・気の迷いは続けていきたい。


こうした様々なトラブルおよび雑念の影響で集中力がなく、もともとパンデミック突入以降に破綻していた労働への姿勢を立て直せていなかったせいもあって、仕事は不調だった。チームでの tenure が長いおかげで経験で目先の作業をこなすことはできたが大きな成果を出すことはできず、むしろ段々と目先の雑事の比率が増えてしまって行き詰まり、やる気も下がってしまった。これはチームやプロジェクトのせいというよりは自分の数年にわたる気の散りの帰結なのだが、そうはいってもやる気が起きない事実はどうにもできなかった。

そこで気分を入れ替えるため、社内求人をあたって他のチームに異動することにした。来年の頭から他の部門で働く手筈。仕事は相変わらずアプリ業だけれど、環境を変え気分一新で働きたい。

そういえば前回の異動も子供ができて育休をとったあと、うまく仕事に復帰できなかったのがきっかけだった。我ながら人生の荒波を乗り越えるのがヘタ。つぎの危機ではもうちょっと踏みとどまれるよう、普段から姿勢の乱れに気を配っていきたい。


総体として、外的要因および自業自得で気の散った一年だった。集中力、生産性ゼロ。特に仕事はひどいものだった。そんななか Podcast を再開できたのと、久しぶりにブログをはじめられたのはよかった。これらは、仕事の視点では気の散り要素でしかないけれど、自分の人生にとっては大事な趣味だと思い至った。趣味重要。

いま振り返るに、これらの気の散りは 1) パンデミックの何もできない内向的生活の反動と 2) 一部中年にありがちな自分探し系気の迷い (aka. midlife crisis) が重なった結果だったように思う。だとしたら、あとに禍根を残すような大きなやらかしに至らず、生産性が低いくらいで済んでよかったと思うべきかもしれない。Great Resignation と突然のテック不景気が重なって惨事に至った可能性・実例はあるわけだからね。


家庭はというと、ここに書くことは特にないけど、まあぼちぼちやってます。夫婦関係は重視したほうが良いというアイデアはそれなりに続行中。子供も元気です。

来年はこんな粗悪 reality show ドラマのない、平和な一年でありますように。

Remote And Vegan

Bill Gates が「俺はもうチーズバーガーはやめたわ」と書いていた影響もあり、食事から動物性の材料を減らせないかと時折考え、断続的に試している。

各種の plant based 代替食材も試した。Milk, Cheese, Chicken Nuggets, Ground Beef. こういうのは悪くはないが、制限されている感は否めない。

これはベイエリアで日本食材スーパーに言って感じる残念さに似ているかもしれない。悪くはないが、本質的に制限されている。それよりは Safeway なり TJ なり、そのへんのスーパーで買える材料で、アメリカっぽい料理を作ったほうが良い。材料は安く、豊富である。バター多すぎだが。日本ぽい食事はアクセント程度にしておく・・・というほど制限してはないけど、アメリカっぽい飯の割合はだいぶ増えた。

同様に、動物性食材を減らそうと思ったら代替食品でがんばるよりも Vegan レシピを覚えたほうがいいなと考え直し、Vegan Recipe の YTer をランダムに何人かフォローしてみた。もうちょっと増やしたい。Vegan Recipe 勢、基本的に alternative ingredients は使わない。野菜と豆で生きている。植物性の材料から旨味やコクを最大化するノウハウを追求している。

日本飯からアメリカ飯へのシフトにせよ動物性から植物性へのシフトにせよ、それまでと同じ料理を代替材料で作ろうとするよりは作る料理そのものを置き換えたほうがストレスが少ないし、探求の楽しみも増える。

これはパンデミック突入にともなうリモートワークへのシフトの時に感じた印象と似ている。つまり in-person のアクティビティを、そのままオンラインに持っていくのはしんどい。

いちばんわかりやすいのはミーティングで、今は zoom fatigue と呼ばれるに至った。ただ個人的には in-person のミーティングそんなに好きでなかったし、パンデミック前から違うオフィスのひととは VC だったので、いきなり制限された気はしていない。まあ 1-1 とかは in-person の方がいいといえばいいかもしれない。


より滑稽・・・というと悪意があるみたいだけれど、うまくいかないと感じたのは “virtual” team building event みたいなやつで、これはほんとうにしんどい。物理的に近接することで深まる bonding が欠落している。McPlant 的な空虚さがある。

ずっと感じるのは all hands や tgif のような発表主体のイベントのリモートとの相性の悪さ。おそらく主催者・登壇側は拍手喝采されるアゲ感が名残惜しくて無意識にこのフォーマットを支持、維持しているんだろうけど、視聴者からすると発表やアナウンスを伝えるメディアとしてこのフォーマットは疑問。

自分の勤務先はでかいので、この手のイベントに実際に足を運ぶことは随分前からなくなっていた。基本的には録画を見る。そもそもオフィスが離れていたら足を運びようがないわけだし。これらがライブ開催される意義は、歴史的にはリアルタイムで参加者から質問に答えられるからだった。けれど地域格差を解消するために、今は事前にオンラインで質問を募っている。視聴にとってライブ開催の意味は、もはやない。

発表者が自宅からライブ・録画していたパンデミックピーク時は更に厳しくて、たとえばさ、社長とか VP とかがすごい立派な部屋を背景に話をした直後に下々が狭いベッドルームやごちゃっとしたリビングとかを背景に登場したりするわけ。はー我々ザコキャラはカネ持ってる資本階級にコキ使われてんだなーと冷めた気分になってしまう。現実には社長や VP が狭ーい部屋から登場したらその方が夢がなくてイヤなのだが、そういう格差は普段から目にしたいものではない。会社の建物はチームの一体感というファンタジーを維持する装置として機能しているのである。幻想重要。

なんの話だっけ。そうそう、発表の類。これは、きちんと編集したコンテンツとして出すのがいいと思うんだよね。司会もプロを雇う・・・までいかなくても得意な人にやらせてさ。ついでにいうと、情報量を考えると動画じゃなくて音声でいいね。Podcast にしてほしい。その方が編集の手間と効果の費用対効果も高いでしょう。新機能の発表とかもさ、一人で話させるんじゃなくてインタビューにしてあげるわけ。それがリモート時代の broadcast というものじゃないか。

自分のいるチームでは、あるとき有志が思い立って「同僚をインタビューする Podcast」を初めて、これがすごくよかった。同僚といってもランダムに選ぶのではなく主要な、つまりエラ目、存在感高めの人が中心。内容は仕事寄りでなくその人の生い立ちとかそういうパーソナルな話が中心。物理的な近接が担保していたある種の intimacy を、録音されたメディアを通じ人となりを知るという intellectual exposure で置き換える。リモートファーストの team building かくあるべきな見本として額に入れて飾りたいくらい。

いちおう勤務先全体を擁護しておくと、たとえば会社の動向を伝える newsletter みたいなやつは存在していて、毎日届く。これは良い。会社全体に限らず、組織がでかくなると、この手の newsletter は様々なレイヤで発生する。基本的にはレイヤが下になるほど仕事の具体的な内容に近くなる。そういう written communication があるのは良い。もっと普遍的になればいいのにと思う。


個人的には、特に組織の雰囲気とか文化みたいのを形成するのには、リモートであってもテキストに固執する必要はないと思っていて、だからこそ internal podcast は良いと思ったのだった。動画はどうかというと、本来は色々やる余地はあるはずだが Remote Techtalk とか、やっぱりいまいちだよね。もうちょっと YouTube / TikTok / Instagram とかなんでもいいけど動画メディアというものを研究して工夫して欲しい。動画は音声より production cost が高いのは事実なので、そこは会社が支援して上げるのが良いと思う。スタジオ作るとか、機材手当を出すとか。

Automattic や 37signals はテキスト世代の remote first 企業だった。パンデミック以降の若い remote first 企業がどうやって社内でコミュニケートしているのかは興味があるね。

Tumblr

Mastodon が隆盛している昨今。別に嫌いではないし恨みもないが、めんどくさい。気分が盛り上がらない。UX がしょぼすぎる。

Tumblr が ActivityPub をサポートするというので、これが公式にアナウンスされたら Tumblr as Mastodon frontend として使うのはいいかもしれないなあと思いつつ、発表を待っている。Tumblr は Marco Arment が CTO をしていた過去に加え WordPress の Automattic に買収されており、なんとなく親しみを感じてしまうのだった。おっさんの巣窟になっているかと思いきや、上のインタビューによれば未だに若者を引き寄せているらしい。中二病の巣窟か。サブカルだよな。


Automattic, 個人的には金銭のしがらみがなければ働きたい会社ナンバーワンである。そのラブリーな製品リストを見よ。まあ勤務先の製品群もそこそこラブリーでたくさん使ってるんですけどね・・・飽きたよね・・・あと For Everyone とか言っててサブカル感がないよね by design・・・。

さすがにこのご時世 open position はないっぽいなと求人ページを眺めていたが、上の podcast を聞いていたら Twitter layoff 勢向けに専用のページが用意されていると聞き笑ってしまった。ソーシャルメディアの会社は、景気悪いなりに ex-T の人々を雇っていそうである。Twitter layoff のいいところ(?)は、クビの切り方が明らかに雑なのでクビ = low-performer という負の印象がまったくない点。会社の人事評価なんてどのみち当てにならないので採用側は不当な bias なしに人を見てほしいもんだけれど、そういう「正しい態度」は期待できない不景気なのだった。


レイオフといえば、最近大規模解雇をした会社から「採用してるよーどう?」みたいなメールが来て、おまえらどうなんだそれは・・・。という気分になった。配置転換みたいな概念はないのかね。おまえらがクビにした low performer はほんとに low performing だったのかい・・・マネージャがダメだった可能性はないのかい・・・?

Stratechery Plus

少し前から Ben Thompson の Stratechery Plus を sub している。テック業界分析有料 newsletter+podcast. 自分はもともと Dithering に金を払ったり払わなかったりしていたが、Ben Thompson の他の podcast とセットで割引されるというので sub してみた。$12/m は個人メディアとしては安くもない一方、Stratechery はこのジャンルだと老舗かつ最大手なので、こんなもんかなと思う。

さいきん他所の podcast でインタビューされており、10 周年だと知った。自分はいつから聞いている(というかブログを読んでいる)のか覚えていないが、最初の頃はビジネス臭というか PM 臭がキツすぎてそんなに好きでなかった。今もテクニカルな細部への洞察は怪しいなと思っている。ただ Ben が友達の James Allworth とやっていた Exponent という podcast を聞いていたらにじみ出る personality に親しみが湧き、だんだんと読むようになった。(なおこの podcast は二年くらい前に終わってしまった。Big Tech が世を席巻している時期のその様子に fascinate する暑苦しい対話で、自分の podcast 視聴歴のなかでも favorite のひとつ。James 帰ってきてくれ!)

Ben Thompson の主要コンテンツである Stratechery は blog。Paywall はない。有料会員はこれに加えて daily update というテック業界短信が週に二回くらい読めるほか、週に一回テック CEO のインタビューが配信されてくる。このインタビューは大手からスタートアップまでほんとに隈なくたくさんの CEO がインタビューされていてびっくりする。大きいところだと Meta, Microsoft, NVIDIA, Intel の CEO が出てきたり、最近だと Midjourney の CEO もインタビューされていた。たぶんこれがキラーコンテンツ。

あと Sharp Tech というゆるっとした業界解説 podcast と John Gruber とやってる 15 分でおわる業界短信 podcast Dithering. このへんは相対的にはどうでもいいが、ちょっとしたヒマつぶしにはちょうどいい。ただしどちらもだいたい同じ時事ネタを話してるだけなので、両方聞くと飽きる。最近は Ben が出てこない Sharp China という podcast が追加された。これはアメリカテック業界人が気にしてる中国事情の話をしており、バリエーションになってよい。ただ個人的にそこまで興味のある話題ではないので、継続的には聞いてない。

それにしてもこんな個人アナリストがテック大企業の CEO にばんばん一時間くらいのインタビューをしていて、Ben Thompson は随分と大物なのだなとびっくりした。先の 10 周年インタビューを聞くとピンで食っていきたいアナリストワナビーの星らしい。昔はそんな大物じゃなかったはずだけど、10 年続けるなかで着々と影響力を伸ばしてきたのだね。


というかんじで二ヶ月くらい購読しており中身に不満もない。ただ Stratechery Plus だけで自分の音声コンテンツの帯域が使い果たされてしまい Audiobook の進捗がすっかりなくなってしまったのは問題。一旦 unsub して音声読書を進めたい気もするが、どうしたもんかな。

HOMA

向井さんのターンにできた HOMA というプロトコルが最近また LWN に登場していた・・・というか、この記事がきっかけで話題になったのかもしれない。

そのへんからリンクされている記事を冷やかすと Google の Snap というユーザスペースの独自プロトコルが紹介されていた。上の podcast episode で「大企業こういうのやってないんですかねー」「やってたら論文くらいありそうなもんですけどねー」とかいう話をしていたわけだが、論文あったわ。Amazon に至ってはハードウェアまで作ってるし

ユーザランドで実装できるならわざわざカーネルでやらなくても良いのでは・・・という意見は論文中で反論されているが、しょうじき説得力はいまいち。とはいえ TCL/TK を発明した大学の先生が自らばりばり Linux カーネルモジュールを書いているという圧倒的つよつよ感の前に、外野は正座するしかない。経歴から年齢を推定してしまう。

Annapurna Labs

エゴサーチをしていたら:

ということで関連記事を探すとこんなのがあった:

EC2 の特定インスタンスでフラグをたてるとハードウェアアクセラレーションの力で TCP と UDP が自動的に速くなるという新機能。この機能は SRD (Scalable Realiable Datagram) というプロプリエタリなプロトコルの上に作られているらしく、2020 年の論文がリンクされている。

著者を見るとみな Annapurna Labs という子会社の人が書いている。2015 年に Amazon が買収したイスラエルの会社らしい。”Nitro” SoC をはじめ AWS のカスタムシリコン事業(?)を牽引しているもよう。

買収されたチップデザイン会社の活躍といわれて思い出すのが Apple が 2008 年に買った PA Semi. Apple A series の SoC デザインを牽引し、スマホ性能で他社をぶっちぎったことがよく知られている。

Annapurna Labs は Amazon にとっての PA-Semi としてサーバ性能で他社をぶっちぎるのに一役買っている、と言える。

去年 Google Cloud が Intel から VP を引き抜いて SoC をがんばると宣言したニュースがあり、なんなのだろうと思っていた。Annapurna Labs を踏まえるとごく自然な動きなのかもしれない。(注記: わたくし Google 勤務ですが特になんのインサイダー知識もございません。)

こういうハードウェアのスタートアップが活躍なんて「シリコン」バレーだなあ・・・と思いかけたが、P.A Semi (“Palo Alto Semiconductor”) はともかく他はイスラエルなのであっちの方がよっぽど Silicon Valley だね. そして Amazon はシアトルなのだった。ただし Annapurna Lab の創業者はベイエリアにいるらしく、これは Lab 126 などの Amazon ハードウェア部門がそのへんにあるからだろうと思われる。

EV

Bill Gates の本を読んだ副作用で EV について考え直す。

自分はアパート住まいなので自宅での充電ができず、それが deal breaker なので次もガス車を買うだろうと思っていた。あと田舎への遠出に伴う充電の難しさも障壁だった。どのくらいがんばればこうした問題を克服できるのか。

田舎への遠出については割と簡単に対処ができる。今使っているガス車を売らずに残しておけば良い(壊れない限りは)。あと、田舎にもそこそこあるね charging station. 計画的に給電すればなんとかなりそうにも見える。

普段の給電。アパート勢の基本戦略は職場での充電らしいが、自分の家は妻による子の送迎や買い物が主な車の用途で職場充電はできない。そして残念ながら買い物・送迎ルートには fast charger が存在しない。確実に fast charge できそうな最寄りの station は片道 5-10 分くらいの場所にある。わざわざそこに出向く必要がある。充電の頻度は、バッテリーの容量にもよるが週に一回くらいだろうか。週末の外出 (2-3h 程度のドライブを伴う)でも乗るなら週に二回。

つまり週に 1-2 回、充電のためだけの外出 (1 時間弱) が必要になる。これが EV を買った場合の時間的コスト。たとえば自分が早朝に外出し充電しながら読書する 、というような形で支払うことになるだろう。かったるいが、可能といえば可能。

車種。週末はガス車を使い近所でのみ EV という選択肢を考えたが、小型の車はバッテリー容量が小さいので不便()。子が乗る後部座席も狭い。それなりに capacity のある SUV の方が現実的に見える。小型車を現実的に使えるのは持ち家勢のみ。車本体の値段は、ガス車の 5 割増くらいだろうか。高いのみならず、まだ選択肢が少ない。在庫もない。なおこれまで乗っていた日本車メーカーは残念ながらだいぶ EV に出遅れており、他を探さないといけない。


というわけで、出費と時間を投じれば EV への乗り換えはいちおう可能な雰囲気。ただレイオフの飛び交う不景気の最中に大きな出費は控えたいので、当面は指をくわえて EV リテラシーを高めておくのがせいぜい。ロシアの戦争が終わり、中国の疫病鎖国が終わり、市場からそれらの傷が癒え、そのとき勤務先がまだ息をしていたら、我が家に EV がやってくることもある、かもしれない。温暖化阻止に協力できる日は遠いが、そういうもんです。それまで今の車が故障しないことを祈るばかり。

仕事について考える時間

このごろ仕事のことを考える時間がないなと思う。もちろん勤務時間中は仕事のことを考えてるんだけど、そういうのじゃなくて、一歩さがってよく考えるような時間。

仕事が順当でなくなることはよくある。はっきりと行き詰まることもあるし、なんとなく調子が下がっていって気がつくと前に進んでいないこともある。それでも目先には表面的な仕事があるので、気をつけないと自分の不調に気づけず、延々と目先のどうでもいい仕事に手を動かして肝心の大仕事が進まない。それどころか状況が悪化していくこともある。たとえば締め切りが近づくにつれ選択肢は狭まっていく。

だから定期的に一歩さがって自分に問う必要がある:いま自分の仕事は順調なのだろうか・順調でないとしたら何が原因で、どう対処すべきなのだろうか。仕事を個人的にレビューすると言っても良い。

独身だった遠い昔、これは当たり前の所作だった。仕事しかしてない身分だったので、たとえば食事をしながら仕事のことをぼんやり考えているのは普通だった。「仕事のことを考える時間がない」という事態を想像するのは難しかったと思う。しかし家事子守という second shift を抱えハードコア九時五時の毎日を生きる今、業務時間外で仕事のことを考えるのは難しい。仕事が終わった瞬間から、たとえば晩飯調理の手順について考え始めている。そのあと食事をしたらもう子を寝かせる時間。自分は一緒に寝てしまうのでそこで一日が終わる。次の日は早くから起きるけれど、そんな朝から仕事のこととか考えたくない。朝くらい課外活動させてくれ。Podcast 準備で論文読むとかさ。あるでしょ。


自分は仕事のレビューを勤務中にやるのが得意でない。埋め込まれた環境から物理的に距離を置かないと、目先の仕事から注意を切り離せない。たとえば自分は毎週金曜日の仕事に weekly review の時間をとっているけれど、普段の仕事と連続していているとなんとなくタスクのリストを shuffle するだけで終わってしまい、批評性が生まれない。

家はどうかというと、家事をしながら仕事のことを考えることはゼロではないが、仕事の空気は押し出されがち。家には家の気圧がある。

なんとか時間を確保しようと、以前は夜や週末に時間を使っていた。たとえば子供が寝たあとに散歩をしながら考え事をしたり、週末の朝コーヒー屋にでかけたりしていた。あとは通勤中に考え事をすることもあった。でもここ数年の大きな生活の変化で、こういう時間は全部どこかに行ってしまった。パンデミックの最中は仕事どころじゃなかったので気がづかなかったけれど、いざ日常が帰ってくると失ったものに気づく・・・ことすらなく、ただうっすらと息苦しい。最近ようやく思い出した。そういえば仕事のこと考えてないじゃん、みたいな。

仕事のことを考えないと、仕事から関心が薄れる。関心が薄れると考えない。そんなループで仕事のどうでも良さが増していく。家族がいる身で仕事のことばかり考えているのが良いとも限らないのである程度の detachment は必要だけれども、あまりに関心が下がると仕事の成果がでないので、それはそれでよくない。バランスが必要。今はあまりに関心が足りていない。関心が低いので深刻さが沸かないところ、長い Thanksgiving 休暇にあわせがんばって気にかけようとしている今。なお、今は朝 5 時です。


仕事について考える時間を仕事の外の日常に取り戻すべきなのだろうか。あまり良いアデアには思えない。家には家の優先度があって、そこに仕事を持ち込むと摩擦が起こる。それよりは、なんとか業務時間中にレビューできるよう工夫する方が良いのではないか。たとえば在宅勤務の金曜日に半日くらいコーヒー屋に行ってみるとか。これに限らず WFH を活かすのは良い気がするな。出勤のある日も、ランチはいつものオフィスから離れた場所へ、ノートなりラップトップなりを片手に行ってみる。あるいはランチはスキップして、そのぶんコーヒーブレイクに散歩する。

目先の仕事に使う時間が減ってしまうが、それは仕方ない。場合によってはなんとかしてもう少し勤務時間を捻出できないか工夫してみても良いかもしれない。朝、子の遅い食事の終わりを待たずにさっさと出勤してしまうとか。仕事と家を混ぜるよりは、仕事の家の境界を交渉する方が健全というか、チート感が少ない気がする。ハードコア九時五時だと現状の給料を正当化できないんですよ、とかいって。

日常でも、たとえばジョギング中に podcast を聞くのは諦めて仕事のことに頭を使う日があっても良い。あと交通事故で自転車が壊れて以来出勤意欲および手段を失いほとんど WFH してるんだけど、いいかげん自転車を買って所定の日数は会社に行ったほうが良さそう。通勤という時間は、無駄といえば無駄なんだけど、考え事バッファとしてあってもいい気がする。


仕事に限らず、自分からは「考える時間」が失われているなと思う。前のブログの目次を見ると、2020 年の 2 月と 3 月の間には明らかな頻度の断然があり、それは回復していない。今となってはどうやってそんなにたくさん書いていたのか想像すらできない。そういえば会社で昼休みに書いていたこともあった気がするな。家だとそういう切り替えができない。自分は会社オフィスのある生活に最適化された旧世代なのだろうね。まあ家は狭いので仕方なし。

Social Media 復帰 (に失敗)

ここ二か月くらい、またソーシャルメディアで管でも巻いてみるかと思い、Twitter に新しくアカウントを作りログインしていた。動機としては、近所・・・つまりベイエリアとか・・・にすんでいる日本人の知り合いが増えたらいいなというもの。

が、この目論見はうまくいかなかった。全然。

まず、近所に住んでいるとおぼしき人々の Twitter 上での発言を自分が楽しめなかった。海外在住日本人のソーシャルメディアはどうしても expat 的な自意識が働きがち。必ずしも出羽の守とまではいかないけれど、日本から見た海外在住者としての自分をコンテンツにするメディアの圧力がある。そういうの、地元民として接したい身からすると鬱陶しい。東京に住んでたらその手のことわざわざ書かないでしょ、みたいな。あとベイエリア固有の現象として、つよつよエンジニアとしての自分をコンテンツにしている人も多い。意識低く生きている自分はそういうのも眩しすぎて苦手。これらのマジョリティ(?)を排除していくとちょっと個性のある主婦っぽい人のアカウントしかフォローに残らず、こうした人々の内容は割と好きなんだけど、主婦だけフォローしてる中年男性の自分どうなの・・・という居心地の悪さが拭えない。

Expat 及びつよつよエンジニアの皆さんは、実際にオフラインで会って話すと必ずしも悪い人々ではないのだが、Twitter というメディアとしての圧力が人々の中にある自分の苦手な側面をあぶりだし、強調してしまう。それが厳しい。

新しい知り合いが増えそうにないなら、せめて旧知の関係を温故しようと地元の知り合いをフォローしてみた。これは悪くなかった。知り合いたちに expatty な面がないとはいわないけれど、相手の素性を知っているので近況報告としての側面がネガティブな気持ちを上書きしてくれる(場合もある)。ただ、我ながら知り合いの少なさを痛感してしまった。知り合いが少ない以上に、Twitter 上で発言している知り合いが少ない。もうちょっと発言してくれればいいのだが。

ただいざ久々に Twitter をしてみると、人々の発言が少なくなるのもわかる。というのは、面白いことを書くのは難しいのだよね。たとえば自分だと会社に行って・・・というか最近は出勤すらせずもっぱら家で働いて、家事子守して寝る、みたいな暮らしをしており、書くことがない。自分は最近は炊事を熱心にしているのでメシ写真とかを投稿してみたものの、別に特段素敵なものを作っているわけでもない。週末のハイキング先の写真とかは面白くないなりに記録としてはアリだけど、だいたい現地にアンテナがなく投稿できない。

結果として自分の発言にコンテンツとしての価値がうまれない。仕事とかテクノロジー話とかを書けば一定程度の面白さはあるんだろうけれど、地元の人々と接する文脈では役に立たないどころか、非地元の日本語圏アカウントを呼び寄せてしまい関係形成の観点からうれしくない。つまらないことでも書けばいいといえばいいけど、それだとだれも自分をフォローしないよね。つまり Twitter で知り合いを増やしたいなら自分に「面白さ」すなわちコンテンツとしての価値が必要で、しかしそんなもの、普通はないのですよ。プログラマという職業的な側面や、インターネット中毒者としての側面をフィルタすると特に。

個人のコンテンツ化という視点でみると、この地の人々が expat やつよつよエンジニアになるのもわかる。それなら比較的簡単(というと怒られそうだけど)にコンテンツとしての価値を提供できるのである。自分がローカルで価値のあるコンテンツになろうと思ったら地元民として熱心に活動する必要があり、つまり買い物・外食・イベント・地元ニュースなどに気を配らなければならず、じっさいその手のお役立ちアカウントをフォローするとありがたいわけだが、自分がそんな活動をする気にはなれない。つまり自分は Twitter 上に存在する価値がない。Twitter は「発信」することがある人たちのプラットホームなのだと思い知らされた。退屈な庶民に出る幕なし。

なお自分の妻氏は地元民としてかなりアクティブに活動しており面白いコンテンツをもっているのだが、それらはもっぱらプライベートなグループチャットに配信されているのだそうな。もったいない(余計なお世話)・・・。

この「コンテンツの価値フィルタ」によってアクティブなユーザを絞り込んでいる以上、Twitter 上に新しい人間関係を期待するのは筋が悪い。潜在的な近隣住人が大量にフィルタアウトされてしまうし、自分自身もフィルタされ他の人の目につかないから。そういうのは Twitter 以外の場所でやれということなのでしょう。


それでも Twitter 上で発言を続けている逞しい知人たちをフォローするためぼちぼち眺めたりつまらないことを書いたりしていたら、先の大富豪買収騒ぎが勃発した。個人的に大富豪の動向はどうでもいいのだが、人々がその話ばかりするせいで場の空気が悪くなってしまった。平和を求めてソーシャルメディアしてるんだから、キナ臭い話はしないでほしい。加えて、何人かの知り合いたちが Twitter から Mastodon に引っ越してしまった。もともとアクティブな知人の少ない timeline なので、数人いなくなるだけでもう 2-3 人しかアクティブな知り合いが残っていない。

といったところ嫌気が差して観念し、サインアウトしアプリは消した。ソーシャルメディア・・・というか Twitter ・・・に復帰しようとする試みは二か月くらいで頓挫したのだった。まあ、間が悪すぎたね。なお Mastodon は標準で RSS をサポートしているので、彼の地に旅立った人々の発言は feed reader で拝見してます。


問いが二つある。1. Twitter は、もし使うのであればどのように使うべきものなのか。2. 知り合いと交流したいならどこでやるのがよいのか。

まず Twitter の使い方について。ここは、自分を含む多くの人にとっては何かを発言する場所ではなくなっていた。自分は従来のアカウントで podcast の宣伝とかをする必要はあるが、なにか個人的なことを書く動機はない。何かを発言する場でもないし、従来の意味でのソーシャル活動、つまり管巻きとか社交、をする場でもないと思う。不可能ではないが、プラットフォームのインセンティブと合ってない。

ではどう使うのが正しいかというと、面白いこと、興味のあることを投稿している人・・・すなわち Twitter 有名人・・・をフォローして眺めるのに使うのだろうね。個人的な人間関係は混ぜず、発言もせずに、情報収集、ニュースメディアとして使う。自分だったら、興味深いプログラミング・ソフトウェア開発に関係するアカウントを沢山フォローして眺めるのがよいのでしょう。タイムラインもアルゴリズムに任せて、流行っているものを織り込んでいい。これはそのうちまた別のアカウントでも作って試してみたい。ただ子ができてから情報中毒者を引退し咀嚼スループットが失われているので、今は無理だな。意識が高まったときにでも挑戦します。そういえば昔 Nuzzel というツールでそんな読み方をしていたのを思い出した。Twitter に買収されてなくなっちゃったのだよな。

2. 知り合いと交流したいならどこでやるのがよいのか。たぶん都合のいいメディアというのは存在しないのでなんらかの努力が望まれる。ただここに書くには長すぎる話題なので割愛いたします。とりあえず Twitter でないことはわかった。そういう時代は 10 年くらい前でおわってました。

Book: How To Avoid A Climate Disaster

How To Avoid A Climate Disaster: Gates, Bill: 9780241448304: Amazon.com: Books

Bill Gates が書いた Zero Carbon Emission 指南書。自分は環境リテラシーが半世紀前で止まっており、なんとかしたいと思っていたので聴いた。その目的は完全に満たせた。Amazon のレビューが一万件くらいついててすごい。電力(how we plug), マテリアル(how we make things), 農業畜産(how we grow things), 交通 (how we get around), 冷暖房(how we keep cool and stay warm) と CO2 発生源を順番に紹介し、その問題と潜在的な解決を議論している。知らない話が多かった。なおこの項目はだいたい CO2 のシェア順になっている。

そのあと、テクノロジーのイノベーションがないとまったく不可能なので起業家とサイエンティストがんばれ、政府はちゃんとインセンティブを出せ、いらん法律は直せ、民間人は購買行動を通じてシグナルを伝えろ、と主張する。

しょうじき全然できる気がせず、人類滅びちゃうかもな・・・という気持ちにならないでもない。Climate Tech, まったく風評を聞かないがちゃんと儲かってるのだろうか。自分の好奇心外だっただけならいいんだけど。Biden も国民にばらまいてインフレを呼び込んだ税金を climate tech に回していたらよかったのに・・・。

子供を持たないアメリカ人のうち数パーセントは気候変動を意思決定の理由に挙げているらしいと以前読んだ。この話を知ったときはずいぶん想像力旺盛だなと思ったけれど、真面目に調べるほどそういう気持ちになりそうな気はする。

このあとも気が向いたらぼちぼち類書をこなしていきたい。

Year Of Desktop Linux

注文していた Desktop PC が届いた。HP Z2 Small Form Factor G9 Workstation をそれなりに盛ったスペックにしたもの。セールでそこそこ割り引かれていた。速い。

自分は以前 Laptop で Linux を使っていたのでかなりバイアスされているが、Year of Desktop Linux はもう来てるなと思う。これは別に Desktop Linux が良くなったからではなく、Desktop Computer というものの地位が低下したから。だいたいみんな PC 買うなら Laptop なわけです。Desktop PC を買うのって、ゲーマーとか「クリエイター」とか、一部の物好きな人たち。そういう人たちは laptop も持っている。desktop は二台目。

Desktop Linux は Desktop PC ユーザーの多くが必要とするものは持ってないのでニッチだが、そのニッチにはよく適合していると思う。つまり、プログラマとか、科学技術計算したいアカデミックの人とか。そういう人々の需要は満たしている。

そしてお店・・・というかオンラインで普通に変える。HP, Dell, Lenovo – 各社普通に Linux モデルを売っている。そういうのを買えばインストールのトラブルは(基本的には)ないのでセットアップはわりかし一瞬である。ライセンスとかドライバとか別途インストールする面倒が少ないので Windows よりよっぽどラク。

そして Linux が苦手なカジュアルかつモダンな計算機の用途は他のデバイスが満たしてくれる。音楽はスマホで聴くし、ビデオ会議は laptop でやるし、など。あと言うまでもないけど色々なものがウェブベースになったのは当然 Linux Desktop の実用性に寄与している。

こうなると別に手元ではなくクラウドとかに置けばいいのではという気にもなり、それは一理ある。クラウド各社は Cloud Workstation 的なものを提供しており、それらのデフォルト OS は Linux である。自分も仕事ではこういうのを付与され、使っている。手元にあったでかいデスクトップは処分した。ただ、個人で持つには高いのだよね Cloud VM.

まあとにかく Desktop PC を買った自慢です。画面がでかい。CPU が速い。ファンの音は許容範囲。満足。

読書活動 PPMP Ch.9, 10

CHAPTER 9 Parallel histogram

  • 面白くなってまいりました。
  • Baseline approach では、atomicAdd() を使います。Kernel から使える AtomicOps あるの?まじで?速いわけがないのはわかるだけに存在する事実にびっくり。しかも modern GPU の atomic ops は last level cache 上で完結できるらしい(hit した場合)。”Because the access time to the last-level cache is in tens of cycles rather than hundreds of cycles, the throughput of atomic operations is improved by at least an order of magnitude compared to early generations of GPU. This is an important reason why most modern GPUs support atomic operations in the last-level cache.” すごいじゃん!
  • Privatization: は thread block 間で独立に histogram を計算しておき、最後に合算する。contention が減るので速くなる。ただし相変わらず atmicAdd は必要。
  • 発展形で、per-thread block の histogram を shared memory に置く。もっと速い。atomicAdd は shared memory に対しても使える。
  • Shared memory って要するにプログラマがコントロールできる L1 cache なのだね。consistency とかないので write back や inter-core の invalidation とかが必要ないぶん便利ではあるが、それをプログラマが exploit しないといけないので大変。CPU は基本的にそういうのナシなので諦めがつきやすい。むかしのゲーム機とかだと consistency level いじったりするので似てたといえば似てたかな。まともな OS を載せるにはそういうの負荷だけれど。

CHAPTER 10 Reduction

  • reduce() ね。
  • 並列でやるには reduction tree をつくる。概念的なツリーであってデータ構造ではない。
  • このあと最適化の話があり、control divergence の最小化、memory coalescing の最大化、そして thread coarsening と全部入りの最適化ステップを踏んでく。面白い。
  • 特に control divergence の最適化で同じコードパスを通るスレッドが同じ warp に収まるよう細工するのはお見事。
  • こういうの、レイテンシ以外にどういう指標をみてチューンできるのかプロファイラの機能を知りたいねえ。

読書活動 PPMP Ch.8

CHAPTER 8 Stencil

  • Stencil は偏微分を計算するのに使います。Convolution に似てますが、問題の性質から最適化の仕方も変わります。
  • 問題柄三次元で計算がちですが、三次元のタイルはあまりでかくできませせん。したがって halo の割合が大きく DRAM アクセス帯域の効率を下げがちです。
  • そこで thread coarsening をします!つまりループを回して cube の一つの次元を iterate していく。Tile をシフトする必要があるが、再利用する cell は shared memory 間でのコピーなのでレイテンシの問題がない。
  • これは面白いところだよな。CPU だと ring buffer 的にインデクス側で rotate しそうなものだけれど(というか GPU でも同じことはできるけど、説明を簡略化するためにそういうロジックは省いているのかもしれない。)
  • アクセスパターンによっては shared memory を使うまでもなく、ループをまたいでレジスタ(ローカル変数)を使いまわせる。これを register coarsening という。

この本は地の文で「X 行目から Y 行目では ZZ をしています」とコードを解説するんだけど、あまりにフォローするのが難しいので文を読むのは諦めてコードをにらんで済ますことが多い。Literate programming スタイルで書いてくれればよいのになあ。

読書活動 PMPP Ch.7

CHAPTER 7 Convolution

さて具体的なテクニックの章に入ってまいりました。Convolution とか簡単でしょと思っていたが、ここまでの章を読むといくらでも複雑な高速化があり得ることがわかり、やや恐怖。

  • Tile 化するが、Convolution という計算の性質上 input のタイルを output のタイルより大きくしないといけない。
  • Input のタイルを output のタイルと同じ大きさに揃え、はみ出す分は L2 が hit することを期待するアプローチもある。って L2 あんのね。
  • どのアプローチが一番速い、という話はしない。ベンチマークしろということか・・・。