Saturday, December 31, 2016

Catatan Pendakian Gunung Kinabalu

Kinabalu adalah nama sebuah kota, sekaligus gunung, di negara bagian Sabah, Malaysia. Gunung Kinabalu merupakan bagian dari Kinabalu Park (taman nasional) yang dilindungi oleh World Heritage Site. Gunung tersebut adalah gunung tertinggi di Malaysia. Kisah berikut merupakan catatan perjalanan seorang teman ketika mendaki Gunung Kinabalu selama 4 hari perjalanan. Pendakian tersebut dilakukan pada 25-28 Februari 2012(4 hari). Saya edit dan moderasi sedikit agar tidak berantakan. For English version, you can read it here.

Gunung Kinabalu dilihat dari Kundasan (sumber: Wikipedia)


Dua Minggu sebelumnya… 

Berawal dari ajakan camer saya bergegas menyiapkan dokumen, terutama paspor, dan peralatan gunung saya yang udah hampir setahun terbengkalai. Perasaan sungkan, semangat dan penasaran bercampur aduk, karena ini pertama kalinya saya naik gunung di luar negeri, bareng rekan perjalanan yang sangat berbeda dari perjalanan saya mendaki sebelumnya.

Day 0 

Setelah packing, kami bergegas ke Juanda untuk perjalanan ke Jakarta. Karena pesawat Air Asia ke Kota Kinabalu (disingkat KK) hanya ada dari Jakarta. Alhamdulillah pesawat on time. Di Terminal 3 Soetta kami bertemu rombongan dari Jakarta dan Bandung. Sedangkan rombongan dari Batam, Malaysia, dan Singapura langsung ke KK. Rombongan tersebut adalah para WNI yg kerja disana. Fyi, perjalanan kami semua ke Gunung Kinabalu berada dibawah naungan Karas Adventure yang bertanggungjawab atas semua, mulai transport, akomodasi, perijinan, dan asuransi. Gampangannya, semua peserta tinggal bayar, terima beres, tapi tetap memperhatikan aturan umum pendaki gunung, terutama fisik dan mental.

Monday, December 26, 2016

WA = Pemborosan waktu ....?

Saya punya WA, tapi kadang saya jarang menggunakannya. Prinsip yang sama ketika saya memutuskan untuk memiliki smartphone: I don't like smartphone, but I use it. Why? karena menurut saya, sekali lagi menurut saya, WA itu time consuming, menyita waktu. Bayangkan kalau dalam 10 menit kita membaca WA semenit, dalam sejam maka kita habiskan 6 menit, dalam sehari kita habiskan 144 menit atau 2 jam 14 menit. Orang lain mungkin menghabiskan 5 jam ng-wa daripada melakukan aktivitas lain. Bahkan menurut Quora, pengguna WA rata-rata menghabiskan 44% dari total waktu sehari untuk menggunakan WA atau 10.6 jam! Jika waktu ng-wa itu kita gunakan untuk aktivitas bermanfaat lain, betapa produktifnya hidup kita!

WA versi web

Ada teman bahkan berkelakar, setiap ada rapat baru ada grup WA baru. setiap ada pembentukan task force baru, ada grup WA baru. setiap ada perkumpulan/kepanitiaan baru, ada grup WA baru. Sebenarnya tidak masalah jika isi grup WA informatif dan sesuai dengan keperluan grup WA tsb, namun kebanyakan justru sebaliknya. Jika memang demikian, buatlah grup yang hanya untuk bercanda saja, yang dibutuhkan sebagai pengisi waktu luang ketika menunggu sesuatu, sebuah time killer.

Saturday, December 03, 2016

Berkelana dengan kereta tua di Ambarawa

Baru kali ini saya sangat menikmati perjalanan seorang diri di tempat wisata di tempat lokal. Perjalanan kali ini berasa perjalanan di Eropa atau di Jepang, cuma beda tempat, Indonesia tidak kalah dengan Eropa dan Jepang. Perjalanan seorang diri, naik kendaraan umum, tanya sana-sini, dibantu google maps yang sangat helpful dan saya benar-benar menikmatinya. Perjalanan dengan style yang mengingatkan saya akan perjalanan ke Inuyama castle (still my best adventure) dan perjalanan ke Goa grotta gigante, gua terbesar di Eropa saat itu. Here is the story..

Rute jalur kereta Api Ambarawa-Tuntang yang melintasi Danau Rawa Pening

Start perjalanan saya adalah dari daerah Srondol, area Sukun, kota semarang. tempat tinggal saya selama tiga minggu ini. Saya naik bis dari terminal bayangan sukun (depan swalayan Ada) menuju Bawen. Rute yang saya tuju adalah Sukun - Bawen - Ambarawa. Dari Sukun ke Bawen seharusnya tiket tidak mahal-mahal amat, mungkin sekitar 5000 - 10000, tapi saat itu saya ditarik 20000, tanpa diberi karcis pula. Tapi biarlah, itu mental masyarakat kita saat ini, atau memang ada tarif minimal karena bus-nya tujuan purwokerto? Dalam waktu sekitar setengah jam perjalanan sampailah di terminal Bawen, dari sana langsung keluar nyegat angkot (elf/colt, biasanya warna merah) menuju Ambarawa. Tarif dari Bawen ke Ambarawa adalah tiga ribu rupiah.

Thursday, December 01, 2016

Diklat Prajab: Lesson Learned

Tiga minggu ini saya mengikuti diklat prajab, mengimplementasikan apa yang saya dapatkan selama dua minggu kedepan, dan mempresentasikannya pada minggu kelima dari total durasi waktu. Jadi formatnya, tiga minggu on, 2 minggu off, dan presentasi laporan diakhir minggu ke-5 tsb. Apa yang saya dapatkan selama tiga minggu ini? apa yang akan saya lakukan selama dua minggu kedepan? Apa yang akan saya presentasikan sebagai laporan akhir? Tulisan ini dibagi menjadi 5 section: Pendahuluan, Routine Yes Supersitions No, ANEKA, Review dan Attachment
Foto bersama Widyaiswara, Gol 3, Angkatan 22 Balai Diklat Prov. Jateng

Pendahuluan

First of first, ini konsep saya memilih pekerjaan: Menjadi peneliti itu impian, menjadi pns/asn itu pilihan --> impian harus diraih, pilihan boleh dipilih. Dan saya sudah memilihnya. Sebagai konsekuensi logis dari abdi negara, saya harus mengikuti serangkaian diklat untuk menghilangkan huruf "C" dari jabatan cpns saya. Realistis.

Routines yes, superstitions no.

Ini mungkin adalah manfaat terbesar saya mengikuti diklat ini: membiasakan rutinitas (yang baik), membentuk pola (hidup). Manfaat terbesar tinggal di asrama adalah membiasakan rutinitas: bangun jam 3 pagi, olahraga jam 4, sarapan jam 7, makan siang jam 12, makan malam jam 19, dan tidur sekitar jam 22.00 WIB. Impact nya: sehat, disiplin waktu dan... keteraturan hidup. Rutinitas ini persis seperti yang saya alami sekitar 12 tahun yang lalu, saat saya nyantri di Pesantren Darul Ulum Jombang. Hal tersulit adalah tetap membiasakan rutinitas ini selepas diklat. InsyaAllah, komitmen harus dijalankan, jikalau tidak bisa sama dengan rutinitas ketika mengikuti diklat ini, paling tidak mendekati (minus apel pagi dan sore...:D ).

Saturday, November 26, 2016

Places to Visit in Semarang

While you are in Semarang, and you have one day left without any activity, or you came to Semarang for travelling, there are several interesting places to visit in Semarang, the capital of Central Java province. Why the capital of central java is Semarang, not the Solo, previous sultanate of Surakarta? Well, I think it is due to historical reason. This city is the oldest in central Java, built by Islam spreader, then the VOC was came and built the city. Semarang derived from the name of "asem" (tart) and "arang" (charcoal). So here are my list of one-day traveling in Semarang.


1. Lawang Sewu

Lawang Sewu ("Thousand Doors") is a landmark in Semarang, Central Java, Indonesia, built as the headquarters of the Dutch East Indies Railway Company. The colonial era building is famous as a haunted house, though the Semarang city government has attempted to rebrand it. The Former names of this building Administratiegebouw Nederlands-Indische Spoorweg Maatschappij. The Groundbreaking was started in 1904 and Completed in 1919, but it was opened since 1907. Now the Owner is PT Kereta Api (Indonesia railway company). This building shows very strong construction, the wall thick is twice of current brick length. You can see the images and its blueprint below.
A photo posted by Bagus Tris Atmaja (@bagustris) on


Friday, October 28, 2016

Tutorial KmPlot

KmPlot adalah tool untuk memplot (membuat grafik) berdasarkan suatu fungsi/persamaan matematika. Dengan tool ini, akan lebih cepat membuat kurva dari fungsi matematika daripada kita menggunakan GNU Octave ataupun GeoGebra. Untuk perhitungan yang lebih kompleks, analisa dengan Octave atau python tetap diperlukan. Tool ini sangat powerful untuk demo di kelas atau ketika kita menginginkan plot kasar dari suatu persamaan matematik, bisa karena belum tahu atau lupa.

Instalasi

Untuk menginstall KmPlot pada Ubuntu cukup mudah, yakni dengan perintah berikut:
sudo apt install kmplot
Untuk mengeceknya, buka dash (tekan Super) dan ketik Km, maka Kmplot akan muncul pada layar Dash. Klik ikon tersebut dan akan tampilan seperti dibawah.

Tampilan awal KmPlot

Tampilan diatas adalah tampilan defautl KmPlot. Untuk memplot sebuah fungsi, klik menu "Create", maka akan muncul 5 menu baru. Jika anda masih awam dengan tipe-tipe plot tsb, penjelasan sederhanya adalah sbb.
  1. Cartesian Plot
  2. Pada mode Cartesian Plot, fungsi yang diplot adalah fungsi eksplisit. Fungsi eksplisit artinya f(x) dan x ditulis dalam yang terpisah, f(x) disebelah kiri dan x di sebelah kanan. Contoh fungsi ini adalah, $f(x)=x^2$, $f(x)=x^2+x-6$, dsb.
  3. Parametric Plot
  4. Pada fungsi parametrik, $x$ dan $y$ tidak terhubung secara langsung, biasanya dihubungkan oleh variabel $t$. Contoh fungsi parametrik adalah $f_x(t)=10+t, f_x(t)=sin(t)$, dll.
  5. Polar Plot
  6. Polar plot adalah plot fungsi pada bidang plot/lingkaran. Fungsi yang diplot pada polar plot biasanya merupakan fungsi yang bergantung pada variabel radius (r) dan sudut ($\theta$). Contoh fungsi yang bisa diplot pada polar plot misalnya pola keterarahan sumber suara, $I=\dfrac{I_0}{r^2}$
  7. Implicit Plot
  8. Implicit plot adalah kebalikan dari eksplisit plot, yakni variabel x dan y ditulis pada ruas yang sama. Contohnya $x^2+y^2=24$
  9. Differential Plot
  10. Differential plot adalah plot turunan dari fungsi, bisa turunan pertama, turunan kedua atau ke $n$. Contoh, $f'(x)=2x$.

Saturday, September 24, 2016

Bilangan kompleks

Step-by-step:
  1. Pelajari slide berikut (beginner), pastikan anda faham tiap halaman pada slide tsb.
  2. Lihat, ikuti dan fahami video berikut (intermediate - advance)
Selamat belajar!

Saturday, September 10, 2016

Matematika dan Kalkulus

Apa bedanya Matematika dengan Kalkulus? Tentu beda, tapi tidak semua yang belajar keduanya (Mat dan Kalkulus) tahu bedanya. Bahkan, tak banyak yang belajar matematika dan kalkulus tidak tahu tentang (definisi/filosofi) Matematika dan Kalkulus itu sendiri.

Saya berharap untuk say god bye dengan matematika ketika lulus kuliah. Saat itu, dalam hati, saya ingin fokus pada bidang terapan saja, yang hanya menerapkan rumus jadi. Takdir berkata lain, saya kembali ke kampus, melakukan penelitian, dan bertemu matematika lagi.
$$\int dx=\dfrac{1}{x} + C$$
 Contoh kalkulus integral (tak tertentu) sederhana

Kalkulus

Kalkulus adalah "Matematika Perubahan". Dari blognya konsultan matematika, John D. Cook, dia mendefinisikan kalkulus sebagai mathematics of change, ilmu matematika yang mempelajari tentang perubahan, entah perubahan terhadap waktu, jarak atau variabel lainnya. Jika aljabar matematik mempelajari sesuatu secara statis, yang telah "beku" dalam ruang dan waktu. Maka kalkulus mempelajari sesuatu yang berubah terhadap waktu, bentuk yang berubah, merepresentasikannya dalam bentuk model matematik. Jika aljabar menghitung sesuatu secara eksak dan fragile (sebagai konsekuensi dari solusi eksak), maka perhitungan kalkulus lebih pada pendekatan yang lebih robust. Biasanya orang mengenal kalkulus sebagai: limit, turunan dan integral.

Friday, September 09, 2016

Membuat presentasi dengan Latex Beamer

Latex dapat digunakan untuk membuat file presentasi yang powerful. Jika anda belum menginstall latex, saya menyarankan untuk menggunakan latex dari plugin Gedit di Ubuntu yang tutorialnya bisa dibaca disini. Dengan Gedit dan Latex plugin plus embedded terminal, pekerjaan membuat file presentasi akan menjadi jauh lebih mudah. Kelebihannya, tata kelola layout pada halaman slide serta penulisan persamaan matematik didalamnya jauh menjadi cantik dan ciamik.


Tutorial beamer dengan beamer di slideshare

Membuat dokumen baru

Untuk membuat file presentasi dengan latex via Gedit, klik Tools >> Latex >> New Latex Documents. Maka, akan muncul jendela seperti dibawah. Yang perlu anda lakukan hanyal mengganti dari Template dari default menjadi slide, mengisi nama dan direktori tempat menyimpan file .tex dan Pilih Babel Package >> Bahasa Indonesia, kemudian klik OK. Setelah itu anda dapat membuka file .tex di direktori yang telah anda pilih tadi (File >> Open).

Wednesday, September 07, 2016

Static web generator dengan Mkdocs

Untuk membuat static web generator (web statis, yang isinya biasanya hanya informasi saja) cukup mudah menggunakan mkdocs. Dengan Ubuntu langkah-langkahnya adalah sebagai berikut:
    1. sudo apt-get install mkdocs
    2. mkdocs new website
    3. cd website
    4. mkdocs serve (buka http://127.0.0.1:8000 untuk melihat, ctrl-c di terminal untuk mematikannya)
    5. mkdocs build
Hanya dengan empat langkah di atas kita sudah bisa membuat static web dengan mkdocs. Buka sub folder "site" dalam folder "website" (sebagai contoh pada langkah kedua diatas) dan buka file index.html didalamnya. Jika anda sudah mempunyai hosting, anda cukup mengcopy seluruh file dalam folder site ke hosting anda, biasanya dalam folder "www".

Mengganti tema/theme

Konsep dari mkdocs adalah membuat static website dari makrdown alih-alih menggunakan pure html, wordpress, joomla atau bootstrap. Mkdocs akan membuat file html untuk anda berdasarkan markdown dan file konfigurasi mkdocs.yml. Untuk mengganti tema website dari default mkdocs, kita perlu mengedit file mkdocs.yml sebagai berikut
site_name: website
pages:
- Home: index.md
- About: about.md
theme: alabaster
Sebelum mem-build ulang, buat file about.md dalam folder docs. Tutorial singkat markdown bisa dibaca disini. Setelah membuat file about.md anda bisa membersihkan hasil build sebelumnya dan mem-build ulang,
mkdocs build --clean
mkdocs build
Nah, dengan perintah tersebut anda sudah bisa mengedit dan mengganti tema web anda. Setiap kali anda mengedit konfigurasi dan isi web anda, jangan lupa untuk meng-clean anda mem-build ulang dengan dua perintah di atas. Berikut contoh tampilan static web yang dibangun dengan Mkdocs.

Halaman web yg dibangun dengan mkdocs (http://vibrastic.ep.its.ac.id/simpanfile/)

Tuesday, August 30, 2016

Ten years blogging: Statistics and keep writing!

Actually this year is the ninth year after I started to blog in 2007. But, if 2007 is counted, this year is the tenth. You can see the difference after nine year with my somewhat seven years old blog. For comparison you can read review and statistics of my seven year blogging here (for this blog, in Indonesian language).

Writing, in my current life, is just a hobby to get benefit in my spare time. Although working in manufacturing industry, I keep writing to keep my mind open to the world. I write for fun, at least till now. I write on wide area, from engineering as my basic to social theme. In engineering, I wrote about computer science and open source project. Tweaking my laptop is another activity to get done in holiday. When I found problem with my laptop, I tried to solve it. Breaking it repeatedly till I got the solution. Then, when I got it, I write it in my blog from the scratch. That is interesting. That makes me feel life in this life.

Statistic of pageviews until August 2016

Saturday, August 27, 2016

Membaca file partisi EXT di MacOS

Setelah dua-tiga kali mencoba, akhirnya tahun lalu saya berhasil membaca (dan menulis) partisi EXT (ext4) di Mac OSX 10.8.5 Mountain Lion. Ext adalah partisi default dan standar pada sistem operasi berbasis Linux dan saat ini ext4 adalah default file partisi Ubuntu. Langkah-langkah membaca file partisi ext pada MacOS adalah sbb:
  1. Install OSXFuse
  2. Install Fuse-ext
  3. Enable read-write via script/terminal
OSXFuse dan fuse-ext pada preference MacOS

Wednesday, August 24, 2016

Speech enhancement on smartphone Voice Recording

Abstract

Speech enhancement is challenging task in audio signal processing to enhance the quality of targeted speech signal while suppress other noises. In the beginning, the speech enhancement algorithm growth rapidly from spectral subtraction, Wiener filtering, spectral amplitude MMSE estimator to Non-negative Matrix Factorization (NMF). Smartphone as revolutionary device now is being used in all aspect of life including journalism; personally and professionally. Although many smartphones have two microphones (main and rear) the only main microphone is widely used for voice recording. This is why the NMF algorithm widely used for this purpose of speech enhancement. This paper evaluate speech enhancement on smartphone voice recording by using some algorithms mentioned previously. We also extend the NMF algorithm to Kulback-Leibler NMF with supervised separation. The last algorithm shows improved result compared to others by spectrogram and PESQ score evaluation.

For full paper please download here (submitted to ICOPIA 2016). For Octave code (obtainated from single source separation: mini tutorial), and latex code please refer to this link.


Tuesday, July 26, 2016

Tutorial Rsync

Rsync adalah tool sinkronisasi terbaik. Dengan rsync anda tidak perlu copy-paste, tidak perlu tool back-up lain, hanya rsync saja. Begitu anda menguasainya, manajemen file terasa mudah.

Perintah dasar:

rsync fileSumber FolderTujuan
rsync -avz FolderSumber/ FolderTujuan/   
Perintah pertama akan mengcopy file 'fileSumber' kedalam 'FolderTujuan', sedang perintah kedua akan mensinkronkan file-file didalam 'FolderSumber' kedalam 'FolderTujuan'. Jika tidak ada slash di argumen pertama ('FolderSumber') maka 'FolderSumber' akan dicopy (bukan hanya file-filenya, tapi foldernya) didalam 'FolderTujuan'. Jika ada slash ('FolderSumber/') maka yang dicopy hanya file-filenya saja (bukan foldernya). Opsi -avz adalah archieve, verbose dan compress artinya rsync dilakukan secara rekursif (isi folder), menampilkan informasi sinkronisasi dan mengkompress saat pengiriman.

Skenario 1: Anda punya dua direktori/folder/drive yang akan anda sinkron-kan, misal namanya adalah tes1 dan tes2. Di dalam tes1 ada beberapa file, sedang tes2 masih kosong. Simply speaking, anda ingin memback-up atau mengcopy paste isi file didalam folder tes1 ke dalam folder tes2.

Kondisi 0:
tes1
+--- file1
+--- file2
+--- file3
tes2
Perintah:
Buat folder dan file1..3 dalam folder tes1
$ cd /tmp
$ mkdir -p tes1 && cd $_
$ touch file{1..3}
$ mkdir ../tes2
Dengan perintah diatas skenario kondisi 0 tercapai, kita mempunyai tiga file dalam folder tes1 dan nol file dalam tes2. Sekarang saatnya memback-up atau copy paste dengan rsync,
$ pwd
tes1
$ rsync -avz --update ./ ../tes2

Sunday, June 05, 2016

Todo List dan Bacaan Ramadhan 1437 H

Sekitar 3 tahun yang lalu, saya membuat daftar-untuk-dilakukan, todo list, untuk Ramadhan saat masih berada di Jepang. I think, I style need that kind of resolution and time management to manage my activity in this Ramadhan 1437 H. Here are my list:
  1. Read the Holy Quran
  2. Read the kitab: Wasiatul Mushtofa
  3. Write the Book: Engineering Math
  4. Packaging recitation of Al-Mathrood for Zekr (and KSU Ayat?)
Mengkhatamkan Quran
Saat ini saya punya 4 buah Quran yang tiap hari saya baca: 2 Quran ada di Rumah, 1 Quran di Kampus dan 1 Quran yang selalu berada di dalam tas untuk mengaji. Dua Quran yang di rumah saya baca secara bergiliran, keduanya saat ini berada di juz 22 dan 23. Satu Quran sudah lebih dari separuh saya baca, kira-kira sampai pada Juz 16. Dan satu Quran terakhir berada di juz 13 yang biasanya saya baca sambil menunggu pengajian dimulai. Jadi saya ingin mengkhatamkan keempat Quran tersebut, atau hampir dua khataman.

Ada tips menarik untuk mengkhatamkan Al-Quran dalam sebulan: tiap selesai sholat fardhu kita baca dua lembar, maka dalam sehari kita mendapatkan satu juz, khatam dalam sebulan. Teknik ini juga di-encourage productive muslim seperti pada gambar dibawah.

Sumber: Productive Muslim

Saturday, June 04, 2016

How to: Setup freely full custom domain from blogspot with Freenom

Blogger is free and Freenom is also free (at least for one year and can be extended continuously). Instead of using url forwarding which cannot show the full domain (like url of blog pages), we can setup fully custom domain with blogspot and Freenom (previously known as dot.tk).
Here is how:
  1. Login to your blogger blogspot 
  2. Go to Setting 
  3. In Basic >> Publishing >> Blog address, click "setup third party for your blog". Hold on... 
  4. Source: Tipsvstricks.com

Friday, March 25, 2016

Parallel programming pada Bash shell

Sejak tahun 2005, perkembangan processor komputer telah berganti paradigma, dari peningkatan clock CPU menjadi peningkatan jumlah core (Cek Wikipedia: Intel CPU Trends). Namun, pemrograman komputer yang banyak dipakai sekarang masih serial yang hanya mengandalkan single core. Artinya, kita belum banyak mengeksplorasi kemampuan komputer yang memiliki banyak core tersebut. Sebagai contoh, laptop saya memikil 4 physical core, jika saya hanya mengandalkan pemrograman serial, maka tiga core lainnya tak terpakai. Bagaimana cara memprogram secara parallel? Materi berikut saya peroleh dari workshop computational infrastructure dan scientific computing.

Screenshot workload 4 CPU (hyperthread) saat running parallel programming, keempat CPU menunjukkan beban kerja yang hampir 100% (baik pada "top" maupun system setting CPU history)

Instalasi

Cara termudah untuk parallel programming adalah dengan dengan menggunakan OS berbasis Linux. Saya menggunakan Ubuntu OS dengan library openmpi. Cara menginstallnya adalah sebagai berikut:
 sudo apt-get install openmpi-bin
Untuk mengeceknya, silakan ketik di terminal "mpirun" dan enter, Jika ada keterangan dan pesan "Report bugs to http://www.open-mpi.org/community/help/" berarti library openmpi sudah terinstall di Ubuntu.

Program Pertama

Program pertama yang bisa kita tes dengan mpirun adalah sebagai berikut,
 mpirun -np 12 /bin/hostname 
Program diatas artinya mencetak nama hostname (nama komputer) kita melalui 12 processor (-np 12). Meski jumlah processor kita hanya 4, namun kita bisa memerintahkan pada PC untuk me-run lebih dari jumlah CPU/processor. Sisa process (12-4=8) akan diluar setelah 4 process pertama, namun karena program diatas sangat ringan maka duabelas outputnya pun dapat ditampilkan bebarengan. Jika anda mendapat ouput 12 nama hostname, itu adalah hasil pemrograman parallel pertama anda. Hello world!

Sunday, March 20, 2016

Tutorial HG Mercurial SCM dengan Bitbucket

Mercurial merupakan sistem kontrol terdistribusi (mostly digunakan untuk source code management) yang "pintar". Mercurial adalah source code management (SCM) serupa dengan git yang digunakan untuk revision control system. Secara sejarah, Mercurial juga dibuat untuk menangani ketidakpuasan atas layanan Bitkeeper sebagaimana Linus membuat Git. Mercurial dibuat Matt Mackall, seorang open source developer yang saat ini bekerja di Facebook. Mercurial hanya "kalah waktu" beberapa saat setelah Git diluncurkan, dan Linux kernel community memilih menggunakan Git daripada Mercurial. Namun, banyak komunitas opensource lebih memilih mercurial seperti GNU Octave dan Herwig.

Secara konsep, mercurial berbasis python yang menjadikannya lebih "lambat" sedikit daripada Git yang berbasis C/C++. Sebaliknya, Mercurial lebih pintar daripada Git stupid content tracker dalam hal mememasukkan file ke repository (hg add), sedangkan git memasukkan file (git add) ke "stage". Impactnya, kita cuma perlu sekali saja meng- "hg add" sebuah file dalam repo. Git perlu "git add" setiap kali ada perubahan.

Instalasi
Pertama kita perlu tahu apakah Mercurial sudah terinstall atau belum pada komputer (Ubuntu) kita. Cek dengan,
$ hg --version

Jika tidak ada nomor versinya maka belum terinstall. Mercurial bisa diinstall melalui apt-get ataupun pip install.
 $ sudo apt-get install mercurial

atau
$ sudo pip install mercurial

Ya, seharusnya dengan salah satu perintah di atas, mercurial sudah bekerja di komputer kita. Saya lebih prefer dengan cara pertama (apt-get) daripada instalasi melalui python (pip). Cek lagi dengan "hg --version" untuk mengetahui berhasil tidaknya instalasi mercurial.

Repository setup
Siapkan beberapa file yang akan ditambahkan pada repository
$ mkdir nama-repo
$ cd nama-repo

Buat beberapa text untuk diimport pada repository. Misal buat tiga text file sebagai berikut
$ echo "foo" >> foo.txt
$ echo "bar" >> bar.txt
$ echo "baz" >> baz.txt

Untuk menghost repository di internet, kita menggunakan bitbucket.org yang menyediakan layanan hg mercurial free unlimited (really!). Ada dua cara untuk membuat repo baru, bisa dari bitbucket.org secara langsung, atau membuat secara local di PC kita kemudian mengimportnya.

Cara I

Thursday, March 17, 2016

Learn Python the Hardway : The work flow

Really, I want to say; I hate python programming. But, when I said something bad, the bad will come to me again and again. So, let's to to stop it. Python is interpreter language or scripted language. It doesn't need to compile like C or C++. It seems the easiest (programming) language to learn. How to learn it? How to master it? what is the hard way to learn as fast as possible? Here the work flow:
  1. Do all exercise in Learn Python The Hardway by hand (type, not copy paste), from Exercise 1 to Exercise 39.
  2. Solve the Project Euler Problem, Problem number 1, 2, 3, 14, 17, 57, 79 and 102 with Python.
  3. Learn the basic concept of python and advanced it with python object oriented programming.
That's all, do it. You'll master the python on the hard way method. That is one of the most important thing that I got from the workshop of scientific computing.
Related Posts Plugin for WordPress, Blogger...