Semua orang bisa mengingat banyak hal yang berkesan bagi mereka, tapi jarang yang bisa mengingat semua hal dengan baik. Karena kapasitas memori saya terbatas, saya berusaha melakukan berbagai cara untuk berusaha tidak menghapal/mengingat sesuatu ini.
Contents
Memahami
Cara pertama untuk tidak perlu mengingat adalah dengan memahami. Jika kita sudah paham sesuatu, maka biasanya kita akan ingat. Beberapa detail bisa dicek di search engine dan bisa melihat catatan. Memahami sesuatu memang tidak mudah baik itu konsep baru, bahasa baru, tools baru, tapi setelah paham akan lebih mudah untuk mengingat sesuatu.
Seperti kebanyakan orang, jika saya butuh sesuatu, saya akan cari di internet, lalu copy paste jika butuh satu perintah saja (misalnya bagaimana mengkonversi format tertentu). Tapi jika sudah dua-tiga kali copy paste perintah yang sama, saya coba baca manualnya untuk memahami perintah tersebut. Khusus untuk kode program, saya sangat khawatir kode yang saya copy paste mengandung bug, jadi saya akan baca dengan teliti dan memastikan solusinya sudah yang terbaik.
Salah satu yang yang penting yang perlu dipahami adalah: apakah sesuatu bisa diotomasi? jika tidak bisa, kata kunci apa yang perlu diingat supaya gampang jika harus mencari bantuan di search engine.
Belajar membaca dokumentasi
Sampai saat ini saya masih sering lupa berbagai perintah gdb
selain yang saya pakai sehari-hari. Tapi tidak apa-apa karena mudah dicari di internet, dan juga di halaman “Info” gdb. Berbagai parameter command line juga tidak saya hapalkan, jadi saya hanya ingat yang saya pakai sehari-hari.Biasanya saya hanya mengingat apakah program ini punya fitur X, detail parameternya dicek lagi nanti di man page atau info.
Beberapa program fiturnya sangat banyak sehingga mustahil diingat. Dalam kasus ini mau tidak mau kita perlu belajar membaca dokumentasi. Contoh program yang fiturnya sangat banyak adalah imagemagick. Program ini bisa melakukan hampir operasi apa saja terhadap gambar. dari mulai membuat gambar kosong, meng-crop, menambah teks, merotasi gambar, mengubah ukuran gambar, dan bahkan membandingkan dua gambar.
Otomasi
Kalau sesuatu bisa diotomasi, maka saya tidak perlu mengingat sama sekali. Jadi saya sudah mensetup berbagai skrip. Skrip ini ada yang otomatis (via cron), dan ada juga yang bisa saya jalankan ketika butuh.
Jangan heran kalau ditanya seseorang, saya tidak selalu bisa menjawab bagaimana caranya melakukan sesuatu dengan command line karena saya sudah membuat skripnya. Karena skripnya sudah tertulis, saya hanya perlu membuka lagi kalau memang ingin tahu.
Segala sesuatu yang sering saya lakukan akan saya simpan konfigurasinya, misalnya jika saya sering konek ke server tertentu, maka konfigurasinya saya simpan di .ssh/config, dan saya tidak perlu lagi mengingat nama user, nama domain, port, dsb. Di editor juga sudah saya set berbagai konfigurasi misalnya, ketika menyimpan file Python, selalu hapus “trailing whitespace” (spasi yang kadang ada di akhir baris):
(defun my-python-mode-before-save-hook () (when (eq major-mode 'python-mode) (delete-trailing-whitespace))) (add-hook 'before-save-hook #'my-python-mode-before-save-hook)
Sebagai tambahan: untuk mengedit teks kode, saya juga membuat abbreviation, misalnya “cstr<spasi>” menjadi “const std::string”. Awalnya saya harus ingat shortcut ini, tapi tidak lama kemudian sudah jadi refleks.
Search Engine
Sebagian besar yang tidak saya ingat bisa dicari di search engine asalkan tahu kata kunci yang tepat. Berbagai fitur search engine juga sebaiknya diketahui, misalnya bahwa kita bisa mencari di range tanggal tertentu, atau situs tertentu, atau hanya ingin mencari berita saja.
Meski banyak hal bisa dicari, kita harus ingat keyword penting untuk pencarian. Misalnya untuk pencarian bahasa “go”, jangan gunakan “go” tapi gunakan “golang”. Jika mencari informasi smart card, biasanya perlu tambahan “pdu” atau “apdu” untuk memfilter agar artikel teknis yang muncul.
Foto
Jika sesuatu sulit diingat, maka perlu didokumentasikan, dan cara paling mudah adalah dengan foto. Kalau saya pergi ke suatu tempat, saya akan mengeluarkan HP dan memotret beberapa kali. Bahkan ke tempat yang sering saya kunjungi juga begitu, supaya ingat: kapan terakhir kali ke tempat itu. Foto dari HP juga sudah dilengkapi dengan lokasi GPS, jadi bisa digunakan untuk tujuan Google Maps jika perlu pergi ke tempat itu lagi.
Semua foto saya upload ke Google Photos, jadi gampang di-search, baik berdasarkan lokasi, nama objek maupun waktu. Google Photos sangat cerdas sehingga kita bisa mencari “elephant” dan akan keluar semua gambar gajah, atau “Chiang Mai Zoo” dan keluar semua gambar yang lokasinya di Chiang Mai Zoo.
Membuat Catatan
Jika butuh reminder sesuatu, saya menggunakan Google di Android untuk mencatat saat itu juga dengan suara. Misalnya jika di dokter gigi dan ingin mencatat kapan lagi harus cek gigi. Sekarang ini berbagai digital assistant cukup pintar dan bisa mengenali berbagai request dengan baik.
Saya juga memakai Google Keep untuk catatan yang sifatnya cukup panjang misalnya daftar komponen elektronik untuk dibeli. Ini juga berguna untuk menulis ide yang teringat sebelum tidur.
Kalau saya nemu link yang menarik, biasanya sekarang saya simpan di Telegram supaya gampang dicari. Dulu saya sering menyimpan di aplikasi Pocket, tapi jarang saya buka lagi sedangkan saya membuka aplikasi Telegram hampir tiap hari.
Untuk catatan yang terstruktur saya memiliki wiki personal (dengan mediawiki). Isinya apa saja yang pernah saya oprek dan hal-hal lain yang sulit saya ingat. Segala macam informasi tentang hardware yang saya miliki juga saya catat di situ.
Mencatat memang kadang membosankan, tapi sering kali saya menghemat waktu dengan catatan. Contoh beberapa kali ditanya UDID iPhone. Ini gampang dilihat dengan iTunes, tapi ketika saya di luar dan ditanya UDID-nya, maka jika saya tidak punya catatan akan cukup repot mencari tahu informasi ini.
Source Code
Dari dulu saya sering bereksperimen menulis banyak kode program dan kodenya biasanya saya biarkan saja, tidak dihapus tapi juga tidak disimpan khusus. Tapi sekarang hampir semuanya saya masukkan git karena ternyata saya sering butuh hasil eksplorasi sebelumnya. Saya memakai server saya sendiri untuk proyek personal saya (dengan software gitolite).
Saat ini isinya sudah ratusan repository (waktu tulisan ini dibuat: 269 repository). Isinya kebanyakan proyek yang tidak bisa dirilis ke umum, catatan pribadi, dan berbagai proyek pribadi yang tidak diselesaikan.
Untuk testing kode yang sifatnya algoritmik dan tidak butuh hardware khusus atau lingkungan khusus, saya memakai Jupyter Notebook. Dengan ini saya bisa mencoba-coba berbagai algoritma dasar, biasanya sih untuk oprek masalah enkripsi ketika melakukan CTF dan pentest.
Penutup
Tentunya ada juga hal-hal yang tetap tidak bisa diingat. Beberapa hal juga sulit diotomasi, misalnya kalau ketemu X, bawakan bumbu Y. Nah belum tahu kapan ketemu dengan orang X tersebut (kadang di tempat les anak, kadang di jalan, dsb), jadi sulit membuat remindernya. Tidak bisa juga bumbu disimpan lama di mobil, jadi tetap harus ingat sebelum pergi janjian untuk membawa barangnya ke mobil. Untuk hal-hal yang sulit diingat seperti itu, saya mengandalkan istri saya untuk membantu mengingat (walau kadang kami berdua tetap tidak ingat)
Tambahan terakhir: jangan berbohong. Mengingat detail kebohongan itu susah, jadi sebaiknya selalu jujur supaya tidak perlu banyak mengingat sesuatu.
Saran paling akhir mak jleb banget. Tapi memang betul sih, mengingat detail kebohongan itu susah.