ときどきの雑記帖 RE* (新南口)
A Relic of the Empire
Joyfull
行こうかどうしようか悩んだんだけど、 とても今渋谷に出る気になれなかったので断念 (パトレイバーのアレもあるんだけどねえ>渋谷)。
二課の一番長い日
コラボあわせのYouTubeでの期間限定無料配信が前編だけなのはどうよ と思ってたら、前編の無料配信が終わった後に後編の無料配信と。 二課の一番長い日は最後のあのセリフが好きなんだよねえ😄
まあ、同じセリフでも、初めて観た当時と今観るのとでは 受け取る側(要するに自分だ(笑))の印象もだいぶ違うものだろうけど。
そう言えば、通勤経路や近くにある富士そばを数軒回ってみたけど 例のポスターは見当たらなかったでござるの巻。
イザベル・アジャーニ
南武線車内で流れていたニューズでそのお名前を見かけ (どんなニュースだったのかは忘れたw)、 反射的に「バトルプログラマーシラセ」を思い出した。
- 秋月郁/BPSバトルプログラマーシラセ | NeoApo アニメ・ゲームDBサイト
- 見なかったことにしよう (みなかったことにしよう)とは【ピクシブ百科事典】
- BPS バトルプログラマーシラセ 超法規的措置総集編 - ニコニコ動画
睡魔祭
これも車内ニュースから。 中文では「ねぶた祭」は「睡魔祭」 となるらしい。
青森睡魔祭|精彩盛事|Amazing AOMORI - The Official Aomori Travel Guide
京王新宿
京王線の新宿駅も色々変えるのね。
- 京王線新宿駅で改良工事 - 地下2階ホームを北側へ移動、改札も新設 | マイナビニュース
- 京王線新宿駅の改良に着手へ ホーム階に改札できるぞ!丸の内線との乗り換え便利に | 乗りものニュース
- 京王、新宿駅の改良工事に着手 駅を北側に移設し乗り換え動線改善へ - 鉄道コム
「ホームを北へ移設」というのがよくかわからなかった (ホームがどの方向に伸びているのかがわからん)けど、 車止めの位置をさらに奥にするということなのかな?
「左右」には広げる(移動する)余地ないものねえ。
ドクペ
関西人がわからない「関東の食べ物」6選。ぼんち揚げに似た歌舞伎揚など | 3ページ目 | LIMO | くらしとお金の経済メディア
そんなドクターペッパーを日本で販売している場所は、関東をはじめとした東日本の一部地域と沖縄県のみ。
へー。
以前アメリカで一緒に仕事をした人が ドクターペッパー好きだったんだよねえ(遠い目)。 ところでこの記事にも出てくる「ちくわぶ」が実は好物(のひとつ)。 大学時代の関西出身の友人にはひどい言われ方したけど😄
新刊近刊
WEB+DB PRESS Vol.136
いよいよ最終号(隔月刊としては?)
WEB+DB PRESS Vol.136、どこよりも早い表紙画像です!Python最新Web開発、実戦投入パスキーを大特集!8月25日発売です!#wdpress pic.twitter.com/pC04mmzvnu
— WEB+DB PRESS編集部 (@wdpress) August 3, 2023
データ分析失敗事例集
2節だけ書かせて頂いた、胃の痛くなる一冊が無事届きました!まぁ、あるあるばかりだとは思いますが未来のデータサイエンティストの卵の皆さんのご参考になれば幸いです〜! pic.twitter.com/vno8Mpur8J
— akiaki5516 (@doradora09) August 3, 2023
買おうとは思っているのだけど優先順位低め。
プロジェクト・シン・エヴァンゲリオン
別の本を探していたところ偶然見かけ (たしか「ビジネス書」の辺りにあった。まあ間違いじゃないんだろうけど)、 思っていたよりも小さな判型(厚みはある)だったので値段を確かめたら (5000円以上するような本だと思っていた) 1600JPY+sales taxだったので購入 (最初の目当て(のひとつ)が↑だったのはここだけの話)。
お待たせいたしました!
— 紀伊國屋書店新宿本店コミック売場 (@Kino_Comic) August 4, 2023
大好評につき即日完売となっておりました『#プロジェクト・シン・エヴァンゲリオン』が再入荷いたしました!
D01棚にて展開中です。jo pic.twitter.com/CmVJ2ak1Vd
Kindke版もあったのか。ならそっちで買った方がよかったかもしれない💺
インタプリタの作り方
楽天ブックス: インタプリタの作り方 -言語設計/開発の基本と2つの方式による実装ー - Robert Nystrom - 9784295017875 : 本
発売日 | 2023年09月26日頃 |
著者/編集 | Robert Nystrom, 吉川邦夫 |
出版社 | インプレス |
発行形態 | 単行本 |
ページ数 | 768p |
値段も5940JPYとそれなりのお値段。 ひょっとして、と調べてみると
- Crafting Interpreters by Robert Nystrom Crafting Interpreters by Robert Nystrom
- Table of Contents · Crafting Interpreters
- Crafting Interpretersを読んだ - Kludge Factory
の翻訳本らしい。
実はこの本を買おうかどうか悩んでいた(笑)。
言語を書く
本書はインタープリタのプログラミングを材料に、プログラミング言語の開発を学ぶものです。 プログラミング言語を構成する「字句解析」「式評価」「制御フロー」「関数」などの要素、 さらに本書では「クロージャ」「スーパークラス」「ガベージコレクション」などモダンな言語における定番の要素も取り扱います。 現代における言語の開発はプログラミングのテクニックだけでなく、さまざまなツールを駆使して見通しよく進めることが可能です。 本書は筆者の豊富な開発経験をもとに、その基本的な技法や知識を一通り学ぶことのできるものです。(以下略)
出版社 | インプレス (2023/9/26) |
単行本(ソフトカバー) | 768ページ |
ISBN-10 | 4295017876 |
ISBN-13 | 978-4295017875 |
寸法 | 23.2 x 18.2 x 3.1 cm |
やさしいインタープリタの作り方入門
んで、↑の本をAmazonで探しているときにHさんのこの本も引っかかったのだけど
やさしいインタープリタの作り方入門―オリジナルなインタープリタを作成する | 日向 俊二
ただし、姉妹書のやさしいコンパイラの作り方入門は本当にひどい本なので、絶対に買ってはいけない。
というコメントに笑った。 しかし、なんでこんなに高評価が多いんだ?
How AI Works
How AI Works | No Starch Press
こういう表紙絵のセンスが好き😄
Steering Council
Pythonがグローバルインタプリタロックの解消へ、マルチスレッド処理の高速化実現 - Publickey
例によって重箱の隅ではあるのだけど 翻訳文のそこかしこが気になる。たとえば
後方互換性には細心の注意を払いたいと思います。Python 3のときのような事態は起こしたくないため、 no-GILビルドに対応するためにサードパーティが変更したコードは、with-GILビルドでも動作するようにすべきです (古いバージョンのPythonとの後方互換性にはまだ対処する必要がありますが)
We want to be very careful with backward compatibility. We do not want another Python 3 situation, so any changes in third-party code needed to accommodate no-GIL builds should just work in with-GIL builds (although backward compatibility with older Python versions will still need to be addressed).
この辺。たぶん誤訳(と呼ばれるような部類のもの)ではないとは思うのだけど 今回はスルーして
Python Software Foundationのステアリングカウンシル(Steering Council)は、Pythonのグローバルインタプリタロック (Global Interpreter Lock)を解消する方向で開発を進めていくことを明らかにしました。
Steering Council
を単純にカタカナ書きで
ステアリングカウンシル
とされても
だからそれはどういうものなのよ
という点が引っかかった(すいません。あまり英単語を知らんのよ)
ので、とりあえずググると
steering committee
が上の方に出てきた。
なんじゃそれと思いつつsteering committee
の解説記事を読み、
それとは別にcouncil
を調べて
なんとなく納得した。
- ステアリングコミッティー(steering committee)とは? 意味・使い方をわかりやすく解説 - goo国語辞書
- STEERING COMMITTEE | 意味, Cambridge 英語辞書での定義
- councilとは・意味・使い方・読み方・例文 - 英ナビ!辞書 英和辞典
んが、別件で見つけた Pythonの運営評議会は、global interpreter lockの廃止をどう決定したのか|unknown protocol という記事に
Pythonの仕様はPEP(Python Enhanced Propozal)、つまりPythonの仕様を拡張するための仕様を誰かが提起し、 それをSteering Council(運営評議会)が決定することでPythonそのものに盛り込まれる。 インターネットの仕様に詳しい人であれば、RFCみたいなものといえば伝わるだろうか。 ちなみに、昔からそうだったというわけではなく、それまでPythonの生みの親であるGuido van Rossumが一人で決めていたのが、 2019年に引退を機に現在の運営体制になっており、その際の議論は、こちらに書いた。
という記述があった。なるほど。
- [B! Python] Pythonがグローバルインタプリタロックの解消へ、マルチスレッド処理の高速化実現
- [B! Python] Pythonの運営評議会は、global interpreter lockの廃止をどう決定したのか|unknown protocol
ところでこのblogの別の記事に リチャード・ストールマンがGNU宣言してからの32年|unknown protocol というのがあった。ちょっと興味をひかれたので読んだのだけど
GNUはGnu’s Not Unixの略で、私(I)が誰でも自由に使えるように書いているUNIX互換のソフトウェアの名前である。 WeでもOur projectでもなく「I」を使っている。個人的すぎる感じがするが、そこが凄いのかも。
そこに注目するのかー。と感心した。
GNU Manifestoの書かれた時点では
本当にStallman個人の活動だったようなものだから、
そこでI
を使うのはまあそうだよね。というところではあるのだけど
(他の部分にはWe
を使っているところもある)。
- GNU宣言 - GNUプロジェクト - フリーソフトウェアファウンデーション
- The GNU Manifesto - GNU Project - Free Software Foundation
- GNU宣言 - Wikipedia
FORTRAN Compiler on IBM 704
これは配列要素への代入
X(A+B)=Y
これは文関数の定義
XYZF(A)=Y
ではこれは?
(A+B)=Y
構文エラーだと思うんだけど、 ここしばらく追いかけているFORTRAN IIのコンパイラーは これを検出できるんだろうか? できていないような気がするんだけど 今注目しているところとは別のところで やっているかもしれず、要するによくわからない。
構文エラーでいえば文関数の定義で
XYZF(A+B)=Y
というのもエラーではじかないといけないはずだけど 検出しているのか(できるのか)不明。
XYZF(256)=Y
をエラーにしているのは見つけた。
level analysisの入り口付近で、 ループ終端付近の飛び先を変えているところがあって、 改めてその辺を注意してみてみると
*entry
LA0003 CLA MS9002 4F13797 CM4200
STA LA4320 4F13798 set CM4200
PXD 0,0 4F13799 clear acc
LDQ E+2 4F13800
STQ LAMBDA+11,A 4F13801 E+2
STQ LAMBDA+8,A 4F13802 E+2
STQ LAMBDA+5,A 4F13803 E+2
LGL 6 4F13804 get first char at acc
STO FIRSTC 4F13805 store it
SUB OPEN 4F13606 '('?
TZE LA003 4F13807 jump if yes
CLA MS4007 4F13808 CM4100
SLT 2 4F13809 function name?
TRA LA002 4F13810 no
SLN 2 4F13811 yes
CLA FINI03 4F13812 CM4300
LA002 STA LA4320 4F13813 set CM4100/CM4300
LA003 CLA E 4F13814
FIRSTCの内容が
- ‘(’ のとき CM4200
- ‘(‘以外で注目しているのがfunc nameのとき CM4300
- others CM4100
がLA4320に入るようだ。
そしてそれぞれでどのような操作をするのかを見比べてみると
*funcname *'(' *others
CM4300 TXI CM4301,A,-6 CM4200 TXI CM4201,A,-3 CM4100 TXI CM4101,A,-3
CM4301 SXD 3LBAR,A CM4201 SXD 3LBAR,A CM4101 SXD 3LBAR,A
TXI CM4303,C,-1 TXI CM4303,C,-1 *
CM4303 SXD ABAR,C CM4303 SXD ABAR,C *
TXI CM4102,B,-1 TXI CM4102,B,-1 *
CM4102 SXD CBAR,B CM4102 SXD CBAR,B CM4102 SXD CBAR,B
TXI CM4104,B,-1 TXI CM4104,B,-1 TXI CM4104,B,-1
CM4104 SXD NBAR,B CM4104 SXD NBAR,B CM4104 SXD NBAR,B
CM4105 *** MS010,0 CM4105 *** MS010,0 CM4105 *** MS010,0
MS020 CAL ADSTAR MS020 CAL ADSTAR MS020 CAL ADSTAR
TRA MS030 TRA MS030 TRA MS030
ふむ。
名前
意外と知らない名前 pic.twitter.com/IavZoTDCJ3
— 358ちゃん (@max358japan) July 26, 2023
差集合
cat a.txt b.txt b.txt | uniq -u で a.txt と b.txt の差集合が計算できるのな。かしこい!
— ELD-R-ESH-2 (@eldesh) August 2, 2023
というのを見かけ、え、なんでこれでできるんだろうか と悩んでしまったのだけど、 しばらく後で
s/cat/sort/
— ELD-R-ESH-2 (@eldesh) August 2, 2023
というのを見つけてずっこけたの巻。
平たいコード
引用リツイート(とは今は言わないのか)含め 当然のように「平たいコード」という言葉を使っているのだけど、 どんなコードをそう呼ぶのかよくわからん (自分の知識の狭さはさておき広く使われているもの?)。 誰か解説ぷりーず。
郷に入れば郷に従え。その時々に与えられた場でベストの仕事をする。事業企画が大事なら事業企画をする。コードにひきつけない。平たいコードを書くべき場なら平たいコードを書く。OOPにひきつけない。OOPが力を発揮する場なら、思いっきりそれをする。僕にとって仕事とはそういうものだ。
— 杉本啓 (@sugimoto_kei) August 5, 2023
これすごく重要だなーと思う。
— Jun Harada (@hrjn) August 5, 2023
平たいコードをみて発狂した強強エンジニア()がOOP的なコードを混ぜてしまった結果読解不能に陥ったコードを何度か見たことがある。
一度構造が崩れると割れ窓みたいなものでいろんな流儀が混ぜこぜになり、つよつよ天下一武道会みたいになって誰もメンテできなくなる https://t.co/xExUM1cwvL
僕が20歳の時に平たい関数群で記述されたベクトル計算ライブラリを見て、ベクトルクラスを作って演算子オーバーライドしていい見た目で記述できるように書き換えて、性能が出なくて捨てざるを得なくなるって体験をしたのはいい勉強になったのだなぁと思い出した https://t.co/24Pvazy7IB
— nishio hirokazu (@nishio) August 5, 2023
試しに「平たいコード」で検索してみたら LANなどの「フラットな形状のコード(ケーブル)」 ばかりが引っかかりましたの巻。
そう言えば、むかーし、関数に小分けにせずひたすら main(Cでの話だった)に処理を書いたものを 「ノベタン」と呼んでいたのを見聞きしたような記憶もあるが… (この「ノベタン」も麻雀用語すな)
訃報
Vimの開発者 Bram氏が8月3日に亡くなられたようです。Oh...
— ((🐑++)) (@Sheeeeepla) August 5, 2023
ご冥福をお祈りします。https://t.co/cG5PZ4S4jm
Message from the family of Bram Moolenaar
Dear all,
It is with a heavy heart that we have to inform you that Bram Moolenaar passed away on 3 August 2023. Bram was suffering from a medical condition that progressed quickly over the last few weeks.
Bram dedicated a large part of his life to VIM and he was very proud of the VIM community that you are all part of.
We as family are now arranging the funeral service of Bram which will take place in The Netherlands and will be held in the Dutch lanuage. The extact date, time and place are still to be determined. Should you wish to attend his funeral then please send a message to funer… @ gmail.com. This email address can also be used to get in contact with the family regarding other matters, bearing in the mind the situation we are in right now as family.
With kind regards,
The family of Bram Moolenaar
こういう文章のときに書くにもあれだけど、三番目のセンテンスにある
Should you wish to ~
は倒置(仮定法の倒置)ですね。
Rich Hickey
Rich HickeyがNubank(と商用ソフトウェアの開発)から引退するらしい。Clojureの開発には引き続き関わっていく。 https://t.co/LzfjdcJcJm
— athos)))))))) (@athos0220) August 4, 2023
もうわりとお年だと思うし、体力的に厳しいとかあるんかなと思ったけど、この書きぶりを見てるとむしろ自由が得られたことにだいぶ積極的な印象でよかった pic.twitter.com/9ndo7Pj0sa
— athos)))))))) (@athos0220) August 4, 2023
氏の年齢を気にしたことはなかったけど、 (勝手に)結構若い人なのではという印象を持っていたので 実際のところは何歳くらいなのかと
を見たが生年月日は載っていなかった。
Rich Hickey (February 1995), “Callbacks in C++ using template functors”, C++ Report 7 (2): 43–50. Reprinted in Stanley B. Lippman, ed (January 1996). C++ Gems: Programming Pearls from The C++ Report (SIGS Reference Library). pp. 515–537. ISBN 978-1-884842-37-5
という記述があるので、これを書いた時点で(若い方に傾けて)20歳くらいだったとしても今現在で40代後半にはなるのか。
というスレッドもあったので、公にはしていないっぽいですね
(42
というコメントはちょっとウケた)。
- (next Rich) | Hacker News
- Clojure - (next Rich)
- Rich Hickey is retiring from Nubank | Hacker News
- Clojure’s journey at Nubank: a look into the future - Building Nubank