Keberuntungan

August 15, 2017 Leave a comment

“Keberuntungan” kadang memainkan perannya dalam kehidupan manusia, sekalipun kerap tidak masuk akal. Karena itulah takdir mereka.

Pagi ini, sebuah pesan WA datang dari istriku. Judulnya: “Nasehat Bapaknya Najwa buat anaknya”, dan kalimat di atas adalah isi dari pesan berantai tersebut. Mungkin saya sedang beruntung.

Setelah sekian lama menancapkan niat untuk jadi computer scientist, khususnya terkait komputasi kinerja tinggi, saya akan mengikuti training di Jepang terkait reactor engineering. Bidang yang masih asing buat saya, meski setelah sekitar 2 tahun terkahir saya “tercabut paksa” dari lingkungan kerja saya yang lama karena alasan re-organisasi. Alasan yang menurut saya dilakukan tanpa pertimbangan latar belakang pendidikan dan pekerjaan serta dilakukan asal-asalan. Saya seperti ikan yang yang dipaksa ikut lomba panjat pohon oleh sekawanan monyet gila. Sakit rasanya dipaksa pindah fokus setelah sekian lama fokus ke bidang lain dengan investasi waktu, biaya dan tenaga.

Tapi mungkin itulah takdir. Yang saya pikir baik, faktanya belum membuat saya berhasil. Kenapa tidak sejak awal saya ditakdirkan menekuni bidang baru ini? Mungkin itulah takdir, saya diharuskan berkelana. Saya pernah dua kali mengajukan training HPC ke ICTP dan keduanya ditolak. Saya harus mulai belajar menerima ini sebagai takdir saya. Pagi ini, 15 Agustus 2017, adalah 5 hari sebelum keberangkatan saya ke Jepang untuk training yang saya tidak niat mengikutinya. Hanya sekedar gugur kewajiban karena perintah atasan. Meski masih ada sisa 5 hari sebelum keberangkatan, faktanya saya diterima, surat2 yang diperlukan untuk keberangkatan itupun sudah siap. Sementara yang saya ingin sekali mengikutinya ditolak.

Ya Rabb, jika ini memang jalan-Mu hamba akan terima. Tapi mohon, jadikan tulisan ini awal dari tulisan hamba selanjutnya dalam kategori Jejak langkah untuk bersekolah lagi. Beri hamba kesempatan sekolah lagi di negara di mana hamba masih bisa dengan mudah menemui-Mu, tapi antrian haji tidak pernah terjadi. Lalu panggillah hamba sekeluarga ke rumah-Mu dari sisi tanah-Mu itu. Aamiin….

Advertisements
Categories: Pernak-pernik

Instalasi TensorFlow di Ubuntu 16.04

July 17, 2017 Leave a comment

Instalasi dilakukan tanpa ada opsi terhadap CUDA dan cluster komputer. Berikut ini adalah tahapannya.

  1. Saya menggunakan kode sumber Tensorflow yang saya unduh dengan perintah git clone https://github.com/tensorflow/tensorflow
  2. Masuk ke directory tensorflow dan jalankan perintah git checkout r1.0
  3. Instalasi Bazel, jalankan perintah-perintah berikut
  4. Lakukan konfigurasi tensorflow (di dalam directory) dengan opsi:
    • Menggunakan implementasi jemalloc
    • Tanpa dukungan Google Cloud, Hadoop File System, XLA just-in-time compiler, OpenCL, CUDA. Selanjutnya, biarkan tensorflow mempertimbangkan opsi ini dalam instalasinya yang cukup makan waktu dan resource.
    • Selanjutnya, jalankan perintah bazel build
  5. Terakhir, pastikan instalasi Anda benar. Masuk ke python console, kemudian ketikkan perintah import tensorflow as tf. Jika tidak ada pesan kesalahan dan python console siap menerima perintah berikutnya (ditandai dengan munculnya 3 karakter “>”), maka tensoflow telah dapat digunakan.
Categories: Riset, Tutorial

Mengelola project software dengan Git

Berikut adalah panduan sederhana menggunakan sistem versi Git dari CLI di Ubuntu.

  1. Buat repository di situs Github.com tanpa menginisiasi README atau license.
  2. Project software diinisiasi melalui directory di mana project dikembangkan. Selanjutnya, jalankan perintah berikut.
    • git init di dalam directory project lokal
    • git add . untuk menambahkan apa saja di dalam directory project
    • git commit -m "Initialization", “Initialization” adalah komentar penanda setiap proses commit dilakukan
    • git remote add origin URL, kemudian mengganti URL dengan lokasi repository git yang dibuat di tahap 1.
    • git remote -v untuk memverifikasi remote URL yang baru.
    • git push origin master untuk meng-copy project ke repository
  3. Untuk melakukan commit terhadap revisi project, jalankan perintah
    • git commit -am "pesan commit"
    • git push origin master

Berbagi pengalaman: Entropy

March 3, 2017 Leave a comment

Tulisan ini hanya tentang berbagi pengalaman terkait penggunaan metode entropy dengan rekan di Perpustakaan BATAN. Berkas bisa diunduh di sini. Semoga muncul analisis-analisis baru, dengan proyeksi ke hal-hal baru, yang menghasilkan informasi bahkan pengetahuan baru dari begitu banyak data ilmiah yang tersimpan selama ini.

Categories: Uncategorized

Memulai proyek django (5)

October 25, 2016 Leave a comment

Bahasan kali ini adalah seputar template yang dapat memfasilitasi views yang sebelumnya dibuat dinamis.
Sebagai langkah pertama, ubah file views.py pada aplikasi polls sehingga terdapat baris-baris berikut ini di dalamnya.

from django.http import HttpResponse
from django.template import loader
from .models import Question

def index(request):
    latest_question_list = Question.objects.order_by('-pub_date')[:5]
    template = loader.get_template('polls/index.html')
    context = {
        'latest_question_list': latest_question_list,
    }
    return HttpResponse(template.render(context, request))

Langkah berikutnya adalah membuat template. Secara default, diletakkan di bawah directory setiap aplikasi ketika atribut APP_DIRS bernilai true. Buatlah file template dengan nama index.html di bawah sub directory dengan struktur polls/templates/polls. Lalu isi file tersebut seperti kode sumber berikut ini. Baris perintah di antara tanda {% dan %} adalah baris perintah dari bahasa python yang di-embed dalam html. Perhatikan variabel latest_question_list pada views.py dan index.html. Variabel tersebut merupakan object dari class Question.

<html>
<body>
{% if latest_question_list %}
    <ul>
    {% for question in latest_question_list %}
        <li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>No polls are available.</p>
{% endif %}
</body>
</html>

Read more…

Categories: Python, Tutorial

Memulai proyek django (4)

October 24, 2016 1 comment

Tulisan ini dikhususkan untuk memahami apa yang dimaksud dengan view dalam django. View adalah jenis halaman web yang secara umum melayani fungsi tertentu dan memiliki template khusus. Setiap halaman web dan konten lainnya disampaikan menggunakan view. Setiap view direpresentasikan dengan fungsi python sederhana (method dari obyek python). View yang akan dipilih django ditentukan dari url yang dimasukkan dalam peramban setelah informasi nama domian.

Dalam konteks aplikasi polls yang sebelumnya dibangun kita akan membuat beberapa view antara lain:

  1. Halaman index dari daftar pertanyaan yang ada
  2. Halaman detail untuk menampilkan satu pertanyaan dengan menu untuk memilih (vote)
  3. Halaman result untuk menampilkan satu pertanyaan dengan hasil votingnya
  4. Aksi untuk voting, untuk melakukan voting terhadap salah satu pertanyaan. Aksi ini akan berada dalam halaman detail.

Read more…

Categories: Python, Tutorial

Memulai proyek django (3)

October 24, 2016 Leave a comment

Setelah kita mencoba membuat aplikasi dan membuat akun admin, kini kita ingin aplikasi tersebut dapat dikelola dalam halaman admin. Yang pertama kali perlu dilakukan adalah memodifikasi file admin.py pada aplikasi polls.

from django.contrib import admin
from .models import Question

admin.site.register(Question)

Berikutnya adalah jalankan server dengan perintah python manage.py runserver. Ketika login dalam aplikasi admin, maka Anda akan mendapatkan halaman seperti pada Gambar 1 berikut ini.

Gambar 1. Halaman index dari aplikasi admin

Gambar 1. Halaman index dari aplikasi admin

Sekian dulu tulisan singkatnya. Semoga bermanfaat….

Categories: Python, Tutorial