The end of December 2017

I can’t imagine that now by the end of December 2017, I have been working and living in Singapore for 2 years. I want to say Alhamdulillah to Allah SWT.

For my family, they moved to here as well on February 2017 to accompany me. Embassy of the republic of Indonesia has made School for our Indonesian people so that it’s easy for us who has children need to go to school. Of course the curriculum will be not different with school in Indonesia.

So far, We really enjoy living in Singapore due to this is the first time I can live with them together as before I worked in Jakarta and on the other hand my wife and our children lived in Bandung and I could only meet them on the weekend.

Now, I can take my children to school and pick them up on the afternoon back to home. I have lost my times with my children for almost 7 years and syukur Alhamdulillah, Allah gives me times for living with my lovely family now.

Singapore, December 2017.

Making an argument as optional in Python function

Sometimes we need to make an argument as optional so that people using the function can choose to provide extra information only if they want to.

For example, say we want to expand get_user_name() in the previous topic to handle middle names as well.

Here is the python code to fulfill the the requirement above:


#!/usr/bin/python

# Give the middle_name argument an empty default value and ignore
# the argument unless the user provides a value,
# We set default value of middle_name to an empty string and 
# move it to the end of the list parameters

def get_user_name (first_name,last_name,middle_name=''):
    """ Return a full name"""
    if middle_name:
       full_name = first_name + ' ' + middle_name + ' ' +last_name
    else:
        full_name = first_name + ' ' +last_name
 
    return full_name.title()
 
my_user_name = get_user_name('Askari','Azikin')
my_completed_user_name = get_user_name('Askari','Azikin','Basa')
 
print(my_user_name)
print(my_completed_user_name)

Penulisan Fungsi di Python dan di Perl

Fungsi di bahasa pemrograman berfungsi untuk menghindari penulisan kode program yang berulang sehingga untuk melakukan sebuah fungsi atau perintah tertentu cukup dituliskan satu kali saja.

Berikut penulisan fungsi di Python dan di Perl:

Di bahasa Python fungsi selalu diawali dengan kata ‘def’

#!/usr/bin/python

def get_user_name (first_name,last_name):
    full_name = first_name + ' ' + last_name
    return full_name.title() # or return full_name

my_user_name = get_user_name('Askari','Azikin')
print (my_user_name)

Sedangkan di bahasa Perl, fungsi selalu diawali dengan kata ‘sub’. karakter ‘$$’ menunjukkan bahwa fungsi tersebut akan menerima inputan sebanyak dua variabel skalar. karakter ini bersifat opsional saja sehingga bisa saja tidak dituliskan. Sedangkan ‘@_’ bisa juga diganti dengan ‘shift’ dimana keduanya untuk menerima masukan/input untuk selanjutnya diproses di dalam fungsi tersebut.

#!/usr/bin/perl -w

sub get_user_name ($$)
{
   my ($first_name, $last_name) = @_;
   my $full_name = "$first_name $last_name";
   return $full_name;
}

my $user_name = get_user_name ('Askari', 'Azikin');
print "$user_name\n";

Menyalin keluaran dari linux command line ke sebuah file

Materi ini sebenarnya pernah saya tulis di buku saya yang berjudul ‘Debian GNU/Linux’ tapi saya tidak memiliki softcopy-nya lagi sekarang sementara hardcopy-nya ada di Bandung. Saat ini saya lagi ngoprek tentang Hadoop di atas mesin virtualisasi dan seluruh output-nya ingin saya simpan dalam bentuk logfile.

Di mesin server saya tidak ada X-Window sehingga seluruh aktifitas saya di Linux harus menggunakan command line.

Untuk menyimpan seluruh logfile dari command line dapat menggunakan perintah berikut:


debian:~# command | tee -a result.log

alternatif lain:


debian:~# command &> result.log

Bedanya adalah pada perintah pertama outputnya akan ditampilkan di layar monitor dan saat yang bersamaan juga tersalin ke result.log sementara perintah kedua tidak.

Tujuan saya sebenarnya perintah berikut:


debian:~# xl create -c HadoopDataNode.cfg | tee -a result.log

 

Python untuk Perl Programmer

Karena kebutuhan untuk big data, saya mulai mendalami Python namun Perl tentu saja masih menjadi bahasa favorit saya.

Mudahan-mudahan ada kesempatan untuk membuat buku dengan judul ‘Python untuk Perl Programmer’. Berikut perbandingan kode program untuk menghasilkan keluaran yang sama.

Perl

Python

Liburan Sekolah telah tiba

Liburan sekolah tahun ini kami kedatangan tamu dari Bandung. Danti adik sepupu istri mengambil cuti kerja untuk liburan ke Singapura yang bertepatan dengan liburan sekolah anak-anak saya. Banyak waktu luang buat anak-anak dan Danti selama liburan kali ini.

Berbagai tempat kami datangi sekedar untuk menemani Danti selama di sini.

Beberapa photo yang sempat saya abadikan sebagai berikut minus Danti untuk menjaga privasi orang:

1. Ayah, Bunda dan Kakak Naya di Universal Studio Singapore

2. Ayah, Bunda, Kakak Naya, Ibnu di Merlion Park Singapore

3. Ayah, Bunda, Kakak Naya, Ibnu di Merlion Park Singapore