ときどきの雑記帖 RE* (新南口)
大きな玉ねぎの下で
ふとした疑問
海外(?)にqiitaやzennみたいなサイトはあるのだろうか?
横浜美術館
横浜美術館で2025年に佐藤雅彦展が!!!!楽しみです pic.twitter.com/xGijODauy2
— 藤田 卓也 (@2gta9) June 28, 2024
リニューアルしてから行ってないなあ。
Swift
一度(でいいのか?)使ってみたくはあるのだけど そのために揃えなきゃいけない諸々が以下略
最近iOSアプリ開発をしている - なーんだ、ただの水たまりじゃないか
マイコン博物館
マイコン博物館は紛れもなく”博物館”です! | 令和に始めるX68000
早いところ自分も一度訪問したいのであるがぁ(ry
会長
2024年のRailsと自由について考える - Speaker Deck
諸悪の権化
というのを見かけたのだけど、 「悪の権化」と「諸悪の根源」が混ざった?
Re:CREATORS
なぜか(?)先週からまたMXで再放送が始まった。 いや、好きな作品だからいいんだけど😄
とくに後半クールのED曲が好きなのよ
Cのアレ
これを知らなければ、C++プログラマを名乗れない。ITエンジニアも驚いた「C言語」の配列の仕組み→「初めて知った」「配列へのアクセスの書き方が糖衣構文」 - Togetter [トゥギャッター]
あれやこれや(謎)はさておき、 はてブ [B! プログラミング] これを知らなければ、C++プログラマを名乗れない。ITエンジニアも驚いた「C言語」の配列の仕組み→「初めて知った」「配列へのアクセスの書き方が糖衣構文」 のコメントに
順序が逆で、「メモリアドレスへのデータ連続配置をポインタでやってたんだけど、めんどくさいし間違えるんで配列っていう概念ができた」んだよ
というのがあったのだけど、 はてこれは?
undocumented
なアレ、せっかくソースコードが公開されているのだから ちょっと追いかけてみた。
まずはint21 49hのハンドラーを探すと… すぐに見つかった
MS-DOS/v2.0/source/MSCODE.ASM at main · microsoft/MS-DOS
; Memory Group
short_addr $ALLOC ; 72 48
short_addr $DEALLOC ; 73 49
short_addr $SETBLOCK ; 74 4A
;
ここから$DEALLOC
を探すと
MS-DOS/v2.0/source/ALLOC.ASM at main · microsoft/MS-DOS
SUBTTL $DEALLOC - free previously allocated piece of memory
PAGE
;
; Assembler usage:
; MOV ES,block
; MOV AH,dealloc
; INT 21h
;
; Error return:
; AX = error_invalid_block
; = error_arena_trashed
;
procedure $DEALLOC,NEAR
ASSUME DS:NOTHING,ES:NOTHING
MOV DI,arena_signature
MOV AX,ES
DEC AX
CALL check_signature
JC dealloc_err
MOV ES:[arena_owner],DI
transfer SYS_RET_OK
dealloc_err:
error error_invalid_block
$DEALLOC ENDP
MS-DOS/v2.0/source/ALLOC.ASM at main · microsoft/MS-DOS
; check_signature
; input: AX - address of block header
; output: ES=AX, carry set if signature is bad
;
procedure check_signature,NEAR
ASSUME DS:NOTHING,ES:NOTHING
MOV ES,AX ; ES <- AX
CMP BYTE PTR ES:[DI],arena_signature_normal
; IF next signature = not_end THEN
JZ check_signature_ok ; GOTO ok
CMP BYTE PTR ES:[DI],arena_signature_end
; IF next signature = end then
JZ check_signature_ok ; GOTO ok
STC ; set error
return
check_signature_ok:
CLC
return
Check_signature ENDP
DEC AX
の目的はたぶんallocの方もみないとわからなそうだけどそれはさておき、
AXに問題の値が残るっては確かにそれっぽい。
ここまで見たのは2.0のものだけど、 4.0でも基本的には同じ。
MS-DOS/v4.0/src/DOS/ALLOC.ASM at 2d04cacc5322951f187bb17e017c12920ac8ebe2 · microsoft/MS-DOS
procedure $DEALLOC,NEAR
ASSUME DS:NOTHING,ES:NOTHING
EnterCrit critMem
MOV DI,arena_signature
MOV AX,ES
DEC AX
CALL check_signature
JC dealloc_err
MOV ES:[arena_owner],DI
LeaveCrit critMem
transfer SYS_RET_OK
dealloc_err:
LeaveCrit critMem
error error_invalid_block
EndProc $DEALLOC
MS-DOS/v4.0/src/DOS/ALLOC.ASM at 2d04cacc5322951f187bb17e017c12920ac8ebe2 · microsoft/MS-DOS
; check_signature
; input: AX - address of block header
; output: ES=AX, carry set if signature is bad
;
procedure check_signature,NEAR
ASSUME DS:NOTHING,ES:NOTHING
MOV ES,AX ; ES <- AX
CMP BYTE PTR ES:[DI],arena_signature_normal
; IF next signature = not_end THEN
retz ; GOTO ok
CMP BYTE PTR ES:[DI],arena_signature_end
; IF next signature = end then
retz ; GOTO ok
STC ; set error
return
EndProc Check_signature
今日の重箱の隅
C2x Charter(C2x 憲章) #AdventCalendar - Qiita というちょっと古い記事を見ていたら
オリジナル原則 のところに
2. C code can be portable.
2. Cコードはポータブルであるべき。
3. C code can be non-portable.
3. Cコードはポータブルでなくてもよい。
というのに引っかかった。
「Cコードはポータブルであるべき」という
原則というか主張はまあ同意するけれども、
原文では2と3のどちらもcan
を使っているのに
どうして訳文では
「あるべき」と「でもよい」
と変えているのだろう?(特に前者)
こういう時は原文に当たれだけど
- The C Standard charter
- WG 14 N 444 – The C9X Charter as revised at the June 1995 meeting in Copenhagen
C code can be portable. Although the C language was originally born with the UNIX operating system on the DEC PDP-11, it has since been implemented on a wide variety of computers and operating systems. It has also seen considerable use in cross-compilation of code for embedded systems to be executed in a free-standing environment. The Committee has attempted to specify the language and the library to be as widely implementable as possible, while recognizing that a system must meet certain minimum criteria to be considered a viable host or target for the language.
C code can be non-portable. Although it strove to give programmers the opportunity to write truly portable programs, the Committee did not want to force programmers into writing portably, to preclude the use of C as a ``high-level assembler;’’ the ability to write machine-specific code is one of the strengths of C. It is this principle which largely motivates drawing the distinction between strictly conforming program and conforming program.
よくわからん
新刊近刊
あんかけ焼きそばの謎
『あんかけ焼きそばの謎』発売だそうです。
— 近代食文化研究会@新刊『新しいカレーの歴史 上』(日本渡来以前の諸国のカレー)発売中! (@ksk18681912) June 29, 2024
長崎県民は全員買いましょう!(ちゃんぽん・皿うどんの歴史決定版です) https://t.co/BVrjirSmyv
ソース焼きそばの謎 (ハヤカワ新書) eBook : 塩崎 省吾: Kindleストア も面白かったのでこれも要チェックですね
コンピューター誕生の歴史に隠れた6人の女性プログラマー
本日、藤原印刷さんから『コンピューター誕生の歴史に隠れた6人の女性プログラマー』の束見本が届きました!
— 共立出版 (@kyoritsu_pub) June 27, 2024
ENIACの開発に貢献した6人の女性たちを描いたノンフィクション作品。彼女たちの功績と情熱を掘り起こし、コンピューター史における重要な役割を明らかにしています。https://t.co/Wnu385pGPW https://t.co/PIxyfPIUGf pic.twitter.com/zblcBAFy2I
結構厚いねえ (読み応えありそう。とも言う)
日向さんの新刊
awk
mruby
awkでmrubyを実行できるようにした(?) - ぶていのログでぶログ
GNU awk(以下awk)のDynamic Extension機能を使って、awkの内部でmrubyを実行できるようにしてみた!
あるプログラミング言語処理系に別のプログラミング言語を組み込むというのがなんとなく面白い。
FORTRAN Compiler on IBM 704
Hugo メモ
June GNU Spotlight
6月の更新分には APLやmes、Octave なんかがあった。
アクセスしたときにdonationを求められて気がついたのだけど 長いことGNU(というかFSFというか)に寄付してないなあ。 ない袖は振れないというか 円安が追い打ちかけてるとか以下略
calendar
- [B! Togetter] 「これで中世ヨーロッパに転生しても困らないな」iPhoneのカレンダーで1582年10月まで遡ると4日まではユリウス暦、15日からはグレゴリオ暦となっている
- 「これで中世ヨーロッパに転生しても困らないな」iPhoneのカレンダーで1582年10月まで遡ると4日まではユリウス暦、15日からはグレゴリオ暦となっている - Togetter [トゥギャッター]
多分ユリウス暦の起算日ですね 紀元前4713年の1月1日が基準だったはずです
紀元前0年は無く、その後は普通に1年2年と遡ってるにもかかわらず増えていき、紀元前4712年までいけた(ユリウス暦の起点だそうだ)
紀元前4713年1月1日が始まりなのは「ユリウス通日」の方。 あとユリウス暦でも最初の頃はうるう年の置き方が間違っていて、 その修正のための期間もあったりしたのだけど その辺はどうしてるんだろう>iPhoneのカレンダー
確かめればいいという話だけどめn(ry
ところで西亭新九郎が暗躍したのか 和田先生のblogでもカレンダーの話題が
unboxing
はー……。これが亀戦車の実像ですか。
— MASA(航空宇宙・軍事) (@masa_0083) June 22, 2024
旧式のT-62戦車にスクラップで覆いをつけ、エンジンの上に歩兵を乗せて兵員輸送車両として使っていたと。
砲塔が使えないので砲手は初めから乗っておらず、爆発反応装甲には反応火薬が入っていない……。… https://t.co/adUIBZackp
いや、「unboxing」が目に入ったのでなんとなく (boxing→「ボックス化」という訳語はいかんと思うのよ)
Apollo 13
CVE-2024-6387
OpenSSHではログインタイムアウトを処理するのにSIGALRMを使ってるんだけど、シグナルハンドラの中で使っちゃいけない関数を使って処理をしてしまってた。2006年に一度修正されたんだけど2020年に行ったログ関連処理をするコードのリバイスでバグが復活してしまう。
— 嶋田大貴 (@shimariso) July 1, 2024
以前修正したはずのものが復活したというのが気になったのだけど
詳細を読むと「シグナルセーフでない OS では無効化するようにしていた # ifdef 部分が意図せず有効になってた」なので、レビューで防げるかどうかは半々って感じですね https://t.co/9xxccfpTXA
— AoiMoe a.k.aしお兄P (@AoiMoe) July 2, 2024
ということらしい。 機械的に防ぐ(検出する)手段はないもんかしらね
おぎのや
JR神田駅前において峠の釜めしなどを直営で販売していた「荻野屋 弦 神田」は3月末にリニューアルのため閉店しましたが、新店舗として荻野屋が手掛ける日本料理店「おぎのや食堂」が昨日(1日)オープンしています、住所は旧店舗と同じく鍛冶町2-14-3です
— 天野マウス (@mouseunit) July 1, 2024
結局まだ一度も行ってないなあ。近く(秋葉原とか淡路町とか東京)にはときどき行ってるのだけど
カッパーくん
駒場、駅にキモい広告が多すぎてこのクソしょーもないギャグがオアシス
— 🦉 (@manmaru_hukuro) July 2, 2024
てかcopperと河童はポイント高い pic.twitter.com/CiZjxJE1lj
新聞広告では割と見かけるのだけど 駅の看板広告にもいるんだ😄>カッパーくん
【日本計算史ニュース】の時間です
— K.Maeyama /電子計算機の日本史 (@mk95_hoc) June 29, 2024
『美 機械式計算機の世界』の中で「関係者でも実機を見たことがなく『幻の計算機』の存在です」「タイガー計算器(株)の計算機業務の終了で、桃山学院大学に寄贈された機械の中にも見当たりません」
とされていた計算機を発見しました!! pic.twitter.com/8p2lZhHeXH
2024 is 50% complete. pic.twitter.com/TUArCKym6v
— Progress Bar 2024 (@ProgressBar202_) July 2, 2024