ときどきの雑記帖 RE* (新南口)
気分次第で責めないで
URBAN HACKS
久しぶりに「問題」が出されている広告を見た。 つーても降りる間際に気がついたので どんな問題だったのかよくわからなかった (「編集距離」が絡むような内容だった気がする…)
一つ前の広告ではAIで生成したイラストを(小さくそうと明記して) 使ったものだったりして、方向性を変えたのかと思ったりしていた。
- 電車で見かけた広告、よく見たらAI生成!? 「人間じゃないのか」「今後増えそう」 ユニークな広告を制作した東急に意図を聞いた(1/2 ページ) - ねとらぼ
- 一見普通に見えるこちらの広告、流行りの生成AIへの皮肉が効いてて感心する「作った人頭いい…」 - Togetter
この辺で話題になってるやつね。
で、今回の問題文が載った画像はないものかと検索したところ次の記事にあった。
だから、今度こそと思って、電車に乗ったときには、すでに、次の広告になっていた。
この「次の広告」が話題にしているもので、その問題文はこう。
編集距離の概念を使うと 3つの文字列のうちで URBANHACKSに一番 近い言葉はどれですか?
- BACONATTACKS
- CARBONSOCKS
- SALMONCOMPLEX
そして今日乗った電車で見つけたものは問題が微妙に違っていた
編集距離の概念を使うと 3つの文字列のうちで TOKYUDIGITAL に一番 近い言葉はどれですか?
- TOFUMENTAAL
- TURKEYRENTAL
- RYUKYUANIMAL
他にもあるんだろうか?
再放送
8/15(火)23時〜
— 機動警察パトレイバー公式 (@patlabor0810) August 9, 2023
#X年後の関係者たち #機動警察パトレイバー 回再放送です!!🎉
前回見逃した!という方は今度こそ!
もう観たよ〜🖐️という方もぜひもう一度! https://t.co/6x7fSQXkL4
メモ
ポケモン電車
東横線某駅の渋谷方面のホームにこの電車が入ってきたときに、 目黒線の電車待ちをしていた小さな子が 「あっちに乗りたい」と駄々をこねだして ちょっとほほえましかった。 一緒にいたお母さんは困ってたけど。
ただ、その電車に乗っても内装はふつーの編成だし、 外側のラッピングは中からは見えないんだよね😄
ク
けっこう「ビックモーター」 と書いている人がいて以下略。
GNU Hurd
mhattaさんの名前を意外な(?)ところで見かけた。
- Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way | Hacker News
- GNU/Hurd strikes back. How to use the legendary OS in a… | by Masayuki Hatta | Jul, 2023 | Medium
んで、
Why GNU/Hurd?
GNU/Hurd has a number of interesting features. The most famous of these is probably the translator. The translator allows users to create local implementations of the programs that handle access to specific directories and files.
Personally, one reason for using GNU/Hurd is that the Linux kernel has become too huge. Look at this:
I don’t think that anyone is able to grasp the full picture of Linux anymore. It was also said that the Hurd would never be finished because it was too complex and too large. That is no longer the case. GNU/Hurd is a relatively small OS! Maybe the development of the microkernel and the Hurd required the development of Linux and the development of virtualization after all.
HNのコメントでも色々意見が出ているけど 実際のところどうなんですかね。
○○○の呪い
大げさだけど>呪い
- MS Teams channels cannot contain MS-DOS device names | Hacker News
- Limits and specifications for Microsoft Teams - Microsoft Teams | Microsoft Learn
新山さんが拾いそうなネタだなと思ってたら、しっかり (引っ越し先で) 拾っていた😄
Evolution of Emacs Lisp
Evolution of Emacs Lisp(の準備校)を8割がた訳したけど 表には出せんな(笑)
実際内容は面白い(もちろん「その筋」の人にとって) ものなので、機会があれば読んでみることをオススメ。
めちゃくちゃおもしろい。僕の英語力ではおそらくおもしろポイントを聞き取れてないのが残念だが… https://t.co/AIadqqCadf
— にゃんだーすわん (@tadsan) August 11, 2023
雑に書いてます https://t.co/eua2H96XQp
— にゃんだーすわん (@tadsan) August 11, 2023
Java
21で色々と追加(まだ正式なものでないものもあり)
Java 21: what’s new ? | Loic’s Blog
JEP 430 | - | String Templates (Preview) |
JEP 431 | - | Sequenced Collections |
JEP 443 | - | Unnamed Patterns and Variables Preview) |
JEP 445 | - | Unnamed Classes and Instance Main Methods (Preview) |
Features coming out of preview
The following features comes out of preview (or incubator module) are now standard features:
JEP 440 | - | Record Patterns |
JEP 441 | - | Pattern Matching for switch |
JEP 444 | - | Virtual Threads |
The following features remain in preview (or in the incubator module).
JEP 442 | - | Foreign Function & Memory API (Third Preview) |
JEP-448 | - | Vector API |
JEP 446 | - | Scoped Values (Preview) |
JEP 453 | - | Structured Concurrency (Preview) |
一番気になったのはMiscellaneousの Various additions to the JDK:
Character.isEmoji(), Character.isEmojiPresentation(), Character.isEmojiModifier(), Character.isEmojiModifierBase(), |
Character.isEmojiComponent(), Character.isExtendedPictographic(). |
Math.clamp() and StrictMath.clamp() |
StringBuilder.repeat() |
HttpCLient now implements AucoCloseable and can therefore be used more easily in a try-with-resources block. |
Locale.availableLocales() |
Collections.shuffle(List, RandomGenerator) |
String.splitWithDelimiters() and Pattern.splitWithDelimiters(): splits a string including delimiters. |
の中のこれ。
String.splitWithDelimiters() and Pattern.splitWithDelimiters(): splits a string including delimiters.
The input “boo:::and::foo”, for example, yields the following results with these parameters:
Regex Limit Result :+ 2 { “boo”, “:::”, “and::foo” } 5 { “boo”, “:::”, “and”, “::”, “foo” } -1 { “boo”, “:::”, “and”, “::”, “foo” }
引数で与えた正規表現にカッコがあるかどうかで動作を変えるよりわかりやすい。
新刊近刊
「仮面」に魅せられた男たち
読んだ。 ウルトラマン(というか円谷作品)とはずいぶん違ったんだねえ。
スタジオを維持するために(というのはちょっと違うか) 仮面ライダー以外にも多くの作品を作っていた というの話は色々考えさせられた。
当時観ていたあの作品やあの作品にもそういう背景があったのだと。
Rules of Programming
最近はプログラミング技術書の売り文句でよくある「この本は〜言語でサンプルコードが書かれているが、発想自体はどの言語にも応用できるものである」を全部信用しないことにしている。実際には着想自体が元言語のパラダイムに引きずられてることを著者が認識できてなさすぎ
— mizchi (@mizchi) August 10, 2023
ってのをこの本の売り文句をみて思った https://t.co/kzNzSvdWSM
— mizchi (@mizchi) August 10, 2023
どんな本だろうと思ってリンクを辿ったら
だったでござる。 鵜呑みにはできないよねという点は同意するけど 「あー、はいはい」と聞き流しておくくらいがいいのかなあ。
これすごく難しくて、「その着想自体がターゲット言語の適用分野に固有の問題をベースにしている」という著者批判ができる一方で、「記述どおり杓子定規に読んだ実体が役に立たないと投げ出すな。視点を上げて抽象を見ると、広い意味で普遍性のある知見を得られる」と軽率な批判をする読者の批判もある https://t.co/KIS9P5oMoq
— 田中ひさてる (@tanakahisateru) August 10, 2023
しかしそういうメタ的な認知が可能な人も限られますよね。俯瞰する見方といってもいいですが。
— kmizu (@kmizu) August 11, 2023
数字であそぼ。
1巻から読んでいるはずなんだけど、なにがきっかけで読み始めた(知った)のだっけか。
『数字であそぼ。(10)』 TeX/LaTeXの回があるぞ
— ほうめい マイコンで遊んでばっかりで (@houmei) August 10, 2023
「数字であそぼ」TeX回があって笑った
— κねこせん (@necocen) August 10, 2023
というわけで10巻を読み終えたのですが 縦書きで
TeX
と書かれているのはなかなか新鮮だった😄
『数字であそぼ。』最新10巻読んだけれど、
— のうちらす (@nouchirasu) August 11, 2023
その中のまるまる1話、主人公たちが数学レポート書く為にTeXと格闘する話だった。
凄い。
ありがとうクヌース先生…https://t.co/jxL89fxsBf pic.twitter.com/Fx8oE64FDz
単行本の最後に収録された話というのもあるんだろうけど 雑誌に掲載されたのも結構最近なんですね。
【コミック】「数字であそぼ。」(絹田村子)最新話で「TeX」がテーマとなる【少女漫画史上初】 - セントラル・ステーション分室
わたし個人の話を書くと、 TeXは「テック」 と読んでますが LaTeXは「ラテフ」です(マテ)
以前はてふ/らてふだったんだけど。
Twitter完全マニュアル[第3版]
タイトルこのままで出すんだろうか? (発売までに変えるだろうなあ…)
S〇GA
九州佐賀国際空港が「九州SEGA国際空港」に。佐賀×SEGAの1日限定のコラボイベントが8月23日開催へhttps://t.co/2a0TM5dUae
— 4Gamer (@4GamerNews) August 7, 2023
セガの代名詞ソニックと,空港のマスコットキャラクターである「むっぴー」が,ANA便利用者の出迎えと見送りを実施する pic.twitter.com/xfpI3sMrhA
引越し
Twitterをやめて以下に引っ越します。https://t.co/4CBrboAjhh
— 新山祐介 (Yusuke Shinyama) (@mootastic) August 10, 2023
新山祐介 (Yusuke Shinyama) (@mootastic@mstdn.social) - Mastodon 🐘
どこかのサーバーにアカウント作っとくかねえ。
Nemawashi
スタッフエンジニアに「根回し」って表現出てきた。輸出されているのか。https://t.co/isVW4R4XNC
— natsutan (@natsutan) August 10, 2023
うぃきぺ(英語版)にもあるのかw>根回し
Nemawashi (根回し) is a Japanese business informal process of quietly laying the foundation for some proposed change or project by talking to the people concerned and gathering support and feedback before a formal announcement. It is considered an important element in any major change in the Japanese business environment before any formal steps are taken. Successful nemawashi enables changes to be carried out with the consent of all sides, avoiding embarrassment.
return
関数というのは本当は
— 田中ひさてる (@tanakahisateru) August 11, 2023
def f(x) = x + 1
というような形をしているべきものだったが、かつてreturnナシが可能だった C で、明記しないことによるトラブルが増えすぎて、return と書かなければコンパイル通らないのがデファクト標準になってしまった、という経緯の方をクソと思ってるみなさん
これ、本当なのだろうか? ちょっと調べてみたけどBの時点で
A function may return a one-word value to its caller any time during its operation using the return statement (see Section 5.5.2). The caller and the callee do not have to agree on whether or not a function returns a value. If a value is returned but not expected, the value is ignored. If a value is expected but not returned, the value received by the caller is garbage.
のようなことが書かれているので、 「暗黙の戻り値」を積極的に使っていたとは思えないんだけど。
- c72/examples at master · vegesm/c72
- C72: A port of the earliest C compiler to x86 (2021) | Hacker News
- vegesm/first-cc-gcc: The first C compiler made to work under modern GCC
- B言語 - Wikipedia
- Chistory
- Origin of C Language
- Thompson’s B Manual
今見なおしたら同様の指摘がついてますね。
そうなの?
— Kazuho Oku (@kazuho) August 11, 2023
1974 C reference manual 見ると関数末尾に return がない場合は値を返さないとあり、つまりは昔から今と同じ仕様だったように見えるけど https://t.co/YVvPvUAroF https://t.co/Az9ONsyKBS
奥さんが言及しているのはここかな。
9.10 Return statement
A function returns to its caller bt means of the return statement
return; return ( expression );
In the first case, no value is returuned. In the second case, the value of expression is returned yo the caller of the function. If required, the expression is converted, as if by assignment, to the type of the function in which it appears, Flowing off the end of a function is eqivalent to a return with no returned value.
しかし、適当なことをいう人だとは思ってなかったのだけど
(「マンガ」の重箱の隅はつつきたくなることはあった)、
こういうの見るとちょっと考えちゃうな>元ツイートポストした人
あ、ひょっとして (記述はここで途切れている)
index
初心者「配列が0から始まるのってクソ仕様だろ……」
— いぐぞー!! ✈️ 旅するプログラマー (@igz0) August 11, 2023
中級者「配列が0から始まるのはメモリ空間を考えれば自然なことであって(早口)」
上級者「配列が0から始まるのってクソ仕様だろ……コンパイラ側で吸収しろよ。直感に反する仕様のせいで世界中でどれだけ境界値のバグが生まれてるんだよ……」
まあどの程度本気で上級者のところをこうしたのかはわからないけど、 ダイクストラ先生にケンカを売るとはいい度胸だな😄
- E.W. Dijkstra Archive: Why numbering should start at zero (EWD 831)
- Edsger Dijkstra’s note on starting array indices at 0 (pdf, 1982) | Hacker News
- Indexing of Arrays: 0 vs 1. 1.1: Why Zero? | by Soumitra Shewale | Analytics Vidhya | Medium
という「冗談」はともかく、アルゴリズムをプログラムに書き下すときに 配列の添え字が0から始まった方が簡潔に書けるという状況はままあることだと思うけどねえ (イマドキの「エンジニア」は生の配列を使わない?ごもっとも)。
そういや、これとは逆に「なぜ配列の添え字を1から始めるべきなのか」 という主張の記事を最近読んだ気がするんだけど いつ頃どこでだっけか😓
ダイクストラ先生のものみたいに「カッチリ」したものではなかったと思うけど。
column major order
↑のツイートに関連して
ちょっとズレずれるけど昔話.Cでコード書いてたときどうしても一部でFORTRANのコードを使いたくてgccとf77でそれぞれコンパイルしたのをリンクしたんですが行列の計算がおかしい.2次元配列のa[i][j]が逆だったんですよね.完全に当時の私の理解不足だったんですが,逆ギレしましたなぁ..#TMU_SSL https://t.co/f4OmsPKORB
— 宇宙システム研究室@東京都立大学 (@TMU_SSL) August 11, 2023
というのがあったけど、これはなあ😓
FORTRAN IIのソースコードを追いかけたことで、 なんでFORTRANがそうしたのかは想像できるようになったけど、 いまさら変えられるものでもないよなあこれ。
- Row-major orderとColumn-major order - Qiita
- Row- and column-major order - Wikipedia
- 行優先および列優先の配列レイアウト - MATLAB & Simulink - MathWorks 日本
夏は
夏はGレコ
— にゃんだーすわん (@tadsan) August 6, 2023