ときどきの雑記帖 RE* (新南口)
特別機動捜査隊
仮面ライダーX@MX
6/30の放送が最終回。 来週からは仮面ライダーアマゾンだそうな。 このままストロンガーまで(あるいはその先まで)突っ走るんだろうか?
vガンのセレクション放送の方を観ていた時期と被っていたので いつ変わったのかはわからないのだけど、 Xの「変身」って途中から「せたっぷ」じゃなくなってたのね。 「大変身」とか記憶に全く残ってなかったわ(笑)
ところで終盤に2号さんとV3が助っ人参戦してきたのだけど、 1号さん(とライダーマン)が来なかったのは いわゆる「大人の事情」ってやつ?
ところで^2、円谷アワーの復活はないんですかねえ>MX
セミ
あのあとちょっと調べてみたのだけど、 あの鳴き声の主はニイニイゼミだったっぽい。 意識したことはなかったけど昔からいたのかもしれない (生息域は結構広い>ニイニイゼミ)。
トンボ
で、別の日の早朝にでかいトンボを目撃。 つーても一瞬のことでちょっと離れたところを飛んでいたのに 気がついただけなので種類やらは不明。 ただ、 昨年ギンヤンマっぽいものを見かけた場所の近くなのでそれと同種の可能性はあるけど、 そもそもあんなトンボのヤゴが成長できる環境なんてあるのかねえこの辺に (なきゃあ成虫もいないか)。
現代思想2023年7月号
買った。 久しぶりに買ったのだけど(前回買ったのは圏論特集のとき?) こんなに高い本(雑誌)だったっけ?
ダムエー
とある記事目当てに 久しぶりにガンダムエースを買おうかと思ったのだけど、 手に取ってみてその厚さにびっくり。 いつの間にこんなに厚く…
それはそれとして、今はKindle版もあるのか>ダムエー
バウアー
こうなるか(笑)
DeNAバウアーに早くも「争奪戦」勃発! 巨人・ソフトバンク・楽天が獲得調査中で「年俸10億円から交渉スタート」 | アサ芸プラス
そしてタイロン・ウッズとかマーク・クルーンを思い出すなど。 まあ、バウアーに関しては今年の条件が特殊すぎるよねえ…
awk
なんと第二版がでるのだそうだ>awkのバイブル本
The Awk Programming Language, Second Edition | Hacker News
I was privileged to be one of the technical reviewers for this book. There’s a fair bit of the original content (which is still great), but Kernighan’s done a great job with some good restructuring and some significant updates, too. The early chapters are very hands-on, with something of a focus on “exploratory data processing”, particularly with CSV files. Big data with AWK, you could say.
Gawk and awk will soon have a new “–csv” option that enables proper CSV input mode (parsing files with quoted and multiline fields per the CSV RFC). I’m really glad Arnold Robbins added a robust “–csv” implementation to Gawk, too, because that’s really the most-heavily used version of AWK nowadays. I’ve already got CSV support in my own GoAWK implementation, and I’ll be adding “–csv” to make it compatible.
I’m really glad this new updated version is coming out!
最初のコメントを書いているこのbenhoytという人は 勘違いでなければgoでawkを書いている人。
csv関連の機能の実装がgawkであまりアナウンスされてなかったの、この辺と関係あったりするんだろうか (出版の時期と合わせてメジャーバージョンアップ&アナウンスするとか)?
The AWK Programming Language, Second Edition
This page is a placeholder for material related to the second edition of The AWK Programming Language. The first edition was written by Al Aho, Brian Kernighan and Peter Weinberger in 1988. Awk has evolved since then, there are multiple implementations, and of course the computing world has changed enormously. The new edition of the Awk book reflects some of those changes.
The book will be available by the end of September. In the meantime, we will add material that we hope will be of interest – historical documents, bits of code, and occasional essays on Awk and related topics.
そういや(mawkの)Mike brennanは今どこで何をしているのだろう
新刊近刊
これは「なっとく!」がタイトルについている一連の翻訳本のつづきかな。
第5版かあ。初版はずいぶんと前だったと思うけどどんなペースで 改訂されていたのかをAmazonでざっと調べてみると
初版 | 1992/5/1 |
改訂版 | 2001/6/1 |
改訂第3版 | 2008/10/2 |
改訂第4版 | 2017/11/25 |
ふむ。自分が買っていたのは初版かな。
brace expansion
bash のブレース展開便利だしわかりやすいのでよく使っちゃうんだけど、確認中になんかおかしいな?と思ったら手元のmacのbashがすげー古くてゼロパディングの挙動が違うっぽかった。うける
— えむばーど (@m_bird) June 29, 2023
bash-3.2$ echo {01..05}
1 2 3 4 5
bash-5.0$ echo {01..05}
01 02 03 04 05
こういうネタは大好物なので(ry
まずはマニュアルをということで Brace Expansion (Bash Reference Manual) を見てみたがそれっぽい記述は見当たらず。
そこでbash brace expansion leading zeroで検索して引っかかったのがこれ。
Bash version 4 allows zero-padding and ranges in its brace expansion:
In ksh and in older bash versions, where the leading zeroes are not supported directly by brace expansion, you might still be able to approximate it:
ふむ。ということで NEWSを見てみると
This is a terse description of the new features added to bash-4.0 since the release of bash-3.2. As always, the manual page (doc/bash.1) is the place to look for complete descriptions.
z. Brace expansion now allows zero-padding of expanded numeric values and will add the proper number of zeroes to make sure all values contain the same number of digits.
なるほど。
Red Hatのアレ
アレ自体に対するコメントはないのだけど (tnozakiさんなら何と言っただろうか気になるけど 予想できなくもない?)、
Red HatがクローンOSベンダを非難、「付加価値もなくコードをリビルドするだけなら、それはオープンソースに対する脅威だ」と - Publickey
Simply rebuilding code, without adding value or changing it in any way, represents a real threat to open source companies everywhere. This is a real threat to open source, and one that has the potential to revert open source back into a hobbyist- and hackers-only activity.
単にコードをリビルドするだけで、付加価値や変更を加えることをしないのであれば、それはあらゆるオープンソース企業にとって真の脅威なのだ。 これこそオープンソースに対する真の脅威であり、そしてオープンソースをホビイストやハッカーだけの活動に逆戻りさせてしまうかもしれないのだ。
threat
が脅威で、
a real threat
が「真の脅威」とはまあそうなのかもしれないけど、
原文でa real threat
が二つの連続した文でまったく同じ形で出てきているのが
ちょっと引っかかる。英語(の文章)ってこういう単純な繰り返しを避けるオヤクソク
なかったっけ?
それと、一つめのa real threat
が
(Simply rebuilding code) represents a real threat
で、
二つめがThis is a real threat
なので、ニュアンス的に何か違いがありそうな気がする
(勘違いかもしれない)。
MID$ statement
6809機か! https://t.co/e8wpMLjfc0
— ほうめい マイコンで遊んでばっかりで (@houmei) June 27, 2023
というツイートや HNの Microsoft BASIC for the Dragon 64 | Hacker News で6809用のMicrosoft BASICのソースコードが公開されたらしいということを知って さっそくアクセス
- The Source Code for Microsoft BASIC for the Dragon 64 available
- GitHub - davidlinsley/DragonBasic: This repository contains the source code for the Dragon 64 versions of the Microsoft 16K BASIC Interpreter for the Motorola 6809 (aka BASIC-69 and Extended Color BASIC).
目当てのMID$ statementは https://github.com/davidlinsley/DragonBasic/blob/main/src/ECBEXT.SA#L433 にあったのでざっと見てみたが …はて? ということで例の 6809/sbc/combined/combined.asm at master · jefftranter/6809 のコードと比較してみると
L86D6 JSR GETNCH LHMID$ JSR CHRGET Eat the second byte of the function
JSR LB26A JSR CHKOPN token and the left parenthesis.
JSR LB357 JSR PTRGET X:=pointer to left string
PSHS X PSHS X Save it.
LDD $02,X LDD &2,X X:=pointer to left string data.
CMPD FRETOP CMPD STKTOP is it in string space?
BLS L86EB BLS LHMD05 No, must copy.
SUBD MEMSIZ SUBD MEMSIZ
BLS L86FD BLS LHMD10 Yes, don't copy.
L86EB LDB ,X LHMD05 LDB ,X Get the required amount of string
JSR LB56D JSR GETSPA space.
PSHS X PSHS X Save the pointer to the free space.
LDX $02,S LDX &2,S Copy the string.
JSR LB643 JSR MOVINS
PULS X,U PULS X,U Put the new string data address into
STX $02,U STX &2,U the string descriptor.
PSHS U PSHS U Resave the descriptor pointer.
L86FD JSR LB738 LHMD10 JSR COMBYT Skip comma, B:=offset into left string.
PSHS B PSHS B Save the offset.
TSTB * CHECK TSTB Give a Function Call error if the
BEQ L8724 BEQ XRFC1 offset is zero.
LDB #$FF LDB #&255 Assume no third argument, in which
CMPA #')' CMPA #CLSPAR Arrived at the closing parenthesis?
BEQ L870E BEQ LHMD30 Yes, no third argument.
JSR LB738 JSR COMBYT No, skip the comma and evaluate the
L870E PSHS B LHMD30 PSHS B Save the number of chars to replace.
JSR LB267 JSR CHKCLS Eat the closing parenthesis and
LDB #TOK_EQUALS SYNCHK EQULTK the equals sign.
JSR LB26F
BSR L8748 BSR EVLSTR Evaluate the right string
TFR X,U TFR X,U Save pointer in U.
LDX $02,S LDX &2,S X:=pointer to left string descriptor.
LDA ,X LDA ,X A:=length of left string.
SUBA $01,S SUBA &1,S Is the specified offset beyond the end of the left string?
BCC L8727 BHS LHMD35 No.
L8724 JMP LB44A XRFC1 JMP FCERR Yes, give FC error.
L8727 INCA LHMD35 INCA No, A:=number of chars between the
CMPA ,S CMPA ,S Is the number of chars that can be
BCC L872E BHS LHMD40 Yes, use the use the specified or default number.
STA ,S STA ,S No, use the lesser number.
L872E LDA $01,S LHMD40 LDA &1,S A:=offset into left string.
EXG A,B EXG A,B A:=length of right string,
LDX $02,X LDX &2,X X:=pointer to left string data.
DECB DECB X:=pointer into left string
ABX ABX where replacement will begin.
TSTA TSTA Is the right string null?
BEQ L8746 BEQ LHMD60 Yes, no replacement can be done.
CMPA ,S CMPA ,S No, is the right string shorter
BLS L873F BLS LHMD50 Yes, only replace the number of chars
LDA ,S LDA ,S No, use the replacement count
L873F TFR A,B LHMD50 TFR A,B B:=number of chars to move.
EXG U,X EXG U,X X:=source pointer (right string),
JSR LA59A JSR COPLOP Go move the characters.
L8746 PULS A,B,X,PC LHMD60 PULS D,X,PC Clean up the stack and return.
L8748 JSR LB156 EVLSTR JSR FRMEVL Evaluate a formula.
JMP LB654 JMP FRESTR Make sure it's a string, free up
マクロを使っているらしいところがあるのと ニーモニックの違いはあるけれども基本同じもののようだ。 そして文字列内容のコピーをするところも
https://github.com/davidlinsley/DragonBasic/blob/main/src/ECBM64.SA#L812
XDEF COPLOP
COPLOP LDA ,X+ Get a byte.
STA ,U+ Move it.
DECB Do it eight times.
BNE COPLOP
COPRTS RTS
文字列内容のコピーは最後にやっているし、
変数の管理情報の書き換えはそれ以前にやっているしで
これも実際に動かすと11111
になりそうなんだよなあ。
このDragonBASICは82年頃のもののようで、F-BASICなどよりもあとのもの。 とすると、やはりF-BASICなんかは Microsoft以外の開発者が手を入れている可能性が高そうではあるのだけど さて。
だれかF-BASICかS-1 BASICあたりのROMを逆アセンブルして調べ(ry という与太はさておき、 ふと気になってF-BASICの起動画面を検索してみたら
FUJITSU MICRO 8 NASIC Version 1.0
Copyright (C) 1981 By FUJITSU/MICROSOFT
ってCopyrightに富士通も入ってるのね。 N-BASICの起動画面ではNECは入ってないのに。
FORTRAN Compiler on IBM 704
さてFORTRAN IIのソースコードでは 1から4まである センサーライトなるものを使って あるものの状態を管理しているようなのだけど
LA0041 SLT 1 4F13840
TXI L43130,B,1 UNARY... -(N+2) TO -(N+1) 4F13841 N = N - 1
TXI L13130,B,1 BINARY... -(N+2) TO -(N+1) 4F13842 N = N - 1
*
LA0044 CLA FIRSTC 4F13843
CAS OPEN EXAMINE SYMBOL 4F13844
TRA LA0050 4F13845
TXI LA0058,B,-3 -N TO -(N+3) 4F13846 開きガッコ N = N + 3
LA0050 SLT 1 4F13847
TXI LA4000,B,-1 UNARY... -N TO -(N+1) 4F13848 N = N + 1
TXI LA1000,B,-1 BINARY... -N TO -(N+1) 4F13849 N = N + 1
算術式のコンパイルでは3と4は使っていない模様 (ソースコード全体では使っているところはある)。 そして1と2でなんの状態を管理しているのかというと
>grep -e "^.\{7\}SL[TN] [1234]" stateb.asm
MS210 SLN 1 TURN , LITE ON. 4F13570
SLN 1 TURN = OR ) LITE ON. 4F13674
MS335 SLN 2 TURN FUNCTION LITE ON. 4F13706
SLT 2 IS THIS A FUNCTION NAME 4F13751 2
SLN 2 YES - TURN F LITE BACK ON 4F13753 4
SLT 2 4F13809
SLN 2 4F13811
SLT 2 + OR - SIGN 4F13829
LA0041 SLT 1 4F13840
LA0050 SLT 1 4F13847
SLT 2 ** 4F13856
LA0015 SLT 2 * OR / 4F13863
SLN 1 4F13874
SLN 1 4F13896
SLN 1 4F13904
SLN 1 4F13947
SLT 2 IS THIS A FUNCTION NAME 4F13751 2
TRA LA0000+36 NO 4F13752 3
SLN 2 YES - TURN F LITE BACK ON 4F13753 4
* right side of =
MS335 SLN 2 TURN FUNCTION LITE ON. 4F13706
TRA LATXL GO PERFORM LEVEL ANALYSIS. 4F13707
*function name
MS092 PXD ,0 CLEAR 4F13536
LDQ BLANKS ADD BLANKS TO SUBROUTINE NAME IN G. 4F13537
LGL 42,2 X 4F13538
ORA G X 4F13539
SLW G X 4F13540
SLW E+2 MOVE FUNCTION NAME TO E+2. 4F13541
MS093 *** MS335,0 TXH FOR LEFT SIDE, TXL FOR RIGHT SIDE. 4F13542 TXH/TXL
CLA MS4007 4F13808
SLT 2 4F13809
TRA LA002 4F13810
SLN 2 4F13811
CLA FINI03 4F13812
LA002 STA LA4320 4F13813 set CM4100/CM4300
2は注目している要素が関数名かどうか、 1は演算子が単項か二項かを管理している?
stack
- スタック領域、ヒープ領域という概念はC言語(Cコンパイラ)が発明したアイデアですか? - Quora
- Region-based memory management - Wikipedia
- Stack (abstract data type) - Wikipedia
- A brief history of the stack
Data Structure Stories: Stacks and Queues | by James du Plessis | Medium
History
A concept of stacks was informally introduced by Alan Turing with the operations “bury” and “unbury” in Computer Science literature, when discussing calling and returning of subroutines in programming languages. It was not until 1957 that stacks became a coined term for this particular data structure. That was thanks to Klaus Samelson and Friedrich L Bauer.
Stack (data structure) - Simple English Wikipedia, the free encyclopedia
The stack was first proposed in 1955, and then patented in 1957, by the German Friedrich L. Bauer. The same concept was developed independently, at around the same time, by the Australian Charles Leonard Hamblin.
1957年。ということは例の論文でスタックが登場するのはタイミング的に難しそうですね。
内破
英語のimplosionの定義は「the act of collapsing into the centre」https://t.co/09aWE6uVEm で、直訳すれば「中心に向かって潰れる動き」。日本語の「爆」のイメージ、火薬とかでドカンといくイメージは含まれてない。プルトニウムを使った核弾頭みたいに、爆薬で潰すなら「爆縮」が適当かも。 https://t.co/iwfFaR0utG
— 岡部いさく (@Mossie633) June 28, 2023
【圧壊】の方がカバーする範囲が広いけれども、『ペシャンコに)潰れる』を強調したい場合【圧潰】も有りかと。因みに同じ字の取り合わせでも【壊走/潰走】のニュアンスの違いは?と思ったりもしました😊
— 💉boostedな…は未だ無い@DONT TREAD ON ME (@N_Cocky) June 28, 2023
なお慣用として核兵器関連なら【爆縮】が適訳でも、潜水艦関連なら【圧壊/圧潰】でFAですよね
「圧壊」という言葉を知ったのは「沈黙の艦隊」だったな。 ということ(潜水艦つながり)で今回のこれも「圧壊」というのかと思ったら 「爆縮」が多数派でちょいと驚いた。
元の単語がimplosionなんでその訳としては 「爆縮」でも間違いではないのだろうけど、 「爆縮」というと超新星爆発の前のアレとか 核爆弾の爆縮レンズを連想してしまうので 違和感はあった。
ところでimplosionを「内破」と訳していた映画(の字幕)があってですね。 誰が字幕を担当していたかというと(ry
コマンダー0
リプライが結構ついててびっくり。 好きな人少なからずいたのね。
好きだからこそ考察したい「『コマンダー0 』はなぜ当時、打ち切られたのか」。前にツイキャスラジオやった時は「当時のジャンプのメイン購読層より、少し下の世代に受けたのでは?」という説もあった。 pic.twitter.com/3GWfjqoEcJ
— おちょごさん(少し休み) (@chogo2009) June 29, 2023
熱いテーマを込めた「コマンダー0」が世間一般には受けなかった(濃いマニアはついた)富沢順先生は「シラケ世代と戦う話」をテーマにしたと思うのです。そしてそれはオッサン世代がシラケ世代を容認する『企業戦士YAMAZAKI』で大ブレイクする。山崎さんは説教してる様で常に言う。「あなたは正しい」 pic.twitter.com/4zZGNWNY84
— おちょごさん(少し休み) (@chogo2009) June 29, 2023
コマンダー0はわたしも結構好きで、単行本はしっかり(最初のものも)持っている😄
企業戦士YAMAZAKIは持っていた単行本を処分してしまっていて、 数年前からKindle版をぽちぽち買っているのだけど まだ半分も行っていない😓
カイジ
【ノーカン!】6月30日は「カイジが最後の地下チンチロに挑んだ日」
— ライブドアニュース (@livedoornews) June 29, 2023
『賭博破戒録カイジ』における出来事。地下施設に堕ちていたカイジは1997年6月30日、班長・大槻のイカサマ「四五六賽」を見破り、白日の下に晒す。暴動寸前になるも、カイジは続行を提案。あらかじめ用意していた“秘策”を披露する。 pic.twitter.com/tiM5PadX3m
「17歩」までは読んでいたけど その後どうなっているのかよく知らない >カイジ