Klasifikasi Programer

Sebagai orang yang juga bergelut dengan perancangan dan pembuatan program, aku merasa ada beberapa jenis programer. secara kasar klasifikasinya adalah sebagai berikut:

Programmer Tugas Kuliah
Biasanya programer jenis banyak dari mahasiswa tingkat awal. Mereka mengerjakan program hanya melakukan perubahan minor dari program sebelumnya yang sejenis (yang juga produk kegiatan yang sama). Programer jenis ini kadang tidak sadar mengenai hal yang mereka sebenarnya lakukan.

Programer Kasual
Programer kasual mempelajari beberapa bahasa pemrograman, namun dalam prakteknya dia hanya ada 1-3 (4 kalau overflow) bahasa pemrograman yang sering dipakai. Pemilihan bahasa pemrograman ditunjukkan oleh beberapa faktor: kebiasaan, alasan praktikal, kapabilitas, dan keren-kerenan. Biasanya didominasi mahasiswa terlambat lulus, hobbyist, dosen yang sibuk mengajar (jadi sedikit riset), atau teknisi yang sudah banyak uang.

Programer Akademisi
Akademisi yang melakukan riset yang secara langsung menggunakan komputer, menggunakan perangkat-perangkat lunak spesifik untuk riset yang mereka lakukan. DI waktu lain progamer ini menghabiskan setidaknya 5 jam sepekan membaca jurnal ilmiah, juga terkadang menyusun proposal untuk pengajuan dana riset. Pada tingkat yang lebih tinggi, programer akademisi menggunakan sumber daya komputer dalam skala besar untuk riset yang relevansinya dengan kehidupan sehari-hari susah dicerna oleh kebanyakan orang.

Teknisi
Bisa segera memahami dokumentasi, datasheet atau manpage. Mereka dipekerjakan sebagai jabatan mengengah ke bawah pada perusahaan besar, kalau tidak bekerja di perusahaan kecil-kecilan mereka sendiri.

Endorser
Teksini yang dibayar mahal perusahaan untuk memberi promosi ke mana-mana, biasanya bentuk promosinya gathering di cafe, demo, sambil bagi-bagi hadiah. Di sat tidak melakukan promosi, programer jenis endorser biasanya duduk di depan rig komputer kelas "serem" di kantornya, memainkan IDE resmi perusahaan.

Hacker
Programer ini bisa menggunakan debugger secara efesien, mengenal struktur program pada level assembly, mengembangkan cara kerja yang mangkus dan sangkil (menurut parameter mereka sendiri) di lingkungan kerja mereka. Terlibat sebagai orang pangkat tinggi dalam proyek yang dikelola l33t kalau tidak sedang mengelola proyeknya sendiri (yang skalanya relatif lebih kecil), dan memiliki akses ke perangkat-perangkat keras eksotis. Umumnya secara "simbolis" dipekerjakan di perusahaan besar yang berkaitan dengan komputer.

l33t
Progamer jenis ini yang kita sebut "dewa", suatu bentuk transformasi tambahan dari hacker. Mereka menguasai berbagai bahasa pemrograman; namun dengan berbagai pertimbangan pribadi mereka hanya menggunakan bahasa tertentu. Punya proyek perangkat lunak dalam skala masif dan hanya muncul di publik untuk mempromosikan idealisme mereka, biasanya mempunyai jabatan asosiat di universitas terkemuka.

Klasifikasinya boleh beririsan satu-sama lain, kita bebas jadi yang mana.

Linecoding: RZ, NRZL, NRZI

[caption id="attachment_676" align="alignnone" width="259"]tugas komdat tugas komdat[/caption]

When expertise meets procrastination, tugas Komunikasi Data ini: karakter-karakter dengan format encoding ASCII digambarkan linecodingnya dengan rz (return-to-zero), nrzl (no-return-to-zero level), nrzi (no-return-to-zero inverted).

Mahasiswa tua dan kurang kerjaan macam saya malas mengeluarkan penggaris dan menggambar hati-hati di kertas (maklum mahasiswa Elektro: Rekayasa Komputer; bukan Arsitek). Adanya malah bikin program iseng-iseng pakai framework Qt.

Kode program dapat diunduh di sini. Karakter-karakternya diambil dari namaku jadi bakal tahu, deh. :D

Re: Identifying Yourself

Adikku menulis artikel yang (kunilai) "lucu" berjudul "Identifying Yourself" (2013-3-6).

Bagian yang aku kutip dan komentari dari tulisannya adalah berikut:
Pertanyaan-pertanyaan ini akhirnya membuatku menyimpulkan bahwa :
1. Mimpi, Cita-cita, Kesukaan, dan bahkan kepribadian itu sesuatu yang keeps changing.
2. Sesuatu yang pasti dalam perubahan adalah perubahan itu sendiri. Nggak ada yang bisa menolak perubahan.
3. Kalau kamu merasa nggak berubah, berarti kamu nggak belajar apa-apa selama ini.
4. Cita-cita dan skill yang berubah, baik itu bertambah, berkurang, atau berganti, sebenarnya merupakan BUKTI kalau kita benar-benar HIDUP selama ini.
5. Semakin kita belajar, semakin kita mengenal hal lain, maka semakin lebar “jalan” yang kita tempuh. Semakin banyak pilihan yang bisa dipilih, termasuk tidak memilih.
6. Kesamaan minat dan cita-cita bukan berarti konsistensi. Itu cuma sekedar excuse dari seseorang yang nggak mau keluar dari zona nyaman.
7. Meskipun minatmu sama, tapi pasti ada sesuatu yang berubah. Accept it, but steadily balance it.


Mimpi, cita-cita, kesukaan, dan kepribadian tentunya terus berubah; setidaknya usianya (terhadap waktu), nilainya sih dihasilkan dari interaksi segala fungsi dan kendala berkaitan yang ada.

Aku masih menerka arti "pasti"; sekadar nilai probabilitas statistik atau suatu yang konstan? Perubahan suatu hal antara dua titik tinjau tentunya bisa jadi ada atau tidak, perubahan dari perubahan juga bisa jadi ada atau tidak, begitu juga perubahan dari perubahan dari perubahan.

Kalau kita merasa tidak berubah, sebetulnya kita cuma kurang "apa adanya" mengutarakan perubahan yang kita pelajari. Pernyataan "Kemarin aku bangun tidur" dan "Hari ini aku bangun tidur" cukup valid untuk menyatakan perbedaan yang kita pelajari [dalam interval waktu sehari]. Sejatinya pengetahuan (bukan penguasaan ilmu pengetahuan) yang kita pelajari selalu berubah tiap kita tinjau.

"Merasakan" waktu itu hidup, itu cukup. Perubahan cita-cita, kemampuan, dan keterampilan yang berubah cuma refleksi (pencapaian) perubahan pribadi. Lagi-lagi semuanya berubah, cuma seberapa besar kita dapat mengutarakanya yang perlu refleksi lagi.

Belajar membuat kita lebih awas terhadap kendala-kendala di lingkungan ban bagaimana hal-hal berfungsi, membuat kita menentukan hal-hal yang kita pilih dan hal-hal yang tidak kita pilih sesuai pertimbangan. Sebagai contoh bayi yang belajar berjalan saat berusia 1 tahun, tidak memilih untuk merangkak saat berusia 30 tahun untuk berangkat ke tempat kerja, namun mengendarai kendaraan.

Seperti arti "pasti", aku masih menerka arti "minat". Aku artikan kasar saja sebagai interest. Kesamaan minat dan cita-cita (dan ketidaksamaannya) bukan berarti pelakunya terjebak di "zona nyaman", kesamaan tersebut bisa berarti aspirasi, keteguhan, sekadar hasil kebolehjadian (karena fungsi-fungsi yang malas kita perhatikan), atau sepenuhnya hasil dari usaha yang kita pertimbangkan dan perhatikan. Konsistensi berarti "menyempitkan pilihan", bisa bernilai baik atau buruk tergantung pilihan mana yang kemudian dipilih, sudut pandang, dan hasilnya.

Kalau balance diartikan sebagai distribusi proporsional (keseimbangan), tiap pribadi bisa menentukan keseimbangannya masing-masing dengan menghiraukan aturan-aturan yang ada dan konsekuensi yang selanjutnya dihadapi karena fungsi-fungsi dan kendala yang ada di lingkungan; entah ada atau tidaknya perubahan minat.

_______
Ahh, ada rasa keagamaan yang aku ingin cerna lebih dalam dari sini.

--ditulis selepas nonton Skyfall sambil menyumpahserapahi "cluster" komputernya Silva dan membaca artikel elemen finit dari Wikipedia yang tidak sepenuhnya bisa segera kucerna

Persistent Boot di Slackware

Enumerasi disk (partisi) di direktori /dev dapat berubah-berubah secara arbiter pada sistem komputer saat terjadi penambahan atau pengurangan perangkat disk sehingga deskriptor seperti /dev/sda, /dev/sdb, /dev/sdc tertukar. Hal ini menyebabkan kernel tidak dapat menentukan partisi root yang sesuai sehingga kernel panic terjadi.

Solusi yang ditawarkan adalah penggunaan penamaan perangkat yang persisten antara boot dengan memanfaatkan fitur enumerasi disk tambahan berupa symbolic link dari udev (aplikasi yang menangani event perangkat) sehingga perangkat dapat ditunjukkan dengan enumerasi di path lain.

Slackware (dan derivat) tergolong distribusi Linux yang tradisional sehingga tidak secara default menggunakan udev untuk penamaan disk pada fstab dan lilo.conf; dibanding Ubuntu dan derivat yang sudah menggunakan penamaan UUID di fstab dan grub.conf. Hal ini disebabkan karena udev bukan merupakan subset resmi dari kernel Linux dan hanya berupa aplikasi userland.

Tautan ke dokumen dapat diunduh dari sini.