ときどきの雑記帖 RE* (新南口)
IQ Engine
選挙
そう言えばむかしは投票時間は18時までで、 期日前投票もしづらかった(というか名称も違っていたた) よなあということを思い出し調べてみると
有権者がより投票しやすい環境を整えるため、投票時間の2時間延長や不在者投票事由の緩和等を内容とする 公職選挙法の一部改正法が第141回臨時国会において可決成立し、平成9年12月19日に公布され、 平成10年6月1日から施行されました。
平成元年が1989年だから、平成10年だと1998年。 前世紀のお話であったか。
ってベイスターズが優勝した年か!😓
メトロ
東京メトロ銀座線、8月にダイヤ改正 1時間当たり最大約3割減便 - シブヤ経済新聞
平日10時~16時と土曜・日曜・祝日8時~20時の時間帯は、渋谷方面行きと浅草方面行きそれぞれを1時間当たり現在の18本から12本に減便。
三州公
また三州公が突撃されるらしい(違)
"「聞けや、者! 前右大臣ここにあり!」本能寺の変を生きのび、関ヶ原合戦で柴田勝家を下し、天下獲りを目前にする信長。だが、密かに伊達政宗、上杉景勝と手を組み力を蓄えた家康が、ついに叛旗を翻す!": 佐藤大輔『信長伝』 https://t.co/SLWzDLnY48
— 悪漢と密偵 (@BaddieBeagle) July 11, 2022
中央公論新社から愛蔵版が出るのです。生きねばなりません。私どもは三州公を見送らねばならないのです(狂気の宿った目で)#大サトーhttps://t.co/AU4D7XYUYQ
— 灰色の金魚(近代化改装中) (@SilentGhost1999) July 11, 2022
信長伝 佐藤 大輔(著/文) - 中央公論新社 | 版元ドットコム
閉店
職場の最寄り駅が武蔵小杉だったときに 何回かここで靴やらサンダルやら買ったなあ… あそこも閉店したのか (確かに年中「閉店セール」やってた)。
閉店セールが恒例の靴店ついに 地元・武蔵小杉のブログ管理人が見た光景: J-CAST トレンド
名前
Guile Steel: a proposal for a systems lisp – Dustycloud Brainstorms
JavaScript
JavaScriptでconstのみでのRGB-HSV相互変換関数 - Qiita
で例示されているプログラム
const rgb2hsv = (r,g,b) => {
const max = Math.max(r, g, b);
const min = Math.min(r, g, b);
const d = max - min;
const h = d && 30 * ({
[r]: (g - b) / d + 6,
[g]: (b - r) / d + 8,
[b]: (r - g) / d + 10
})[max] % 180;
const s = (max - min) / max * 255;
const v = max;
return [h, s, v];
}
const hsv2rgb = (h,s,v) => {
const hi = Math.floor(h/30);
const f = h/30 - hi;
const m = v * (1 - s/255);
const n = v * (1 - s/255 * f);
const k = v * (1 - s/255 * (1-f));
const a = [v,n,m,m,k,v];
return [a[hi%6], a[(hi+4)%6], a[(hi+2)%6]];
}
だけど、rgb2hsv
の方、r, g, b で同じ値があると
結果がおかしくならない?
>deno
Deno 1.20.1
exit using ctrl+d or close()
> ({1:10})[1]
10
> ({[1]:10})[1]
10
> ({[1]:10,[2]:20})[1]
10
> ({[1]:10,[2]:20})[2]
20
> ({[1]:10,[2]:20,[3]:30})[2]
20
> ({[1]:10,[2]:20,[3]:30})[3]
30
> ({[1]:10,[2]:20,[3]:30,[1]:40})[0]
undefined
> ({[1]:10,[2]:20,[3]:30,[1]:40})[1]
40
> ({[1]:10,[2]:20,[3]:30})
{ "1": 10, "2": 20, "3": 30 }
> ({[1]:10,[2]:20,[3]:30,[1]:40})
{ "1": 40, "2": 20, "3": 30 }
ゲージ
なぜBART (ベイエリア高速鉄道) は標準より大幅に広い5'6'' (約1.7メートル) の軌道を使っているのか? 調査の結果、これはまだゴールデンゲート橋にBARTを通す計画があったころの名残であることが判明。当時BARTの車両は非常に軽く、横風に煽られないようにする必要があった。https://t.co/unYVVMXbKQ
— 新山祐介 (Yusuke Shinyama) (@mootastic) July 9, 2022
5フィート6インチのゲージって広軌だけど 他にどんなのがあったっけ? と うぃきぺの 軌間 - Wikipedia をみると
現代の普通鉄道において用いられている主な広軌は以下である[97][98]。
- 1,520 mm または 1,524 mm (5 ft 0 in) - 旧ソビエト連邦各国、フィンランド、モンゴル
- 1,600 mm (5 ft 3 in) - アイルランド、オーストラリアの一部など
- 1,668 mm - スペイン(元は1672 mm)、ポルトガル(元は1665 mm)
- 1,676 mm (5 ft 6 in) - 南アジア、南アメリカの一部など
ふむ。ソ連のゲージが1676mmと思ってたけど違った😄
ところでうぃきぺのこのページの記述によれば
標準軌の起源とゲージ戦争
現代において標準軌とされる4フィート8.5インチ軌間の起源は、イングランド北東部のキリングワース(英語版)炭鉱の 馬車鉄道で用いられていた4フィート8インチ軌間である[1]。なおキリングワースの車輪間隔の起源をさらに古代ローマの 馬車にまで遡ることができるとする説[7]もあったが後に否定されている[8]。
まじでー。 割と最近この話(古代ローマの馬車起源)を読んで信じてたよ😓
FORTRAN Compiler on IBM 704
以前書いた704の命令一覧 で詳細がわからなかったものうち
- MTH
- MTW
- MZE
- PON
- PTH
- PTW
- PZE
は、以下のようになるらしい。
MTH | Minus THree |
MTW | Minus TWo |
MZE | Minus ZEro |
PON | Plus ONe |
PTH | Plus THree |
PTW | Plus TWo |
PZE | Plus ZEro |
Coding_for_the_MIT-IBM_704_Computer_Oct57.pdf のp.43に
When we are writing a program, we will often find it necessary to have constants with integer values in the addresses and decrements. For this we use the plus zero operation code o For examaple:
PZE 1000, 0, 10
represents a 704 word with 1000 in the address and 10 in the decrement.
という記述があったりするので、CPUに対する命令というよりは定数確保の命令っぽい?
今のところはコメントを主に追いかけているのだけど
REM C0150,2/ CALLS=C0190,DIAG,C0180,C0160. CALLER=C0100. 4F10455
REM C0150 INSPECTS 1ST NB CHAR STARTING IN MQ. IF NUMERIC, SETS I4F10456
REM = 0, AND CONVERTS SUCCESSIVE NUMERICS TO BINARY. IF NON- 4F10457
REM NUMERIC, SETS I = -O, AND PACKS INTO 1G SUCCESSIVE CHARACTERS4F10458
REM UNTIL A ,()= OR ENDMK IS MET, AND LEFT IN THE AC. 4F10459
のように、そこから呼び出しているサブルーチン(CALLS=)や そこを呼び出しているサブルーチン(CALLER=)らしい名前が列挙されていたり サブルーチンの役目の説明らしいものがあったりする。
そういったものの中にMAIN PROGRAM
といういかにもなものも見つけられるのだけど、
REM (BDC)/ CALLS=LINE,PRINT. CALLER=MAIN PROGRAM. BDC/002
REM (BDC) CONTROLS BINARY TO DECIMAL CONVERSION AND OUTPUT. BDC/003
(RTN) BCD 1(RTN) BDC/0035
(BDC) TTR NEW INSTRUCTION EXECUTED IN LOCATION 1.BDC/004
CALLER=
はともかく
REM CCEDMK/ CALLS=FIELD. USES=MAIN PROGRAM. DBC/1141
REM CCEDMK = ENTRY POINT WHEN AN ENDMK IS MET IN FORMAT SCAN. DBC/1142
CCEDMK TSX FIELD,4 * GO PROCESS UNDER FIELD CONTROL. DBC/1143
とUSES=
だったり
REM CCEDMK/ CALLS=FIELD,MAIN PROGRAM. BDC/2271
REM CCEDMK = ENTRY POINT WHEN AN ENDMARK IS MET IN FORMAT SCAN. BDC/2272
CCEDMK TSX FIELD,4 * GO PROCESS UNDER FIELD CONTROL. BDC/2273
CALLS=
もあったりするのがよくわからない🤔
それと、 どうも同じコードが重複しているんじゃないか という部分もあって、 全体の構成がまだ良くつかめない。
重複は例えばこれ
MS311 CAL TXLOP SET SWITCHES FOR RIGHT SIDE SCAN. 4F13670
STP MS093 X 4F13671
STP MS310 X 4F13672
STP MS321 X 4F13673
SLN 1 TURN = OR ) LITE ON. 4F13674
TRA MS010 GO SCAN NEXT ELEMENT. 4F13675
MS310 *** MSERR=,0 TXH FOR LEFT, TXL FOR RIGHT OF EQUAL SIGN. 4F13676
MS321 *** MS330,0 TXH ON LEFT, TXL ON RIGHT OF = SIGN. 4F13661
TSX SS000X,4 G0 PROCESS SUBSCRIPT COMBINATION. 4F13662
TSX C0190,4 GET NEXT CHAR. 4F13663
SUB EQUAL TEST FOR EQUAL SIGN. 4F13664
TNZ MSERR= NO, ERROR. 4F13665
MS093 *** MS335,0 TXH FOR LEFT SIDE, TXL FOR RIGHT SIDE. 4F13542
LXD BK,4 THIS IS ARITH FUNCTION STATEMENT. 4F13543
SLW FORSUB,4 ENTER FUNCTION NAME IN FORSUB TABLE. 4F13544
CAL EIFNO ENTER INTERNAL FORMULA NO IN FORSUB. 4F13545
ANA MASK1 X 4F13546
STO FORSUB+1,4 X 4F13547
TXI FS010,4,-2 UPDATE COUNT OF ENTRIES IN FORSUB. 4F13548
複数パスあるコンパイラーのパスごとに持っているとか?
試しに
>grep -o -e "^[A-Z0-9][^ ]*" fort1.asm | sort | uniq -c | sort -r
というので簡単にラベルの重複を調べると
197 X
190 PR
31 A
22 PR1
18 PR2
15 B
13 PR3
12 L(0)
12 C
11 COMMON
11 BLANKS
10 L(2)
10 L(1)
なんかやたらたくさん出てくるものも。
MSなんちゃらも
2 MS093
2 MS092
2 MS091
2 MS090
2 MS081
2 MS080
をはじめ複数あるものがそこそこ。
CALL
、CALLER
で
呼び出し関係を調べてみるといいのかなあ…