ときどきの雑記帖 RE* (新南口)
宇宙からの贈り物
advent calendar
今年もその季節になりましたが。
家の近くにいくつかキリスト教(細かい宗派はわかりません)の教会があって 「本物の」advent calendarを見たりすることもあるので、 某方面の「元の意味なんか知ったことか」という感のある[暴迷]走っぷりは 見ていて「なんだかなあ」となるんですが まあ「カタカナ書き」になった外来語の扱いなんてそんなもんなんでしょうな。
ココイチ
久しぶり(二年くらいか?)にココイチのカレーを食った。
例によって(謎)5辛で。
無線LANルーター
リプレースした。
たしか今回のが(無線LANルーターを使い始めて)4代目だったと思うけどリプレース作業はだんだん楽になってきた?
設定のコピーが簡単にできる WPS(Wi-Fi Protected Setup - Wikipedia) が使えればもっとリプレース作業は楽だったのだろうけど、 3代目が未対応のものだったので今回の移行作業では使えなかった。
結局3代目は何年使っていたんだろう。結構長かったような気もするけど (5年は間違いなく使っている)。
で
先月初めのブロードバンドアクセスができなくなった問題、どうもWi-Fiルーターが おかしかったっぽいのだけど、現象を簡単にまとめるとこんな感じ。
- Wi-Fi経由でプロバイダーに繋がらない
- Wi-Fiルーター ←→ クライアント(PC、スマホ等)の接続と通信は問題なくできる(ルーターの設定確認や変更が可能)
- Wi-Fiルーターの有線LANポート経由だと問題なく繋がる
2番目のことがあったのでWi-Fiルーターがおかしいという判断にはならずに プロバイダーやらNTTやら問い合わせたのだけど 調査の結果はどちらも問題なしで、 じゃあなぜ繋がらなくなったの? となったけどここで3番目のことが判明して 消去法で考えるとWi-Fiルーターしかないよなあ。 となり、じゃあ長く使ってるしWi-Fi6やらの対応もあるから ルーターを新しくしておこうと。
しかしルーターが壊れたとしてこんな壊れ方するのかはまだちょっと疑問なんだけど。
bit
ちょっと早めのクリスマスプレゼントかお年玉か😄 個人的にはこれで国会図書館に行く用事が少し減るか? (買う手間があるけど)
イーストさんの電子復刻プロジェクトが偉業すぎてやばい https://t.co/awoYJu3hgp
— にゃんだーすわん (@tadsan) December 1, 2021
一冊一冊は高くなくても数が多いから、揃えようとするといい値段になりますな。
tvk
『科学忍者隊ガッチャマン』tvkで12月5日より放送開始 『マッハGoGoGo』『ヤッターマン』『テッカマン』他も放送決定 - amass というのを見て番組表で確認したら 「エースをねらえ!」が先々週から始まっていたらしく 日曜夜はこんな感じになっていた。
時刻 | 番組 |
---|---|
20:00 | エースをねらえ! |
20:30 | 懐アニセレクション |
21:00 | らんま1/2 |
21:30 | 北斗の拳 |
22:00 | (アニメ以外) |
22:30 | 妖怪人間ベム |
23:00 | 銀河鉄道999 |
23:30 | 機動戦士Zガンダム |
あと、ガッチャマン等が放送される枠も今回アニメ枠になったわけではなく これまでは「キャプテン」が放送されていた模様。
gcc asm
削除されてしまったQiitaの記事 で見かけてちょっと気になったこと。
Linux カーネルのソースコードでこんな感じのコードがあるらしく
static __always_inline
long gettimeofday_fallback(struct __kernel_old_timeval *_tv,
struct timezone *_tz)
{
long ret;
asm(
"mov %%ebx, %%edx \n"
"mov %2, %%ebx \n"
"call __kernel_vsyscall \n"
"mov %%edx, %%ebx \n"
: "=a" (ret)
: "0" (__NR_gettimeofday), "g" (_tv), "c" (_tz)
: "memory", "edx");
return ret;
}
- Search · gettimeofday_fallback
- linux/gettimeofday.h at 65c61de9d090edb8a3cfb3f45541e268eb2cdb13 · torvalds/linux
実際検索すれば見つかるのででっち上げの類でないのはわかったのだけど、
入力の制約文字で使われている"g"がよくわからない。
アセンブリ言語で呼び出している__kernel_vsyscalに引数を渡して
その先でシステムコール呼び出しするためには
決まったレジスターに値をセットしなければいけないはずで、
"c" (_tz)
はecxで確定するけど
"g" (_tv)
とは?
Cのコードだけ見ててもよくわからんので コンパイラーの出力したアセンブリ言語プログラムを見る。
gettimeofday_fallback:
pushq %rbp
.seh_pushreg %rbp
movq %rsp, %rbp
.seh_setframe %rbp, 0
subq $16, %rsp
.seh_stackalloc 16
.seh_endprologue
movq %rcx, 16(%rbp)
movq %rdx, 24(%rbp)
leaq __NR_gettimeofday(%rip), %rax
movl (%rax), %eax
movq 24(%rbp), %rcx
/APP
# 20 "aas.c" 1
mov %ebx, %edx
mov 16(%rbp), %ebx
call __kernel_vsyscall
mov %edx, %ebx
# 0 "" 2
/NO_APP
movl %eax, -4(%rbp)
movl -4(%rbp), %eax
addq $16, %rsp
popq %rbp
ret
うーむ?
- c - GCC inline assembly: “g” constraint and parameter size - Stack Overflow
- Extended Asm (Using the GNU Compiler Collection (GCC))
- Machine Constraints (Using the GNU Compiler Collection (GCC))
- GCC x86 Inline Assembler
- GCCのインラインアセンブラの書き方 for x86 - OSのようなもの
- 呼出規約 - Wikipedia
あ、そういうことか。わかった (読者置いてきぼり)。
langinfo
以前
で書いた jihira, jkata等に関してちょこちょこ調べていたりするのだけど その途中経過というか単なるダンプ。
charclass
Define one or more locale-specific character class names as strings separated by <semicolon> characters. Each named character class can then be defined subsequently in the LC_CTYPE definition. A character class name shall consist of at least one and at most {CHARCLASS_NAME_MAX} bytes of alphanumeric characters from the portable filename character set. The first character of a character class name shall not be a digit. The name shall not match any of the LC_CTYPE keywords defined in this volume of POSIX.1-2017. Future versions of this standard will not specify any LC_CTYPE keywords containing uppercase letters.
charclass-name
Define characters to be classified as belonging to the named locale-specific character class. In the POSIX locale, locale-specific named character classes need not exist.
If a class name is defined by a charclass keyword, but no characters are subsequently assigned to it, this is not an error; it represents a class without any characters belonging to it.
The charclass-name can be used as the property argument to the wctype() function, in regular expression and shell pattern-matching bracket expressions, and by the tr command.
Linux における日本語ロケールに関する指針 Chapter 4. ロケール定義
可能ならば以下のクラスを追加する。
jdigit
0,1,2,3,4,5,6,7,8,9 JIS X 0208 の算用数字のみを含むものとする。jhira
JIS X 0208 の平仮名を含むものとする。 (゛゜ーゝゞ も含む。)jkata
JIS X 0208 の片仮名を含むものとする。 (゛゜ーヽヾ ヵヶ も含む。) JIS X 0201 のカタカナを含むものとする。jkanji
JIS X 0208/JIS X 0212 の漢字を含むものとする。 (仝々〇 も含む。)jspace
JIS X 0208 の空白(1区1点)のみを含むものとする
ユーザープログラムでこの辺をどう扱うかもある程度見当がついたけど、 そっちはもうちょい調べてから。
zsh のglobing
今年中には最後まで進めたいなあ(どうまとめたものか(端折ったものか)を思案中)… zshのあとにbashもあるし(その気はあるらしい)。
「C言語わかる?」
— yoh (@yohhoy) December 1, 2021
「C言語なんもわからんが」
「このバグなんだけど」
「あーこれは可変長引数において汎整数拡張が行われた関係で実引数型とva_argの型指定が食い違ってますね」
「C言語わかる?」
「C言語なんもわからん」
Qiita 記事を眺めると、人は C++ の規格書を一ミリも読まない事が多いらしいことが分かった
— 夜糸 (@yaito3014) December 1, 2021
まあドキュメントもあまり見てなそう(観測と推測と憶測で記事を書いている)ですしねえ。 とは言えC++の規格書はハードルというか敷居というか参入障壁というかが 高めな気もしないでもない。
あら懐かしいHu-BASICじゃないの鉄郎。月刊アスキーが隠しコマンドを特集したりとか人気の言語だわ… 隠しコマンドにTRONってのがあって、それだけ覚えているわ…ちょうど映画のTRONが話題になってた頃で… 機能はトレースオンというデバッグコマンドだったけどhttps://t.co/lykW501JeW
— メーテル (@_maeter) December 1, 2021
本当、何者なんですかこのメーテルさん…
銀河の歴史がまた一ページ
宇宙暦745年12月4日 自由惑星同盟軍と銀河帝国軍は大兵力をティアマト星域に展開させた。#外伝4巻 #第二次ティアマト星域会戦
— 今日は何の日@銀英伝bot (@logh_today) December 3, 2021