- Dulu, pengetahuan tentang struktur bit ASCII, RS-232, terminal perangkat keras, dan modem merupakan hal yang secara alami diketahui para hacker, tetapi perubahan perangkat dan lingkungan jaringan membuatnya tidak lagi diwariskan dalam proses pembelajaran awal
- Istilah seperti
tty,SIGHUP,core dump,README, danCtrl-Dadalah sisa-sisa dari alat yang telah hilang, sehingga memahami asal-usulnya membantu kita lebih memahami Unix modern dan kebiasaan pengembangan saat ini - ASCII, mesin 36-bit, oktal, konfigurasi RS-232, MIME, termios, curses, dan kontrol terminal ANSI menunjukkan lapisan kompatibilitas historis yang masih tertinggal dalam sistem saat ini
- Sebelum internet massal, UUCP, USENET, BBS, FidoNet, FTP, Gopher, timesharing komersial, dan WAN akademik masing-masing menangani transfer file, email, forum, dan kolaborasi
- Pengembangan berbasis repositori publik terbentuk melalui pita DECUS, FTP dan email, grup source USENET,
patch(1), SCCS/RCS/CVS, SourceForge, Subversion, hingga Git pada 2005
Jejak Unix yang Ditinggalkan Perangkat Keras yang Hilang
- Fakta bahwa hacker muda tidak lagi mengetahui struktur bit ASCII dan karakter kontrol yang ganjil bukanlah masalah individu, melainkan akibat terminal perangkat keras dan RS-232 yang menghilang dari kehidupan sehari-hari
- Dulu, terminal bukanlah jendela perangkat lunak, melainkan video display terminal (VDT) yang terhubung ke komputer pusat; sebelumnya, perangkat keluarga teletype yang mencetak ke kertas digunakan secara luas
ttydi Unix berasal dari singkatan teletype,lpdalam/dev/lpberarti line printer, dan/dev/drumpada beberapa BSD Unix berasal dari perangkat drum berputar awal\rCarriage Return adalah tindakan mengembalikan kepala cetak ke sisi kiri baris, dan Unix menangani akhir baris hanya dengan\n, sementara sistem operasi lain tetap menggunakan\r\n- Urutan
\r\nmuncul karena pada perangkat keras awal carriage return memerlukan waktu lebih lama daripada transmisi satu karakter, sehingga harus dijalankan lebih dulu
- Urutan
- Cara banyak pengguna berbagi satu CPU komputer pusat disebut timesharing, dan jejaknya masih terlihat dalam struktur banyak terminal virtual Unix modern
RS-232, modem, dan perintah AT
- RS-232 adalah protokol perangkat keras yang dikembangkan pada awal 1960-an agar teletypewriter dan modem dapat berkomunikasi, dan sebelum USB, tautan “serial” biasanya berarti RS-232
- Modem adalah perangkat yang memungkinkan sinyal digital dikirim melalui saluran telepon, dan para hacker sering memakai modem eksternal berbentuk kotak terpisah
- Modem internal rentan terhadap noise RF di dalam casing, dan lampu indikator pada modem eksternal berguna untuk diagnosis masalah
- Keberhasilan koneksi dan kegagalan sinkronisasi bisa dibedakan sampai tingkat tertentu dari suara bip dan desis modem
HUPdalamSIGHUPdi Unix berarti Hang Up, yang awalnya merujuk pada kondisi ketika koneksi modem terputus dan terminal pengendali menghilang- Kecepatan modem meningkat dari 110bps hingga 56kbps pada akhir 1990-an, dan pada masa stabil sekitar 1984–1991, 9600bps adalah hal yang umum
- Karena itu, banyak perangkat serial-protocol yang masih ada menggunakan 9600bps sebagai nilai default
- Prefiks perintah
ATpada Hayes Smartmodem menjadi standar de facto sejak 1981, dan nomor telepon bisa dipanggil dengan menambahkan nomor setelahATDT- Pola bit
ATmudah dikenali bahkan ketika penerima belum mengetahui kecepatan transmisi, sehingga menguntungkan untuk sinkronisasi otomatis - Bahkan pada 2017, perintah AT masih ditemukan dalam fungsi kontrol modem seluler 3G/4G di smartphone, dan pada satu jenis yang didistribusikan luas,
AT+QLINUXCMD=digunakan sebagai prefiks untuk meneruskan perintah ke instance Linux di firmware chip
- Pola bit
“core”, mesin 36-bit, dan oktal
- Sekitar 1955–1975, sebelum memori semikonduktor, memori utama dibuat dari core memory berupa cincin ferit kecil dan kawat tembaga, dan dari sinilah istilah Unix seperti
in coredancore dumpberasal - Setelah 2000, ketika sistem multiprosesor menjadi umum bahkan di desktop,
corejuga mulai dipakai sebagai singkatan dari processor core, sehingga makna lama terkait memori makin jarang dipahami - Hirarki byte 8-bit dan word 16/32/64-bit baru benar-benar menjadi umum setelah 1983; sebelumnya, tradisi arsitektur word 36-bit sangat kuat
- DEC PDP-10 dan Symbolics 3600 Lisp machine adalah contoh mesin 36-bit yang representatif
- Pembatalan PDP-10 pada 1983 menandai berakhirnya lini ini, sementara Symbolics 3600 bertahan sekitar satu dekade lebih lama
- Word 36-bit terbagi alami menjadi 12 bidang 3-bit sehingga representasi oktal terasa wajar, dan orang menganggap bahwa melihat angka lebih besar dari 7 dalam memory dump dapat membedakan keluarga 32-bit dari keluarga 36-bit
- Dalam literal angka C, sintaks
0di depan yang berarti oktal berasal dari sejarah B serta PDP-7/PDP-11, dan banyak bahasa seperti Java dan Python mewarisi jejak ini dengan mengikuti aturan kosakata low-level dari C- Python 3, Perl 6, dan Rust menghapus sintaks oktal leading-0 yang berbahaya, tetapi Go tetap mempertahankannya
- Kumpulan instruksi x86 biasanya dijelaskan dengan heksadesimal, tetapi sebagian besar sebenarnya lebih alami dipahami sebagai bidang 3-bit, sehingga representasi oktal terasa lebih cocok
Neraka konfigurasi RS-232 dan dunia 7-bit
- Tautan TCP/IP biasanya terlihat seperti aliran byte 8-bit yang bersih, tetapi pada perangkat RS-232 kedua sisi harus menyesuaikan line speed, framing byte, parity, dan stop bit
- Setelah 1984,
8N1—8-bit, no parity, 1 stop bit—menjadi umum, tetapi sebelumnya berbagai kombinasi dipakai, dan jika pengaturannya tidak cocok, yang terlihat hanyalah sampah 8-bit acak yang disebut baud barf - Alasan antarmuka terminal POSIX/Unix
termios(3)memiliki banyak opsi rumit yang secara modern tampak tidak jelas adalah karena antarmuka itu dulu harus mengatur konfigurasi RS-232 semacam ini - Jika parity aktif, bit tertinggi data biner 8-bit bisa rusak, dan jaringan serta perangkat lunak yang tidak merusak bit tertinggi
0x80disebut 8-bit clean- Encoding MIME untuk email dan MIME64 muncul karena lingkungan dengan keterbatasan 7-bit seperti ini masih tersisa
- Sebelum MIME,
uuencode/uudecodedigunakan di lingkungan Unix untuk mengubah data 8-bit menjadi 7-bit, dan kadang masih bisa dijumpai hingga sekarang
- Konektor RS-232 juga bercampur antara DB-25 dan DB-9, sehingga perangkat seperti gender changer, adaptor DB-25↔DB-9, breakout box, dan null modem diperlukan
- Setelah 2000, muncul jebakan karena RS-232 standar dengan DB9/DB25 dan TTL serial di papan sirkuit sama-sama diberi label RS232
- TTL serial menggunakan level 3.3V atau 5V, sedangkan RS-232 standar memakai ayunan tegangan yang jauh lebih besar, sehingga menghubungkannya tanpa level shifter dapat merusak komponen di sisi TTL
- RS-232 menghilang dari pengetahuan umum pada pertengahan hingga akhir 1990-an, tetapi belum sepenuhnya hilang dari komputer serbaguna hingga sekitar 2010, dan masih bertahan di perangkat POS, konsol diagnostik router komersial, konsol debugging embedded, sensor GPS, dan perangkat IoT
WAN dan komunitas sebelum internet
- Saat ini WAN nyaris terkonvergensi menjadi internet TCP/IP, tetapi dari akhir 1970-an hingga pertengahan 1990-an, beberapa WAN pra-internet hidup berdampingan
- UUCP adalah singkatan dari Unix to Unix Copy Program; setelah dirilis ke luar Bell Labs pada 1979, hingga internet publik meluas pada pertengahan 1990-an, UUCP menyediakan jaringan berbiaya rendah antarsitus Unix melalui modem dan jaringan telepon
- Awalnya ini adalah sistem store-and-forward untuk menyebarkan pembaruan perangkat lunak, tetapi penggunaan utamanya kemudian menjadi email dan USENET yang dimulai pada 1980
- Dalam struktur tarif telepon yang memisahkan biaya tetap lokal dan biaya long-distance berbasis pemakaian, lalu lintas UUCP dapat menghubungkan local hop untuk menghindari pengiriman jarak jauh langsung
- USENET menjadi tempat kelompok berbagi kode sumber menanam benih praktik open source modern, dan nama berkas metadata proyek seperti
README,NEWS, danINSTALLmengakar di sana pada awal 1980-an- Great Renaming pada 1987 adalah penataan ulang hierarki nama grup USENET
- Ketika AOL membuka akses USENET bagi penggunanya pada 1993, mulailah “September that never ended”, dan masuknya pengguna baru dalam jumlah besar menyulitkan adaptasi budaya
- Alamat UUCP berbentuk bang-path seperti
…!bigsite!foovax!barbox!user, lalu digantikan oleh formatuser@hostnameketika akses internet meningkat pada awal 1990-an- Pada masa transisi, ada juga alamat hibrida yang menggabungkan routing UUCP dan routing internet dengan
%
- Pada masa transisi, ada juga alamat hibrida yang menggabungkan routing UUCP dan routing internet dengan
- BBS biasanya adalah sistem pada komputer yang terhubung ke satu modem, sehingga hanya satu orang bisa masuk pada satu waktu untuk mengakses pesan, unggah-unduh berkas, dan game
- BBS pertama beroperasi di Chicago pada 1978, dan selama 18 tahun berikutnya lebih dari 100 ribu BBS muncul lalu menghilang
- Sejak 1984, FidoNet mendukung email antar-BBS dan sistem forum mirip USENET
- XMODEM, YMODEM, dan ZMODEM adalah hampir satu-satunya kenangan yang tersisa dari budaya BBS; bahkan pada 2018, sebagian perangkat Cisco masih menerima patch melalui unggahan XMODEM lewat serial port
- Ada juga layanan time-sharing komersial seperti AOL, CompuServe, GEnie, The Source, dan Prodigy, serta WAN akademik seperti CSNET, BITNET, EARN, dan VIDYANET; istilah
listservberasal dari email reflector di BITNET
Akses informasi sebelum FTP, Gopher, dan web
- Sebelum World Wide Web menjadi umum dalam beberapa tahun pada awal 1990-an, transfer berkas antar-situs internet sejak 1971 biasanya dilakukan dengan ftp dan File Transfer Protocol
- Ketika browser web menjadi mampu berbicara langsung dengan protokol FTP, penggunaan ftp sebagian besar terserap ke dalam browser, dan prefiks URL
ftp:menandakan bahwa klien harus berkomunikasi dengan server FTP - Pada 1991, tahun yang sama ketika Tim Berners-Lee membuat World Wide Web, para hacker di University of Minnesota membuat protokol hiperteks berbasis menu Gopher
- Gopher bersaing dengan Web awal selama beberapa tahun, tetapi adopsinya melambat ketika universitas itu memutuskan untuk mengenakan biaya lisensi atas implementasinya pada awal 1993
- Browser web awal mendukung protokol Gopher dan penayangan dokumennya, tetapi pada 2000 Gopher pada dasarnya sudah lenyap, dan hanya beberapa server yang dijalankan demi nostalgia dan ironi
Emulator terminal dan warisan VDT
- Emulator terminal pada Unix modern adalah bentuk akhir yang paling dekat dengan display awal yang meniru teletype, yaitu glass TTY dan dumb terminal
- Perangkat pertama jenis ini dikirim pada 1969, dan model yang paling dikenang adalah ADM-3 dari 1975
- VDT awal, seperti ASR-33, hanya dapat menampilkan huruf besar; Unix dan Linux pada 2018 masih mempertahankan perilaku yang beralih ke mode yang mengubah semua masukan menjadi huruf besar jika nama login dimulai dengan huruf besar
- “Smart terminal” seperti ADM-3A yang muncul mulai 1975 dan DEC VT-100 pada 1978 mewariskan lebar 80 karakter dari kartu plong serta ukuran layar baku 24x80 atau 25x80
- Fitur kontrol seperti cursor addressing, bold, underline, dan reverse-video menjadi umum, dan untuk mengabstraksikannya digunakan basis data terminfo serta pustaka
curses(3)di Unix - Sejak 1979, kode kontrol terminal ANSI berbasis DEC VT-100 menyebar luas, dan pada awal 1990-an kompatibilitas ANSI pada VDT nyaris universal
- Sekitar 1992, ketika display warna bitmapped pada komputer pribadi berhasil menyamai dot pitch dan ketajaman tampilan teks VDT monokrom, pasar VDT runtuh cepat dalam komputasi umum
- Command line Unix berasal dari era printing terminal yang lebih tua daripada VDT, dan inilah alasan kita masih memakai kata “printing” untuk keluaran
- Antarmuka dua dimensi berbasis teks seperti
vi(1),top(1), danmutt(1)adalah antarmuka visual canggih pada era VDT, lalu kemudian diberi nama TUI setelah istilah GUI menjadi umum - screensaver bermula sebagai perangkat lunak yang mengubah gambar layar untuk mencegah phosphor burn-in pada CRT, dan pada layar datar tujuan aslinya hilang
Display bitmapped awal dan estetika 8-bit
- Contoh pertama sistem produksi yang mengarah ke display manipulasi per piksel seperti sekarang adalah Alto dari Xerox PARC pada 1973
- Display Alto berukuran 608x808 piksel, dan ingatan bahwa ukurannya setara 1024x1024 adalah kekeliruan akibat tercampur dengan display generasi berikutnya
- Pada 1981, Dandelion mencapai 1024x809, tetapi upaya mengomersialkannya sebagai Xerox Star gagal
- Pada 1982, Sun-1 dari Sun Microsystems menyediakan 1024x800 piksel, dan workstation kelas Sun menjadi barang yang diidamkan banyak hacker
- Komputer warna pribadi sudah menawarkan display bitmapped primitif sejak 1975, tetapi mode Hi-res Apple II hanya 280x192
- Para hacker membutuhkan tampilan teks yang baik untuk pemrograman dan mengetahui grafis workstation kelas 1024x1024, sehingga mereka sering menganggap display warna berbasis TV untuk konsumen sebagai mainan yang nyaris tak berguna
- Macintosh asli pada 1984 adalah mesin konsumen pertama dengan display bitmapped hitam-putih 512x342, dan tak lama kemudian IBM EGA beserta klonnya menawarkan 640x350 dengan 16 warna
- Baru sekitar 1990 monitor warna kelas 1024x1024 mencapai pasar konsumen kelas atas, dan ketika menjadi umum sekitar 1992, pabrikan PC mulai menekan vendor workstation
- Sebagian hacker muda pada pertengahan 1980-an berusaha memeras kemampuan maksimum dari display warna beresolusi rendah dan perangkat keras suara awal; hasilnya berupa chunky graphics, pixelated sprites, dan suara chirpy/buzzy kemudian dipakai sebagai nostalgia 8-bit dalam game abad ke-21
Budaya game sebelum GUI
- Sebelum
bitmapped color displaymenjadi umum, ada tradisi kuat game yang berjalan hanya dengan antarmuka teks dan grafis sel karakter VDT - Keluarga Trek adalah rangkaian game yang jejaknya mundur hingga 1971, dengan bentuk permainan di mana pemain mengendalikan Enterprise untuk bertarung melawan Klingon, Romulan, dan lain-lain
- Di balik antarmuka yang sangat kasar dan dirancang untuk teletype, tersembunyi wargame yang relatif canggih, di mana initiative, tactical surprise, dan logistics sangat penting
- Colossal Cave Adventure adalah game adventure penjelajahan dungeon pertama dari 1977, dan frasa “You are in a maze of twisty little passages, all alike” serta
xyzzyberasal dari game ini- Karena nama berkas 6 karakter pada PDP-10, para pengguna awal kadang menyebut game ini sebagai ADVENT
- Ada juga port C modern, ADVENT
- Zork adalah penerus langsung ADVENT yang pertama kali dirilis oleh para hacker MIT pada PDP-10 pada 1979, dan kemudian sukses secara komersial
- Ungkapan seperti zorkmid, Great Underground Empire, dan grue berasal dari sini
- roguelike adalah keluarga game yang dinamai dari Rogue tahun 1980, dengan gaya permainan bertarung melawan monster dan mencari harta di dungeon berbentuk peta top-down
- Hack muncul pada 1982, dan Nethack pada 1987
- Nethack adalah salah satu program paling awal yang kelompok pengembangnya secara sadar diorganisasi sebagai kolaborasi terdistribusi melalui internet, dan kebaruan itu tercermin dalam nama proyeknya
- Keturunan Rogue adalah game TUI yang paling populer dan sukses, dan meskipun hilang dari pengetahuan umum sejak pertengahan 1990-an, hingga kini masih mempertahankan basis penggemar kecil yang berdedikasi
Struktur bit ASCII dan karakter kontrol
- ASCII berkembang dari keluarga kode karakter teletype pada awal 1960-an, dan karena 127 code point terendah Unicode dirancang sebagai ASCII, kemungkinan besar ia akan bertahan lama
- Jika Anda memahami UTF-8, semua berkas ASCII juga merupakan berkas UTF-8 yang valid
- Modifier Control pada keyboard pada dasarnya memetakan karakter masukan ke karakter kontrol dalam rentang 0~31 dengan menghapus 3 bit teratas dan menyisakan 5 bit terbawah
Ctrl-SPACE,Ctrl-@, `Ctrl-`` semuanya berarti NUL
- Keyboard yang sangat tua mengimplementasikan Shift dengan cara men-toggle 32 atau 16 bit tergantung tombolnya, dan karena itu hubungan huruf kecil-huruf besar serta angka-simbol dalam ASCII memiliki keteraturan
- ASCII asli tahun 1963 berbeda dari ASCII 1967 yang dipakai sekarang; tidak memiliki tilde maupun vertical bar, dan
5Ebukan caret melainkan up-arrow, sementara5Fbukan underscore melainkan left arrow - Banyak dari karakter kontrol 0~31 adalah sisa protokol teletype; sebagian masih tersisa dalam teks atau kebiasaan Unix, dan sebagian lain dalam protokol data biner
NUL: terminator string CEOT/Ctrl-D: masukan end of file di terminal UnixBEL/Ctrl-G: bel pada teletype atau attention signal pada VDTBS,HT,LF,FF,CR,ESC,DEL: himpunan karakter kontrol yang relatif dikenal luasDC1/DC3: digunakan sebagai software flow control XON/XOFF dan juga diimplementasikan di Unix, CP/M, dan DOSSUB/Ctrl-Z: karakter end-of-file di DOS dan Windows, diwariskan dari CP/M dan OS minikomputer DEC; di Unix digunakan sebagai tombol suspend processESC: terus dipakai sebagai introducer control sequence pada VT100, ANSI VDT, dan emulator terminal modern
- Nilai
DELyaitu0x7Fberasal dari fakta bahwa pada paper tape karakter ASCII apa pun bisa ditimpa dengan 7 lubang, dan tape reader akan melewati DEL serta NUL - Tombol Meta atau Alt pada VDT biasanya menambahkan 128 ke keycode ASCII, tetapi emulator terminal modern juga sering memakai cara menyisipkan
ESCsebelum tombol yang dimodifikasi - Struktur bit ASCII dapat dilihat di ascii(1), dan tabel ASCII dalam tulisan ini juga dibuat dengan alat itu
Kelahiran lambat kolaborasi terdistribusi
- Di zaman modern, version control terdistribusi terbuka dan kolaborasi jarak jauh dianggap biasa, tetapi alat dasar dan kebiasaan penggunaannya terbentuk dengan lambat
- Salah satu leluhur awalnya adalah berbagi tape oleh DECUS, Digital Equipment Corporation Users' Group, yang didirikan pada 1961
- Para pengguna DEC mengedarkan magnetic tape berisi perangkat lunak public-domain, dan pada 1976 praktik ini sudah mapan
- Kebiasaan
READMEmasuk ke dunia Unix melalui USENET, tetapi tampaknya merupakan jejak yang menyebar dari tape DECUS
- Pada 1970-an sudah ada kolaborasi perangkat lunak akademik yang bertukar source lewat email dan mengunggah distribusi ke situs FTP
- Email jaringan ditemukan pada 1971, dan pada 1973 sudah digunakan begitu luas hingga mencapai 75% trafik ARPANET
- TeX karya Donald Knuth adalah contoh bertahan paling representatif dari periode ini, dimulai pada 1978
- Setelah 1980, kebiasaan merilis source code di newsgroup USENET khusus dan menerima patch dari kontributor eksternal lewat email dengan cepat menjadi praktik umum
comp.sources.unixadalah tempat sehari-hari para hacker Unix mencari kode baru
- Pengembangan yang sepenuhnya terdesentralisasi membutuhkan version control, patching, dan forge
- SCCS lahir pada 1972, tetapi baru keluar dari Bell Labs pada 1977, dan lisensi proprietarinya memperlambat penyebaran
- RCS adalah alternatif yang dapat digunakan ulang secara bebas, dirilis pada 1982
patch(1)muncul pada 1984; sebelumnya, cara umum adalah saling mengirim seluruh berkas yang berubah
- Nethack adalah game roguelike yang dimulai pada 1987, dan merupakan salah satu contoh awal pengembangan sepenuhnya terdistribusi, di mana para pengembang saling bertukar seluruh berkas lalu patch lewat email, sambil memakai SCCS/RCS untuk mengelola salinan lokal
- CVS muncul pada 1990, dan setelah kemampuan operasi jarak jauh lewat jaringan ditambahkan pada 1993, proyek-proyek besar seperti FreeBSD dan NetBSD segera mengadopsinya
- Linux diumumkan pada 1991 sebagai upaya kolaborasi terdistribusi, tetapi pengembangan awalnya masih memakai model patch lewat email seperti Nethack, dan repositori Linux publik belum ada saat itu
- SourceForge muncul pada 1999 sebagai software forge khusus pertama; awalnya hanya mendukung CVS, tetapi kemudian mempercepat adopsi Subversion yang muncul pada 2000
- Subversion menjadi pengetahuan umum pada 2000~2005, dan ketika Linus Torvalds membuat Git pada 2005, sistem version control sebelumnya dengan cepat menjadi usang
Alur waktu yang perlu diingat
- Pada 1969, Ken Thompson memulai pekerjaan yang kemudian menjadi Unix, VDT komersial pertama dikirim, dan paket pertama dipertukarkan di ARPANET
- Pada 1970, DEC PDP-11 dikirim dan kemudian memberi pengaruh besar pada keluarga arsitektur termasuk Intel dan ARM
- Pada 1971, email jaringan dan penggunaan simbol
@ditemukan di ARPANET awal - Pada 1973, Xerox Alto memelopori workstation, komputer pribadi berjaringan dengan layar beresolusi tinggi dan mouse
- Pada 1977, Unix di-port ke Interdata dan menjadi versi pertama yang sebagian besar kernelnya ditulis dalam C, SCCS dirilis, dan Colossal Cave Adventure dikirim
- Pada 1980, Rogue ditemukan dan USENET dimulai
- Pada 1981, IBM PC dikirim, TCP/IP diimplementasikan pada 4.1BSD Unix di VAX-11/780, dan budaya ARPANET serta Unix mulai menyatu
- Pada 1983, PDP-10 dibatalkan dan ARPANET, melalui perubahan teknis, menjadi Internet
- Pada 1987, terjadi Great Renaming di USENET, Perl ditemukan, dan proyek Nethack dimulai
- Pada 1991, Linux dan World Wide Web masing-masing dimulai, dan Python ditemukan
- Pada 1993, Linux memperoleh kemampuan TCP/IP dan beralih dari mainan hobi menjadi OS yang serius, pembukaan USENET oleh AOL memulai “September That Never Ended”, dan Mosaic menambahkan kemampuan grafis serta gambar ke Web
- Pada 1994, internet publik mulai benar-benar meluas di Amerika Serikat dan USB diumumkan
- Tahun 1995~1996 adalah puncak budaya UUCP/USENET dan BBS sekaligus masa runtuhnya di bawah tekanan internet publik
- Pada 1999, SourceForge dimulai, dan ketika Linux berjalan di PC, pasar workstation Unix proprietari seperti Sun runtuh
- Pada 2005, produsen besar menghentikan produksi CRT dan beralih ke flat-panel, AOL menghentikan dukungan USENET, dan Git pertama kali dirilis
- Pada 2007~2008, berakhirnya era 32-bit terjadi seiring peralihan PC massal ke 64-bit, dan iPhone serta Android pertama kali dikirim dengan OS berbasis Unix
1 komentar
Komentar Hacker News
Yang menarik adalah cara tulisan ini mengaitkannya dengan dunia modern cukup tidak akurat. Misalnya, tepat setelah menjelaskan bahwa prefiks perintah Hayes
ATpunya sifat yang berguna untuk sinkronisasi otomatis kecepatan jalur, tulisan itu mengatakan bahwa pada 2017 pun perintah AT dipakai untuk mengendalikan modem seluler 3G/4GNamun modem modern tidak terhubung secara serial, dan tidak punya konsep kecepatan jalur. Sifat ini tidak relevan dengan hardware modern; penjelasan bahwa basis kode lama mudah diperluas ke lingkungan baru jauh lebih masuk akal
Pernyataan “perangkat IoT masih berbicara RS-232” juga keliru dengan berbahaya. RS-232 memakai tegangan positif untuk 0 dan tegangan negatif untuk 1, masing-masing dalam rentang 3–15V, jadi jika antarmuka serial perangkat IoT modern disambungkan langsung ke RS-232, kemungkinan besar perangkatnya rusak. Bagian yang sama-sama dimiliki serial lama dan port serial perangkat modern berada di luar cakupan RS-232; misalnya framing 8N1 tidak didefinisikan oleh RS-232
Pernyataan “semua berkas ASCII adalah UTF-8 yang valid” juga ambigu. ASCII adalah himpunan karakter, bukan mendefinisikan representasi di disk, dan berkas ASCII yang menyimpan karakter dengan dipaketkan dalam 7 bit bukanlah UTF-8 tanpa manipulasi. Mengingat sebelumnya tulisan itu membahas berbagai panjang word dan format transmisi yang tidak 8-bit clean, klaim ini terasa aneh
Pernyataan bahwa Git dengan cepat membuat semua sistem version control sebelumnya usang juga berlebihan jika memikirkan Perforce. Git memang peningkatan besar dibanding CVS dan SVN, tetapi mengatakan bahwa ia membuat semua yang sebelumnya menjadi barang usang terdengar seperti klaim dari orang yang tidak tahu sebagian besar industri perangkat lunak
Tentu saja ini memang terlalu mencari-cari kesalahan, tetapi jika nada keseluruhan tulisannya sok tahu dan menelaah dengan sangat teliti, mengkritiknya dengan standar yang sama tidaklah tidak adil
Klaim bahwa modem modern tidak terhubung secara serial juga tidak benar. Bentuknya saja belum tentu disebut RS-232; beberapa tahun lalu pun biasanya memakai jalur USB, dan USB juga merupakan bus serial
Perintah AT masih dipakai di hampir semua modem, termasuk ponsel di saku Anda. Itulah cara modem seluler menyiapkan panggilan di jaringan telepon, dan
ATDTyang bersejarah itu pun masih digunakan untuk penyiapan panggilan jaringan. Set perintah AT dulunya untuk mengendalikan atribut panggilan seperti penyiapan panggilan, kecepatan maksimum, dan protokol yang diizinkan, sedangkan negosiasi otomatis adalah tahap terpisah di lapisan jaringan/modem. Modem lama memperdengarkan proses itu lewat speaker, tetapi sekarang saja tidak terdengarBagaimana himpunan karakter semacam ini dibawa di atas protokol lain berada di luar cakupan definisinya
Default-nya adalah jalur
115200 8n1, kecepatannya bisa diubah, dan ada juga deteksi kecepatan otomatis. Setelah modem memberi tahu status siap lewat jalur terpisah, jika kita mengirimATpada kecepatan yang diinginkan, biasanya sekitar percobaan ketiga ia meresponsDalam arti itu, sekarang Git pada dasarnya adalah satu-satunya sistem version control de facto yang digunakan untuk kolaborasi terdistribusi pada source code
Sebagai tambahan penjelasan dari orang lama, pada modem telepon, 56K benar-benar batas maksimum. Di dalam jaringan telepon, sampel 8-bit dikirim 8 ribu kali per detik sehingga menjadi 64Kbps, tetapi kadang bit rendahnya diambil untuk sinyal lain dan tidak terdengar oleh pelanggan telepon
Daripada mencoba menyinkronkan modem ke bit yang diambil itu, lebih mudah memakai hanya 7 bit yang dapat diandalkan, sehingga jadilah 56Kbps. https://en.wikipedia.org/wiki/Robbed-bit_signaling
9600bps yang secara praktis dipakai sebagai kecepatan terminal adalah kebiasaan yang lebih tua daripada modem 9600bps. Sekitar pertengahan hingga akhir 80-an, modem 9600bps adalah barang hebat, dan bagi pengguna terminal kecepatannya sudah cukup cepat sekaligus masih dapat ditangani terminal saat itu. Terminal yang saya ingat sebagai Volker-Craig 4404 tidak sanggup mengikuti 9600bps, jadi harus diturunkan ke sekitar 4800bps
Multiplexer terminal minikomputer biasanya mengelompokkan pengiriman saat memungkinkan, mengambil sekumpulan karakter dari memori dengan DMA lalu mengirimnya, kemudian hanya mengirim interrupt “selesai” ke CPU. Bahkan dalam mode karakter, CPU hanya diberi tahu ketika buffer penerimaan penuh atau ketika karakter berurutan seperti carriage return masuk
Karena itu banyak mainframe dan minikomputer memakai terminal mode blok. Aplikasi memakai API formulir, sedangkan pengeditan dan input ditangani di terminal. Komputer mengirim seluruh formulir ke terminal, lalu setelah pengguna menyelesaikan koreksi kesalahan serta validasi seperti kolom angka/alfanumerik, isi kolom dikirim ke komputer lewat tindakan “selesai” yang eksplisit
Bahkan dalam penggunaan interaktif penuh, sistem semacam ini lebih menyukai mode baris, di mana isi baris saat ini hanya dikirim pada tindakan tertentu dan pengeditan baris terjadi di terminal. Mode “raw” ala UNIX memberi overhead yang terlalu besar dibanding jumlah pengguna yang harus ditangani sistem, meski biaya terminalnya sedikit lebih tinggi
Sayangnya saya dulu memakai board 1200, dan paman saya bilang modem pertamanya 300
Saya juga ingat pengaturan 110, mungkin bisa ditelusuri sampai operasi Berlin Airlift tahun 1948
Saat pertama kali mencoba memakai perintah AT di modem 4G, saya benar-benar tertawa. Rasa yang sudah familier di tangan ternyata masih berlaku. Hanya saja, agak disayangkan tidak ada dialing dan suara modem
Mengejutkan bahwa industri modem 3G/4G tidak berhasil membuat cara yang lebih baik untuk berbicara dengan perangkat. Bahkan ISDN punya API yang layak dan diimplementasikan luas
Bagaimanapun, rasanya nostalgia, takjub, dan ngeri dalam porsi yang sama
https://docs.espressif.com/projects/esp-at/en/latest/esp32/A...
Meski begitu, port komunikasi virtual untuk berbicara lewat AT masih ada, dan untuk beberapa pekerjaan diagnostik mungkin masih diperlukan
Menyiapkan koneksi data dengan QMI/MBIM jauh lebih mudah dan efisien daripada mengutak-atik AT dan PPP
Daripada mengatakan “arsip USENET historis bisa ditemukan di Google Groups”, saya merekomendasikan archive.org. Ada banyak koleksi bagus yang menyimpan grup USENET sebagai file mbox dan bisa diunduh
Cukup pasang sesuatu seperti
mboxgrep, impor ke mail reader, atau baca saja sebagai file teksContohnya di sini
https://archive.org/details/usenet-comp
cd ..https://archive.org/details/usenethistorical
Pada pertengahan 1980-an, dari komputer sebuah universitas di London (sepertinya CDC Cyber milik Imperial), saya mencoba masuk ke komputer universitas lain (sepertinya Queen Mary) untuk memakai paket aljabar simbolik yang hanya ada di minikomputer Unix
Saya menghabiskan genap 2 jam hanya untuk menemukan pengaturan terminal dan nilai konfigurasi yang benar untuk software-software perantara, dan akhirnya merasa lebih baik menulis sendiri sebisanya di mesin 8-bit 2MHz 64K
Software punya masalah “terus menumpuk di atasnya”. Dalam konstruksi, kita bisa memakai ulang bangunan dan komponen lama, meningkatkan beberapa bagian interior, atau merobohkannya lalu membangun baru
Namun software tidak begitu. Ia memasang pipa timbal, kabel CAT-3, insulasi bulu kuda, dan jendela kaca tunggal apa adanya ke gedung pencakar langit baru. Entah karena lebih mudah terus membangun di atas teknologi usang berumur puluhan tahun daripada menciptakan PVC, CAT-6, insulasi semprot, dan jendela tiga lapis yang lebih baik, atau karena tidak ingin membuat standar yang dipakai bangunan lama menjadi usang dan para pemilik gedung tidak mau membayar biaya upgrade
Jadi kita mendapatkan gedung pencakar langit yang berfungsi, tetapi entah kenapa harus mengajari engineer baru tentang insulasi bulu kuda
Karena itu, kebanyakan tetap menjadi proyek riset eksperimental, dan kalau beruntung, hanya bagian terbaiknya yang perlahan masuk ke proyek yang sudah ada seiring waktu
Yang terlewat adalah alasan mengapa banyak “teknologi lama dan buruk” ini masih bertahan. Mereka telah teruji oleh waktu. Teknologi modern tidak mempertahankan hal-hal ini semata-mata karena nostalgia. Umumnya, mereka masih berguna karena menyelesaikan masalah dengan elegan, menyediakan abstraksi yang berguna di atas sistem yang lebih modern, atau karena kompatibilitas dengan sistem yang sudah ada tidak bisa dihindari
Tentu, teknologi lama seperti ini juga punya cacat. Beberapa puluh tahun lagi, semua kode Anda juga akan begitu
XKCD tentang standar itu yang mana ya?
Sebagai kelahiran 1997 yang bekerja di industri software, satu hal yang saya pelajari adalah bahwa rekayasa software sebagai bidang kadang lebih mirip memahami sejarah sistem. Saya suka membaca tulisan seperti ini karena kadang ada konsep yang tiba-tiba terasa pas
Dari sudut pandang orang yang bekerja dengan sistem embedded, banyak dari isi ini masih relevan. RS-232 itu sendiri, yaitu spesifikasi lapisan fisiknya, memang lebih jarang dipakai, tetapi protokol komunikasi UART di bawahnya masih sangat hidup
Misalnya, development board Beaglebone bisa boot dengan mengunggah bootloader lewat XModem
Sebenarnya ada antarmuka TTY yang lebih tua yang awalnya digunakan ASR-33, disebut current loop karena berasal dari rangkaian telegraf. Pada 1970-an mulai muncul ASR-33 mode ganda yang juga mendukung RS-232, dan pada akhirnya RS-232 sepenuhnya menggantikan current loop
KIM-1(https://en.wikipedia.org/wiki/KIM-1) menggunakan metode ini, dan antarmuka current loop(https://en.wikipedia.org/wiki/Current_loop) masih cukup umum dalam konteks kontrol industri. Ini juga menjadi dasar MIDI(https://en.wikipedia.org/wiki/MIDI#Electrical_specifications)
FF (Form Feed), yaitu Ctrl-L, ditafsirkan oleh banyak terminal tampilan video sebagai perintah “bersihkan layar”, dan emulator terminal perangkat lunak pun kadang masih melakukannya
Ini umum digunakan di Usenet sebagai penanda spoiler. Alasannya, sisa pesan tidak akan ditampilkan sampai pengguna melewatinya dengan tombol seperti PgDn. Di layar, itu terlihat sebagai
^Lsehingga orang tahu masih ada lanjutannya, dan sisa layar akan dibersihkan sampai^Ltergulir keluar dari layar