ときどきの雑記帖 RE* (新南口)
哀愁の東京タワー
ネジの頭
スタンダード(いわゆるマイナス)、フィリップス(プラス)、ポジドライブ、トルクスとあと一つ二つくらいは 知っていたけど、想像以上にたくさんあって(とある本を読んでいたら唐突に一覧が載ってた)びっくりした。
概算
とある本(前述のものとは別)を読んでいたら概算の話で
8/35はどのくらいか? 8÷32が1/4なので、 8÷35は1/4より少し大きい。
というのがでてきて🤔
その本は翻訳書なので、誤訳の類じゃないかと思うのだけど どんな原文なのだろう?
Coreutils 9.1
UNIX系OSのユーティリティ群「GNU Coreutils 9.1」が公開 | OSDN Magazine
cp、mv、installで、ディレクトリへのコピー時にopenatのようなシステムコールを利用するようになった。 競合状態を回避でき効率性を改善するとしている。lsとstatコマンドで、ファイルの自動マウントを試みないようになった。 Isコマンドで機能による色付けを廃止した。ほとんど使われていないためと理由を説明しており、 これによりファイルあたりの処理を約30%改善できるとしている。このほか、バグも多数修正されている。
openatはそういや以前見た9.0では使っていなかったかなという記憶。 んで、「lsコマンドで機能による色付けを廃止」のくだりが よくわからなかったので以下略。
まずはChangeLogを、と思ったが見当たらなかったのでNEWSを見るとすぐに原文であろうものが見つかった。 coreutils/NEWS at master · coreutils/coreutils
ls no longer colors files with capabilities by default, as file-based capabilties are very rarely used, and lookup increases processing per file by about 30%. It’s best to use getcap [-r] to identify files with capabilities.
ん-、そもそもcapabilities を「機能」とは訳さないんじゃないかなあ。 それとこれ、 第42回 Linuxカーネルのケーパビリティ[1]:LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術|gihyo.jp … 技術評論社 や プロセスやファイルのケーパビリティを確認できるツールを再発明しつつLinux capabilitiesの理解を進めている - Copy/Cut/Paste/Hatena で言っている「ファイルケーパビリティ」のことじゃないの? あと、「デフォルトで行わなくなった」のであって「廃止」(その機能がなくなった)ではないと思う。
History for src/ls.c - coreutils/coreutils で変更履歴を見ると今日(2022年4月19日)の時点では 一番上にある ls: avoid expensive capability lookup by default · coreutils/coreutils@6b51347 が見るからに関係するコミットのようだ。
実際にその中身を見ると
Lookup of file-based capabilities adds 30% overhead to the common case of ls –color usage. Since the use of file capabilities is very rare, it doesn’t make sense to pay this cost in the common case. It’s better to use getcap to inspect capabilities, and the following run shows only 8 files using capabilities on my fedora 35 distro (14 years after the feature was introduced to the linux kernel).
$ getcap -r / /usr/bin/arping = cap_net_raw+p /usr/bin/clockdiff = cap_net_raw+p /usr/bin/gnome-keyring-daemon = cap_ipc_lock+ep /usr/bin/gnome-shell = cap_sys_nice+ep /usr/bin/newgidmap = cap_setgid+ep /usr/bin/newuidmap = cap_setuid+ep /usr/sbin/mtr-packet = cap_net_raw+ep /usr/sbin/suexec = cap_setgid,cap_setuid+ep
という記述があり、続いて
* src/dircolors.hin: Set "CAPABILITY" to "00", to indicate unused. * src/ls.c: Set the default C_CAP color to not colored.
のように変更の説明があった(この後に差分が続く)。
- File-based capabilities [LWN.net]
- Savannah Git Hosting - coreutils.git/summary
- coreutils/coreutils: upstream mirror
Manual for GNU C
リチャード・ストールマンが語る、フリーソフトウェア運動の現状:
— 新山祐介 (Yusuke Shinyama) (@mootastic) April 18, 2022
「Ubuntuは非フリーだ。あんなの誰も使うべきではない」
「ハードウェアの自由は悪くなる一方。Macはとくに最悪。違法化すべき」
「非フリーなゲームで、他人と協力プレイしようと誘うのは間違っている」https://t.co/NSVij2CMGy
実際に言及している記事を見に行ってみると 新山さんが触れなかった(スルーした?)部分がちょっと気になった(引っかかったともいう)。
Richard Stallman - “The state of the Free Software movement” - April 13, 2022
Stallman announcing a Manual for GNU C
Stallman closed out his presentation by announcing a new book he has written: a manual for the GNU C compiler.
“I have written a manual for GNU C, and the Free Software Foundation is going to publish it in not-too-terribly long. Now, why do I say it’s a manual for GNU C? It does not try to describe the C standard — because that would be tremendously complicated, and tremendously hard to use.
It’s not just that there are a lot of details in the C standard. It’s written in terms of abstractions. Instead of telling you what the program means, it tells you what the program is permitted to mean. So you need to think at a second-order level to make sense of the C standard. Well, the purpose of this manual is to enable people to learn C, and also to enable them to look up the details of what C constructs mean… And indeed, C inevitably is full of wrinkles and more complex rules, but I’ve tried to express them in ways that make it easier to understand C programming. And part of what enabled me to do that is forgetting about the standard.
Now, GCC follows the C standard. It will be quote “conforming” if you specify certain options, which you don’t actually have to specify. But by only describing what GCC does — and not all the other possible things some other compiler might do without violating the standard, it makes the manual much simpler and clearer. So I hope that once this manual has settled down, people will adapt it to cover other languages that are more or less of the same category.”
一瞬、GCCの内部構造を解説した本?
と思ったけど、残念ながらそうではないらしい
>the purpose of this manual is to enable people to learn C, and also to enable them to look up the details of what C constructs mean...
でもまあ、rmsもGCCのメンテナーから外れて久しいものねえ。
追記
RMSが認める自由なディストロはほんの数種類しかない。Debianですらフリーの定義を巡って揉めたので当然曲がることはない。まあ、それでも彼が言っているようにどんどん非フリーが拡大しつつある世界は良いとは思わない。が、文句言う人が年々少なくなっているのだよねぇ。https://t.co/lT1FR84XmR https://t.co/VPvTYGLpR5
— Shuji Sado (佐渡 秀治) (@shujisado) April 18, 2022
Hugoメモ
0.96.0がでてしばらく落ち着いてるなと思っていたら 0.97.0が出て、 すぐに0.97.1、0.97.2、0.97.3と。
- Release v0.97.0 · gohugoio/hugo
- Release v0.97.1 · gohugoio/hugo
- Release v0.97.2 · gohugoio/hugo
- Release v0.97.3 · gohugoio/hugo
The v0.97.x release has been an Easter riddle. The new –renderStaticToDisk flag required a consolidation of the file systems in Hugo, which introduced a bug. The fix for that bug introduced a new bug, and reverting the obvious pick of the two candidate commits … did not resolve the issue.
OK, all good things are three, and now with proper tests to avoid this particular issue happening again.
えーと…