Sejak remaja aku memimpikan konten seperti ini, dan senang melihat makin banyak programmer yang mengerjakan proyek cukup tingkat lanjut menyiarkan proses kerja mereka
Dengan bisa mengintip ke balik layar seperti ini, jauh lebih banyak hal yang dulu tampak seperti sihir dan kerumitan menjadi hilang
Aku iri pada anak-anak sekarang karena mereka bisa menemukan hampir apa pun yang ingin mereka pelajari. Dulu sama sekali tidak begitu
Aku juga memimpikan hal yang sama, tetapi menurutku konten yang mendalam dan sangat teknis masih sulit ditemukan
Akan bagus kalau kita saling berbagi kanal seperti ini, dan aku juga ingin tahu kanal lain
Kanal lain yang aku tahu adalah https://www.youtube.com/@LowLevelLearning
Secara ketat ini bukan kanal pemrograman, tetapi aku juga sangat suka https://www.youtube.com/@StuffMadeHere. Itu kanal engineering yang luar biasa
Kanal Marcan juga layak ditonton. Proses menjalankan Linux di Apple ARM silicon hampir 12 jam dan luar biasa, serta memperlihatkan bahwa Apple menggunakan cukup banyak hardware kustom https://www.youtube.com/live/GxnWuXgj3JI?si=lUJ_7KdkylzXLryj
Beberapa bulan lalu aku menulis driver USB host untuk STM32F4, dan bagian tersulitnya adalah kurangnya dokumentasi yang bagus
Pada peripheral, register baca/tulis dipetakan sebagai read-only di SVD, ada bit yang harus disetel tetapi tidak terdokumentasi, dan USB bulk-only transport merujuk ke spesifikasi SCSI yang tidak ada
Pada akhirnya aku menemukan posting blog yang mengatakan bahwa agar USB drive bisa berjalan, kita pada dasarnya harus menyalin persis apa yang dilakukan Windows
Untungnya aku punya osiloskop yang bisa mendekode frame USB, sehingga menghemat banyak waktu untuk memahami kenapa itu tidak bekerja
USB tampaknya sangat bergantung pada pengetahuan turun-temurun, tetapi tetap mengesankan bahwa teknologi ini begitu umum dan biasanya langsung bekerja
Penasaran osiloskop apa yang dipakai untuk decoding USB
Penasaran apakah pernah terpikir untuk menyiarkan pekerjaan seperti ini
Kontroler USB Intel sangat memaafkan bug pada software pengendali. Benar-benar sangat toleran
Aku mulai berkontribusi pada proyek dekompilasi, dan meski aku sama sekali bukan decompiler terbaik, aku pernah berpikir untuk streaming saat mengerjakannya
Aku penasaran apakah ada yang tertarik dengan konten seperti ini. Entah apakah orang ingin tahu hal-hal seperti jejak bagaimana assembly dipengaruhi oleh signedness variabel, perbedaan antara akses struct dan akses array, hal-hal aneh yang dilakukan compiler berusia 30 tahun sekalipun terhadap control structure, penggunaan ulang register, atau cara mengarahkan kode agar menghasilkan assembly yang identik byte demi byte di konsol klasik
Aku membuat akun karena rasanya akan sangat keren kalau bisa menonton hal seperti ini. Aku pernah mencoba mengumpulkan pengetahuan reverse engineering yang esoterik seperti ini, tetapi bahkan sulit tahu harus mencarinya di mana
Aku tertarik. Saat kuliah aku belajar assembly 8086 dasar dan membaca beberapa buku reverse engineering, tetapi tidak pernah melangkah lebih jauh
Penasaran apakah kamu sedang mengerjakan proyek open source
Aku sedang membuat sistem operasi dan sempat berpikir untuk menyiarkan beberapa sesi kerja; kalau orang-orang benar-benar tertarik, mungkin aku akan mulai
Daya tarik menonton orang mengerjakan hal sulit adalah bisa melihat proses berpikir mereka. Menulis sistem operasi jelas termasuk pekerjaan sulit
Kalau memang punya waktu, aku sangat berharap kamu melakukannya, dan aku juga akan memberi dukungan dana
Yang paling menarik adalah font untuk terminal/coding
Ada bagian yang hilang dari judulnya: ini adalah driver perangkat USB untuk perangkat yang relatif sederhana, dan karena sudah ada kode sebelumnya, pada dasarnya ini lebih mirip pekerjaan “menerjemahkan” dari kode ke kode
Ini bisa terlihat sangat mengesankan, tetapi secara pribadi menurutku mirip melihat seseorang yang mahir dalam pekerjaannya sedang bekerja
Benar. Judulnya agak meleset. Aku sendiri tidak terlalu paham kernel, dan aku belajar sesuatu dari videonya, tetapi banyak bagiannya tampak nyaris seperti sihir
Akan bagus kalau moderator bisa menghapus “from scratch” dari judul dan menambahkan bahwa ini adalah driver perangkat, tetapi kalau tidak pun tidak apa-apa
Sepertinya driver ini sejak awal hampir tidak punya alasan untuk ada. Kalau itu front panel, kemungkinan lebih baik dikelola sebagai aplikasi libusb di user space
Aku sangat suka video semacam ini dan tutorial yang mendalam, tetapi istilah “from scratch” agak kurang tepat
Kalau dibilang “berangkat dari pengalaman 10 tahun mengerjakan persis hal semacam ini”, rasanya memang tidak sama
Bukankah spesifikasi USB kira-kira sekitar 500 halaman? Mengesankan
Tidak perlu membaca semua detail spesifikasi USB; cukup memahami fungsinya secara garis besar
Kernel menyediakan banyak fungsi yang bisa dipakai. Kamu bisa belajar hanya dengan membaca kode driver paling sederhana yang bisa ditemukan di source kernel, lalu naik ke driver yang lebih sulit
Dalam tiga jam pun aku tidak akan sanggup menyalin 500 halaman
API driver yang bagus seharusnya menyembunyikan semua bagian seperti itu sehingga masing-masing driver USB tidak perlu memikirkan spesifikasi USB. Itu tugas kode USB core bersama
Dan dalam kasus ini, sebagian besarnya juga tidak terlalu relevan
1 komentar
Opini Hacker News
Sejak remaja aku memimpikan konten seperti ini, dan senang melihat makin banyak programmer yang mengerjakan proyek cukup tingkat lanjut menyiarkan proses kerja mereka
Dengan bisa mengintip ke balik layar seperti ini, jauh lebih banyak hal yang dulu tampak seperti sihir dan kerumitan menjadi hilang
Akan bagus kalau kita saling berbagi kanal seperti ini, dan aku juga ingin tahu kanal lain
Kanal lain yang aku tahu adalah https://www.youtube.com/@LowLevelLearning
Secara ketat ini bukan kanal pemrograman, tetapi aku juga sangat suka https://www.youtube.com/@StuffMadeHere. Itu kanal engineering yang luar biasa
https://www.youtube.com/live/GxnWuXgj3JI?si=lUJ_7KdkylzXLryj
Beberapa bulan lalu aku menulis driver USB host untuk STM32F4, dan bagian tersulitnya adalah kurangnya dokumentasi yang bagus
Pada peripheral, register baca/tulis dipetakan sebagai read-only di SVD, ada bit yang harus disetel tetapi tidak terdokumentasi, dan USB bulk-only transport merujuk ke spesifikasi SCSI yang tidak ada
Pada akhirnya aku menemukan posting blog yang mengatakan bahwa agar USB drive bisa berjalan, kita pada dasarnya harus menyalin persis apa yang dilakukan Windows
Untungnya aku punya osiloskop yang bisa mendekode frame USB, sehingga menghemat banyak waktu untuk memahami kenapa itu tidak bekerja
USB tampaknya sangat bergantung pada pengetahuan turun-temurun, tetapi tetap mengesankan bahwa teknologi ini begitu umum dan biasanya langsung bekerja
Aku mulai berkontribusi pada proyek dekompilasi, dan meski aku sama sekali bukan decompiler terbaik, aku pernah berpikir untuk streaming saat mengerjakannya
Aku penasaran apakah ada yang tertarik dengan konten seperti ini. Entah apakah orang ingin tahu hal-hal seperti jejak bagaimana assembly dipengaruhi oleh signedness variabel, perbedaan antara akses struct dan akses array, hal-hal aneh yang dilakukan compiler berusia 30 tahun sekalipun terhadap control structure, penggunaan ulang register, atau cara mengarahkan kode agar menghasilkan assembly yang identik byte demi byte di konsol klasik
Penasaran apakah kamu sedang mengerjakan proyek open source
Aku sedang membuat sistem operasi dan sempat berpikir untuk menyiarkan beberapa sesi kerja; kalau orang-orang benar-benar tertarik, mungkin aku akan mulai
Kalau memang punya waktu, aku sangat berharap kamu melakukannya, dan aku juga akan memberi dukungan dana
Yang paling menarik adalah font untuk terminal/coding
https://tosche.net/fonts/comic-code
Ada bagian yang hilang dari judulnya: ini adalah driver perangkat USB untuk perangkat yang relatif sederhana, dan karena sudah ada kode sebelumnya, pada dasarnya ini lebih mirip pekerjaan “menerjemahkan” dari kode ke kode
Ini bisa terlihat sangat mengesankan, tetapi secara pribadi menurutku mirip melihat seseorang yang mahir dalam pekerjaannya sedang bekerja
Akan bagus kalau moderator bisa menghapus “from scratch” dari judul dan menambahkan bahwa ini adalah driver perangkat, tetapi kalau tidak pun tidak apa-apa
Aku sangat suka video semacam ini dan tutorial yang mendalam, tetapi istilah “from scratch” agak kurang tepat
Kalau dibilang “berangkat dari pengalaman 10 tahun mengerjakan persis hal semacam ini”, rasanya memang tidak sama
Bukankah spesifikasi USB kira-kira sekitar 500 halaman? Mengesankan
Kernel menyediakan banyak fungsi yang bisa dipakai. Kamu bisa belajar hanya dengan membaca kode driver paling sederhana yang bisa ditemukan di source kernel, lalu naik ke driver yang lebih sulit