ときどきの雑記帖 RE* (新南口)
未来は僕らの手の中
そう言えばこの曲はアニメ版のカイジでもオープニングに使われたのだっけか (歌ってたのはカイジの中の人だけど)。
印刷速度
未来を発明する方法 1 - FoundX Review - 起業家とスタートアップのためのノウハウ情報
レーザープリンタ。今日との主な違いは、最初のものは毎秒1ページだったということです。 ほとんどの人は、毎秒1ページプリンタで印刷したことはありません。ポストスクリプト、アウトラインフォントなど。 イーサネット、ピアツーピアおよびクライアントサーバー、50%のインターネット。
毎秒1ページの印刷速度って今でもかなり高速なもの(もちろん色数やら解像度やらの条件は違うけれども) だと思うんだけど、これって毎分の間違いじゃあなかろうかと発言元を調べてみたら本当に言ってるぽい。
9分20秒辺りからがそうなんだけど、そういう位置を指定したリンクを貼り付けても Hugo のshortcode ではエラーではじかれてしまった。のでふつーのリンクもつけておこう。
How to Invent the Future I - CS183F - YouTube
o’reilly本
数年前からO’Reillyのサイトで新刊・近刊をチェックするのがすごーく面倒になって 最近のラインナップはほとんど知らなかったのだけど、 何の気なしにAmazonで検索してみた。
Amazon.co.jp: o’reilly media: 洋書
表紙のベースの色が変わったせいもあるんだろうけど、なんかこう 顔ぶれ(取り上げている題材)に引き寄せられるものがないというかなんというか。
いや、これは自分の方が変わった(変わらなかった)せいか。
ダメ文字
久しぶりに(ShiftJISの)ダメ文字という文字列を見かけた気がする。 前世紀にはあれやこれやで苦労させられましたわねえ(遠い目)
AviUtlでstring.gsubに長音「ー」をぶち込むとバグる問題 - Qiita
記事中でも触れられているけど、\
が2バイト目に来る文字だけじゃなくて、
[
や ]
、{
、}
が2バイト目に来る文字もトラップになるのだった(引っかかる頻度はそれほどではないかもしれない)。
関係代名詞
“[Julia] has enough details that are very similar to Python that when you realize, oh, but all the indexing is one ranges are inclusive instead of exclusive, you think arrgggh!”
all the indexing is one ranges are inclusive instead of exclusive はどう転んでも 配列のすべての添字が1から始まり、範囲の終端が除外されずに内包される とはならないような。one と rangesの間にカンマも何もないし
二番目のthatの先行詞がわからない(関係代名詞じゃない。ってことはないよねえ)。 直前のPythonだとすると意味が取れない(気がする)。
こういうことを書いたわけだけど、そもそもそのthatの直後に来ているのがwhenだったりするのがさらにわけわからない。 が、そういうケースもあるものらしい 英語で、〜thatwhenIのように、that節の中にwhen(〜のとき)は… - Yahoo!知恵袋
試しに DeepL翻訳/DeepL Translate に食わせてみたが、 やっぱりよくわからんな(笑)
elifdef/elifndef
「あとで読む」を整理していて GCC 12 Adds Support For New #elifdef #elifndef Directives - Phoronix を見つけ、そういやこれで何か書こうとしていたような…の直後に #elifdefと#elifndef - yohhoyの日記 を見かけて以下略
glob(そのn+5)
exfile
+ execute
| + cmd
| + list
| + term
| + word
| + item
+ getarg
| + split
| + expand
|
+ execa
+ execs
term
今回は termから。
LOCAL TREPTR term(flg)
{
REG TREPTR t;
reserv++;
IF flg&NLFLG
THEN skipnl();
ELSE word();
FI
IF (t=item(TRUE)) ANDF (wdval=='^' ORF wdval=='|')
THEN return(makelist(TFIL, makefork(FPOU,t), makefork(FPIN|FPCL,term(NLFLG))));
ELSE return(t);
FI
}
短いし特に難しい部分はないと思う。最初の方で呼び出している skipnl や word はとりあえず名前から見当つけて (たぶん後で説明するけど)。
makefork
二個目のif文のthen節で パイプ記号の前後をつなげたリストを作ってそれを返しているわけだけど そこで呼び出しているmakeforkはこんなん。
TREPTR makefork(flgs, i)
INT flgs;
TREPTR i;
{
REG TREPTR t;
t=getstak(FORKTYPE);
t->forktyp=flgs|TFORK; t->forktre=i; t->forkio=0;
return(t);
}
まあ 前回のmakelist とほぼ同じ。そしてここでも TREPTRが指す型(trenod) にないメンバーを指定していたりするので、メンバー名から検索すると
v7unix/mode.h at ed636a47207476db76d53b7869447889dee3bbad · v7unix/v7unix
struct forknod {
INT forktyp;
IOPTR forkio;
TREPTR forktre;
};
前回見た lstnodとまあ同じと言えば同じ構造ですね。 intが一つあって、その後にポインターが二つ。
struct lstnod {
INT lsttyp;
TREPTR lstlef;
TREPTR lstrit;
};
短めだけど今回はこの辺で。
いやなんとなく、金土日で集中してあげるより 多少「寝かせて」でも間隔をあけて週の半ばあたりにした方が良いかもしれないなあと。
ま、本当にそうするかはわからないけどね(笑)