1件のコメント

 
GN⁺ 2024-05-27
Hacker Newsのコメント
  • 10代の頃からこういうコンテンツを夢見ていたし、かなり高度なプロジェクトを進めるプログラマたちが作業過程を配信する様子を、ますます見られるようになってうれしい。
    こうして舞台裏をのぞけると、魔法のように見えていたものや複雑さがずっと薄れる

    • 今の子どもたちが、学びたいことをほとんど何でも見つけられるのがうらやましい。昔はまったくそうではなかった
    • 自分も同じことを夢見ていたけれど、今でも深くて技術的に優れたコンテンツは見つけにくいと思う。
      こういうチャンネルをお互いに共有できるといいし、ほかにも知りたい。
      自分が知っている別のチャンネルは https://www.youtube.com/@LowLevelLearning
      厳密にはプログラミングチャンネルではないけれど、https://www.youtube.com/@StuffMadeHere も大好き。すばらしいエンジニアリングチャンネルだ
    • Marcan のチャンネルも見る価値がある。Apple ARMシリコン上でLinuxを動かす過程はほぼ12時間もあって圧巻で、Appleがかなり多くのカスタムハードウェアを使っていることが分かる。
      https://www.youtube.com/live/GxnWuXgj3JI?si=lUJ_7KdkylzXLryj
  • 数か月前にSTM32F4向けUSBホストドライバを書いたが、いちばん大変だったのは良いドキュメントが不足していたことだった。
    周辺機器では、読み書きレジスタが SVD では読み取り専用としてマッピングされていたし、文書にないビットを設定する必要もあり、USB bulk-only transport は存在しない SCSI 仕様を参照していた。
    結局、USBドライブを動かすには Windows がやっていることをほぼそのままコピーしなければならない、というブログ記事を見つけることになった。
    幸い、USBフレームをデコードできるオシロスコープがあったので、なぜ動かないのかを理解する時間をかなり節約できた。
    USB は口伝の知識に大きく依存しているように見えるのに、それでもこれほど普及していて大半がそのまま動くのは印象的だ

    • USBデコードにどのオシロスコープを使ったのか気になる
    • こういう作業を配信してみようとは思わなかったのか気になる
    • Intel USBコントローラは制御ソフトウェアのバグに対してものすごく寛容だ。本当に信じられないほど寛容だ
  • デコンパイルプロジェクトへの貢献を始めたところで、自分は最高のデコンパイラというわけではないけれど、作業しながら配信してみようかと考えたことがある。
    こういうコンテンツに興味がある人がいるのか気になる。アセンブリに変数の符号の影響が残る痕跡、構造体アクセスと配列アクセスの違い、30年前のコンパイラでさえ制御構造に対してやる奇妙なこと、レジスタの再利用、クラシックなゲーム機でバイト単位で同一のアセンブリが出るようにコードを誘導する方法、などに関心があるのか分からない

    • こういうものが見られるなら本当にすばらしいと思って、アカウントを作った。こうした難解なリバースエンジニアリングの知識を集めようとしてきたが、どこで探せばいいのかすら分かりにくい
    • 興味ある。大学で基本的な 8086 アセンブリを学んで、リバースエンジニアリングの本も何冊か読んだけれど、それ以上には進めなかった。
      もしよければ、オープンソースプロジェクトで作業しているのか知りたい
  • OSを作っていて、作業セッションを何度か配信してみようかと考えていたが、人が本当に興味を持つなら始めてみてもいいかもしれない

    • 難しいことをしている人を見る魅力は、その思考過程をのぞけることにある。OSを書くのは間違いなく難しいことに入る。
      本当に時間があるならぜひやってほしいし、支援もすると思う
  • ターミナル/コーディング用のフォントがいちばん興味深い

  • タイトルには欠けている部分があって、これは比較的単純なデバイス向けのUSBデバイスドライバで、既存コードもあるので、実際にはコードからコードへ移す「翻訳」作業に近い。
    とても印象的には見えるかもしれないが、個人的には、自分の仕事に熟達した人が働いているのを見るのに近いと思う

    • その通り。タイトルは少し的外れだった。自分はカーネルについてそれほど詳しいわけではなく、動画を見て学んだこともあるが、多くの部分はほとんど魔法のように見えた。
      モデレータがタイトルから “from scratch” を外して、デバイスドライバだという点を入れてくれたらよかったが、そうでなくても構わない
    • そもそも存在する理由がほとんどないドライバのようにも思える。前面パネルなら、ユーザー空間で libusb アプリケーションとして扱うほうがよい可能性が高い
  • こういう種類の動画や掘り下げたチュートリアルは本当に好きだが、“from scratch” という表現は少し当てはまらない。
    「まさにこの仕事を10年やってきた経験から始める」と言っても同じ響きにはならないだろうが

  • USB仕様ってだいたい500ページくらいあるのでは? すごい

    • USB仕様の細部を全部読む必要はなく、機能をだいたい理解する程度で十分だ。
      カーネルが作業に使える関数をたくさん提供してくれる。カーネルソース内で見つかる最も単純なドライバコードを読むだけでも学べるし、そのあとでより難しいドライバに進めばいい
    • 500ページは3時間で書き写すことすらできない
    • 良いドライバAPIなら、そういう部分をすべて隠して、個々のUSBドライバがUSB仕様を意識しなくて済むようにすべきだ。それは共通のUSBコアコードが担う仕事だ
    • しかも、ここではその大半はあまり関係ない