ToDo:
なんか kati が話題になってたので検索してたら、あまり関係なく、 AOSP が bazel 使うというのを知った。キメラぷりに磨きがかかりそう
https://blog.bazel.build/2020/11/12/aosp_migrating_to_bazel.html
個人的には、 bazel 別に好きじゃなくて……まあ好きじゃない理由は毎日使うものは java で書かれててはいけないみたいな宗教的な話だけど……ビルドマニフェストが宣言的に書かれていないといけない、はそれはそう、なんだけど、それはその、大前提で、 make とかがダメすぎるだけで、他の宣言的なツールに優越する理由にはならない、と思う
cmake のあの文法は本当に悪い意味ですごいとは思うのだけど、宣言的である時点で他よりは良いよねとか。
ビルド環境を思い出していく……
ビルドツールうんぬんじゃなくて、小規模プロジェクトに関わってる時に幸せを感じてるのがわかる
bazel の見つけた時に回りのツイートにちょっと嬉しくなって
https://twitter.com/DanielMicay/status/1333030091757072384
からの連ツイートはそういやこんなの頑張ったなーという感じだった。環境変数変わった後にちゃんとビルド走るとかね。思い出すに中で使われる find コマンドの結果が変化するか、とかもチェックしてるんだっけ。そのへんの高速で、病的なケース以外は間違えない、みたいなの結構がんばった気がする。たぶん
(20:28)
https://qiita.com/kaityo256/items/a98cc311a504751b08a9
を見て、僕は B/F を上げろって言ってるんじゃなくて、 B を限界まで使いやすくしてほしいのかな、と思った
オープンなのが良い、に賛同してしまうが……はて
(02:07)
https://www.amazon.co.jp/dp/B00MGS8LHI
おすすめされてたので読んだ X JAPAN の人の洗脳体験談。暗いノンフィクション好きだけど、これはトップクラスで面白かった。なんというかトップアイドルと洗脳されて虐待されてるのの落差がすごすぎて笑うし、そのレベルの人を洗脳できるのすごいなって
敵役自体は、他のカリスマ洗脳士に比べるとだいぶお粗末な印象を受けるけど
(11:44)
https://pineapple.blog/c-20-2f22bc481046
via https://twitter.com/yusk_/status/1340119734986018816
僕も普通に書けばいいんだよ、凝ったことしすぎんな派だと思う。最新の言語機能を学ぶことや新しい言語を学ぶとかもあまり興味が持てなくなってて、昔の自分とかはなんだコイツ、て思うかもしれないけど、他にもっと興味が移ってるだけなんで許して欲しい
なんだけど、新しい言語機能覚えよう、使ってみよう、みたいな気持ちは割と自分を育ててくれたものだと思ってるので、なんかある程度は大切にしたいな……という気持ちがある
仕事だと自分は古いぽいコードを書きつつ、他の人の書いたコードで、オッこんなことできるのか、みたいなのを真似たりしてる。なんかちょっと前、つねづね使ってやりたいな……と思ってたユーザ定義リテラルを使ってみたりもした
今は、グーグルと違ってあまり強いコーディング規約が無くて、割とみんなが自分の書きたいように書いてる。あまりスタイルとかで他の人に過干渉もしない感じ、というかそんなことやってる時間がない。でも、人数も多いわけでもなく、みんななんとなく空気を読みあってるからそこまで inconsistent にはなってない、くらいになってて、割と心地良いように感じてる。スタイルが場所や時期によってかなり一貫性がないので、こういうのが苦手な人はウッとなる気がする。でも、画一性高めすぎると新しい書き方に触れる機会も減る気もするし
具体的な内容見てくと、僕は現段階では std::iota(1, 10) | reverse までは良くなったと感じる派だな、と思った。 for (int i = 0; i < 10; ++i) は単純に i が複数回出てくるのが単純にメンテ性落としてると思ってる。ところで reverse に std:: いらないのは ADL だよね。良いな、と思う反面、 my_project::MyRange(1, 10) | reverse がコンパイルエラーになって苦しむ初学者があらわれるんだろうなあ、と悲しい気持ちにもなるやつだ
filter からは微妙。この規模なら全然 OK だけど、 condition がもちょい複雑になってくると普通に書いた方が良いやろなあ、という気分。読みにくくなってる、ていうと老害オツかもしれないんだけど、たぶんコンパイルエラーがわかりにくくなることと、ロジックがより複雑になった時にデバッグがしづらいというのがあって。書き心地より読み心地とデバッグしやすさを重視した方が良くて、デバッグしやすさは printf 入れやすいとか、 gdb でちゃんと追えるとか考えた方が良いと思っている。デバッガとかはなんかやっぱ言語とセットだと思うので、良い言語機能でもデバッグがしづらくなるのは導入をためらった方が良いかなあ、と
なんか最近常に同じ話しかしてない気がするけど、 C++ は、いいかげんデバッガとかバックトレースとかDLLにマジメに取り組んで欲しくてですね。。
最後に、どうでもいいけど、 C++ の std::iota て step 指定できないの……?
(21:43)
見てたら電源抜きさししてメモリ揮発させるのを調節する用途でホットプレート使っててわらった。あとなんか初期ROMでバグったデータ作って後期ROMの裏技使いたいからフロッピーディスクでデータ移動してたのかな
(16:36)
I use Bing て名前わらた
https://twitter.com/gynvael/status/1320412081284329472
日本のチームの連合らしい
(18:36)
https://qiita.com/omiita/items/f24e4f06ae89115d248e
なるほどなあ。これむっちゃ単純なのに、地味に固定のトレーニングループの前提を破壊する感じだな
(22:22)
https://berthub.eu/articles/posts/reverse-engineering-source-code-of-the-biontech-pfizer-vaccine/
なんかよくわからないけど面白いなあと思った
あとなんかこういう感じでビジュアライザがあるんだなあ……と
https://www.ncbi.nlm.nih.gov/projects/sviewer/?id=NC_045512&tracks=[key:sequence_track,name:Sequence,display_name:Sequence,id:STD649220238,annots:Sequence,ShowLabel:false,ColorGaps:false,shown:true,order:1][key:gene_model_track,name:Genes,display_name:Genes,id:STD3194982005,annots:Unnamed,Options:ShowAllButGenes,CDSProductFeats:true,NtRuler:true,AaRuler:true,HighlightMode:2,ShowLabel:true,shown:true,order:9]&v=1:29903&c=null&select=null&slim=0
(21:38)
コロナ除くと chainer 終了が大きかったかな……と思ったけどそれは去年だった
コロナは、自分の生活への影響ということだけを考えると、とても大きな事件だった。 911 とか地震とか、運良く、僕個人の生活にはあまり影響がなかったので。影響だけで言うとリーマンショックとかは収入への影響が大きかったのかもしれないけど、あまり理解してなかったな
コロナは、正直世間には申し訳ないが、うちの生活は向上したくらいな気がしている。二人とも精神状態が良い。一応仕事を10年以上やってることもあり、転職からは十分に時間が経ってたこともあり、出社しないと困るということは何も無かった。たまたま仕事が楽しい時期ということもあり、やることなければ、まあ暇潰しに仕事するか……となるだけだし。今のタイミングの新卒の人とかは大変そうだなーとは思っている
海外旅行できなかったなーというのはあるけど、まあ goto とかで国内旅行はしたしなぁ。コロナ以降、出社は15分くらいしかしなかったけど、普通に出歩いてるし大手町を通ったりはしてる、みたいな話をしたり。うちは全く出てない、みたいなことを言われて、なんか人によって対応の温度感が違う感じやね……と思ったり
会社はなかなかラクではないようだ。客が苦しいとこちらも苦しいという話だろうと思う。そういう意味では向上したというだけではないのだろうけど、会社のことは、議論とかもするけど、どことなく他人事というか、まあ所属組織に思い入れとかを持ちにくい考え方なのだろう。まあ会社が小さいぶん、グーグルにたいしてよりは PFN にたいしての方が思い入れはあるけど
生活といえば、なんかの間違いで中途半端にオサレ物件に引越してしまって(メゾネット!)、快適は快適なんだけど、コスパ悪って感じなので、まあまた引越すんだろうな。もう埼玉あたりでいいんじゃない、という感じなので、まあそうなる気がする。ただなんか、対面飲み会とかは、それはそれで恋しいものが少しあるし、遠すぎるとコロナから回復した後も全く出社しないのはそれはそれでどうなんだろう……という気もする。いやどう考えても自分のラクさを取る気もするが
WFH ラクなんだよなあラクだなあ……時間があまるぶん、仕事をするというのがある。愛社精神は足りてないが、特に苦もなく仕事できるもんだから、たくさん仕事をした。たぶん人生で一番働いた年だったと思う。たくさん働くのは美徳でもなんでもなく、労働を安くして他の人を不利にする悪行である、と思ってる僕ではあるけど……まあベンチャーなんだしいいんじゃね、としている。いや、ダメな気がするけど……自分の過剰労働を置いておいて、過剰労働を必要とする態勢を罵倒するダブスタ野郎になっていた。いや、過剰労働と言っても、まあせいぜいどのくらいだろう。1日10時間とかくらいな気がするので、普通の感覚ではたぶん、ちょっと多めくらいな気がする。まあ僕にとっては過剰ということで
罵倒といえば、強い言葉を使いすぎているというのがあって、なんか元々口は災いの元タイプなんだけど、その傾向が強くなってると思う。後で思い出して恥ずかしいやつなので、まあ控えたいな……ただ語調はともかく、思ったことをはっきり言っておくのはおおむね良いことが多いような気がしている
PFN はこうプロジェクトごとに割と文化がガラっと違うので一概には言えないぽいのだけど、今の自分の回りの人がおだやかな、静かな人が多くて、なんかおかしいな、と思った時にすぐ言わないと、割とそのまま流れて決定になっちゃう気がしている。だからまあなんかちゃんと言った方が良いことは多い気がしている……でも語調強い必要はないよねという話は当然あるのと、あともう一つ、僕が間違ってる時に困るというのがある。なんかたまに、間違った主張してるのに押し切れてしまっていることがある気がする……いや、普段静かなんだけど、僕がおかしなこと言ってる時にちゃんと潰してくれる人達というのは普通にいて、まあそれはとてもありがたい
まあ人々が静かでも強力なリーダーシップを持ってる人がいれば大丈夫という気がしていて、なんかそのへんは PFN もともと組織構造的にも集めてる人的にも弱いところなのかなあ、という気がしている。いや、 VP/director レベルの人がすべからく強いリーダーシップを持っている、グーグルがそのへんの意味で恵まれすぎていただけかもしれない。僕の言う強いリーダーシップというのは、1ヶ月後にキャンセルされるプロジェクトに従事している人に対して「これは会社にとっても最も重要なプロジェクトの一つだ……お前の貢献には感謝している、今後も頑張ってくれ」と目を見て言えるサイコパスのことなので、まあなんというか、かなり特殊技能というか、その能力を持っていないことを気に病むような性質のものではないと思っている……
仕事は……去年は chainer 閉じるとか、使うチップの選定だの、推論のデプロイ案件がどうこうだの、なんかごちゃごちゃと色々あった感じだったのだけど、今年は基本的に MN-Core のことだけ考えてた。いやデプロイも一つか二つあったけど
MN-Core は……こう僕のイメージでは cudnn とか mkldnn 的なやつをチップに詳しい人が作って、それをうまいこと使う感じなのかな、と思っていた。なんかでも、それは既にあるソフトウェア資産的にも、人の労働力的にも、色々と難しそうだなあと思ったのが去年で、なんかそれから積極的に関わるようになって、今に至っている
少なくとも1人プラス既にチップ関係に存在してる人の片手間、ではどうしようもなさそうだったので、とりあえず新しく採用した人2人と僕の3人ですごい基本的なことを色々やって、いつごろまで3人だったんだっけ……今年入ったくらいで、今の方向性でなんかそれなりにソフト書けそうみたいな雰囲気を説得できたのか、単にあまりに何もできてなくて焦ったのか、どかっと人が増えて、新卒とかも入って、今の体制になった。なんというか進んでないプロジェクトにドカっと人入れるとかバッドシグナルでしかない気がするけど、まあギリギリ人が来ればスケールできるくらいの体制になってたのでなんとかなったという面が少しと、入る人が有能でなんとかしてくれた、という面があったのかな
全てに満足とは言えないけど、強い人達がそれぞれに自分の強みを生かして働いている感じで、なるほどーということも多く、わりと楽しい。色んなものが期待通りではないものの動き始めていて、「何も動いてないけどこれやり続ければなんとかなるはず……」的な精神的には一番厳しいフェーズが終わった気がしている
問題の難易度を考えると、びっくりするくらいうまくいっているというか、そんな気がしているのだけど、気のせいかもしれないし、そもそもこれは解くべき問題なんだろうか。。という感もある。ここで書いた、「重要性のある簡単な問題を解く」方がコスパいい問題というか
http://shinh.skr.jp/m/?date=20200703#p01
いや僕個人としては、日々他で全く有用でなさそうな経験や知見を得て、とっても楽しいので良いのだけど。あと、ハードウェアの進歩(退化かもしれんが)の方向性として、まあ MN-Core みたいな演算器ヘビーなやつが今後もどんどん増える、てのは、まあそんな気もしている。つまり案外役に立つ経験という可能性は、薄いけど、ありそう
今年は視野を狭めて集中する年だったので、また俯瞰みたいなことに時間使いたいなと思っている。 TVM とか今どんな感じなんだろう。追わなくなってしまっている。あと CV 飽きたなという感がある。まあそれは別のこともやれそうな雰囲気が既にある。あとはせっかくなので HDL とかもっと読む感じになると楽しいかもしれないけど、どうだろうな……
あとは、引き続き普通に生きるというのと、引越しかな……引越しはあんま積極的にする必要もないのだけど
(23:16)
前 | 2020年 12月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
_ karino2 [いつもboost::counting_rangeみたいなのを自前で作っていたのだけど、iotaなんてあったのか、と思..]
_ shinh [昔の iota は何考えて API が便利だと思ったんだろう……系の何かですよねえ]