Membuat Instance FreeBSD di Google Compute Engine

Biasanya saya memakai FreeBSD di VPS. Caranya, ketika memesan layanan VPS dipilih sembarang sistem operasi yang tersedia, kemudian minta kepada penyedia VPS untuk menyediakan ISO media instalasi FreeBSD. VPS direboot dengan media boot ISO instalasi FreeBSD, selanjutnya instalasi dilakukan sendiri secara manual.

Di GCE, kita tidak bisa begitu saja menginstall sistem operasi ke instance virtual machine yang ada.  Lanjutkan membaca Membuat Instance FreeBSD di Google Compute Engine

Hello WordPress, bye 2017

Januari mengeras di tembok itu juga, lalu Desember..
— Sapardi, Buat ning

Kemarin saya menginstall wordpress untuk blog ini, jadi ada tulisan “Dengan bangga bertenaga WordPress” di bawah sana. Bukannya saya menyerah dengan hammerstone, tapi saya lupa di mana menaruh skeleton blog yang lama, jadi sekarang tidak bisa menambah tulisan baru tanpa menulis ulang tulisan dan template lama. Barangkali dengan memakai wordpress saya bisa dapat ide mau dibuat seperti apa mesin blog ultimate yang saya inginkan kelak.

Teruntuk 2017, bye. Its been an awesome ride.

Memilih-acak Blogroll

Beberapa hari yang lalu saya mengubah tampilan situs ini supaya tampak seperti blog. Sekedar mengikuti tren, saya juga menambahkan halaman blogroll. Di halaman blogroll ada link random yang ketika di-klik, pengunjung akan dibawa ke situs blog milik kawan secara acak. Saya sendiri suka mengkliknya untuk sekedar berkunjung entah kemana.

Daftar link blogroll berupa struktur HTML seperti berikut: Lanjutkan membaca Memilih-acak Blogroll

Menyimpan Berkas sebagai Root dari Vim

Kadang kita mengedit file konfigurasi sistem, tapi lupa sedang menjalankan [g]vim sebagai user biasa. Hasilnya, kita tidak bisa menyimpan perubahan. Dengan vim, kita tetap bisa menyimpan file sebagai root menggunakan perintah:

:w !sudo tee %

Bagaimana cara kerjanya? Lanjutkan membaca Menyimpan Berkas sebagai Root dari Vim

Refresh Materialized View Concurrently akan Merusak Urutan

Misalkan ada materialized views (di postgres) dengan definisi sebagai berikut:

SELECT word, COUNT(1) as occurrence FROM corpus GROUP BY word ORDER BY occurrence

Diharapkan kita bisa mendapatkan word dengan occurrence terbesar hanya dengan SELECT pada MV tanpa perlu melakukan ordering. Ternyata jika MV diupdate dengan REFRESH MATERIALIZED VIEW CONCURRENTLY sambil banyak terjadi pembacaan, hasilnya MV menjadi tidak lagi berurutan berdasar occurrence.

Menurut teman saya, ini terjadi karena saat refresh, baris MV yang akan diupdate masih diakses dan terkunci sehingga proses update tertunda, sementara update untuk baris lainnya sudah selesai. Saat akhirnya baris tersebut terupdate, urutan sudah tidak sesuai lagi.

Solusinya adalah proses select terhadap MV tetap harus menggunakan order. Supaya tetap cepat, perlu juga ditambahkan index pada kolom occurrence.

Memulai Test Driven Development dengan Javascript dan Jasmine

Pengantar

Sebenarnya sudah lama ingin menulis tentang Jasmine. Rasanya tidak tepat jika tiba-tiba membahas berbagai hal tentang Jasmine tanpa pernah memperkenalkan TDD, mengingat belum banyak literatur TDD dalam Bahasa Indonesia, tetapi saya sendiri kebingungan bagaimana memperkenalkannya secara mudah. Kemudian saya menonton video [LD] Code Kata – FizzBuzz | Let’s Develop. Video tersebut memperkenalkan TDD dengan baik, sebagian tulisan ini merupakan adaptasi yang diimplementasikan dengan Javascript dan Jasmine. Lanjutkan membaca Memulai Test Driven Development dengan Javascript dan Jasmine

Membuat dan Menjalankan Linux dalam Container dengan systemd-nspawn

Linux Container

Container adalah salah satu cara untuk menjalankan beberapa sistem operasi secara bersamaan dalam satu komputer. Dalam sistem container, sistem operasi berjalan secara terisolasi namun tetap menggunakan kernel yang sama dengan induknya. Proses-proses yang dijalankan di dalam sistem operasi “virtual” akan tampak seperti proses tambahan biasa di sistem operasi induk, sehingga virtualisasi dengan container hanya membutuhkan sedikit overhead dan proses yang berjalan di dalamnya secepat proses pada sistem induk. Pengguna distro linux arch, funtoo, gentoo, atau yang sering menginstall debian melalui debootstrap tentu tidak asing dengan chroot, nah container disini merupakan pengembangan lebih lanjut dari chroot.
Lanjutkan membaca Membuat dan Menjalankan Linux dalam Container dengan systemd-nspawn