15 Dec 2017

Saya biasanya kalau mau memperbaharui WordPress selalu menunggu versi minor .1 atau lebih. Soalnya, suka ada perilaku tak terduga kalau versi mayor baru terbit. Kali ini, WordPress 4.9.1 sudah terbit.

Menurut situsnya, WordPress merekomendasikan penggunaan PHP 7.2. Saya sendiri baru tahu kalau sudah ada PHP 7.2. Pantas saja WordPress berhenti di versi 4.8.4 pada beberapa peladen.

Saatnya memasang PHP 7.2!

Pemasangan PHP 7.2

Saya pernah membahas tentang PHP 7.1+ di artikel terdahulu. Jadi, ini sekedar mengulang saja.

Aktifkan modul APT untuk mengakses repo berbasis HTTPS dan beberapa paket lainnya.

sudo apt-get install apt-transport-https lsb-release ca-certificates

Aktifkan repo Suri.

wget -O- https://packages.sury.org/php/apt.gpg | sudo apt-key add -
echo "deb https://packages.sury.org/php/ jessie main" | sudo tee -a /etc/apt/sources.list.d/php-sury.list
sudo apt update

Lalu, pasang PHP 7.2 untuk menggantikan PHP 5.

sudo apt install php7.2-fpm php7.2-curl php7.2-gd php7.2-imagick php7.2-json php7.2-mysql php7.2-readline php-redis php7.2-xml php7.2-mbstring php7.2-zip

Kalau hanya sekedar php-fpm, yang terpasang bakal versi 7.1. Harus secara eksplisit disebutkan versi 7.2.

Selanjutnya, menyalin konfigurasi fpm dari /etc/php5/fpm/pool.d ke /etc/php/7.2/fpm/pool.d untuk setiap pool.

Saya sejauh ini tidak ada masalah.

Fungsi Yang Mulai Ditinggalkan

Nampaknya PHP7 dan terbaru hendak dibuat menjadi domain yang ketat (strict typecast). Mungkin pengembang PHP ingin menjadikan PHP sebagai bahasa yang lebih aman. Kalau saya melihat log, biasanya akan diprotes bentuk akses senarai (array). Saya mendapati fungsi count() terutama yang paling sering dicatat.

count(): Parameter must be an array or an object that implements Countable in ...

Ada orang-orang yang memutuskan untuk kembali ke PHP 7.1. Tapi saya tidak! Agar sesuai dengan PHP7.2 dan terbaru, misalnya ada variabel:

count($elements[‘#value’])

count ( $elements )

Diubah dengan menambahkan uji tipe senarai :

is_array ( $elements ) && count ( $elements )

Atau, saat diubah menjadi tipe senarai:

$elements = ( array ) $source->getElements();

Penyebab ini semua kalau saya lihat di kode sumber WordPress adalah biasanya karena penggunaan variabel global.

Untung saja, untuk yang lain pun WordPress dan plugin-nya sudah cukup bersahabat.

Bacaan Lebih Lanjut

on 15 Dec 2017 07:03 AM

13 Dec 2017

Dengan semakin ganasnya SPAM dan bisnis surel, Universitas Indonesia pun selalu memperbaharui konfigurasi surel agar selalu aman dan nyaman. Selama inisaya hanya menerapkan SPF, DKIM, ADSP, DMARC dan lain sebagainya ke sub domain UI. Kali ini, untuk domain global UI, DMARC pun diterapkan.

Saya membuka kotak pandora! Ternyata ada domain-domain di bawah UI yang masih perlu dikonfigurasi. Misalnya, untuk domain yang berbasis Google Apps (GMail), saya menerapkan minimum konfigurasi SPF dan DMARC. Namun, ini semua harus ditambahkan satu persatu.

Beruntung, DMARC menyediakan mekanisme laporan berkala yang bisa dipakai oleh UI untuk melihat bagaimana domainnya digunakan ke tempat lain. Laporan DMARC berformat XML. Untuk ini, saya menuliskan cara saya membaca XML tersebut dengan perkakas yang sudah ada.

Saya malas membuat pencacah sendiri. Untungnya, Dave dari TechSneeze menyediakan perkakas kecil untuk itu. Ada dua bagian yang perlu dipasang, pencacah dan pembaca. Berhubung saya tiba-tiba jadi malas menulis, saya percepat saja.

Basisdata

Pencacah ini memasukkan XML ke dalam basisdata. Basisdata MySQL ini digunakan untuk menyimpan hasil proses pelaporan DMARC. Mari buat sebuah basisdata:

sudo mysql --defaults-file=/etc/mysql/debian.cnf -e "create database opendmarc;"
sudo mysql --defaults-file=/etc/mysql/debian.cnf -e "grant all privileges on opendmarc.* to 'opendmarc'@'localhost' identified by 'p4$sW0Rd';"
sudo mysql --defaults-file=/etc/mysql/debian.cnf -e "flush privileges;"

Jangan lupa mengganti sandi dengan yang benar!

Pencacah

Pasang paket-paket pendukung.

sudo apt-get install libmail-imapclient-perl libmime-tools-perl libxml-simple-perl \
libclass-dbi-mysql-perl libio-socket-inet6-perl libio-socket-ip-perl libperlio-gzip-perl \
libmail-mbox-messageparser-perl unzip

Unduh dan masuk ke direktori.

git clone https://github.com/techsneeze/dmarcts-report-parser.git
cd dmarcts-report-parser

Salin berkas dmarcts-report-parser.conf.sample menjadi dmarcts-report-parser.conf yang akan dipakai sebagai konfigurasi. Ubah login MySQL di berkas tersebut.

$dbname = 'opendmarc';
$dbuser = 'opendmarc';
$dbpass = 'p4$sW0Rd';

Sudah bisa digunakan. Cara saya menggunakannya:

zcat /tmp/linkedin.com\!ui.ac.id\!1513036800\!1513123200\!chips.xml.gz | ./dmarcts-report-parser.pl -x -

Saya suka cara seperti ini. Kalau misalnya semua berkas laporan ditaruh di sebuah direktori, maka tinggal:

for report in `find /tmp/reports/ -type f `; do zcat $report | ./dmarcts-report-parser.pl -x - ; done

Kalau membaca konfigurasi, perkakas ini bisa membaca dari IMAP. Tetapi saya belum mencobanya.

Pembaca

Salin GIT:

rm -rf /var/www/html
git clone https://github.com/techsneeze/dmarcts-report-viewer.git html
sudo mv html /var/www
sudo chown -R 33:33 /var/www/html

Pasang PHP-FPM dan NGINX. Berkas utamanya ada di /var/www/html. Saya terlalu malas untuk mengonfigurasi. Tapi, ini kira-kira konfigurasi saya:

cat >> /etc/nginx/sites-enabled/default << EOF
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # SSL configuration
        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;

        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ /index.php?$query_string;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;

                # With php7.0-cgi alone:
                #fastcgi_pass 127.0.0.1:9000;
                # With php7.0-fpm:
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny all;
        }
}
EOF

Jangan lupa dmarcts-report-viewer-config.php.sample menjadi dmarcts-report-viewer-config.php dan ubah $dbname, $dbuser, dan $dbpass seperti konfigurasi pencacah.

Silakan diubah sesuai selera. Nanti kalau sudah selesai, bisa dilihat di peramban:

DMARC Report

DMARC Report

Kalau saya tidak sedang sibuk dan malas menulis, saya akan mencoba membagikan bagaimana mengonfigurasi SPF, DKIM, ADSP, DMARC dan lain sebagainya. Kalau ingat, ya…. Tak janji.

Bacaan Lebih Lanjut

on 13 Dec 2017 03:47 AM

06 Dec 2017

doki-doki literature club, coded with Ren'Py

Ada sebuah novel interaktif (visual novel) terbaru yang sedang populer saat ini di Internet. Nama novel tersebut adalah Doki-doki Literature Club (DDLC). DDLC merupakan sebuah novel interaktif horor yang menyajikan elemen penembus sekat (breaking 4th wall). Novel ini membuat cerita normal seperti novel pacaran lainnya; sampai satu titik pemain tanpa sadar membuat keputusan yang membuat depresi pemain. Itu sebabnya, permainan ini tidak dianjurkan untuk dimainkan oleh jomblo akut yang memiliki tendensi bunuh diri, dalam depresi, atau dalam masa terapi.

Anda mungkin bertanya, “menembus sekat pada bagian mana?” Saya tidak ingin membuka tabir misteri novel ini. Untuk menikmati novel ini, menurut saya, Anda harus mulai dari situs permainan dan membaca deskripsi perkenalan permainan ini di sana. Lalu, unduh dan mainkan. Anda akan mengerti mengapa deskripsi situsnya membuat permainan ini lebih mengerikan.

Permainan ini dapat diunduh gratis langsung dari situsnya. Anda bisa menyumbang di sana atau langsung ke laman unduhan. Permainan ini menyediakan berbagai tambalan terjemahan yang nampaknya disediakan oleh berbagai orang. Mungkin Anda tertarik untuk menerjemahkan ke dalam Bahasa Indonesia?

Yang menarik, saya menemukan bahwa berkas unduhan untuk GNU/Linux dan Windows menjadi satu. Besar berkas ZIP tersebut sekitar 240MB. Di dalam ZIP terdapat berkas DDLC.exe untuk Windows dan DDLC.sh untuk dijalankan di GNU/Linux.

Untuk menjalankan DDLC di GNU/Linux:

unzip ddlc-win.zip
DDLC-1.1.0-pc/DDLC.sh

Tentunya cara yang lebih gampang adalah membuka penjelajah berkas Anda; klik kanan untuk ekstraksi; dan klik DDLC.sh untuk menjalankan aplikasi. GNU/Linux tidak seheker zaman dulu.

Ingat! Jangan mainkan bila Anda jomblo akut!

Ren’Py

Saya bukan pengamat permainan. Saya lebih tertarik kepada teknologi yang ada di dalamnya. Ternyata, DDLC menggunakan pustaka Ren’Py sebagai tulang punggung. Ren’Py dikembangkan menggunakan bahasa Python. Pantas saja berkas DDLC untuk Windows dan GNU/Linux digabung. Berkas eksekusi ternyata hanya pembungkus untuk menjalankan skrip Python.

Ren’Py adalah sebuah perkakas pengembangan untuk membuat novel interaktif. Dia diterbitkan sebagai perangkat lunak bebas. Anda bisa memodifikasi sesuai kebutuhan Anda.

Pemasangan Renpy

Ada dua cara pemasangan: melalui berkas unduhan dan melalui distribusi. Karena suatu galat, Ren’Py membutuhkan pemasangan paket Python Tk. Paket ini diperlukan untuk membuat proyek baru. Jadi, untuk kedua metode tersebut, pastikan sudah dipasang:

sudo apt install python-tk

Setelah itu, aplikasi bisa dijalankan/dipasang seperti biasa.

Unduhan Situs

Anda dapat mengunduh di situsnya. Dengan cara normal, menggunakan penjelajah berkas favorit Anda, Anda dapat mengekstraksi dan menjalankan skrip renpy.sh tanpa perlu membuka terminal.

Ren'Py site's version

Ren’Py interface running from its site distribution.

Tetapi, saya beda! Berikut cara menjalankan:

wget https://www.renpy.org/dl/6.99.13/renpy-6.99.13-sdk.tar.bz2
tar xvfj renpy-6.99.13-sdk.tar.bz2
./renpy-6.99.13-sdk/renpy.sh

Atau gunakan cara yang lebih normal.

Paket Distribusi

Pada distribusi Debian 9 (Stretch), Ubuntu 16.04 atau terbaru, dan segala turunannya:

sudo apt install renpy

Saya lebih menyarankan cara ini karena semua paket pustaka yang dibutuhkan akan ikut dipasang.

Vanilla Ren'Py installed from Ubuntu.

Vanilla Ren’Py installed from Ubuntu repository.

Versi distribusi menyediakan layar yang lebih bersih karena pemelihara paket membagi Ren’Py menjadi beberapa bagian:

  • python-renpy, paket modul Python Ren’Py.

  • renpy, paket utama untuk memasang Ren’Py

  • renpy-demo, demo-demo yang bisa dijadikan acuan untuk mempelajari Ren’Py.

  • renpy-doc, dokumentasi penggunaan Ren’Py.

  • renpy-thequestion, contoh satu novel interaktif sederhana yang telah dikembang dengan Ren’Py.

Saya hanya memasang renpy dan tidak yang lain. Silakan pasang saja yang lain bila ingin.

Memasang dari Github

Cara lain yang lebih abnormal adalah Anda mengunduh sendiri dari Github dan mengompilasi aplikasi Ren’Py dari kode sumber. Silakan baca sendiri caranya di sana. Saya tidak membahas karena takut tulisan ini jadi kepanjangan.

Sekilas Penggunaan Ren’Py

Saya tertarik membuat aplikasi interaktif sederhana. Ada sedikit kekurangan saat membuat proyek baru. Saya harus membuat sebuah direktori kosong. Sepertinya Ren’Py tidak bisa membuat direktori baru untuk wisaya proyek baru.

Ya, sudah. Toh, membuat direktori baru hanya sejauh klik kanan atau mkdir:

mkdir ~/Proyek/Respy

Catatan: tanda ~ artinya direktori rumah (/home/test pada contoh)

Setelah itu, klik + Create New Project

Khusus untuk penggunaan Ren’Py yang pertama kali, kita akan ditanyakan direktori dasar untuk setiap proyek nantinya disimpan.

Project's root directory

First time using Ren’Py we will be asked about its project’s root directory.

Masukkan nama proyek:

New Project name

New Project name. Yeah, I don’t have a naming sense.

Setelah memasukkan nama proyek, tekan tombol ENTER untuk ke layar berikutnya.

Layar berikutnya untuk pemilihan templat bahasa. Sayangnya, templat Bahasa Indonesia saat ini tidak tersedia. Ya, sudah, langsung saja klik Continue.

Select primary language for your new project.

Select primary language for your new project.

Layar berikutnya untuk pemilihan tema awal. Pilih sesuai selera lalu  klik Continue.

Theme selection

Theme selection

Setelah itu, proyek Entah Apa Ini sudah termasuk dalam daftar proyek yang bisa diakses.

Our new project now appeared on the project list.

Our new project now appeared on the project list.

Kalau mau menjalankan aplikasi yang dibuat, klik Launch Project. Menu di sebelah kanan menyediakan apa saja yang bisa dikerjakan pada aplikasi.

Sekilas Utak-atik Proyek Ren’Py

Untuk proyek Entah Apa Ini, saya membuat beberapa perubahan berikut:

  • Mengubah resolusi dari 800×600 menjadi 720p (1280×720). Ada di game/options.rpy dengan opsi config.screen_width dan config.screen_width
  • Membuat direktori gambar dan menaruh semua gambar di sana: game/images
  • Skenario/alur permainan dibuat di game/script.rpy

Saya sudah membuat repositori GIT kalau hendak iseng-iseng mencoba.

Untuk mengunduh:

git clone https://github.com/jpmrblood/renpy-entahlah.git

Untuk menjalankan:

renpy renpy-entahlah

Distribusi

Sayangnya, versi pemaketan Ubuntu 16.04 yang saya gunakan tidak dapat membuat berkas distribusi. Anda harus menjalankan aplikasi Ren’Py yang diunduh dari situsnya. Berikut caranya setelah memuat proyek tersebut.

Hasilnya nanti berupa berkas ZIP yang bisa dijalankan langsung.

Terakhir

Untuk apakah aplikasi ini? Saya melihat potensi selain untuk membuat permainan, Anda bisa membuat semacam kuis interaktif untuk anak kecil sebagai bahan mata ajar. Anda bisa mengubah tata letak sehingga bisa membuat aplikasi ini menjadi ujian langsung.

Selamat berkarya!

Bacaan Lebih Lanjut

on 06 Dec 2017 10:41 AM

24 Nov 2017

Sebenarnya tulisan ini bisa terbagi menjadi dua artikel; artikel tentang memasang Steam dan artikel tentang memasang Shadowverse. Mengingat Shadowverse tidak butuh apa-apa, tulisan ini malah hanya terfokus untuk memasang Steam dengan menggunakan WINE versi terbaru. Saya menggunakan KDE Neon, sebuah sistem operasi berbasis Ubuntu 16.04.

Pengaktifan Repositori WINE Terbaru

Untuk WINE versi terbaru, tambahkan PPA WINE dari Ubuntu.

sudo add-apt-repository ppa:wine/wine-builds

Jangan jalankan pembaharuan repositori dulu. Nanti saja di saat penambahan arsitektur 32-bit.

Pengaktifan Arsitektur 32-bit

Hasil terbaik untuk menjalankan aplikasi Steam dengan WINE didapatkan dengan menjalankannya di arsitektur 32-bit.

Konfigurasi WINE Mode 32-bit

Tetapkan WINE untuk menggunakan arsitektur 32-bit:

export WINEARCH=win32

Supaya Hayati tidak lelah, taruh baris tersebut pada berkas konfigurasi mula:

echo "export WINEARCH=win32" >> ~/.bashrc

Berkas ini akan selalu dijalankan setiap kali BASH/login memulai sesi baru.

Penambahan Arsitektur 32-bit

Tambahkan arsitektur 32-bit sistem operasi Anda bila Anda menggunakan arsitektur 64-bit.

sudo dpkg --add-architecture i386
sudo apt-get update

Langkah penambahan arsitektur dilakukan kalau Anda masih memasang arsitektur 64-bit murni. Tidak ada salahnya dijalankan. Jangan lupa juga menjalankan pembaharuan daftar repositori.

Pemasangan S3 Texture Compression

Puji Tuhan negara kita tercinta tidak memiliki hukum paten perangkat lunak seperti beberapa (Uhuk AS uhuk) negara pencilan. Untuk berjaga-jaga siapa tahu sudah terpasang, buang pustaka kompresi tekstur yang lama:

sudo apt-get remove --purge libtxc-dxtn-s2tc0 libtxc-dxtn-s2tc0

Ini hanya berjaga-jaga saja. Takutnya sudah pernah terpasang untuk aplikasi lain.

Selanjutnya, pasang pustaka tekstur yang tanpa embel-embel.

wget https://launchpad.net/~xorg-edgers/+archive/ubuntu/ppa/+files/libtxc-dxtn0_1.0.1-0.3ubuntu0sarvatt+raring_amd64.deb
wget https://launchpad.net/~xorg-edgers/+archive/ubuntu/ppa/+files/libtxc-dxtn0_1.0.1-0.3ubuntu0sarvatt+raring_i386.deb
sudo dpkg -i libtxc-dxtn0_1.0.1-0.3ubuntu0sarvatt+raring_amd64.deb 
sudo dpkg libtxc-dxtn0_1.0.1-0.3ubuntu0sarvatt+raring_i386.deb

Sebenarnya Shadowverse tidak S3TC yang aneh-aneh. Satu bagian ini bisa dilewati. Namun, saya pikir mungkin nanti ini dibutuh untuk aplikasi Steam yang lainnya.

Pemasangan WINE

Pasang WINE.

sudo apt-get install --install-recommends wine-staging

Aplikasi WINE secara aneh terpasang di direktori /opt/wine-staging. Terpaksa harus ditambahkan ke PATH agar bisa dieksekusi.

export PATH=/opt/wine-staging/bin:$PATH

Jangan lupa menyimpan baris ini agar nanti selalu dijalankan.

echo "export PATH=/opt/wine-staging/bin:\$PATH" >> ~/.bashrc

Selanjutnya winetricks.

Pemasangan winetricks

Untuk pemasangan Steam yang baik, digunakan perkakas winetricks. Perkakas ini sebenarnya tersedia di repositori Ubuntu. Sayangnya, untuk memasang Steam diperlukan versi terbaru perkakas ini. Mari pasang versi terbaru winetricks:

wget -q0 -  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks | sudo tee /usr/local/bin/winetricks
sudo chmod +x /usr/local/bin/winetricks

Saya sengaja menjalankan wget tanpa sudo. Siapa tahu di antara pembaca ada yang menggunakan proksi dengan menggunakan variabel lingkungan.

Pemasangan Steam

Sebelum memasang Steam, pastikan bahwa aplikasi Steam dijalankan oleh WINE dengan mode WinXP. Pada WINE versi terbaru, WINE dijalankan dengan mode Windows 7. Hal ini wajar, sih, mengingat banyak permainan yang membutuhkan minimal sistem operasinya Windows 7.

Mari tandai Steam.

wine reg.exe ADD "HKEY_CURRENT_USER\Software\Wine\AppDefaults\Steam.exe" /v "Version" /t "REG_SZ" /d "winxp" /f
wine reg.exe ADD "HKEY_CURRENT_USER\Software\Wine\AppDefaults\steamwebhelper.exe" /v "Version" /t "REG_SZ" /d "winxp" /f

Pasang Steam, namun jangan dijalankan dulu. Pastikan tanda centang untuk menjalankan Steam pada langkah pemasangan terakhir dihilangkan. Steam belum dapat dijalankan karena ada galat pada implementasi WINE. WINE masih belum bisa menjalankan CEF, pustaka Chrome yang menjalankan langsung web di sistem dasar.

winetricks steam

Untuk memperbaiki hal tersebut, harus ditambahkan “-no-cef-sandbox” pada saat menjalankan Steam. WINE memasang dua berkas peluncur untuk menjalankan WINE. Satu untuk ditaruh di menu dan satu ditaruh di destop.

sed -i '/^Exec/ s/$/ "-no-cef-sandbox"/'  ~/.local/share/applications/wine/Programs/Steam/Steam.desktop
sed -i '/^Exec/ s/$/ "-no-cef-sandbox"/'  ~/Desktop/Steam.desktop

Nah, selesai sudah. Jalankan Steam dengan klik ikon Steam di destop/menu. Atau jalankan langsung di terminal:

env WINEPREFIX="/home/jp/.wine" /opt/wine-staging/bin/wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/jp/.wine/dosdevices/c:/users/Public/Desktop/Steam.lnk "-no-cef-sandbox"

Selanjutnya tinggal memasang Shadowverse seperti biasa.

Pemasangan Shadowverse

Bisa saja membuka Steam lalu menjelajah Steam Store dan memasang Shadowverse. Atau, jalankan Steam untuk memasang Shadowverse.

env WINEPREFIX="/home/jp/.wine" /opt/wine-staging/bin/wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/jp/.wine/dosdevices/c:/users/Public/Desktop/Steam.lnk "-no-cef-sandbox" "steam://install/453480"

Selesai.

Bacaan Lebih Lanjut

on 24 Nov 2017 12:52 AM

17 Nov 2017

SLiMS dan UCS

Arif Syamsudin

SLiMS dan UCS merupakan salah dua dari ekosistem yang dikembangkan menggunakan SLiMS sebagai bagian dari membangun jaringan data perpustakaan yang saling terhubung.

Catatan ini merupakan catatan pengingat bagi penulis dalam melakukan konfigurasi SLiMS dan UCS. Dalam melakukan konfigurasi SLiMS dan UCS, agar saling terhubung, diperlukan ketelitian agar konektivitas dapat dilakukan.

Pada catatan ini, versi SLiMS yang digunakan adalah SLiMS 7 Cendana dan UCS v2.0. Keduanya dapat diunduh melalui laman http://slims.web.id.

Konfigurasi dilakukan pada sisi SLiMS sebagai klien dan UCS sebagai penerima data. Pada catatan ini, diasumsikan bahwasanya pengguna sudah sukses melakukan instalasi SLiMS 7 Cendana dan UCS v2.0.

Langkah pertama adalah melakukan konfigurasi pada UCS dengan menyunting berkas ucserver.inc.php. Bagian yang harus disunting adalah:
// nodes configuration
$sysconf['node']['slims-node-00'] = array(
'id' => 'slims-node-00', // node id (must be UNIQUE, lowercase and not containing any spaces!)
'name' => 'Cendana Test', // node name
'password' => 'cendanates123', // this hash created with SHA1 algoritm
'baseurl' => 'http://localhost/slims7_cendana', // node base URL
'ip' => '' // IP address of node
);
Keterangan:
  • ['node']['slims-node-00'], pada bagian ini kita diminta untuk mendefinisikan nama node (simpul) yang akan digunakan pada klien. Di dalam contoh, nama simpul yang diberikan adalah slims-node-00;
  • 'id', pada baris ini, masukkan nama simpul seperti yang telah didefinisikan pada baris sebelumnya, yaitu slims-node-00. Pastikan isinya sudah sama. Karena kalau berbeda, nanti akan bermasalah pada saat mengunggah berkas dari klien ke peladen UCS;
  • 'name', pada baris ini berikan nama riil untuk simpul tersebut, sebagai contoh digunakan nama Cendana Test;
  • 'password', pada bagian ini masukkan kata lewat yang didefinisikan untuk simpul yang bersangkutan. Sebagai contoh dimasukkan kata lewat cendanates123;
  • 'baseurl', pada baris ini masukkan alamat akses dari klien. Sebagai contoh, karena klien berada di komputer yang tidak terhubung ke internet, maka bisa dimasukkan alamat http://localhost/slims7_cendana;
  • 'ip', baris ini bisa dikosongkan.

Jumlah simpul bisa ditambahkan sesuai dengan banyaknya lembaga yang akan berpartisi dalam UCS. Masing-masing simpul akan memiliki informasi setelan masing-masing yang akan diisikan pada konfigurasi masing-masing simpul. Pada contoh ini, jumlah simpul yang dimasukkan hanya satu.

Berikutnya, kita akan melakukan konfigurasi pada klien. Klien pada catatan ini adalah SLiMS 7 Cendana. Untuk mengaktifkan fitur pengumpulan data ke UCS, berkas pertama yang perlu kita konfigurasi adalah berkas sysconfig.inc.php. Cari bagian ini:
/**
* UCS global settings
*/
$sysconf['ucs']['enable'] = false;
// auto delete same record on UCS?
$sysconf['ucs']['auto_delete'] = false;
// auto insert new record to UCS?
$sysconf['ucs']['auto_insert'] = false;
Keterangan:
  • $sysconf['ucs']['enable'], bagian ini yang akan mengaktifkan fitur pengumpulan data pada klien. nilainya adalah false atau true. Untuk mengaktifkan fitur ini, ubah nilai false menjadi true;
  • $sysconf['ucs']['auto_delete'], baris ini akan mengaktifkan fitur penghapus data secara otomatis. Apabila nilainya kita ubah menjadi true maka ketika kita melakukan penghapusan data pada klien, maka data yang kita hapus tersebut secara otomatis juga akan terhapus dari UCS;
  • $sysconf['ucs']['auto_insert'], fitur ini melakukan otomatisasi pengunggahan data bibliografi yang dimasukkan ke dalam UCS. Ketika nilainya kita ubah menjadi true maka klien secara otomatis akan mengunggah data ke dalam UCS tanpa harus meng-klik pada tombol unggah.

Catatan, untuk dapat memantau perubahan-perubahan mendasar yang dilakukan dalam berkas sysconfig.inc.php, baiknya perubahan-perubahan tersebut dilokalisasi dalam berkas sysconfig.local.inc.php. Seperti contoh baris "UCS global settings" tadi, salin baris yang akan dimodifikasi ke dalam berkas sysconfig.local.inc.php, lalu lakukan perubahan pada baris yang sudah ditempelkan ke dalam berkas sysconfig.local.inc.php tersebut.

Berkas berikutnya adalah berkas ucnode.inc.php di dalam direktori SLiMS pada klien. Baris yang diubah adalah:
$ucs['serveraddr'] = 'http://localhost/ucs2'; // UCS server address. NO TRAILING SLASH! for local testing on Windows machine don't use localhost, use 127.0.0.1 instead
$node['id'] = 'slims-node-00'; // node ID
$node['password'] = 'cendanates123'; // default is s0beautifulday
$node['name'] = 'Cendana Test'; // node name
Keterangan:
  • $ucs['serveraddr'], pada baris ini masukkan alamat di mana peladen UCS, berada. Pada contoh di atas, karena UCS beserta klien SLiMS berada pada mesin yang sama, maka alamatnya seperti yang tertera pada contoh;
  • $node['id'], isikan dengan id yang sama seperti yang sudah didefinisikan pada berkas ucserver.inc.php;
  • $node['password'], isikan dengan kata lewat yang sama seperti yang sudah didefinisikan pada berkas ucserver.inc.php;
  • $node['name'], isikan dengan nama simpul yang sama seperti yang sudah didefinisikan pada berkas ucserver.inc.php.

Jika sudah dipastikan setelannya sesuai, maka sudah bisa dites untuk melakukan pengumpulan data dari klien ke UCS, seperti contoh gambar di bawah ini.




on 17 Nov 2017 01:52 PM

14 Nov 2017

For the past 5 years I’ve been relying heavily on my Buffalo Linkstation Quad NAS to store personal data. These personal data include photos I of my family that I have collected for over 16 years, to me these data is highly valuable.

Recently lightning stuck and the surge killed my Mikrotik Router, Cisco Cable Modem, LAN port of my Wifi, my son’s LG air conditioner, 4 light bulbs and the LAN Port of the Buffalo Linkstation Quad NAS Storage device sitting on my desk. 🙁

Checking the lightning rod, it turns out that an irresponsible has cut the cable that links the rod to ground. I suspect severity of the lighting strike was due to this fact.

If you have a different experience on preventing lighting surge please comment..

Back in June 2012 I estimated that 3TB of data will last me a long while in storing photos of my family, hence I did not create an array of disks to store my data. Instead I treated the 2 drives I had as individual drives each shared as separate network drives leaving me room to grow with 2 drive bays ready.

A week after the surge killed the LAN port, I pulled out the drives and placed it in a USB external case and hooked it up to a freshly installed desktop running Ubuntu 16.04 LTS. Knowing that it was formatted EXT4. I was hoping that the drives would be detected, in fact it didn’t :(.

Running

sudo fdisk -l

did not identify the filesystem type of the partition, instantly my heart raced thinking that the surge had also killed the hard drive. Being used as single drives I was convinced that I did not need to rebuild a disk array, and did not install mdadm. So I thought I needed to either rebuild the partition table or connect both hard drives and rebuild the array.

Luckily I got curios and wanted to know what the RAID array looks like, so I installed mdadm

sudo apt-get install mdadm

and auto magically all 3 partitions of the hard drive was detected and mounted. Wow what a reliever! Now I can see all the photos and videos of my family, collected for over 16 years.. what a relief!!!

Bagus lahir

Now moving forward I am budgeting a replacement of this NAS, also I’m setting up redundancy by manually uploading my family photos and videos to Google Photos.. as writing this post I’m thinking maybe better to automate this process.. any pointers? hmm let me google “Google Photos upload API”…

on 14 Nov 2017 08:09 AM

27 Oct 2017

Saat ini di Indonesia sedang keranjingan membuat VLOG. VLOG adalah jurnal berbentuk video yang diunggah ke Youtube. Bahkan, Pakde Jokowi, Presiden RI, juga memiliki kanal Youtube resmi.

Mengapa saya spesifik menyebutkan hanya Youtube? Mengapa saya tidak menyebut media sosial lainnya? Karena vidio.com jarang yang menonton dan Vimeo masih saja ada yang memblokir. Selain itu, proses komersialisasi video atau lazim yang disebut sebagai monetisasi, hanya disediakan dengan mantap oleh Youtube.

Ahem! Saya sebenarnya mau menyinyir yang lainnya, bukan itu. Saya sedih bahwa banyak artis-artis media sosial yang menyarankan menggunakan perangkat berbayar semisalnya Adobe Premiere Pro. Banyak yang memberikan tutorial menggunakan perkakas ini. Sepertinya mereka banyak yang sanggup membayar Rp269.800,00 per bulan atau Rp3.237.600,00 per tahun.

Hmm…

Menurut saya, ada banyak peralatan yang lebih murah untuk membuat itu.

Perkakas yang Digunakan

Saya menggunakan kamera telepon pintar saya, Xiaomi Mi 6. Berikut spesifikasi saya:

  • Sistem operasi saya Lineage OS 14.1 bentukan 1024 oleh Xiaobai yang didapatkan dari XDA Developer.
  • Aplikasi Legend untuk membuat logo yang menarik. Saya dapatkan dari Playstore.
  • Aplikasi Audio Recorder untuk merekam suara. Saya dapatkan dari F-Droid.
  • Aplikasi kamera Snapdragon PRO M 4.4.0. Saya dapatkan zip pemasangan dari XDA.

Semua aplikasi yang saya sebutkan bisa diganti dengan yang lain. Intinya, semua kebutuhan (OS, kamera, dan aplikasi) sudah bisa dipenuhi dan banyak alternatif yang gratis dan bebas.

Saya memiliki PC dengan memori 32GB dan AMD FX-8350 seperti yang sudah pernah saya bahas sebelum ini. PC ini masih mumpuni. Berikut spesifikasi saya:

  • Sistem operasi saya GNU/Linux KDE Neon 5.11, sebuah distribusi KDE berdasarkan Ubuntu 16.04.
  • Aplikasi Kdenlive untuk menyunting video.
  • Aplikasi Audacity untuk menyunting suara. Aplikasi ini sangat penting untuk memperbaiki bising yang timbul.

Sekarang saatnya membuat video.

Bahan-bahan

Saya menggunakan bahan-bahan sebagai berikut:

  • Berkas intro tanpa suara yang dibuat dari Legend.
  • Berkas ketukan untuk suara intro yang saya rekam sendiri menggunakan Audio Recorder. Saya buat dengan mengetukkan meja.
  • Berkas “Take_You _Home_Tonight.mp3” yang disediakan oleh Youtube untuk bebas diunduh. Kalau penasaran, sumbernya “Take You Home Tonight – Vibe Tracks”.
  • Berkas saya berbicara singkat.
  • Berkas suara saya berbicara singkat.

Membuat Intro (dan Outro Karena Saya Terlalu Malas)

Create logo

Dari Legend, ketik kata yang mau dijadikan logo. Lalu, tekan tanda centang.

Edit Logo

Edit Logo

Sunting animasi logo dan tekan tanda panah ke bawah (ekspor/unduh) untuk memilih mengunduh sebagai video.

Video yang dibuat masih tidak ada suara. Anda dapat membuat suara apa pun, namun perhatikan lisensi lagu/suara yang hendak dijadikan suara latar. Untuk menghindari kerumitan, kali ini saya menggunakan suara yang saya buat sendiri. Selain unik, suara ini pun bebas lisensi dari orang lain. Benar-benar 100% karya sendiri.

Pada Kdenlive, klik Project → Add Clip untuk menambah video animasi dan suara ketukan animasi. Nanti pada Project Bin, video animasi dan suara akan muncul sebagai aset proyek (sebutan untuk mereka klip suara dan klip video). Untuk menggunakan keduanya, drag saja masing-masing ke linimasa (timeline) Video 1 dan Suara 1.

Inilah demarkasi yang membedakan orang jago dan bodoh. Proses membuat suara dan video menjadi sesuai/sinkronisasi. Anda harus pintar untuk menyesuaikan suara dan video (timing). Saya, sih, membuat klip video animasi pada menit 0 dan klip suara mulai dari menit ke-15. Saya juga menambahkan efek Phaser ke klip suara.

Setiap kita punya selera berbeda. Namun, saya sudah memberikan prinsip bagi Anda.

Video Isi

Pada video isi, saya seperti biasa menambahkan aset klip video pembicaraan saya.

Lalu, pada Project Bin, saya klik kanan → Extract Audio → Wav 48000Hz untuk menghasilkan klip suara pembicaraan saya. Pada video asli, suara saya berdesis (noise).

Modifikasi Desis

Buka Audacity dan buka berkas mentahan klip suara. Pada Audacity, drag pada bagian kosong yang biasanya cuma berisi desis.

Drag to get noise sample

Drag to get noise sample

Lalu, pilih Efek → Noise Reduction → Get Noise Profile.

Setelah itu, pilih semua bagian klip suara yang mau dibuang kebisingannya. Saya pilih CTRL + A untuk memilih semua.

Setelah terpilih, klik Efek → Noise Reduction → Get Noise Profile → OK. Ya, silakan ubah-ubah parameter sebelum OK. Saya sendiri hanya mengubah Noise reduction menjadi 15dB.

Buat Diam

Oh, iya, terkadang kita tidak bisa menghindari suara-suara aneh, misalnya di awal ada suara kamera. Drag saja area klip suara yang mau dibuang. Lalu, pilih Buat → Diam… → OK.

Simpan perubahan dengan Berkas → Export Audio.

Sinkronisasi Pembicaraan

Nah, ini yang paling ribet sedunia. Bahkan dunia rekaman profesional pun suka salah. Masukkan klip suara yang sudah dibuat di Audacity sebagai aset proyek.

Saya biasanya membagi klip video menjadi kanal video dan kanal suara. Caranya, dengan klik kanan pada klip di linimasa dan pilih Split Audio.

Buat kanal Audio baru dengan cara klik kanan pada panel label linimasa dan pilih Insert Track.

Drag klip suara ke trek yang baru dibuat. Sesuaikan gambarnya dengan trek audio asli.

Sound edit

Sound edit. Sorry BGM got in the way because recreate for the tutorial.

Seperti pada gambar, saya berusaha menyesuakan suara hasil sunting dengan suara asli. Saya perhatikan gunung-gunung suara. Mohon maaf bila pada gambar tersempil kanal BGM. Cuplikan saya buat setelah produksi untuk keperluan blog ini. Biasanya di atas BGM.

Setelah dirasa sesuai, klik kanan pada kanal Suara Asli dan hapus kanal tersebut. Hal ini agar suara yang digunakan adalah suara yang sudah dibersihkan sebelumnya.

Suara Latar (BGM/Background Music)

Beda jenis isi, beda pula penggunaan BGM. Ada yang sama sekali tak perlu misalnya, bila itu isinya adalah lagu, khotbah, atau diskusi bersama. Namun, suara jangkrik akan terdengar bila saya sendirian berbicara tanpa ada suara apa pun. Biasanya, untuk format santai, gunakan suara latar untuk menambah isi.

Prinsipnya sama seperti waktu kita makan di restoran atau belanja di Mall. Lagu yang dipasang menambah suasana kondusif. Ingat, ya, penambah, bukan untuk mengacaukan. Jadi, pilihlah suara yang sesuai dengan tema isi blog.

Youtube menyediakan aset suara yang bisa diunduh dan digunakan secara bebas. Perhatikan lisensi suara yang hendak digunakan. Biasanya ada lisensi yang memerlukan atribusi (penyantuman nama lagu yang digunakan) dan sebagainya. Saya menggunakan suara yang berlisensi Domain Publik/bebas.

Seperti biasa, masukkan berkas suara tersebut menjadi klip suara di Project → Add Clip. Drag seperti biasa untuk sejajar dengan konten. Atau, bisa agak geser sedikit kalau mau agak nyeni dan sedikit pro.

Ada dua cara untuk menyesuaikan durasi klip suara latar dengan klip konten. Yang pertama, ke ujung klip lalu kecilkan bingkai klip lagu sehingga pas dengan durasi yang dibutuhkan. Cara kedua, klik dua kali pada  klip suara dan klip bisa disesuaikan parameter durasi, mulai muncul pada menit ke berapa, dan berakhir pada menit ke berapa. Saya menggunakan cara pertama, lalu menggunakan cara kedua untuk lebih presisi lagi.

Ingat! Kita mau mendengar suara saya yang lembut dan bersahaja, bukan suara musik. Untuk itu, suara BGM harus dipelankan. Caranya: pilih klip suara, lalu pilih Add Effect → Audio correction → Volume (keyframable). Pada bagian Effects for Take_You_Home_Tonight.mp3, di bagian Volume, saya menurunkan Gain menjadi -17dB. Cara menurunkannya adalah dengan drag di batang Gain.

Setiap klip baik suara mau pun video dapat dibuat efek-efek yang ditumpuk menjadi satu. Namun, untuk saat ini, cukup gunakan efek dasar saja.

Terakhir

Saya pun menambahkan klip video Intro di bagian akhir. Saya memperpanjang durasi klip suara BGM sampai ke bagian akhir klip ini.

Semua proses ini saya kerjakan sekitar sejam lebih. Hal ini karena saya harus mencari-cari aplikasi yang diperlukan dan iseng-iseng mencoba. Menurut saya, kalau memang niat, kumpulkan saja klip-klip yang diperlukan. Dan, apabila sudah terbiasa, paling proses ini hanya 15 menit saja. Apalagi, saya belum menggunakan preset (konfigurasi yang sudah tersimpan dan siap digunakan).

Saya justru menghabiskan waktu untuk mengetik entri blog ini. Ah, saya sudah ditunggu untuk minum kopi bersama. Masih banyak perkakas lain yang bisa dipakai untuk membuat video. Namun, untuk saat ini saya rasa cukuplah untuk membuat video Youtube yang sederhana dan mumpuni. Yang bikin canggih itu  kreativitas, bukan perkakas yang mahal.

May the source be with you.

on 27 Oct 2017 07:04 AM

10 Oct 2017

Gtop ~ Fedora 26

Arif Syamsudin

Apa itu gtop? Gtop adalah aplikasi pemantau sistem melalui terminal. Setidaknya itu yang dikatakan pada laman pengembangan gtop pada GitHub.

Bagaimana cara memasangnya? Utamanya adalah perhatikan ketergantungan yang dibutuhkan oleh aplikasi gtop. Nodejs.

Pasang dulu nodejs (kalau belum ada)
# dnf install nodejs
Berikutnya kita akan mulai memasang gtop. Untuk mendapatkan aplikasi ini, kita bisa mengunduh aplikasi dari laman GitHub gtop.
$ git clone https://github.com/aksakalli/gtop
Saya menggunakan metode kloning repositori GitHub untuk mendapatkan aplikasi ini. Lewat laman GitHub-nya, kita pun dapat mengunduh dalam format terkompresi.

Kemudian mulai memasang gtop.
$ npm install gtop -g
Pada saat memasang dengan moda ini, saya menemukan pesan galat pemasangan seperti gambar di bawah:


Kemudian saya diminta untuk mengulangi pemasangan, kali ini dalam moda root.
# npm install gtop -g
Pada akhirnya, pemasangan berjalan dengan baik. Gtop memberikan tampilan seperti ini, pada perangkat yang saya gunakan.


Demikian. Informasi lebih lanjut tentang bagaimana menggunakan aplikasi ini, bisa dilihat pada berkas README.md yang tercantum pada direktori aplikasi.

Semoga bermanfaat.
on 10 Oct 2017 12:50 PM
Pada akhirnya, saya menemukan cara yang pas untuk membuat LiveUSB GnU/Linux. Caranya tentu dengan menggunakan perintah "dd". Saya rasa, perintah ini yang sudah cukup pas, untuk membuat LiveUSB GnU/Linux.

Perintah yang saya gunakan untuk membuat LiveUSB GnU/Linux adalah:
dd if=[file] of=[device] bs=4M; sync
Penjelasannya:
  • [file] is the name of the input image, e.g. "netinst.iso"
  • [device] is the device matching the USB flash drive, e.g. /dev/sda, /dev/sdb. Be careful to make sure you have the right device name, as this command is capable of writing over your hard disk just as easily if you get the wrong one!
  • "bs=4M" tells dd to read/write in 4 megabyte chunks for better performance; the default is 512 bytes, which will be much slower
  • The "sync" is to make sure that all the writes are flushed out before the command returns.
Menurut saya, kuncinya ada di "bs=4M" dan "sync." Jangan lupakan tanda baca titik koma (;)! Saya mencoba beberapa kali membuat LiveUSB dengan berbagai distro menggunakan perintah ini, semuanya bisa berjalan dengan baik.

Demikian, semoga bermanfaat.


Bahan bacaan:

  1. https://en.wikipedia.org/wiki/Dd_(Unix)
  2. https://www.debian.org/CD/faq/
on 10 Oct 2017 12:32 PM

22 Aug 2017

what is a vpn
Masalah ini sebetulnya sudah terjadi cukup lama, ketika saya memasang Fedora ke perangkat yang saya gunakan. Kenapa Fedora? Karena ketika saya menggunakan distro GnU/Linux Ubuntu, saya tidak menemui masalah untuk terkoneksi ke VPN.

Saya menggunakan distro GnU/Linux Fedora 26. Titik masalah sebetulnya sudah teridentifikasi. Firewall yang aktif secara baku pada Fedora menghalangi saya untuk bisa terkoneksi dengan VPN. Agar saya bisa terhubung dengan VPN, akhirnya saya harus menonaktifkan firewall kemudian mengaktifkannya ketika saya tidak menggunakan VPN.

Namun saya merasa "telanjang" ketika firewall dinon-aktifkan :D. Mungkin itu perasaan saya ajah kali yak, tapi...saya penasaran untuk menemukan cara, bagaimana supaya saya bisa terkoneksi ke VPN tanpa harus menonaktifkan firewall dan ketemu caranya.

Sebagai catatan, cara-cara yang saya tuliskan di sini, ada dalam forum diskusi yang saya gunakan sebagai rujukan.

Cara pertama, dengan menambahkan koneksi pptp ke dalam setelan firewall Fedora. Namun sayang, cara ini ternyata tidak dapat berjalan sebagaimana mestinya. Bahkan setelah memula ulang layanan firewall, cara ini tidak dapat berfungsi sesuai harapan.

Cara kedua, dengan memasukkan perintah-perintah di bawah melalui perintah baris.
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT 
firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 0 -p gre -j ACCEPT 
firewall-cmd --reload
Lakukan secara berurutan. Hasilnya? Saya pun bisa terkoneksi ke VPN tanpa harus menonaktifkan firewall.

Demikian dan silahkan. Semoga bermanfaat bagi yang membutuhkan ;).


Rujukan:
[1] https://goo.gl/d3ZSQR
[2] https://goo.gl/MLqULK


on 22 Aug 2017 11:57 PM

09 Aug 2017

Lama saya baru sadar kalau tulisan-tulisan lama di blog ini tidak lagi bisa diakses. Baru sadar setelah iseng-iseng baca tulisan-tulisan lama saya sendiri. Secara naluri otomatis saya menyalahkan plugin-plugin baru yang saya pasang. Termasuk menyalahkan update WordPress terbaru.

Utak-atik sana-sini, lama baru ketemu apa penyebabnya.

Ternyata karena plugin Facebook OpenGraph, Twitter Card, dkk. 😐

on 09 Aug 2017 09:51 AM

24 Jul 2017

Karena harddisknya di pindah ke server lain, ethernet cardnya tidak ke detek di config /etc/network/interface

silahkan ketik perintah

lspci | grep -i net

pastikan network card sudah terdetek pada OSnya

silahkan ketik perintah

sudo ls /sys/class/net

apakah ada perubahan nama network card yang biasa  eth0 atau eth1 menjadi yang lain seperti eth2 dan eth3 dst..

selanjutnya silahkan rubah pada config /etc/network/interface

Reboot kembali server


on 24 Jul 2017 06:46 AM

20 Jul 2017

Selama beberapa tahun saya terbiasa menggunakan Digital Audio Workstation (DAW) yang bernama Ableton. Ketika masih di Windows, ataupun ketika sudah berganti ke laptop Mac. Kekurangannya, hampir semua instrumen bawaan Ableton tidak pernah saya gunakan. Mentok saya cuma gunakan untuk membuat white-noise.  Jadinya sangat bergantung dengan VST.

Setelah install ulang Mac saya dengan OS terbaru (Sierra), saya memutuskan berganti ke Logic Pro X. Agak berat sebenarnya, karena Logic ini hanya tersedia di Mac. Jika suatu saat nanti saya berganti ke OS lain, otomatis program ini tidak bisa saya gunakan lagi.

Saya nyaman sekali menggunakan Ableton sebenarnya. Tapi selain kekurangan di atas, harga Ableton juga mahal, $799, kalau dikonversi ke Rupiah menjadi sekitar Rp 10 juta.

FL Studio saya tidak begitu familiar, cuma pernah coba sehari atau 2 hari jaman kuliah dulu. Harganya sama dengan Logic sebenarnya, itu sudah termasuk berbagai instrumen VST. Sayangnya FL Studio tidak tersedia untuk Mac. Dulu sih mereka pernah meluncurkan versi Betanya untuk Mac. Tapi entah mengapa gak lanjut.

Anyway, akhirnya saya akhirnya membeli Logic Pro. $199, dirupiahkan kemarin menjadi Rp2,99 jt. Tapi ini sudah dilengkapi berbagai instrumen dan sampler. Selain itu kita bisa download sekitar 80GB sound sample dan loop, gratis, free royalti, resmi dari Apple. Jadi enggak perlu beli sample sound seperti Vengeance dkk, yang harganya justru lebih mahal dari Logic.

Setelah coba-coba selama sebulanan (yes, this is my first time using Logic), akhirnya berhasil jadi 1 lagu, genrenya dance music. Saya juga gak tahu ini genre Electro House, atau apa. Saya cuma pehobi amatiran. Kalau suka silahkan didownload via situs-situs downloader YouTube itu. 😀

Gimana, enak lagunya?

on 20 Jul 2017 04:33 PM

17 Jul 2017

Nggak lama setelah saya meningkatkan versi Fedora pada mesin yang saya gunakan, saya jelas mencoba-coba apa yang ada sebelumnya. Apakah semuanya berjalan dengan lancar. Nyatanya, sebagian besar aplikasi dapat berjalan dengan baik ketika saya meningkatkan versi Fedora menjadi versi 26.

Kemudian, apakah memang tidak ada masalah terkait aplikasi? Ya jelas ada. VirtualBox yang saya gunakan mengeluarkan pesan galat, ketika saya mencoba menjalankannya. Entah apakah ada hubungannya dengan hal yang terjadi sebelumnya, di mana repositori VirtualBox yang saya pasang, ketika melakukan update, malah muncul pesan galat seperti gambar di bawah:


Failed to synchronize. Ya sudah lah.. Daripada gatel sama pesan galat tersebut, diputuskan untuk tidak dilakukan investigasi dalam waktu secepatnya. Bisa jadi memang belum ada repositori yang tersedia bagi VirtualBox untuk Fedora 26. Rename sahaja nama repositori untuk VirtualBox ini. Masalah selesai. 

Tapi sebetulnya masalah yang sebenarnya adalah, VirtualBox yang sudah terpasang tidak mau jalan malah memunculkan pesan seperti ini:


Lantas kemudian diikuti dengan pesan seperti ini:


La dalah! Terkait kernel. Setidaknya pesan galat di atas sudah memberitahu apa yang harus dilakukan. Saya melakukan pemeriksaan apakah paket akmod-VirtualBox sudah terpasang. Sesuai perintah, Terminal mengatakan sudah terpasang.

Lantas? Saya coba menjalankan perintah systemctl dst dst, memang memunculkan pesan galat sich. Katanya systemd-modules-load.service nggak jalan. Lah...kenapa bisa? Nggak tempe jugak kenapa. Asumsinya...ya masalah terkait kernel lagih. Cuman apa?!

Ternyata, saya terlewat satu perintah. Perhatikan sekali lagi pesan galat dari gambar di atas. Ada satu perintah yang seharusnya saya eksekusi. Apa itu?
/usr/bin/akmods
Ya, saya terlewat, bahwasanya saya harus menjalankan perintah itu jugak. Bagaimana hasilnya? Perintah pertama, saya lalui tanpa hasil, dengan meninggalkan pesan untuk menambahkan opsi --force. Jad perintahnya begini:
/usr/bin/akmods --force
Hasil akhirnya, sekaligus dengan perintah yang sebelumnya saya eksekusi, seperti pada gambar di bawah:


Dengan hasil akhir seperti gambar di atas, VirtualBox yang sudah terpasang bisa berjalan lagi dengan baik.

Demikian, pada akhirnya, selamat menikmati :).
on 17 Jul 2017 01:35 PM

30 Jun 2017

In this tutorial, I assume that you are familiar with linux Terminal and basic command line.

Step 1.Make sure your wireless card in “Monitor mode”.
aireply01

Type “iwconfig your_wireless_card”.
You can turn off the wireless card, switch to ‘Monitor Mode’ and turn it on again.
aireply02

I prefer to use ‘airmong-ng’ to create a virtual wireless network. Airmon-ng is bash script that use to turn wireless card into monitor mode.
aireply03

Step 2. Run airodump-ng to check who are connected to your wifi network.
BSSID is your Access Point MAC address.
ESSID is your Access Point name.
STATION is the list of devices that are connected to BSSID.
For example, I want to kick out device with MAC address 70:72:0D:59:3D:81 from my Access Point. My Access Point MAC address is 98:DE:D0:4C:DF:74.
aireply04

Step 3. Run ‘aireply-ng’ to kick off the target.
Type: $ sudo aireplay-ng -0 0 -a your_Access_point -c your_target mon0
aireply05

 

 

 

 

 

 

 

 

 

 

 

 

 

 


on 30 Jun 2017 02:33 AM

Ping is a simple test to check if the target is exist. When your are connected with free wifi in a cafe library etc, and someone try to hack your system, usually this is one of the method that they do.

You can it using tcpdump.

If it’s not in your system yet, you can install by typing (for Ubuntu): apt-get install tcpdump in your linux terminal.

Type the command below to start the process:

sudo tcpdump -i wlan0 icmp and icmp[icmptype]=icmp-echo
-i option is for your wireless network interface. I use atheros chipset, so my one is wlan0.
When I ping from my other device, tcpdump will tell me that there is a device from an ip address try to ping me.
tcpdump


on 30 Jun 2017 02:31 AM

18 Jun 2017

Sejak teknologi A2DP muncul saya belum begitu tertarik untuk mencobanya. Baru kemarin-kemarin saja mulai tertarik untuk mencoba. Hasil dari mencoba menggunakan bluetooth speaker besutan Mifa jadi pengen mencoba merk lain dan yang relatif lebih kecil. Belilah... Xiaomi Bluetooth Speaker Portable yang bentuknya agak imut.

Awalnya memang digunakan di ponsel. Tapi iseng-iseng mencoba dikoneksikan dengan MacbookPro8,1 yang terinstall LinuxMint. Teman-teman menyebut Macbook yang saya gunakan adalah Macbook Bajakakan. Berikut langkah-langkah mengkoneksikan dengan Xiaomi Bluetooth Speaker Portable:
1. Klik pada bagian kanan bawah dengan logo Bluetooth kemudian muncul menu seperti gambar di bawah ini.


2. Pilih Bluetooth Settings maka akan muncul gambar dibawah ini.

3. Klik tanda plus (+) sambil mencari bluetooth sekitar menyala, pilih MI Portable Bluetooth Speaker, klik Continue .

4. Klik Quit, artinya komputer dan Xioami Bluetooth Speaker Portable sudah terkoneksi.

5. Setting Xiaomi Bluetooth Speaker Portable pada bagian Sound Settings.

6. Pilih Headset seperti pada gambar di bawah ini.

7. Anda juga dapat melakukan pengujian suara untuk memastikan suara dari komputer keluar di Xiaomi Bluetooth Speaker menggunakan Test Sound.

8. Setelah suara terdengar saatnya Anda menikmati hiburan favorit.




on 18 Jun 2017 09:34 AM

16 Apr 2017

OK, langsung saja download flag.zip yang di berikan seperti diatas.
Sebelumnya, mari kita cek dahulu flagnya.
$ file flag.png 
flag.png: PNG image data, 960 x 5, 8-bit/color RGBA, non-interlaced

Bisa kita cek lebih dalam lagi file nya dengan binwalk.
$ binwalk flag.png 

DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 PNG image, 960 x 5, 8-bit/color RGBA, non-interlaced
253 0xFD Zlib compressed data, default compression
330 0x14A PNG image, 960 x 5, 8-bit/color RGBA, non-interlaced
392 0x188 Zlib compressed data, default compression
469 0x1D5 PNG image, 960 x 5, 8-bit/color RGBA, non-interlaced
---snip---
7514 0x1D5A Zlib compressed data, default compression
8404 0x20D4 PNG image, 960 x 5, 8-bit/color RGBA, non-interlaced
8466 0x2112 Zlib compressed data, default compression
9249 0x2421 PNG image, 960 x 5, 8-bit/color RGBA, non-interlaced
9311 0x245F Zlib compressed data, default compression

Setelah itu estrak file gambarnya menggunakan foremost.
$ foremost -v flag.png 
Foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus
Audit File

Foremost started at Fri Apr 14 00:57:40 2017
Invocation: foremost -v flag.png
Output directory: /home/darm/CTF/FITHACK/forensic/aw/output
Configuration file: /etc/foremost.conf
Processing: flag.png
|------------------------------------------------------------------
File: flag.png
Start: Fri Apr 14 00:57:40 2017
Length: 82 KB (84177 bytes)

Num Name (bs=512) Size File Offset Comment

0: 00000000.png 330 B 0 (960 x 5)
1: 00000000_1.png 139 B 330 (960 x 5)
2: 00000000_2.png 139 B 469 (960 x 5)
3: 00000001.png 139 B 608 (960 x 5)
4: 00000001_1.png 139 B 747 (960 x 5)
5: 00000001_2.png 139 B 886 (960 x 5)
6: 00000002.png 139 B 1025 (960 x 5)
7: 00000002_1.png 139 B 1164 (960 x 5)
8: 00000002_2.png 139 B 1303 (960 x 5)
9: 00000002_3.png 139 B 1442 (960 x 5)
10: 00000003.png 254 B 1581 (960 x 5)
11: 00000003_1.png 357 B 1835 (960 x 5)
12: 00000004.png 516 B 2192 (960 x 5)
13: 00000005.png 603 B 2708 (960 x 5)
14: 00000006.png 657 B 3311 (960 x 5)
15: 00000007.png 764 B 3968 (960 x 5)
16: 00000009.png 932 B 4732 (960 x 5)
17: 00000011.png 895 B 5664 (960 x 5)
18: 00000012.png 893 B 6559 (960 x 5)
19: 00000014.png 952 B 7452 (960 x 5)
20: 00000016.png 845 B 8404 (960 x 5)
21: 00000018.png 1 KB 9249 (960 x 5)
22: 00000020.png 901 B 10328 (960 x 5)
23: 00000021.png 936 B 11229 (960 x 5)
24: 00000023.png 946 B 12165 (960 x 5)
25: 00000025.png 1 KB 13111 (960 x 5)
26: 00000027.png 795 B 14142 (960 x 5)
27: 00000029.png 927 B 14937 (960 x 5)
28: 00000030.png 976 B 15864 (960 x 5)
29: 00000032.png 726 B 16840 (960 x 5)
30: 00000034.png 895 B 17566 (960 x 5)
31: 00000036.png 983 B 18461 (960 x 5)
32: 00000037.png 1 KB 19444 (960 x 5)
33: 00000039.png 1019 B 20473 (960 x 5)
34: 00000041.png 1 KB 21492 (960 x 5)
35: 00000044.png 1 KB 22760 (960 x 5)
36: 00000047.png 975 B 24130 (960 x 5)
37: 00000049.png 1 KB 25105 (960 x 5)
38: 00000051.png 1 KB 26239 (960 x 5)
39: 00000053.png 954 B 27272 (960 x 5)
40: 00000055.png 1 KB 28226 (960 x 5)
41: 00000057.png 1 KB 29528 (960 x 5)
42: 00000060.png 1 KB 30765 (960 x 5)
43: 00000062.png 1 KB 32207 (960 x 5)
44: 00000065.png 1 KB 33520 (960 x 5)
45: 00000068.png 1 KB 34835 (960 x 5)
46: 00000070.png 1024 B 36058 (960 x 5)
47: 00000072.png 850 B 37082 (960 x 5)
48: 00000074.png 1 KB 37932 (960 x 5)
49: 00000076.png 844 B 39000 (960 x 5)
50: 00000077.png 1 KB 39844 (960 x 5)
51: 00000079.png 1 KB 40899 (960 x 5)
52: 00000081.png 965 B 41927 (960 x 5)
53: 00000083.png 901 B 42892 (960 x 5)
54: 00000085.png 879 B 43793 (960 x 5)
55: 00000087.png 1 KB 44672 (960 x 5)
56: 00000089.png 862 B 45871 (960 x 5)
57: 00000091.png 944 B 46733 (960 x 5)
58: 00000093.png 1 KB 47677 (960 x 5)
59: 00000095.png 1 KB 48788 (960 x 5)
60: 00000097.png 1 KB 50164 (960 x 5)
61: 00000100.png 1 KB 51236 (960 x 5)
62: 00000102.png 1 KB 52302 (960 x 5)
63: 00000104.png 1 KB 53454 (960 x 5)
64: 00000106.png 1 KB 54677 (960 x 5)
65: 00000109.png 1 KB 55882 (960 x 5)
66: 00000111.png 1 KB 57143 (960 x 5)
67: 00000113.png 1 KB 58175 (960 x 5)
68: 00000115.png 1 KB 59223 (960 x 5)
69: 00000117.png 997 B 60313 (960 x 5)
70: 00000119.png 931 B 61310 (960 x 5)
71: 00000121.png 882 B 62241 (960 x 5)
72: 00000123.png 939 B 63123 (960 x 5)
73: 00000125.png 858 B 64062 (960 x 5)
74: 00000126.png 854 B 64920 (960 x 5)
75: 00000128.png 943 B 65774 (960 x 5)
76: 00000130.png 885 B 66717 (960 x 5)
77: 00000132.png 881 B 67602 (960 x 5)
78: 00000133.png 996 B 68483 (960 x 5)
79: 00000135.png 1 KB 69479 (960 x 5)
80: 00000137.png 1 KB 70558 (960 x 5)
81: 00000139.png 1 KB 71664 (960 x 5)
82: 00000142.png 1 KB 72726 (960 x 5)
83: 00000144.png 863 B 73797 (960 x 5)
84: 00000145.png 976 B 74660 (960 x 5)
85: 00000147.png 790 B 75636 (960 x 5)
86: 00000149.png 713 B 76426 (960 x 5)
87: 00000150.png 689 B 77139 (960 x 5)
88: 00000152.png 732 B 77828 (960 x 5)
89: 00000153.png 566 B 78560 (960 x 5)
90: 00000154.png 554 B 79126 (960 x 5)
91: 00000155.png 472 B 79680 (960 x 5)
92: 00000156.png 402 B 80152 (960 x 5)
93: 00000157.png 307 B 80554 (960 x 5)
94: 00000157_1.png 357 B 80861 (960 x 5)
95: 00000158.png 435 B 81218 (960 x 5)
96: 00000159.png 403 B 81653 (960 x 5)
97: 00000160.png 432 B 82056 (960 x 5)
98: 00000161.png 290 B 82488 (960 x 5)
99: 00000161_1.png 287 B 82778 (960 x 5)
100: 00000162.png 139 B 83065 (960 x 5)
101: 00000162_1.png 139 B 83204 (960 x 5)
102: 00000162_2.png 139 B 83343 (960 x 5)
103: 00000163.png 139 B 83482 (960 x 5)
104: 00000163_1.png 139 B 83621 (960 x 5)
105: 00000163_2.png 139 B 83760 (960 x 5)
106: 00000163_3.png 139 B 83899 (960 x 5)
107: 00000164.png 139 B 84038 (960 x 5)
*|
Finish: Fri Apr 14 00:57:40 2017

108 FILES EXTRACTED

png:= 108
------------------------------------------------------------------

Foremost finished at Fri Apr 14 00:57:40 2017

Euw, ternyata banyak juga, ada 108 files yang berhasil di ekstrak.
$ cd output/
$ ls
audit.txt png
$ cd png/
$ l
00000000_1.png 00000002.png 00000012.png 00000029.png 00000047.png 00000068.png 00000085.png 00000104.png 00000123.png 00000139.png 00000154.png 00000161.png
00000000_2.png 00000003_1.png 00000014.png 00000030.png 00000049.png 00000070.png 00000087.png 00000106.png 00000125.png 00000142.png 00000155.png 00000162_1.png
00000000.png 00000003.png 00000016.png 00000032.png 00000051.png 00000072.png 00000089.png 00000109.png 00000126.png 00000144.png 00000156.png 00000162_2.png
00000001_1.png 00000004.png 00000018.png 00000034.png 00000053.png 00000074.png 00000091.png 00000111.png 00000128.png 00000145.png 00000157_1.png 00000162.png
00000001_2.png 00000005.png 00000020.png 00000036.png 00000055.png 00000076.png 00000093.png 00000113.png 00000130.png 00000147.png 00000157.png 00000163_1.png
00000001.png 00000006.png 00000021.png 00000037.png 00000057.png 00000077.png 00000095.png 00000115.png 00000132.png 00000149.png 00000158.png 00000163_2.png
00000002_1.png 00000007.png 00000023.png 00000039.png 00000060.png 00000079.png 00000097.png 00000117.png 00000133.png 00000150.png 00000159.png 00000163_3.png
00000002_2.png 00000009.png 00000025.png 00000041.png 00000062.png 00000081.png 00000100.png 00000119.png 00000135.png 00000152.png 00000160.png 00000163.png
00000002_3.png 00000011.png 00000027.png 00000044.png 00000065.png 00000083.png 00000102.png 00000121.png 00000137.png 00000153.png 00000161_1.png 00000164.png

Setelah melihat gambar hasil dari ekstrakan diatas, kalau dilihat satu persatu isi gambar adalah potongan-potongan gambar yang tidak lain adalah Flag yang kita cari-cari. Terus gimana gabunginnya? Caranya cukup mudah, kita bisa menggunakan tool dari ImageMagick yaitu convert.
$ convert -append *.png out.png

Flag: FIT{6xgwxloxq79ew}
on 16 Apr 2017 07:07 PM
Soal yang diberikan yaitu Trivia, and here you go.

Trivia1 [10]

A bug found in bash causes arbitrary code to be executed remotely
Flag format: FIT{[Capital letters and no spaces]}

Flag: FIT{SHELLSHOCK}


Trivia2 [10]

A dog breed that exists in version 3.0 of SSL.
Flag format: FIT{[Capital letters and no spaces]}

Flag: FIT{POODLE}


Trivia3 [10]

VyOS 1.0.0 - 1.0.5
Flag format: FIT{[Capital letters and no spaces]}

Flag: FIT{HYDROGEN}


Trivia5 [10]

Nickname of SHA-1 collision attack done by Google and CWI.
Flag format: FIT{[Capital letters and no spaces]}

Flag: FIT{SHATTERED}
on 16 Apr 2017 05:56 PM

Seperti yang terlihat pada challenge diatas, langsung saja kita akses pada link url https://look.problem.ctf.nw.fit.ac.jp, dan ternyata tidak ada apa-apa disana. Sesuai dari Hint yang diberikan "Look quickly", saya langsung cek response headers dari website tersebut.


Did you see the flag?
Yes, flag langsung muncul pada response headers yang terletak di set-cookie, tapi disitu terlihat ada URL encoding pada flag, dan gampang saja kita bisa melakukan decode flag melalui situs penyedia layanan URL decode seperti dibawah ini.

Flag: FIT{17_i5_n07_4_c00ki3_t0_3a7}
on 16 Apr 2017 05:50 PM

09 Apr 2017

Secara resmi ponsel yang dapat dipasang Kali NetHunter dapat dilihat pada pranala https://github.com/offensive-security/kali-nethunter/wiki#10-supported-devices-and-roms. Sampai tulisan ini dibuat Xioami Mi4 belum tercatat sebagai ponsel yang dapat dipasang Kali NetHunter. Namun pada pranala https://github.com/offensive-security/nethunter-devices/tree/master/marshmallow ada mesin cancro yang digunakan Xiaomi Mi4 dan Mi3. Kebetulan sampai saat ini Mi4 menggunakan MIUI 8.2.x yang berbasis Android M.

+fazlur rahman sudah memulai terlebih dahulu melakukan pemasangan di perangkat Xiaomi. Cara saya agak sedikit berbeda yang dilakukan oleh +fazlur rahman dan semua saya lakukan menggunakan LinuxMint. Saya memulai dari direktori Download:
1.   Ponsel sudah dalam kondisi rooted
2.   Hak akses pengembangan disesuaikan
3.   Untuk jaga-jaga, sudo python -m pip install pyopenssl pyasn1 ndg-httpsclient
4.   git clone https://github.com/offensive-security/kali-nethunter.git
5.   cd kali-nethunter/update/data/app/
6.   adb install Term-nh.apk
7.   adb install nethunter.apk
8.   cd ~/Download
9.   Unduh, wget -c https://images.offensive-security.com/https://images.offensive-security.com/kalifs-armhf-full.tar.xz
11. Pastikan hak akses pada MIUI sudah diperkenankan semuanya
12. mv kalifs-armhf-full.tar.xz kalifs-full.tar.xz
13. adb push kalifs-full.tar.xz /sdcard/
14. Jalankan aplikasi NetHunter pada ponsel
15. Ikuti petunjuk pada pilihan Kali Chroot Manager

Pada prinsipnya Kali NetHunter bisa berfungsi di Xiaomi dengan MIUI-nya namun saya belum bisa memanfaatkan maksimal karena terkendala cukup banyak seperti kapasitas internal memory dan terbentur dengan sistem keamanan MIUI yang menurut saya cukup ketat. Suatu saat kalau memang benar-benar longgar dan memiliki perangkat yang sesuai rekomendasi saya akan ngulik lagi.





on 09 Apr 2017 11:38 PM

29 Mar 2017

10 tahun lalu, kalau denger ada henpon seharga sepeda motor, orang-orang pasti komentar “Gila..!”. Orang-orang kelebihan duit aja tuh yang bakal beli segitu.

Sekarang, harga ponsel bahkan ada yang lebih mahal daripada harga sepeda motor baru. Tapi orang-orang biasa aja.

Iya, dulu sih memang ada juga ponsel harga selangit. Tapi itu karena casing-nya berlapis emas. Atau ada juga karena yang diberi hiasan berlian. Lah kalau jaman sekarang, emang ponselnya yang segitu. Harganya hampir 20 juta.

Coba aja cek harga resmi iPhone 7 dan iPhone 7 plus di Indonesia, rentang harganya di belasan juta. Tapi walaupun semahal itu, nyatanya pre-ordernya laris loh. Siapa bilang di “rezim” sekarang ekonomi Indonesia menurun? Tuh, buktinya. Mantaplah pokoknya Indonesia. Haha.

on 29 Mar 2017 07:13 PM

Dokter 5-Menitan

Okto Silaban

[Ilustrasi: pixabay.com]
Saya jarang-jarang ke rumah sakit. Rata-rata setahun cuma 2 atau 3 kali. Tapi selama beberapa tahun ini, saya menyadari pola yang sama setiap datang ke rumah sakit. Ini rumah sakit-rumah sakit top di Jakarta.

  1. Sampe rumah sakit, registrasi di bagian pendaftaran. Biasanya ada antrian. Sampai selesai sekitar 10 menit.
  2. Dateng ke ruang poliklinik si dokter. Baik itu dokter umum, maupun dokter spesialis. Biasanya lapor dulu ke suster di poli tersebut lalu diukur berat badan dan tekanan darah. Nah di sini bisa nunggu sampa 30 menit lebih. Saya pernah sampai 1 jam lebih.
  3. Ketemu dokter, ditanya apa keluhannya. Tapi ketika saya jawab, dia sibuk nulis-nulis, atau kalau rumah sakitnya udah modern, dokternya sibuk ngetik-ngetik sendiri di komputer, sambil jawab pendek “Ooh.. Hmm.. Gitu ya..” Terus lanjut disuruh baring, atau “coba duduk, matanya lihat atas”, atau “coba buka mulutnya”. Dipegang bentar, atau disenter bentar, terus sudah. Kurang lebih cuma 5 menitan.
  4. Dokter balik ke mejanya. Sibuk lagi nulis, atau ketik-ketik di komputer. Bisa 5 menitan. Ujungnya bilang “Jadi, saya resepin ini ya.. bla..bla..bla. Diminum aja seminggu dulu, terus nanti kontrol lagi ke sini.” Sudah.
  5. Keluar ruangan, laporan ke suster. Disuruh ke kasir. Sampai kasir kadang nunggu lagi, kadang enggak. Tergantung rumah sakitnya, pengaturan kasirnya bagus atau enggak. Ada lho rumah sakit yang untuk bayar di kasirnya saya harus nunggu 30 menit lebih. Sebabnya? Karena hanya ada 1 orang kasir untuk SEMUA pasien di rumah sakit itu.
  6. Selesai bayar di kasir, ke bagian farmasi/apotek. Ada yang sudah pake sistem komputer, nomor antrian ada di layar, ada juga yang dipanggil manual satu-satu. Nah kalau obatnya racikan, siap-siaplah bawa power bank buat mainan henpon. Biasanya lama banget baru jadi obatnya. Bisa 1 jam, bahkan saya gak jarang sampe 2 jam.

Jadi kalau ditotal, saya bisa menghabiskan waktu 4 jam di rumah sakit. Kalau sakitnya berat sih ya sudahlah ya, demi sehat. Tapi kalau cuma flu, diare, rasanya kok lebih tersiksa kalau ke rumah sakit. 4 jam itu waktu di rumah sakitnya aja loh, belum termasuk waktu perjalanan.

Kalau saya sih yang paling bikin kesel, dari 4 jam itu, konsultasi dengan dokternya cuma 5 menit. Seringkali mereka gak menjelaskan apa-apa. Padahal tujuannya saya pengen tahu ini sakitnya apa, cuma sakit biasa atau lain, penyebabnya apa, gimana biar gak tambah parah, gimana jaganya biar gak terulang lagi, dll. Menurut saya itu basic yang sangat perlu.

Gak jarang juga diagnosanya ngaco. Saya pernah didiagnosa “punya tenaga dalam” oleh dokter di sebuah rumah sakit terkenal (dan mahal) di daerah Jakarta Selatan. Tenaga di dalam hati buat nonjok maksud lo? 😐

Dokter 5-menitan ini sih yang menurut saya layak digantikan bot Artificial Intelligence. Pengacara kan sudah mulai tuh diganti sama bot, dokter 5-menitan gini sekalian juga lah.

Catatan: Inget ya, gak semua dokter kaya gitu. Saya juga ketemu kok dokter yang baek. Yang mau menjelaskan dengan baik apa dan kenapa sakitnya. Terus menelaah satu-satu keluhan saya, sampai bisa kasih kesimpulan diagnosa yang meyakinkan.

on 29 Mar 2017 07:36 AM

22 Feb 2017

Cygwin? Compile sendiri? PuTTY?

Nope.

Install Git for Windows saja bro. That’s it. Di dalamnya (C:\Program Files\Git\bin) sudah ada ssh.exe.

Yes, you are welcome.

on 22 Feb 2017 03:34 AM

12 Feb 2017

Menarik untuk disimak… Meme #1: We have shared software since we have written software. Meme #2: Writing good software is hard work. Meme #3: There is no scale without discipline. Meme #4: Software is inherently dynamic. Meme #5: You always get more than you give. Meme #6: Freeloaders are essential to success. Meme #7: Don’t […]
on 12 Feb 2017 01:01 PM

04 Feb 2017

Mohon maaf jika tulisan dan judul tidak nyambung saya hanya teringat gaya menulis jaman masih SMP. Belajar menulis hasil praktikum di Lab. IPA menurut saya masih bermanfaat sampai saat ini. Hal ini didasari pemilihan Instant Messenger yang cocok untuk sebuah "forum diskusi singkat". Untuk forum diskusi saya lebih menyukai milis atau web forum. Selain itu juga ada pemberitaan yang diduga ada rekayasa dalam sebuah percakapan Instant Messenger. 

A. Alat dan Bahan
Dalam ngoprek kali ini alat dan bahan yang saya perlukan sebenarnya standar dan mudah didapat (apalagi kalau menggunakan Linux). Ada pun alat dan bahan yang saya gunakan sebagai berikut:
  1. Ponsel dengan sistem operasi Android yang telah ter-root.
  2. Kabel data (sebaiknya yang original)
  3. Komputer bersistem operasi Linux
  4. ADB yang terpasang di komputer
  5. Aplikasi Sqliteman yang terpasang di komputer

B. Tujuan
Instant Messenger saat ini banyak sekali tersedia di Playstore. Bisa dikatakan terkadang bingung memilihnya. Namun yang saat ini cukup populer di Indonesia menurut JakPat yang saya kutip dari DailySocial diantaranya Blackberry Messenger, Whatsapp, Line, FB Messenger dan Telegram. Dalam ngoprek  saya tidak menggunakan tidak menggunakan Line. Intinya saya hanya ingin "melihat" pesan yang tertinggal didalam ponsel sesuai kaidah analisis forensik.

C. Langkah Kerja
Dalam tulisan ini saya tidak menjelaskan secara detil tentang mendapatkan barang bukti digital dari  Blackberry Messenger, Telegram, FB Messenger, dan Whatsapp maupun barang bukti elektronik berupa ponsel. Asumsinya bahwa proses pengambilan barang bukti digital sudah memenuhi kaidah akuisisi barang bukti digital secara logikal.
1. Pastikan ponsel dalam kondisi ter-root.
2. Pastikan ponsel dalam mode developer.
3. Pastikan USB debugging telah aktif.
4. Saya tancapkan kabel data antara ponsel dan komputer ber-Linux kondisinya aman tidak perlu install driver ponsel.
5. Jalankan perintah adb shell.
6. Masuk ke mode administrator ketik su.
7. Membuat direktori dengan perintah, mkdir /sdcarcd/forensik-201702
8. Menyalin barang bukti digital ke direktori /sdcard/forensik-201702

D.  Analisis Barang Bukti Digital
Dengan kondisi ponsel yang ter-root memudahkan dalam mendapatkan barang bukti digital. Semua barang bukti digital disalin ke direktori /sdcard/dorensik-201702. Selanjut barang bukti digital satu per satu disalin ke komputer untuk analisis menggunakan perintah adb pull /sdcard/forensik-201702/nama.db ~/forensik/2017/02/ . Ingat harus satu per satu tidak bisa menyalin secara semua dengan tanda * . Analisis lebih lanjut silakan bisa dipelajari, berikut hanya tangkapan layar dari masing-masing barang bukti digital.
1. Blackberry Messenger
Barang Bukti Digital: master.enc
2. Telegram
Barang Bukti Digital: cache4.db


Memiliki 39 Tabel
3. Whatsapp
Barang Bukti Digital: msgstore.db

Memiliki 18 Tabel
4. FB Messenger
Barang Bukti Digital: threads_db2

Memiliki 15 Tabel
E. Kesimpulan
Ada 2 Instant Messenger yang tidak bisa saya baca isi pesannya yaitu Blackberry Messenger dan Telegram. Whatsapp dan FB Messenger tidak ada enkripsi apapun sehingga sangat mudah dibaca. Sebelum 1 November 2014 Blackbeery Messenger masih bisa dibaca menggunakan BBMPork. Serupa seperti Whatsapp versi terbaru yang tidak terenkripsi. Tidak seperti jaman dulu, Whatsapp relatif sulit dibaca walaupun ada aplikasi tambahan yang dapat membongkarnya seperti Wforensic dan Whatsapp Xtract. Sekedar bonus jika Whatsapp boros media penyimpanan. Whatsapp di ponsel saya hampir "memakan" 1 GB dapat dilihat di gambar berikut.


Harapannya adanya analisis ini Anda bisa bijak memilih dan menggunakan Instant Mesenger. Insya Allah dalam waktu dekat hasil analisis ini akan saya presentasi di Padepokan ASA, waktu dan tempat mohon bisa memantau blog ini.

on 04 Feb 2017 08:00 AM

03 Feb 2017

Ini perbaikan dari tulisan sebelumnya. Masih sama dengan kata kunci terdahulu yaitu Recover MySQL Root Password, Reset MySQL Root Password, Reset Forgotten MySQL Root Password, dan lain-lain. Berikut langkah-langkah mengubah password Mysql yang lupa di Ubuntu 16.04:
1. sudo /etc/init.d/mysql stop
2. sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld ; sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &. Jika sudah muncul tulisan seperti dibawah ini berarti "angin segar".
2017-02-03T07:47:01.759823Z mysqld_safe Logging to syslog.
2017-02-03T07:47:01.763524Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-03T07:47:01.767094Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-03T07:47:01.789149Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

3. Login mysql dengan perintah, mysql -uroot -p dan tekan enter untuk memasukan password-nya.
4. Saat pada konsol mysql jalankan perintah
USE mysql;
FLUSH PRIVILEGES;
SET PASSWORD FOR root@'localhost' = PASSWORD('password_baru_anda');
FLUSH PRIVILEGES;
\q
5. Hentikan proses mysql dengan perintah, ps ax| grep mysql | awk '{print $1}' | xargs kill -9
6. Jalankan mysql dengan perintah, /etc/init.d/mysql start

 Silakan dicoba ulang menggunakan password baru anda.
on 03 Feb 2017 08:09 AM

01 Feb 2017

Sekedar refreshing mainan Wireshark, saat menyimpan hasil "capture" muncul pesan The capture file appears to be damaged or corrupt. Dibuka ulang pesan tersebut masih muncul. Solusinya supaya tidak muncul pesan tersebut maka install pcapfix. Dari Linux Mint cukup unduh dan install menggunakan perintah sudo apt-get install pcapfix.

Menggunakan pcapfix tidaklah sulit cukup mengetikan pcapfix -n namafile.pcapng



on 01 Feb 2017 03:22 AM

19 Jan 2017

HJKL

Fajran Iman Rusadi

As a vim user, I know since a long time ago that it has another key combination to do movement, in addition to the obvious arrow keys: HJKL. They are used as left, down, up, and right keys. They supposed to be convenient to use due to their location at the home row of the keyboard. The place where the hands naturally lay on.

I had been trying to use them but never feel quite comfortable using it. Maybe it's just me who don't "get" it right yet. But this changed since a couple of weeks ago when I decided to change my strategy a little bit.

on 19 Jan 2017 09:36 AM

08 Dec 2016

Some days ago, I wanted to program an ESP8266 module but somehow it sort-of always failed. Small program worked, but soon I added more into it, it started to fail. The upload process will get stuck and sometimes it eventually finished. But still, I could not get the program to run. If I checked through the serial console, I got the following message, or something similar.

ets Jan 8 2013,rst cause:4, boot mode:(3,7)

I also tried to do the connection more properly, by adding pull-up/down resistors and capacitor, but it did not help. Googling did not give the help that I needed until I someone mentioned to check the serial adapter. Could that be the problem?

on 08 Dec 2016 10:20 AM

07 Dec 2016

Beberapa waktu yang lalu saya butuh memprogram modul ESP8266 namun entah mengapa selalu gagal. Setelah coba macem2, sepertinya USB-to-Serial adapter yang saya gunakan itu bermasalah. Saya sudah pesan adapter baru namun butuh waktu lama untuk sampai; dan saya gak sabaran xD Untungnya saya menemukan artikel berisi petunjuk menggunakan Arduino Uno atau Nano untuk memprogram modul ESP8266 dan kebetulan saya punya Arduino Uno dan Nano yang bisa dipakai. Inilah cara yang saya pakai.

Perhatian! Panduan berikut ini BUKAN berisi panduan menggunakan ESP8266 dari Arduino, melainkan panduan untuk memprogram.

Arduino Uno dan Nano itu memiliki USB port yang bisa dipakai untuk memprogram dan keduanya memiliki jalur serial TX dan RX. Ternyata andai Arduino dibuat dalam mode Reset dengan cara menghubungkan RESET ke GND, maka si Arduino akan bertingkah sebagai USB-to-Serial adapter!

Sebelum lanjut, menurut yang saya baca, port Arduino itu bekerja dengan 5V sedangkan ESP8266 itu bekerja dengan 3.3V dan tidak memiliki toleransi sampai 5V. Sehingga sinyal dari Arduino yang dikirim ke ESP8266 berpotensi untuk merusak modul ESP8266 tersebut. Kebetulan saya lupa menyadari hal ini namun untungnya modul ESP8266 saya masih bisa berfungsi dengan baik. Supaya aman kita perlu mengubah sinyal 5V dari Arduino menjadi 3.3V sehingga aman dikonsumsi oleh ESP8266. Salah satu caranya adalah dengan membuat voltage divider.

Voltage Divider

Dengan memakai kombinasi R1 = 1KΩ dan R2 = 2KΩ, kita bisa mendapatkan sinyal 3.3V yang berasal dari 5V.

Hal lain yang perlu diperhatikan adalah bagimana memberi pasokan listrik ke modul ESP8266. Menurut sebuah dokumen, ESP8266 dapat memakai arus listrik sampai 215mA sedangkan Arduino hanya dapat memasok sampai 200mA. Walau besar kemungkinan ESP8266 tidak akan memakai arus sebesar itu ketika diprogram, akan lebih baik jika kita menggunakan sumber listrik yang lain. Menurut eksperimen saya, bread board power supply biasa sudah cukup untuk memenuhi kebutuhan pasokan listrik untuk ESP8266.

Mari lanjut dengan menghubungkan Arduino dengan ESP8266. Buat hubungan sebagai berikut.

  • Arduino TX ke ESP8266 TX
  • Arduino RX ke voltage divider input
  • Voltage divider output ke ESP8266 RX
  • Arduino RESET ke GND
  • Hubungkan semua GND
    • Arduino GND
    • ESP8266 GND
    • Voltage divider GND
    • Breadboard power supply GND
  • Breadboard power supply 3.3V ke ESP8266 VCC
  • ESP8266 CH_PD ke 3.3V via resistor 10KΩ
  • Untuk mengaktifkan mode pemrograman, hubungkan ESP8266 GPIO0 ke GND via resistor 10KΩ

Kalau digambarkan, kira2 akan terbentuk hubungan seperti berikut.

Koneksi ESP8266 dengan Arduino

Setelah semua siap, sambungkan Arduino via USB dan nyalakan breadboard power supply dan modul ESP8266 sudah bisa diprogram. Jika menggunakan Arduino IDE, cukup pilih board ESP8266 dan port USB yg dipakai.

Berdasar pengalaman saya, walau konfigurasi di atas ini sudah bisa berfungsi, kadang2 saya masih menemui kegagalan ketika proses pemrograman berlangsung. Saya belum tahu apa sebabnya namun biasanya setelah saya matikan dan nyalakan lagi si breadboard power supply, proses pemrograman berikutnya bisa berjalan lancar.

Have you tried turning it off and on again?

Selamat mencoba!

on 07 Dec 2016 08:39 AM

Hello world!

Fajran Iman Rusadi

Hi, hello there!
on 07 Dec 2016 08:09 AM

23 Nov 2016

The other day, I had problem accessing an HTTPS site from a Python script. Since I had no time to spend figuring out why (it was for a personal project anyway), I decided to make a reverse proxy using Apache. However, unlike the commonly setup reverse proxy, this one is to make an HTTPS site available as HTTP site.

This is what I needed to put in my Apache config.

<VirtualHost 127.0.0.1:12345>
    ...
    SSLProxyEngine On
    ProxyPass / https://that.secure.site/
    ProxyPassReverse / https://that.secure.site/
    ....
</VirtualHost>

I also had to enable mod_proxy and mod_ssl which can be done easily (on Debian based system) by running the following command

# a2enmod proxy ssl

Then reload or restart Apache

# service apache2 reload

The most important bit in the config above is SSLProxyEngine On. Without this the proxy would not work!

on 23 Nov 2016 09:50 AM

07 Nov 2016

Lastweek when spinning up an AWS Instance, I was greeted with an Official Ubuntu 16.04 image.. naturally I would use this image for the new service we were planning..

As all new services we deploy, we run them on Docker. One practice we do in our AWS Docker setup is to store all images in EBS as /mnt/docker.. I’m not going into details of the advantage of this setup.. but usually it is simply modifying the /etc/defaults/docker file setting DOCKER_OPTS=”-g /mnt/docker” ..

Unfortunately Docker installation did not obey this setting

$ docker info | grep "Root dir"
Root Dir: /var/lib/docker/aufs
Docker Root Dir: /var/lib/docker

even though I have correctly updated /etc/default/docker

$ cat /etc/default/docker | grep DOCKER_OPTS
# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
DOCKER_OPTS="-g /mnt/docker"

For that I modified the docker.service file

$ sudo vim /lib/systemd/system/docker.service

adding the following

EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd $DOCKER_OPTS -H fd://

reloaded systemctl and restarted docker service

$ sudo systemctl daemon-reload
$ sudo service docker restart

and now Docker installation of Ubuntu 16.04 is storing images in /mnt/docker

$ docker info | grep "Root Dir"
Root Dir: /mnt/docker/aufs
Docker Root Dir: /mnt/docker

on 07 Nov 2016 05:31 AM

27 Oct 2016



To upgrade from Ubuntu 14.10 server to Ubuntu 15.04 server, do the following steps.
Install the update-manager-core package if it is not already installed:
sudo apt-get install update-manager-core
Edit the file /etc/update-manager/release-upgrades,
sudo nano /etc/update-manager/release-upgrades
and set Prompt=normal or Prompt=lts as shown below.
# Default behavior for the release upgrader.

[DEFAULT]
# Default prompting behavior, valid options:
#
#  never  - Never check for a new release.
#  normal - Check to see if a new release is available.  If more than one new
#           release is found, the release upgrader will attempt to upgrade to
#           the release that immediately succeeds the currently-running
#           release.
#  lts    - Check to see if a new LTS release is available.  The upgrader
#           will attempt to upgrade to the first LTS release available after
#           the currently-running one.  Note that this option should not be
#           used if the currently-running release is not itself an LTS
#           release, since in that case the upgrader won't be able to
#           determine if a newer release is available.
Prompt=normal

Normal – Check to see if a new release is available. If more than one new release is found, the release upgrader will attempt to upgrade to the release that immediately succeeds the currently-running release.
LTS – Check to see if a new LTS release is available. The upgrader will attempt to upgrade to the first LTS release available after the currently-running one. Note that this option should not be used if the currently-running release is not itself an LTS release, since in that case the upgrader won’t be able to determine if a newer release is available.
As you may know, Ubuntu 15.04 is not a LTS version. So, I entered normal.
Now, it is time to upgrade your server system to latest version using the following command:
sudo do-release-upgrade -d

Follow the on-screen instructions. Reboot the server. 
on 27 Oct 2016 06:01 AM

20 Oct 2016

Sebagai salah satu seller di forum terbesar Indonesia, Kaskus mungkin anda pernah menggunakan fasilitas rekening bersamanya yang diberi nama Brankas. Semenjak sering terjadi penggelapan dana oleh beberapa Rekber (Rekening Bersama) akhirnya Kaskus secara resmi menghadirkan Rekber sendiri dimana dana dijamin aman oleh pihak Kaskus sendiri. Rekening bersama sendiri menjembatani antara pembeli dan penjual agar tidak […]
on 20 Oct 2016 04:41 AM

03 Oct 2016

on the boot, after installing broadcom wireless driver in linux Mint CInnamon Sarah we are stuck on boot. So bugs its on kernel, you just run your live usb or cd again. Change hostname to your hostname on local drive, open your terminal chroot to your local drive

hostname awangga
lsblk
mount /dev/sda2 /mnt
chroot /mnt

and run command :

sudo systemctl mask systemd-backlight@leds\:dell\:\:kbd_backlight.service


on 03 Oct 2016 11:45 PM

28 Sep 2016

Setiap kali Anda menggunakan perintah sudo pada Ubuntu, terminal akan secara default meminta Anda untuk memasukkan password root anda. Hal ini wajar mengingat keamanan sangat diprioritaskan pada sistem operasi Linux. Namun, ada beberapa kendala yang hanya beberapa orang saja yang mengeluhkan. Pada saat mengetik password di terminal tidak akan nampak apapun yang anda ketikkan di […]
on 28 Sep 2016 05:33 AM

01 Sep 2016

Instalasi ZFS di openSUSE Leap 42.1 Selamat!
on 01 Sep 2016 04:42 AM

29 Aug 2016

Hari ini nemuin salah satu vm guest yang menggunakan os solaris 10 di vmware mengalami “intermittent” koneksinya, hal ini menyebabkan user yang akses mengalami akses yang sangat lambat dan putus-putus. Setelah dicermati, ternyata vm guest ini masih menggunakan tipe ethernet “e1000” pada settingannya. Solusinya adalah dengan mengganti tipe ethernet ini menggunakan “vmxnet3”. Cara menggantinya adalah: […]
on 29 Aug 2016 11:57 AM