Showing posts with label notebook. Show all posts
Showing posts with label notebook. Show all posts

Friday, December 29, 2023

Mencoba Obsidian: note-taking app yang super powerful

Dulu saya pernah bertanya-tanya, adakah platform atau aplikasi note-taking yang sederhana, aplikasi tersebut hanya bersifat aplikasi (seperti word processor) namun filenya disimpan dalam file teks sederhana seperti text (TXT) dan markdown (MD)? Bukan menyatu dengan aplikasi seperti Google Keep atau Evernote (bukan app-over-file tapi file-over-app). Ternyata ada, dan saya pernah mencobanya. Dulu saya saya tidak melanjutkan mencobanya karena apa yang saya cari tersebut tidak ketemu, ternyata memang ada. Ketidaktahuan saya memblokade penggunaan aplikasi tersebut waktu itu. Aplikasi itu adalah Obsidian.

Setelah menggunakan evernote, kemudian pindah ke Google Keep, dan Simplenote, ada beberapa perubahan mendasar yang saya alami. Versi free dari evernote memiliki kemampuan terbatas. Google Keep kemudian mematikan versi luring (offline) sehingga saya tidak bisa melihat catatan saya lewat PC ketika tidak bisa konek internet. Simplenote menjadi second brain bagi saya, namun, ketika catatan saya bertambah banyak dan saya menginginkan catatan terstruktur (linked-notes, notes in note), simplenote menjadi terbatas. Saya pernah mencoba Obsidian sekitar beberapa tahun yang lalu, namun apa yang saya cari (sync dan structured notes) tidak saya temukan karena ketidaktahuan saya.

 

Organisasi Obsidian (vaults)

1. Diary -- untuk catatan harian

2. Fiksi -- untuk mencatat kisah fiksi, seperti draft cerpen atau novel

3. Non-fiksi -- untuk catatan non-fiksi

4. Google keep -- archive dari Google Keep yang saya export ke Obsidian

5. Pengajian -- catatan pengajian dll., ada plugin Quran juga.


Demikian, Obsidian telah menjadi otak keempat saya setelah simplenote dan Standard Notes.


Obsidian di Ubuntu 20.04
Obsidian di Ubuntu 20.04


Thursday, December 28, 2023

Blog baru di Listed

 Akhirnya, ada platform offline dan online dalam satu portal. Dan platform itu ternyata sudah ada sejak lama. Namanya Standard Notes. Bisa diinstal via snap dengan perintah berikut di Ubuntu.

sudo snap install standard-notes
  

Saya suka menulis blog, baik itu di blogger, wordpress, medium, atau tumblr. Masalahnya, sejauh pengetahuan saya saat itu, belum ada platform digital yang bisa berlaku baik untuk offline dan online. Misalnya, saat saya punya ide, saya menuliskannya di editor, word processor, atau note taking app. Kemudian saat saya ingin mempublikasikannya, saya salin tulisan offline tadi ke platform blog yang bersangkutan, misalnya Blogger. Sampai saya menemukan platform/aplikasi Standard Notes yang menyatu dengan listed.to.

Blog baru saya di Listed beralamat di https://listed.to/@bagus.

Dengan platfom ini saya bisa menulis blog on-the-go secara luring, kemudian mempublikasikannya dari perangkat tersebut tanpa harus menyalin dan menempelnya ke internet. Cukup sekali-dua kali klik. Bagi anda yang belum tahu caranya, berikut cara publikasi blog lewat Standard Notes and Listed (www.listed.to).

1. Buka Stantard Notes app atau web app
2. Klik ikon Preferences in sisi kanan bawah
3. Buka seksi Listed
4. Pilih Create New Author

Untuk publikasi dari Standard Notes ke Listed (lihat gambar di bawah).
1. Klik kanan judul note yang akan dipublish
2. Pilih "Listed action" kemudian pilih "Publih to Blog"

Voilla, sekarang catatan datam Standard Notes tersebut telah terpublish dalam Listed.to.

Karena kemudahan itu, besar kemungkinan saya akan mengeblog di Listed. Blog di blogspot ini mungkin akan dormant, wallahua'lam. Saya belum tahu pastinya, mungkin topik-topik professional akan saya taruh disini, catatan harian di Listed, dan quotes di Tumblr.

Dengan demikian, Standard Noted menjadi otak ketiga saya setelah simplenote.

Thursday, November 16, 2017

Tutorial python virtualenv

Bahasa pemrograman python sedang boooming, menurut IEEE programming language rank, python menempati urutan pertama. Setelah membuat tutorial singkat, learning python: the hardway, saya jarang membukanya dan menggunakannya. Untuk memaksa hal tersebut, saya membuat tutorial lagi, yang saya sadur dari software carpentry. Kali ini saya akan mencatat tentang penggunaan `virtualenv`, module python yang digunakan untuk mengisolasi environment, seperti menggunakan modul versi tertentu dan setup tertentu. Hal ini sangat penting karena beberapa kode yang dibuat hanya berjalan pada versi yang sama, bukan versi di atasnya atau di bawahnya, misalnya deep learning untuk klasifikasi genre musik ini. Virtualenv ini sangat mirip dengan `modulefile` pada HPC (high performance computing).

Instalasi
Ada dua cara yang saya rekomendasikan untuk menginstall virtualenv, cara pertama dengan apt(-get), cara kedua dengan pip. Saya lebih merekomendasikan cara kedua.

Jika memakai cara pertama (apt untuk ubuntu, apt-get untuk debian-based)
sudo apt install virtualenv

Cara kedua (lebih direkomendasikan),
sudo -H pip install virtualenv

Pip adalah `python installing packages`, karena kita sedang menggunakan python, karena itulah saya lebih merekomendasikan cara kedua. Argument -H artinya agar installasi di-set ke user dari Home (alaiu, as long as i understood). Kemudian untuk mengecek apakah sudah terinstal, seperti biasa, cek dengan argumen --version.
virtualenv --version

Membuat virtualev
Untuk membuat python virtualennv, caranya cukup mudah sbb:
virtualenv nama_virtual_python
source nama_virtual_python/bin/activate

Denga perintah itu virtualenv dengan nama `nama_vitual_python` telah dibuat dan diaktivas dengan perintah berikutnya yakni `source activate`. Setelah perintah itu dijalankan, maka kita sudah berada pada python virtual environment dimana kita bisa menginstall dan menggunakan modul/package python dengan versi selain versi modul yang terinstall di komputer. Contohnya sebagai berikut,
pip install tensorflow==1.0.0 sugartensor==1.0.0.2 pandas>=0.19.2 librosa==0.5.0 sckits.audiolab==0.11.0 numpy==1.13.3

Menon-aktifkan virtualenv

Sebagai kebalikan perintah `source activate`, kita bisa menggunakan perintah `deactivate` saja tanpa argumen untuk menon-aktifkan virtualenv python dan kembali ke environment python secara umum di PC kita.
deactivate

Integrasi dengan Jupyter notebook

Dengan Jupyter notebook, pemorgraman python menjadi lebih interaktif seperti Matlab. Kita bisa melihat variabel, mengganti parameter, dan megedit baris tertentu saja tanpa menjalankan keseluruhan program. Seperti halnya alasan kenapa kita menggunakan virtualenv: yakni kita hanya ingin menggunakan paket python versi tertentu saja pada project/direktori tertentu saja, begitu juga pada Jupyter notebook. Alih-alih menggunakan python2 atau python3 sebagai kernel jupyter, kita bisa membuat custom kernel python sendiri dengan menginstall ipykernel dalam virtualenv.

Langkah-langkahnya adalah sebagai berikut,
$ source nama_virtual_python/bin/activate
(nama_virtual_python)$ pip2 install ipykernel
(nama_virtual_python)$ ipython kernel install --user --name=nama_virtual_python
installed kernelspec nama_virtual_python in /home/user/.local/share/jupyter/kernels/nama_virtual_python
(nama_virtual_python)$ jupyter-notebook

Perhatikan bahwa string sebelum tanda dolar $ bukan merupakan perintah. Singkatnya, baris kedua diatas akan menginstall paket ipykernel pada environment python saat ini, kemudian baris ketiga mengaktifkan paket (kernel) tersebut pada jupyter. Terakhir kita buka jupyter, dan disitu terdapat kernel baru: nama_virtual_python. Selamat mencoba!

Update:

Pada Ubuntu 16.04, by default perintah `pip` akan mengeksekusi pip3 (python3), bukan pip2 (python2), jika virtualenv sudah terinstall dan ada ketika di jalankan keluar "using base prefix '/usr' ", maka tambahkan opsi `--python=python2" saat menjakankan virtualenv sebagai berikut:
virtualenv --python=python2 nama_virtual_python

Update 2018/11/12
Untuk python3, gunakan venv daripada virtualenv. Lebih lengkapnya silahkan ikuti panduannya disini.

TL;DR untuk python 3:
1. python3 -m venv .env
2. source .env/bin/activate
3. pip3 install namapaket

Update untuk python3.6 (2020/07/31)
1. sudo apt install python3.6-venv
2. ... (step 1-3 di atas)

Referensi:
  1. http://www.pythonforbeginners.com/basics/how-to-use-python-virtualenv
  2. https://anbasile.github.io/programming/2017/06/25/jupyter-venv/