ときどきの雑記帖 RE* (新南口)
速さは力
さらばxyzzy
とある検索をしていた時に偶然見つけた。
落語・将棋・サイクリング時々Lispにわかに電子工作とプラモデル。PC98のレトロゲーム。オブジェクト指向黎明期も語るブログ : さらばxyzzy
まあそうなっちゃうよねえ… (この記事は3年半くらい前のものだけど)
FD
秋葉原asterisk(*)α : 総武線緩行線秋葉原駅乗降場改良工事(2024/06/02)
総武線6番線ホームの浅草橋寄りで、「FD基準帯」なるものを発見しました。
「FD」ってなんだろうと思ったら
電車のホームドアを『FD』と略して表記しているのを見かけますが『FD』っ… - Yahoo!知恵袋
platform の「F」とdoorの「D」で「FD」ということらしい。 カタカナの「ホームドア」に引きずられてそこに思い至らなかった😓
perl
5.40が出たらしい。 早速perl5400deltaの翻訳も出ているのだけど
perl5400delta - perl v5.40.0 での変更点 - perldoc.jp
(use VERSION 宣言の制限)
Perl 5.36 では、use VERSION 宣言をバージョン 5.11 より上のものから下のものに 降格する際に、非推奨警告が追加されました。 これは今回致命的エラーになりました。
さらに、どちらかのバージョンが 5.39 以上で、別のバージョンがスコープ内に あるとき、引き続く use VERSION 宣言を発行することは致命的エラーになりました。 これは、builtin からインポートされたレキシカル関数を取り巻く 複雑さを 避けるためです。 その他のバージョン 5.39 未満の引き続く use VERSION 宣言に対しても、 Perl バージョン 5.44 では許されなくなることを 警告するはいしよてい警告が追加されました。
なんかよくわからん(特に後段の出だし)ので原文を
perldelta - what is new for perl v5.40.0 - Perldoc Browser
In Perl 5.36, a deprecation warning was added when downgrading a use VERSION declaration from one above version 5.11, to below. This has now been made a fatal error.
Additionally, it is now a fatal error to issue a subsequent use VERSION declaration when another is in scope, when either version is 5.39 or above. This is to avoid complications surrounding imported lexical functions from builtin. A deprecation warning has also been added for any other subsequent use VERSION declaration below version 5.39, to warn that it will no longer be permitted in Perl version 5.44.
ん-、部分部分はあっているけど全体としては意味が取れなくなっているっぽい。 さてどういう訳文にするのが良いのだろう
マジンガーZ@MX
ピグマン子爵登場。
機械中がやられて撤退するときに ドラゴンボールの桃白白がやったようなワザ (槍を投げる→本人ジャンプして飛んでいた槍をつかむ→槍にぶら下がって退場) をして、一瞬あっけにとられるなど。 ひょっとして元ネタ?
あと9話なのね…
新刊近刊
隠喩としての数学
6月新刊予約受付中
— 書泉_MATH (@rikoushonotana) May 26, 2024
『マニン 数学・物理論集 隠喩としての数学』ユーリ・マニン 橋本 義武/訳(朝倉書店)
ロシア人数学者ユーリ・マニン(1937-2023)のエッセイ集の全訳。 数学・物理・計算機科学など幅広いテーマを縦横に語る。 書泉オンライン⇩https://t.co/decXAvvcgT pic.twitter.com/S1a4dKG1l6
「計算機科学」が目に入ったので、どんなものかと マニン 数学・物理論集 隠喩としての数学 | 橋本 義武 |本 | 通販 | Amazon を見にいったが値段にびっくり。
ヨシタケシンスケ
例によって(謎)別の本(雑誌)を買いに行ったときに気がついたので買った。 で、特集記事を読んで初めて知ったのだけど 興味深いことをやっているのですね。
- ヨシタケシンスケ公式web
- かくれてしまえばいいのです
- 「かくれてしまえばいいのです」がめざすこと|NPO法人ライフリンク|NPO法人ライフリンク
- かくれてしまえばいいのです(@kakurega_kkrg)さん / X
awk
gawk
Final fix for non -M mode. - gawk.git - gawk
差分だけを見ても何がどうなったのかはよくわからんな😓
diff --git a/builtin.c b/builtin.c
index ce7f54e..eb2b6be 100644
--- a/builtin.c
+++ b/builtin.c
@@ -1509,11 +1509,13 @@ mpf1:
prec = cend - cp;
pr_tail:
if (! lj) {
- if (fw == 0 && have_prec && prec == 0 && signchar == ' ')
- fw = 1; // make the loop run once
- while (fw > prec) {
- bchunk_one(fill);
- fw--;
+ if (fw == 0 && have_prec && prec == 0 && signchar) {
+ bchunk_one(& signchar);
+ } else {
+ while (fw > prec) {
+ bchunk_one(fill);
+ fw--;
+ }
}
}
copy_count = prec;
FORTRAN Compiler on IBM 704
しんちょくありません😓
parity
インターネット老人会の人に質問
— Masaki Hara (@qnighy) June 6, 2024
このアセンブリ読んでたらJP命令がJMPっぽい使われかたされてたんですが、何かそういう方言があるんですか? (パリティを参照する機会がこんなにあるとは思えない)https://t.co/GTCLDDKpSk
問題のJP命令だけど 1.25だけで使われていて、2.0や4.0では見当たらなかった。 1.25でも使われていないファイルもあり、 実際よくわからない。
ASM.ASM:163: JP ENDLIN
ASM.ASM:172: JP LOOP
ASM.ASM:185: JP GETEOL
ASM.ASM:222: JP PRERR
ASM.ASM:326: JP RR
ASM.ASM:470: JP GETOP1
ASM.ASM:523: JP MODE
ASM.ASM:539: JP OPERATE
ASM.ASM:715: JP STRGDAT
ASM.ASM:770: JP SCANT
ASM.ASM:1049: JP LOOK
ASM.ASM:1211: JP LABEL
ASM.ASM:1340:OPERRJ: JP OPERR
ASM.ASM:1346: JP LOOKNDP
ASM.ASM:1551: JP FINIMM
ASM.ASM:1615: JP PUTBW
ASM.ASM:1650: JP PRET
ASM.ASM:1672: JP PRET
ASM.ASM:1698: JP PUTCHK
ASM.ASM:1824: JP NEWLOC
ASM.ASM:1837: JP NEWLOC
ASM.ASM:1887: JP ONEOP
ASM.ASM:1950:ONEJ: JP ONE
ASM.ASM:2112: JP GETSP
ASM.ASM:2274: JP GETDAT
ASM.ASM:2320: JP SKIPLP
ASM.ASM:2389: JP NEXBT
ASM.ASM:2405: JP NEXBT
ASM.ASM:2430: JP OBJBT
ASM.ASM:2552: JP LIST
ASM.ASM:2573: JP DIGIT
ASM.ASM:2585: JP LIST
ASM.ASM:2644: JP LIST
ASM.ASM:2769: JP RIGHTSON
ASM.ASM:2847: JP PRINT
HEX2BIN.ASM:110: JP READHEX
IO.ASM:247:STALL: JP STALL
IO.ASM:283: JP POINTSTAT
IO.ASM:315: JP POINTSTAT
IO.ASM:989: JP HAVSECT
IO.ASM:1015: JP HAVSECT
IO.ASM:1089: JP STEP ; If only SS drives, we gotta step.
IO.ASM:1128: JP PUTSEC
IO.ASM:1372: JP RESTORE ;Reload head
TRANS.ASM:100: JP TRANLN
TRANS.ASM:194: JP TESEND ; there is nothing in the record.
TRANS.ASM:203: JP NOTAF ; Pop registers and return.
TRANS.ASM:232: JP ENLAB
TRANS.ASM:252: JP NEXCH
TRANS.ASM:264: JP NEXCH
TRANS.ASM:290: JP NEXCH
TRANS.ASM:315: JP LODID
TRANS.ASM:392: JP NORW
TRANS.ASM:406: JP ENDRW
TRANS.ASM:477: JP LOOKOP
TRANS.ASM:506: JP TRNOP2
TRANS.ASM:523: JP TRANS
TRANS.ASM:545: JP PTRANS
TRANS.ASM:581: JP IODONE
TRANS.ASM:631: JP OUTSTR
TRANS.ASM:634: JP LSAX
TRANS.ASM:665: JP AFCHK
TRANS.ASM:694: JP OUTSTR
TRANS.ASM:698: JP OUTSTR
TRANS.ASM:727: JP OUTSTR
TRANS.ASM:784: JP DIRECT
TRANS.ASM:820: JP NEXLAB
TRANS.ASM:847: JP SETRES
で、いくつかJP命令を使われているあたりを見ると
;Assemble each line of code
LOOP:
CALL NEXTCHR ;Get first character on line
CMP AL,1AH
JZ ENDJ
MOV AL,-1 ;Flag that no tokens have been read yet
MOV [SYM],AL
CALL ASMLIN ;Assemble the line
MOV AL,[SYM]
CMP AL,-1 ;Any tokens found on line?
JNZ L0002
CALL GETSYM ;If no tokens read yet, read first one
L0002:
CMP AL,';'
JZ ENDLN
CMP AL,EOL
JZ ENDLN
MOV AL,14H ;Garbage at end of line error
JP ENDLIN
ENDJ: JMP END
ENDLN:
XOR AL,AL ;Flag no errors on line
ENDLIN:
;AL = error code for line. Stack depth unknown
MOV SP,STACK
CALL NEXLIN
JP LOOP
パリティフラグってCMP命令で動くんだったっけ? 動くにしても入力に対してどうふるまうのかよくわからん😓
JMP END
で参照しているEND
はどう見てもshortでは届かないところにあるラベルなので
JP ENDLIN
はそのジャンプ命令をスキップするためだけなのだろうけど、
なんでJMP END
がこんなところに…
で、JP
に関してはリプライを追いかけるとこんな発言があった
86-DOSのマニュアル Page 34に書いてありました。
— xsdの人 (@xsde) June 11, 2024
"JP is NOT Jump on Parity. JP is the unconditional short direct jump."https://t.co/R5bYCJHzgI
…なんだけど bitsaversがなんか変?
いや、ツイート(謎)にあるリンクがおかしいのか。
bitsavers.trailing-edge.com/pdf/seattleComputer/86-DOS_0.3_Users_Manual_1980.pdf
じゃなくて(http://
は抜いた)
http://bitsavers.org/pdf/seattleComputer/86-DOS_0.3_Users_Manual_1980.pdf
だ。
まめちしき
(gosh REPLでdescribe (,d) すると浮動小数点数のビットパターンが見られる。まめちしき。) pic.twitter.com/eqT6GDjOLv
— Shiro Kawai (@anohana) June 8, 2024
今日の遠い目
そういえば、15年前(2009年6月12日)の今日は、石丸電気本店が大幅にリニューアルされてオープンした日でした。
— フォト秋葉原 (@PhotoAkiba) June 11, 2024
大々的なセールも行なわれ芸能人のライブなども行なわれました。外観も赤から青が増えてます。
その後はエディオン秋葉原本店に改装するも2013年3月20日に完全閉店してます。 pic.twitter.com/fueEC71Why
LDやDVDはほぼ石丸で買ってたよなあ…
某所で盛り上がっている(?)例の話題、 ちょいと触れておくかと思ったが 材料(謎)がありすぎてまとめている余裕ががが (まだ増えそう)
- それでも10進小数をデフォルトにすることは意味がある - kmizuの日記
- GNU C Language Intro and Reference Manual - GNU Project - Free Software Foundation
- [B! programming] decimal型(十進小数)に夢を見ている輩が多すぎる - Qiita
- decimal型(十進小数)に夢を見ている輩が多すぎる - Qiita
- [B! scala] じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル
- じゃあ何すか、COBOL以外では4.8 - 4.7 - 0.1できないってことっすか / ScalaとSpireで安心安全な計算ライフを実現しよう - Lambdaカクテル
- Why isn’t decimal floating-point (DFP) from the IEEE 754-2008 already implemented in hardware of all modern CPUs by now? - Quora
- Decimal floating point - Wikipedia
- 0.1は浮動小数点数で正確に表せないのに、printしたときに0.1と表示されるのはなぜか #Python - Qiita
- 「0.1+0.2≠0.3」を説明できないエンジニアがいるらしい #Python - Qiita
- "「0.1+0.2≠0.3」だから浮動小数点数を扱うときには気を付けましょう" はいいんだけど結局どうしたらいいのかまでフォローしたほうが親切だと思ったので調べてみた #Python - Qiita
- 面接官「0.1 + 0.2 == 0.3 が成立しない理由を説明せよ」 #Python - Qiita
- Excel 0.1を足し続けたとき、なぜ予想される数値と差があるのか。 - Microsoft コミュニティ
- 浮動小数点演算が Excel で不正確な結果をもたらす可能性がある - Microsoft 365 Apps | Microsoft Learn
- XユーザーのHaruhiko Okumuraさん: 「Excelの「誤差」、「=0.5-0.4-0.1」と「=(0.5-0.4-0.1)」を比べてみるとわかるが、括弧をつけないと最終段階で丸めて表示、括弧をつけるとそのまま表示する」 / X
- EXCELの計算結果が0.0999999999999999になることがある|Excelドカタの書きもの
- Excelの連続データ作成と入力制限の組み合わせでエラー #Excel - Qiita
仕事で使用していたExcelで、0.1 ~ 999.9までの小数点0.1刻みの数値のみ入れたい(0.11とかは認めない) という件を対応するため、深く考えずエクセルの連続データ作成で 0.1 ~ 999.9のサンプルデータ列を作って、 入力制限のリストでサンプルデータ列を指定すると有事が発生しました。
Microsoft used the same floating-point formats in their implementation of Fortran[22] and for their macro assembler MASM,[23] although their spreadsheet Multiplan[24][25] and their COBOL implementation used binary-coded decimal (BCD) floating point.[26]
- Microsoft Excel - Wikipedia
- Lotus 1-2-3 - Wikipedia
- decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) #プログラミング - Qiita
きっかけは、今年9月にとある記事のおかげでCOBOLがtwitterのトレンドに入った時のことです。 その際に色々なtweetを目にして、十進演算が結構誤解されてるなあと感じました。 誤差をコントロールしつつがしがし計算するには二進浮動小数点だと思います。
- 世界初の「コンパイラ」そして「COBOL」を開発した天才女性科学者の偉業(ブルーバックス編集部) | ブルーバックス | 講談社
- GitHub - cloudflare/cobweb: COBOL to WebAssembly compiler
- GitHub - openmainframeproject/cobol-programming-course: Training materials and labs for a “Getting Started” level course on COBOL