18 Oct 2014

OS X Yosemite sudah dirilis kemarin tanggal 17 Oktober 2014, tepat beberapa jam setelah Apple Live Event untuk memperkenalkan beberapa produk baru Apple. OS X Yosemite banyak miliki perubahan dari sisi desain, perubahan desain besar besaran OS X yang meninggalkan desain Skeuomorphism (desain dengan meniru object asli sebagai inspirasi) ke Desain Flat seperti UI iOS 7 yang sudah mengggunakan desain flat terlebih dahulu. Disamping beberapa perubahan desain banyak perubahan system lain yang makin nyaman menggunakan OS X.
Saya sendiri sudah mencoba OS X Yosemite sejak Publik Beta, pertama saya install adalah mecoba beberapa aplikasi yang saya gunakan sehari hari untk berkerja. dari beberapa aplikasi yang migrasi dari OS X Mavericks ke Yosemite memang mengalami masalah, terutama dari beberapa aplikasi yang menggunakan engine X11 gagal untuk membuka aplikasi secara normal seperti Inkscape, dan Gimp. Masalah ini terjadi engine Xquartz masih dalam pengembangan yang mengakibatkan Library Xquartz tidak berjalan di OS X Yosimite, tapi bagi saya menunggu rilis versi Xquartz yang baru terlalu lama dengan tidak mencoba OS X Yosemite yang baru dengan beberapa kebutuhan lain, yang saya butuhkan di Yosemite misalnya Xcode iOS 8.1.
Bagi Designer FOSS seperti saya kedua aplikasi ini sangat penting bagi kelangsungan pekerjaan saya, untuk migrasi ke Yosemite saya harus memastikan kedua aplikasi ini berjalan mulus di Yosemite. Setelah rillis OS X Yosemite versi final Inkscape dan Gimp masih menjadi kendala, tapi bagi saya yang sudah mencoba OS X Yosemite sejak beta publik tidak jadi masalah bagi saya. Inkscape dan Gimp tidak bisa berjalan di engine X11 bagi saya tidak masalah karena Inkscape versi Native OS X masih menjadi pilihan. Memang ada beberapa kekurang menggunakan Inkscape versi native yaitu beberpa yang saya rasakan pada saat perubahan warna dari suatu object render warna terasa lebih lamban, tapi yang saya suka di Inkscape Native adalah short cut keyboard sudah menyesuaikan standar OS X misalnya untuk copy object tinggal menggunakan shortcut (Command + C) tanpa perlu lagi menggunakan shortcut keyboard standar X11.
Untuk mendapatkan Inkscape versi Native saya sebenarnya sudah mencobanya sejak OS X Montain Lion tapi dikarenakan engine X11 masih berjalan lancar penggunaan Inkscape Native belum saya maksimalkan, setelah rilis OS X Yosemite Inkscape Native saya gunakan untuk menopang pekerjaan saya.



Inkscape Native OS X Yosemite dapat diunduh di sini
Gimp Native OS X Yosemite unduh di sini

Inkscape Native ini sudah saya Kustiomisi dengan Flat style UI, jadi yang menggunakan Inkscape Native OS X dari blog ini, akan terasa perbedaannya dari segi UI Inkscape yang seragam dengan aplikasi lain di OS X Yosemite.

on 18 Oct 2014 02:26 AM

17 Oct 2014

Untuk memenuhi kuota menulis, saya akan menulis mengenai pemasangan Owncloud. Ini bukan karena Snowden yang memberitahukan untuk menghindari menggunakan Facebook, Google, dan Twitter. Tetapi, karena saya memang sedang iseng tentang perangkat lunak ini. Coba ada yang meminta untuk mencoba sesuatu yang lain, saya pasti menulis tentang itu.

Berbeda dengan konfigurasi biasa, saya menggunakan NGINX sebagai peladen HTTP dan PHP-FPM sebagai penyedia PHP. Hal ini karena ada WAF yang bisa dikonfigurasi nantinya apa bila Anda mau membuat ini serius. Ada banyak tambahan yang bisa dibuat dari Owncloud.

Yak, tanpa banyak basa-basi, mari kita memasang. Saya asumsikan Anda telah memasang NGINX dan MySQL pada peladen Anda. Saya juga mengasumsikan Anda menggunakan Debian atau turunannya (BlankOn atau Ubuntu).

Menyiapkan Basisdata

Pertama-tama, siapkan basisdata terlebih dahulu, masuk ke dalam terminal MySQL sebagai Administrator:

sudo mysql --defaults-file=/etc/mysql/debian.cnf

Buat basisdata dan berikan hak akses ke klien Owncloud:

CREATE DATABASE awansendiribd;
GRANT ALL PRIVILEGES ON awansendiribd.* TO 'megawan'@'localhost' IDENTIFIED BY 'week^u2heoQuuv]ah9sah]B~ahShie?t';
FLUSH PRIVILEGES;
QUIT;

Saya menggunakan pwgen untuk membuat sandi yang aman:

pwgen -y 32

Anda bisa buat sendiri sandi Anda, ganti nama basisdata, dan nama klien basisdata yang akan digunakan. Hal ini agar Owncloud Anda bisa aman. Belajarlah untuk aman.

Menyiapkan Rumah

Pada konfigurasi kali ini, saya menggunakan pengguna tersendiri untuk Owncloud. Bukan pengguna baku www-data, tetapi yang berbeda — Anda pun bisa berbeda dari tutorial ini. Caranya:

sudo adduser --home /srv/awani --disabled-password awani

Saya membedakan instalasi Owncloud dengan datanya. Mari buat kedua direktori tersebut.

sudo -u awani mkdir /srv/awani/{app,data}

Selanjutnya, unduh dan pasang Owncloud. Pada penulisan ini, yang terbaru adalah Owncloud 7.0.2. Silakan cek versi terbaru yang mungkin sudah ada saat Anda mencoba ini lagi di masa mendatang.

wget https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2 -O- | \
sudo -u awani tar xvfj - -C /srv/awani/app --strip 1

Sesuaikan dengan direktori Anda sendiri.

Menyiapkan konfigurasi Peladen

Ada dua yang perlu disiapkan:

  1. Peladen PHP-FPM untuk konfigurasi PHP5.
  2. Peladen NGINX untuk HTTPS.

Sekarang konfigurasi PHP-FPM.

Konfigurasi PHP-FPM

Buat berkas konfigurasi /etc/php5/fpm/pool.d/owncloud yang berisi:

[owncloud]
;; I'm using Socket-based connection because it's safer.
;; Set only Owncloud user
user = awani
group = awani
listen = /tmp/php5-awan-awan.sock
listen.owner = awani
listen.group = awani
listen.mode = 0660

;; Set default server pools
pm = dynamic
pm.max_children = 20 
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5 

;; Set PHP5 logging
chdir = /
php_admin_value[error_log] = /var/log/fpm-php.awan-awan.log
php_admin_flag[log_errors] = on

;; Longer execution time and bigger upload size.
php_admin_value[max_execution_time] = 300 
php_admin_value[upload_tmp_dir] = /tmp
php_admin_value[upload_max_filesize] = 16G
php_admin_value[post_max_size] = 16G

Jumlah peladen itu tidak saya rubah. Silakan Anda sesuaikan dengan kebutuhan dan kemampuan mesin Anda. Berkas yang bisa diunggah pun sampai 16GB. Secara teori, sih, berkat Menkominfo yang mau turun, tidak mungkin ada berkas sebesar itu yang diunggah.

Setelah selesai, aktifkan Owncloud dan muat ulang PHP-FPM Anda.

sudo invoke-rc.d php5-fpm restart

Sekarang saatnya mengonfigurasi NGINX.

Konfigurasi NGINX

Asal Anda tahu, CA yang beredar di pasaran masih menggunakan enkripsi 1024-bit dan 2048-bit. Kalau pun ada yang 4096-bit, mereka menjual sertifikat dengan harga mahal. Itu sebabnya, saya menggunakan sertifikat yang ditandatangani sendiri.

Sedikit tambahan, Debian dan distro GNU/Linux terbaru lainnya menolak menyertakan CA yang masih 1024-bit. Makanya tempo hari kita gagal memasang Origin. Hal ini karena Origin masih menggunakan CA yang 1024-bit. Ya, itulah nasib keamanan sebatas ilusi.

Membuat Sertifikat Ditandatangani Sendiri (Self-signed Certificate)

Mari membuat sertifikat yang bisa ditandatangani sendiri:

sudo openssl req -newkey rsa:4096 -sha512 -x509 -days 3650 -nodes -out /etc/nginx/awan-awan.pem -keyout /etc/nginx/awan-awan.key

Selanjutnya membuat konfigurasi NGINX.

Membuat Konfigurasi NGINX

Buat berkas konfigurasi /etc/nginx/sites-available/owncloud dengan isi sebagai berikut:

## REDIRECT ALL HTTP TO HTTPS
server {
        listen 80;
        server_name awan.contoh.aja; # CHANGE THE HOSTNAME!
        return 301 https://$server_name$request_uri;  # enforce https
}

## HTTPS
server {
        listen 443 ssl;
        server_name awan.contoh.aja; # CHANGE THE HOSTNAME!

        keepalive_timeout   70;

        ## DISABLE SSLv3 only TLS!
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
        ssl_certificate     awan-awan.pem;
        ssl_certificate_key awan-awan.key;
        ssl_session_cache   shared:SSL:10m;
        ssl_session_timeout 10m;

        # Path to the root of your installation
        root /srv/awani/app;

        client_max_body_size 16G; # set max upload size
        fastcgi_buffers 64 4K;

        rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
        rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
        rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

        ## REWRITE FOR BETTER CLEAN URL
        rewrite ^/f/(.*)$       /public.php?service=files&t=$1;

        index index.php;
        error_page 403 /core/templates/403.php;
        error_page 404 /core/templates/404.php;

        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }

        location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
                deny all;
        }

        location / {
                # The following 2 rules are only needed with webfinger
                rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
                rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

                rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
                rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

                rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

                try_files $uri $uri/ index.php;
        }

        #Path to default data directory
        location ~ ^/srv/awani/data/ {
            internal;
            root /;
        }

        location ~ ^(.+?\.php)(/.*)?$ {
                try_files $1 = 404;

                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$1;
                fastcgi_param PATH_INFO $2;
                fastcgi_param HTTPS on;
                fastcgi_pass unix:/tmp/php5-awan-awan.sock;
        }

        # Optional: set long EXPIRES header on static assets
        location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
                expires 30d;
                # Optional: Don't log access to assets
                access_log off;
        }
}

Perhatikan kalau saya menghapus SSLv3 dari muka bumi. Setahu saya, hanya IE6 yang masih menggunakan SSLv3. Peramban modern sudah mendukung TLS. Bahkan, kalau mau lebih aman, silakan hapus selain TLSv1.2 agar aman dari gangguan SHARK.

Jalankan ulang NGINX.

sudo ngxensite owncloud 
sudo invoke-rc.d nginx restart

Sekarang saatnya memulai pemasangan.

Menyiapkan Konfigurasi Owncloud

Setelah semua berjalan sebagai mana mestinya, saatnya membuka peramban dan mengarahkan ke alamat yang telah dibuat. Nanti ada wisaya yang berisi satu halaman konfigurasi pengguna awal (Administrator), letak data, dan konfigurasi basisdata. Saya malas membuat cuplikannya, lebih baik saya arahkan saja.

Bagian pertama adalah membuat Administrator Owncloud.

Create an admin account

  • superman
  • r4NdomP4$sW()Rd

Bagian berikutnya adalah direktori menaruh data.

Data folder

  • /srv/awani/data

Lalu konfigurasi MySQL.

Configure the database

  • megawan
  • week^u2heoQuuv]ah9sah]B~ahShie?t
  • awansendiribd
  • localhost

Setelah itu semua selesai, lalu tekan tombol Finish Setup.

Tunggu sebentar dan hasilnya Anda siap untuk masuk.

Owncloud Login page

Owncloud Login page

Selamat mencoba dan bereksplorasi! Mohon bagi-bagi ilmu kalau ada yang baru.

Bacaan Lebih Lanjut

on 17 Oct 2014 07:35 AM

14 Oct 2014

Ternyata install Ubuntu Server di Windows Azure sangat mudah. Ubuntu Server yang saya coba adalah Ubuntu Server 14.04 LTS. Proses installasi berbeda yang biasa saya coba selama ini. Sebagai pengguna Ubuntu dan sejenisnya proses yang ditunjukan di dalam Windows Azure sangat memudahkan. Saya sempat mencatat proses installasi tahap demi tahap seperti tampak dibawah ini.

Jika Anda ingin mengetahui lebih lanjut Ubuntu di Windows Azure bisa mengikuti acara yang diselenggarakan MIC UGM, 17 Oktober 2014.
on 14 Oct 2014 12:19 PM

13 Oct 2014

Training Cisco Jakarta

Dedi Gunawan

ID-Networkers, Training Cisco Jakarta, Mikrotik,Juniper

1. Expert Level Trainer











Kami satu-satunya tempat training di indonesia yang memiliki Expert trainer di semua kompetensi perangkat jaringan.


2. Modul Bahasa Indonesia









Kami satu-satunya tempat training di indonesia yang mau repot-repot berbulan-bulan menyusun materi training sendiri dalam bahasa indonesia

Ini bukti komitmen kami sebagai upaya untuk memudahkan orang indonesia belajar networking dalam bahasanya sendiri sehingga lebih mudah untuk dipahami.


3.Gratis Ngulang Seumur Hidup









Kami memulai gerakan ini, agar misalnya seseorang yang sudah ikut training dan kemudian karena sesuatu hal seperti misalnya, pekerjaan tidak di network, setelah beberapa bulan karena jarang belajar kemudian lupa dll anda masih bisa masuk kembali ke dalam kelas secara gratis.

4. Garansi Lulus Ujian









selama mengikuti arahan yang kita berikan, untuk exam ccna, ccnp, mtcna, mtcre, mtcine, jncia, jncip dll,  mengikuti tahap2 an belajar yang diberikan, maka tidak perlu khawatir tidak lulus exam, sejauh ini ya lulus-lulus aja. adapun jika misalnya karena sesuatu hal tidak lulus, anda boleh mengambil training lain secara gratis, bahkan boleh training level diatasnya yang harganya lebih tinggi.

5. Komunitas Networkers Paling Aktif











Selesai training bukan kemudian sudah, justru menjadi awal bergabungnya seseorang dengan komunitas networkers, yang mana tiap bulan diskusinya sangat aktif dan produktif seputar networking dan permasalahan-permasalah di pekerjaan sehari-harinya melalui milis id-networkers. diluar training juga secara rutin diselenggarakan workshop2 dengan materi seputar networking yang biayanya sangat murah yakni 50rb saja dan bahkan gratis.

6.


on 13 Oct 2014 02:11 AM

10 Oct 2014

Beberapa bulan lalu saya diajak untuk berkolaborasi dalam acara Microsoft Azure Developer Camp 2014. Dari materi yang akan disampaikan, saya menyatakan kesediannya untuk ikut bergabung. Acara yang diselenggarakan oleh Microsoft Innovation Center UGM ini topiknya cukup padat dan bisa membuka wawasan kita bidang komputasi awan.

Microsoft Azure Developer Camp 2014 bakal diselenggarakan di Lab Jaringan Komputer Jurusan Teknik Elektro dan Teknologi Informasi UGM pada hari Jumat, 17 Oktober 2014 pukul 08.00 s.d. 15.30. Pada prinsipnya fasilitas Lab. Komputer telah mendukung pelatihan ini jika Anda ingin membawa komputer jinjing sendiri diperkenankan dengan persyaratan:
1. Windows 8.1, http://aka.ms/win8installer atau Windows 7 SP1 
2. Visual Studio Express 2013 atau versi lebih baru (Professional / Ultimate), http://aka.ms/vs12ex 
4. Akun Microsoft atau Live ID, http://account.live.com

Saya duga ada yang bertanya-tanya, wah... milisdad mulai menggunakan teknologi dari Microsoft. Saya tekankan bahwa saya belajar teknologi apapun selama saya mampu. Pada pelatihan ini fokus pada kolaborasi, sekali lagi kolaborasi.  Jika Anda berminat untuk mengikuti pelatihan ini klik tautan http://mic.ms/azurecampoct14. Pendaftaran paling lambat 15 Oktober 2014. Sampai jumpa di Microsoft Azure Developer Camp 2014.

on 10 Oct 2014 06:56 AM

Pada saat hendak mengunduh sebuah permainan, Origin selalu pada keadaan “Preparing Download”. Rasanya tidak mungkin semalaman ditinggal masih pada status tersebut. Ketika WINE dijalankan dari terminal GNU/Linux, saat mengunduh permainan ada pesan ini berulang-ulang:

fixme:netprofm:list_manager_GetConnectivity 0x17a640, 0x33cd98

Setelah saya mencari tahu, ternyata ada masalah pada Qt5Network.dll yang dipakai oleh Origin. Intinya, karena proses pemanggilan (system call) pada wineserver terlalu panjang, unduhan tak juga diproses. Maka, solusinya Qt5Network.dll harus ditambal untuk menggunakan tembolok pada TcpSockets. Hal ini mengurangi system call yang berlebihan sehingga unduhan bisa berjalan.

Ya, sudah, selanjutnya silakan pergi ke direktori Origin. Kebetulan saya menggunakan Playonlinux, normalnya ada di “~/.wine/drive_c/Program Files/Origin/”

cd "~/PlayOnLinux's virtual drives/wine_csmt/drive_c/Program Files/Origin"

Lalu, selanjutnya unduh tambalan untuk Qt5Network.dll.

wget "https://bugs.winehq.org/attachment.cgi?id=47911" -O Qt5Network.bin.patch

Selanjutnya, buat salinan Qt5Network.dll untuk berjaga-jaga.

cp Qt5Network.dll{,.orig}

Terakhir, tambalan dimulai.

patch -Np0 -i ~/Unduhan/Wine/Qt5Network.bin.patch

Lalu jalankan Origin dan siap untuk mengunduh.

Bacaan Lebih Lanjut

on 10 Oct 2014 12:26 AM

09 Oct 2014

Saya sebenarnya tidak menyukai EA dan Ubisoft. Praktik DRM mereka tidak saya sukai. Namun, rekan saya menyuruh saya untuk obyektif.

Ada permainan-permainan gratis yang diberikan oleh EA saat ini. Mungkin mereka berusaha merebut potongan kue yang lebih besar dari Steam. Ya, sudah, saya pun mencoba langsung memasang Origin.

Eh, ternyata ada galat seperti ini:

Origin: Online login is currently unavailable

Origin: Online login is currently unavailable

Yah. Untung saya cepat menemukan masalahnya. Menurut Galat #35902, galat ini disebabkan oleh karena sertifikat CA yang digunakan oleh EA sudah dibuang dari paket kumpulan CA Certifacates GNU/Linux yang terbaru. Hal ini karena GTE CyberTrust Global menggunakan 1024-bit. Astaga, di saat orang-orang sudah mulai menggunakan 4096-bit masih saja ada yang menggunakan enkripsi sepanjang itu.

Ah, sudahlah, saya tak sudi memasang sertifikat itu di komputer saya. Saya hanya akan memasang di lokal WINE saja. Intinya saya dapatkan dari artikel WineHQ.

Sebelum dimulai, saya mendapatkan sertifikat GTE CyberTrust Global dari TBS Internet. Caranya:

wget http://www.tbs-x509.com/GTECyberTrustGlobalRoot2018.crt

Atau gunakan aplikasi selain WGET untuk mengunduhnya.

Pertama-tama, pasang Internet Explorer 6. Cara paling mudah:

winetricks ie6

Atau gunakan PlayOnLinux untuk memasang komponen IE6.

Selanjutnya,  buka Control Panel. Caranya:

wine control

Lalu kemudian masuk ke Internet Options ▶ Content ▶ Certificates… ▶ Trusted Certification Authorities

Internet Properties

Internet Properties with Content tab open for installing certificate

Kemudian, pada Trusted Certification Authorities tekan tombol Import… dan pilih sertifikat yang kita sudah unduh (GTECyberTrustGlobalRoot2018.crt).

Trusted Certificate with GTE root certificate installed

Trusted Certificate with GTE root certificate installed

Selesai dan jalankan Origin seperti biasa.

on 09 Oct 2014 11:34 PM

07 Oct 2014

Pada hari Sabtu saya menemukan sebuah twit menarik mengenai laman pencarian Google Indonesia teretas.

http://twitter.com/wisnu/status/518539063029006336

Saya agak kesulitan mereproduksinya waktu itu karena saya tidak menggunakan jaringan Telkom. Lagipula, hari Sabtu dan Minggu saya gunakan untuk bersosialisasi dengan dunia nyata. Ya, sudah, saya memanfaatkan media untuk mencari tahu ada apa.

Dari cuplikan laman teretas, nampaknya peretasan dilakukan oleh sekelompok peretas. Kelompok ini menamakan dirinya Madleets. Kelompok peretas ini berasal dari Pakistan.

Tidak jelas apa maksud dan tujuan mereka melakukan peretasan kali ini. Kalau dari kasus peretasan Google Malaysia tahun lalu, seperti dikutip oleh TechCrunch, mereka nampaknya hanya ingin membuat pernyataan bahwa keamanan hanyalah ilusi.

Cara Kerja Peretasan

Yang pasti, bukan peladen Google yang teretas! Peladen yang super ketat itu sampai saat ini belum dilaporkan pernah ditembus. Mereka memanfaatkan kelemahan pihak ketiga untuk membelokkan lalu lintas Google Indonesia/Malaysia ke ke peladen mereka. Sehingga, setiap orang yang mengakses situs Google tersebut mengakses laman lain yang bukan disediakan oleh peladen Google.

Ada dua versi yang beredar di Internet mengenai kasus ini:

  1. Mereka melakukan pembajakan terhadap sebuah peladen iklan intrusif.
  2. Mereka melakukan pembajakan terhadap layanan DNS Indonesia.

Versi pertama ceritanya mulai tahun lalu perusahaan telko (telekomunikasi) melakukan praktik tidak etis dengan membelokkan pengguna ke situs iklan atau menginjeksi sebuah Javascript ke dalam laman situs-situs tertentu. Praktik ini dinamakan pengiklanan intrusif. Praktik tak etis ini dilakukan semenjak tahun lalu (2013). Selain tak etis, praktik ini rawan terkena jerat UU ITE.

Menurut versi ini, peladen yang bertugas untuk membelokkan pengguna ke laman iklan diretas. Hal ini mengakibatkan peladen tersebut mengarahkan pengguna ke tempat yang baru. Namun, Telkom membantah hal tersebut.

Menurut konfirmasi perusahaan ini, tidak ada sistem mereka yang dijebol. Justru situs lain yang menyediakan layanan DNS yang dijebol. Hal ini dibuktikan dengan adanya ISP-ISP lain yang turut merasakan hal yang sama. Maka kemungkinan kedua adalah memang terjadi pembajakan DNS.

Laman Registrar yang diretas menurut pengakuan Madleets. Sumber: https://www.facebook.com/Madleets/photos/a.444824632244577.103826.395549750505399/767009650026072/?type=1&theater

Laman Registrar yang diretas menurut pengakuan Madleets. Sumber: Facebook.

Menurut laman resmi Madleets di Facebook, mereka berhasil masuk ke panel kontrol DNS untuk Google Indonesia. Perlu dipahami, tidak jelas apakah klaim ini benar atau tidak. Namun, jika memang benar, apakah PANDI melakukan blunder?

Cuplikan Penjelasan PANDI mengenai rekanan Registrar.

Cuplikan Penjelasan PANDI mengenai rekanan Registrar.

Ternyata, PANDI telah membuat pernyataan bahwa semenjak 19 Oktober 2012 PANDI sudah tidak memegang domain ID. Mereka hanya mengurus domain GO.ID, MIL.ID, dan NET.ID. Untuk domain ID yang lain menggunakan rekanan:

  • Digital Registra Indonesia
  • Reseller.co.id
  • D-NET
  • INDOREG
  • JRI Registrindo
  • Nama Name Management
  • BeliDomain.co.id
  • CBN Registrar
  • Domainku.co.id
  • Merekmu
  • Radnet
  • IndosatM2

Bisa jadi, salah satu dari rekanan registrar tersebut telah terjebol. Dari klaim Madleets, nampaknya situs yang terjebol adalah panel kontrol domain yang menggunakan aplikasi panel kontrol domain SRS-X. Mereka memanfaatkan celah keamanan pada situs tersebut.

Ah, ini sudah menjurus kepada perusahaan tertentu. Saya berhenti di sini saja. Toh, saya cuma ingin kejelasan saja karena ini menyangkut integritas domain negara saya.

Nampaknya, inilah salah satu dampak dari perpindahan konsep ccTLD ke gTLD. Pengelola domain swasta diperbolehkan untuk ikut serta. Pengelolaan bertambah mudah. Namun, di satu sisi titik celah keamanan domain .ID bertambah lemah.

Tenang saja, Indonesia tidaklah sendirian. Semua lembaga resmi yang memiliki rekanan registrar mengalaminya. Bahkan ICANN sekalipun mesti menggantungkan nasibnya kepada keahlian masing-masing rekanan dalam melindungi sistem mereka masing-masing.

Pertanyaan Yang Timbul

Dari kasus peretasan ini ada beberapa pertanyaan yang timbul. Hal yang pertama mengenai diketemukannya praktik pengiklanan paksa. Timbul pertanyaan sebagai berikut:

Bolehkah perusahaan penyedia jaringan (Telko) membelokkan/menginjeksi skrip (membajak) laman situs yang hendak diakses?

Apakah status Negara Indonesia sebagai negara berdaulat melindungi Netralitas Jaringan (Net Neutrality)? Ini baru contoh kecil saja dari praktik kediktatoran perusahaan Telko. Bisa jadi, di masa mendatang Indonesia akan mencontoh negara Paman Sam yang mulai membeda-bedakan akses situs tertentu. Alias, bisa jadi, di masa mendatang perusahaan Telko akan meminta jatah preman agar situs tertentu bisa dialirkan dengan normal/mendapatkan prioritas lebih dibandingkan situs saingannya.

Munculnya rekanan-rekanan registrar mulai membuat saya mempertanyakan, apakah domain .ID masih domain Indonesia? Bagaimana komposisi kepemilikan asing dalam perusahaan-perusahaan tersebut? Apakah kini kita harus mengutip Romeo dalam bentuk digital, “apalah arti sebuah nama?” Entahlah, saya pun masih berkontemplasi untuk itu.

Pertanyaan yang lebih penting dari itu semua:

Seberapa siap Negara Kesatuan Republik Indonesia mengatur Internet-nya agar menyejahterakan rakyat banyak dan melindungi warga negaranya.

Untuk pertanyaan-pertanyaan tersebut, saya menyerahkan kepada mereka yang lebih ahli. Saya untuk saat ini hanya tertarik kepada hal-hal teknis.

Akhir Kata

Semua informasi dalam artikel ini belum tentu benar. Anda perlu mengonfirmasinya lebih lanjut. Hal ini karena tidak ada pernyataan resmi yang autoritatif yang membenarkan hal-hal ini.

Yang saya lakukan hanya mengumpulkan artikel-artikel di Internet yang menjelaskan mengapa peretasan itu dapat terjadi. Mereka membuat klaim-klaim tersebut dan saya menuliskannya sebagai bahan pertimbangan. Silakan Anda cari sendiri dan simpulkan sendiri.

Bacaan Lebih Lanjut

on 07 Oct 2014 10:40 AM

04 Oct 2014

SANE going in-SANE

Arif Syamsudin

SANE is goin' wild!!! Yahoo!!! Heboh dikit gapapa lah ya :D. Lama ngga' memperbarui isi blog ini. Sebetulnya udah terfikir beberapa hal yang mau ditulis. Cuman realisasinya ajah yang dintar-ntar :).

Sekarang, mumpung lagi sempet ngoprek dikit, jadi saya coba tulis. Siapa tau ada yang ngalamin hal sama. Ini tentang kelakuan pemindai (scanner) yang ngga' kedeteksi pas dijalanin sama aplikasi, yang alih-alih malah kebuka webcam.

Webcam? Iya, webcam. Jadi begitu saya buka aplikasi pemindai seperti SIMPLE SCAN, yang terdeteksi oleh aplikasi SIMPLE SCAN malah webcam. Jadi, yang ketangkep sama malah poto. Macam begini:

Gambar 1. Pembuktian dengan aplikasi SIMPLE SCAN
Bahkan, dengan aplikasi yang sedikit "canggih" seperti GSCAN2PDF, yang kedetek cuman si webcam. Padahal, kabel data pemindai serta kabel tenaga sudah tercolok dengan baik dan rapih pada laptop dan pencetak semua-jadi-satu yang saya gunakan. Hasil tangkepan layar pakek GSCAN2PDF kek gini nih:

Gambar 2. Profil pemindai menggunakan GSCAN2PDF
Oia, sebagai informasi perangkat-perangkat yang saya gunakan adalah:

  1. Laptop Sony VAIO VPCEG1BFX
  2. Sistem operasi GNU/Linux BlankOn 9 a.k.a Suroboyo
  3. Pencetak semua-jadi-satu HP Deskjet F2401 
  4. Aplikasi pemindai GSCAN2PDF
Lantas, apa mesti saya mula-ulang dan menggunakan MS-Windows supaya saya bisa menggunakan pemindainya? Hmmm, yang kepikiran cuman repot salin tempel datanya sich. Walaupun ujung-ujungnya itu hasil pindai akan saya unggah ke layanan-di-awan.

Akhir, secara liar, terfikir untuk mencari tau apakah aplikasi SANE sudah terpasang.

# aptitude search sane

Loh, ternyata sudah. Apalagi ya? Ah...coba pasang aplikasi LIBSANE-DEV ajah lah kalo begituh.

# apt-get install libsane-dev

Baiklah. Setelah terpasang, saya coba ulang lagi pengidentifikasian pemindai menggunakan SIMPLE SCAN dan GSCAN2PDF. Hmmm, masih belom bisa jugak. Mula-ulang! Hmmm...setelah masuk, buka GSCAN2PDF, eh...eh...bisa. BISA!!! Pemindainya sudah terdeteksi sekarang. Walaupun ada pilihan si webcam. Tapi gapapa, yang penting udah bisa :D. Alhamdulillah. Pemindai terpasang, semoga bisnis jadi lancar ;).

Solusi yang saya tuliskan di sini, bisa jadi belom tentu aplikatif ketika diterapkan di sistem lain. Jadi, silahkan mengeksplorasi internet untuk bahan bacaan lebih lanjut. Demikian, semoga membantu ya :).
on 04 Oct 2014 05:04 PM

03 Oct 2014


Kebetulan hari ini saya mengubah tata letak meja kerja saya, eh malamnya ada mensen dari +Dedy Hariyadi yang menujukkan tatak letak meja komputer dari +David Revoy designer FOSS Prancis, memang meja dari David lumayan keren degan beberapa perangkat lunak Free Open Source. Saya keseharian kerja saya menggunakan Aplikasi Desain Grafis FOSS, hanya bedanya dengan David saya menggunakan Sistem Operasi OS X. 

Perangkat lunak yang saya gunakan 100% Bebas digunakan :
1. Inkscape (Open Source) 
Saya menggunakan Inkscape untuk mendesain vector terutama untuk membangun dari design Fluid UX dan penerapan UI Mobile iOS, Android, Web Design, dan mendesain Launcher Icons Aplikasi untuk aplikasi mobile. situs http://www.inkscape.org/

2. Gimp (Open Source)
saya menggunakan GIMP untuk banyak manipulasi pada warna, atau format file gambar tertentu.

3. Skala View (Freeware) 
Skala view saya gunakan khusus untuk desain mobile. saya bisa melihat live preview langsung dari pixel per pixel resolusi layar dari perangkat mobile iphone, android dan beberapa tablet, untuk mendapatkan akurasi tatak letak dan warna yang sesuai dengan perangkat mobile. Aplikasi ini sangat membantu saya :) situs : http://bjango.com/mac/skalapreview/

4. Imagesmagick (Open Source)
Images Magic aplikasi yang membantu saya tapi saya biasanya saya gunakan untuk convert format gambar svg ke format png dan saya gunakan resize ukuruan hasil export gambar dari icons dalam julmah banyak hanya menggunakan satu perintah konsole, tentunya aplikasi ini saya jalankan dari Konsole Terminal OS X. situs : http://www.imagemagick.org/

5. Sublime Text Editor (Freeware)
Sublime Text Editor saya gunakan untuk convert gambar dari mockup UI Website Desain ke code HTML atau HTML5. situs : http://www.sublimetext.com/

Perangkat Keras yang saya gunakan :
Saya menggunakan satu MacBook Pro dengan terhubung dengan monitor IPS DELL Full HD. Untuk menggambar saya serahkan ke Apple Keyboard berpasangan dengan Apple Magic Trackpad dengan gesture yang nyaman saya gunakan untuk mendesain berbagai gambar maupun UX dan UI. Satu MacBook Pro dengan spesifikasi lumayan upgarade dengan SSD+HDD dengan upgrade ram 16GB dan beberapa perangkat mobile dengan berbagai resolusi layar. 

1. Laptop MacBook Pro 8.1
Procesor Intel Core i5 2.3 GHz 
SSD 120GB (OS X) 
HD 500GB (Data) 
RAM 16GB 
VGA IntelHD 3000 512MB

2. Monitor DELL S2240L
Display wide 22 inches 
IPS angle 179°
Full HD 1080p
Resolusi 1920x1080px
Color Gammut 80%

3. Drawing Apple Magic Trackpad
Five Multi Touch Gesture 
Tracking drawing wide 5 inches

4. Preview Mobile Design
iPhone 4, iPhone 5, Xiaomi Redmi 1S, HTC One V, dan Ainol Novo 7.

Desain Letak Meja Kerja :
Desain tatak letak perangkat keras yang saya desain cenderung menggunakan konsep simple dan Clean, dengan penempatan MacBook Pro non mainstream. Saya sebut non mainstream karena MacBoook Saya letaknya tepat di belakang monitor, dengan sedikit jepitan agar bisa berdiri tegak, sebenarnya docking MacBook sudah ada yang memproduksi dengan desain yang lumayan bagus, tapi karena saya malas indent dari Negara luar, saya putuskan untuk meletakkan MacBook Pro dengan letak non Mainstream, dengan Letak seperti ini temperatur MacBook juga terjaga stabil, lagi lagi dengan sedikit penambahan Kipas kepiting di atas MacBook.
Baiklah segitu dulu sekelumit tata letak meja dan beberapa alat perang yang saya gunakan setiap hari untuk berkerja.  Bagaimana Dengan anda desain meja Kerja anda hari ini ? 

Tampak Samping : 


Tampak Belakang :

Tampak Atas :
on 03 Oct 2014 07:46 PM
Lubang keamanan shellshock pada beberapa mesin bersistem operasi juga berimbas ke Network Attached Storage (NAS). Apalagi NAS seperti QNAP masih menggunakan BASH v3.x tentu menjadi "sasaran empuk". Namun dengan sigap pihak QNAP melakukan perbaikan keamanan tersebut.

Langkah awal lakukan pemutakhiran firmware terlebih dahulu ke v4.1.1build0927, klik Control Panel | Firmware Update | Check for Update | Bersabar menunggu proses mengunduh dan menginstall. Walaupun sudah menggunakan firmware v4.1.1build0927 dan diuji menggunakan perintah env x='() { :;}; echo vulnerable' bash -c "echo this is a test" dengan hasil bahwa QNAP aman tetapi perlu ditambal.

2. Unduh Qfix for Bash security patch (For QTS4.1.1 only) v1.0.1_x86_ARM 20141001
3. Ekstrak berkas Qfix_Bash_update_1.0.1_20141001_x86_ARM.zip
4. Unggah Shellshock_1.0.1_all.qfix, Control Panel | Firmware Update | Firmware Update | Browse | Update System
5. Tentu sedikit bersabar untuk proses installasi dan reboot.

QNAP dengan firmware v4.1.1build0927 masih menggunakan Bash v3.x namun melalui perbaikan ini sudah terhindar dari shellsock.
on 03 Oct 2014 09:57 AM

02 Oct 2014

PT. Agape Software Indonesia membuka kesempatan untuk bergabung dengan posisi Linux Server Administrations. Persyaratannya tentu harus bisa Linux dan memiliki kemampuan seperti jaringan, mail server, bash, firewall dan sebagainya yang terkait alat bantu di Linux.

Anda tertarik untuk bergabung dapat melihat informasi dibawah ini.

on 02 Oct 2014 06:43 AM

29 Sep 2014

Ada teori diet atkins, diet keto (low-carb), diet low-fat, food combining, diet low-calorie, 3-hours diet, intermittent-fasting, paleo diet, dst..dst. Masing-masing teori ini sebagian besar dicetuskan oleh mereka yang punya latar belakang akademik yang bukan sembarangan. Masing-masing teorinya pun didukung dengan berbagai riset yang diklaim ilmiah. Masing-masing punya pengikut, dan masing-masing punya cerita sukses……. dan cerita gagal.

Lalu mana sebenarnya teori diet yang paling tepat, yang paling cepat menurunkan berat badan?

Tunggu.

Pernah lihat atau minimal dengar tentang buku-buku atau seminar cara jadi kaya? Pernah menemukan orang-orang yang mengikuti petunjuk dari buku atau seminar tersebut lalu berhasil? Ada juga yang gagal?

Lalu sebenarnya mana teori tentang cara jadi kaya ini yang benar?

Kurang lebih jawabannya sama dengan yang di atas tadi menurut saya.

on 29 Sep 2014 09:13 AM

26 Sep 2014

Al Yankovic dalam album terbarunya, “Mandatory Fun”, membuat sebuah lagu terbaru, “Mission Statement”. Lagu “Mission Statement” berbicara mengenai jargon-jargon kosong korporasi untuk menjelaskan arah yang hendak dicapai oleh sebuah perusahaan (korporasi).

Video klip ini dibuat oleh Truescribe dalam waktu 10 bulan. Menariknya, mereka pun merasa beruntung dengan adanya parodi olok ini. Mereka melakukan kontemplasi mengenai hal-hal yang sering terjadi ketika mempresentasikan ide di dalam korporasi.

Bekerja dengan Al mengajari mereka mengenai pentingnya keaslian dalam sebuah ide. Sering kali, kita menggembor-gemborkan fitur dan capaian tetapi sebenarnya itu hanyalah istilah-istilah pinjaman dari orang lain. Hal ini yang membuat sebuah pesan tak dapat tersampaikan dan kredibilitas pun dipertanyakan.

Sebagai seorang artis dan bukan pengamen, Al Yankovic jelas sekali membuat sebuah karya yang jenius dan dalam. Bahkan kaum profesional yang dioloknya pun mendapatkan pesan dan terinspirasi. Bukankah itulah tujuan seorang artis?

on 26 Sep 2014 06:34 AM

25 Sep 2014

Saya belum mengetahui efek yang lebih besar ketika mengetikan perintah, env x='() { :;}; echo vulnerable' bash -c "echo this is a test" pada Terminal. Ketika dicoba pada mesin virtual dengan sistem operasi yang lebih tua dari sistem operasi yang saya gunakan setiap hari tenyata muncul pesan:
vulnerable
this is a test
Berhubung mesin yang saya gunakan setiap hari selalu dimutakhirkan jadi saat menjalankan perintah diatas maka munculnya berbeda, seperti:
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test
Daripada pening dan bingung, SEGERA mutakhirkan versi Bash Anda ke versi 4.2x atau yg lebih tinggi.
on 25 Sep 2014 10:21 AM

24 Sep 2014

Ceritanya lagi belajar Oracle pake ASM, saat coba menaikkan ASM secara manual (karena tiba-tiba saat server dinyalakan ASM nya nggak naik otomatis) muncul galat seperti dibawah ini:

-bash-3.2$ . oraenv
ORACLE_SID = [orcl] ? +ASM
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is /u01/app/oracle

-bash-3.2$ asmcmd
Connected to an idle instance.
ASMCMD> startup
ORA-01078: failure in processing system parameters
ORA-29701: unable to connect to Cluster Synchronization Service
Connected to an idle instance.

Solusinya :

Keluar dari asmcmd, kemudian jalankan command di bawah ini (jangan lupa pastikan SID=+ASM)

-bash-3.2$ crsctl start resource ora.cssd
CRS-2672: Attempting to start 'ora.cssd' on 'dbserver'
CRS-2679: Attempting to clean 'ora.diskmon' on 'dbserver'
CRS-2681: Clean of 'ora.diskmon' on 'dbserver' succeeded
CRS-2672: Attempting to start 'ora.diskmon' on 'dbserver'
CRS-2676: Start of 'ora.diskmon' on 'dbserver' succeeded
CRS-2676: Start of 'ora.cssd' on 'dbserver' succeeded

kemudian coba start kembali ASM via “asmcmd”.

-bash-3.2$ asmcmd
Connected to an idle instance.
ASMCMD> startup
ASM instance started

Total System Global Area  284565504 bytes
Fixed Size                  1336036 bytes
Variable Size             258063644 bytes
ASM Cache                  25165824 bytes
ASM diskgroups mounted

ASMCMD> exit

Kemudian coba start database “orcl” nya.

-bash-3.2$ . oraenv
ORACLE_SID = [+ASM] ? orcl
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 is /u01/app/oracle

-bash-3.2$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 24 09:47:41 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  347340800 bytes
Fixed Size                  1336456 bytes
Variable Size             297798520 bytes
Database Buffers           41943040 bytes
Redo Buffers                6262784 bytes
Database mounted.
Database opened.

Selamat…

on 24 Sep 2014 07:33 AM

09 Sep 2014

Pada bulan Mei lalu, saya mendapat kesempatan untuk presentasi dalam PyCon APAC 2014. Ini merupakan proposal pertama saya dalam PyCon. Masih banyak yang bisa diperbaiki! Saya masih perlu banyak belajar.

Brian Curtin, salah seorang direktur PSF, menulis di dalam blog, tentang bagaimana menulis proposal PyCon. Selamat membaca, semoga bermanfaat.

on 09 Sep 2014 08:26 PM

Rilis Video DebConf14

Zaki Akhmad

Komunitas Debian baru saja usai dengan debconf14. Tim video sudah merilis video konferensi ini. Wow, bananastastic!.

Saya jadi teringat, bagaimana saya berusaha membuat rekaman video kopdar Python Indonesia dengan segala keterbatasan sumber daya yang ada. Salut lah untuk tim video debconf14.

Di Indonesia sebenarnya saya lihat banyak pengguna Debian. Teman-teman di UI/ITB, misalnya. Namun belakangan dengan munculnya Ubuntu, saya kira generasi muda di Indonesia rasanya jadi lebih banyak yang menggunakan Ubuntu. Err tapi setahu saya sekarang teman-teman Blankon menggunakan Debian sebagai sistem base.

Selamat menonton! Bagi yang sudah menonton, tulisan resensi video akan berguna.

on 09 Sep 2014 06:43 AM

02 Sep 2014

masih ngomongin ngebangun usaha.
seperti artikel sebelumnya, sangat kecil kemungkinannya ketika memulai usaha, kemudian bisa langsung sukses.
yang sudah-sudah pasti gagal dan gagal lagi, gagal terus dan terus.
entah karena sepi, gak laku, kurang rame ataupun kurang sesuai target yang diinginkan

berikut beberapa mantan usaha yang sudah pernah saya jalani, gagal, kurang berhasil dan sudah saya tinggalkan tanpa pernah saya sesali...
- jualan kacang presto
- jualan nasi
- Pe eS an
- studio musik
- bikin web
- nulis buku
- jualan komputer
- kursus internet
- rental cd software
- google ads
- jualan anime naruto
- jualan dvd tutorial
- dll

ketika gagal, terjatuh dan kemudian bangkit lagi, kita sudah jauh lebih kuat, lebih terlatih, lebih berilmu daripada saat kita awal memulai.

seperti halnya orang belajar naik sepeda, ketika terjatuh semangat sekali untuk bangun kembali dengan satu keyakinan, saya coba lagi, tinggal dikit lagi saya akan bisa...

maka tips nya
1. sedini mungkin melatih diri memulai usaha, tujuannya buat menghabiskan jatah gagal dulu, karena apa? karena pasti gagal tidak mungkin tidak. usia2 anak sekolah adalah usia ideal untuk memulai usaha, usia anak kuliahan dah agak terlambat, tapi tidak mengapa. usia orang bekerja jg tetap masih bagus untuk mulai

2. kalau belajar berenang, jangan langsung pilih di lautan, minimal di kolam renang yang dangkal dulu.

banyak saya dengar kerja dulu buat kumpulin modal dulu yang banyak, kalau dah kumpul terus usaha, yang begini dah pasti gagalnya berdarah-darah, gak siap gagal, uangnya habis

gak percaya silahkan tanya yang abis dapet pesangon trus bikin usaha, yang abis jual tanah warisan trus dipake modal usaha dll tanpa pernah punya pngalaman usaha sebelumnya, banyak yg gagalnya parah.

untuk awal belajar usaha, jangan langsung di modal puluhan juta, ratusan juta dst nya, main di modal recehan dulu. ingat dalam usaha yang harus banyak bukanlah modal, ini pemikiran yang salah dan sesat.

yang lebih pas, yang harus banyak adalah keuntungan serta manfaat. contoh dulu saya jualan dvd tutorial untungnya bisa dapet jutaan padahal modal cuman 1 box dvd kosong yang harganya gak nyampe 50rb untungnya ratusan persen jauh diatas modalnya.
on 02 Sep 2014 10:35 PM

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

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

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

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

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

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 ini adalah langkah-langkahnya :

1. Aktifkan servis iSCSI Initiator.

# svcadm enable svc:/network/iscsi/initiator:default

2. Proses discover ke server Openfiler.

# iscsiadm modify discovery -t enable
# iscsiadm add discovery-address 10.10.10.10:3260
# iscsiadm list discovery-address
Discovery Address: 10.10.10.10:3260

# iscsiadm list discovery-address -v 10.10.10.10
Discovery Address: 10.10.10.10:3260
        Target name: iqn.2006-01.com.openfiler:tsn.faec29fc8675
                Target address:    10.10.10.10:3260, 1

# iscsiadm list target -S
Target: iqn.2006-01.com.openfiler:tsn.faec29fc8675
        Alias: -
        TPGT: 1
        ISID: 4000002a0000
        Connections: 1
        LUN: 0
             Vendor:  OPNFILER
             Product: VIRTUAL-DISK
             OS Device Name: /dev/rdsk/c9t2d0

# iscsiadm add static-config iqn.2006-01.com.openfiler:tsn.faec29fc8675,10.10.10.10,1

3. Periksa apakah sudah ada disk baru yang terdeteksi.

# devfsadm -i iscsi
# echo | format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
       0. c8t0d0 <VMware-Virtual disk-1.0-20.00GB>
          /pci@0,0/pci15ad,1976@10/sd@0,0
       1. c9t2d0 <OPNFILER-VIRTUAL-DISK-0 cyl 1303 alt 2 hd 255 sec 63>
          /iscsi/disk@0000iqn.2006-01.com.openfiler%3Atsn.faec29fc86750001,0
Specify disk (enter its number): Specify disk (enter its number):

4. Selanjutnya buat pool dari disk yang baru.

# zpool create pool01 c9t2d0
# zpool status

Demikian mudah-mudahan bermanfaat.

on 04 Jul 2014 06:39 AM