Tulisan ini sebenarnya lanjutan dari beberapa tulisan saya tentang statistical data analysis, machine learning, dan social web data mining yang sudah pernah saya publikasikan di blog saya yang lain. Setelah sempat terhenti beberapa saat karena kesibukan riset saya di kampus, saya akhirnya menemukan kembali kesempatan untuk mengulik Python, JSON, dan API Twitter untuk me-refresh kembali beberapa pelajaran yang sudah hampir terlupakan. Well, not bad for beginner, though….. 

Sebuah peningkatan yang cukup pesat dilakukan oleh Matthew A. Russell dalam edisi terbaru bukunya, Mining The Social Web 2nd Edition. Pada buku pertamanya, ia tak pernah terpikir akan betapa ribetnya seorang pemula untuk melakukan instalasi berbagai macam hal untuk bisa mengeksekusi sebaris kode program Python. Pada buku yang terbaru ini, ia menampilkan cara lain untuk mempermudah pembacanya mengikuti paparan dalam buku. Matt menggunakan Vagrant, semacam environment yang memungkinkan kita untuk melakukan instalasi operating system berikut development tools yang diperlukan dengan sekali eksekusi saja. Tentunya hal ini sangat membantu kita untuk melakukan “cloning” environment dari sebuah komputer ke komputer lainnya dan untuk kasus buku ini, instalasi semua tools dan dependencies yang dibutuhkan menjadi sangat cepat.

Buku ini termasuk salah satu buku dengan dukungan online file yang cukup rapi, tertata, dan memudahkan pembaca. Beberapa file dan halaman pendukung yang disediakan oleh penulis antara lain:

  1. Repository  GitHub 
  2. Video tutorial
  3. Website resmi (dan semua halaman social networks yang berhubungan dengannya)
  4. Instalasi Vagrant dan semua source code 
  5. Wiki dan semua catatan yang terkait dengan update repository code 
  6. Ipython viewer untuk source code buku (non-executable)
  7. Contoh program berdasarkan nomer-nya di dalam buku

Untuk mempermudah pekerjaan, penulis buku ini juga menyediakan petunjuk singkat penggunaan Vagrant sebagai berikut :

You are strongly encouraged to peruse Vagrant’s documentation online to get a basic understanding of how it works. Once you have a general working knowledge, the following commands are likely to be the primary ones that you’ll want to know how to use. Anytime you run these commands, it needs to be in the top level source code directory in which your Vagrantfile is located. Your Vagrantfile provides the basis for which the commands operate.

Essential Commands

  • vagrant up – Starts your virtual machine.
  • vagrant status – Tells you if your virtual machine is running.
  • vagrant suspend – Saves the state of your virtual machine. (Similar to putting it to sleep.)
  • vagrant resume – Restores a suspended virtual machine. (Similar to waking it up from sleep.)
    • After your first vagrant up, a suspend/resume operation only takes a few seconds.
    • Destroying your virtual machine means that you’ll need to wait through the ~20 minute boostrap process the next time that you vagrant up.

Commands for Advanced Users

  • vagrant halt – Shuts down your virtual machine.
    • After your first bootstrap, a vagrant up only takes about one minute to complete.
  • vagrant destroy – Destroys your virtual machine to the state of its base image.
    • After you destroy a virtual machine, a vagrant up takes the full ~20 minutes to complete.
  • vagrant ssh – Logs you into your virtual machine over SSH and provides a terminal.

# Setelah mencoba petunjuk instalasi software dan source code di buku tersebut, beberapa hal yang perlu diperhatikan antara lain:

  • Tersedianya space di hard disk untuk project ini. Untuk situasi aman, sebaiknya sediakan 5GB free space untuk instasi vagrant , ubuntu, dan semua tools, dependencies yang dibutuhkan untuk belajar social web data mining.
  • Perlu sedikit membaca tentang Vagrant, karena pekerjaan kita akan banyak tergantung dengan environment ini
  • Sepertinya membeli buku versi online jauh lebih menguntungkan, karena penulis banyak melakukan cross reference (link yang dicantumkan dalam PDF dan merujuk ke situs online).
  • Penggunaan iPython untuk interface sangat menguntungkan karena menggabungkan tiga fungsionalitas sekaligus : membaca petunjuk yang menyertai source code, mengeksekusi program, dan melihat hasilnya dalam satu halaman web yang sama.