18 Dec 2014

Tentang

Tanggal 15 Desember 2014 kemarin PEMDA DKI Jakarta menerbitkan aplikasi Smart City Jakarta. Menurut situs tersebut, aplikasi ini adalah

Smart City Jakarta logo Portal Smart City adalah aplikasi yang dimiliki oleh Pemerintah Provinsi DKI Jakarta untuk memberikan masyarakat informasi kondisi Jakarta melalui mitra aplikasi yang bekerjasama dengan Pemerintah Provinsi DKI Jakarta seperti QLUE, WAZE & TWITTER. Portal Smart City akan memberikan informasi yang transparan kepada masyarakat dengan memperlihatkan hasil kinerja pemerintahan Jakarta dalam menangani permasalahan yang ada di Jakarta. Portal Smart City juga dapat membantu masyarakat untuk mengetahui fasilitasi umum untuk dijadikan referensi dan informasi sesuai kebutuhan sehari-hari.

Sesuai dengan penjelasan situs Smart City ini, ada tiga aplikasi yang diintegrasikan oleh Smart City; Qlue, Waze, dan Twitter.

Qlue

Aplikasi Qlue yang dikembangkan oleh TerralogiQ. TerralogiQ adalah perusahaan yang bergerak di bidang solusi pencitraan bumi. Menurut situs TerralogiQ, perusahaan ini salah satu rekanan Google Enterprise yang resmi di Indonesia. Pantas saja aplikasi ini begitu terintegrasi dengan Android dan Google Maps.

Qlue Login Page

Qlue Login Page

Beberapa fitur Qlue yang saya lihat sekilas:

  1. Sistem pelaporan terpadu yang sudah terkategori.
  2. Sistem geotagging terpadu untuk urun daya penandaan tempat-tempat di Jakarta.
  3. Integrasi dengan Google Maps dan Google Street View.
  4. Integrasi dengan login Google dan Facebook.

Pada saat penulisan kali ini, implementasi dengan menggunakan akun Google saya gagal. Padahal, saya melihat bahwa aplikasi ini sudah terhubung dengan Google Play. Ya, sudah, saya tak bisa membahas lebih lanjut. Mungkin nanti saya akan coba lagi.

Waze

Perusahaan yang sudah dibeli oleh Google ini menggunakan pelaporan terpadu dari penggunanya tentang lalu lintas, terutama kemacetan dan penyebabnya. Situs Smart City menggunakan masukan dari API Waze untuk menentukan:

  • Kondisi Lalu Lintas
  • Laporan Macet
  • Laporan Kecelakaan
  • Laporan Bencana Alam

Dengan menggunakan API Waze, data-data pada peta pun lebih kaya. Terutama dari faktor urun daya pelaporan kemacetan di jalan.

Twitter

Peran media sosial ini adalah menyediakan pelaporan waktu-nyata (realtime) dengan menggunakan dua tagar “#banjir” dan “#petajkt” (tanpa tanda petik).

Oh, seandainya kita mau melapor melalui Twitter, dapat langsung membuat sebuah twit publik dengan menggunakan dua tagar tersebut. Berarti nanti aplikasi Smart City akan membaca tagar tersebut dan meneruskannya. Mungkin contoh pelaporan:

#banjir #petajkt ada di Kampung Melayu, setinggi 1 meter.

Sepertinya Pemprov DKI Jakarta harus lebih menyosialisasikan tentang fitur ini. Apakah aplikasi Smart City membaca juga geotag yang disediakan oleh Twitter, saya pun tak tahu. Kalau iya, akan jauh lebih kaya fitur. Artinya Masyarakat bisa saja melaporkan melalui Twitter, bukan terhubung langsung dengan aplikasi.

Dalam hal ini, anonimitas masih bisa dijamin. Skenario ini dicapai misalnya dengan membuat akun sejenis Jonru versi benar dan jujur. Akun anonim ini bisa digunakan untuk melaporkan berbagai hal bila ada warga yang cukup mengerti tentang privasi namun mau ikut berpartisipasi secara anonim.

Analisis Aplikasi

Sepertinya pengembang aplikasi Smart City Jakarta adalah TerralogiQ. Soalnya, situs ini mirip sekali dengan demo produk VMAP yang dimiliki oleh TerralogiQ. Saya, sih, menduga aplikasi ini dibangun dengan menggunakan VMAP dengan kustomisasi tambahan seperti integrasi beberapa aplikasi yang telah disebutkan, ada beberapa yang penting:

  • Pengaksesan CCTV, stasiun Trans Jakarta, dan sejenisnya.
  • Peta bencana seperti tinggi air, kebakaran, dan sejenisnya.
  • Peta pelaporan masyarakat.
  • Integrasi dengan Waze.

Cara pakai

Ada lima kategori menu yang bisa diaktifkan.

  • Laporan Masyarakat (Qlue)
  • Laporan Banjir Peta Jakarta
  • Peta Manajemen Bencana
  • Waze Social GPS Maps & Traffic
  • Informasi Pendukung
  • Destinasi Lokal

Secara baku, pertama-tama situs Smart City hanya menampilkan penanda dari Qlue. Untuk bisa mengaktifkan penanda-penanda tertentu, menu pada logo Jakarta harus diaktifkan. Misalnya, untuk mengaktifkan penanda kebakaran, tanda centang pada item kebakaran harus aktif .

e.g. enable Waze marker for traffics.

e.g. enable Waze marker for traffics.

Setiap penanda pada peta bisa diklik/sentuh untuk mengaktifkan detail kejadian.

A marker detail

A marker detail. (Image resized and reduced to 128-bit color)

Bahkan bisa melihat komentar dari kejadian tersebut. Komentar dari orang lain bisa membuat pelapor merasa dihargai karena telah bersusah payah melapor.

Comments

Interactivity can be a self-rewarding achievement for reporting.

Selanjutnya, saya jabarkan kelebihannya dan kekurangannya.

Kelebihan

Saya hanya menjabarkan empat baris, namun keempat fitur itu adalah sesuatu yang sangat wah. Saya kagum dengan ambisi Pemprov DKI Jakarta dengan aplikasi ini. Ini model yang patut dicontoh oleh pemerintah daerah lainnya.

Penggunaan Waze dan pelaporan aktif membuat partisipasi aktif masyarakat dengan pemerintah. Sistem ini bisa menjadi hub yang menghubungkan antar anggota masyarakat DKI Jakarta dan sekitarnya. Bahkan, seperti dibahas sebelumnya, interaktivitas membuat keterlibatan masyarakat dalam aplikasi ini.

Penggunaan beberapa sistem mengakibatkan kemacetan terpantau lebih efektif. Selama ini Google Map memiliki kekurangan karena terbaharui setiap sekitar 15 menit sampai setengah jam. Dengan CCTV, Waze, dan pelaporan sendiri, diharapkan masyarakat dapat mendapatkan informasi secepat-cepatnya. Ya, setidaknya CCTV memperlihatkan informasi lalu lintas lebih cepat.

Saya baru menggunakan aplikasi ini, tapi saya sudah melihat banyak manfaat seperti adanya pelaporan tempat-tempat tertentu. Saya bayangkan, seandainya di masa depan saya bisa melakukan eksplorasi ke Jakarta dan menemukan tempat-tempat baru yang menarik. Wow! Pariwisata yang menyenangkan.

Kelemahan

Saya harus melihat satu halaman intro yang memuat sebuah gambar berukuran besar sebelum saya bisa menggunakan situs ini. Ah, terkandung sebuah doa bahwa di era Jokowi ini Internet akan menjadi lebih murah dan cepat bagi rakyat Indonesia umumnya dan rakyat DKI Jakarta khususnya. Amin.

Tapi, apakah memang gambar yang hanya 343 KB itu membuat berat?

Saya sudah hitung aset-aset gambar yang ada. Cukup teroptimasi, apalagi menggunakan pelayanan dari Google. Jadi, sebenarnya ukuran gambar seharusnya tidak masalah.

Ternyata, penggunaan Javascript yang disamarkan (obfuscated)-lah yang menambah lama waktu untuk situs ini bisa fungsional. Peramban membutuhkan waktu yang agak lama untuk mengompilasi kode-kode yang sebenarnya dapat dengan mudah dipecahkan bila niat.

Saya membuka aplikasi ini di tiga mesin peramban: Presto (Opera 12.15), Gecko (Firefox 33.0), dan Chromium (Opera Developer 27.0.1683.0 dan Google Chrome 35.0.1912.2). Kesimpulannya:

  • Presto tidak dapat menjalankan Javascript yang tersamarkan sehingga animasi gambar awal mati dan peta berwarna putih. Tapi, newsticker yang ada di bawah dan menu bisa dimuat dan animasinya berjalan.
  • Gecko dapat menjalankan semua fungsi yang saya uji. Namun, animasinya patah-patah. Peramban saya selalu crash ketika saya mengklik salah satu gambar. Padahal, memori komputer saya 16GB.
  • Chromium menjalankan semuanya dengan sempurna. Nampaknya aplikasi ini dibangun untuk Chromium.

Cuma satu kekurangan teknis ini saja, sih. Sisanya aplikasi ini menakjubkan. Terutama, untuk niat baik Pemerintah yang mau membuka diri.

Tampilan Pada Perangkat Pintar

Saya pun menyertakan tampilan situs ini pada peramban LG G2 dengan sistem operasi Android CM12 Lollipop 5.0.1.

Landscape mode with ticks to enable/disable markers. Landscape mode with hidden newsticker. Landscape mode. Unnecessary intro that should've been skipped. When Portrait, the Jakarta icon was overlapped with Address bar. Night mode in maps

Saya lihat tampilan sempurna bila menggunakan peramban pada Android saya. Penanda-penanda dapat dengan jelas dipencet untuk dapat diaktifkan.

Saran

Aplikasi ini sungguh menakjubkan. Namun, untuk penggunaan yang sebenarnya masih ada beberapa perbaikan. Dari analisis sederhana saya, ada dua jenis saran.

Saran Teknis

Berikut saran teknis saya:

  • Hentikan penyamaran Javascript. Lebih baik konsentrasi kepada kestabilan penyediaan layanan dari pada berusaha menyembunyikan kode sumber.
  • Sebaiknya layar utama langsung ke peta. Intro dapat ditaruh ke easter egg atau layar tentang.
  • Gunakan URI yang benar sesuai dengan standar web! [lazy javascript is lazy!]

Contoh penggunaan URI yang benar adalah seperti ini:

http://smartcity.jakarta.go.id/#mitrakerjasama
URI yang menunjukkan laman Mitra Kerja sama, misalnya.
http://smartcity.jakarta.go.id/#@-6.1896744,106.836843,15z
URI yang menunjukkan Stasiun Gondangdia, misalnya.
https://www.google.co.id/maps/@-6.1896744,106.836843,15z?hl=id
Contoh URI yang menunjukkan satu resource Stasiun Gondangdia oleh Google Maps.

 

Saya mungkin bisa saja bilang, tolong jangan bikin Sir Tim Berners-Lee menangis. Tapi, alasan utama mengapa pentingnya penggunaan URI yang benar adalah tempat-tempat dan kejadian dapat direferensikan. Hal ini bisa membuat aplikasi ini berguna. Misalnya, dipakai sebagai referensi oleh orang lain dalam dokumen hukum, blog situs, atau pun sekedar dalam percakapan maya.

Contoh kecilnya, seseorang bisa memanfaatkan lokasi Warung unik pada situs untuk memberitahukan tempat makan unik tersebut sebagai titik berkumpul kepada rekan-rekan lainnya.

Saran Berkelanjutan

Agar proyek ini berkelanjutan dan dapat dikembangkan lebih lanjut, saya berharap:

  • Pemprov DKI telah mengevaluasi kontraknya. Pastikan bahwa kode sumber dan hak milik ada di tangan Pemprov DKI. Bisa jadi alasan utamanya adalah karena aplikasi ini dibiayai dari uang rakyat dan menggunakan data-data dari partisipasi rakyat Indonesia.
  • Nah, seandainya memang milik Pemprov DKI, data-data tersebut sebaiknya dapat dirilis dan diakses oleh pihak ketiga dengan menggunakan API yang terpublikasi. Artinya, sesuai dengan OpenGov, Pemprov DKI menyediakan Smart City API yang bisa dimanfaatkan oleh pihak ketiga.
  • Pihak ketiga yang punya kebutuhan khusus dapat juga diberi akses untuk memperkaya data-data yang ada.
  • Fasilitas anonimitas sebagai syarat pelaporan diakomodasi oleh hukum Indonesia. Alangkah baiknya kalau bisa melaporkan secara anonim secara eksplisit tanpa harus melakukan teknik-teknik tertentu.

Menurut saya, sudah saatnya paradigma penyediaan platform daripada end product. Pemprov mungkin hanya menyediakan data umum untuk kebutuhan spesifik. Tapi, data-data ini bisa jadi sangat berguna untuk suatu kebutuhan unik (niche) yang lain.

Akhir Kata

Aplikasi Smart City sangat menakjubkan. Berhubung baru diterbitkan, wajarlah ada kelemahan di beberapa tempat. Saya sangat mengagumi langkah Pemprov DKI dan berharap Pemerintah Daerah lainnya menyusul dan membentuk konsorsium OpenGov.

Oh, iya, kepada pengembang, selamat! Aplikasi Anda bagus.

~lolImHavingGoosebumps

Bacaan Lebih Lanjut

on 18 Dec 2014 11:52 AM

17 Dec 2014

I won’t bother translate my writing into Bahasa Indonesia. This is seriously experimental and could brick said device. Besides, I’m speed writing to myself.

I stopped using MIUI because of the new Lollipop. The battery life was not that long, one day only, with the last MIUI built. There were too many wake up locks and I was seeing packets being sent to servers.

That being said, MIUI impressively blocked short message ads. I was not getting any short message ads at all. I realized that after I changed my ROM. The short messages returned.

Anyway, moving on to Cyannogen Mod 12 (CM12), I’ve tried many CM12 ROMs. The CM12 build that lasted for me is Resurrection Remix 2.2.1 build. But, after Temasek built, AlegenMod, was released today, I’m wavering to that ROM. Simply because it has the richest feature as of right now.

Here’s the procedure for every CM12 I’ve installed. The different only in ROM’s ZIP. Everything is practically the same.

  1. Advance Wipe deleting system, apps, cache and dalvik cache. Basically, everything but the Internal Storage.
  2. Install ROM zip, e.g. AlegenMod.
  3. Install GApps zip, I chose Micro GAPPS from PA.
  4. Install RenderBroken kernel zip.

After the first reboot to the system, I installed these packages:

  1. Synapse, a kernel configurator. This is mandatory. My LG G2 was hotter (in temperature, obviously) and the battery depleted faster  without this one.
  2. F-Droid, a Free/Open Source Software market.
  3. AdAway, an ad blocker that could only be installed from F-Droid. Hey, I’ve paid my connection! I won’t pay those bytes for downloading ads.
  4. ZXing, the ultimate barcode reader.
  5. Spirit2 experimental built for FM radio. Do note that this is experimental. I had to wait for about 15 seconds to turn it ON/OFF. Meaning, you have to wait for 15 seconds every time you turn the button ON/OFF.

A shout out to an app: Alkitab by YUKU, the best Bible software in Android. He was banned from Google Play for no particular reason. Oh, wait, just found out he is now uploading the new Alkitab as Alkitab SABDA in Google Play with different publisher name. Still, I’m using the original Alkitab 4.0 BETA 11. :-P

What’s missing now is the IR blaster software. Everything else is ready for daily driver.

on 17 Dec 2014 08:13 AM

16 Dec 2014

Beberapa waktu lalu saya memiliki ide bahwa setiap mahasiswa yang tidak memiliki uang lebih untuk membeli lisensi dapat memanfaatkan peranti lunak yang berjalan pada teknologi awan. Ide hanya sekedar ide dan kemudian dimakan waktu. Akhirnya saya membaca tulisan +Radite Putut tentang aplikasi teknologi awan untuk pengolah grafis.

Saya lihat ternyata tidak hanya aplikasi pengolah grafis namun aplikasi yang biasa saya gunakan pada sistem operasi Linux. Sebut saja ada LibreOffice, OpenOffice, DIA, GEdit, KStars, Brackets dan sebagainya. Anda bisa lihat daftar aplikasinya di https://www.rollapp.com/apps.

Jika malas mendaftar bisa menggunakan akun Google, Facebook atau Amazon Anda. Sebelum menggunakan rollApp pastikan Anda memiliki akun penyimpanan di teknologi awan seperti Dropbox, Google Drive dan sebagainya. rollApp mendukung beberapa media penyimpanan awan seperti Dropbox, Google Drive, Box, 4Shared, OneDrive dan Yandex.Disk. Silakan Anda coba https://www.rollapp.com dan rasakan sensasi aplikasi desktop di awan.
on 16 Dec 2014 10:44 AM

15 Dec 2014

Pagi ini jalan jalan ke Pasar Google Chrome  saya menemukan hal menarik yaitu tentang aplikasi linux desktop bisa dijalankan melalui layanan Awan. Jadi semakin kedepan tidak ada alasan lagi untuk menerima Sistem operasi berbasis awan. Aplikasi yang dapat di jalankan kebanyakan adalah aplikasi FOSS, seperti Inkscape, Gimp, Open Office dll, semua bisa dijalankan melalui browser. Aplikasi awan ini saya lihat, tidak jauh berbeda dengan aplikasi yang dijalankan melalui VNC Desktop, cuma bedanya VNC desktop sudah disediakan oleh rollApp. Bagi sebagian orang aplikasi awan seperti ini sangat membantu apa lagi bagi orang yang malas membawa perangkat desktop ditenteng-tenteng kemana-mana, terlebih lagi bagi pengguna Chromebook aplikasi seperti ini sangat membantu sekali.
Saya coba untuk menjalankan Inkscape dan Gimp melalui browser Chrome, hasilnya lumayan seperti aplikasi Gimp dan Inkscape native desktop. Tapi saya sarankan anda mempunyai kecepatan internet yang mumpuni untuk membuka aplikasi cloud ini, bagi yang mempunyai koneksi standar, jangan harap menggunakan aplikasi ini secara maksimal. Karena lumayan berat rendering aplikasi dari server ke browser kita. Jadi sekarang tidak cuma keluarga Photoshop yang dapat berjalan di awan, Kini aplikasi linux pun, juga dapat dijalankan di awan.

Bagi ingin mencoba silahkan install dari chrome web store atau dari browser kesayangan anda.

Inkscape Cloud
https://chrome.google.com/webstore/detail/inkscape-on-rollapp/icjinnaagdniegmfejingjjhljhmkopj

Gimp Cloud
https://chrome.google.com/webstore/detail/gimp-on-rollapp/eodhmnkhmnkmimhckfpkgmbmcgjkaddo

Aplikasi Cloud Lain - https://www.rollapp.com/

Untuk membuka dan menyimpan berkas yang akan digunakan pada aplikasi Awan ini, kita harus terkoneksi dengan layanan penyimpanan berkas awan seperti Dropbox, Google Drive, Box, OneDrive dll.

Apakah anda siap mencoba Aplikasi FOSS di Awan ?

on 15 Dec 2014 12:39 AM

12 Dec 2014

suatu sore sayup2 terdengar perkataan....

ada kondisi seseorang dimana

rejekinya dibuat bertambah banyak
kedudukannya dijadikan bertambah tinggi
ilmunya diberikan bertambah banyak

namun disaat bersamaan

ibadahnya menjadi berkurang
ketaatannya menjadi berkurang
amalannya menjadi berkurang

yang dulunya adzan langsung ke masjid, kemudian berangsur-angsur kemasjidnya setelah adzan, kemudian menjadi kemasjidnya di akhir2 bareng komat, kemudian mulai telat berjamaah kemudian mulai bolong-bolong sholat berjamaah di masjidnya

yang dulunya mbaca quran sehari 1 juz, kmudian berkurang stengah juz, kemudian berkurang 1 halaman, kemudian berkurang menjadi 1 ayat dan kemudian bolong-bolong membaca quran tiap harinya

yang dulunya rajin sholat malam kemudian berakhir bolong-bolong juga

sementara rizkinya dibuat bertambah semakin bertambah, bertambah terus dan terus ditambah....
on 12 Dec 2014 11:46 PM

11 Dec 2014

Sempat jengkel remote console Proxmox selalu gagal karena menggunakan VNC atau noVNC. Sejak menggunakan Proxmox v3.3 pekerjaan jadi lebih mudah. Terutama untuk urusan remote console. Fitur untuk remote console saya menggunakan SPICE. 

Ada 2 hal untuk menggunakan SPICE, pertama disisi Proxmox pada bagian Display pilihan SPICE. Disisi klien saya menggunakan LinuxMint jadi cukup menginstall Virt Viewer, sudo apt-get install  virt-viewer. Selain berjalan pada sistem operasi Linux, Virt Viewer juga tersedia di sistem operasi MS Windows dan Mac OS X.

on 11 Dec 2014 09:38 AM

PENULIS TIDAK BERTANGGUNG JAWAB ATAS KERUSAKAN YANG TERJADI. PANDUAN INI DAPAT MEMATIKAN GARANSI ANDA (kalau pun masih ada garansi).

RISIKO TANGGUNG SENDIRI!

Saya dipinjami teman sebuah telepon Samsung Galaxy Grand Duos i9082. Seperti pada perangkat Samsung umumnya, telepon ini menggunakan Touchwiz. Beliau ingin memperbaharui perangkat ini. Ya, wajarlah. Touchwiz sangat memberatkan sistem. Apalagi untuk perangkat satu ini yang mulai uzur.

Kalau saya lihat spesifikasi perangkat ini, perangkat ini adalah seperti Raspberry Pi dengan dua prosesor. Sama-sama menggunakan BCM VideoCore IV sebagai grafis. RAM yang terbaca sekitar 832MB. Jadi, mungkin sekitar 192MB memori digunakan untuk video. Cukup, sih, untuk memasang video Full HD 1080p.

Saatnya mengganti dengan ROM yang enteng!

Setelah beberapa hari bersemedi di XDA, saya menemukan ROM yang optimal:

AOGP adalah ROM terakhir yang masih aktif dikembangkan untuk perangkat ini; yang lainnya aktif di 2013 dan awal 2014. AOGP menggunakan CyanogenMod 11 (CM11) sebagai basis. Beberapa modifikasi penting dia lakukan seperti mengaktifkan Dual SIM. Biasanya, produk-produk AOSP tidak mendukung Dual SIM.

Memasang Recovery Termodifikasi

Sumber bacaan: [Ultimate Guide] Installing / Rooting / Self-Customizing Stock Rom 4.2.2 / 1 [13/08]

Yang paling saya sebal dari proses ini adalah proses ini menggunakan sistem operasi Windoze. Hal ini karena ODIN hanya berjalan di sistem operasi tersebut. Memang, ada Heimdall yang bisa berjalan di GNU/Linux. Saya sudah mencobanya. Tapi, berhubung saya lagi baik karena menjelang Natal, saya tuliskan saja versi menggunakan Windoze.

Oh, iya, pastikan USB Debugging dinyalakan. USB Debugging ada dari menu Pengembang. Kalau belum ada menu Pengembang, nyalakan dari menu About device lalu menekan beberapa kali versi Build Number.

Perangkat Lunak yang diperlukan

Berikut perangkat lunak yang diperlukan.

  1. Pasang Penggerak USB Samsung. Cara paling gampang adalah memasang perangkat lunak KIES. Kalau di GNU/Linux, memasang Heimdall sudah memasang aturan UDEV juga.
  2. Saya mengunduh ODIN versi 2.07 dari thread ini. Cukup diekstraksi dan Odin3 siap digunakan.
  3. Saya menggunakan recovery termodifikasi dari Philz Touch. Saya mengunduh philz_touch_6.19.3-i9082.tar.md5. Format .tar.md5 adalah format yang diketahui oleh Odin3.

Yak, cukup tiga itu. Silakan pastikan bahwa perangkat terdeteksi. Berhubung PC teman saya pernah digunakan untuk perangkat Samsung lainnya, perangkat ini langsung terdeteksi. Sepertinya Penggerak USB Samsung dibuat untuk semua perangkat Android dia.

Pemasangan

ODIN flashing recovery image. (Source: XDA)

ODIN flashing recovery image. (Source: XDA)

Caranya:

  1. Matikan perangkat. Dari keadaan mati, pencet tombol Volume Turun + Home + Power bersamaan. Kombinasi tombol ini membuat perangkat masuk ke Mode Unduhan (Download Mode).
  2. Pastikan KIES atau peramban berkas tidak berjalan. Setelah yakin tidak ada aplikasi yang dapat mengambil alih telepon, jalankan ODIN dengan Run As Administrator.
  3. Setelah perangkat di Mode Unduhan dan ODIN sudah menyala, hubungkan kabel USB dari PC ke perangkat. Kalau terhubung, bagian awal batang akan berwarna hijau dan log berisi Added!
  4. Pastikan Auto Reboot dan F. Reset Time tercentang. Pilihan Auto Reboot akan menyalakan ulang perangkat ketika sudah selesai. Pilihan F. Reset Time akan melakukan Factory Reset, alias menghapus konfigurasi yang ada. Pilihan F. Reset Time itu yang paling penting harus dicentang!
  5. Klik tombol PDA dan pilih berkas philz_touch_6.19.3-i9082.tar.md5 yang kita unduh tadi.

Kalau tidak ada aral melintang, seharusnya Pada layar log pesan ada tulisan: PASS. Kalau Auto Reboot dinyalakan, perangkat akan otomatis menyala ulang. Saatnya ke hidangan utama.

Memasang ROM AOGP 4.4.4

Unduh beberapa berkas berikut:

Taruh itu semua di perangkat. Bisa di penyimpan internal atau penyimpan eksternal. Terserah, yang penting ingat saja di mana ditaruh berkas-berkas tersebut. Oh, iya, kalau pakai sideload, berkas-berkas tersebut tidak perlu ditaruh di perangkat.

Masuklah ke mode Recovery. Cara manual adalah dengan mematikan perangkat lalu tekan

Selanjutnya pemasangan saya asumsikan menggunakan Philz Recovery. Karena ini sudah berulang kali saya lakukan pada artikel LG G2, maka untuk kemalasan saya menghemat waktu, saya berikan langkah-langkah singkat saja. Silakan cari artikel sejenis di blog ini yang lebih detail.

  1. Lakukan Factory Reset. Langkahnya secara berurutan.
    • Wipe Data/Factory Reset
    • Clean to Install a New ROM
    • Yes, I will install a new ROM
  2. Pasang ROM AOGP.
  3. Pasang Google Play
    • Install Zip
    • Choose Zip from /sdcard
    • gapps-kk-20140105-signed.zip
    • Yes – Install gapps-kk-20140105-signed.zip
  4. Pasang SuperSU
    • Install Zip
    • Choose Zip from /sdcard
    • UPDATE-SuperSU-v2.37.zip
    • Yes – Install UPDATE-SuperSU-v2.37.zip
  5. Nyalakan ulang perangkat.
    • Reboot System Now

Catatan, kalau ada di eksternal, jangan pilih “Choose Zip from /sdcard”, tapi pilih direktori yang satu lagi.

Kalau saya, sih, menggunakan GNU/Linux menggunakan sideload. Itu sebabnya, saya pilih Install zip from sideload. Lalu, pada terminal di PC saya, saya lakukan perintah ini:

adb sideload <NAMA_BERKAS>

untuk ketiga berkas itu. Contohnya:

adb sideload UPDATE-SuperSU-v2.37.zip

Enaknya sideload, tidak perlu menaruh berkas di perangkat, cukup jalankan dari terminal.

Beberapa Langkah Tambahan Setelah Masuk Pertama Kali

Ada beberapa hal yang harus dilakukan setelah masuk ke dalam ROM untuk pertama kali. Yang paling standar memasukkan ID Google Anda. Setelah itu, ditanyakan untuk masuk ke ID CyanogenMod Anda. Kedua proses ini bisa dilewati. Tapi, kalau mau memasang aplikasi dari Google Play, sebaiknya ID Google diisi.

Setelah selesai proses registrasi tadi, ada satu langkah kecil yang diperlukan untuk mengaktifkan tombol-tombol yang ada di bawah (MENU, HOME, BACK).

  1. Masuk ke:
    • Settings
    • Buttons
  2. Hilangkan centang pada Hardware key option for hardware keys to work. Ketiga tombol akan mati.
  3. Centang kembali Hardware key option for hardware keys to work. Ketiga tombol akan kembali menyala.
  4. Selesai.

Sampai proses ini Anda sudah mendapati Samsung Galaxy Grand Duos I9082 yang telah berfungsi. Selesai.

Proses yang Kelupaan

Iya, saya ada satu proses yang kelupaan, yakni memasang radio. Saya hampir tidak pernah menggunakan fitur ini. Tapi, yang kalau mau, silakan unduh APK Spirit1 dari thread ini. Caranya ada di pos #4.

Saya belum mencobanya karena sudah kepalang saya kembalikan perangkatnya.

Terakhir

Selamat mencoba. Terlampir hasil tangkapan layar. Maaf, ya, ini sudah memakai tematik beda, tapi saya lupa apa. Saya juga sudah memasang Google Chrome Beta.

Homescreen #1 (Main) Homescreen 2 About device Lockscreen
on 11 Dec 2014 08:23 AM

09 Dec 2014

PERHATIAN:

BIONIK DAN DALVIK YANG ADA PADA TUTORIAL INI HANYA UNTUK STOK DAN ROM TERMODIFIKASI YANG DIBUAT DARI STOK.

JANGAN GUNAKAN PUSTAKA-PUSTAKA INI UNTUK AOSP! (CyanogenMod dan sejenisnya)

Sumber bacaan: [Mod] [Nexus 5] Dalvik+bionic library optimization – Flashable

Saya sebenarnya sudah menjelaskan pada tulisan sebelum ini. Saya akan coba jelaskan lebih lengkap. Terutama alasan mengapa ini perlu.

Karena pustaka Android itu Kode Sumber Terbuka (Open Source Software) dan bukan Perangkat Lunak Bebas (Free Software), semua orang bisa saja mendistribusikan binari tanpa menyertakan kode sumber. Dalam hal ini, Qualcomm sebagai penyedia keping untuk perangkat Android dan beberapa pabrik menyediakan binari yang terkompilasi secara optimal untuk perangkat buatannya. Untungnya, karena ini Android, pustaka binari tersebut bisa dipakai di perangkat lain dengan spesifikasi yang (hampir) sama.

Ada dua pustaka yang ditawarkan: BIONIC dan Dalvik. Kalau pada pemasangan sebelumnya saya hanya memasang BIONIC, kali ini saya memasang juga Dalvik. Supaya kalau mau tetap di Dalvik atau kembali dari ART ke Dalvik, perangkat menggunakan pustaka yang teroptimasi.

Memasang Pustaka Bionic yang Teroptimasi

Sumber bacaan: Bionic (perangkat lunak)

Bionic adalah Pustaka C yang digunakan oleh sistem Android. Karena lisensi yang digunakan Bionic adalah BSD, maka Google memilih pustaka ini ketimbang GLIBC yang menggunakan LGPL. Lisensi BSD lebih ramah terhadap produk-produk tertutup (proprietary).

Untuk memasang Bionic:

  1. Dari menu utama pilih Install Zip
  2. Pilih Choose zip from /sdcard
  3. Pilih LG_G3_BIONIC.zip
  4. Pilih Yes – Install LG_G3_BIONIC.zip

Selanjutnya Dalvik.

Memasang Pustaka Dalvik yang Teroptimasi

Sumber bacaan: Dalvik (perangkat lunak)

Semua aplikasi Android adalah aplikasi Java. Aplikasi Java dijalankan oleh mesin JVM. Dalvik adalah mesin JVM yang menjalankan aplikasi-aplikasi tersebut di Android.

Awal mulanya Google menggunakan JAMVM. Namun, kemudian secara gradual pindah ke Dalvik. Kini, Google akan melakukan transisi lagi ke ART.

Cara pasang Dalvik:

 

  1. Dari menu utama pilih Install Zip
  2. Pilih Choose zip from /sdcard
  3. Pilih LG_G3_DALVIK.zip
  4. Pilih Yes – Install LG_G3_DALVIK.zip

Kalau Anda memasang ART, Dalvik tidak perlu dipasang. Toh, pustaka ini tidak akan dipakai bila kita mengaktifkan ART.

on 09 Dec 2014 11:52 AM

07 Dec 2014

Berikut tulisan yang belum sempat terpublikasi akibat kemarin buru-buru. Agak acak, tapi, siapa tahu ada informasi yang Anda bisa tahu.

Menyalakan Titanium Backup dan Aplikasi Sejenis

Titanium Backup dan semua aplikasi yang membutuhkan akses sebagi root tidak dapat dijalankan di MIUI. Anda harus mengaktifkan perizinan hak akses root pada Security Manager. Caranya:

  1. Pilih Security security
  2. Aktifkan Root permission
    Screenshot_2014-12-05-22-15-37

    Activate Root permission

  3. Setelah itu, abaikan peringatan: (Tekan Pilih/OK) Screenshot_2014-12-05-22-15-29
  4. Selesai.

Tentang MIUI v5 untuk LG G2

MIUI v5 ini dibuat dari ROM LG G2 yang dipreteli dan dimodifikasi sedemikian rupa. Kernel yang digunakan adalah Cloudykernel 1.5. Anda bisa menggantinya dengan Dorimanx atau kernel untuk ROM stok dan variannya. (Bukan kernel AOSP seperti CyanogenMod)

About MIUI v5 About MIUI v5 (cont'd)

Penjelajah Berkas

Penjelajah berkas memiliki tiga mode. Yang pertama berdasarkan kategori jenis berkas. Yang kedua seperti penjelajah berkas lainnya, menunjukkan struktur direktori dan berkas. Yang terakhir adalah integrasi dengan Kuaipan. Kuaipan adalah dropbox ala Cina. Karena kendala bahasa yang dipakai, saya tidak mengaktifkan akun saya di sana.

Explorer

Notifikasi

Ada dua tab yang disediakan oleh MIUI v5. Yang pertama untuk notifikasi aplikasi. Yang kedua untuk tombol-tombol cepat. Saya suka sekali notifkasi ini.

Application notification. All the toggle buttons

 

Dan Lain-lain

Beberapa hal standar lainnya yang indah.

Browser Weather Calendar Home screen: Left Home screen: Center Home screen: Right Music: Playlist Music: Now playing Lock screen Homescreen Folder Application Installer WPS Mail Shutdown dialog

Yak, bisa dikatakan, MIUI v5 adalah Android yang disusun dengan indah. Kalau kata teman saya, sih, sepertinya hendak menyerupai iOS. Iya juga, sih. Beberapa hal yang mirip iOS:

  1. Ikon mengambil desain mirip iOS tetapi lebih flat. Bahkan, indikator baterai mirip.
  2. Folder di homescreen berindikasi angka yang menyatakan jumlah pesan yang belum terbaca.
  3. Ikon-ikon beberapa aplikasi berubah sesuai dengan keadaan, misalnya ikon Cuaca berubah sesuai dengan keadaan dan suhu saat itu.

Dan lain-lain, mungkin. Saya tidak pernah punya iOS. Jadi, saya hanya mengetahui apa yang saya perhatikan dari iPhone rekan-rekan saya saja.

Tapi jangan lupa, MIUI memiliki antarmuka yang indah. Beberapa aplikasi terintegrasi dan semua tampak profesional. Saya takkan berani bilang kalau ini telepon cuma plagiat. Saya bahkan merasa bahwa MIUI ini adalah sebuah sistem operasi perangkat nirkabel yang hebat dan unik.

Kekurangan

Setelah beberapa hari menggunakan, ada beberapa kekurangan bagi saya untuk MIUI v5. Kebanyakan, sih, menurut saya subyektif. Kalau tidak setuju, silakan saja.

  1. Baterai agak boros. Mungkin karena saya harus memasang Google Play Service dan Xiaomi Service Framework secara bersamaan. Hal ini karena ada beberapa aplikasi saya yang tidak ada di Xi Market. Oh, iya, saya memiliki 3 market: Xi Market, Google Play Store, F-Droid.
  2. Bahasa yang dipakai adalah bahasa Mandarin. Saya tidak bisa berbicara Mandarin mau pun membaca kanjinya. Jadinya, saya cuma bermodalkan iman dalam menjelajah fitur-fitur. Hal ini yang menjadi kendala pertama saya saat harus mengganti papan ketik iFly menjadi SwiftKey.
  3. Aplikasi AdAway sepertinya secara eksplisit diblok dan tak dapat dipasang.
  4. Integrasi dengan Baidu (Baidu Market, Baidu Browser) dan Mi Account/Mi Cloud sama saja lepas dari mulut singa masuk ke mulut buaya. Ya, mending saya menggunakan Google Apps saja dari mula. Silakan saja, antara Paman Sam atau Bibi Lung. :)

Hugo Barra membantah bahwa Xiaomi menjual data pelanggan kepada pemerintah Cina. Beberapa anggota forum dan Phone Arena menemukan bahwa Xiaomi mengirimkan data ke server pemerintah Cina. Entahlah, yang pasti ada data yang dikirimkan.

Saya tidak mau menuduh. Tulisan ini tidak untuk menurunkan citra. Saya, sih, percaya saja dengan integritas Xiaomi. Hanya saja, sebagai pengikut Stallman, saya memang sedikit parno dengan Google, Facebook, dan yang lainnya. Makanya, isu privasi ini menjadi hal sentral buat saya. Ya, buat yang lain, sih, perkara tinggal buang nomor dan pakai nomor baru saja. Ha… ha… ha….

Hidup Affero!

Tentang Data yang Dikirimkan

Saya bukan orang yang suka menuduh-nuduh. Tapi, saya pun mencoba melihat sendiri ROM yang saya pasang. Berikut beberapa blokiran yang saya dapat dari AFWall+.

AppID :	-11
Application's Name:	(Kernel) - Linux kernel
Total Packets Blocked:	55
[TCP]74.125.130.188:5228(9)
[TCP]54.255.185.236:5222(9)
[TCP]54.254.174.40:80(18)
[TCP]174.36.210.56:443(1)
[TCP]54.255.183.200:80(18)

	---------
AppID :	9802
Application's Name:	Updater
Total Packets Blocked:	6
[TCP]54.179.169.205:80(3)
[TCP]54.169.169.80:80(3)

	---------
AppID :	10014
Application's Name:	Music
Total Packets Blocked:	62
[TCP]202.173.255.150:80(3)
[TCP]123.125.114.145:80(5)
[TCP]111.206.37.193:80(16)
[TCP]223.202.68.94:80(2)
[TCP]111.206.37.193:443(32)
[TCP]54.169.169.80:80(2)
[TCP]54.179.169.205:80(2)

	---------
AppID :	10025
Application's Name:	Browser
Total Packets Blocked:	12
[TCP]54.179.169.205:80(6)
[TCP]54.169.169.80:80(6)

	---------
AppID :	10033
Application's Name:	WPS Mail
Total Packets Blocked:	23
[TCP]152.118.148.214:993(23)

	---------
AppID :	10034
Application's Name:	Explorer
Total Packets Blocked:	2
[UDP]255.255.255.255:137(2)

	---------
AppID :	10050
Application's Name:	UniPlay Service
Total Packets Blocked:	11
[TCP]10.5.140.61:49152(1)
[TCP]10.5.140.72:49152(1)
[UDP]239.255.255.250:1900(4)
[UDP]224.0.0.251:5353(4)
[TCP]10.5.140.59:49153(1)

	---------
AppID :	10062
Application's Name:	Market
Total Packets Blocked:	59
[TCP]54.255.164.247:80(14)
[TCP]54.179.175.117:80(1)
[TCP]54.236.177.123:80(2)
[TCP]54.255.156.239:80(1)
[TCP]54.254.174.40:80(21)
[TCP]54.169.118.14:80(20)

	---------
AppID :	10069
Application's Name:	Xiaomi Service Framework
Total Packets Blocked:	120
[ICMP]115.239.210.27:5222(7)
[ICMP]10.5.140.1:5222(15)
[TCP]54.255.183.200:80(7)
[ICMP]115.239.210.27:80(2)
[TCP]54.255.185.236:5222(18)
[TCP]54.255.186.16:80(45)
[TCP]58.68.235.7:5222(15)
[ICMP]10.5.140.1:80(8)
[ICMP]115.239.211.110:5222(3)

	---------
AppID :	10080
Application's Name:	Pengelola Akun Google
Total Packets Blocked:	50
[TCP]74.125.68.188:443(1)
[TCP]74.125.68.188:5228(1)
[TCP]74.125.130.100:443(14)
[TCP]74.125.130.138:443(4)
[TCP]74.125.130.101:443(5)
[TCP]74.125.130.188:5228(9)
[TCP]74.125.130.102:443(5)
[TCP]74.125.130.188:443(6)
[TCP]74.125.130.139:443(5)

	---------
AppID :	10091
Application's Name:	WhatsApp
Total Packets Blocked:	13
[TCP]74.125.130.101:80(1)
[TCP]74.125.130.102:80(1)
[TCP]192.155.212.202:443(1)
[TCP]184.173.147.38:443(1)
[TCP]158.85.58.44:5222(1)
[TCP]173.192.222.176:443(1)
[TCP]158.85.58.73:5222(1)
[TCP]74.125.130.100:80(1)
[TCP]174.37.231.87:443(1)
[TCP]108.168.176.248:5222(2)
[TCP]192.155.212.203:443(1)
[TCP]184.173.147.39:443(1)

	---------
AppID :	10096
Application's Name:	Google Play Store
Total Packets Blocked:	14
[TCP]74.125.130.100:443(1)
[TCP]74.125.130.190:443(9)
[TCP]74.125.130.102:443(1)
[TCP]74.125.130.138:443(1)
[TCP]74.125.130.139:443(1)
[TCP]74.125.130.101:443(1)

	---------

Dari log tersebut, kebanyakan mereka mengirim ke Amazon dan Softlayer. Sisanya, Google mengirim ke peladen mereka. Ya, nampaknya, sih, dari aplikasi yang saya pasang tidak ada yang aneh. Entah kabar burung atau Xiaomi telah memindahkan peladennya ke Amerika Serikat untuk menghilangkan rasa curiga orang-orang. :)

Anda bisa memasang sendiri AFWall+ untuk mencoba perangkat Anda terhubung ke mana saja. Tapi, hati-hati, ya. Itu bisa memblokir semua. Yang pasti, saya untuk beberapa minggu ini akan memakai MIUI v5 sampai bosan.

Beberapa Tambahan yang Telah Saya Lakukan

Beberapa hal telah saya lakukan untuk percobaan kali ini:

  1. Memasang LG G3 Bionic dan LG G3 Dalvik seperti yang sudah-sudah.
  2. Memasang kernel Dorimanx 9.2 dan menggunakan profil Battery dari STweaks.
  3. Memasang F-Droid dan beberapa aplikasi kesukaan dari F-Droid.
  4. Mengubah gambar latar.

Kira-kira begitu, deh.

on 07 Dec 2014 02:58 PM

26 Nov 2014

Tascam IM2Sepertinya bakal banyak yang sependapat, jika saya katakan hal yang sangat penting dalam proses belajar adalah evaluasi untuk mengetahui serta mengukur perkembangan, di sekolah ujian adalah bentuk evaluasi yang sering kita jumpai.

Dalam konteks evaluasi anak – anak Rocket belajar musik, saya selalu merekam audio performance band khususnya dalam sesi latihan di studio. Aturan yang berlaku di setiap rehearsal studio, adalah adanya biaya lebih jika penyewa hendak memakai peralatan recording. Sementara kami belum membutuhkan kualitas rekaman seperti itu..

Untuk itu saya mengandalkan perangkat Tascam IM2. Perangkat innovative ini, adalah Stereo Condenser Microphone yang bisa dikoneksikan pada smartphone iPhone 4 atau tablet iPad 3, sehingga menghasilkan kualitas tangkapan audio yang sangat bagus. Bahkan karena tingginya kepekaannya, jika angin berhembus akan menimbulkan suara yang mengganggu hasil rekaman. Oleh sebab itu perangkat ini hanya saya pakai di dalam studio rehearsal. Untuk penggunaan diluar ruangan saya sarankan tambahan Wind Muffler yang bisa menghilangkan gangguan suara dari angin yang berhembus.

Tascam IM2 with iPhone

Kualitas hasil rekaman perangkat ini, bisa didengar pada video berikut:

Dengan perangkat ini proses merekam performance anak – anak Rocket dalam rehearsal menjadi mudah dan menghasilkan kualitas suara yang cukup baik..

on 26 Nov 2014 03:01 PM

Beberapa minggu ini saya aktif kembali menggunakan reStucturedText yang kemudian saya export ke pdf dengan rst2pdf. Hal ini dikarenakan kemudahan dalam penggunaanya dan dapat di export ke beberapa format seperti plain teks, doc, docx, latex dan pdf.

Namun ada beberapa catatan yang mengganjal yaitu bagaimana caranya saya ingin menyembunyikan elemen? misalnya saya ingin hanya menampilkan bagian tentang daftar peralatan di halaman HTML namun tidak di tampilkan di PDF?

Menurut pengembangnya kita bisa menyembunyikan elemen tersebut dengan opsi --strip-elements-with-class. Contoh

nge-blog
-----------

berisikan tentang pengertian blog, etc

.. class:: tampil

Teks ini akan tampil, di bawahnya seharusnya ada lagi.

.. class:: hilang

Teks ini hilang

.. class:: tampil

Jika hanya ada dua baris berarti ada yang **hilang**

Untuk menyembunyikan elemen ‘hilang’, pada saat menkompile dengan rst2pdf bisa menggunakan opti --strip-elements-with-class=hilang. Contoh:

rst2pdf --strip-elements-with-class=hilang blog.rst.

Hasil keluarannya akan menghasilkan berkas blog.pdf yang hanya akan berisi 4 baris saja.

on 26 Nov 2014 11:46 AM

18 Nov 2014

Membaca tulisan atau lebih tepatnya skripsi Nur Khayati berjudul Simulasi dan Evaluasi Unjuk Kerja Protokol-Protokol Perutean untuk Vehicular Ad Hoc Network (VANET) Menggunakan Simulator NS-2 dan SUMO saya jadi penasaran ingin mencoba installasi SUMO di Linux Mint. Mungkin didalam skripsi dibawah bimbingan I Wayan Mustika, S.T., M.Eng., Ph.D tidak membahas penggunaan SUMO. Mendengar SUMO pasti teringat olahraga asal jepang. SUMO ini kepanjangan dari Simulation of Urban MObility.

Aplikasi SUMO sudah tersedia di repo Ubuntu (saya menggunakan turunan Ubuntu, LinuxMint). Versi resmi SUMO saat ini adalah 0.22 sedangan SUMO yang terdapat dalam repo Ubuntu 14.04 adalah 0.19. Installasinya cukup mudah ketik sudo apt-get install sumo pada Terminal.

Setelah selesai installasi saya bingung menggunakan karena memang saya tidak ada bekal sama sekali. Sepertinya memang harus mempelajari skripsi atau tesis tentang MANET atau VANET seperti yang ditulis Nur Khayati.

on 18 Nov 2014 12:37 PM

16 Nov 2014

Bagi pengguna internet dial-up modem dari operator seluler yang ingin mencari ip tertentu bisa menggukan script sebagai berikut :

#!/bin/bash
ipnya=`curl -s icanhazip.com`
echo $ipnya
if [ "$ipnya" == "114.160.71.150" ]; then
echo “ip tsukaba 150!”
else
echo “ACCESS BUKAN IP 22!”
if [ "$ipnya" == "118.97.95.23" ]; then
echo “ip ny 118.97.95.23!”
else
echo “ACCESS BUKAN IP 23!”
if [ "$ipnya" == "118.97.95.24" ]; then
echo “ip ny 118.97.95.24!”
else
echo “ACCESS BUKAN IP 24!”
if [ "$ipnya" == "118.97.95.25" ]; then
echo “ip ny 118.97.95.25!”
else
echo “ACCESS BUKAN IP 25!”
if [ "$ipnya" == "118.97.95.26" ]; then
echo “ip ny 118.97.95.26!”
else
echo “ACCESS BUKAN IP 26!”
echo “restart koneksi”
# poff
# pon
fi
fi
fi
fi
fi


on 16 Nov 2014 12:28 AM

12 Nov 2014

Supaya lebih mantap dalam "memainkan" BBMPork tidak ada salahnya memperbarui IGN-SDK ke versi 1.1.6. Jika belum terinstall IGN-SDK di Ubuntu 14.10 berikut tahapannya:
1. Tambahkan baris pada repositori deb http://ppa.launchpad.net/ubunteroz/ignsdk-next/ubuntu utopic main
2. Install IGN-SDK, sudo apt-get update && sudo apt-get  install ignsdk
3. Jalankan perintah ignsdk -v, jika muncul pesan IGNSDK Version :  "1.1.6"  berarti Anda sudah sukses installasi IGN-SDK

IGN-SDK versi 1.1.6 hanya didukung Ubuntu 14.10 dan Ubuntu 14.04. Ternyata IGN-SDK versi 1.1.6 dirilis bertepatan hari terakhir ID-Security Conference 2014.


Koreksi langsung oleh +Surya Handika Putratama :

on 12 Nov 2014 05:08 AM

10 Nov 2014

Post Event Marketing

Wisu Suntoyo

Dalam setiap event, hal yang selalu dilakukan peserta adalah dokumentasi, tidak jarang dokumentasi ini kemudian muncul di berbagai media sosial.

Hari sabtu lalu rock band anak, Rocket, turut dalam acara yang diadakan oleh Majalah XYKids.. Tidak lama kemudian saya posting video dan photo – photo penampilan 4 orang anak yang tergabung dalam band itu…

Keesokan harinya giliran adiknya ikut dalam acara Lomba Grand Prix Junior Band (GPJB XIII), merupakan lomba rutin tahunan drumband tingkat nasional. Sebelumnya pada tahun 2009 anak saya yang nomor satu juga menjadi peserta lomba drumband yang sama. Berikut video yang saya buat dari acara tersebut…

Pada saat penulisan blog entry ini, video yang saya unggah tersebut sudah mendapatkan 200 views dan 13 likes.. padahal belum 12 jam saya publish di YouTube… berbeda dengan 5 tahun lalu, akses streaming YouTube saat ini sudah menjadi hal yang sangat mudah, itupun video – video yang saat anak saya nomor satu menjadi peserta ditonton masing – masing 1.000 dan 3.750 kali.. Gambaran lain, video drumband yang di unggah oleh TK Alazhar 1 bulan Maret 2013, sudah menuai lebih dari 13.000 views… sebuah event acara untuk mendatangkan orang sebanyak itu pasti sebuah acara yang sangat besar sekali…

Dari uraian diatas, besarnya potensi marketing dari adanya peserta yang merekam acara lomba yang kemudian mereka share ke social media sekilas sangat menjanjikan..

Selanjutnya ada beberapa pemikiran saya yang bisa diterapkan dalam sebuah event..

1. Baiknya ada keleluasaan peserta mengabadikan keikut-sertaan dalam acara, misalkan dengan menyediakan tempat khusus untuk mengambil foto atau video..

2. Brand yang hendak anda tonjolkan sebaiknya tampil dengan jelas di obyek yang akan di abadikan.. Seperti acara yang diadakan XYKids yang anak saya ikuti, identitas brand majalah tersebut sangat terlihat dari hiasan panggungnya.. Contoh lain, pada lomba olah raga, branding kaos peserta juga bisa digunakan untuk mencapai tujuan ini..

3. Kegiatan dokumentasi dan sharing bisa dilombakan agar peserta lebih bersemangat untuk buat dan sharing hasil mereka, misal: Lomba foto acara/peserta lomba dimana pesertanya wajib share hasil mereka ke Facebook/Google Plus page penyelenggara.. Atau lomba video yang hasil unggah YouTube-nya di tweet ke penyelenggara akun Twitter penyelenggara…

Yaps, itu sedikit pemikiran… sepenuhnya adalah pandangan dari seorang ayah, dengan pekerjaan non marketing, yang sangat senang mendokumentasikan kegiatan yang diikuti anaknya…

Saya jadi ingin tahu pandangan pembaca yang memang profesional dibidang marketing… What do you think?

on 10 Nov 2014 09:17 AM

Migrasi ke cloudflare

Mahyuddin Susanto

Cloudflare Logo

Clodflare Logo

Akhirnya setelah punya waktu cukup, domain mahyudd.in dan udienz.web.id saya migrasikan ke cloudflare. Salah satu dari beberapa motivasi migrasi ke cloudflare adalah setelah membaca blod dari Om Fajran tentang SSL, Load server, dan bandwidth.

Proses migrasinya sangat mudah sekali, tinggal kita buat domain yang akan di migrasikan, upload zone dns dan atur mana saja yang akan di arahkan ke cloudflare. Selesai! Mudah dan simple.

Kekurangan:

Entah ini bug atau pengaturan di laptop saya yang error, ketika dukungan IPv6 saya aktifkan di blog ini, maka dari laptop saya akan mendapatkan SSL asli dari blog ini bukan dari cloudflare.

Overall:

Secara umum, saya sangat puas dengan penforma setelah migrasi ke cloudflare, hanya untuk catatan server cloudflare ada di Singapura jadi akan memakan bandwidth internasional.

on 10 Nov 2014 09:12 AM

Node.js: Array looping with async

Putu Wiramaswara Widya

To be honest, Node.js based asynchronous pattern makes me sick! It can be the worst idea to combine synchronous based coding pattern you’ve learned since first year in computer school. One of very special case of this sickening pattern is to use array based iteration (which is by default, synchronous) to process your data each by each asynchronously and do something else afterwards. Imagine you get code like this :

// data = [{_id: "1", childData: "1"}, {id: "2", childData: "2"}, {id: "3", childData: "2"});
// sum = [{_id: "1", sum: 500}, {_id: "2", sum: 600}]
db.data.find({}, function(err, datas) {
    var count = 0;
    for(idx in datas) {
        // Do MongoDB's relation query somewhere else
        db.childData.findOne({_id: datas[idx].childData}, function(err, childData) {
            count += childData.sum;
        });
    }

    // Show data output
    console.log(count)
});


That example code is based from MongoDB database implementation inside Node.js. If you think this code as a synchronous one, you would expect it to print “1700″ (500 + 600 + 600). But in case of Node.js, it won’t. It just print “0″ because printing (using console.log) is much faster than finding another data inside databse.

To cope with this, I usually use a library called async. It provides you many kind of function to do a simple control flow and repetition of a collection (or array). In the case of example above, you can use eachSeries or eachSeries. They take same argument: an array, a function called for every element, and function called after all element have been processed.

var async = require('async');
db.data.find({}, function(err, datas) {
    var count = 0;
    async.series(datas, function(data, callback) {
        // Do MongoDB's relation query somewhere else
        db.childData.findOne({_id: datas[idx].childData}, function(err, childData) {
            count += childData.sum;
            callback(err);       // If err != null, iteration will be stopped
        });
    }, function(err) {
       // Show data output
       console.log(count)
    });

    
});

So how does async work? Simple, they just wait callback() call for every element of iteration to do the next element. In case of eachSeries, they will process every element serially (e.g. each element is processed after the previous one) and if you want to do paralel iteration, uses each instead. Iteration can be halted in the middle if callback is called with a first argument (called err), so it won’t continue the iteration if something happens.

But remember to double-check so that callback() will be definitely called at some point because if that do not happen, your program will stuck indefinetely. I will you give an example of this scenario :

var async = require('async');
db.data.find({}, function(err, datas) {
    var count = 0;
    async.series(datas, function(data, callback) {
        // Do MongoDB's relation query somewhere else
        db.childData.findOne({_id: datas[idx].childData}, function(err, childData) {
            // Check if sum is defined so it can be added to count
            if(childData.sum) {
                count += childData.sum;
                callback(); // Bad position for a callback
            }
        });
    }, function(err) {
       // Show data output
       console.log(count)
    });
});

This program should be okay if all childData contains “sum” field. But when it doesn’t, then this code will stuck because no callback()} is being called in the middle of iteration. The simple rule is, callback must be called in array.length times, no less, no more.

on 10 Nov 2014 01:41 AM

07 Nov 2014

Memasang Go di Ubuntu

Fajran Iman Rusadi

Ceritanya saya sedang menulis ulang sebuah proyek kecil yang sudah lama tidak saya sentuh. Mengapa saya tulis ulang? nanti saja saya ceritakan secara terpisah :D Proyek tersebut saya tulis ulang dalam bahasa Go. Nah bagaimana cara memasang perkakas bahasa Go di Ubuntu?

Cara paling enak dan cepat tentunya memasang yang ada di repositori Ubuntu. Cari paket bernama golang lalu pasang! Namun bagi para petualang yang butuh Go versi terbaru, yang ada di repositori Ubuntu mungkin tidak cukup.

Sekitar dua tahun yang lalu, ada yang memelihara paket Go dengan versi paling mutakhir di repositori PPA. Namun karena ada beberapa kendala, usaha ini akhirnya dihentikan. Tapi untungnya beliau ini masih menyediakan alat bantu untuk mengubah paket binari Go resmi menjadi paket Debian yang bisa dipasang di Ubuntu.

Berikut ini cara memakainya.

  1. Unduh aplikasi untuk mengunduh dan mengubah paket binari Go menjadi paket Debian. Aplikasi ini terdiri dari dua versi, satu untuk arsitektur i386 dan satu lagi untuk arsitektur amd64.

    Sebagai contoh, saya akan memakai versi i386

    $ wget https://godeb.s3.amazonaws.com/godeb-386.tar.gz
  2. Ekstrak berkas yang tadi diunduh. Setelah diekstrak, akan ada berkas bernama godeb.

    $ tar xzf godeb-386.tar.gz
  3. Cek daftar versi Go yang tersedia

    $ ./godeb list
    1.4beta1
    1.3.3
    1.3.2
    1.3.1
    1.3
    .. dst ..

    Akan tampil daftar versi Go yang tersedia di tempat unduh resminya.

  4. Lalu jalankan perintah seperti di bawah ini untuk mengunduh dan mengubah paket binari Go menjadi paket Debian.

    $ ./godeb download 1.3.3
    processing https://storage.googleapis.com/golang/go1.3.3.linux-386.tar.gz
    package go_1.3.3-godeb1_i386.deb ready
  5. Pasang paket Debian yang baru saja terbentuk

    $ sudo dpkg -i go_1.3.3-godeb1_i386.deb
    [sudo] password for iang: 
    Selecting previously unselected package go.
    (Reading database ... 37654 files and directories currently installed.)
    Unpacking go (from go_1.3.3-godeb1_i386.deb) ...
    Setting up go (1.3.3-godeb1) ...
  6. Go versi pilihan Anda sudah siap untuk beraksi

    $ go version
    go version go1.3.3 linux/386

Aplikasi godeb ini sebenarnya juga menyediakan opsi install yang akan menjalankan tahap 4 dan 5 di atas sekaligus. Saya pribadi agak kurang suka dengan opsi tersebut karena tiba-tiba akan meminta password untuk sudo tanpa memberi tahu untuk apa. Sebenarnya menjalankan berkas binari acak seperti di atas juga tidak baik, tapi kalau kita tahu pasti sumbernya adalah sumber yang aman dan bisa dipercaya, mudah-mudahan kode yang dijalankan juga aman.

Akhir kata, saya ucapkan selamat mencoba! :D

on 07 Nov 2014 09:52 PM
Dalam presentasi purwarupa BBMPork pada ajang ID-Security Conference 2014 saya mendapat banyak masukan yang membangun. Ini menjadi catatan saya dan +Anak Sepuluh Tahun untuk mengembangkan menjadi aplikasi yang layak digunakan. Presentasi purwarupa BBMPork dapat dilihat di http://anak10thn.github.io/bbm-forensic.ign.

Masukan ini berasal dari pertanyaan yang disampaikan peserta ID-Security Conference 2014. Selain itu BBMPork memang masih jauh dari kata sempurna. Oleh sebab itu perlu pengembangan lebih lanjut, adapun catatan pengembangang sebagai berikut:
1. Penerapan timestamp pada analisis percakapan.
2. Proses Forensik dapat dengan mudah mengenali telepon seluler yang belum ter-root.
3. Proses Analisis dapat menampilkan grafik statistika komunikasi BBM.
4. Akhir dari proses Analisis dapat membuat laporan dari proses forensik komunikasi BBM.
5. Penambahan fitur injeksi busybox pada proses akuisisi.
6. Diharapkan proses forensik dapat mengikuti standar SNI27037.

Perlu dicatat bahwa BBMPork akan fokus dalam melakukan forensik terhadap instant messaging BBM yang berjalan di sistem operasi Android. Saat ini BBMPork hanya berjalan pada sistem operasi Linux dan Mac OS X dan kebetulan saya menguji coba menggunakan Linux Mint 17.1 sedangkan +Anak Sepuluh Tahun menggunakan Mac OS X. Presentasi tentang purwarupa BBMPork dapat dilihat dibawah ini.
on 07 Nov 2014 07:40 AM

04 Nov 2014

Salah jalur, berlawanan arah, tidak menggunakan helm, dan dari seragam yang digunakan sih sepertinya juga belum cukup umur untuk punya SIM. Hampir semua hal dari pengemudi motor ini salah.

Tapi.., kalau sempat dia tertabrak mobil pribadi, kira-kira kita tetap bisa menduga siapa yang kemungkinan besar bakal dihajar massa. Logika kita kan sering kebalik-balik.

*foto dari Google Street View, lokasi di kompleks Citra Raya Tangerang.

Eh iya, ini bukan generalisasi semua pengendara motor ya. Saya sendiri lumayan taat mengendarai sepeda motor. Di lampu merah, kalau masih lampu merah yang menyala, saya anteng aja, sabar menunggu hijau. Menunggunya juga di belakang garis batas. Hasilnya? Saya diklakson dan diteriakin banyak orang “Wooy.. maju woy..! Masih kosong tuh di depan.”, atau “Oii..! Jalan aja, sepi gitu jalannya..!!”

Ya tidak semua amburadul, tapi banyak.. BANYAK.

on 04 Nov 2014 03:37 AM

03 Nov 2014

Pernah mengalami server tiba-tiba filesystemnya menjadi read-only, kemudian ketika jalankan perintah selalu keluar error “Bus Error” atau “Input/output error”

-bash: /home/user/.bash_profile: Input/output error
sudo: Can't open /var/db/sudo/user/3: Read-only file system

Cara paling sakti adalah melakukan “reboot” untuk server tersebut, karena biasanya kondisi filesystem read-only ini terjadi karena ada disk yang rusak. “fsck” pada waktu next reboot diharapkan akan bisa melakukan perbaikan atas apa yang terjadi pada disk.

Tapi ada masalah lain, yaitu ketika kita jalankan perintah “reboot” atau “shutdown” selalu muncul error seperti dibawah ini:

# reboot
Bus error
# shutdown -r now
Bus error

Solusinya kita bisa menggunakan “magic SysRq key” untuk melakukan reboot. Caranya adalah sebagai berikut :

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

“This does not attempt to unmount or sync filesystems, so it should only be used when absolutely necessary”

Jika ingin mengaktifkan “magic SysRq key” secara permanen, bisa gunakan perintah berikut :

echo "kernel.sysrq = 1" >> /etc/sysctl.conf

Informasi lain tentang “magic SysRq key” bisa dibaca dimari.

Referensi : Rebooting the Magic Way

on 03 Nov 2014 10:26 AM

Django dengan CouchDB

Rolly Maulana Awangga

Django merupakan salah satu web framework yang menggunakan bahasa pemrograman Python.

okeh, pertama kali kita ikutin dahulu beberapa referensi disini :

1. http://www.kaskus.co.id/thread/52e8007f38cb17542e8b459e/reborn-django-web-framework

2. http://django.or.id/2010/12/6/membuat-poll-sederhana-dengan-django/

3. http://leok.me/2013/05/02/what-you-need-to-know-couchdb-django.html

 


on 03 Nov 2014 06:59 AM

Setelah kita membuat file configurasi setiap modem satu file config maka untuk Cara mudahnya menjalankan service gammu dengan berbeda modem adalah dengan memasukkan perintah di /etc/rc.local

service gammu-smsd start
gammu-smsd –daemon –user gammu -c /etc/gammu-smsdrc1 –pid /var/run/gammu-smsd1.pid
gammu-smsd –daemon –user gammu -c /etc/gammu-smsdrc2 –pid /var/run/gammu-smsd2.pid
gammu-smsd –daemon –user gammu -c /etc/gammu-smsdrc3 –pid /var/run/gammu-smsd3.pid

Agar layanan service daemon tetap terjaga kita bisa memaasukkan perintah di crontab :

* * * * * /etc/rc.local


on 03 Nov 2014 06:50 AM

02 Nov 2014


"Bagaimana menghitung selisih waktu (tanggal, jam) menggunakan PHP?". Sekarang kita akan coba dengan menggunakan DateTime class yang telah tersedia untuk PHP 5 >= 5.3.0.

Contoh 1 saat membuat absensi:

<?
$menit = 120;
$jam1 = new DateTime('08:00:00');
$jam2 = new DateTime('09:30:00');

//selisih $jam2 - $jam1
$beda = $jam1->diff($jam2);

//menambahkan 120 menit pada $jam1
$baru = $jam1->modify('+$menit minutes');
$baru1 =  $baru->format('H:i:s');

//menulis format keluaran di layar
echo $beda->format('%R %H hours %i menit');
echo " $baru1";
?>

Contoh 2 di bawah yg persis sama dengan contoh di manual PHP:

<?
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>

Selamat bekerja.
Oh ya, jika ada yang berminat pesan aplikasi absensi seperti skrinsyut di atas hubungi saja di komentar. Aplikasi itu mengambil data dari mesin absensi sidik jari yang terpasang di kantor. :) 

sumber :
http://php.net/manual/en/datetime.diff.php

on 02 Nov 2014 12:51 AM

01 Nov 2014

tulisan buat di buku ccie
=================



Saat seseorang sudah memutuskan memulai untuk perjalanan menuju ccie, maka yang sudah menunggu didepan adalah berbagai macam hambatan dan rintangan. Tidak ada manis-manisnya, dijamin pahit semua, yang sebenarnya manis pun akan jadi berasa ikut pahit. Selama ini bisa jadi terlalu banyak cerita manis tentang ccie, namun terus terang yang sebenarnya adalah pahit, bahkan terlalu banyak pahitnya.

CCIE tidak butuh semangat dan impian, banyak orang maju ujian dengan modal semangat yang hasilnya bisa ditebak jauh hari dan banyak pula yang sebelumnya memimpikan ccie namun kemudian memutuskan mengubur mimpi tersebut, ada yang dikubur sebelum pernah ujian sama sekali ataupun dikubur setelah letih dan lelah ujian berkali kali belum juga ccie.

Yang lebih dibutuhkan ccie adalah darah yang siap2 untuk dihisap habis-habisan olehnya… darah yang musti disiapkan untuk written aja sekarang Rp 5jt ditambah ujian lab 20jt-an belum transport pp hotel dll bisa Rp 5jt lagi…
Biaya tersebut untuk sekali ujian, sedangkan sekali ujian dan kemudian langsung lulus itu hanyalah ilusi fatamorgana. Kita dari 40 ccie kurang dari 5 orang yang sekali ujian lulus first attempt. Jadi sekali lagi saya katakan ccie itu haus darah dan ccie tidak perduli berapa banyak stok darah yang kita miliki.

Walaupun kita sudah habis-habisan, tinggal kulit dan tulang, ccie masih juga tidak perduli, dia masih butuh korban darah lagi yang akan dihisap selanjutnya. Biasanya kita mulai jual2 sesuatu, pinjem2 uang ke keluarga, berhutang dan sejenisnya. Yang jelas darah orang2 terdekat kita sudah mulai ikut terhisap. Cara lain yang lebih aman adalah pake darah kantor, dengan konsekwensi rantai emas tentunya. Yang jelas darah harus ada, kalau enggak ga usah ccie, capek belajarnya gak ujian ujian, buang2 waktu dan energy aja.

Untuk lulus ccie tidak bisa dengan belajar menguasai materinya kemudian setelah siap maju ujian lab. Hal tersebut benar hanya untuk diatas kertas aja, kenyataan di lapangan tidak semanis itu. Ccie pada kenyataannya dilapangan adalah lebih kepada cara kita dalam mengelola kendala2 dan rintangan. Satu demi persatu kita berupaya keras mencari jalan bagaimana agar dapat melewati berbagai macam kendala tersebut hingga akhirnya dapat meraih ccie.

Ada beberapa kendala utama yang jadi penyakit untuk para kandidat ccie. Siapapun pasti akan ketemu dengan penyakit ini, sebagian akhirnya sembuh dan lanjut proses selanjutnya sedangkan yang sebagian lain berlama-lama dengan penyakit tersebut, terjebak disana tanpa tau bagaimana kesudahannya, akibatnya ccie hanya berakhir dalam bentuk impian saja.   

Berikut kendala-kendala utamanya

1.     1.Kendala biaya
Ini penyakit utama, selama belum bisa mencari jalan keluar untuk kendala ini, maka hanya akan belajar, belajar dan terus belajar saja. Download ini itu, beli ini itu, baca ini itu terus dari waktu ke waktu tanpa tau kapan akan berakhir. 

Ritme belajar antara yang sudah membayar lab dengan yang belum ada biaya ujian walau sama2 memulai bootcamp di waktu yang sama, tapi pasca bootcamp sudah terlihat bedanya jauh bagai Ferrari dan bajai roda tiga. Ini masalah yang terus menerus berulang dari pengalaman saya membantu temen2 untuk ccie.


2.       2. Kendala waktu
Katakanlah sudah punya uang, bukan berarti selesai, tidak, perjalanan masih sangat jauh. Ini baru selesai satu kendala dan kendala lain sudah menyambut lagi didepan, yakni waktu. Load kerjaan banyak, handle beberapa project, nyampe rumah udah capek, keluarga sudah menunggu, anak ngajak main dan seterusnya. 

Yang jelas ini penyakit yang bisa jadi akut dan sulit disembuhkan, menyediakan waktu belajar secara berkelanjutan setiap hari adalah berat. Sangat sangat berat. Stadium empat lah ini. Gak setiap orang yang ingin ccie bisa melewati kendala ini. 

Gimana bisa ccie kalau cuman dikasih waktu sisa-sisa, sedangkan belajar di bootcamp aja perlu full seharian bahkan hingga dini hari, sedangkan kemudian pasca bootcamp gak sanggup meluangkan waktu belajar. Bermimpi memang mudah, yang susah adalah mewujudkannya, karena kendala sudah menanti didepan. 

Dilogika sendiri aja kalau tiap hari dengan berbagai macam aktivitas dan kesibukan yang dimiliki tidak bisa meluangkan waktu khusus secara berkelanjutan setiap harinya tapi masih pengin ccie itu gimana jalannya gak bisa ketemu. Meluangkan waktu sesekali umumnya orang bisa, tapi yang berkelanjutan setiap hari ini yang gak semua orang sanggup melewati penyakit yang satu ini.
Kendala yang beginian kalau mengambil pepatah tukang bajaj, maka hanya dirinya dan Allah saja yang tau bagaimana mengatasinya, orang lain tidak bisa membantu kecuali dirinya sendiri.


3.       3. Kendala belajar
Ini juga kendala, tapi kendala yang paling ringan, biasanya ketika belajar mulai muncul hal2 yang gak paham maksudnya. Nah ini sudah bisa kita atasi dengan membentuk keakraban satu sama lain sewaktu bootcamp, saling berkenalan dengan yang lain, membentuk kelompok belajar pasca training dll. 

Ini memang kendala, namun jika hanya jika seseorang mengambil ujian sendiri, belajar sndiri tanpa ada teman belajarnya. Namun kalau berkelompok, belajar bersama, maka hanya tinggal masalah waktu untuk kemudian akhirnya bisa paham maksudnya.

Demikian 3 kendala tersebut yang umum jadi penyakit.  Selama tidak bisa menyembuhkan dari kendala finansial dan kendala waktu maka mungkin sudah waktunya untuk berfikir ulang apakah saya masih mau untuk terus ccie atau tidak, karena tidak semua network engineer harus jadi ccie.
on 01 Nov 2014 02:11 AM

31 Oct 2014

root@singaraja:~# mkdir /etc/openvpn/easy-rsa
root@singaraja:~# cp -ai /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa/
root@singaraja:~# cd /etc/openvpn/easy-rsa/2.0/
root@singaraja:/etc/openvpn/easy-rsa/2.0# nano vars
root@singaraja:/etc/openvpn/easy-rsa/2.0# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/2.0/keys
root@singaraja:/etc/openvpn/easy-rsa/2.0# ./clean-all
root@singaraja:/etc/openvpn/easy-rsa/2.0# ./build-ca
Generating a 1024 bit RSA private key
…………++++++
…………………..++++++
writing new private key to ‘ca.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [ID]:
State or Province Name (full name) [JB]:
Locality Name (eg, city) [Bandung]:
Organization Name (eg, company) [passionit]:
Organizational Unit Name (eg, section) [changeme]:singaraja
Common Name (eg, your name or your server’s hostname) [changeme]:semar
Name [changeme]:semar
Email Address [awangga@passionit.co.id]:
root@singaraja:/etc/openvpn/easy-rsa/2.0# ./build-key-server semar
Generating a 1024 bit RSA private key
…………++++++
……………++++++
writing new private key to ‘semar.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [ID]:
State or Province Name (full name) [JB]:
Locality Name (eg, city) [Bandung]:
Organization Name (eg, company) [passionit]:
Organizational Unit Name (eg, section) [changeme]:serversemar
Common Name (eg, your name or your server’s hostname) [semar]:serversemar
Name [changeme]:serversemar
Email Address [awangga@passionit.co.id]:

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’ID’
stateOrProvinceName :PRINTABLE:’JB’
localityName :PRINTABLE:’Bandung’
organizationName :PRINTABLE:’passionit’
organizationalUnitName:PRINTABLE:’serversemar’
commonName :PRINTABLE:’serversemar’
name :PRINTABLE:’serversemar’
emailAddress :IA5STRING:’awangga@passionit.co.id’
Certificate is to be certified until Oct 28 12:02:09 2024 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
root@singaraja:/etc/openvpn/easy-rsa/2.0# ./build-key iqromedia
Generating a 1024 bit RSA private key
…………………++++++
……………………………………++++++
writing new private key to ‘iqromedia.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [ID]:
State or Province Name (full name) [JB]:
Locality Name (eg, city) [Bandung]:
Organization Name (eg, company) [passionit]:
Organizational Unit Name (eg, section) [changeme]:iqromedia
Common Name (eg, your name or your server’s hostname) [iqromedia]:
Name [changeme]:iqromedia
Email Address [awangga@passionit.co.id]:

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’ID’
stateOrProvinceName :PRINTABLE:’JB’
localityName :PRINTABLE:’Bandung’
organizationName :PRINTABLE:’passionit’
organizationalUnitName:PRINTABLE:’iqromedia’
commonName :PRINTABLE:’iqromedia’
name :PRINTABLE:’iqromedia’
emailAddress :IA5STRING:’awangga@passionit.co.id’
Certificate is to be certified until Oct 28 12:03:25 2024 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
root@singaraja:/etc/openvpn/easy-rsa/2.0# ./build-dh
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
………………………..+.+…………….+…………………………………………………………………………………………………………………+……………………+…………………+………………………………………………………………………………..+…………………………………………………………………………………………………………………………..+……………+……………..+………………………………….+…….+……………………………….+………+…………………………………..+…………………………………………………………………………………+….+…………………………………………………………………………………………………………………………………+……..+.+………….+……+………………………+…….+…………….+………….+……………………+……………………………………………………………………………….+………………………………………………….+………………………………………+…………..+……….+…………+………………………………………………………………….+…………………………………………………..+…………………….+……………………………………………….+…………………………………………………………………………………………………………………………………………………………………+..+…………………………………………………+…+………+……+……….+……………………………………………+…………………………………………………………………………..+……………………………….+…………………………+……………+………………………………………………+……………………………..+….+…………………………………………….+……………………………………………………………………………………+……………………………………………………………..+……………+…………………………………..+……………………….+…………………………………………………………………………..+…………………………………………..+…………………………………………………………………..+……………………..+…………………………………………+…………………………………………………………………………………………….+………..+…….+……………………………………………………………………..+………………………………………………………………………………..+…+…………………+………+…………………+……………………………………..+…………..+….+………………….+……….+…………………………………..+……………………………………………………………………..+…………………………+…………+………………………+…………+………………………………..+………………..+………………………………………………………………………………………………………………….+………………..++*++*++*
root@singaraja:/etc/openvpn/easy-rsa/2.0# cd ..
root@singaraja:/etc/openvpn/easy-rsa# cd ..
root@singaraja:/etc/openvpn# cp ./easy-rsa/2.0/keys/ca.crt .
root@singaraja:/etc/openvpn# cp ./easy-rsa/2.0/keys/semar.key .
root@singaraja:/etc/openvpn# cp ./easy-rsa/2.0/keys/semar.crt .
root@singaraja:/etc/openvpn# cp ./easy-rsa/2.0/keys/dh1024.pem .

root@singaraja:/etc/openvpn# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz .
root@singaraja:/etc/openvpn# gunzip server.conf.gz
root@singaraja:/etc/openvpn# nano server.conf

# [server.conf]
port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 202.107.105.13"
push "dhcp-option DNS 202.108.107.21"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

root@singaraja:/etc/openvpn# service openvpn start
[ ok ] Starting virtual private network daemon: server.
root@singaraja:/etc/openvpn# ifconfig
eth0 Link encap:Ethernet HWaddr 74:d4:35:e0:7d:10
inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::76d4:35ff:fee0:7d10/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:165854998 errors:17 dropped:0 overruns:0 frame:8
TX packets:184415361 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:109560987302 (102.0 GiB) TX bytes:158607736676 (147.7 GiB)
Interrupt:20 Memory:d3800000-d3820000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1234141 errors:0 dropped:0 overruns:0 frame:0
TX packets:1234141 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1405142544 (1.3 GiB) TX bytes:1405142544 (1.3 GiB)

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

root@singaraja:/etc/openvpn# cat /proc/sys/net/ipv4/ip_forward
1
root@singaraja:/etc/openvpn# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 100 0 0 eth0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

root@singaraja:/etc/openvpn# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ./easy-rsa/2.0/keys/
root@singaraja:/etc/openvpn# nano ./easy-rsa/2.0/keys/client.conf

# [client.conf]
client
dev tun
proto udp
remote 66.32.272.181 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
mute-replay-warnings
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client_kevin.crt
key /etc/openvpn/client_kevin.key
ns-cert-type server
comp-lzo
verb 3

on 31 Oct 2014 12:33 PM

Pada tulisan kali ini akhirnya saya akan menuliskan tentang BGP (Border Gateway Protocol) yaitu suatu protocol yang mengijinkan kita untuk saling bertukar tabel routing dengan mesin lain. Pada lab kali ini saya menggunakan GNS3 di Ubuntu, untuk device cisco saya menggunakan router 7200 NPE400, sedangkan untuk vyatta saya menggunakan versi 6.6, dan untuk mikrotik saya menggunakan versi 6.19.

Topologi

Pada lab kali ini topologi yang akan digunakan adalah sebagai berikut:

lab-bgp-basic1

Untuk mesin vyatta akan menggukan sebutan Router 1 (R1), untuk cisco menggunakan sebutan Router 2 (R2) dan dan Router 3 (R3) untuk Mikrotik. Sedangkan network yang akan digunakan adalah network 192.168.0.0/16, dengan rincian sebagai berikut:

  1. Pada router 1, memiliki jaringan 192.168.11.0/24, dan tersambung dengan router 2 (cisco) dengan network 192.168.1.0/24
  2. Pada router 2, memiliki jaringan 192.168.22.0/24, dan tersambung dengan router 1 dengan network 192.168.1.0/24 dan tersambung dengan router 3 dengan network 192.168.2.0/24
  3. Pada router 3, meiliki jaringan 192.168.33.0/24 dan tersambung dengan router 2 dengan network 192.168.2.0/24
  4. Untuk network 192.168.0.0/24 digunakan untuk ip loopback.

Pengaturan

Langkah awal, kita harus mengatur alamat ip terlebih dahulu.

Vyatta:

vyatta@vyatta:~$ configure 
vyatta@vyatta# set interfaces loopback lo address 192.168.0.1/32
vyatta@vyatta# set interfaces ethernet eth0 address 192.168.1.1/24
vyatta@vyatta# commit

Cisco:

Cisco#conf t
Cisco(config)#int Loopback 0
Cisco(config-if)#ip address 192.168.0.2 255.255.255.255
Cisco(config-if)#exit
Cisco(config)#int gi0/0
Cisco(config-if)#ip address 192.168.1.2 255.255.255.0  
Cisco(config-if)#no shut
Cisco(config-if)#exit               
Cisco(config)#int Gi1/0
Cisco(config-if)#ip address 192.168.2.2 255.255.255.0
Cisco(config-if)#no shut

Mikrotik:

[admin@MikroTik] > /interface bridge add name=loopback0
[admin@MikroTik] > /ip address add interface=loopback0 address=192.168.0.3/32
[admin@MikroTik] > /ip address add interface=ether1 address=192.168.2.3/24

Pastikan bahwa semua perangkat telah terhubung.

vyatta@vyatta# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_req=1 ttl=255 time=14.0 ms
64 bytes from 192.168.1.2: icmp_req=2 ttl=255 time=11.6 ms
^C
--- 192.168.1.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 11.666/12.864/14.062/1.198 ms
Cisco#ping 192.168.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/8/12 ms
Cisco#ping 192.168.2.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/9/12 ms
Cisco#
[admin@MikroTik] > ping 192.168.2.2
HOST                                     SIZE TTL TIME  STATUS                                                                                  
192.168.2.2                                56 255 10ms 
192.168.2.2                                56 255 8ms  
192.168.2.2                                56 255 8ms  
    sent=3 received=3 packet-loss=0% min-rtt=8ms avg-rtt=8ms max-rtt=10ms 

[admin@MikroTik] > 

Pengaturan BGP

Pada pengaturan BGP, router 1 (vyatta) akan menggunakan as 11, router 2 (cisco) akan menggunakan as 22, dan router 3 (mikrotik) akan menggunakan as 33

Vyatta

vyatta@vyatta# set protocols bgp 11 parameters router-id 192.168.0.1
vyatta@vyatta# set protocols bgp 11 parameters log-neighbor-changes
vyatta@vyatta# set protocols bgp 11 neighbor 192.168.1.2 remote-as 22
vyatta@vyatta# set protocols bgp 11 neighbor 192.168.1.2 soft-reconfiguration inbound
vyatta@vyatta# exit
Warning: configuration changes have not been saved.
exit

Cisco

Cisco(config)#router bgp 22
Cisco(config-router)#bgp router-id 192.168.0.2
Cisco(config-router)#default bgp log-neighbor-changes
Cisco(config-router)#neighbor 192.168.1.1 remote-as 11
Cisco(config-router)#neighbor 192.168.2.3 remote-as 22
Cisco(config-router)#address-family ipv4
Cisco(config-router-af)#neighbor 192.168.1.1 soft-reconfiguration inbound
Cisco(config-router-af)#neighbor 192.168.2.3 soft-reconfiguration inbound
Cisco(config-router-af)#neighbor 192.168.1.1 activate
Cisco(config-router-af)#neighbor 192.168.2.3 activate
Cisco(config-router-af)#^Z                                                
Cisco#

Mikrotik

[admin@MikroTik] > /routing bgp
[admin@MikroTik] /routing bgp> instance set default router-id=192.168.0.3 as=33
[admin@MikroTik] /routing bgp> peer add name=to-cisco remote-address=192.168.2.2 remote-as=22 disabled=no 

Cek status bgp peer

vyatta@vyatta:~$ show ip bgp sum
BGP router identifier 192.168.0.1, local AS number 11
IPv4 Unicast - max multipaths: ebgp 1 ibgp 1
RIB entries 0, using 0 bytes of memory
Peers 1, using 2524 bytes of memory

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.2     4    22      15      15        0    0    0 00:12:01        0

Total number of neighbors 1
Cisco#sh ip bgp sum
BGP router identifier 192.168.0.2, local AS number 22
BGP table version is 1, main routing table version 1

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.1     4           11      15      17        1    0    0 00:12:23        0
192.168.2.3     4           33      11      11        1    0    0 00:08:42        0
[admin@MikroTik] /routing bgp> peer print 
Flags: X - disabled, E - established 
 #   INSTANCE  REMOTE-ADDRESS REMOTE-AS  
 0 E default   192.168.2.2    22

Pada dasarnya, bgp peering semuanya sudah berjalan namun bgp belum melakukan pertukaran tabel routing? bagaimana bisa? hal ini dikarenakan di semua device diatas belum melakukan advertise prefix. Hal ini dapat di lihat dari mesin cisco pada output show ip bgp sum pada kolom State/PfxRcd terlihat 0 yang berarti tidak ada prefix yang diterima.

Untuk melakukan advertise (distibusi prefix) bisa menggunakan berbagai cara bisa dengan redistribusi prefix yang tersambung (connected), statis, ospf dan lain lain. Kali ini kita akan mengadvertise ip loopback dan network yang dialokasikan.

Vyatta

vyatta@vyatta:~$ configure 
vyatta@vyatta# set protocols bgp 11 network 192.168.0.1/32
vyatta@vyatta# set protocols bgp 11 network 192.168.11.0/24
vyatta@vyatta# commit
[edit]
vyatta@vyatta# exit
Warning: configuration changes have not been saved.
exit

Cisco

Cisco#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Cisco(config)#router bgp 22
Cisco(config-router)#address-family ipv4
Cisco(config-router-af)#network 192.168.0.2 mask 255.255.255.255
Cisco(config-router-af)#network 192.168.22.0 mask 255.255.255.0 
Cisco(config-router-af)#exit
Cisco(config-router)#exit
Cisco(config)#ip route 192.168.22.0 255.255.255.0 Null 0

Mikrotik

[admin@MikroTik] /routing bgp> network add network=192.168.33.0/24 synchronize=yes
[admin@MikroTik] /routing bgp> /ip route add dst-address=192.168.33.0/24 type=blackhole

Cek dengan tabel route

vyatta@vyatta:~$ sh ip route 
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route

C>* 127.0.0.0/8 is directly connected, lo
C>* 192.168.0.1/32 is directly connected, lo
B>* 192.168.0.2/32 [20/0] via 192.168.1.2, eth0, 00:10:39
B>* 192.168.0.3/32 [20/0] via 192.168.1.2, eth0, 00:00:03
C>* 192.168.1.0/24 is directly connected, eth0
S>* 192.168.11.0/24 [1/0] is directly connected, Null0, bh
B>* 192.168.22.0/24 [20/0] via 192.168.1.2, eth0, 00:08:09
B>* 192.168.33.0/24 [20/0] via 192.168.1.2, eth0, 00:07:17
Cisco#sh ip ro
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      192.168.0.0/32 is subnetted, 3 subnets
B        192.168.0.1 [20/1] via 192.168.1.1, 00:09:43
C        192.168.0.2 is directly connected, Loopback0
B        192.168.0.3 [20/0] via 192.168.2.3, 00:00:08
      192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.1.0/24 is directly connected, GigabitEthernet0/0
L        192.168.1.2/32 is directly connected, GigabitEthernet0/0
      192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.2.0/24 is directly connected, GigabitEthernet1/0
L        192.168.2.2/32 is directly connected, GigabitEthernet1/0
B     192.168.11.0/24 [20/0] via 192.168.1.1, 00:08:43
S     192.168.22.0/24 is directly connected, Null0
B     192.168.33.0/24 [20/0] via 192.168.2.3, 00:07:22
[admin@MikroTik] /routing bgp> /ip route pr
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADb  192.168.0.1/32                     192.168.2.2              20
 1 ADb  192.168.0.2/32                     192.168.2.2              20
 2 ADC  192.168.0.3/32     192.168.0.3     loopback0                 0
 3 ADC  192.168.2.0/24     192.168.2.3     ether1                    0
 4 ADb  192.168.11.0/24                    192.168.2.2              20
 5 ADb  192.168.22.0/24                    192.168.2.2              20
 6 A SB 192.168.33.0/24                                              1
[admin@MikroTik] /routing bgp> 

Prefix di vyatta, cisco dan mikrotik sudah menerima prefix dari bgp yang ditandai dengan huruf tebal.

Langkah selanjutnya adalah cek koneksi pada router ujung ke ujung apakah sudah benar tersambung.

[admin@MikroTik] > /tool traceroute 192.168.0.1 src-address=192.168.0.3 count=1
# ADDRESS LOSS SENT LAST AVG BEST WORST STD-DEV STATUS
1 192.168.2.2 0% 1 8.8ms 8.8 8.8 8.8 0
2 192.168.0.1 0% 1 17.7ms 17.7 17.7 17.7 0

[admin@MikroTik] >

Hal ini berarti perangkat sudah saling terhubung.

Pengaturan bgp pada ketiga perangkat tersebut dapat dilihat di sini; Mikrotik, Cisco, dan Vyatta

on 31 Oct 2014 07:07 AM

30 Oct 2014

Masih ingat Suara.com ? Portal berita ini tergolong pendatang baru, baru diluncurkan di sekitar Maret 2014 lalu. Dan dalam hitungan bulan, hari ini (Oktober 2014) saya lihat di Alexa, peringkatnya sudah di posisi 40 untuk Indonesia. Ini artinya Suara.com adalah situs yang jumlah pengunjungnya tertinggi nomor 40 se-Indonesia (setidaknya versi Alexa).

Dulu saya sempat menduga kalau sumber trafik mereka akan sangat banyak didongkrak oleh SEO, berhubung brand “Suara.com” sendiri sepertinya belum seperti Detikcom. Dari info di Alexa tersebut memang awal-awal terlihat sumber trafik kebanyakan dari search (hampir 20% dari total trafik), tetapi ternyata belakangan hanya sekitar 5% nya saja dari hasil search.

Lalu darimana Suara.com bisa mencapai trafik sebesar itu dalam waktu singkat? Dugaan ngasal saya sih sebagian disumbang dari digital-ads. Cukup sering saya melihat iklan mereka di Facebook. Dan belakangan sudah cukup sering terlihat ada teman-teman saya yang share berita dari Suara.com. Cukupkah digital-ads menyumbang trafik begitu besar sehingga bisa mendongkrak trafik sebesar itu? Menurut saya sih tidak. Tapi saya tidak tahu darimana lagi sumber trafiknya itu berasal. Ya, bisa jadi memang pengunjung organiknya sendiri sudah tumbuh besar. Entahlah.

Tim redaksi Suara.com sendiri sepertinya juga mengalami perubahan (perkembangan), dan nama Yan Gunawan yang dulu tertera di halaman Redaksi sekarang tidak tertera lagi. Tetapi sepertinya Yan Gunawan tetap menjadi salah satu (?) pemilik portal berita ini.

Lalu akan kemana kah Suara.com setelah mencapai ranking 40 di Indonesia? Mari kita lihat nanti. ;)

 

on 30 Oct 2014 02:42 AM

29 Oct 2014

Bosan dengan logo Apple atau Logo yang ada tutup layar Laptop ? saya mempunyai solusi cukup bikin mood lihat laptop jadi greget. Yup pasang saja Decal Sticker, kali ini saya tidak membeli Decal sticker yang sudah banyak di pasaran,, alasan cukup sederhana dipasaran Desainnya tidak ada yang selera dengan yang saya ingin tempelkan. Kemudian saya buat sendiri dengan dengan mendesain di Inkscape kemudian diimplementasikan ke tempat pembuatan Sticker. Disini saya menggunakan cutting sticker jadi penampakan sticker jadi lebih hidup. Sebernarnya Decal stiker ini sudah lama saya lihat pada waktu Iklan Apple dan beberapa video Youtube, kok rasanya bagus juga saya pandang, kemudian coba desain sendiri dengan tema saya sendiri tentunya dan menghasilkan sticker seperti gambar dibawah :D 



Bagaimana keren stickernya ? Mau pasang juga ? Silahkan cetak sendiri ya... silahkan unduh source sticker di mari
on 29 Oct 2014 11:49 PM

27 Oct 2014

JSON formatter bookmarklet

Fajran Iman Rusadi

At work I need to read JSON document pretty often and making it pretty will help me pretty much. Last time I showed how to prettify a JSON document using Python script. But since I am working mostly in a browser, having to switch from browser to terminal is a bit cumbersome. There are a lot of online JSON formatter out there but I think it’s too much if I need to make a remote request just to do the formatting. Also the JSON document I need to format can be a sensitive document so it’s also not a good idea to use an online service.

Then I realized browser nowadays has in-browser JSON formatter function: JSON.stringify. I just need to find a way to make using it a bit easier. So I made the following bookmarklet.


');">
');">Prettify JSON

Drag the link above to bookmark bar in your browser. If you need to format a JSON document, you can click it, then paste the JSON document (make sure it’s valid), and finally click the button there. Voila!

on 27 Oct 2014 11:02 AM

perangkat linux yang akan diremote pertama kali harus meremote ssh ke server yang memiliki ip publik dengan menggunakan perintah :

ssh -fN -R 192.168.1.4:2202:localhost:22 singaraja@singaraja.ddns.net

192.168.1.4 adalah ip lokal intranet server agar kita bisa meremote dari LAN. dan 2202 adalah port LAN tersebut. singaraja.ddns.net merupakan ip publik server. Untuk binding ke semua network interface bisa menggunakan perintah :

ssh -fN -R 0.0.0.0:2202:localhost:22 singaraja@singaraja.ddns.net

Kemudian, dari server tersebut kita konfigurasi file /etc/ssh/sshd_config tambahkan GatewayPorts clientspecified bisa meremote kepada perangkat linux tadi


on 27 Oct 2014 02:27 AM

26 Oct 2014

Setelah setahun, sertifikat SSL gratisan yang saya dapat dari StartSSL akhirnya kadaluarsa. Kalau mau lanjut, tentu saja saya harus pengajukan pembaruan dan memperbarui sertifikat yang sekarang dipakai. Proses ngurus sesuatu di StartSSL itu aga2.. er… ribet :/ jadi males xD

Namun.. berhubung sekarang Cloudflare menyediakan sertifikat SSL gratisan, saya memutuskan tuk pindah saja haha :D Kebetulan domain ini emang sudah ditangani oleh Cloudflare jadi mestinya saya cukup mengatur agar segala lalul intas melewati server Cloudflare dulu. Gak masalah lah ini :D

cloudflare

Tapi sebelum itu, saya jg harus mengaktifkan dukungan SSL di Cloudflare. Dari empat opsi penggunaan SSL yang ada, saya memilih Full SSL supaya koneksi dari Cloudflare ke server tempat saya naro blog ini juga tetap menggunakan HTTPS. Pakai sertifikat yang mana? tentu saja pakai yg sudah kadaluarsa itu hihi :D

ssl

Memakai sertifikat SSL gratisan dari Cloudflare ini bukan ngga ada resikonya. Salah satunya adalah browser pengunjung udah mesti punya SNI (Server Name Indication, bukan Standar Negara Indonesia :P). Walau udah banyak browser yang mendukung SNI, tapi si Cloudflare bilang cuma sekitar 52% pengunjung dari Indonesia yang memakai browser ber-SNI (eh?).

Selain itu, Cloudflare memasukkan lebih dari satu domain agar terdaftar dalam sertifikat yang sama. Jadi semacam bbrp orang berbagi KTP yang sama walau di KTP tersebut tertulis setiap nama orang yang ikutan berbagi.

ssl

Keuntungannya? Dapet wildcard certificate! Sub domain jadi bisa dipasangi HTTPS juga tanpa sertifikat tambahan!

on 26 Oct 2014 07:47 PM

24 Oct 2014

apt-web

Fajran Iman Rusadi

Masih ada yang make apt-web kah? :D

on 24 Oct 2014 05:16 PM

22 Oct 2014

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

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

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

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

# a2enmod proxy ssl

Then reload or restart Apache

# service apache2 reload

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

on 22 Oct 2014 02:48 AM

21 Oct 2014

Malam ini saya iseng sedang cari domain baru dot id dengan niche android. Tidak sengaja saya coba cek who is alias cek pemilik nama domain android.co.id.

Ternyata domain tersebut sudah dimiliki oleh Google sang pembesut OS Android. Namun ada yang sedikit janggal di who is domain tersebut. Pada kolom Registrant Contact terdapat nama LeeT HaXor yang jika saya search Google adalah hacker yang pernah hack Google malaysia.

Saya rasa google kurang memperhatikan domain-domain yang berada di bawah naungannya, sehingga tidak menyadari jika salah satu domainnya telah diretas.

on 21 Oct 2014 02:10 PM

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

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

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

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