Sabtu, 17 Oktober 2015

Pop-Up Is Not Always a Virus!

Dari post sebelumnya mengenai daemon, post kali ini adalah salah satu penerapan daemon. Misalnya dalam satu test-case Anda ingin system menampilkan pop-up setiap dengan interval dan isi yang telah ditentukan.

====================================================

Rincian test case :

Isi pop-up sudah dilist di dalam file yang bernama "quotes.txt"
Setiap yang ingin ditampilkan dalam pop-up dipisahkan oleh tanda koma (,)

===================================================

Logical Solution :

-Menampilkan pop-up menggunakan perintah zenity
-Membaca file menggunakan perintah fopen dengan format "r" (read)
-Men-scanning di dalam file dilakukan per-karakter, sehingga system bisa mengetahui ketika bertemu tanda koma
-Setiap huruf yang telah di-scan dimasukkan ke dalam variabel string, ketika system bertemu koma, isi variabel tersebut ditampilkan di pop-up kemudian variabel string dikosongkan kembali untuk diisi quotes selanjutnya

====================================================

Code :


=======================================================

Demikian implementasi dari daemon kali ini. Terima kasih

Unstoppable Daemon


Pernahkah Anda mengalami gangguan-gangguan desktop pada komputer Anda? Misalnya pop-up yang muncul tiap beberapa detik sekali, file yang sering terbuka sendiri tanpa di-klik, atau gambar yang tiba-tiba ter-edit dengan sendirinya?

Daemon bisa jadi adalah penyebab peristiwa-peristiwa tersebut. Apakah yang dimaksud dengan daemon? Daemon ialah process yang berjalan pada background yang tidak  memerlukan interaksi langsung dengan user. Dengan kata lain, user tidak akan bisa menghentikan daemon secara langsung. Bisa Anda bayangkan daemon yang dibuat dengan tujuan buruk, misalnya otomatis mendownload gambar-gambar tidak senonoh tanpa Anda bisa berbuat apa-apa. Untuk itu, pengetahuan mengenai daemon amatlah diperlukan untuk mencegah hal-hal tersebut.

Membuat daemon amatlah mudah bahkan bagi orang awam. Anda hanya perlu memahami bahasa c dan Anda akan dengan mudah membuat suatu program daemon. So, check it out!

=========================================================

Untuk membuat daemon, beberapa hal ini perlu diperhatikan :

- Daemon adalah suatu orphan process (child process yang kehilangan parent-nya). Untuk itu Anda perlu membuat child process kemudian membunuh parent-nya

- Mode file daemon harus bisa dibaca. Maka, Anda musti menggunakan fungsi umask

- Daemon yang merupakan orphan process, awalnya tidak memiliki Session ID sehingga tidak dapat berjalan. Agar process dapat berjalan, maka Anda perlu menggunakan fungsi setsid

- Daemon selalu aktif pada background, karena itu daemon haruslah berada pada direktori yang selalu aktif. Untuk itu Anda harus menggunakan fungsi chdir (change directory) untuk memindahkan process ke direktori yang selalu aktif yaitu home

- Menutup File descriptor standar untuk daemon, karena file descriptor bisa benar-benar disturbing ketika daemon dijalankan karena bisa berulang-ulang

- Kodingan Anda harus berada di fungsi while, karena inti dari daemon adalah dilakukan berulang-ulang secara kontinu

========================================================

Berikut ini adalah pembuatan daemon dalam bahasa c

#include<sys/types.h>
#include<sys/stat.h>
#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
#include<errno.h>
#include<unistd.h>
#include<syslog.h>
#include<string.h>

int main (void)
{
pid_t pid, sid;
pid=fork();
if (pid<0) exit (EXIT_FAILURE);
else if (pid>0) exit (EXIT_SUCCESS);
umask(0);
sid=setsid();
if (sid<0) exit (EXIT_FAILURE);
if ((chdir("/"))<0) exit (EXIT_FAILURE);
close(STDIN_FILENO);
//close(STDOUT_FILENO);
close(STDERR_FILENO);
while(1)
{
printf("SELAMAT DATANG\n");
sleep(2);
}
exit(EXIT_SUCCESS);
}

process diatas artinya menampilkan kalimat "SELAMAT DATANG" di terminal tiap 2 detik sekali.
Untuk menghentikan daemon caranya cukup rumit. Anda harus mengetahui pid dari process daemon tersebut. Kemudian Anda bisa mengehentikannya dengan funngsi kill <pid>

Sabtu, 03 Oktober 2015

Rumplestiltskin The Fallen

Kisah Rumplestiltskin bukanlah kisah yang umum di Indonesia. Dongeng ini berasal dari Jerman pada abad 19 masehi. Cerita yang bertema peri ini kemudian diangkat menjadi film berjudul "Rumplestiltskin" pada tahun 1987.

Satu hal yang ganjil di dongeng ini adalah kematian Rumplestiltskin di akhir cerita. Oh ayolah, Rumplestiltskin bukanlah tokoh antagonis. Pemeran jahat yang sesungguhnya, sang raja dan ayah gadis, justru hidup bahagia selamanya. Beginikah cara bertransaksi di zaman dahulu? Berjanji kemudian tidak menepati? Kurasa kebaikan yang dilakukan Rumplestiltskin tidak setimpal dengan
apa yang didapatkannya. Tentu saja ini bukan dongeng yang baik untuk diceritakan kepada anak-anak.

Apa nilai moral yang dikandung dalam cerita ini? Apa yang dipikirkan oleh si pembuat cerita?