1 poin oleh GN⁺ 2023-07-26 | 1 komentar | Bagikan ke WhatsApp
  • Staf dukungan TI jurusan CS mendatangi kantor profesor karena keluhan penurunan performa Sparc4, lalu menemukan xroach yang bersembunyi di balik jendela
  • Saat satu jendela diminimalkan, bagian bawah layar tampak seperti persegi panjang hitam, dan di dalamnya kecoak bergerak sangat lambat
  • Gerakannya sekitar 0,5 fps, dan ada begitu banyak kecoak xroach di bawah xterm hingga terlihat seperti satu gumpalan hitam
  • Inti masalahnya bukan pada perangkat keras itu sendiri, melainkan xroach yang terus ditampilkan di area yang tidak dilihat pengguna
  • Di lingkungan desktop X11 lama, program iseng pun bisa tampak seperti masalah performa nyata, sehingga penting memeriksa jendela tersembunyi dan status latar belakang

Gejala yang dikonfirmasi di kantor profesor

  • Paco Hope, saat dulu bekerja sebagai staf dukungan TI jurusan CS, dipanggil ke kantor karena profesor mengeluh bahwa Sparc4 lambat
  • Hal pertama yang ia lakukan adalah meminimalkan satu jendela, dan di bawahnya muncul persegi panjang hitam yang tak terduga
    • Di dalam area hitam itu, kecoak xroach bergerak sedikit demi sedikit
    • Gerakannya sangat lambat sampai tampak sekitar 0,5 fps

xroach yang memenuhi area di bawah xterm

  • Ada begitu banyak xroach di bawah xterm sehingga yang terlihat bukan lagi kecoak satu per satu, melainkan hampir seperti persegi panjang hitam polos
  • Profesor tidak melihat kondisi di bawahnya sebelum jendela diminimalkan, dan keluhan penurunan performa mulai menemukan petunjuk setelah kondisi layar tersembunyi ini diperiksa

Kilas balik singkat dan reaksi

  • Anekdot ini adalah kilas balik singkat yang diunggah Paco Hope di Mastodon pada 25 Juli 2023
  • Unggahan tersebut menampilkan 202 boost dan 389 favorit, menunjukkan resonansi dengan para pengguna yang mengingat lingkungan desktop lama dan program-program iseng

1 komentar

 
GN⁺ 2023-07-26
Opini Hacker News
  • Saat bekerja sebagai dukungan teknis di rumah sakit daerah, seorang perawat menelepon karena di layar muncul “semacam jendela seperti ramalan cuaca”, dan kursor mouse masuk ke bawahnya sehingga tidak bisa ditutup
    Karena penasaran, saya memintanya untuk tidak menyentuh komputer, lalu sekitar 10 menit kemudian saya sampai. Ia berkata, “Baru saja tertutup sendiri semenit yang lalu. Tadi muncul sekitar 30 menit”
    Dari tata letak meja dan deskripsi jendelanya, saya menekan tombol monitor, dan muncullah menu OSD monitor yang tanpa sengaja terpencet oleh sudut keyboard; tingkat kecerahan 100% ditampilkan dengan ikon matahari. Wajar saja mouse bisa masuk ke bawahnya
    Saya berjalan 10 menit kembali dan menunggu panggilan berikutnya

    • Setelah bekerja sebagai dukungan teknis di rumah sakit, saya tidak yakin apakah IT di lingkungan itu benar-benar memberi nilai tambah sebesar yang dibayangkan orang IT sendiri
      Para perawat sibuk menyelamatkan nyawa dan merawat orang-orang yang sedang mengalami hari terburuk mereka, tetapi di atas itu mereka juga harus menghadapi workstation yang implementasi dan pemeliharaannya berantakan. Saat meminta bantuan, kadang orang-orang yang menciptakan masalah itu datang lalu meremehkan mereka
      Para perawat bukan bodoh atau malas; mereka adalah orang-orang yang punya pekerjaan lebih penting daripada menghabiskan waktu untuk masalah IT sepele
      Peralatan yang penting untuk praktik klinis biasanya dikelola oleh spesialis khusus, dan komputer peralatan MRI bisa saja tidak terikat ke Active Directory dan bahkan tidak berada di jaringan. Masalahnya diteruskan ke GE, bukan ke orang yang memperbaiki printer
    • Dulu saya pernah menerima panggilan dukungan teknis: “Layarnya terus rusak, sepertinya kena virus.” Itu masa ketika film The Net masih tayang di bioskop
      Ketika saya datang, ada boombox dengan dua speaker besar diletakkan di atas monitor CRT. Begitu dipindahkan, masalahnya hilang seperti sulap
    • Rasanya seperti versi yang lebih maju dari cerita “cup holder 4x speed rusak” dari era 90-an
      Sebenarnya perawat itu juga cukup akurat menjelaskan apa yang terjadi
  • Pada 1989, saya sendirian menangani departemen IT di sebuah tempat tempat para mantan ekonom akademis menjalankan pemodelan ekonometrika di Digital VAX 11/750
    Minikomputer ini menjalankan VMS, sistem operasi multi-pengguna, dan semua pengguna punya hak administrator. Masing-masing mengira model mereka akan berjalan lebih cepat jika prioritas proses dinaikkan setinggi mungkin, tetapi itu justru mengganggu proses real-time yang diperlukan untuk operasi komputer, sehingga efeknya berlawanan
    Setelah menemukan penyebabnya, mencabut hak tersebut, lalu me-restart sistem, semuanya kembali normal, dan saya mendapat ucapan terima kasih karena telah membuat sistem lebih cepat

    • Ada sebuah sistem yang dikelola mahasiswa, dan saya salah satunya. Kami sering saling menjahili; di sebuah workstation DEC dengan memori terbatas, salah satu orang sedang menjalankan emacs
      Orang lain membuat program yang mem-fork dirinya sendiri 1000 kali, menurunkan nilai nice menjadi 19, lalu melakukan sleep(0) dan keluar. Jika mendapat sedikit saja waktu CPU, proses itu langsung selesai, tetapi selama emacs berjalan, ia tidak mendapat kesempatan itu. Sementara itu beban yang ditampilkan xload berubah menjadi kotak hitam pekat
      Orang yang memakai emacs menjalankan ps -ef | grep procname | xargs kill sebagai root, tetapi untuk memproses kill dibutuhkan waktu CPU, sehingga lebih lama daripada sleep(0) dan tidak banyak berpengaruh
      Pada kejahilan kedua, nama prosesnya dibuat ema, dan akibatnya semua instance emacs juga ikut mati
      Pada yang ketiga, nama prosesnya dibuat et, dan kebetulan cocok juga dengan /etc/initd, sehingga mesin tiba-tiba reboot
    • Pada 1993, kuliah ilmu komputer untuk mahasiswa baru diajarkan dengan Scheme, dan tugas harus dikembangkan serta diuji di mesin Digital bersama yang menjalankan Ultrix
      Interpreter Scheme lambat saat mulai, terutama jika ada lebih dari 20 orang login. Asisten dosen mengajarkan cara menghentikan sementara interpreter dengan ctrl-z, mengedit dengan vi, lalu kembali dengan fg
      Masalahnya, bukan sekitar setengah, melainkan 2/3 kelas lupa menjalankan fg dan setelah mengedit malah membuka instance Scheme baru lagi. Saya masih ingat sistem benar-benar merayap di ruang terminal pada malam tenggat tugas
      Setelah itu saya belajar mencari teman sekelas yang menjalankan dua atau lebih instance Scheme dan mengingatkan mereka untuk memakai fg; “solusi” yang memecahkan masalah 8 ratu dengan rekursi tak terbatas juga sama sekali tidak membantu beban sistem. Pelajaran sebenarnya adalah jangan login pada malam tenggat tugas CS 401 di kemudian hari
    • Pada 1991 di kampus, saya pertama kali memakai internet lewat peralatan semacam itu. Saya menemukan kerentanan keren yang memungkinkan pesan disiarkan secara anonim ke siapa saja, dan mengejutkan banyak orang
      Karena terminal bersama berada di ruangan yang sama, saya bisa melihat efek perbuatan saya secara real time, dan itu menyenangkan
    • Ini contoh bagus dari prinsip ekonomi tragedy of the commons: https://en.m.wikipedia.org/wiki/Tragedy_of_the_commons
    • Saya teringat cerita yang saya dengar dari seseorang yang pernah bekerja dengan saya
      Di suatu lingkungan tempat orang-orang mengantre, ada seseorang bertanya apakah masalahnya bisa dilihat lebih dulu daripada orang lain. Dengan kata lain, ia meminta dipindahkan ke paling depan antrean
      Ia menjawab, “Tentu saja!” dan ketika orang itu terkejut, ia menambahkan, “Tapi Anda tahu kan, saya juga akan melakukan hal yang sama untuk orang lain yang meminta hal serupa?”
      Pada akhirnya orang itu memutuskan tetap menunggu di tempatnya semula
  • Teringat masa-masa mahasiswa dulu yang terasa seperti zaman keemasan
    Dalam kasus saya itu awal 2000-an, dan karena komputer di lab kampus tidak terlalu bertenaga, orang-orang biasanya bekerja di konsol Linux tanpa menjalankan sesi X yang berat
    Sekitar 2001, saat membaca halaman manual console_ioctl(4), saya menemukan banyak bahan untuk iseng. Saya membuat program-program kecil yang memanipulasi font konsol untuk membalik semua karakter, menukar huruf besar dan kecil, membuat pola LED keyboard berkedip, atau mengubah palet agar layar fade out menjadi hitam lalu kembali lagi
    Saya menambahkan komponen server ke situ, menjalankannya di terminal yang tampak biasa, menunggu korban datang, lalu dari mesin lain di ruangan yang sama menyalakan efeknya dari jarak jauh dan melihat reaksinya. Untungnya, tak lama kemudian saya sadar bahwa coding itu sendiri lebih menyenangkan daripada melihat orang-orang panik, jadi saya berhenti melakukan yang terakhir
    Keisengan lain adalah mengetik sendiri teks yang seolah-olah menunjukkan login root berhasil di prompt login getty. Termasuk motd, meniru pergantian baris dengan tab dan spasi, tidak pernah menekan RET, dan mengakhirinya dengan [root@mailhost root]#
    Ada yang karena penasaran mengetik whoami lalu bingung kenapa prompt kata sandi muncul, dan ada juga yang tidak berani menyentuh apa pun, mundur ketakutan, lalu dari terminal lain mengirim email ke administrator sistem

    • Andai saja ada sistem Linux. Di jaringan Windows pun saya melakukan hal serupa
      Selama pengguna masih login, dengan Task Scheduler pada dasarnya kita bisa menjalankan hampir program apa pun dengan hak akses pengguna itu, dan jika digabungkan dengan Active Directory, kita juga bisa mengetahui informasi pengguna. Misalnya mengetahui siapa berada di mana lalu membuka iexplorer ke situs tertentu, atau menampilkan dokumen Word yang tidak berbahaya. Kasus paling jahat adalah skrip batch logout otomatis
      Belakangan orang-orang menyadari caranya dan mencoba meniru eksekusi jarak jauh, tetapi mereka malah menjalankannya dengan hak akses mereka sendiri, bukan hak akses pengguna target, sehingga ketika admin IT datang, jejak siapa yang menjalankannya terlalu jelas
      Saya berhenti iseng, dan akhirnya setelah melewati dunia IT, saya berkarier sebagai software engineer. Kadang saya bertanya-tanya apa yang akan terjadi kalau waktu itu saya kena sanksi
    • Kedengarannya benar-benar menyenangkan. Ini cara yang membuat kita sadar bahwa coding itu sangat menyenangkan dan berdampak ketika kita terlibat langsung dengan hasilnya
  • Di mainframe IBM 370 ada lebih dari 80 programmer, dan VM/370 membuatkan satu mesin virtual untuk tiap programmer. Saya adalah salah satu dari dua system programmer yang punya hak akses “superuser”
    Di dalam mesin virtual biasanya kami menjalankan CMS, tetapi bisa juga menjalankan yang lain, dan beberapa mesin menjalankan MVS
    Untuk mengirim perintah ke mesin virtual itu sendiri, kami menambahkan karakter khusus di depan perintah, yang nilai default-nya #. Misalnya #cp ... adalah perintah yang dikirim ke mesin virtual, dan prefiks ajaib ini bisa diganti ke karakter apa pun yang diinginkan
    Suatu hari karena bosan, saya penasaran apakah bisa menjalankan VM lagi di dalam mesin virtual. Saya mem-boot VM di “level kedua” dan mengubah prefiksnya menjadi !, lalu di dalamnya bisa membuat mesin-mesin virtual baru
    Lalu saya mem-boot VM lagi di mesin virtual “level ketiga” dan mengubah prefiksnya menjadi @. Pada akhirnya saya masuk hingga 8 tingkat nesting, dan memastikan bahwa VM bisa menjalankan VM, yang menjalankan VM lagi, dan seterusnya
    Saat hendak selesai dan mematikan level-level bersarang itu, karena kebiasaan saya mengetik #cp shutdown, tetapi yang terjadi justru VM sungguhan di mesin sungguhan ikut mati. Saya panik dan berlari ke ruang mesin untuk menekan tombol start di konsol
    Tentu saja log sistemnya tersimpan, dan system programmer yang lain datang ke ruangan saya lalu berkata, “Jangan pernah lakukan itu lagi.” Masa-masa yang menyenangkan

    • Saya membuat ini untuk menyalahgunakan eksekusi qemu bertingkat dengan cara yang sama: http://git.annexia.org/?p=supernested.git;a=summary
    • Saya tidak paham. Saya kira # adalah prefiks untuk sistem operasi level 0, yaitu host, bukan VM level 1
      Kalau dengan # Anda mengirim perintah ke level 0, saya penasaran apa prefiks untuk level 1
    • Mirip kami yang terbiasa dengan Linux lalu bekerja di Solaris. Ada proses yang macet, dan karena malas mencari PID-nya, kami langsung memanggil killall procname. Mesinnya langsung mati
      Baru setelah administrator sistem datang kami tahu bahwa di Solaris killall melakukan hal lain, dan kami diberitahu agar jangan pernah menggunakannya lagi
  • Pada era 80-an, saat masih mahasiswa di universitas, saya mengerjakan tugas pemrograman dengan mengakses VAX 11/750, tepatnya klon 8750 Systime.
    Terminal untuk mahasiswa berada di separuh ruangan besar, sedangkan separuh lainnya dipakai staf IT universitas. Kalau di sisi admin IT tidak ada terminal kosong, satu-dua staf kadang memakai terminal mahasiswa tepat di balik sekat.
    Suatu hari, sambil menunggu proyek COBOL selesai dikompilasi, saya sangat bosan sampai bertanya-tanya apakah bisa menangkap nama pengguna dan kata sandi seorang administrator sistem. Saya menulis skrip yang meniru prompt login di CLI dengan sempurna, lengkap dengan bunyi beep dan pesannya.
    Skrip itu membersihkan layar lalu menunggu input nama pengguna dan kata sandi; setelah diisi, ia mengirimkannya kepada saya lewat email, menampilkan kesalahan nama pengguna/kata sandi, lalu logout sehingga diteruskan ke proses login asli.
    Setelah mengujinya pada beberapa teman sekelas yang tidak curiga dan melakukan sedikit keisengan anonim, saya memutuskan mencobanya sungguhan pada para administrator sistem. Saya login ke dua terminal yang biasanya dipakai staf IT dan menjalankan skrip itu; beberapa jam kemudian saat kembali, secara mengejutkan dan agak mengkhawatirkan saya berhasil mendapatkan kata sandi login SYSTEM.
    Selama sekitar sebulan saya punya kendali penuh atas mesin itu, dan sesekali menjalankan ulang skrip ketika kata sandi SYSTEM diganti. Saya tidak memberi tahu siapa pun, dan pada hari terakhir kelulusan, untuk berjaga-jaga, saya login dan menghapus skripnya. Saat itu di Inggris, hukum terkait akses komputer tanpa izin sedang diperketat.
    Saya menghabiskan banyak waktu bersama manual tebal mesin itu untuk mengeksplorasi dan mempelajari VMS, tetapi tidak ada yang menyadarinya.

    • Karena spoofing login seperti ini, mulai Windows NT pengguna harus lebih dulu masuk ke konteks keamanan dengan Ctrl+Alt+Del.
      https://en.wikipedia.org/wiki/Control-Alt-Delete
    • Ini juga terasa seperti semacam ritus peralihan. Saya melakukan hal yang sama di VAX sekolah, tetapi sehari kemudian menyerahkan semua kata sandi yang terkumpul kepada administrator sistem dan mengaku. Ada juga beberapa akun yang memiliki hak SYSTEM.
      Mereka memberi saya pekerjaan pertama :-) Saya juga sudah lebih dulu memberi hak yang diperlukan pada satu-dua akun yang kurang dikenal, supaya jika hak SYSTEM dicabut dari akun “resmi”, saya bisa mendapatkannya kembali.
      Masa-masa yang menyenangkan, dan juga polos. Saya tidak membuat kekacauan dengan hak akses itu.
    • Hebat. Saya jadi ingat pernah menulis program BASIC di Ti-83 untuk meniru prosedur inisialisasi memori yang dijalankan langsung oleh guru saat berkeliling ketika ujian aljabar.
      Sekarang tidak terlalu mengherankan kalau saya mencari nafkah dari pemrograman.
    • Menarik bahwa menggunakan program pengganti login pengguna tampaknya cukup umum di kalangan calon peretas masa depan.
      Punya saya dibuat dengan Visual Basic 5 untuk Windows sekolah, mungkin jaringan Novell. Sangat mudah mengubah win.ini agar berjalan sebelum layar login asli.
      Caranya menyimpan nama pengguna dan kata sandi ke drive jaringan bersama atau file lokal, menampilkan “kata sandi salah”, lalu keluar ke prompt login asli.
      Pada akhirnya masalah muncul ketika seorang “teman” memakai teknik yang sama untuk menyalin file akun jaringan orang-orang ke akunnya sendiri. Saya menduga sistem memperingatkan administrator jaringan ketika kuotanya penuh. Setelah diperiksa sekilas, ketahuan bahwa ia bahkan menyalin file makalah guru, dan itu benar-benar tabu besar.
      Berkat insiden ini, saya akhirnya mendapatkan pekerjaan komputer pertama sebagai dukungan teknis junior/administrator jaringan.
    • Saya ingat sekitar tahun 1985 di CMU ada seorang mahasiswa yang melakukan hal seperti itu dan mendapat masalah besar.
  • Pada 1988, di SMA, bersama seorang teman saya menemukan kerentanan di NetWare yang dipasang pada 30 komputer IBM PS/2 Model 30-286 di lab komputer baru, yang memungkinkan kami menyisipkan program ke dalam urutan boot jaringan autoexec.
    Sebelumnya, kami mengutak-atik register VGA yang saat itu masih baru dan menemukan cara beralih dari mode teks 80x25 ke mode grafis 320x200 256 warna tanpa kedipan atau kerusakan tampilan. Itu karena kedua mode sama-sama memiliki refresh rate 70Hz.
    Teman saya membuat TSR yang memuat lebih dulu gambar digital wajah badut ke A000:0000, lalu sekitar 4 menit kemudian menampilkan wajah badut itu selama beberapa frame sebelum segera mengembalikan layar ke pekerjaan pengguna.
    Kami ketahuan karena tidak bisa menahan tawa saat melihat para siswa di sudut kelas tampak bingung dan ketakutan. Terutama ada seorang siswa yang memanggil guru dan membuatnya menatap layar selama lebih dari 3 menit; timing-nya luar biasa ketika tepat saat guru berbalik, wajah badut itu muncul berkilat.
    Nama teman saya Brian, dan dia salah satu orang paling cerdas yang pernah saya kenal. 10 tahun kemudian kami membuat mobygames.com.

    • Keisengan saya adalah sesekali membuat suara burung. Biasanya berbunyi dengan jeda beberapa menit, dan saya mencampurkan beberapa bilangan acak agar terdengar berbeda setiap kali.
      Frekuensi suaranya terus berubah sehingga tidak ada satu nada pun yang tetap walau sesaat. Saat itu speaker biasanya hanya mengeluarkan bunyi beep, dan saya sering menyalakannya di mesin yang tidak dipakai.
  • Awal 90-an, saya mahasiswa baru S1 jurusan ilmu komputer di sebuah universitas negeri. Lab komputer penuh dengan Sun SPARCstation IPC yang menjalankan SunOS, dan ada sistem email dasar yang dipakai orang-orang di jurusan untuk berkomunikasi
    Orang-orang yang melek teknologi sudah menjelajahi Usenet, tetapi bagi kebanyakan orang, email adalah seluruh dunia digital
    Suatu hari saya dan teman-teman memutuskan untuk iseng, terinspirasi dari perintah fortune yang terkenal, yang mencetak aforisme secara acak. Kami membuat skrip shell sederhana yang memilih satu baris acak dari file teks berisi kalimat-kalimat lucu dan tidak masuk akal yang kami tulis, lalu mengirimkannya lewat email ke pengguna acak di jurusan ilmu komputer. Skrip itu kami daftarkan sebagai tugas cron agar mengirim satu pesan setiap jam
    Awalnya itu hanya keisengan yang harmless. Orang-orang menganggap pesannya lucu dan sering membagikannya di lab. Asal pesan itu menjadi bahan pembicaraan di jurusan, tetapi tidak ada yang tahu dari mana asalnya, dan kami menikmati melihat teman-teman serta para profesor menebak-nebak siapa pengirim misteriusnya
    Namun masalah membesar ketika dekan menerima pesan yang sangat absurd: “Mengapa ilmuwan komputer sering tertukar antara Natal dan Halloween? Karena Oct 31 == Dec 25.” Ia tidak memahami lelucon itu dan menganggapnya seperti pesan bersandi atau potensi ancaman
    Tim IT kampus pun dilibatkan untuk menyelidiki, dan terjadilah kehebohan selama seminggu untuk melacak asal email tersebut. Saya dan teman-teman menonton dengan cemas, khawatir ketahuan lalu dikeluarkan
    Akhirnya, setelah beberapa hari sulit tidur, kami memutuskan untuk menyerahkan diri. Kami mendatangi dekan dan mengaku; setelah hening cukup lama, ia mulai tertawa. Ternyata salah satu profesor ilmu komputer sudah menjelaskan lelucon itu kepadanya, dan ia sedang menunggu kapan kami akan maju
    Ia memaklumi keisengan itu dan menganggap inisiatif kami kreatif, tetapi memperingatkan kami tentang konsekuensi tak terduga dari prank semacam itu
    Kalau dikenang, itu prank yang lucu dan berkesan, sekaligus memberi pelajaran berharga tentang etika penggunaan teknologi. Ini cerita yang sering saya sampaikan kepada mahasiswa ilmu komputer saya sekarang saat mengajarkan pentingnya perilaku etis di dunia digital

  • Pernah suatu kali saya harus melihat masalah pada PC kepala jurusan matematika yang berperilaku aneh
    Ternyata ia membiarkan Prime95 memakai semua siklus idle pada salah satu core Core 2 Duo selama 10 tahun, dan mesin itu baru bisa boot setelah mendingin sampai suhu ruangan

    • Butuh waktu terlalu lama bagi saya untuk ingat bahwa Prime95 punya kegunaan selain stress test
    • Siklus yang tidak dipakai adalah siklus yang terbuang /s
  • Ini prank yang dilakukan teman saya kepada teman lain saat masa pascasarjana
    Saat korbannya meninggalkan terminal sebentar dalam keadaan masih login, si pelaku menambahkan echo sleep -1 >> .login ke file .login
    Beberapa hari kemudian, setelah lebih dari 20 baris sleep bertumpuk, barulah jelas bahwa ada sesuatu yang sangat tidak beres dengan proses login mahasiswa itu. Setiap hari, waktu dari login awal sampai terminal aktif semakin lambat, membuat korban makin kesal, dan akhirnya ketika sudah sulit ditoleransi, prank itu ditemukan

    • Saya masuk ke sini untuk mengenang prank yang sama :)
      Setelah beberapa waktu, kami menilai menambahkan 1 detik setiap login terlalu halus
      echo "echo sleep 1 >> ~/.login" >> ~/.login
  • Menarik bahwa banyak cerita lama pada akhirnya bermuara pada “kami tidak berniat jahat, hanya ingin melucu, tapi tidak menyangka itu akan berkembang sebanyak itu atau memakai sumber daya sebanyak itu”
    Morris worm juga mirip. Meski bisa diperdebatkan, ia bisa dianggap dirancang sebagai malware, dan setidaknya menurut cerita yang beredar, niatnya bukan untuk menjadi separah itu