Ngoprek IoT

Sudah seminggu ini (atau mungkin lebih?) saya ngoprek Internet of Things (IoT). Apa sih IoT itu? Pada dasarnya ini adalah perangkat keras (hardware) dalam ukuran kecil yang dapat diprogram untuk mengambil data (misal data temperatur) dan meneruskannya ke internet. Teknologi elektronika dan komputer berkembang dengan pesat sehingga perangkat dapat menjadi lebih kecil dan murah. Demikian pula kecepatan akses internet menjadi lebih cepat dan juga lebih murah. Kedua hal inilah yang menyebabkan populernya IoT.

p_20170220_075632-kopi-iot-01
NodeMCU boards

Latar belakang saya memang elektronika, sehingga seharusnya tidak banyak kesulitan dalam ngoprek IoT ini. Kenyataannya ada hal-hal yang sangat spesifik sehingga harus saya oprek dulu sebelum bisa jalan. Tadi malam saya ngoprek sampai jam 2 pagi (eh, 2 malam?). he he he.

Saya memiliki banyak development boards. Begitu ada yang baru, beli atau minta. (Yang terakhir itu yang menarik, minta. he he he.) Terus dioprek. Hasilnya saya masukkan ke YouTube dan kodenya saya simpan di Github supaya dapat dimanfaatkan orang lain. Ayo ngoprek IoT juga.

(PGP) Key-Signing Party

Salah satu aktivitas dalam rangka menjalankan sistem teknologi informasi yang aman (secure IT operation) adalah proses pertukaran kunci publik. Sistem kunci publik yang digunakan biasanya berbasis kepada PGP (Pretty Good Privacy) atau Gnu Privacy Guard (GPG). Maka di kelas saya, dilakukan key-signing party.

P_20170214_134309-01 keysigning

Para mahasiswa diminta membuat kunci publiknya, mengunggah kuncinya ke sebuah keyserver, dan kemudian menunjukkan identitasnya (KTP, kartu mahasiswa). Saya unduh kunci mereka dan saya tandatangani (signed) kunci mereka itu setelah melihat dan memastikan bahwa identitas mereka itu benar. Inilah kegiatan key-signing party yang sesungguhnya.

P_20170214_134545_BF keysigning

Di atas beberapa foto proses tersebut. Seru. Untuk memproses seluruh kunci di kelas ini dibutuhkan lebih dari 1 jam.

Startup Accelerator

Kemarin saya memberikan presentasi di LPIK ITB terkait dengan Startup. Topik yang seyogyanya saya bawakan adalah tentang kaitan antara startup dengan corporate. Acara ini merupakan bagian dari pengenalan Plug and Play Tech Center, sebuah accelerator startup.

Kalau dilihat dari siklus sebuah startup, accelerator ini berada setelah inkubator. Urutannya kira-kira begini. Mulai dari ide. Ide tersebut dikembangkan menjadi produk (atau servis). Pendanaan di awal dapat dimulai dari diri sendiri atau angel investor. Langkah selanjutnya adalah menjadi bisnis betulan. Ada kalanya ini dilakukan melalui inkubator (meskipun sesungguhnya tidak semuanya harus melalui inkubator). Accelerator letaknya setelah itu, yaitu untuk meningkatkan bisnis menjadi lebih besar skalanya.

Plug and Play Tech Center, yang berpusat di Silicon Valley, memiliki beberapa lokasi di dunia. Sekarang mereka baru membuka tempat di Jakarta. Ada banyak layanan yang mereka berikan, mulai dari tempat (co-working space), mentor, pendanaan, dan seterusnya. Silahkan lihat situs webnya.

Presentasi saya akhirnya bercerita tentang perjalanan starting-up saya. Mudah-mudahan menginspirasi. Jreng!

16667160_10210962499791026_1664075578_o
In action. [Foto: Javad]

Neovim: editor “baru”

Tahun 80-an saya harus bekerja mengelola sistem yang berbasis Unix, lebih tepatnya SunOS. Mulailah saya harus belajar menggunakan editor teks yang bernama “vi”. Sebetulnya selain editor vi itu ada editor lain yang berbasis GUI, tetapi masalahnya editor ini hanya ada di sistem SunOS. Sementara itu saya harus mengelola sistem lain yang menggunakan sistem operasi lain (seperti HP-UX, AIX, DOS, dan seterusnya). Akhirnya saya putuskan untuk menguasai editor vi. Sampai sekarang saya masih menggunakan editor vi sebagai editor utama saya.

Pemilihan editor vi pada masa itu adalah karena di semua sistem operasi (kecuali di Mainframe) ada editor itu. Bahkan untuk sistem operasi DOS pun ada variasi dari vi. Ketika kita menguasai vi maka kita dapat hidup di lingkungan apa saja.

Berbicara tentang variasi vi, ada beberapa variasi. Yang paling terkenal adalah vim. Maka, sekarang orang-orang kenalnya adalah vim.

Baru-baru ini saya menemukan editor “Neovim”, yaitu versi terbaru dari implementasi vim. (Ada banyak hal yang diperbaharui pada editor ini.) Saya pasang di komputer Linux dan Mac OS X saya. Ngoprek deh. Mengaktifkan syntax highlight dulu ah.

Hal yang pertama saya tambahkan adalah “package manager” untuk menambahkan plugin di neovim itu. Ada banyak package manager. Yang saya gunakan saat ini adalah vim-plug. Dengan vim-plug ini saya kemudian memasang color scheme Oceanic-Next yang mirip dengan warna yang ada di editor Sublime. Hasilnya seperti ini.

neovim

(Cara memasang vim-plug dan Oceanic-Next theme itu yang akan saya tuliskan di lain kesempatan. Instruksi yang ada agak berbeda.)

Ngoprek ah …

Fakir Bandwidth

Ini tulisan tentang keluh kesah susahnya akses internet. Link internet di tempat ini (tidak perlu disebutkan namanya) sangat lambat. Padahal ini seharusnya merupakan tempat yang internetnya kecang. Di Indonesia masih banyak fakir bandwidth.

Yang sedang saya coba akses adalah StackOverflow, karena ini sedang mengajar pemrograman. Bayangkan, di tempat lain internetnya wuzzz, wuzzz, wuzzz. Di sini siswa terpaksa nunggu dulu. Belajar tersendat-sendat. Jadi inget pejabat yang mengatakan “internet cepat untuk apa”? Ya, untuk belajar!

Keluh kesah pagi ini … [meringis]

Editor Yang Mana?

Editor adalah perangkat (tools) yang kita gunakan untuk membuat sebuah tulisan. Pemilihan editor ini tentunya bergantung kepada jenis tulisan atau dokumen yang ingin kita buat. Apakah kita ingin membuat catatan kecil, kode program, atau membuat web? Editor akan menyesuaikan dengan jenis tulisan tersebut. Meskipun demikian masih ada banyak pilihan editor.

Pemilihan editor bergantung kepada selera penggunanya. Ya, betul selera. Bahkan pemilihan editor ini dapat membuat orang bertengkar. Macam pertengkaran agama saja. hi hi hi.

Untuk desain web ada beberapa alternatif. Berikut ini ada beberapa komentar saya terhadap editor ini. Kesemua editor ini tersedia di berbagai sistem operasi.

Brackets. Editor ini memang didesain untuk front-end developers, yaitu pengembang web. Selain fitur standar, ada tombol yang langsung bisa menjalankan live preview (dengan menggunakan browser Google Chrome). Bagi banyak orang, fitur ini sangat menarik. Editor yang yang kami ajarkan kepada pengembang web.

Atom. Editor ini merupakan saingan berat dari Brackets. Untuk pengguna yang banyak juga menulis program selain mengembangkan web, Atom dirasakan lebih menarik. Di sistem operasi Linux yang saya gunakan, Atom terasa lebih stabil dari Brackets.

Sublime. Ini adalah editor dari pengembang – atau lebih tepatnya programmer – yang lebih komplit lagi. Biasanya jika Anda lebih banyak membuat kode program, maka Sublime ini merupakan editor pilihan. Sayangnya editor ini berbayar, meskipun sesungguhnya ada versi evaluasi yang tidak perlu membayar. (Setahu saya, versi yang evaluasi ini tidak beda dengan versi berbayarnya. Jika demikian, pakai versi evaluasi terus saja ya? hi hi hi.)

Lantas dengan banyaknya pilihan ini, mana yang akan Anda pilih? Nah lho. Bagaimana dengan saya? Wah, saya sudah terlanjur familier dengan editor vi (atau vim). Seperti saya katakan, ini masalah “agama”. ha ha ha. Jangan bertengkar ya.