1 bình luận

 
GN⁺ 2024-05-27
Ý kiến trên Hacker News
  • Tôi đã mơ về những nội dung như thế này từ hồi thiếu niên, và thật tuyệt khi ngày càng có thể xem các lập trình viên thực hiện những dự án khá nâng cao stream quá trình làm việc của họ
    Khi có thể nhìn vào hậu trường như vậy, những thứ từng trông như phép màu và sự phức tạp sẽ giảm đi rất nhiều

    • Thật ghen tị với bọn trẻ ngày nay, vì gần như muốn học gì cũng có thể tìm thấy. Ngày xưa hoàn toàn không như vậy
    • Tôi cũng từng mơ về điều tương tự, nhưng vẫn thấy nội dung sâu và xuất sắc về mặt kỹ thuật rất khó tìm
      Sẽ rất tốt nếu chúng ta chia sẻ các kênh như thế này với nhau, và tôi cũng muốn biết thêm các kênh khác
      Một kênh khác tôi biết là https://www.youtube.com/@LowLevelLearning
      Nói chặt chẽ thì không phải kênh lập trình, nhưng tôi cũng rất thích https://www.youtube.com/@StuffMadeHere. Đây là một kênh kỹ thuật rất hay
    • Kênh của Marcan cũng đáng xem. Quá trình đưa Linux chạy trên Apple ARM silicon kéo dài gần 12 tiếng và rất ấn tượng, đồng thời cho thấy Apple đã dùng khá nhiều phần cứng tùy biến
      https://www.youtube.com/live/GxnWuXgj3JI?si=lUJ_7KdkylzXLryj
  • Vài tháng trước tôi đã viết USB host driver cho STM32F4, và phần khó nhất là thiếu tài liệu tốt
    Có peripheral có thanh ghi đọc/ghi bị ánh xạ trong SVD thành chỉ đọc, phải thiết lập những bit không có trong tài liệu, còn USB bulk-only transport thì trỏ tới một đặc tả SCSI không tồn tại
    Cuối cùng tôi tìm được một bài blog nói rằng nếu muốn USB drive hoạt động thì gần như phải sao chép nguyên những gì Windows làm
    May là tôi có oscilloscope có thể giải mã USB frame, nên tiết kiệm được rất nhiều thời gian để hiểu vì sao nó không chạy
    USB có vẻ phụ thuộc rất nhiều vào tri thức truyền miệng, nhưng dù vậy việc nó phổ biến đến thế và phần lớn cứ cắm là chạy vẫn thật ấn tượng

    • Tôi tò mò bạn đã dùng oscilloscope nào để giải mã USB
    • Tôi tò mò liệu bạn có từng nghĩ đến việc stream kiểu công việc này không
    • Intel USB controller cực kỳ bao dung với lỗi trong phần mềm điều khiển. Thật sự là cực kỳ rộng lượng
  • Tôi bắt đầu đóng góp cho một dự án decompile, và dù hoàn toàn không phải là decompiler giỏi nhất, tôi từng nghĩ đến việc stream khi làm
    Không biết có ai hứng thú với loại nội dung này không. Tôi không biết mọi người có tò mò về những thứ như dấu vết cho thấy assembly bị ảnh hưởng bởi signedness của biến, khác biệt giữa truy cập struct và truy cập array, những điều kỳ quặc mà ngay cả compiler 30 năm tuổi cũng làm với control structure, tái sử dụng register, hay cách dẫn dắt code để tạo ra assembly giống hệt từng byte trên console cổ điển hay không

    • Tôi đã tạo tài khoản vì nếu được xem những thứ như thế thì thật sự rất tuyệt. Tôi từng cố gom góp loại kiến thức reverse engineering khó nhằn này, nhưng thậm chí còn khó biết phải tìm ở đâu
    • Tôi quan tâm. Hồi đại học tôi học assembly 8086 cơ bản và cũng đọc vài cuốn sách về reverse engineering, nhưng không tiến xa hơn
      Không biết bạn có đang làm trong một dự án open-source nào không
  • Tôi đang làm một hệ điều hành và từng nghĩ đến việc stream vài phiên làm việc; nếu mọi người thật sự thấy hứng thú thì có lẽ tôi có thể bắt đầu

    • Sức hấp dẫn khi xem ai đó làm việc khó nằm ở việc được nhìn vào quá trình tư duy của họ. Viết hệ điều hành chắc chắn thuộc loại việc khó
      Nếu bạn thật sự có thời gian thì mong bạn làm, tôi cũng sẽ tài trợ
  • Font dùng cho terminal/coding là thứ thú vị nhất

  • Tiêu đề còn thiếu một phần: đây là USB device driver cho một thiết bị tương đối đơn giản, và đã có sẵn code hiện hữu, nên thực chất gần giống một công việc “dịch” từ code sang code
    Nó có thể trông rất ấn tượng, nhưng cá nhân tôi thấy giống việc xem một người thành thạo nghề của mình làm việc

    • Đúng vậy. Tiêu đề hơi lệch. Tôi không phải người quá rành về kernel, và dù có học được vài điều khi xem video, nhiều phần trông gần như phép màu
      Nếu moderator có thể bỏ “from scratch” khỏi tiêu đề và thêm rằng đây là device driver thì tốt, nhưng không thì cũng không sao
    • Ngay từ đầu đây có vẻ là một driver gần như không có lý do để tồn tại. Nếu là front panel thì có khả năng quản lý bằng ứng dụng libusb ở user space sẽ tốt hơn
  • Tôi rất thích các video kiểu này và những tutorial có chiều sâu, nhưng cụm “from scratch” thì không thật sự đúng
    Nếu nói “bắt đầu từ 10 năm kinh nghiệm làm đúng loại việc này” thì có lẽ không tạo cảm giác tương tự

  • Đặc tả USB chẳng phải khoảng 500 trang sao? Ấn tượng thật

    • Không cần đọc toàn bộ chi tiết của đặc tả USB; hiểu đại khái chức năng là đủ
      Kernel cung cấp rất nhiều hàm để làm việc. Chỉ cần đọc driver đơn giản nhất có thể tìm thấy trong source của kernel cũng học được rồi, sau đó nâng dần lên các driver khó hơn
    • 500 trang thì trong ba tiếng chắc tôi còn không chép lại nổi
    • Một driver API tốt nên che giấu hết những phần đó để từng USB driver riêng lẻ không phải bận tâm đến đặc tả USB. Đó là việc của phần code USB core dùng chung
    • Và trong trường hợp này, phần lớn những thứ đó cũng chẳng liên quan mấy