ときどきの雑記帖 RE* (新南口)
しかもフタが無い
箱根登山鉄道
昨年箱根に行ったときにひょっとして と思ったのだけど、結構前からこうなってたのね。
こうした事情から、まず2000年12月2日のダイヤ改正から、日中の小田急電車の直通本数を倍増させ[107]、 代わりに小田原駅と箱根湯本駅の間を運行する登山電車は朝夕のみとなった[107]。さらに、2006年3月18日のダイヤ改正では、 小田原駅と箱根湯本駅の間の列車は全て小田急の車両に置き換えられることになった[108]。これ以後、 小田原駅と入生田駅の間の三線軌条は順次撤去された[108]が、入生田駅には登山電車の車庫があるため、 入生田駅と箱根湯本駅の間のみ三線軌条が残された[108]。
実は数年前にも箱根に行っていたんだけど、 そのときは箱根登山鉄道は使わずに バスで行ったので気がつかなかったのね。
小田急と言えば多摩急行とか千代田線直通も状況が変わっていてちょっと驚いた。
小田原線の複々線化完成に伴う2018年3月のダイヤ改正では一変する。 この改正では、(略) その一方で千代田線直通については急行および多摩急行は廃止され (日中の急行は新宿方面に変更)、他の千代田線直通列車も平日朝の下り各駅停車1本のみを残して全廃となり、 多摩線の優等列車は千代田線直通から新宿方面直通に転換されることとなった。 (略) 2022年3月のダイヤ変更により、千代田線直通列車は完全に消滅した。
30
メモ。
Firefox kindle
ちょっと前から Firefoxからだと Kindle本が買えない (購入ボタンを押すと画面書き換えが起きるけど内容は元のまま) という現象に悩まされてるんだけど なんだこれ。
ー
WEB+DB PRESS Vol.133、どこよりも早い表紙画像です!
— WEB+DB PRESS編集部 (@wdpress) February 6, 2023
TypeScript最新活用、速習Ruby 3.2、Tailwind CSS実践入門を大特集!2月24日発売です!#wdpress pic.twitter.com/TaHmqI7eyq
「リンタ」「バンドラ」 と最後を伸ばさない表記にちょいとびっくり。 最近(?)はこういうのは音引きつけるようになってたと思うんだけど。
レビュー
最近出たこの本
のレビュー欄のコメントに激しいものが。
明らかに意味の異なるものを同じ言葉でとらえ、 若者や入門者に混乱を生じさせるに飽き足らず、 その原典を隠蔽し、極めて卑劣かつ最低な仕上がりである。
同じ人として許し難い史上最低の翻訳といえよう。
Google Analytics
2023年になった辺りからやっつけでGA4導入してみて、 その結果なんとか動いているとは思うのだけど 一方で古いのも残していて、 それ経由で解析結果を見たときのメッセージが最近少し変わった。
このプロパティでは 2023 年 7 月 1 日にデータの処理が停止されます。2023 年 3 月以降もウェブサイトの測定を継続するには、 元のプロパティ設定を Google アナリティクス 4(GA4)プロパティに移行する必要があります。移行しない場合、 元のプロパティ設定が、既存のサイトタグを再利用して既存の GA4 プロパティにコピーされます。
実は何もしないでもよかった?🤔
FORTRAN Compiler on IBM 704
今回はPART Iの
REM SECTION 1 / STATEA = 4F11556
REM 704 FORTRAN MASTER RECORD CARD / STATE A = F0190000. 4F11557
ORG 0 4F115571
PZE ORGA,,DMWR09 4F115572
PZE ENDA-1 4F115573
REM 4F11558
REM NAME FUNCTION 4F11559
REM PART 1 / ASSEMBLE AND CLASSIFY ALL STATEMENTS= 4F11560
REM CA000 ASSEMBLE STATEMENT. 4F11561
REM CD000 SCAN FOR HOLLERITH AND ILLEGAL CHS.4F11562
REM CB000 CLASSIFY=ARITHMETIC/NON-ARITHMETIC.4F11563
REM CC000 CLASSIFY=WHICH NON-ARITHMETIC. 4F11564
REM PART 2 / PROCESS CONTROL AND SPECIFICATION STATEMENTS. 4F11565
CLASSIFY=ARITHMETIC/NON-ARITHMETIC.
を見ていく。
CB000
すごーく大雑把に、=
が出てきたら ARITHMETIC STATEMENTと言いたいところだけど
ちょっと考えてもいくつかそうではないケースがあって、
たとえばDO文。
DO 100 I=1,5 # 行番号100との間を5回繰り返す
PRINT *, I
100 CONTINUE
これはFORTRAN IIではないようだけどこういうのもあり
WRITE (3,200) (A,B,C, I=1,3) ! DO 形反復
READ (5,999) (P(I), (Q(I,J), J=1,10), I=1,5)
もう一つFORMAT文中のホレリス定数に出てくる可能性がある。
FORMAT (1h=)
さてここで、FORTRAN(の言語仕様)にまつわる有名なエピソードを思い出してみよう。
FORTRANの「空白は無視する」という言語仕様が招く、コンマとピリオドの打ち間違いがコンパイルエラーにならず、 間違ったプログラムになる、という例を説明する。
Cで、次のように書くプログラムの一部があったとする。
int i; (中略) for( i=1; i<=5; i++ ) { 何らかの処理; }
これをFORTRAN66で書くと次のように書ける。
DO 10 I=1,5 何らかの処理 10 CONTINUE
最初の行は、整数型変数Iを1から5まで1ずつ増加させつつ、行ラベル10の行までを繰り返し実行することを表す。 行ラベル10のCONTINUE文はループ制御の端末文ではなく、どこにでも置ける「何もしない」機能の文である。
この、DO文のコンマをピリオドに打ち間違えたとする。すると、空白を無視するFORTRAN66では、この行は、
DO10I=1.5
という、「DO10Iという実数型変数に1.5という実数を代入する代入文」と解釈される。FORTRANでは変数宣言が無い場合、 DO10Iは実数型変数を暗黙に示すからである。 この結果、このプログラムは(他のどこからも参照されない) 変数DO10Iへの代入とただ1回の「何らかの処理」が実行されるだけとなり、意図した繰り返し処理は起こらない。
じゃあどういう判断の仕方をしているのだろうかと プログラムを見つつ考えてみると こんなところっぽい。
- 文の中に
=
があったらARITHMETIC STATEMENTかもしれない- ただし
=
がカッコの内側にあったらARITHMETIC STATEMENTではない
- ただし
,
がカッコの外側にあったら代入文ではない
CB000 CLASSIFIES STATEMENT AS ARITHMETIC OR NON-ARITHMETIC.
REM CB000/ CALLS=C0190X,C0190,DIAG. 4F11733
REM CB000 CLASSIFIES STATEMENT AS ARITHMETIC OR NON-ARITHMETIC. 4F11734
CB000 LXA L(1),1 SET XR TO COUNT PARENTHESES. 4F11735
TSX C0190X,4 * RESET CHCTR AND FWA TO BEGIN SCAN. 4F11736
CB001 TSX C0190,4 * EXAMINE NEXT NON-BLANK CHARACTER. 4F11737
CAS AEQUAL IF AN EQUAL SIGN, 4F11738
TXI CB005,0 THEN 4F11739
TXI CB200,0 GO TEST PAREN-COUNT. 4F11740
CB005 CAS ALPAR IF A LEFT PARENTHESIS, 4F11741
TXI CB006,0 THEN 4F11742
TXI CB001,1,1 UPDATE PAREN-COUNT BY 1. 4F11743
CB006 CAS ARPAR IF A RIGHT PARENTHESIS, 4F11744
TXI CB007,0 THEN 4F11745
TXI CB500,0 GO TEST PAREN-COUNT. 4F11746
CB007 SUB ENDMK IF NOT ENDMARK, THEN 4F11747
TNZ CB001 GO EXAMINE NEXT CHARACTER. 4F11748
TXI CC000,0 * OTHERWISE, GO TO DIC LOOK-UP. 4F11749
CB200 TIX CC000,1,1 * IF EQUAL WAS NOT WITHIN PARENS, 4F11750
CB201 TSX C0190,4 * THEN EXAMINE NEXT CHARACTER. 4F11751
CAS ALPAR IF LEFT PARENTHESIS, 4F11752
TXI CB205,0 THEN 4F11753
TXI ARITH,0 * THIS IS AN ARITHMETIC FORMULA. 4F11754
CB205 CAS ACOMMA IF A COMMA, 4F11755
TXI CB206,0 THEN 4F11756
TXI CC000,0 * GO TO NON-ARITHMETIC DIC LOOK-UP. 4F11757
CB206 SUB ENDMK IF NOT ENDMARK, THEN 4F11758
TNZ CB201 GO EXAMINE NEXT CHARACTER. 4F11759
TXI ARITH,0 * THIS IS AN ARITHMETIC FORMULA. 4F11760
CB500 TIX CB001,1,1 IF PAREN-COUNT DOES NOT BALANCE, 4F11761
TSX DIAG,4 * ERROR-GO TO DIAGNOSTIC ROUTINE. 4F11762
REM END OF PROGRAM CB000. 4F11763
このサブルーチンで参照しているデータ領域は以下の通りで
- L(1)
- AEQUAL
- ALPAR
- ARPAR
- ENDMK
- ACOMMA
その定義はこう
L(1) BCD 1000001 1 4F10322
AEQUAL SYN EQUAL 4F15882
ALPAR SYN OPEN 4F15883
ARPAR SYN CLOS 4F15885
ENDMK OCT 77 111111 - CTEST-10 4F10309
ACOMMA SYN COMMA 4F15880
OPEN OCT 74 ( - CTEST-9 4F10310
COMMA OCT 73 , - CTEST-8 4F10311
CLOS OCT 34 ) - CTEST-7 4F10312
EQUAL OCT 13 = - CTEST-6 4F10313
なぜMITはSICP (計算機プログラムの構造と解釈) を使ったSchemeの授業をやめ、Pythonに移行したのか? 著者のSussman自身による説明。曰く「1990年から10年間に計算機はハード・ソフトともにブラックボックス化してしまい、もはや学生が低水準から学ぶことは不可能になったためhttps://t.co/Usb26MjM1h
— 新山祐介 (Yusuke Shinyama) (@mootastic) February 5, 2023
この話題、結構前に出ていなかったっけ?
SICP: the end of an era (2021) [video]: https://t.co/KTNUiOFiP6 Comments: https://t.co/upp0yVCJeY
— Hacker News (@HNTweets) February 5, 2023
まあ以前の話題が出てくるのはHNでもよくあることではあるか。
1996年6月4日、欧州宇宙機関(ESA)の Ariane-5ロケットは発射から40秒後に自爆装置により破壊された。原因は速度センサの64ビットfloat値を16ビットのsigned intに変換していたため。しかもこのコードは本来、発射後には必要ないものだった。https://t.co/Op8nz0q8WN
— 新山祐介 (Yusuke Shinyama) (@mootastic) February 5, 2023
これも(ry だけど、
How a single line of code brought down a half-billion euro rocket launch
Feb 2, 2023 • 4 min read
ふむ。
夫のガンプラ捨てた奥さん、長いあいだ自分に寄り添い、自分を無制限に受け入れてくれていると信じていた女が、実は全てを終わらせようとするほど思い詰めていて、それに気付かないまま積み上げてきた全てを焼かれる男という富野アニメっぽい展開、アマンダラ・カマンダラが似たような目に遭ってた気が
— *h (@carouselambra00) February 6, 2023