00:00:23 @lo48576@mastodon.cardina1.red
2022-01-05 23:48:05 きゅーけーの投稿 tojoqk@mastodon.tojo.tokyo
icon

このアカウントは、notestockで公開設定になっていません。

00:00:24 @lo48576@mastodon.cardina1.red
2022-01-05 23:50:20 きゅーけーの投稿 tojoqk@mastodon.tojo.tokyo
icon

このアカウントは、notestockで公開設定になっていません。

00:00:28 @lo48576@mastodon.cardina1.red
2022-01-05 23:50:12 ねずみの投稿 kaznak@mstdn.jp
icon

このアカウントは、notestockで公開設定になっていません。

00:01:17 @lo48576@mastodon.cardina1.red
icon

「ちゃんと」ポヨグヤマとしてやるつもりなら C から逃げてはいけないと思うけど。
C より先に Rust をやるのは……理屈のうえでは十分可能だと思うけど、 C からやった方が早いと思うんだよな

00:02:15 @lo48576@mastodon.cardina1.red
icon

Perl, Python, Ruby が並べられていたの、たぶん「*nix 環境ならだいたいどこでも使える (あるいはインタプリタが容易にインスコできる)」と「単独のスクリプトもウェビアップリケッションも書ける」あたりじゃないかなぁ

00:02:39 @lo48576@mastodon.cardina1.red
icon

や、 PHP でも CLI スクリプトは書けるけど……たぶんネイティブなエクスペリエンスにはならない気がするのよね

00:04:41 @lo48576@mastodon.cardina1.red
icon

「ちゃんと」ポヨグヤマをするわけではないがポヨグヤミングを真面目に学習するルートとしては、数学系とかから関数型にやってくるなどがある

00:05:40 @lo48576@mastodon.cardina1.red
icon

ウェッビ系をやるなら……どうかなぁ。結局メモリまわりの感覚をある程度ちゃんと持ってないとどこかでパフョーマンスとかの問題に引っ掛かりそうだし、それを直すのって結局メモリの扱いわかってる人じゃない? (しらんが)

00:06:23 @lo48576@mastodon.cardina1.red
icon

ちょっとまてよ、もしかして Rails 以前から Ruby って相応に有名だった? (日本にいるとそれだけでバイアスかかるからわからん)

00:08:52 @lo48576@mastodon.cardina1.red
icon

なぜ初手で Rust するより C 経由した方が早いと思うかというと、 Rust って「制限を増やしていくことで言語が豊かになる」というタイプのものなので、「機能を増やしていくことで豊かになる」とは真逆なのよね。
もっと具体的には、 C だと「一部言語機能だけを使えるサブセット」みたいなものを容易に定義できるしいろいろ書けるけど、 Rust だと「一部の検査だけを使えるサブセット」みたいなのはサブセットになってない (本物の Rust でコンパイル通らない) のであまり役に立たない

00:10:18 @lo48576@mastodon.cardina1.red
icon

結局、その「制限」の部分が本質的にコーディングや挙動にどう影響するのかを把握するには、制限の少ない環境で何ができるか (できてしまうか) をわかっていた方が早いわけで、それが Rust より先に C をやった方がいいと思う理由

00:11:24 @lo48576@mastodon.cardina1.red
icon

C のポインタがわからなくて Python や JS や Lisp が十分わかるというの、ありえなくない? と思ってしまうわね。それ絶対わかってないよ

00:11:57 @lo48576@mastodon.cardina1.red
2022-01-05 23:46:25 やまこの投稿 yamako@fedibird.com
icon

このアカウントは、notestockで公開設定になっていません。

00:12:12 @lo48576@mastodon.cardina1.red
icon

fedibird.com/@yamako/107570396

まさにこういう話なんだけど

Web site image
やまこ (@yamako@fedibird.com)
00:13:04 @lo48576@mastodon.cardina1.red
icon

ポインタが明示的でない言語 (あるいは tracing GC が言語機能に入っている言語) って「透過的な参照」という概念を扱っているので、ポインタが明示されるより絶対にややこしいよ

00:14:33 @lo48576@mastodon.cardina1.red
icon

mastodon.cardina1.red/@lo48576

これは deep copy と shallow copy についてのボヤき

Web site image
らりお・ザ・何らかの🈗然㊌ソムリエ (@lo48576@mastodon.cardina1.red)
00:14:41 @lo48576@mastodon.cardina1.red
2021-04-01 21:06:31 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

C みたいにポインタが明示されていればデフォルトが deep copy でもその走査がポインタで切れるのは自明なのに、参照と値そのものを透過的に扱おうとするから解釈が厄介になる

00:14:42 @lo48576@mastodon.cardina1.red
2021-04-01 21:07:02 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

Java か何かの文脈で「参照の値渡し」みたいな謎概念を発明してる人々を見るとアッ……という顔になる

00:14:55 @lo48576@mastodon.cardina1.red
2022-01-06 00:14:50 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

低レイヤの挙動からボトムアップに理解しようとする人と、下のレイヤは完璧に隠匿されているものとして上位の抽象からトップダウンに理解する人が居て、これはもう個人差なのでまあ

00:15:18 @lo48576@mastodon.cardina1.red
2022-01-06 00:09:34 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

ところで、現代の計算機は PDP-11 の発展版では決してないため、C を学んでも low-level が本当に理解できるかは怪しい。

00:15:23 @lo48576@mastodon.cardina1.red
2022-01-06 00:11:45 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

C Is Not a Low-level Language: Your computer is not a fast PDP-11.: Queue: Vol 16, No 2 dl.acm.org/doi/10.1145/3212477

Web site image
C Is Not a Low-level Language: Your computer is not a fast PDP-11.: Queue: Vol 16, No 2
00:18:41 @lo48576@mastodon.cardina1.red
2022-01-06 00:18:32 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

Steam 買うべきもの > Valve 社

00:21:22 @lo48576@mastodon.cardina1.red
icon

逆に、 Python や JS での変数の書き換えについての諸々の挙動をちゃんとできる人だったら、絶対そのまま C やったらポインタで躓かないと思う

00:22:28 @lo48576@mastodon.cardina1.red
2022-01-06 00:21:55 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

Lisp のコードをみたとき、函数適用の列に見える人と、C like な linked list の列に見える人がいる

00:23:01 @lo48576@mastodon.cardina1.red
icon

Lisp の (begin) とかを見てすごく微妙な気持ちになったのを思い出した。

ちなみに Haskell の do の内実を見てめちゃくちゃスッキリした

00:23:31 @lo48576@mastodon.cardina1.red
icon

Scheme も Haskell も碌にやってないけど、個人的には Haskell の方がしっくりくるんだよな

00:23:54 @lo48576@mastodon.cardina1.red
icon

たぶん Scheme の破壊的変更を活用していくところがスッキリしないのだと思う

00:24:09 @lo48576@mastodon.cardina1.red
2022-01-06 00:23:16 砂狼あずにゃんの投稿 osa_k@social.mikutter.hachune.net
icon

このアカウントは、notestockで公開設定になっていません。

00:24:45 @lo48576@mastodon.cardina1.red
icon

やれるならいくらでも下に行くべきだと思うけどね…… (ワイ自身は論理回路からなので、そのくらいから始めるのは実際おすすめ)

00:25:02 @lo48576@mastodon.cardina1.red
icon

論理回路から順番に上がっていけばさすがにポインタ程度で躓かないよ

00:25:35 @lo48576@mastodon.cardina1.red
2022-01-06 00:25:17 砂狼あずにゃんの投稿 osa_k@social.mikutter.hachune.net
icon

このアカウントは、notestockで公開設定になっていません。

00:26:21 @lo48576@mastodon.cardina1.red
icon

ハンドコンパイルできる程度に単純で、ある程度の抽象ができるような、構造化プログラミング言語…… C の他に思い当たらない

00:26:57 @lo48576@mastodon.cardina1.red
icon

BASIC は……正直微妙かなぁ。いや BASIC をリッチにすればできるのかもわからんけど、それって単に C の文法を挿げ替えただけみたいな感じにならへん?

00:28:13 @lo48576@mastodon.cardina1.red
icon

「CPU の声が聞こえる」じゃないけど、素朴にハンドコンパイルできる程度に素朴でありながらそこそこリッチな言語が欲しいんだよな

00:28:54 @lo48576@mastodon.cardina1.red
icon

むしろ C がそのくらい素朴 (なものとして捉えることもできる) だからこそ、アセンブリ言語をやらなくても C で “履修免除” されるという感覚がある

00:29:45 @lo48576@mastodon.cardina1.red
2022-01-06 00:29:36 砂狼あずにゃんの投稿 osa_k@social.mikutter.hachune.net
icon

このアカウントは、notestockで公開設定になっていません。

00:29:47 @lo48576@mastodon.cardina1.red
icon

いい話

00:30:12 @lo48576@mastodon.cardina1.red
icon

なんだっけ、 Featherweight Java とか実は学習向きだったりしません? (しらんけど)

00:35:17 @lo48576@mastodon.cardina1.red
2022-01-06 00:34:27 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

その理論でいくと Pascal も P 言語とスタックマシン、みたいなかんじでいけるのでセーフ

00:35:24 @lo48576@mastodon.cardina1.red
icon

SECD……ウッ

00:35:55 @lo48576@mastodon.cardina1.red
2022-01-06 00:35:04 デジタルたぬきの投稿 toshi_a@social.mikutter.hachune.net
icon

このアカウントは、notestockで公開設定になっていません。

00:35:57 @lo48576@mastodon.cardina1.red
2022-01-06 00:34:45 砂狼あずにゃんの投稿 osa_k@social.mikutter.hachune.net
icon

このアカウントは、notestockで公開設定になっていません。

00:39:09 @lo48576@mastodon.cardina1.red
2022-01-06 00:38:46 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

Lisp 処理系、NScripter 上の実装などもある。『魔法言語 リリカル☆Lisp』をやろう。

00:40:53 @lo48576@mastodon.cardina1.red
2022-01-06 00:37:33 えあい:win98_shrimp::evirified::straight_shrimp:の投稿 Eai@stellaria.network
icon

みんな真のプログラマーになろうとして大変だねえ

00:41:12 @lo48576@mastodon.cardina1.red
icon

治安が悪い界隈に長居しすぎて、 Pascal を書かない本物のプログラマの話かと思ってしまった

00:41:22 @lo48576@mastodon.cardina1.red
2022-01-06 00:41:11 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

『本物のプログラマは Pascal を使わない』邦訳が掲載されたりした『bit』誌は全巻 Kindle で発売中なので買いましょう、ちなみに『本物のプログラマは Pascal を使わない』は 1985 年 4 月号のはず。

00:41:31 @lo48576@mastodon.cardina1.red
icon

治安悪いオタクがここにも……

00:42:09 @lo48576@mastodon.cardina1.red
icon

もうここはダメだ😩

01:02:33 @lo48576@mastodon.cardina1.red
2022-01-06 01:02:26 あじょぶじんの投稿 azyobuzin@xxx.azyobuzi.net
icon

mikutterのFAQ、忘れたころに見に行くと何かしら変わってるのすごい

01:02:46 @lo48576@mastodon.cardina1.red
icon

Frequently Appudated Questions

01:34:04 @lo48576@mastodon.cardina1.red
icon

ヒープアロケーションなしの実装とありの実装でのコード共通化を試みているけど、これ疲れる……

01:34:58 @lo48576@mastodon.cardina1.red
icon

まあ本質的に疲れるのはヒープアロケーションなしでの文字列操作そのものであって、共通化とかは実はそんなに大したことない説はある……

03:29:38 @lo48576@mastodon.cardina1.red
icon

念の為と思って分割しておいた関数に想定外の場面で使い道が生えてきたので、めちゃくちゃ気分が良い (micro optimization)

03:29:56 @lo48576@mastodon.cardina1.red
2022-01-06 03:03:17 zundaの投稿 zundan@mastodon.zunda.ninja
icon

このアカウントは、notestockで公開設定になっていません。

03:29:57 @lo48576@mastodon.cardina1.red
2022-01-06 03:04:26 zundaの投稿 zundan@mastodon.zunda.ninja
icon

このアカウントは、notestockで公開設定になっていません。

03:30:07 @lo48576@mastodon.cardina1.red
icon

プロトコルに伴う暗黙の同意なぁ

03:31:13 @lo48576@mastodon.cardina1.red
icon

コインハイブやクソ広告などの問題にも本質的に関係のある部分で、根が深い

05:45:59 @lo48576@mastodon.cardina1.red
icon

新実装でテスト回してみたけど、 ../../../g を http://a/b/c/ に対して解決したら http://g になった……
テスト書いててよかったー!!!

05:57:34 @lo48576@mastodon.cardina1.red
icon

とりあえず書き直す前と同等の機能が動くところまで来たけど、テスト込みで352行だったコードが794行になってる……
これはメモリアロケーションの極限までの削減と釣り合うのだろうか?

07:15:15 @lo48576@mastodon.cardina1.red
icon

コードを読むときの勘を発生させて数時間前の自分をボコボコにしているときが、プログラミングで一番満足感がある

07:15:25 @lo48576@mastodon.cardina1.red
icon

まあ直すのは自分なんだけど……

07:15:50 @lo48576@mastodon.cardina1.red
icon

またひとつ予期せぬ panic を修正した

07:16:06 @lo48576@mastodon.cardina1.red
icon

C だったら気付かぬまま発狂してましたよ

08:03:32 @lo48576@mastodon.cardina1.red
icon

入居1週間で給湯器が壊れた話します?

08:04:24 @lo48576@mastodon.cardina1.red
icon
Web site image
らりお・ザ・何らかの🈗然㊌ソムリエ (@lo48576@mastodon.cardina1.red)
08:05:07 @lo48576@mastodon.cardina1.red
icon

入居 巨乳 違い

08:05:47 @lo48576@mastodon.cardina1.red
げひん
icon

やちんを入れるとできるのが入居
おちんちんを入れることができるのが巨乳

08:46:55 @lo48576@mastodon.cardina1.red
icon

うーん、嫌な予感がしてきた

08:49:10 @lo48576@mastodon.cardina1.red
icon

datatracker.ietf.org/doc/html/

> The only exception is for percent-encoded octets corresponding to characters in the unreserved set, which can be decoded at any time.

で、ピリオドって unreserved なんだけど、もしかして %2e%2e/baz を scheme://host/foo/ に対して解決したら scheme://host/baz になったりします……?

08:51:49 @lo48576@mastodon.cardina1.red
icon

datatracker.ietf.org/doc/html/

remove_dot_segments ルーチンが %2e や %2e%2e を . や .. として認識する必要があるかということです

09:03:05 @lo48576@mastodon.cardina1.red
icon

rfc3986 · PyPI
pypi.org/project/rfc3986/

Python の rfc3986 v1.5.0 ではそのようになってないな。考えすぎだったか?

Attach image
09:04:12 @lo48576@mastodon.cardina1.red
icon

うーん、ひとまず考えなくていいかという気持ちにもなっているが、確信を持てないのでちょっと嫌だなぁ……

09:18:37 @lo48576@mastodon.cardina1.red
icon

でもなぁ、 remove_dot_segments って . と .. のセグメントを全部なくす前提だから、それを迂回して .. を残せるというのはセキュリティ的にマズい気がするんだよなぁ。
無視するには悪用しがいがありすぎる

18:06:11 @lo48576@mastodon.cardina1.red
icon

ぽきた

18:20:07 @lo48576@mastodon.cardina1.red
icon

2022年1月と2月のアプリの仕様変更「カードを使った入金機能の変更」と「カードを使った送金およびすべてのアカウントからの送金に対応」に関する事前のご案内 - Kyash お知らせ
kyash.co/information/20220106

あーあ
オワ

Web site image
2022年1月と2月のアプリの仕様変更「カードを使った入金機能の変更」と「カードを使った送金およびすべてのアカウントからの送金に対応」に関する事前のご案内 - Kyash お知らせ
18:25:20 @lo48576@mastodon.cardina1.red
icon

今更送金できるようになっても、もう近隣のオタクみんなKのこと見捨てたあとだよ……

18:26:27 @lo48576@mastodon.cardina1.red
icon

最初からカード送金可能のままにしてくれていれば、喜んで布教したんだけど……もう遅い

18:29:05 @lo48576@mastodon.cardina1.red
icon

カードリンクなくなると言っても、要は Suica のオートチャージみたいな指定額自動入金になるっぽいという話なので、残高が残ってしまうことを許容すればべつに普通に使えそう

18:31:12 @lo48576@mastodon.cardina1.red
icon

たぶん。

18:31:52 @lo48576@mastodon.cardina1.red
icon

残高を下回ったときの入金額が指定額とは書かれていないのが不気味だけど

18:32:02 @lo48576@mastodon.cardina1.red
2022-01-06 18:31:44 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

async trait のやつ、便利なんだけど元のシグネチャが cargo doc から分かりづらいのがやや難ありなんだよな

18:32:18 @lo48576@mastodon.cardina1.red
icon

むしろ doc の方が本来のシグネチャなので問題ない (?)

18:32:36 @lo48576@mastodon.cardina1.red
icon

まあ [src] から定義箇所見てもろて……

18:35:42 @lo48576@mastodon.cardina1.red
2022-01-06 18:33:30 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

async trait 側で勝手にコメント追加とかできないんかな、
original signature is below:
.....
みたいな感じで

18:35:55 @lo48576@mastodon.cardina1.red
icon

理屈の上ではできる。プルリコチャンスですね

18:38:05 @lo48576@mastodon.cardina1.red
icon

doc comment、 #[doc = "..."] のシンタックスシュガーなので、属性足せるなら問題ないし、実際足せたはず

18:38:39 @lo48576@mastodon.cardina1.red
2022-01-06 18:38:30 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

丼のブースト確認ダイアログ出てるときに対象のトゥート消えるとクラッシュするっぽいな

18:40:11 @lo48576@mastodon.cardina1.red
2022-01-06 18:39:08 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

と思って今ためしたけど大丈夫だな……

18:40:13 @lo48576@mastodon.cardina1.red
2022-01-06 18:39:16 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

もうちょっと複雑な条件ぽそう

18:42:40 @lo48576@mastodon.cardina1.red
icon

雪積もっとるやんけ! 道理で

19:10:34 @lo48576@mastodon.cardina1.red
icon

datatracker.ietf.org/doc/html/

> However, URI comparison implementations do not always perform normalization prior to comparison (see Section 6).
> For consistency, percent-encoded octets in the ranges of (中略), period (%2E), underscore (%5F), or tilde (%7E) should not be created by URI producers and, when found in a URI, should be decoded to their corresponding unreserved characters by URI normalizers.

19:11:11 @lo48576@mastodon.cardina1.red
icon

もしかして、 URI を resolve する前に normalize のフェーズを通すのが望ましいぞと言っている……?

19:11:48 @lo48576@mastodon.cardina1.red
icon

normalize→resolve したら %2E%2E/bar の解決は ../bar の解決と同じ結果になるよね

19:11:59 @lo48576@mastodon.cardina1.red
2022-01-06 19:11:31 shibafu528の投稿 shibafu528@social.mikutter.hachune.net
icon

慌てて家のエアコン遠隔でつけたけど焼石っぽそうだなこりゃ

19:12:14 @lo48576@mastodon.cardina1.red
icon

焼け石に水←→永久凍土にお湯

20:07:13 @lo48576@mastodon.cardina1.red
icon

encoding - A url resource that is a dot (%2E) - Stack Overflow
stackoverflow.com/a/24867425

だよなぁ……

20:10:06 @lo48576@mastodon.cardina1.red
icon

一般的なユーザが思想でソフトウェアを選ばない話、マストドンがブームになったとき「思想から入るソフトは流行らない」みたいなことをしたり顔で言ってた人々を思い出しちゃうなぁ

20:10:31 @lo48576@mastodon.cardina1.red
icon

まあ流行りしか評価基準がないなら、それで合ってるんじゃないですか

20:14:35 @lo48576@mastodon.cardina1.red
icon
Web site image
らりお・ザ・何らかの🈗然㊌ソムリエ (@lo48576@mastodon.cardina1.red)
20:17:39 @lo48576@mastodon.cardina1.red
icon

仕様策定者に突撃してえ……どう解釈すればいいんだこれ

20:18:29 @lo48576@mastodon.cardina1.red
icon

や、内心では %2E は remove_dot_segments 前に . に置換するのが正しいのだろうという解釈の側に振れているんだけど、世界のソフトウェアがそのような実装になっていないことに関して interoperability とかの問題をどうするよという悩みが

20:36:33 @lo48576@mastodon.cardina1.red
icon

Re: File URIs, home and relative paths from Matthew Kerwin on 2016-06-08 (uri@w3.org from June 2016)
lists.w3.org/Archives/Public/u

> Since '.' is an unreserved character we can't even use "%2E" to smuggle it through the remove_dot_segments algorithm.

このスレでも %2E が remove_dot_segments で解釈されうるという話は否定されてなさそう

Re: File URIs, home and relative paths from Matthew Kerwin on 2016-06-08 (uri@w3.org from June 2016)
21:14:32 @lo48576@mastodon.cardina1.red
2022-01-06 21:07:34 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

Cannonball カーソルパッド、完成――

Attach image
21:14:33 @lo48576@mastodon.cardina1.red
2022-01-06 19:35:08 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

よし

Attach image
21:27:12 @lo48576@mastodon.cardina1.red
2022-01-06 21:15:02 Giraffe Beerの投稿 giraffe_beer@mstdn.maud.io
icon

このアカウントは、notestockで公開設定になっていません。

21:27:13 @lo48576@mastodon.cardina1.red
2022-01-06 21:15:15 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

せやね

21:27:14 @lo48576@mastodon.cardina1.red
2022-01-06 21:15:52 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

ホイールが 3 つあるということは拡縮・上下スクロール・左右スクロールが片手でできるということ……

21:27:16 @lo48576@mastodon.cardina1.red
2022-01-06 21:16:00 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

エッチなイラストを見るのに最適なデバイスというわけですね

21:27:22 @lo48576@mastodon.cardina1.red
icon

拡縮、なるほど

21:31:41 @lo48576@mastodon.cardina1.red
icon

面白そうだけど組み立てるの面倒だしスルーしとこ

21:32:00 @lo48576@mastodon.cardina1.red
icon

久しく電子工作的なことをしていないなぁ

22:57:50 @lo48576@mastodon.cardina1.red
icon

panic safety なぁ……

22:58:29 @lo48576@mastodon.cardina1.red
icon

absolute な IRI はデフォルト値がない (つまりアロケーション不要な空文字列をダミーで仮置きできない) ので難しい