ときどきの雑記帖 RE* (新南口)
Battlestar Galactica
録画予約
今回は忘れないうちに予約完了😄【 #運転席からの風景 ②】
— NHK PR (@NHK_PR) February 24, 2024
鉄道ファン、沿線の皆さま、そして競馬クラスタの皆さまにもご注目いただいた「武蔵野線」に続き、今週は『鉄道開業の地・新橋~横浜』を1時間、前面展望の映像を中心にお送りします。
27(火)午前1:25[総合]※月曜深夜
▼今回も、こんな感じです▼ pic.twitter.com/JdZwBNENDg
ノート
コクヨからフラットに開けるノートが出ていてちょっとびっくりしたのだけど、 一部(どこ?)で話題になってたのね。
- キャンパス フラットが気持ちいいノート(ドット入り罫線)3色 | コクヨ公式ステーショナリーオンラインショップ
- ※12/11追加 ”おじいちゃんのノート”で親しまれる東京・中村印刷所の「水平開きノート」に対し、コクヨが同じ機能を持った商品を新発売。印刷所の代表が不安を吐露 - Togetter
- 「おじいちゃんのノート」対コクヨの特許問題について(栗原潔) - エキスパート - Yahoo!ニュース
- 「おじいちゃんのノート」の特許を分析する(栗原潔) - エキスパート - Yahoo!ニュース
Delphi
来年で30周年なのか(遠い目
人寄せパンダ
ってパンダが日本に来る前は どんな表現していたんだろうか?
- 客寄せパンダ、という言葉はいつごろ誰が言い出したのですか。また、どういう意味で… - Yahoo!知恵袋
- 「客寄せパンダ」の言い換えや類語・同義語-Weblio類語辞典
- 「客寄せパンダ」の語源(どすこい): ことば会議室
信号機
LEDを使った薄型のやつをちらほら見かけるようになったのだけど、 雪国でもないのに少し下向きにして設置しているのはなぜなんだろう?
- ファイル:薄型LED信号機を斜め下に向けて設置している状況(2018.02).jpg - Wikipedia
- 日本の交通信号機 - Wikipedia
- 信号機が薄型になってた!|古市場 | 新川崎.jp
- 交通信号機の最新型ついて -交通信号機の形がスマホ型になっていますが- その他(交通機関・地図) | 教えて!goo
下向きに取りつけることにより、太陽高度の低いときも、反射方向が下向きになるため、LEDでも太陽光で信号が見えないという問題もある程度解決できます。
なるほど
関数呼び出し
From Go to Rust: The Two Types of Readable Code - Earthly Blog
f(x,y) -> Clear and straightforward - the mark of practical programming. f x y -> Acceptable in shell scripting, but a bit odd. (f x y) -> Impossibly puzzling. Approach with caution!
にちょっと笑った
新刊近刊
テクノロジーに利他はあるのか?
RITA MAGAZINE テクノロジーに利他はあるのか? : 未来の人類研究センター: 本
ドミニク・チェンが著者に入っているので(自分的には)要チェック
生成AIスキルとしての言語学
生成AIスキルとしての言語学 誰もが「AIと話す」時代におけるヒトとテクノロジーをつなぐ言葉の入門書 | 佐野大樹 | 工学 | Kindleストア | Amazon
ChatGPTもそうだけど生成AIもその言葉を含んだタイトルが山ほど出ているので以下略
インターフェース
2月24日発売の4月号は数学特集です.今の専門分野から一歩踏み出して,新しいことにチャレンジするキッカケにしていただければと.
— コンピュータ技術実験雑誌「Interface」(毎月25日発売,CQ出版社) (@If_CQ) February 21, 2024
脱「現状維持」ということで. pic.twitter.com/dV1GPSAAvr
インターフェースと言えば 別冊付録のコンピュータ手帳を見ていないような と思って調べたら、今年はなし?
- 2016年1月号目次 | Interface – CQ出版
- 2017年1月号目次 | Interface – CQ出版
- 2018年1月号 | Interface – CQ出版
- 2019年1月号 | Interface – CQ出版
- 2020年1月号 | Interface – CQ出版
- 2021年1月号 | Interface – CQ出版
- 2022年1月号 | Interface – CQ出版
- 2023年2月号 | Interface – CQ出版
(2015年以前はわからん)
awk
assoc
ふたたびgawkをみているけど、そもそもawkだとUnaryと!はnon assocじゃん (gawkは%right)。
— kaneko.y (@spikeolaf) February 23, 2024
というのをみかけたので(ry
Table: Expressions in Decreasing Precedence in awk を見ると
Syntax | Name | Type of Resut | Associativity |
---|---|---|---|
! expr | Logical not | Numeric | N/A |
+ expr | Unary plus | Numeric | N/A |
- expr | Unary minus | Numeric | N/A |
とあるので、たしかにnon assocのようだ。
で、gawkだと
/* Lowest to highest */
%right ASSIGNOP ASSIGN SLASH_BEFORE_EQUAL
%right '?' ':'
%left LEX_OR
%left LEX_AND
%left LEX_GETLINE
%nonassoc LEX_IN
%left FUNC_CALL LEX_BUILTIN LEX_LENGTH
%nonassoc ','
%left MATCHOP
%nonassoc RELOP '<' '>' IO_IN IO_OUT
%left CONCAT_OP
%left YSTRING YNUMBER TYPED_REGEXP
%left '+' '-'
%left '*' '/' '%'
%right '!' UNARY
%right '^'
%left INCREMENT DECREMENT
%left '$'
%left '(' ')'
こうで、OTA(One True Awk)だとこう
%right ASGNOP
%right '?'
%right ':'
%left BOR
%left AND
%left GETLINE
%nonassoc APPEND EQ GE GT LE LT NE MATCHOP IN '|'
%left ARG BLTIN BREAK CALL CLOSE CONTINUE DELETE DO EXIT FOR FUNC
%left GSUB IF INDEX LSUBSTR MATCHFCN NEXT NUMBER
%left PRINT PRINTF RETURN SPLIT SPRINTF STRING SUB SUBSTR
%left REGEXPR VAR VARNF IVAR WHILE '('
%left CAT
%left '+' '-'
%left '*' '/' '%'
%left NOT UMINUS UPLUS
%right POWER
%right DECR INCR
%left INDIRECT
%token LASTTOKEN /* must be last */
gawkと同じで nonassocにはなっていないのだけど posixのあれはどこから来たんだ?
構文規則の単項演算子の’-‘などが出てくるあたりを見ても
term:
term '/' ASGNOP term { $$ = op2(DIVEQ, $1, $4); }
| term '+' term { $$ = op2(ADD, $1, $3); }
| term '-' term { $$ = op2(MINUS, $1, $3); }
| term '*' term { $$ = op2(MULT, $1, $3); }
| term '/' term { $$ = op2(DIVIDE, $1, $3); }
| term '%' term { $$ = op2(MOD, $1, $3); }
| term POWER term { $$ = op2(POWER, $1, $3); }
| '-' term %prec UMINUS { $$ = op1(UMINUS, $2); }
| '+' term %prec UMINUS { $$ = op1(UPLUS, $2); }
| NOT term %prec UMINUS { $$ = op1(NOT, notnull($2)); }
| BLTIN '(' ')' { $$ = op2(BLTIN, itonp($1), rectonode()); }
だから、規則で蹴飛ばしているわけでもないよねえ
じゃあとUNIX v7のawkもみてみると
%right ASGNOP
%left BOR
%left AND
%left NOT
%left NUMBER VAR ARRAY FNCN SUBSTR LSUBSTR INDEX
%nonassoc RELOP MATCHOP
%left OR
%left STRING DOT CCL NCCL CHAR
%left '(' '^' '$'
%left CAT
%left '+' '-'
%left '*' '/' '%'
%left STAR PLUS QUEST
%left POSTINCR PREINCR POSTDECR PREDECR INCR DECR
%left FIELD INDIRECT
%token LASTTOKEN /* has to be last */
term:
var
| FNCN { PUTS("func");
$$ = op2(FNCN, $1, valtonode(lookup("$record", symtab), CFLD));
}
| FNCN '(' ')' { PUTS("func()");
$$ = op2(FNCN, $1, valtonode(lookup("$record", symtab), CFLD));
}
| FNCN '(' expr ')' { PUTS("func(expr)"); $$ = op2(FNCN, $1, $3); }
| SPRINTF print_list { PUTS("sprintf"); $$ = op1($1, $2); }
| SUBSTR '(' expr ',' expr ',' expr ')'
{ PUTS("substr(e,e,e)"); $$ = op3(SUBSTR, $3, $5, $7); }
| SUBSTR '(' expr ',' expr ')'
{ PUTS("substr(e,e,e)"); $$ = op3(SUBSTR, $3, $5, nullstat); }
| SPLIT '(' expr ',' VAR ',' expr ')'
{ PUTS("split(e,e,e)"); $$ = op3(SPLIT, $3, $5, $7); }
| SPLIT '(' expr ',' VAR ')'
{ PUTS("split(e,e,e)"); $$ = op3(SPLIT, $3, $5, nullstat); }
| INDEX '(' expr ',' expr ')'
{ PUTS("index(e,e)"); $$ = op2(INDEX, $3, $5); }
| '(' expr ')' {PUTS("(expr)"); $$ = $2; }
| term '+' term { PUTS("t+t"); $$ = op2(ADD, $1, $3); }
| term '-' term { PUTS("t-t"); $$ = op2(MINUS, $1, $3); }
| term '*' term { PUTS("t*t"); $$ = op2(MULT, $1, $3); }
| term '/' term { PUTS("t/t"); $$ = op2(DIVIDE, $1, $3); }
| term '%' term { PUTS("t%t"); $$ = op2(MOD, $1, $3); }
| '-' term %prec QUEST { PUTS("-term"); $$ = op1(UMINUS, $2); }
| '+' term %prec QUEST { PUTS("+term"); $$ = $2; }
| INCR var { PUTS("++var"); $$ = op1(PREINCR, $2); }
| DECR var { PUTS("--var"); $$ = op1(PREDECR, $2); }
| var INCR { PUTS("var++"); $$= op1(POSTINCR, $1); }
| var DECR { PUTS("var--"); $$= op1(POSTDECR, $1); }
;
んー? 色々と今とは違った書き方 (NOT ‘!‘の優先順位とか単項の’+’、’-‘の優先順位指定に 正規表現演算子(QUEST ‘?’)を流用しているとか) をしているけど、やっぱりnon assocじゃあないよねえ…
Hugo メモ
大きめの変更と機能追加があった模様
- Release v0.123.0 · gohugoio/hugo
- Release v0.123.1 · gohugoio/hugo
- Release v0.123.2 · gohugoio/hugo
- Release v0.123.3 · gohugoio/hugo
There are some breaking changes that have been announced for a long time. Most sites will not be affected by this, but we recommend that you test your site with the new Hugo version before you set it up to build to production.
思い込み
初めて信濃(航空母艦)のプラモデルを作ったとき、 傾斜煙突ということを知らなかったので 無理やりまっすぐにしようとして苦労した記憶が
ボックスアート見ればわかるのにねえ😓
傾斜煙突と言えば、空母(CV)じゃなくて強襲揚陸艦(LHA、LHD)だけど 今も採用している艦があるんだよね(空母はまあ原子力になったし)
- 日本海軍空母(飛鷹型、大鳳、信濃)の煙突を艦橋から傾ける効果はあったので… - Yahoo!知恵袋
- LHD8 Sea Trial - マキン・アイランド (強襲揚陸艦) - Wikipedia
- USS America (LHA-6) F-35B loaded - アメリカ級強襲揚陸艦 - Wikipedia
- USS Tripoli (LHA-7) underway in the Gulf of Mexico during builder’s trials, 15 July 2019 (190715-N-N0101-150) - トリポリ (LHA-7) - Wikipedia
- A640, USS John F Kennedy, starboard side, Navy Yard, Delaware River, Philadelphia, 2018 - USS John F. Kennedy (CV-67) - Wikipedia
半群
SemiGroup、Monoid もみておくとよいかも。
— Nobuo Yamashita (@nobsun) February 23, 2024
「モナドは単なる自己関手の圏におけるモノイド対象だよ。何か問題でも?」 https://t.co/kFSeMw91av
たしかkinabaさんが半群(SemiGroup)はプログラミングで有用みたいなことを かなり以前に言っていて、勉強したくはあるんだけど 本を探しても全然と言っていいほど見つからないんだよねえ
inline
関数のインライン展開には、コンパイラはinlineキーワードのありなしを見てないから (Efficient C++の頃から言われてるから20年くらい前から)、実際にはヘッダファイルで定義できる機能の方で使われていて、そっちの方では一貫してます https://t.co/oT79eQLIJR
— Akira Takahashi (@cpp_akira) February 22, 2024
がTLに流れてきて、気になったので元をたどってみた
関数のインライン指定は意味わかるけど、変数のインライン化ってなんやねん、って感じが…
— angel (as ㌵㌤の猫) (@angel_p_57) February 22, 2024
※そこまで既存のキーワード使い回すことを重視しなくても…( 読めば分かるけどそういう問題じゃないだろう、的な ) https://t.co/Xeo6dJY5BF
インライン変数 - cpprefjp C++日本語リファレンス
外部リンケージを持つ変数に対しインラインinlineを指定することで、複数の翻訳単位で同じ変数を定義できるようになり、 変数の実体はただ一つとすることができる。
C++14までは関数のみインライン指定ができたが、C++17では関数、変数ともにインライン指定が可能になった。
これによりヘッダのみで変数の定義を行うことができるようになり、 従来のようにヘッダで変数を宣言しソースで変数の実体を定義する必要がなくなった。
// C++17以降 ----- // ヘッダ struct X { // ソースで変数fooを定義する必要がない static inline int foo; }; // C++14以前 ----- // ヘッダ struct X { // ヘッダでは変数の宣言のみを行い static int foo; }; // ソース // 変数fooを定義する int X::foo;
なるほどこりゃ後からそれだけ見るとよくわからなくなる キーワードの使いまわしですわね。 つか、このstaticの使い方も大概な感じが。
sigilを使えばこんな問題 (既存のプログラムが動かなくなるのを避けるためにキーワードを使いまわす ことに起因するわかりにくさ) は起きないのに(マテ
一応 C++ は昔から知ってるので、それと照らし合わせるとこう名付けたくなった気持ちも分からないでもないんですが、新規の人に内輪の背景を押し付ける感じがなんとも。
— angel (as ㌵㌤の猫) (@angel_p_57) February 22, 2024
※というか、むしろなんで最初からそうしなかったのかという疑問は残りますね。weak が満足に扱えなかったんでしょうか??
「weakが満足に扱えなかった」というのは(たぶん)その通りで、 この辺はリンカーの「配慮」も必要だったけど リンカーには手を付けなかった(つけられなかった)ので そうなっていたと認識している(名前のmanglingもそう)。
リンカー込みで作られていたら(作れていたら) 色々な「後の苦労」は減っただろうけど、 実際のところ当時それができたかどうかは以下略