Living life and Make it Better

life, learn, contribute

Endy Muhardin

Software Developer berdomisili di Jabodetabek, berkutat di lingkungan open source, terutama Java dan Linux.

Menjadi Dosen Hi-Tech

Pada posting sebelumnya, saya sudah menjelaskan tentang menjadi mahasiswa yang hi-tech. Yaitu dengan cara memanfaatkan teknologi dalam mengikuti perkuliahan sehingga hasilnya lebih maksimal. Tentunya tidak adil kalau peningkatan di sisi mahasiswa tidak diimbangi oleh dosennya.

Untuk itu, pada artikel kali ini, kita akan membahas bagaimana menjadi dosen yang lihai memanfaatkan teknologi terbaru, agar impact yang dihasilkan dari perkuliahannya menjadi maksimal.

Lanjut membaca ...


Backup dengan Duplicity

Backup itu penting, semua orang tentu setuju. Akan tetapi, berapa orang yang benar-benar melakukannya? Secara rutin? Dengan cara yang benar?

Pada artikel ini, kita akan membahas tentang seluk beluk backup. Apa yang harus diperhatikan, bagaimana cara melakukannya, seberapa sering, dan apa aplikasi yang digunakan.

Backup Station

Foto di atas menunjukkan meja makan yang sedang dikudeta untuk menjalankan prosedur backup ;)

Oh iya, saya membackup harddisk external yang biasa saya bawa-bawa (karena hardisk laptopnya SSD 128GB, sehingga cuma muat buat sistem operasi saja) ke harddisk external yang besar (ditinggal di rumah).

Daftar perangkat:

Peringatan : artikel ini diperuntukkan buat mereka yang memiliki latar belakang teknis yang cukup memadai, khususnya Linux, Mac, dan penggunaan terminal (command prompt).

Bagi mereka yang levelnya user biasa, cukuplah dengan beberapa alternatif berikut:

Nah, untuk advanced users, silahkan meneruskan membaca artikel ini ;)

Lanjut membaca ...


Menggunakan GPG

Pada artikel terdahulu, kita telah membahas asymmetric encryption menggunakan OpenSSL, dan aplikasinya dalam SSL. Teknologi SSL banyak digunakan dalam aplikasi client server, misalnya:

  • Web Server (https)
  • Email Server (SMTP, POP3, IMAP)

Dalam SSL, kita membuatkan keypair yang nantinya akan digunakan oleh aplikasi server (webserver, mailserver) untuk mengenkripsi lalu lintas data yang melalui server tersebut.

Tapi bagaimana kalau kita ingin melakukan enkripsi pada file, chat, atau email kita sendiri? Untuk keperluan personal, kita menggunakan aplikasi yang disebut dengan GPG (Gnu Privacy Guard). GPG ini adalah implementasi dari standar OpenPGP, yang diawali dari aplikasi PGP karya Phil Zimmerman. Bagi yang tertarik dengan pelajaran sejarah, bisa baca ceritanya di Wikipedia.

Di artikel ini, kita akan membahas apa itu GPG, kapan kita menggunakannya, dan bagaimana cara menggunakannya.

Lanjut membaca ...


Mencari Bottleneck Sistem

Sudah sebulan ini laptop saya lemot.

Apa maksudnya lemot? Seperti apa yang dibilang lemot?

Pada waktu kuliah dulu, di tahun 1999, komputer saya spesifikasinya Pentium 233 MMX dengan RAM 32 MB (Mega, bukan Giga). Dia berjalan cukup responsif dengan sistem operasi Windows 98 SE. Di tahun 2000, Microsoft merilis Windows 2000 Professional. Saya instal di komputer saya tersebut, dan dia langsung lemot seperti bekicot.

Gary the Snail

Gambar diambil dari sini

Laptop saya sekarang ini spesifikasinya cukup mumpuni, yaitu sebagai berikut:

  • Processor Pentium Core i5
  • RAM 8 GB
  • Solid State Disk Corsair 128 GB

Laptop tersebut diinstal Ubuntu 14.04 yang selalu up-to-date dengan partisi /home terpisah dan terenkripsi.

Dengan spesifikasi tersebut, normalnya laptop saya ini bekerja sekejap mata. Tekan tombol power, sekejap mata muncul halaman login. Isikan password, sekejap mata muncul desktopnya. Klik icon Chrome, dalam sekejap Gmail sudah tersaji. Nah, sudah sebulan ini dia lemot, seperti Pentium 233 MMX yang diinstal Windows 2000 Professional dulu.

Berikut langkah-langkah yang saya tempuh sampai akhirnya menemukan solusinya, sebulan kemudian ;)

Lanjut membaca ...


Apache Maven

Membuat kandang ayam berbeda dengan membuat rumah. Demikian pula membuat rumah berbeda dengan membangun mall. Jumlah pekerja yang terlibat jauh berbeda. Keragaman bahan baku dan peralatannya tidak sama. Kita cuma membutuhkan beberapa papan kayu, paku, dan palu dalam membuat kandang ayam. Tapi tentunya kita tidak bisa menggunakan bahan, alat, dan cara kerja yang sama dalam pembangunan gedung.

Hal yang sama berlaku di pembuatan software. Untuk tugas kuliah, cukup install Netbeans atau Eclipse, kita bisa kerjakan aplikasi sampai selesai. Akan tetapi, untuk membangun aplikasi besar, dibutuhkan persenjataan yang lebih lengkap, diantaranya:

  • version control
  • build tools
  • automated testing
  • continuous integration
  • issue tracker
  • dan lain sebagainya

Dalam artikel ini, kita akan membahas tentang apa itu build tools, mengapa kita gunakan, dan bagaimana cara menggunakannya.

Lanjut membaca ...