ときどきの雑記帖 RE* (新南口)
激闘に叫ぶ愛
Gレコ IV
(やっと)観てきた。 二週目の週明けともなるとシアターも小さいところになっての上映回数も減ってので ぐんにゃりだったけど、 あまり行かない劇場で大きめのシアターでやってるところがあったのでそこへ。
そういやサントラがAmazonに見当たらないなと思ったら 劇場で限定販売だったのね。
さあすぐにVだ。
寡占
最近ちらほら見かける「寡占」の使い方。 独占まではいかないけど割と多くを「一つの企業・勢力」が占めている 状態のこと。じゃあないと思うんだがなあ。
ソフトウェアの真の自由を実現するサービス、forgefriendsとは何か!! - Qiita
現状Rubyでoauthやるならほぼこれ一択の寡占状態みたいなので、もし彼がGitHubを辞めてしまうとなるとなかなか影響が大きそうですね。
寡占(かせん、英: oligopoly)とは、市場の形態の一つで、ある商品やサービスに係る市場が少数の売り手(寡占者、寡占企業)に支配されている状態のこと。少数が1社だけである場合は独占、2社ならば複占という。なお、買手側が寡占の場合(買手寡占)も存在する。
he would be turning in his grave
ブログ: コンピューティングにおける引退する必要があるフレーズ
ソフトウェアに関する推論
間違いなく、またゴミ箱行きです。もし、トニー・ホーアがこの世にいなかったら、彼は草葉の陰で嘆いていたことでしょう。
気になる訳文だったので(ry
Phrases in computing that might need retiring | Structure and Interpretation of Computer Programmers
Reasoning About Software
Definitely another one for the bin. If Tony Hoare were not alive today he would be turning in his grave.
んーむよくわからんなあ。
Turn in one's grave
を(まだ)生きている人に対してwere not alive today
という仮定を置いて使うとか「捻った」表現なんだろうけど、
「だからどういうことなんだよ」感が。
- アントニー・ホーア - Wikipedia
- Tony Hoare - Wikipedia
- Turn in one’s grave - Wikipedia
- turn in one’s grave ~の墓の中で回る→(亡くなった人)をも驚かす - おもしろい英語表現
あとこの文脈でのreasoning
は
「証明」の方がいいんじゃなかろうか。
FORTRAN Compiler on IBM 704
変数の一文字目がI
からN
の間にものかを判定するサブルーチン。
REM TESTFX,1/ CALLERS=SS000,C3000,IFFIX. 4F11323
REM TESTFX TEST FOR FIXED OR FLOATING POINT VARIABLES. 4F11324
TESTFX CAL FIRSTC COMPARE FIRST CHARACTER 4F11325
CAS L(H) WITH H. 4F11326
CAS L(O) IF GREATER THEN H, COMPARE WITH O. 4F11327
TRA 1,1 * IF NOT GREATER THEN H, LESS THEN O,4F11328
TRA 1,1 * THEN TAKE FLOATING POINT EXIT. 4F11329
TRA 2,1 * OTHERWISE, TAKE FIXED POINT EXIT. 4F11330
REM END OF PROGRAM TESTFX. 4F11331
CAS命令の二段遣いで一文字目がIからNの範囲のものかをが判定しその結果を返している (正確には何かの値を返しているのではないけどそれはまあ)。
Cのconditional operator で書くと(これは「三分岐」はしないけど)
(c > 'H') ? (c < 'O') ? 2 : 1 : 1
こんな感じ?
ここで使っている文字コードでは IからNは連続しているのではなく 一か所「隙間」があると思うのだけど ここでは気にする必要がない?
それとサブルーチンにはなっているけど 呼び出している箇所は一か所だけっぽい、
REM C3000/ CALLS=DIAG,C0190,C0160,TEST..,SUBX00,TET00,TESTFX. 4F12274
REM C3000 PROCESSES SUBROUTINE AND FUNCTION STATEMENTS. 4F12275
C3500 CAL TXHOP 4F12276
STP C3003 4F12277
C3000 LXD EIFNO,4 EXAMINE INTERNAL FORMULA NO., AND 4F12278
TXL *+2,4,1 IF NOT THE 1ST STATEMENT, THEN 4F12279
TSX DIAG,4 * ERROR - GO TO DIAGNOSTIC. 4F12280
CLA ARGCNT SET ARGCNT TO INDICATE TO LATER 4F12281
SSP RETURN THAT THERE WAS A PRECEEDING 4F12282
STO ARGCNT SUBROUTINE OR FUNCTION STATEMENT. 4F12283
TSX C0190,4 * IF 1ST CHARACTER OF NAME IS 4F12284
TSX TESTH0,4 * NUMERIC, THEN GO TO THE DIAGNOSTIC.4F12285
TSX C0160,2 * ASSEMBLE NAME IN 1G. 4F12286
TSX TESTC0,4 * NEXT CHAR SHD BE LPAREN OR ENDMARK.4F12287
C3003 TXL *+3,0 4F12288
CLA 1G 4F12289
STO FSNAME 4F12290
TSX SUBX00,4 * FILL OUT NAME WITH BLANKS. 4F12291
TSX TET00,1 * GO ENTER NAME 4F12292
PZE 11 IN SUBDEF TABLE. 4F12293
LXD EIFNO,4 PLACE 4F12294
PXD ,4 INTERNAL FORMULA NUMBER 4F12295
STO G IN G. 4F12296
TXI C3003,0 GO TEST FOR END OF STATEMENT. 4F12297
C3001 ADD ENDMK IF NOT ENDMARK, RESTOERE CHARACTER 4F12298
TSX TESTH0,4 * WHICH SHOULD BE NON-NUMERIC 4F12299
STO FIRSTC 1ST CHARACTER OF ARGUMENT. 4F12300
TSX C0160,2 * ASSEMBLE ARGUMENT IN 1G. 4F12301
TSX TESTB0,4 * NEXT CHAR SHD BE COMMA OR RPARAN. 4F12302
CLA 1G MOVE ARGUMENT 4F12303
STO G+1 INTO G+1. 4F12304
TSX TESTFX,1 * GO TEST FOR FIXED OR FLOATING PT. 4F12305
TXI C3004,0 IF FLOATING PT., SKIP FORVAL ENTRY.4F12306
TSX TET00,1 * IF FIXED POINT, GO MAKE ENTRY 4F12307
PZE 6 IN FORVAL TABLE. 4F12308
C3004 TSX TET00,1 * IN BOTH CASES, MAKE ENTRIES IN 4F12309
PZE 11 SUBDEF TABLE. 4F12310
CLA ARGCNT UPDATE 4F12311
ADD D1 ARGUMENT COUNT 4F12312
STO ARGCNT BY 1. AND 4F12313
C3002 TSX C0190,4 * EXAMINE NEXT NON-BLANK CHARACTER. 4F12314
SUB ENDMK IF NOT ENDMARK, THEN 4F12315
TNZ C3001 GO PROCESS NEXT ARGUMENT. 4F12316
TXI CA010,0 * OTHERWISE, EXIT TO CA000. 4F12317
REM END OF PROGRAM C3000. 4F12318
TSX TESTFX,1
で先ほどのサブルーチンを呼び出していて、
一文字目がI-Nの範囲になければ
TXI C3004,0
が実行され
逆に一文字目がI-Nの範囲にあれば
TSX TET00,1
が実行される。と
PZE 6
は
TSX TET00,1
で呼び出すサブルーチンに対する引数?
6bit character code
704で使っていた文字コードについて。
6ビットの文字コード6ビットコードの種類etバイナリからテキストへのエンコーディング用の6ビットコード
6ビットの文字コード6ビットコードの種類etバイナリからテキストへのエンコーディング用の6ビットコード
初期のコンピューターは数値データのみを扱い、文字データを提供していませんでした。6ビットBCDは、 1954年にIBM 704などの初期のコンピューターでIBMによって使用されていました。[1]:p.35 System / 360 が8ビットバイトで標準化されると、このエンコーディングは8ビットEBCDICコードに置き換えられました。 このタイプのコードにはいくつかのバリエーションがあります(以下を参照)。
Six-bit character code - Wikipedia
BCD six-bit code
Six-bit BCD code was the adaptation of the punched card code to binary code. IBM applied the terms binary-coded decimal and BCD to the variations of BCD alphamerics used in most early IBM computers, including the IBM 1620, IBM 1400 series, and non-decimal architecture members of the IBM 700/7000 series.
BCD (character encoding) - Wikipedia
Fortran character set
There was some variation; IBM 704 Fortran had a different set of special characters (preserving only the duplicated minus sign).[13]
IBM 716 printer Fortran character set
Zone punch Digit punch 1 2 3 4 5 6 7 8 9 8+3 8+4 None * 1 2 3 4 5 6 7 8 9 = - 12 + A B C D E F G H I . ) 11 - J K L M N O P Q R $ * 0 0 / S T U V W X Y Z , (
COLSPANやROWSPANが使えない(よね?)から、 表をmarkdownだけでやろうというのはキビシイな😓
これでみるとI
とJ
の間に「隙間」がある。
linss
- Index of /pdf/ibm/704
- http://bitsavers.org/pdf/ibm/704/FORTRAN_paper_1957.pdf
- Transcription of Smithsonian IBM 704 Fortran II source code. ? Software Preservation Group
- 704 FORTRAN II - Software Preservation Group
- Assembly listing of transcription - Software Preservation Group
- IBM 704 Software - Sky Visions
- IBM 704 Assembly Addition
- I704 I 704 IBM 704 STARTSCREEN COMPUTER SIMULATION SIMULATOR EMULATOR - YouTube
- GitHub - rhobbie/Sim704: A simulator for the IBM 704 computer
- Simulators - Dusty Decks: Preserving historic software
- Simulators - Dusty Decks: Preserving historic … - McJones
- A case study in software restoration: IBM 704/709/7090/7094