29 Aug 2014

MPTCP adalah sebuah ekstensi protokol TCP untuk menggunakan beberapa IP sebagai jalur-jalur transportasi dalam jaringan. Hal ini menambah kehandalan dan kecepatan transfer. Fitur ini dapat dicapai dengan memodifikasi paket TCP.

Fitur ini tak asing lagi bila kita menggunakan SCTP. Sayangnya, secara de facto Internet masih menggunakan TCP/IP. Jadi, penambahan fitur seperti ini kepada TCP sangat bagus karena kompatibel dengan sebagian besar orang.

Siapa mau coba di peladennya?

on 29 Aug 2014 04:21 AM

28 Aug 2014

Wanita Memang Menggoda

Dedi Gunawan

Kisah pilu seorang tabiin yg hafidz qur'an namun murtad pd saat berjihad. Hny krn asmara..

Lelaki gagah itu mengayunkan pedangnya menebas tubuh demi tubuh pasukan romawi. Ia adalah seorang tabiin (270H) yg hafal qur'an. Namanya adalah sebaik-baik nama, Abdullah bin Abdurrahim.

Keimanannya tak diragukan. Adakah bandingannya didunia ini seorang mujahid nan hafal quran. Namun lacur akhir hayatnya mati dalam kemurtadan dan hilang hafalannya melainkan 2 ayat saja yg tersisa. Yaitu surah al hijr ayat 2-3, rubamaa yawaddulladziina kafaru lau kaanu muslimiin, dzarhum ya`kulu wayatamatta'u wayulhihimul amal-fasaw faya'lamuun. (Org2 kafir itu diakhirat nnt sering menginginkan andai didunia dulu mrk muslim. Biarkanlah mrk mkn dn senang2, dilalaikan oleh angan2 kosong belaka, kelak mrk akan tahu akibatnya).

Seolah ayat ini adalah kutukan sekaligus peringatan اَللّه yg terakhir namun tak digubrisnya. Apakah penyebabnya?

Penyebabnya adalah wanita. Inilah kisahnya;

Pedangnya masih berkilat2 memantul sinar mentari. Masih segar berlumur merahnya darah org romawi. Ia hantarkan org romawi itu ke neraka dg pedangnya. Tak disangka nantinya dirinyapun dihantar ke neraka oleh seorang wanita romawi, tdk dg pedang melainkan dg asmara. Kaum muslimin sedang mengepung kampung romawi. Tiba2 mata Abdullah tertuju kpd seorang wanita romawi di dalam benteng. Kecantikan dan pesona wanita pirang itu begitu dahsyat mengobrak-abrik hatinya. Dia lupa bahwa tak seorangpun dijamin tak lolos su'ul khotimah.

Dia lupa bahwa maksiat dan pandangan haram adalah gerbang kekufuran. Tak tahan, iapun mengirimkan surat cinta kpd wanita itu. Isinya kurang lebih: "Adinda, bgm caranya agar aku bs smp ke pangkuanmu?" Perempuan itu mjwb: "Kakanda, masuklah agama nashrani maka aku jd milikmu."

Syahwat telah memenuhi relung hati Abdullah sampai2 ia mjd lupa beriman, tuli peringatan dan buta alquran. Hatinya terbangun tembok anti hidayah.

Khotamallaahu 'ala qulubihim wa'ala sam'ihim wa'ala abshorihim ghisyawah...
Astaghfirullah, ma'adzallah. Pesona wanita itu telah mampu mengubur imannya di dasar samudra. Demi tubuh cantik nan fana itu ia rela tinggalkan islam. Ia rela murtad.

Menikahlah dia didalam benteng. Kaum muslimin yg menyaksikan ini sngt terguncang.

Bgm mungkin? How come? Bgm bisa seorg hafidz yg hatinya dipenuhi alqur'an meninggalkan اَللّه dn mjd hamba salib? Ketika dibujuk utk taubat ia tak bs.

Dikatakannya bhw ia telah lupakan qur'an kecuali 2 ayat diatas sj dan ia bahagia hidup berlimpah harta dan keturunan bersama kaum nashrani. Dalam keadaan spt itulah dia sampai wafatnya.

Ya اَللّه seorang hafidz nan mujahid saja bs Kau angkat nikmat imannya berbalik murtad jika sudah ditetapkan murtad, apa lg hamba yg bnyk cacat ini. Tak punya amal andalan.

Saudaraku, doakan aku dan aku doakan pula kalian agr اَللّه lindungi kt dr fitnah wanita dan fitnah dunia serta dihindarkan dr ketetapan yg buruk diakhir hayat.

Ma taraktu ba'di fitnatan adhorro 'ala ar rijaal min nisaa...

"Tidaklah aku tinggalkan setelahku fitnah yg maha dahsyat bahayanya bagi lelaki kecuali fitnah wanita" (muttafaq 'alaih).

Disarikan dr tulisan DR. Hamid Ath Thahir dlm buku Dibawah Kilatan Pedang (101 kisah heroik mujahidin)
on 28 Aug 2014 01:04 PM

Intro

Pada tulisan kali ini, saya akan membahas tentang replikasi master-slave di mysql pada Ubuntu (Catatan: Di debian pun dengan cara yang sama). Untuk melakukan replikasi kita membutuhkan setidaknya dua buah host, pada kali ini saya menggunakan dua mesin dengan rincian:

  • master 192.168.57.27
  • slave 192.168.57.7

Setup mysql

Dengan asumsi kita mempunyai hak ases sudo dan belum terpasang maka kita harus melakukan pemasangan mysql server dengan cara sebagai berikut:

udienz@ubuntu:~$ sudo apt-get install mysql-server -y

Membuat pengguna replika

Dalam replikasi, kita membutuhkan user yang mempunyai hak untuk melakukan ke semua/satu database. Untuk itu silakan lakukan perintah dibawah ini pada master dan slave:

udienz@ubuntu:~$ mysql -u root -p

Anda akan di tanyakan kata sandi dari root, silakan isi kata sandi root anda. Setelah itu silakan ketik perintah dibawah ini:

mysql> create user 'penyalin'@'%' identified by '17agustusmerdeka!';
Query OK, 0 rows affected (0.00 sec)

mysql> grant replication slave on *.* to 'penyalin'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> 

Mengatur master

Untuk mengatur salah satu mesin menjadi master, silakan mengikuti langkah berikut:

udienz@master:~$ sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.orig
udienz@ubuntu:~$ sudo vim /etc/mysql/my.cnf

Langkah selanjutnya adalah mengubah harga dari variabel berikut:

  • server-id, silakan tanda # dibuang (yang biasanya di sebut dengan tanda komentar) dan diberikan nilai idientik dan tidak boleh sama dengan server lain
  • log_bin, silakan menghilangkan tanda # sehingga menjadi log_bin = /var/log/mysql/mysql-bin.log
  • bind-address, silakan di isi dengan ip yang ada atau 0.0.0.0 untuk running di semua ip yang tersedia di mesin.
  • Saya menambahkan isian untuk mengatur agar mysql tidak mereplikasi dan tidak memasukkan beberapa database ke log.

Dan berikut adalah perbedaan dari pengaturan yang saya buat

udienz@master:~$ diff -Nurp /etc/mysql/my.cnf.orig /etc/mysql/my.cnf
--- /etc/mysql/my.cnf.orig	2014-08-28 11:48:09.054434158 +0700
+++ /etc/mysql/my.cnf	2014-08-28 11:50:40.920524933 +0700
@@ -44,7 +44,7 @@ skip-external-locking
 #
 # Instead of skip-networking the default is now to listen only on
 # localhost which is more compatible and is not less secure.
-bind-address		= 127.0.0.1
+bind-address		= 192.168.57.27
 #
 # * Fine Tuning
 #
@@ -84,10 +84,18 @@ log_error = /var/log/mysql/error.log
 # The following can be used as easy to replay backup logs or for replication.
 # note: if you are setting up a replication slave, see README.Debian about
 #       other settings you may need to change.
-#server-id		= 1
-#log_bin			= /var/log/mysql/mysql-bin.log
+server-id		= 1921685727
+log_bin			= /var/log/mysql/mysql-bin.log
 expire_logs_days	= 10
 max_binlog_size         = 100M
+
+binlog-ignore-db=information_schema
+binlog-ignore-db=phpmyadmin
+binlog-ignore-db=performance_schema
+replicate-ignore-db=performance_schema
+replicate-ignore-db=test
+replicate-ignore-db=information_schema
+
 #binlog_do_db		= include_database_name
 #binlog_ignore_db	= include_database_name
 #

Kemudian cek kondisi master dengan perintah berikut:

mysql> show master status;
+------------------+----------+--------------+--------------------------------------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB                                 |
+------------------+----------+--------------+--------------------------------------------------+
| mysql-bin.000001 |      969 |              | information_schema,phpmyadmin,performance_schema |
+------------------+----------+--------------+--------------------------------------------------+
1 row in set (0.01 sec)

Dari hasil diatas mohon untuk mengingat hasil dari File yaitu mysql-bin.000001 dan Position yaitu 969 karena nantinya akan berguna bagi slave.

Langkash selanjutnya adalah mengexport database yang ada pada mesin master untuk diimport pertamakali di slave. Kenapa? dengan asumsi database sudah ada di master yang kemudian di slave, maka slave membutuhkan posisi start awal untuk melakukan replikasi, buka dari posisi awal database di master melainkan posisi sekarang di master.

udienz@master:/tmp$ mysqldump -u root -p pdns > pdns.sql
Enter password: 
udienz@master:/tmp$ ls -lah
total 16K
drwxrwxrwt  2 root   root   4.0K Aug 28 12:23 .
drwxr-xr-x 22 root   root   4.0K Aug 27 11:30 ..
-rw-rw-r--  1 udienz udienz 5.7K Aug 28 12:23 pdns.sql

Pengaturan slave

Silakan mengatur mysql di slave, pada intinya hampir sama dengan master, namun terdapat penambahan opsi relay-log dan server-id yang berbeda. Pada slave saya perbedaan dari config awal adalah sebagai berikut:

udienz@slave:~$ diff -Nurp /etc/mysql/my.cnf.orig /etc/mysql/my.cnf
--- /etc/mysql/my.cnf.orig	2014-08-28 12:25:37.864440783 +0700
+++ /etc/mysql/my.cnf	2014-08-28 12:27:19.495167636 +0700
@@ -44,7 +44,7 @@ skip-external-locking
 #
 # Instead of skip-networking the default is now to listen only on
 # localhost which is more compatible and is not less secure.
-bind-address		= 127.0.0.1
+bind-address		= 192.168.57.7
 #
 # * Fine Tuning
 #
@@ -84,10 +84,17 @@ log_error = /var/log/mysql/error.log
 # The following can be used as easy to replay backup logs or for replication.
 # note: if you are setting up a replication slave, see README.Debian about
 #       other settings you may need to change.
-#server-id		= 1
-#log_bin			= /var/log/mysql/mysql-bin.log
+server-id		= 192168577
+log_bin			= /var/log/mysql/mysql-bin.log
+relay-log               = /var/log/mysql/mysql-relay-bin.log
 expire_logs_days	= 10
 max_binlog_size         = 100M
+binlog-ignore-db=information_schema
+binlog-ignore-db=phpmyadmin
+binlog-ignore-db=performance_schema
+replicate-ignore-db=performance_schema
+replicate-ignore-db=test
+replicate-ignore-db=information_schema
 #binlog_do_db		= include_database_name
 #binlog_ignore_db	= include_database_name
 #

Restart daemon dari mysql dan import database dari master.

udienz@slave:~$ scp -r 192.168.57.27:~/pdns.sql . 
The authenticity of host '192.168.57.27 (192.168.57.27)' can't be established.
ECDSA key fingerprint is 4a:2b:a5:69:ee:98:72:f2:7a:e1:ff:22:09:83:ee:73.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.57.27' (ECDSA) to the list of known hosts.
udienz@192.168.57.27's password: 
pdns.sql                                                                                                                          100% 5827     5.7KB/s   00:00    
udienz@slave:~$ sudo /etc/init.d/mysql restart
 * Stopping MySQL database server mysqld                                                           [ OK ] 
 * Starting MySQL database server mysqld                                                                                                                     [ OK ] 
 * Checking for tables which need an upgrade, are corrupt or were 
not closed cleanly.
udienz@slave:~$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
mysql> create database pdns;
Query OK, 1 row affected (0.00 sec)

mysql> exit
Bye
udienz@slave:~$ mysql -u root -p pdns < pdns.sql 
Enter password: 

Masuk lagi ke mysql di slave untuk mengatur server master yang akan di replika

udienz@slave:~$ mysql -u root -p
mysql> slave stop; 
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> CHANGE MASTER TO MASTER_HOST = '192.168.57.27', MASTER_USER = 'penyalin', MASTER_PASSWORD = '17agustusmerdeka!', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 969; 
Query OK, 0 rows affected (0.07 sec)

mysql> slave start;
Query OK, 0 rows affected (0.00 sec)

Kemudian cek status dari slave, pastikan bahwa Slave_IO_Running dan Slave_SQL_Running mempunyai nilai YES

mysql> show slave status \G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.57.27
                  Master_User: penyalin
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 969
               Relay_Log_File: mysql-relay-bin.000002
                Relay_Log_Pos: 253
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: performance_schema,test,information_schema
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 969
              Relay_Log_Space: 409
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1921685727
1 row in set (0.00 sec)

mysql> 

Dan pastikan di master sudah ada slave yang tersambung

mysql> show slave hosts;
+-----------+------+------+------------+
| Server_id | Host | Port | Master_id  |
+-----------+------+------+------------+
| 192168577 |      | 3306 | 1921685727 |
+-----------+------+------+------------+
1 row in set (0.00 sec)

Jika terdapat problem silakan ketik

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; SLAVE START;

Bagaimana membuktikan kalau replikasi master-slave nya berhasil? silakan membuat database baru di master, atau membuat record baru di master. maka akan tampil di slave.

master

mysql> INSERT INTO domains (id, name, master, last_check, type, notified_serial, account) VALUES ('', 'ubuntu-xxx.com', NULL, NULL, 'NATIVE', NULL, NULL);
Query OK, 1 row affected, 1 warning (0.10 sec)

slave

mysql> select * from domains;
+----+----------------+--------+------------+--------+-----------------+---------+
| id | name           | master | last_check | type   | notified_serial | account |
+----+----------------+--------+------------+--------+-----------------+---------+
|  2 | ubuntu-xxx.com | NULL   |       NULL | NATIVE |            NULL | NULL    |
+----+----------------+--------+------------+--------+-----------------+---------+
1 row in set (0.00 sec)
on 28 Aug 2014 06:11 AM

27 Aug 2014

Lihat Penerapan Powerdns untuk blocking situs porno (part 1) untuk part 1

Download list situs porno.

Untuk mendapatkan list situs porno, saya menggunakan urlblacklist sebagai acuan. Silakan download pada halaman berikut

ubuntu:/tmp$ w3m http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist
ubuntu:/tmp$ ls -1
bigblacklist.tar.gz
ubuntu:/tmp$ tar -xzvf bigblacklist.tar.gz
ubuntu:/tmp$ cd blacklists/porn/
ubuntu:/tmp/blacklists/porn$ ls
domains  expressions  urls
ubuntu:/tmp/blacklists/porn$ mv domains domains-dump

Langkah selanjutnya adalah memastikan bahwa daftar domain tersebut (filename domains) memiliki content yang benar dengan syarat merupakan domain , bukan PTR maupun daftar IP.

ubuntu:/tmp/blacklists/porn$ egrep -v -e '[0-9]$' -e '^\.' domain-dump |  sed -e '/\//d' > domains

Penjelasan:

  • Egrep merupakan perintah untuk menampilkan kontent dengan kondisi tertentu
  • -v merupakan kebalikan dari match, contoh secara umum bila kita ingin mengetahui ada kata linux di berkas, cukup dengan perintah ‘grep linux *’. Jadi bila menerapkan -v maka yang terjadi adalah ‘semua dimunculkan kecuali xxxx’
  • -e ‘[0-9]$’, merupakan regex yang memastikan bahwa tidak ada dalam daftar yang mempunyai akhiran numerik. Ini untuk mengantisipasi dalam daftar mengandung IP address
  • -e ‘^\.’, expresi ini akan mencari kondi dimana dalam daftar tersebut mempunyai awalan ‘\.’ dibaca ‘slash dan titik’. contoh \.udienz.my.id
  • domain-dump, berkas yang berisikan daftar domain
  • sed -e ‘/\//d’, merupakan perintah untuk membuang karakter / di akhiran domain, contoh: udienz.my.id/

Langkah selanjutnya adalah bagaimana caranya dari daftar domain berikut (dalam hal ini isi dari berkas domains) diimport ke powerdns. Dikarenakan powerdns menggunakan mysql record dalam melakukan tugasnya, maka kita tinggal membuat membuat semacam database untuk daftar domain porno. Saya membuat bash script kecil kecilan untuk import domain ke database.

Catatan: Bila diperhatikan dari script diatas, perhatikan letak berkas domains yang berisikan daftar domain porno.

Setelah saya eksekusi script diatas, pastikan di mysql database sudah tersedia records dns nya dengan cara sebagai berikut:

ubuntu:~$ mysql -u pdns -p17agustus pdns -e 'select * from domains limit 0,10;'
+----+---------------------------+--------+------------+--------+-----------------+---------+
| id | name                      | master | last_check | type   | notified_serial | account |
+----+---------------------------+--------+------------+--------+-----------------+---------+
|  1 | -xxx.com                  | NULL   |       NULL | NATIVE |            NULL | NULL    |
|  2 | 0--0--7--hardcoresex.dk   | NULL   |       NULL | NATIVE |            NULL | NULL    |
|  3 | 0--ass-cinema-newsp.da.ru | NULL   |       NULL | NATIVE |            NULL | NULL    |
|  4 | 0--bondage.dk             | NULL   |       NULL | NATIVE |            NULL | NULL    |
|  5 | 0--fightingshaving.da.ru  | NULL   |       NULL | NATIVE |            NULL | NULL    |
|  6 | 0--foodwarez.da.ru        | NULL   |       NULL | NATIVE |            NULL | NULL    |
|  7 | 0--gratis.dk              | NULL   |       NULL | NATIVE |            NULL | NULL    |
|  8 | 0--lesbians.dk            | NULL   |       NULL | NATIVE |            NULL | NULL    |
|  9 | 0--oralsex.dk             | NULL   |       NULL | NATIVE |            NULL | NULL    |
| 10 | 0--sex.dk                 | NULL   |       NULL | NATIVE |            NULL | NULL    |
+----+---------------------------+--------+------------+--------+-----------------+---------+

Pastikan juga domain nya mempunyai record A/NS/SOA di database dengan cara sebagai beikut (misal domain 0–sex.dk dengan domain id 10):

ubuntu:~$ mysql -u pdns -p17agustus pdns -e 'select type,content from records where domain_id = '10' limit 0,10;'
+------+----------------------------------------------------------------------------------+
| type | content                                                                          |
+------+----------------------------------------------------------------------------------+
| SOA  | pdns.sby.rad.net.id hostmaster.sby.rad.net.id 2014082716 10800 1800 604800 86400 |
| A    | 127.0.0.1                                                                        |
| NS   | localhost                                                                        |
| MX   | 0--sex.dk                                                                        |
| A    | 127.0.0.1                                                                        |
+------+----------------------------------------------------------------------------------+

Cek juga dengan dig

ubuntu:~$ dig any @localhost 0--sex.dk

; <<>> DiG 9.9.5-3-Ubuntu <<>> any @localhost 0--sex.dk
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35740
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 2800
;; QUESTION SECTION:
;0--sex.dk.			IN	ANY

;; ANSWER SECTION:
0--sex.dk.		3600	IN	SOA	pdns.sby.rad.net.id. hostmaster.sby.rad.net.id. 2014082716 10800 1800 604800 86400
0--sex.dk.		3600	IN	MX	0 0--sex.dk.
0--sex.dk.		3600	IN	NS	localhost.
0--sex.dk.		3600	IN	A	127.0.0.1

;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Aug 27 17:31:12 WIB 2014
;; MSG SIZE  rcvd: 159

Selamat pdns anda sudah bisa melakukan bloking situs porno!

on 27 Aug 2014 10:34 AM

Untuk membloking situs porno, sebenarnya bisa dilakukan dengan powerdns. Berikut adalah langkah langkahnya.

Persiapan sistem

Sebelum memasang powerdns, alangkah baiknya memastikan sistem telah mendapatkan database paket terbaru. Saya menggunakan sumber dari buaya.klas.or.id untuk mendapatkan paket Ubuntu seperti dibawah:

Silakan simpan di /etc/apt/sources.list, kemudian update system.

$ sudo apt-get update
$ sudo apt-get dist-upgrade -y

Instalasi powerdns

Silakan ketik perintah dibawah ini untuk melakukan instalasi powerdns.

ubuntu:~$ sudo apt-get install mysql-server -y

Pada saat instalasi mysql-server kita akan ditanya kata sandi untuk mysql-server, kali ini saya menggunakan kata sandi merdeka. Selanjutnya melakukan pemasangan powerdns dan backendnya.

ubuntu:~$ sudo apt-get install pdns-server pdns-backend-mysql -y

Pada saat istalasi kita akan di beripilihan untuk mengatur database paket pdns-backend-mysql dengan dbconfig-common, saya memilik untuk YES. Kemudian silakan isikan katasandi mysql, dan memasukkan lagi kata sandi mysql untuk paket pdns-backend-mysql, kali ini saya menggunakan password 17agustus. Silakan pengaturan powerdns dengan perintah berikut:

ubuntu:~$ sudo cat /etc/powerdns/pdns.d/pdns.local.gmysql.conf 
# MySQL Configuration
#
# Launch gmysql backend
launch=gmysql

# gmysql parameters
gmysql-host=localhost
gmysql-port=
gmysql-dbname=pdns
gmysql-user=pdns
gmysql-password=17agustus
gmysql-dnssec=no
# gmysql-socket=

Dikarenakan kita tidak menggunakan bind sebagai backend, maka kita harus mendisable pengaturan bind. Kemudian mengatur agar powerdns bisa menjadi resolver dengan menambahkan kolom recursor.

ubuntu:~$ cd /etc/powerdns/pdns.d/  
ubuntu:/etc/powerdns/pdns.d$ sudo mv pdns.simplebind.conf pdns.simplebind.conf.disabled
ubuntu:/etc/powerdns/pdns.d$ cd ..
ubuntu:/etc/powerdns$ sudo cp pdns.conf pdns.conf.orig
ubuntu:/etc/powerdns$ sudo sed -i -e '/^#/d' -e 's/ //g' -e '/^$/d' pdns.conf
ubuntu:/etc/powerdns$ sudo cat pdns.conf
allow-recursion=127.0.0.1, 192.168.0.0/16
config-dir=/etc/powerdns
daemon=yes
disable-axfr=yes
guardian=yes
local-address=0.0.0.0
local-port=53
module-dir=/usr/lib/powerdns
setgid=pdns
setuid=pdns
socket-dir=/var/run
version-string=powerdns
recursor=8.8.8.8:53
include-dir=/etc/powerdns/pdns.d
ubuntu:/etc/powerdns$ sudo service pdns restart
 * Restarting PowerDNS Authoritative Name Server pdns

Langkah selanjutnya adalah mencoba apakah powerdns dapat berfungsi sebagai resolver dengan cara sebagai berikut:

ubuntu:/etc/powerdns$ host ubuntu.com localhost
Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases: 

ubuntu.com has address 91.189.94.156
ubuntu.com mail is handled by 10 mx.canonical.com.

Tips: Bila anda mempunyai network lain secarai client, anda dapat menambahkan network nya di isian allow-recursion

Selanjutnya di part 2

on 27 Aug 2014 08:32 AM

26 Aug 2014

DNSCrypt v1.4.0 saat ini (27/08) yang saya temukan di PPA masih untuk Saucy. Berhubung Linux Mint 17 berbasis Trusty maka pada repo ditambahkan:
deb http://ppa.launchpad.net/shnatsel/dnscrypt/ubuntu saucy main
Proses installasi DNSCrypt ketikan perintah sudo apt-get update && sudo apt-get install dnscrypt-proxy pada terminal. Setelah itu tambahkan baris supersede domain-name-servers 127.0.0.1; pada berkas /etc/dhcp/dhclient.conf atau disesuaikan dengan DNS Server di lingkungan Anda.

Restart layanan jaringan menggunakan perintah, sudo restart network-manager. Indikator keberhasilan melakukan installasi dan konfigurasi DNSCrypt, silakan Anda "berselancar di negeri antah berantah". Informasi tentang DNSCrypt dapat dilihat di http://www.opendns.com/about/innovations/dnscrypt/
on 26 Aug 2014 06:00 PM

Failed to run Bumblebee

Ronald Gautama

I have the common issue. When I try to run something through optirun, I get the following: [13395.278406] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) intel(0): [drm] failed to set drm interface version: Permission denied [13]. [13395.278522] [ERROR]Aborting because fallback start is disabled. Specification: Ubuntu GNOME 14.04 NVIDIA Corporation GeForce GT 520M Nvidia 331 […]
on 26 Aug 2014 04:27 AM

25 Aug 2014

Now let’s try to write simple code.
Open your Arduino IDE and type the codes below. I will not explain about the coding in this article yet. Just try it first.
This code will tell arduino to turn on and turn off the led light on arduino board or supply 5 volt to pin 13 every 1 second continuously.

———————————————————————————-
/* Program: Hello Word!!
   Code by: Taufan     */

const int pinLED = 13; // set pinLED as integer (number) with value13
void setup() {
pinMode(pinLED, OUTPUT); //set pin number 13 as Output.
}

void loop() {
digitalWrite(pinLED, HIGH); //supply voltage 5 volt via pin 13
delay(1000); //delay (keep turn on) for 1000 milli second (1 second).
digitalWrite(pinLED, LOW); //turn off the voltage at pin 13.
delay(1000); // keep turn off for 1 second
//repeat again.. (loop)
}
———————————————————————————-
After you type the codes, you verify it first or upload it to arduino board to run the program.
To verify the program, just click the ‘verify button’ with sign ‘‘. Verify mean, it only check if there is any error codes.
arduino_05
Or, you can press ‘Upload button’. It will verify and upload the codes at the same time to Arduino board.
arduino_06

Compiling in process…
arduino_07

Compiling and uploading the codes to arduino board is done. You can see the information at the bottom. Your total codes is 1,076 bytes of 32,256 byte maximum that you upload to arduino.
arduino_08

You can check the result at your arduino board. The program will tell arduino board to turn on the led light for 1 second, turn it off for 1 second then turn it on again. It will be repeated until we upload another code to the arduino board. The codes will stay in the board even the power source is plug off.
arduino_09
arduino_10

You can insert the Led light directly to pin 13. The long leg is Anode (+) and Short Leg is Cathode (-). It’s recommended to use resistor to decrease the current otherwise it will burn your Led. But, you don’t need it for pin 13 in arduino. It has built in resistor already.
arduino_11
If you want to try with LED light, plug in the long leg to pin 13 and the short leg to GRN (ground) pin.
arduino_12
arduino_13
Well… happy trying.


on 25 Aug 2014 09:01 PM

Before we start, I will explain a bit about few terminologies that you should know first.

Since Arduino is a type of a micro-controller, so what is Micro-Controller?
Micro-controller is a small computer on single integrated circuit board containing a processor core, memory and programmable input/output peripherals. Processor is the brain that do the process for all instructions given from the programmer. Memory is the temporary place to keep all instructions before processed by the processor. And programmable input/ouput mean that we can program Arduino to do something and change it with new program in the future.

What is the benefit using Arduino?
You can program arduino to control anything. From the simple one, light on an LED light to more complicated one. You can use it to monitor the temperature, wind speed, home automation (Music, TV, Fan, Pump, Lamps, water plant), check gas leaking, motion sensor, light sensor, heart beat sensor, robot etc. etc..
The limitation from the implementation arduino is your idea.

What you should know if you want to use Arduino?
You have to know at least basic C programming language and basic function of electronics like transistor, resistor, diode, relay, AC power and DC power. Because basically arduino is only supply and receive electric DC current through its pins, digital and analog. Just simple like that.

What are the types of Arduino?
First generation of manufactured Arduino is NG (new generation). NG used the Atmega8 chip running at 16MHz, 6K memory and run at 19200 baud. The next version was Diecimila with Atmega168 chip, 16MHz, 16 kilo byte (K) memory but still still run at 19200 baud.

In 2009 Duemilanove was released with Atmega328, 32K memory and run at 57600 baud. There is a good thing in this version. The power supply can be switched from USB to DC. Finally Arduino can be stand alone.

All of the above version use 2KB bootloader and FTDI (FT232RL) chip to control the USB interface. FT232RL is royalty free driver but it is only act as USB port. You can can’t use it with keyboard, mouse, MIDI etc.

In 2010, we got Uno. Uno in Italian mean ‘One’. It’s named to mark the upcoming release of Arduino 1.0. The Uno and version 1.0 will be the reference versions or Arduino. Uno still use Atmega328 but has smaller bootloader (521bytes) mean that you get another additional 1.5K free extra flash memory for programming. It also has atmega8u2 chip to replace FT232RL which allows various type USB interface. Now it runs at 115K baud. You can upload your codes in 3 seconds.

Arduino Uno board (front side)
ArduinoUnoFront

Arduino Uno board (back side)
ArduinoUnoBack
Until this version, Arduino chip only can run at max 16Mhz because it’s only 8-bit. May be it is not really intended for fast processing. Arduino also is still open source electronics prototyping platform for the software and the hardware.

When I write this article, Arduino Uno has already got revision 2 and revision 3.

In revision 2, there is additional resistor pulling the 8U2 HWB line to ground, make it easier to put into DFU (Device Firmware Update) mode. Mean, now you update your firmware without need to replace the chip.

In revision 3, added SDA and SCL pin that are near to the AREF pin and 2 other new pins placed near to the RESET pin, the IOREF that allow ‘shields’ to adapt to the voltage provided from the board. Atmega16U2 replace the 8U2.

Summary

Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz

You can power Arduino Uno using USB connection or an external power supply. The power source is selected automatically. The external (non USB) power can come from an AC-to-DC adapter or battery. The board can operate on an external supply of 6 to 20 volts.
The recommended range is 7 – 20volts.
If the supply is lower than 7 volts the 5V pin may supply less than 5 volt and the board maybe unstable.
If the supply is more than 12 volts, the voltage regulator may over heat and damage the board.


What OS that I can use to upload codes to the Arduino?
You can use Linux, Mac or Windows.
The good thing is for Mac and Linux user, you don’t have to install the driver. Unfortunately for Windows you have to do manually (update the .INF file).

I don’t know if it apply to Mac. I’ve tried with Windows and Linux. The speed of uploading code in Linux is much faster compare to Windows.

Before I explain further about Arduino, it will be easier if we experience it ourself. In this tutorial I use Arduino Uno. To write the codes and upload it into Arduino board you need an open source Arduino IDE (Integrated Development Environment) application.

You can download it free from www.arduino.cc .
The last version that I downloaded is arduino-1.0.5-linux32.tgz.

How to install Arduino IDE in Linux Ubuntu?
There are few files library that need to be installed before you can run the arduino IDE.
These library files are:
-gcc-avr
-avr-libc
-avrdude
-openjdk-6-jre

You can install are the libraries through Linux Terminal.
Make sure you are connected to the Internet.
Open you Linux Terminal, then type the command below:

taufanlubis@taufanlubis:~$ sudo apt-get install gcc-avr avr-libc avrdude
[sudo] password for taufanlubis:
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
binutils-avr
Suggested packages:
avrdude-doc task-c-devel gcc-doc gcc-4.2
The following NEW packages will be installed:
avr-libc avrdude binutils-avr gcc-avr
0 upgraded, 4 newly installed, 0 to remove and 7 not upgraded.
Need to get 14.6MB of archives.
After this operation, 52.8MB of additional disk space will be used.
Do you want to continue [Y/n]? y
WARNING: The following packages cannot be authenticated!
binutils-avr gcc-avr avr-libc avrdude
Install these packages without verification [y/N]? y
Get:1 http://archive.ubuntu.com/ubuntu/ lucid/universe binutils-avr 2.20-2 [3,966kB]
Get:2 http://archive.ubuntu.com/ubuntu/ lucid/universe gcc-avr 1:4.3.4-1 [5,347kB]
Get:3 http://archive.ubuntu.com/ubuntu/ lucid/universe avr-libc 1:1.6.7-1ubuntu2 [5,117kB]
Get:4 http://archive.ubuntu.com/ubuntu/ lucid/universe avrdude 5.10-1ubuntu1 [198kB]
Fetched 14.6MB in 14min 48s (16.5kB/s)
Selecting previously deselected package binutils-avr.
(Reading database … 172336 files and directories currently installed.)
Unpacking binutils-avr (from …/binutils-avr_2.20-2_i386.deb) …
Selecting previously deselected package gcc-avr.
Unpacking gcc-avr (from …/gcc-avr_1%3a4.3.4-1_i386.deb) …
Selecting previously deselected package avr-libc.
Unpacking avr-libc (from …/avr-libc_1%3a1.6.7-1ubuntu2_all.deb) …
Selecting previously deselected package avrdude.
Unpacking avrdude (from …/avrdude_5.10-1ubuntu1_i386.deb) …
Processing triggers for man-db …
Setting up binutils-avr (2.20-2) …
Setting up gcc-avr (1:4.3.4-1) …
Setting up avr-libc (1:1.6.7-1ubuntu2) …
Setting up avrdude (5.10-1ubuntu1) …
taufanlubis@taufanlubis:~$
taufanlubis@taufanlubis:~$ sudo apt-get install openjdk-6-jre
[sudo] password for taufanlubis:
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
icedtea-6-plugin icedtea-netx icedtea6-plugin
Suggested packages:
icedtea-plugin
The following NEW packages will be installed:
icedtea-6-plugin icedtea-netx
The following packages will be upgraded:
icedtea6-plugin openjdk-6-jre
2 upgraded, 2 newly installed, 0 to remove and 5 not upgraded.
Need to get 924kB of archives.
After this operation, 844kB of additional disk space will be used.
Do you want to continue [Y/n]? y
WARNING: The following packages cannot be authenticated!
icedtea6-plugin openjdk-6-jre icedtea-netx icedtea-6-plugin
Install these packages without verification [y/N]? y
Get:1 http://security.ubuntu.com/ubuntu/ lucid-security/main icedtea6-plugin 6b21.2.3-0ubuntu0.10.04.1 [936B]
Get:2 http://security.ubuntu.com/ubuntu/ lucid-security/main openjdk-6-jre 6b31-1.13.3-1ubuntu1~0.10.04.1 [219kB]
Get:3 http://security.ubuntu.com/ubuntu/ lucid-security/main icedtea-netx 1.2.3-0ubuntu0.10.04.1 [508kB]
Get:4 http://security.ubuntu.com/ubuntu/ lucid-security/main icedtea-6-plugin 1.2.3-0ubuntu0.10.04.1 [197kB]
Fetched 924kB in 54s (17.1kB/s)
(Reading database … 174112 files and directories currently installed.)
Preparing to replace icedtea6-plugin 6b20-1.9.10-0ubuntu1~10.04.2 (using …/icedtea6
plugin_6b21.2.3-0ubuntu0.10.04.1_all.deb) …
Unpacking replacement icedtea6-plugin …
Preparing to replace openjdk-6-jre 6b20-1.9.10-0ubuntu1~10.04.2 (using …/openjdk-6-jre_6b31-1.13.3-1ubuntu1~0.10.04.1_i386.deb) …
Unpacking replacement openjdk-6-jre …
Selecting previously deselected package icedtea-netx.
Unpacking icedtea-netx (from …/icedtea-netx_1.2.3-0ubuntu0.10.04.1_i386.deb) …
Selecting previously deselected package icedtea-6-plugin.
Unpacking icedtea-6-plugin (from …/icedtea-6-plugin_1.2.3-0ubuntu0.10.04.1_i386.deb) …
Processing triggers for hicolor-icon-theme …
Processing triggers for desktop-file-utils …
Processing triggers for python-gmenu …
Rebuilding /usr/share/applications/desktop.en_US.utf8.cache…
Processing triggers for menu …
Processing triggers for man-db …
Processing triggers for python-support …
Setting up openjdk-6-jre (6b31-1.13.3-1ubuntu1~0.10.04.1) …
Setting up icedtea-netx (1.2.3-0ubuntu0.10.04.1) …
update-alternatives: using /usr/lib/jvm/java-6-openjdk/jre/bin/itweb-settings to provide /usr/bin/itweb-settings (itweb-settings) in auto mode.
Setting up icedtea-6-plugin (1.2.3-0ubuntu0.10.04.1) …
Setting up icedtea6-plugin (6b21.2.3-0ubuntu0.10.04.1) …
Processing triggers for menu …
taufanlubis@taufanlubis:~$

After all library files are installed then you can extract the arduino IDE files and run the application.
In order to do that, just go your download folder, select the file, right-click mouse button then select “Extract Here” menu to extract the zip file.
arduino_01

You will get ‘arduino-1.0.5′ folder.
arduino_02

Go inside the folder and there is file name ‘arduino’. That’s the shell script file that we need to run to get the arduino IDE screen. Just double click the file.
arduino_03

If everything run smoothly, you will the screen below.
The default port is COM1. You have to tell Arduino IDE which Arduino type that you have.
arduino_04

Connect your arduino using the USB cable.
arduino_4a

Go to ‘Tools > Board‘ menu then select your arduino type.
On the right buttom screen you will the connection status.
arduino_04c

My arduino is connected via/dev/ttyACM0.
arduino_04b
That’s it. Now you are connected and ready to upload your codes.


on 25 Aug 2014 08:56 PM

Screen Shot 2014-08-25 at 2.37.04 PM
By default instalation of apache and php in centos 6.3 or ther el6. to have php can use email function to send email by script. you must be set the selinux boolean setting. by typing this :

[root@postel ~]# sestatus -b | grep -i sendmail
httpd_can_sendmail on
logging_syslogd_can_sendmail off
[root@postel ~]# setsebool -P httpd_can_sendmail 1
[root@postel ~]# setsebool -P httpd_can_network_connect on


on 25 Aug 2014 07:38 AM

23 Aug 2014

Hari-hari yang melelahkan karena sempat menyita pikiran dan pertimbangan pelaksanaan Kurikulum 2013 atau KTSP 2013. Kenapa saya masih memakai istilah KTSP? Bukankah KTSP hanya sampai KTSP 2006? Mari kita lihat sebentar apa yang ada dan tertera pada Peraturan Menteri Pendidikan dan Kebudayaan Republik Indonesia (Permendikbud RI) No. 81A Tahun 2013 yang ditetapkan pada tanggal 27 […]
on 23 Aug 2014 06:39 PM

22 Aug 2014

sumber foto : kompas.com – KOMPAS/RIZA FATHONI

Tadinya saya membaca di Kompas.com, Dahlan Iskan (Menteri BUMN) menyatakan Karen Agustiawan mundur dari posisinya sebagai CEO Pertamina. Tentunya banyak spekulasi yang beredar karena informasi ini. Dahlan Iskan lalu menjelaskan kalau Karen mundur karena mau mengajar di Harvard. Dahlan tidak menyebut Karen jadi dosen sih, cuma “mengajar”.

Kalau di Tribunnews.com, judul beritanya menyebutkan “Jadi Dosen Harvard Karen Agustiawan Mundur dari Pertamina”.

Tetapi saya tidak menemukan satupun media online yang melakukan cek silang ke Harvard untuk mengkonfirmasi hal ini. Dan entah kenapa, untuk hal ini saya begitu penasaran hingga saya mengirimkan email ke bagian PR nya Harvard (seperti tercantum di situsnya Harvard.edu) untuk mengkonfirmasi hal ini.

2 hari kemudian, inilah jawaban dari Daniel Harsha (Associate Director for Communications and Government Relations, Harvard Kennedy School) :

The Ash Center for Democratic Governance and Innovation is pleased to announce Ms. Karen Agustiawan’s appointment as a Senior Visiting Fellow at the Asia Energy and Sustainability Initiative (AESI) at the Harvard Kennedy School.  AESI is a research based collaboration among the School’s Ash Center, Belfer Center, and the Sustainability Science Program.  As a Senior Visiting Fellow, Ms. Agustiawan will conduct research relating to the intersection of innovation, energy policy and technology, and environmental outcomes in Asia.

For more information on AESI, please visit the program’s website at: www.ash.harvard.edu/Home/Programs/Institute-for-Asia/AESI

Daniel Harsha
Associate Director for Communications and Government Relations
Ash Center for Democratic Governance and Innovation
Harvard Kennedy School
79 John F. Kennedy Street, Box 74
Cambridge, MA 02138

Apa itu Senior Visiting Fellow? Silahkan googling sendiri ya. :P

on 22 Aug 2014 09:24 AM

19 Aug 2014

Mencoba CloudyG3

Jan Peter

PERHATIAN: BUKAN UNTUK PEMULA! SAYA TIDAK BERTANGGUNG JAWAB ATAS KERUSAKAN LG G2 ANDA. RISIKO TANGGUNG SENDIRI!

Diasumsikan LG G2 sudah dibebaskan dan sudah dipasangi Recovery (TWRP atau Philz).

Pasang Cloudy ROM

Sebelum mulai, unduh dan taruh ke perangkat LG G2 berkas-berkas berikut:

  1. KK_Baseband_D802.zip

  2. CloudyG3 1.3

Berkas pertama itu untuk penyesuaian baku (factory settings) D802 (LG G2 edisi Internasional) untuk Kit Kat. Berkas kedua adalah ROM Cloudy G3 itu sendiri.

Sekarang tinggal menyalakan ulang telepon untuk masuk ke Recovery. Berhubung tidak ada tombolnya, gunakan ADB dari komputer:

$ adb reboot recovery

Dari Recovery, hapus semua kecuali Internal Storage:

Wipe ⇒ Advanced Wipe ⇒ Pilih partisi yang mau dihapus:

  • Dalvik Cache
  • System
  • Data
  • Cache

Lalu geser tombol Swipe to Wipe untuk melakukan tindakan. Sekali lagi, jangan pilih Internal Storage supaya isi data kita tidak hilang.

Tekan tombol kembali beberapa kali untuk sampai ke halaman depan Recovery. Lalu, pilih Install dan pasang:

KK_Baseband_D802.zip

lalu setelah selesai, pasang

CloudyG3_1.3.zip

Setelah itu, silakan nyalakan ulang telepon dengan Reboot System atau cara yang sejenis.

Pindah dari Dalvik ke ART

ART adalah mesin baru Android pengganti Dalvik. Bila Dalvik menggunakan bytecode yang sudah dikompilasi, maka ART mengompilasi aplikasi pada saat hendak dijalankan pertama kali. Itu sebabnya, aplikasi dengan ART lebih irit tapi membutuhkan ruang lebih banyak dari Dalvik.

Opsi pengembang di LG G2

Opsi Umum pada laman Pengaturan di LG G2

Cara mengaktifkan ART adalah dengan masuk ke Pengaturan ⇒ Umum ⇒ Opsi pengembang.

Opsi pengembang

Opsi pengembang

Pada menu Opsi pengembang, pilihlah Pilih waktu operasi

Pilih Pakai ART untuk menggunakan ART.

Pilih Pakai ART untuk menggunakan ART.

Pilih Pakai ART untuk menggunakan ART. Nanti akan ditanyakan peringatan, jawab untuk melanjutkan dan nyalakan ulang telepon LG G2. Karena ART mengompilasi aplikasi saat memulai, dibutuhkan waktu agak lama untuk memperbaharui aplikasi di Android. Saya sendiri membutuhkan waktu puluhan menit untuk memperbaharui 242 aplikasi di LG G2 saya.

Kalau misalnya Anda terjebak pada layar animasi mulai LG, silakan tekan tombol Daya lama. Seperti tombol ACPI lainnya, LG G2 akan mati secara paksa. Setelah itu, nyalakan kembali perangkat itu. Saya pribadi hanya mengalami ini di awal-awal saja. Beberapa menit setelah pemakaian, telepon saya juga sempat mengalami hang. Namun, setelah di-reset paksa seperti yang telah saya sebutkan sebelumnya, perangkat berjalan normal.

Pasang Bionic Teroptimasi

Unduh berkas LG_G3_BIONIC.zip dari forum dan taruh ke perangkat LG G2. Dalvik tidak perlu karena kita menggunakan ART.

Lalu, lakukan proses yang sama seperti memasang ROM dan Baseband; 1) masuk ke Recovery; 2) pasang LG_G3_BIONIC.zip; dan 3) nyalakan kembali perangkat. Pada proses ini tidak perlu menghapus data apa pun. Bionic adalah pustaka C yang digunakan Android seperti GNU Libc. Bionic digunakan karena masalah lisensi GPL pada GNU Libc.

Yak, selesai.

Fitur CloudyG3 dan Kesan

CloudyG3 sebenarnya adalah ROM LG G3 yang disesuaikan untuk LG G2. Beberapa aplikasi LG yang dirasa tak perlu dihapus mereka (debloated). Jadi, ya, menggunakan LG G2 mirip seperti LG G3 dengan tambahan modul eXposed dan ROOT.

CloudyG3 v. 1.3 based from KVT49L (LG G3) Lock screen with knock code. My Home screen with stock widgets and icons. Flat design rules! LG Health it actually remember my steps. Gosh, I'm moving too much this day. :) LG QRemote patched with additional brands. Retracted Notification Built-in FM Radio off Built-in FM Radio on Task Manager with new tiled look and feel and a button to split screens into two halves.
on 19 Aug 2014 03:52 AM

18 Aug 2014

SLiMS mailing settings

Arif Syamsudin

Sampai beberapa waktu lalu, saya pribadi, dan beberapa rekan masih belum tau, bagaimana memecahkan masalah setelan surel pada SLiMS, supaya SLiMS dapat berkirim notifikasi melalui surel menggunakan SMTP pribadi. Maksudnya SMTP pribadi, adalah SMTP yang didapat ketika berlangganan hosting.

Biasanya kami merekomendasikan untuk menggunakan SMTP yang bebas didapat menggunakan layanan SMTP bebas dari Google [0]. Untuk bisa mengakses SMTP dari Google, cukup dengan menggunakan akun Google (atau maksudnya Gmail) yang Anda miliki. Dengan memasukkan kredensial akun yang Anda miliki, maka Anda bisa segera menggunakan SMTP tersebut.

Namun, sayang khan, apabila Anda memiliki layanan SMTP berbayar namun tidak digunakan? Buat saya sich sayang :D. Nah, sebelumnya kami memiliki permasalahan, di mana, SLiMS tidak bisa mengirimkan notifikasi apabila menggunakan SMTP berbayar tersebut. Ternyata, solusinya cukup sederhana. Terima kasih kepada mbah Yono yang sudah mengingatkan :).

/** * Mailing Settings
 */
$sysconf['mail']['enable'] = true;
$sysconf['mail']['server'] = 'ssl://smtp.gmail.com:465'; // SMTP server
$sysconf['mail']['server_port'] = 465; // the SMTP port
$sysconf['mail']['auth_enable'] = true; // enable SMTP authentication
$sysconf['mail']['auth_username'] = 'admin'; // SMTP account username
$sysconf['mail']['auth_password'] = 'admin'; // SMTP account password
$sysconf['mail']['from'] = 'admin@localhost';
$sysconf['mail']['from_name'] = 'SLiMS Administrator';
$sysconf['mail']['reply_to'] = &$sysconf['mail']['from'];
$sysconf['mail']['reply_to_name'] = &$sysconf['mail']['from_name'];

 Perhatikan baris ini, $sysconf['mail']['server'] = 'ssl://smtp.gmail.com:465'; // SMTP server. Untuk bisa menggunakan SMTP berbayar, silahkan hilangkan bagian porta (yang ditunjukkan dengan ":465), sehingga penulisannya menjadi:
$sysconf['mail']['server'] = 'ssl://smtp.domain.com'; // SMTP server
Pada baris berikutnya, $sysconf['mail']['server_port'] = 465; // the SMTP port, pastikan porta yang Anda gunakan, merupakan porta SSL yang direkomendasikan oleh hosting yang Anda langgan. Selebihnya, silahkan sesuaikan dengan setelan penggunaan POP3/IMAP dan SMTP yang diberikan oleh hosting yang Anda langgan.

Nah, kalau sudah begitu, Anda bisa menggunakan SMTP yang Anda langgan melalui hosting untuk digunakan oleh SLiMS :). Selamat berkarya!


Bahan bacaan:
[0] https://www.digitalocean.com/community/tutorials/how-to-use-google-s-smtp-server
 
on 18 Aug 2014 01:27 PM

exclude folder

Arif Syamsudin

Ceritanya, mau mengkompres satu direktori aplikasi. Di dalam direktori aplikasi tersebut, ada satu direktori yang tugasnya menyimpan berkas-berkas dijital yang jumlahnya tidak sedikit. Pernah, satu waktu, mengkompres direktori dengan menyertakan direktori yang menyimpan berkas tersebut, hasilnya? Proses kompresi berjalan lama, dan hasilnya jadi sangat besar. Direktori penyimpan berkasnya sendiri tidak terlalu penting, apabila tidak disertakan.

Lantas, bagaimana caranya mengkompres direktori aplikasi tersebut, tanpa menyertakan direktori penyimpan berkas tersebut? Gunakan fungsi "exclude" pada perintah kompresi. Kebetulan, direktori aplikasi tersebut akan saya kompres menggunakan ekstensi .tar.gz. Jadi, perintah yang saya masukkan adalah:
$ sudo tar -cvzf [output] [nama direktori]  --exclude "/lokasi/direktori/yang/diexclude"

  • -cvzf merupakan opsi kompresi dengan keluaran .tar.gz (kskss);
  • [output] merupakan nama berkas hasil kompresi. Misal, jreng.tar.gz (bisa diisi dengan nama berkas yang lain, bebas, terserah Anda);
  • [nama direktori], diisi dengan nama direktori yang akan dikompres. Misal, jreng (karena nama contoh sebelumnya jreng.tar.gz. Silahkan isi dengan nama lain, bebas, terserah Anda); 
  • --exclude merupakan opsi untuk meniadakan direktori, yang diikuti dengan;
  • "/lokasi/direktori/yang/diexclude". Perhatikan pada bagian "/diexclude" tidak ada garis miring yang mengikuti. Memang harusnya seperti itu. Jadi, pada bagian tersebut, sekali lagi, tidak ada garis miring penutup.
Dan hasilnya? Memuaskan :). Proses kompresi bisa berjalan lebih cepat. Karena kebetulan, tanpa menyertakan direktori penyimpan berkas tersebut, keluarannya hampir 1/2gb :(.
on 18 Aug 2014 01:11 PM

16 Aug 2014



Ketika kita kecil dulu belum bisa naik sepeda, kemudian memutuskan belajar naik sepeda, apakah kemudian langsung sukses atau gagal, jatuh dulu dari sepeda?

Ketika kita kecil dulu belum bisa menulis, kemudian memutuskan belajar menulis, apakah kemudian langsung bisa sukses membuat tulisan yang bagus atau gagal, berakhir coret2an ceker ayam?

Ketika kita kecil dulu belum bisa baca quran, kemudian memutuskan belajar iqro, apakah kemudian langsung bisa sukses membaca quran dengan baik, atau gagal, bacanya salah2

Ketika seseorang memutuskan belajar pemrograman, apakah langsung sukses membuat program aplikasi atau gagal dengan, banyak error disana sini.

Ketika seseorang memutuskan belajar elektronika, apakah langsung sukses membuat rangkaian elektronik, membuat robot dll atau gagal, rangkaiannya kebakar, solderannya jelek dll

Ketika seseorang memutuskan belajar adzan, apakah langsung bagus atau gagal suaranya fals ataupun malah lupa lafadznya.



Maka bagaimana ketika seseorang memutuskan berbisnis? Langsung sukses besar ataukah kegagalan yang akan ditemui, maka jawabannya adalah JELAS…

Kerelaan berteman dengan kegagalan inilah yang tidak mudah, tidak semua orang menginginkannya, apalagi mereka2 yang saat kuliah/sekolah selalu dapet nilai bagus, mentalnya jelas tidak pernah terlatih untuk hal yang demikian, makanya wajar banyak ditemui yang ipk nya pas2an malah banyak yg berhasil membangun usaha, walaupun yg ipknya bagus juga banyak yg berhasil. Mereka yang pas2an sudah sering belajar menerima kegagalan, sudah terlatih dapet nilai jelek, sudah terlatih dianggap kurang berprestasi, malah ada juga yang dianggap sebagai anak yang bermasalah dsb nya.

Terlatih dengan kegagalan-kegagalan itulah yang kemudian membuat seseorang bisa berhasil dengan bisnisnya, sebagaimana halnya jatuh bangunnya belajar bersepeda, karena dia mau untuk jatuhlah yang kemudian menyebabkan dia bisa naik sepeda. Mau untuk menggambar yang jelek lah yang kemudian bisa membuat seseorang bisa menggambar yang bagus. Mau untuk salah2 dalam menulis lah yang kemudian membuat seseorang bisa memiliki tulisan yang bagus. Mau untuk masak yang gosong, keasinan yang rasanya gak enaklah yang kemudian membuat seseorang bisa memasak dengan sangat enak.



Semakin kita terlatih dengan kegagalan, membuat kita belajar dan akhirnya bisa berhasil..

Kembali untuk yang akan memulai usaha, mau untuk gagal? Hmmm ....
on 16 Aug 2014 03:04 AM

15 Aug 2014




Pada semester 2 ini ada 5 mata kuliah yang diambil. 4 mata kuliah di depok dan 1 mata kuliah di salemba. Dari hari awal kuliah hingga tengah semester cukup berat untuk dijalani. Mulai dari hari kamis siang ketemu mata kuliah hitung2 an matematika yang nilai UTS nya cuman dapet nilai 28 hehehe. Kuliahnya selesai jam 3 sore kemudian istirahat sebentar dikosan temen kemudian jam 5 sore naik kereta ke kampus salemba. Kuliah mulai jam 7 hingga 9 malem….kalau pas capek ya nginep dikosan temen kl gak ya pulang naik angkot dari salemba ke stasiun jatinegara, trus pindah angkot ke cawang uki trus naik elf ke cileungsi, nyampe rumah ya jam 11 –an malem lah. Dah gitu besok jumatnya kuliah lagi yang isinya pemrograman, fiuh…. Pulangnya malem2 mulu abis maghrib dan seringnya hujan sehingga kadang hujan2 an dari depok sampe ke cileungsi atau pake jas hujan ditengah2 petir yang menggelegar. 

Semangat menjalani kuliah juga sudah tidak lagi sesemangat semester 1, bisa karena factor usia ataupun sebenarnya karena tidak ada lagi motivasinya, dibilang perjuangan ya berjuang untuk apa sudah mulai pudar.. dah gitu yang utama tidak ada mata kuliah yang cocok lah, ibarat makan ya ditelan aja sudah gak ada rasanya.

Makanya kalau ada temen yang tanya2 kuliah, saya berikan penjelasan dulu bahwasanya kalau kuliah jangan berharap ilmu, kalau nyari ilmu/keahlian itu adanya di tempat kursus, kalau kuliah ya nyari temen, nyari ijasah dll. Sehingga ekspektasinya ttg kuliah agar bisa diturunkan biar tidak kecewa dikemudian hari.

Setelah UTS, berbagai macam keajaiban terjadi. sangat ringan sekali menjalaninya. Ada mata kuliah yang dari uts hingga uas cuman masuk 2x aja trus kuliah jg mulai nyante, uas jg gak ada lagi ngerjain soal, tapi lebih ke presentasi2 aja. Enak dah saya cuman numpang nama aja hehe, njelasin bagian yang gampang. Ada yang ngerjain soal tp cukup dikerjakan dirumah, bisa gugel2. Ajib dah baru kali ini enak banget uas nya…. Nyantai bingiit tanpa tekanan. Yang nilai uts nya cuman dapet 28, uas nya bisa dapet 86 hehe lumayan cuman numpang nama aja dan yg pnting selamet bisa lulus kuliah, ga perlu ngulang.
on 15 Aug 2014 03:54 PM

Sering kali perangkat Android gagal dikenali kendati sudah ditambahkan di UDEV. Ketika kita cari perangkat yang terhubung, ADB mengembalikan daftar kosong:

$ adb devices
List of devices attached

Android ternyata menyediakan cara manual untuk menambahkan perangkat secara manual. Cukup tambahkan satu baris Vendor ID pada berkas adb_usb.ini. Berikut caranya.

Cari tahu Vendor ID untuk perangkat kita. Contohnya LG G2 saya:

$ lsusb
Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 011 Device 003: ID 04ca:0030 Lite-On Technology Corp. 
Bus 011 Device 002: ID 076b:5321 OmniKey AG 
Bus 011 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 002: ID 04b3:3025 IBM Corp. NetVista Full Width Keyboard
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 067: ID 1004:61f1 LG Electronics, Inc. Optimus Android Phone [LG Software mode]
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Perhatikan untuk LG G2, Vendor ID-nya adalah 0×1004. Untuk itu, silakan masukkan ke berkas adb_usb.ini

$ echo 0x1004 >> $HOME.android/adb_usb.ini

Jadinya berkas tersebut berisi:

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x1004

Perhatikan bahwa berkas tersebut sebenarnya hasil perintah pembaharuan. Tapi, selama tidak kita lakukan perintah tersebut, daftar takkan terotak-atik. Muat ulang kembali peladen ADB.

$ adb kill-server
$ adb start-server

Kalau benar, maka alatnya ada:

$ adb devices
List of devices attached 
03020af49f549229        device

Semoga membantu. Oh, iya, jangan lupa menyalakan Perunutan USB (USB Debugging) pada perangkat Android. Kalau tidak, sampai kiamat pun takkan pernah bisa terdeteksi.

on 15 Aug 2014 06:32 AM

14 Aug 2014

Tulisan ini dibuat dari

PERINGATAN:

SEMUA INI DAPAT MERUSAK TELEPON ANDA, LG G2. SAYA TIDAK BERTANGGUNG JAWAB ATAS RUSAKNYA TELEPON ANDA. RISIKO TANGGUNG SENDIRI!

Sebelumnya

Di komputer pasang dev-util/android-sdk-update-manager

sudo emerge dev-util/android-sdk-update-manager

Aktifkan Perunutan USB dari Opsi Pengembang.

Pergi ke Pengaturan ⇒ Umum ⇒ Tentang ponsel ⇒ Informasi perangkat lunak

Tekan sekitar tujuh kali pada Versi perangkat lunak

Lalu, kembali dan masuk ke Opsi pengembang.

Aktifkan Perunutan USB dari Modus Pengembang

Aktifkan Perunutan USB (USB Debugging) dari Opsi Pengembang

Tekan Pilih untuk mengaktifkan konfirmasi.

Berikan otorisasi kepada komputer yang kita gunakan untuk melakukan pemasangan.

Berikan otorisasi kepada komputer yang kita gunakan untuk melakukan pemasangan.

Spesifikasi

Berikut dari telepon

 

Spesifikasi Telepon LG G2 saya

Spesifikasi Telepon LG G2 saya sebelum dibongkar

Pesan dari lsusb

Bus 007 Device 026: ID 1004:61f1 LG Electronics, Inc. Optimus Android Phone [LG Software mode]

Berikut pesan dari dmesg

[317809.731719] usb 7-4: new high-speed USB device number 25 using ehci-pci
[317809.882599] usb 7-4: New USB device found, idVendor=1004, idProduct=631f
[317809.882602] usb 7-4: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[317809.882603] usb 7-4: Product: LGE Android Phone
[317809.882604] usb 7-4: Manufacturer: LG Electronics Inc.
[317809.882605] usb 7-4: SerialNumber: 03020af49f549229

Berikut pesan dari adb devices

List of devices attached 
03020af49f549229        device

Saatnya dibongkar

Unduh berkas dengan pergi ke laman unduhan.

Buka berkas Zip dan masuk ke dalam direktori.

unzip ioroot.zip && cd ioroot/bts

Sebenarnya ioroot sudah menyediakan adb versi GNU/Linux (adblinux). Tapi, saya lebih memilih menggunakan adb yang telah dipasang ke sistem (lewat paket dev-util/android-sdk-update-manager). Lebih barokah. :-)

Perintahkan telepon ke recovery

adb reboot recovery

Tunggu beberapa saat untuk telepon menyalakan kembali dirinya. Bila benar, akan muncul menu recovery. Gunakan tombol volume untuk naik dan turun.

Pilih menu apply update from adb

Lalu, dari komputer kirim perintah [PASTIKAN ANDA MASIH DI DIREKTORI bts]

adb sideload datroot.zip

Kalau sudah benar, akan ada gambar ASCII art “Dat Root” dan terakhir tulisan “Install from ADB Complete”.

Silakan pilih reboot system now untuk kembali masuk ke mode normal.

Terakhir

Pergi ke toko Google Play Store dan pasang aplikasi SuperSU.

Selesai.

on 14 Aug 2014 04:55 PM

13 Aug 2014

Dari beberapa informasi yang tersebar bahwa Kawal Pemilu "digawangi" oleh "Pandawa" yang tersebar di beberapa negara. "Pandawa" yang dimaksudkan adalah putra-putra bangsa yang saat ini bekerja atau menuntut ilmu di luar negeri. Dari ilustrasi Ruly Achdiat Santabrata "Pandawa" tersebut digambarkan: 
1. Yudistira: Ainun Najib di Singapura
2. Bima: Andrian Kurniady di Sydney, Australia
3. Arjuna: Felix Halim di Silicon Valley, California, US
4. Nakula: Ilham WK di Kaiserslautern, Jerman
5. Sadewa: Fajran Iman Rusadi di Amsterdam, Belanda

Ini saya rada memaksa tapi sepertinya pas :D. Komunitas Ubuntu Indonesia juga ternyata memiliki "Pandawa", yaitu penggiat Komunitas Ubuntu Indonesia yang (dulu, mungkin sekarang) masih memiliki akun surel @ubuntu.com. "Pandawa" Komunitas Ubuntu Indonesia diantaranya:
1. Andi Darmawan "belutz"
2. Andy Apdhani "imtheface"
3. Mahyuddin Susanto "udienz"
4. Fajran Iman Rusadi "iang"
5. Muhammad Takdir

Masing "Pandawa" Komunitas Ubuntu Indonesia ini memiliki peran dan kontribusi masing-masing terhadap perkembangan sistem operasi Ubuntu atau Free/Libre Open Source di Indonesia.
on 13 Aug 2014 06:10 AM

07 Aug 2014

OMG! YAY!

on 07 Aug 2014 11:46 PM

06 Aug 2014

sportdio
Seorang teman bercerita, di samping kerjaannya sebagai analyst IT, dia bersama 3 orang temannya meluncurkan toko sepatu online, Sportdio.com namanya. Kata “sport” di Sportdio sendiri digunakan sejak awal karena memang rencananya jika sudah cukup besar, mereka bisa ekspansi tidak hanya menjual sepatu, namun tetap di sekitar produk olahraga.

E-commerce bukanlah suatu hal yang baru, termasuk di Indonesia. Banyak yang sudah meluncurkan toko online. Mulai dari skala perorangan, paruh waktu, sampai dengan yang didukung oleh grup bisnis besar yang “dananya tak terbatas”. Mulai dari skala iseng-iseng, penjual serius sampai dengan distributor besar atau importir mungkin. Sportdio.com sendiri masuk kategori penjual serius, tetapi untuk saat ini belum masuk ke grup bisnis besar.

Para pendiri Sportdio adalah 4 orang anak muda, teman lama sejak jaman SMA. 2 dari antara mereka saat ini masih bekerja fulltime di perusahaan. 2 lagi sudah fulltime mengurusi Sportdio. Kenapa 2 orang tadi tidak resign dan fulltime juga di Sportdio? Apa mereka nggak serius? Nah, justru karena serius maka 2 orang masih tetap kerja sebagai karyawan. Dari perhitungan mereka, sebagai pemain baru, akan banyak dana yang diperlukan untuk belanja modal, operasional dan marketing. Dengan tetap bekerjanya sebagian dari tim mereka, maka paling tidak dalam kondisi tanpa penjualan pun, mereka masih tetap bisa beroperasi normal.

Secara bisnis, Sportdio.com sudah mencatatkan sejumlah transaksi tiap bulannya. Saya tidak tahu angkanya, yang jelas belum sebesar Zalora, Blibli, dan e-commerce kaliber raksasa lainnya itu.

Dengan konsep mereka yang fokus ke sepatu, tentu mengingatkan kita pada Zappos.com yang awalnya juga adalah toko sepatu online. Dan memang salah satu dari tim Sportdio juga pernah membaca bukunya Tony Hsieh (CEO Zappos). Bisa jadi mungkin inspirasinya memang dari Zappos.

Namun, jika merujuk pada Zappos, dari berbagai wawancara dengan Tony Hsieh maupun Nick Swinmurn (founder Zappos), kita ketahui kalau mereka pun sempat mengalami masa-masa di mana mereka hampir bangkrut. Tidak sekali dua kali. Tony Hsieh harus menjual apartemen-apartemennya satu demi satu demi menutup aliran kas Zappos. Bahkan 6 tahun sejak didirikan, Zappos belum mencapai BEP (Break Even Point). Nah, bukan tidak mungkin, Sportdio.com pun harus mengalami masa-masa ini. Karena seperti bisnis retail lainnya, biasanya pekerjaan berat di awal itu adalah marketing, yang dalam bentuk apapun tetap tidak sedikit biayanya.

Melihat keseriusan teman saya ini, apalagi salah satu dari timnya sebelumnya bekerja di salah satu perusahaan retail terbesar di Indonesia, saya rasa potensi mereka untuk bisa “mencuri” kue e-commerce di Indonesia cukup besar. Bukan tidak mungkin mereka akan jadi Zappos-nya Indonesia. Tinggal masalah berapa lama mereka kuat untuk “bakar duit” sebelum mencapai titik BEP, dan tentunya “duit siapa” yang mau dibakar? ;)

on 06 Aug 2014 04:35 AM

29 Jul 2014

Selamat Hari Raya Idul Fitri 1435 H

Taqabalallahu Minna Wa Minkum

Minal Aidin Wal Faidzin

Mohon Maaf Lahir dan Batin


Semoga amal ibadah kita diterima oleh Allah SWT. Amin

on 29 Jul 2014 02:04 PM

28 Jul 2014

Pengguna Linux dari dulu telah dimanjakan dengan alat bantu yang memudahkan pekerjaan. Apalagi di jaman saya menggunakan Linux cukup klak-klik sudah bisa mengkompresi beberapa folder menjadi 1 berkas dengan tampilan grafis. Metode kompresi yang ditawarkan juga bermacam-macam sampai saya sendiri bingung.

Paling sering saya menggunakan 7z dan zip untuk pengguna MS Windows. Jika diperuntukan pengguna Linux biasanya tar.gz, tar.bz, 7z ataupun menyesuaikan kebutuhan. Gambar dibawah ini menunjukan metode kompresi yang dapat Anda pilih sesuai dengan kebutuhan.

Melalui tulisan ini, saya berserta keluarga menyampaikan Selamat Hari Raya Idul Fitri, 1 Syawal 1435H Mohon Maaf Lahir Batin.
on 28 Jul 2014 01:00 AM

24 Jul 2014

Halo netizen, sudah lama saya tidak menulis artikel di blog ini, dengan alasan yang sama seperti setiap kali saya ungkapkan setelah lama absen menulis, yaitu kesibukan di kantor dan peranan saya sebagai kepala rumah tangga. :D

Dalam kesempatan kali ini saya baru mengenal istilah "Market(ing) Driven Product Development (MDPD)". Istilah ini pertama kali saya dengar dalam rapat internal kantor, dimana sebenarnya saya baru sadar kalau model business perusahaan tempat kerja saya sekarang ini adalah MDPD.

Padahal setelah memahami apa itu MDPD dan saya melihat kembali CV saya, ternyata saya sudah pernah bekerja di beberapa Perusahaan IT di Indonesia dengan model seperti ini. Tapi istilah resminya "baru tau". :p
Read More »
on 24 Jul 2014 01:06 AM

16 Jul 2014

Akhirnya, setelah sekian lama, kini komunitas Python Indonesia menerima donasi!

Ide ini sudah lama dilontarkan namun baru bisa dieksekusi baru-baru ini. Wow, ternyata jalan dari ide untuk dieksekusi begitu panjang.

Donasi ini pun masih menggunakan rekening a/n pribadi. Belum atas nama organisasi. Yang saya tahu, jika ingin membuka rekening atas nama organisasi maka organisasi harus berbadan hukum. Dan … jalan menuju organisasi berbadan hukum juga masih panjang.

Satu organisasi komunitas di Indonesia yang sudah berbadan hukum yang saya tahu adalah Wikimedia Indonesia. Saya sendiri menjadi menjadi anggota Wikimedia Indonesia. Tapi sayangnya energi saya sudah habis untuk bisa aktif dalam Wikimedia Indonesia. Ingin sekali datang, minimal datang ke RUA, tapi sudah tak ada waktu lagi :|

Sebenarnya, selama ini “donasi” sudah ada. Mulai dari perusahaan yang menyediakan tempat (dan makanan!) untuk kopdar. Lalu para pembicara-pembicara yang bersedia berbagi ilmu. Dan tentu termasuk mereka yang datang dan meluangkan waktu. Dalam kopdar Agustus 2014 nanti, teman-teman malah berencana mengadakan codesprint proyek members.

Semoga langkah donasi ini bisa menjadi satu dari seribu langkah untuk kontribusi komunitas F/OSS di Indonesia.

on 16 Jul 2014 07:49 AM

In POSIX OS (LINUX or MAC OSX), you have a terminal which is used to type some command to remote your server using ssh command.
You can create a local Socks Proxy forwarding traffic directly to your server, so you can bypass internet filtering by your country ISP.
in your POSIX box terminal just add comman -D port (ex. -D 1080), like this :

$ssh -D 1080 user@host.com

Alternatifely you can add port forwarder to your server proxy(you can setup a Tinyproxy) on the Internet using command

$ssh -L 8035:localhost:8035 user@host.com
so with this command, local computer on port 8035 will forward to proxy server port 8035


on 16 Jul 2014 04:16 AM

14 Jul 2014

Semarak pemilu dan pilpres 2014 kali ini menyisakan satu bagian yang sangat mengganggu saya: media online penyebar fitnah.

Media-media jenis ini, sering membuat cerita narasi yang kontroversial. Dengan menghubungkan beberapa kejadian nyata dan fakta, dibumbui beberapa imajinasi dan cerita fiktif, dibuatlah artikel yang seolah-olah benar. Tidak lupa media abal-abal ini mendiskreditkan media-media besar yang sudah belasan atau puluhan tahun dianggap kredibel.

Biasanya media-media ini isinya sangat kental dengan nuansa provokasi berbau SARA. Tokoh-tokoh dengan latar belakang SARA tertentu diangkat profilnya dan dihubung-hubungkan dengan cerita fiktif lainnya. Kadangkala mereka melakukan rekayasa pengubahan gambar (image editing) demi memuluskan fitnah dan provokasi ini. Sambil tak lupa menuduh pihak lain lah yang melakukan rekayasa gambar.

Mereka yang Terpelajar

Saya maklum kalau mereka yang “termakan” tulisan-tulisan seperti ini adalah mereka yang secara pendidikan kurang, atau akses mereka ke media informasi yang akurat kurang. Jadi kemampuan mereka menyerap, mencerna dan memverifikasi informasi terbatas.

Yang sangat menyedihkan, mereka-mereka yang berpendidikan tinggi, sarjana dari kampus ternama, bahkan pernah melanjutkan studi tingkat tinggi di negara maju, menempati posisi tinggi di institusi ternama.. –pun ikut “termakan” cerita dan tulisan-tulisan abal-abal ini. Sedih sekali saya.

Sebenarnya, seringkali hanya dengan sedikit googling pun kita sudah bisa mengetahui bahwa tulisan tersebut nyata-nyata bohong. Dan lebih parah lagi, media yang sudah beberapa kali terbukti nyata-nyata berbohong, tetap dijadikan referensi oleh mereka yang dikatakan “terpelajar”.

Ada juga yang lucu, ada saja orang yang aktif menyuarakan di social media agar jangan termakan cerita HOAX (berita / tulisan fiktif dan fitnah), padahal selama ini orang tersebut sering membagikan tulisan dari media-media HOAX di akun social medianya. Lucu.

Saya tidak menyangkal kalau ada media besar dan kredibel yang condong ke pihak-pihak tertentu. Tetapi setidaknya mereka tidak “ngarang-ngarang berita yang nyata-nyata bohong”. Dan ini bukanlah pembenaran untuk menebar fitnah membabi buta.

Yang saya khawatirkan, jika propaganda fitnah seperti ini terus berlangsung, bahkan skalanya semakin masif, tidak menutup kemungkinan sebagian warga negara kita yang mentalnya masih “labil” itu akan bergerak liar. Akan banyak penumpang gelap jika hal ini terjadi.

Batasi Kebebasan Pers?

Di sisi lain.., saya juga tidak setuju jika kebebasan pers kembali dikungkung seperti jaman Orde Baru. Mungkin memang ini harga yang harus dibayar untuk kebebasan pers, tetapi janganlah kita mundur.

Semoga masyarakat kita semakin dewasa. Punya kemampuan mencerna dan memverifikasi tulisan dengan lebih baik.

on 14 Jul 2014 07:18 AM

09 Jul 2014

Rapper yang terkenal membawakan lagu berjudul Online, Saykoji sepertinya mulai belajar menggunakan Blender untuk mengolah gambar 3D. Hal ini terlihat di pesan Facebook Saykoji.
Learning to create objects with Blender. I can't believe the software is free... Going to have a new hobby 😎
Blender bakal menjadi kegemaran baru Saykoji. Saya berharap beberapa seniman lainnya mulai melirik dan menggunakan piranti lunak yang berlisensi bebas untuk berkarya. Anda tertarik mulai menggunakan Blender untuk mengolah gambar 3D?
on 09 Jul 2014 02:00 AM

08 Jul 2014

Menulis tentang NetworkMiner serasa dejavu, seandainya repost menjadi tulisan pelengkap akhir pekan tentang resep rahasia. Selain menggunakan Wireshark saya juga menggunakan NetworkMiner. Walaupun hanya tersedia untuk sistem operasi MS Windows, NetworkMiner dapat berjalan di Linux.

Saya menginstall NetworkMiner di LinuxMint, berikut langkah installasinya:
1. Install Mono, sudo apt-get install libmono-winforms2.0-cil 
2. Unduh NetworkMiner terbaru di http://sourceforge.net/projects/networkminer/files/networkminer/
3. Ekstrak NetworkMiner ke direktori /opt, sudo unzip ~/Download/NetworkMiner_1-6-1.zip -d /opt/
4. Masuk ke direktori /opt/NetworkMiner
5. Ubah hak aksesnya, sudo chmod +x NetworkMiner.exe && sudo chmod -R go+w AssembledFiles/ && sudo chmod -R go+w Captures/ 

Menjalankan NetworkMiner melalui terminal, mono /opt/NetworkMiner_1-6-1/NetworkMiner.exe.
on 08 Jul 2014 08:25 AM

04 Jul 2014

Paket iSCSI Initiator di Solaris 11 adalah paket default, jadi secara default paket ini sudah terpasang di Solaris 11, dalam tulisan ini iSCSI target yang digunakan adalah Openfiler (10.10.10.10). Berikut…
on 04 Jul 2014 06:39 AM

01 Jul 2014

Ini adalah catatan singkat ketika mencoba zfs on linux menggunakan Debian Wheezy 64bit. Sebelum membuat zpool dan zfs filesystem, periksa terlebih dahulu ketersediaan disk yang akan digunakan. Referensi penggunakan dev…
on 01 Jul 2014 04:24 AM
Bahan Lokakarya “Oracle Solaris 11 System Administration” di Universitas Ibnu Chaldun Bogor, 22 Juni 2014.
on 01 Jul 2014 03:37 AM

28 Jun 2014

MacBook Pro dengan processor arsitektur 64bit kebanyakan sudah mendukung ram diatas 8GB, untuk itu saya memberanikan diri untuk upgrade ke 16GB, macbook pro dengan ram 16GB ternyata membuat tidak stabil, kadang Macbook mati sendiri bila menggunakan Battery, jika menggunakan Power Adaptor masalah ini tidak terjadi.
Saya sendiri menulis blog ini masih dalam proses testing. Beberapa cara sudah saya gunakan seperti memeriksa keadaan hardware dengan AHT untuk memeriksa semua kondisi hardware dan reset NVRAM/ PRAM sudah saya lakukan, tapi masalah mati mendadak masih terjadi, jika menggunakan Battery.
Reset NVRAM ini digunakan untuk mereset semua pengaturan yang tersimpan dalam modul memory pengaturan hardware, reset NVRAM hanya ada di semua perangkat Apple komputer keluarga MacBook, iMac, MacPro, MacMini. Untuk petunjuk reset NVRAM/ PRAM pada MacBook Pro sebagai berikut :

Reset NVRAM/ PRAM : 




1. Matikan Macbook kemudian tekan tombol berikut pada keyboard Macbook.
2. COMMAND + R
3. OPTION + P
4. Tekan tombol power secara bersamaan sebelum suara booting khas apple keluar, tunggu hingga 5 detik tetap tekan tombol yang sama sampai komputer hidup ulang untuk kedua kali, kemudian biarkan sampai masuk ke desktop.

Proses reset NVRAM sudah mencapai sekitaran 3 minggu setelah penggantian ram masih terjadi masalah yang sama, Padahal semua kondisi hardware dalam keadaan normal, sudah saya cek dengan menggunakan AHT. Langkah terakhir setelah saya cari cari di forum Apple, solusi dari masalah saya, untuk coba untuk reset SMC, reset SMC ini diperlukan jika hardware kita kacau seperti yang saya alami, masalah pada hardware memang bermacam-macam untuk reset SMC bisa memulihkan menjadi normal kembali.
Masalah yang terjadi biasanaya adalah, battery tidak terdeteksi, pengisian battery yang tidak normal, temperatur dan Fan tidak bekerja secara normal bisa menggunakan reset SMC.
Untuk reset SMC sebagai berikut :

Reset SMC Macbook Pro : 



1. Matikan MacBook, lepaskan magsafe kemudian pasang Magsafe kembali.
2. Tekan tombol pada keyboard OPTION + CONTROL + SHIFT (tombol bagian kiri). 
3. Secara bersamaan menekan tombol power, tunggu 3 detik kemudian lepaskan.
4. Hidupkan Ulang seperti biasa dengan menekan tombol power.

Kesimpulan hardware saya tidak terjadi kerusakan, dan hanya memory SMC yang kacau dengan penambahan hardware baru RAM 16GB, setelah selesai reset SMC masalah diatas tidak terjadi lagi dan Macbook sudah bisa di ajak kerja lagi dengan normal.
Untuk solusi bila terjadi masalah sepeti saya jangan panik keburu-buru membawa ke dokter komputer, periksa baik-baik komputer anda, lakukan langkah-langkah seperti reset hardware (reset SMC dan NVRAM/ PRAM). Sepengalaman saya menggunakan Apple jarang terjadi rewel seperti komputer lain, penangangan hardware apple juga cukup mudah :) 
on 28 Jun 2014 02:29 AM

27 Jun 2014

Blog Pemrograman

Zaki Akhmad

Pagi ini saya membaca tulisan yang menurut saya sangat bagus. Tulisan A. Jesse Jiryu Davis, Write an Excellent Programming Blog. Saya sempat bertemu dengan Jesse dalam PyCon APAC 2014, walau saya tak sempat bercakap-cakap langsung dengannya.

Saya kutip bebas bagian-bagian yang saya suka:

I want you to write. Not just code. Also words.

Thinking by writing.

Dari pengalaman saya menjadi maintainer planpin selama ini, sungguh sulit mendapatkan penulis yang bisa konsisten menulis. OK, tidak mulai dari kualitas, tapi kuantitas dulu saja. Kualitas bisa dibangun dengan kuantitas yang terus menerus ditingkatkan.

Memang, sifat tulisan ini bukanlah sesuatu yang dibayar. Bukan seperti menulis di kolom koran. Tapi bukankah menulis itu jadi satu bagian penting dalam komunitas open source? Bagaimana ide/gagasan disebarkan, bagaimana diskusi dilakukan, dan bagaimana koordinasi dilakukan.

Saya pun sadar, saya masih harus belajar menulis (dan juga membaca!) kode dengan lebih baik.

on 27 Jun 2014 04:35 AM
Jailbreak iOS 7.1.x Untethered dengan Pangu sudah tersedia sejak tanggal 23 Juni 2014, aplikasi jailbreak ini hampir semua iDevices yang mendukung iOS 7.1.x bisa di jailbreak Untethered. Saya sendiri sudah lama menikmati fasiltias jailbreak sejak bulan maret untuk menjailbreak iOS 7.1.x semi untethered dengan GeekSnow. Setelah mencoba menjailbreak iOS 7.1.x untethered dengan Pangu ada beberapa bug yang sedikit mengganggu, tapi tidak begitu mengganggu bila tidak merestart iDevices kita. Bug Pangu Jailbreak iOS 7.1.x terletak di sensor cahaya yang terletark di dekat kamera sekunder (kamera depan).
Bug Jailbreak iOS 7.1.x Pangu terjadi jika iDevices dalam ruangan kurang cahaya dalam keadaan restart, maka iDevices kita akan mengalami gagal booting atau bootloop secara berulang-ulang.


Solusinya cukup mudah cukup menaruh iDevices ke tempat yang lebih terang cahaya untuk booting normal... hmm memang cara seperti ini tidak perlu menggunakan teknologi tinggi atau mengoprek lagi, cukup cari cahaya yang cukup terang .. walla.. iDevices langsung bisa booting normal :P... .Tapi jangan kawatir bug ini pasti akan diperbaiki, tinggal tunggu saja perbaikan bug Pangu Jailbreak iOS 7.1.x untuk perangkat yang sudah didukung Pangu Untethered Jailbreak. Bila tertarik untuk menjailbreak perangkat anda silahkan coba cara ini lebih mudah dari pada kita menggunakan semi untethered, sambil menunggu perbaikan bug yang aneh ini, lagi pula bug ini tidak terlalu mengganggu bila kita tidak hobby restart, saya merasakan Jailbreak ini cukup stabil dibanding menggunakan GeekSnow. :)

##UPDATE - 30 Jun 2014

Setelah ada perbaikkan aplikasi Pangu Untethered Jailbreak iOS 7.1.x ke versi 1.1 bug boot loop sudah FIX, tidak perlu lagi mencari cahaya terang agar bisa booting normal, caranya cukup jailbreak ulang dengan aplikasi Pangu Untethered Jailbreak iOS 7.1.x versi 1.1. Sebelum Jailbreak ulang silahkan backup semua data di iTunes terlebih dahulu.

Selamat menikmati berbagai tweak menarik di Cydia repo ;-)

on 27 Jun 2014 04:17 AM

20 Jun 2014

Bersenang-senang! Iya, bersenang-senang. Karena apa yang saya kerjakan saat ini banyak berhubungan dengan alih-media, saya harus menggunakan dengan baik alat-alat per-alihmedia-an yang tersedia pada GNU/Linux. Salah satunya adalah menggunakan pdftk [0].

Sebetulnya, sudah ada beberapa aplikasi dengan GUI, seperti Master PDF Editor [1] dan PDF Studio [2], tapi bagi saya, setelah menggunakannya, lebih efektif dan efisien menggunakan pdftk. Ya, memang dituntut ketelitian dalam menulis perintah. Oia, pdftk ini aplikasi berbasis teks yang dijalankan menggunakan terminal. Aplikasi ini cukup powerfull mengingat bahwa ia dijalankan lewat terminal. Tapi seperti halnya aplikasi-aplikasi lain pada GNU/Linux, kelihatannya memang tidak indah, tapi percayalah, sama kerennya kalaupun ada antarmuka GUI-nya.

Tulisan ini sebetulnya sebagai pengingat karena perintah-perintah ini banyak saya gunakan ketika user membutuhkan berkas yang harus saya 'jahit' dan 'amankan'. Maksudnya 'jahit', menyatukan berkas-berkas .pdf yang terpisah, lantas disatukan ke dalam satu (saja) berkas .pdf. Lalu setelah dijahit, di-'amankan' dengan mengunci hak akses dan pemanfaatannya seperti mencetak, salin-tempel teks, dlsb. Perintah-perintah yang saya gunakan adalah:
  • pdftk [input.pdf] cat output [output.pdf]
Maksud dari perintah di atas, pdftk adalah aplikasi yang akan dijalankan, [input.pdf] adalah berkas-berkas .pdf yang akan disatukan. Jelas lebih dari satu. Kalau lebih dari satu, isi dari [input.pdf] adalah, misal berkas1.pdf berkas2.pdf berkas3.pdf. Berkas akan dijahit berurutan sesuai data yang ditulis. Lalu cat, perintah yang digunakan untuk menyatukan berkas-berkas tersebut. Output, bagian dari perintah yang akan menghasilkan, [output.pdf]. Pada [output.pdf], masukkan nama berkas keluarannya.
  • pdftk [input.pdf] output [output.pdf] owner_pw [foo] user_pw [foo]
Perintah ini saya gunakan untuk meng-aman-kan berkas yang sudah dijahit tadi. [input.pdf] berisi nama berkas keluaran yang dihasilkan dengan perintah sebelumnya. Atau, bisa juga berisi nama berkas .pdf apapun, yang ingin diamankan. Owner_pw akan mengunci semua properti berkas, seperti yang terlihat pada gambar di bawah ini:

Gambar 1. Keterangan pembatasan berkas yang sudah diamankan dengan perintah owner_pw
Lalu user_pw, akan mengunci berkas ketika dibuka. Jadi, ketika berkas dibuka, akan muncul peringatan untuk memasukkan kata kunci seperti gambar di bawah:

Gambar 2. Masukkan kata kunci untuk mengakses berkas
Done! There you go. Itu dia beberapa perintah pdftk yang biasa saya gunakan untuk pekerjaan yang saya lakukan. Semoga bisa menjadi pengingat dan bermanfaat bagi yang membutuhkan :). Ingin tahu lebih banyak tentang perintah-perintah (dan opsi) yang bisa dimanfaatkan dari pdftk? Masukkan perintah man pdftk pada terminal, musti banyak informasi yang keluar :D. Atau, untuk informasi yang lebih indah dipandang mata, dan lebih mudah dipahami, silahkan baca-baca tautan rujukan di bawah :).

Rujukan:
on 20 Jun 2014 12:28 PM

16 Jun 2014


Ada perangkat baru, Apple Magic Trackpad.. sepertinya kalau sudah mempunyai macbook pro ngapain juga beli barang ini? :D owh sekarang macbook saya cuma saya gunakan sebagai *PC* (keyboard, trackpad, dan Monitor LCD full HD) semua dihandle di luar laptop, jadi macbook saya sekarang ini cuma semacam saya jadikan MacMini. Sebagai designer memang saya sudah terbiasa medesain menggunakan Trackpad dari pada Mouse karena di OSX semua kegiatan untuk mendesain sudah terkover dan lebih nyaman medesain menggunakan trackpad di  OS X dari pada mesin Linux yang menurut saya licin tracking cursor di Trackpad.
Untuk sekerang ini saya juga tidak begitu memerlukan Macbook untuk kegiatan mobile, jadi cuma saya jadikan di remote melalui apple accesories wireless bluetooth, seperti apple wireless keyboard & magic trackpad.


Magic trackpad dihubungkan dengan OSX tidak usah ditanya langsung jalan dan pasti lancar jaya, tapi bagaimana dengan Linux? ternyata di Linux juga bisa. kali ini saya mencoba di mesin Linux yang masih tersisa di lingkungan rumah (Laptop DELL 1410 yang masih setia menggunakan Linux Mint Mate Dekstop), untuk Macbook sepertinya kegiatan memelihara Linux sudah saya matikan (hapus), karena beberapa pertimbangan pekerjaan sekarang ini, untuk tidak lagi terlalu banyak ngoprek Linux.



Untuk menghubungkan Magic Trackpad di Linux mint Mate Dekstop cukup mudah tinggal ramban melalui bluetooth di navbar. kemudian dilanjut untuk konfigurasi selanjutnya, Magic Trackpad di Mate Desktop terdeteksi sebagai Tablet jadi jika meramban perangkat bluetoth silahkan pilih perangkat Tablet yang ada di daftar bluetooth manager.
Sangat disayangkan Mate Dekstop tidak mendeteksi konfigurasi lebih detail seperti pengaturan multitouch gesture, saya hanya menemukan konfigurasi standar, bisa diakses melalui setting --> Tetikus.  Saya belum mencoba Magic Trackpad ini di desktop Unity Ubuntu dan KDE, tapi saya sudah menemukan beberapa referensi untuk ngoprek Magic Trackpad di Dekstop Linux, tapi karena keterbatasan waktu untuk ngoprek hal ini saya urungkan saja. Berikut beberapa tautan untuk mengatifkan multitouch gesture Magic Trackpad di Linux. Saya sendiri belum mempraktekkannya, jadi jika tertarik silahkan mencobanya :)

https://medium.com/@ituxer/apple-magic-trackpad-gestures-on-ubuntu-8aaa4b66a9e2

http://ineed.coffee/1068/os-x-like-multitouch-gestures-for-macbook-pro-running-ubuntu-12-10/

Selamat meNgoprek ...
on 16 Jun 2014 10:54 PM

15 Jun 2014

Bisa langsung saja ikuti langkah berikut ini :

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-apache-tomcat-on-a-debian-server

untuk kepentingan update ke versi jdk terbaru anda bisa mengikuti langkah berikut :

http://d.stavrovski.net/blog/post/installing-oracle-java-8-on-debian-wheezy-or-ubuntu

apabila dibutuhkan, bisa menghapus versi java sebelumnya

http://www.wikihow.com/Install-Oracle-Java-JRE-on-Ubuntu-Linux

 

Untuk membuat Virtual host anda harus memasuki host manager anda kemudian, anda bisa memasukkan absolute path host virtual anda dengan skeleton direktori didalamnya ada ROOT, didalam root ada META-INF.

 


on 15 Jun 2014 05:39 PM

08 Jun 2014

Menarik untuk disimak tulisan dari John Larmer dan John R. Mergendoller yang berjudul 7 Essentials for Project-Based Learning. Bahasan singkatnya: some “projects” border on busywork. Other involve meaningful inquiry that engages student’s minds. Apa yang membedakan projects dengan busywork yaitu projects menekankan pada process of students learning and depth of their cognitive engagement, sementara busywork […]
on 08 Jun 2014 11:49 AM