20 Nov 2014

Tahu Gejrot

Tahu Gejrot

Gambar Tahu Gejrot saya ambil dengan menggunakan kamera belakang LG G2 saya. Saya lalu melakukan proses lebih lanjut:

  1. Memotong dimensi gambar menjadi 1944×1944 piksel.
  2. Mengaktifkan efek National Geographic, menunya ada di:
    Filters ► Generik ► National Geographic
  3. Simpan sebagai PNG.

Ukuran gambar yang dihasilkan adalah 6,4MB! Cukup besar. Saya pun tertarik dengan WebP yang dikenalkan oleh Google. Dia menyediakan pustaka siap pakai,

libwebp
. Pustaka ini menyediakan perkakas
cwebp
untuk mengonversi gambar dari format lain.

Jalankan

cwebp
berikut:

cwebp -resize 1080 1080 tahu-gejrot-national-geographic.png -o tahu-gejrot-national-geographic-resized.webp

Saya mengecilkan dimensi gambar menjadi 1080×1080 piksel. Ukuran berkas menjadi 169KB.

Publikasi Daring

WordPress 4.0 belum mendukung WebP. Saya harus melakukan beberapa langkah agar gambar ini bisa diunggah ke situs ini:

  1. Memperbolehkan ekstensi berkas
    .webp
    untuk dapat diunggah pada
    Upload Settings
    .
  2. Menambah MIME untuk WebP dengan menggunakan plugin
    WP Add MIME Type
    .

Walaupun saya dapat mengunduh berkas ini, ada masalah karena WordPress tidak dapat menampilkan dengan benar. WordPress memperlakukan gambar tak dikenal ini sebagai gambar dengan ukuran 1×1.

Untuk mengatasi ukuran yang tidak benar, saya lalu mengubah mode penyunting dari Visual ke Text. Pada mode Text, saya memodifikasi tag IMG dengan mengubah dimensinya sesuai gambar (

width="1080" height="1080"
). Ketika saya klik
Save Draft
, dimensi kapsi pun otomatis berubah mengikuti gambar.

Kesimpulan

Nampaknya WebP sudah siap digunakan. Saya tidak melakukan perubahan apa pun pada sisi peladen. Namun, beberapa perangkat lunak seperti WordPress masih belum bisa mengolah format gambar ini secara alami. Berita bagusnya, WordPress dapat dibuat untuk mem-bypass kekurangan itu.

Perkakas yang Digunakan

Berikut daftar perkakas yang digunakan.

National Geographic ScriptFu

Unduh kumpulan skrip yang mengandung National Geographic:

wget https://github.com/elsamuko/gimp-elsamuko/archive/master.zip
unzip master.zip

Sebelum lanjut, Anda harus mengetahui di mana letak direktori untuk meletakkan skrip GIMP. Caranya, pergi ke

Edit ► Preferences ►Folders ► Scripts

Nah, saya memilih untuk memindahkan skrip-skrip tersebut ke direktori yang ada di rumah saya.

mv gimp-elsamuko-master/scripts/* ~/.gimp-2.8/scripts/

Agar GIMP dapat langsung menggunakan skrip-skrip tersebut, pilih

Filters ► Script-Fu ► Segarkan Skrip

cwebp

Untuk memasangnya di Debian/Ubuntu/BlankOn dan sejenisnya:

apt-get install libwebp

Kalau Gentoo:

emerge -av media-libs/libwebp

on 20 Nov 2014 04:20 AM

19 Nov 2014

Pendiri dan CEO WhatsApp, Jan Koum, menyumbang satu juta dollar (US$1.000.000,00) kepada FreeBSD Foundation. FreeBSD Foundation adalah organisasi nirlaba yang mengurus FreeBSD. Hal yang menarik adalah alasannya sebagai berikut:

https://www.facebook.com/jan.koum/posts/10152852986375011

Pada mulanya Beliau adalah orang miskin yang tinggal di penampungan. Karena FreeBSD, dia memiliki kesempatan untuk belajar sistem operasi dan memiliki pekerjaan di FreeBSD. Selain itu, dia juga memulai membangun WhatsApp dengan menggunakan FreeBSD.

Hal yang menarik adalah bagaimana kegigihan dia untuk mau belajar.

on 19 Nov 2014 05:56 AM

Saya sendiri, sih, menonton Interstellar membuat saya mengerti buku Fisika saya dulu waktu SMA kelas 3. Film ini sangat bagus untuk mengundang lebih banyak lagi orang untuk menjadi tukang insinyur.

on 19 Nov 2014 03:44 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

13 Nov 2014

Nampaknya pasar Microsoft berubah dari destop menuju cloud computing. Komputasi awan memang menjadi pasar yang seksi. Sayangnya, produk-produk Perangkat Lunak Bebas dan Terbuka (Free/Open Source Software, FOSS) secara de facto menguasai pasar. Mau tak mau, Microsoft sebagai tim yang baru masuk pun harus berhenti arogan dan memilih untuk mengakomodasi FOSS.

Dimulai dari pernyataan Satya Nadella, CEO Microsoft, yang secara kontroversial menyatakan: “Microsoft ♥ Linux”. Pernyataan ini memulai langkah baru dari Microsoft untuk secara resmi mendukung sistem operasi terbuka ini. Pernyataan ini sebenarnya berkata bahwa sekarang Microsoft benar-benar mendukung PaaS yang berisi komponen FOSS, sang pemimpin pasar.

Alasan-alasan

Para pemimpin pasar dalam PaaS/IaaS, Amazon, Heroku, Salesforce, Google, dan lainnya aktif menggunakan FOSS di belakang produk mereka. Mereka terbuka menggunakan teknologi FOSS. Bahkan, mereka menjadi suporter untuk proyek-proyek FOSS.

Beberapa waktu [baca:tahun] yang lalu, Microsoft pernah memperkenalkan Fourth Paradigm (kata lainnya sekarang lebih dikenal dengan Big Data) kepada mahasiswa Fasilkom UI. Kebetulan saya hadir di sana. Beliau menyatakan bahwa perkakas yang lazim digunakan adalah Apache Hadoop. Big data adalah industri yang seksi saat ini.

Munculnya para entrepeneur muda, startups, yang bergerak di bidang teknologi pun menjadi pasar baru. Teknologi yang digunakan oleh para startups pun biasanya menggunakan LAMP (Linux, Apache, MySQL, PHP) atau sejenisnya yang notabene adalah FOSS. Harga yang dibayarkan lebih murah dan komunitas mereka tumbuh mengenal FOSS sebagai perkakas. Solusi-solusi mereka pun dibangun berdasarkan FOSS.

Menurut data yang disusun dari AngelList oleh Leo Polovets, startups biasanya menggunakan Heroku dan Amazon. Mereka pun aktif menggunakan teknologi baru dan berharap menjadi pemain utama dalam teknologi tersebut. Itu sebabnya, saat ini mereka senang menggunakan Node.js. Saat ini, Javascript menjadi bahasa yang meningkat pesat popularitasnya selain Python.

Ketiga faktor tersebut membuat Microsoft harus mau tak mau terlibat dalam FOSS.

Membuka Diri

Sebagai bagian dari kulturnya sendiri, Microsoft sangat membanggakan produk-produknya. Terutama untuk produk yang dipakai banyak orang. Namun, Silverlight menjadi contoh nyata bahwa produk tertutup membuat orang menjauhi teknologi tersebut.

Munculnya iOS dan Android membuka pasar mobile dan mengalahkan Windows Phone. Pasar peladen yang didominasi oleh produk-produk FOSS pun mengancam Windows Server. Mau tak mau, Microsoft harus menggunakan strateginya untuk membuat solusi yang dibuatnya tetap relevan.

Membuka diri adalah jawaban. Agar tetap relevan, Microsoft harus membuat produknya terbuka bagi pihak-pihak yang mulai mempertimbangkan menggunakan FOSS. Produk yang terbuka ini diharapkan membawa orang-orang kembali ke Microsoft.

Bisnis adalah pragmatis dan Microsoft adalah pemain yang pragmatis.

on 13 Nov 2014 09:41 AM

SELECT CONCAT(table_schema, '.', table_name),
       CONCAT(ROUND(table_rows / 1000000, 2), 'M')                                    rows,
       CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), 'G')                    DATA,
       CONCAT(ROUND(index_length / ( 1024 * 1024 * 1024 ), 2), 'G')                   idx,
       CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 2), 'G') total_size,
       ROUND(index_length / data_length, 2)                                           idxfrac
FROM   information_schema.TABLES
ORDER  BY data_length + index_length DESC
LIMIT  10;

 

Bacaan Lebih Lanjut

on 13 Nov 2014 06:50 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
Bahasa resminya BBMPork adalah aplikasi logical forensics berlisensi MIT yang dikembangkan menggunakan IGN-SDK dengan fungsi utama untuk melakukan analisis percakapan BlackBerry Messenger yang berjalan di ponsel bersistem operasi Android. Saat ini fitur utamanya melakukan Forensik berupa mengakuisisi basis data dan menganalisis percakapan BBM di Android.

Rencananya BBMPork akan dipresentasikan Indonesia Security Conference 2014 di sesi hari pertama(01/10). Sebenarnya BBMPork ini masih berupa purwarupa jadi masih banyak fitur-fitur yang belum sempurna. Namun kami tim pengembang mencoba untuk mengembangkan dasar dari forensika gemerak. Penampakan BBMPork dapat dilihat di Youtube.


Saat ini BBMPork hanya berjalan di sistem operasi Linux dan Mac OS X. Saya sendiri mencoba di LinuxMint 17.1 sedangkan dalam penampakan tersebut BBMPork berjalan di Mac OS X.
on 03 Nov 2014 09:00 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

28 Oct 2014

Konon ceritanya MEGA yang merupakan transformasi dari Mega Upload mengimplementasikan RSA-2048bit dalam penyimpanan awannya. Selain itu kapasitas yang ditawarkan 50GB. Besar bukan? Makanya saya tertarik untuk menggunakan MEGA.

Pada awalnya MEGA belum menyediakan untuk sistem operasi Linux. Namun saat ini sudah menyediakan untuk sistem operasi Linux. Lebih keren lagi, MEGA telah menyediakan untuk Ubuntu 14.10, MEGAsync. Tambahkan repositori deb http://mega.co.nz/linux/MEGAsync/xUbuntu_14.10/ ./ kemudian sudo apt-get update && sudo apt-get install megasync nautilus-megasync untuk menginstall MEGA sync.

Setelah proses installasi, Anda konfigurasi MEGAsync supaya dapat selaras data di komputer dan di awan milik MEGA. Sebaiknya telah memiliki atau mendaftar akun di http://mega.co.nz.
 
1. Saya pilih I have MEGA account

2. Masukan data akun Anda

3. Saya memilih direktori yang akan diselaraskan, Selective sync

4. Proses penyelarasan data yang saya miliki

on 28 Oct 2014 07:20 AM

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

24 Sep 2014

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

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

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

Solusinya :

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

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

kemudian coba start kembali ASM via “asmcmd”.

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

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

ASMCMD> exit

Kemudian coba start database “orcl” nya.

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

-bash-3.2$ sqlplus / as sysdba

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

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

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

Selamat…

on 24 Sep 2014 07:33 AM

09 Sep 2014

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

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

on 09 Sep 2014 08:26 PM

Rilis Video DebConf14

Zaki Akhmad

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

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

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

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

on 09 Sep 2014 06:43 AM

02 Sep 2014

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

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

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

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

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

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

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

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

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

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