Tarsius Gnome Themes



Tarsius is the light version and clean theme for GTK/Gnome Shell 3.18, look like yosemite themes. 

Installation:

$ mkdir ~/.themes
$ git clone https://github.com/dotovr/Tarsius.git ~/.themes/Tarsius

Peron II

Kamu berusaha mengingat-ngingat bagaimana rasanya tidak repot memikirkan kekhawatiran-kekhawatiran hidup. Kamu ingin ingat bagaimana rasanya tidak peduli terhadap siapa pun, terhadap apa pun.

Kamu hanya ingin bermain. Kamu hanya ingin berlari-lari kesana kemari tanpa tersandung (tapi akhirnya tersandung juga). Lutut lecet, rok kotor, omelan ibumu, permen, eskrim, teman-teman. Semua.

Ingatan-ingatan yang paling rabun ini membawa kamu kepada sebuah sosok yang sudah kamu lupakan tapi kamu berusaha atau berpura-pura tidak lupa. Kamu tidak terlalu yakin dahulu itu sebenarnya bagaimana dan kamu takut otakmu mulai membuat khayalan-khayalan versinya sendiri, yang mengikuti keinginanmu sendiri, yang membuat potongan-potongan ingatan menjadi lebih indah dari yang sebenarnya.

Tapi satu hal yang kamu ingat dengan yakin, bahwa sosok itu adalah orang ketiga yang kamu peluk dengan keinginanmu sendiri, setelah Ibu dan setelah Ayah.

Anak itu tidak banyak bicara. Dianggap aneh (kamu juga menganggapnya aneh) karena dia terlalu dekat dengan Ibunya. Maksudmu, dia tidak mengizinkan Ibunya meninggalkan dia di sekolah, atau dia akan menangis. Jadi Ibunya selalu duduk menunggu di taman sekolah. Ketika pertama kali mengetahuinya, kamu juga tidak merasa perlu untuk mendekatinya. Lagian, dia bukan dari golonganmu. Maksudmu, kamu dan teman-temanmu memakai rok sementara anak itu memakai celana, seperti beberapa anak yang lain.

Saat bermain, biasanya beberapa anak bermain secara berkelompok, namun anak itu selalu sendiri. Anak itu biasanya duduk tak jauh dari ibunya, memandangi anak-anak lain yang bermain bola sambil melahap kue-kue yang dibawa ibunya.

Anak itu bukan siapa-siapa sampai suatu ketika bola bekelmu (bola karet kecil yang dipantul-pantulkan ke lantai, dimainkan anak perempuan) bergulir ke arah anak itu. Kamu segera beranjak ke sana namun tidak berani mengambil bola karet itu dari kaki anak itu.

Maksudmu, dia aneh kan? Kamu takut terjadi sesuatu bila mendekati anak aneh.

Kemudian seorang Ibu menegur anak itu (kemudian kamu tahu bahwa Ibu itu adalah ibunya anak itu) agar mengambil dan mengembalikan bolamu. Kamu heran karena anak itu begitu penurut (kamu kadang-kadang bandel terhadap Ibumu sendiri).

Bola itu diambilkan dan diserahkan ke tanganmu. Tanpa mengucapkan terima kasih, kamu berlari meninggalkan mereka, kembali bermain dengan teman-teman sekelompokmu.

Kamu pikir semuanya baik-baik saja sampai ketika saat pulang, Ibumu tak kunjung menjemput. Sampai tersisa hanya tiga orang di taman sekolah : kamu, anak aneh dan Ibunya. Ibu itu bertanya kepadamu, mengapa kamu belum pulang. Apakah rumahmu jauh dan atau belum ada yang menjemput.

Kamu bilang biasanya kamu dijemput ibumu dan kali ini dia tidak datang-datang Kamu tidak bisa menyembunyikan wajah sedih.

Ibu itu mendekatimu, duduk di sampingmu. Anak itu juga ikut mendekat dan duduk. Kamu masih bersyukur karena Ibunya duduk di tengah-tengah. Setidaknya kamu tidak terlalu dekat dengan si anak aneh.

Ternyata Ibunya orang yang menyenangkan sekali. Jika kamu bertanya ini dan itu (kamu cerewet dan tidak bisa diam), Ibunya selalu menjawab dan itu membuatmu senang. Kemudian kamu merasa nyaman dan mulai bercerita tentang ini tentang itu dan Ibunya mendengarmu dengan antusias. Anak aneh itu hanya memandangmu dalam diam.

Kemudian Ibumu datang, kemudian ada sesi basa-basi ala ibu-ibu antara Ibumu dan Ibunya. Kemudian kamu diajak pulang.

"Dadah tante", dan Ibu itu membalas lambaian tanganmu.

Saat sesampai di rumah, kamu ditegur dan diperingatkan Ibumu agar jangan terlalu dekat dengan orang tidak dikenal. Kamu tidak suka dan jadi marah. Butuh beberapa hari untuk menyakinkan Ibumu bahwa Ibunya anak aneh itu orang baik.

Kemudian hari-harimu menjadi lebih menyenangkan. Ibu itu baik, sering membagi kue (yang sedianya untuk si anak aneh), suka mendengarkan cerita-ceritamu dan suka bercerita yang bagus-bagus. Kamu suka.

Jadi kadang-kadang waktu bermain kamu habiskan duduk bertiga, dengan anak aneh dan Ibunya, ketimbang bermain bola karet.

Kadang-kadang, anak itu tertawa ketika ada sesuatu yang lucu dari cerita-ceritamu. Tapi kamu tidak begitu suka dia tertawa seperti itu, maksudmu, dia pura-pura mengerti atau apa? Dia kan aneh. Jadi kamu bertanya kepada Ibu itu kenapa anak itu aneh.

Ibu itu hanya tertawa kecil. Bilang bahwa anaknya (namanya Kemal) cukup pemalu dan terlalu takut bermain dengan anak-anak lain. Ibu itu bertanya apakah kamu mau membantunya. Kamu tanya bantu apa.

Meminta kamu menjadi teman anaknya, agar dia bisa bermain seperti anak-anak lain, agar Ibunya tidak harus selalu menungguinya di taman sepanjang jam sekolah.

Pertama kalinya kamu mendengar anak aneh itu tidak menuruti Ibunya, tapi kamu mengangguk. Kamu menggenggam tangan anak itu, berusaha tidak melepaskannya dan berteriak, "Ayo main!"

Selanjutnya, hari-harimu menjadi lebih baik lagi. Anak itu ternyata cukup menyenangkan. Ibunya dan Ibumu juga mulai berteman. Jika Ibumu terlalu lama menjemput, kamu akan diajak ke rumah Kemal (tidak jauh dari sekolah), bermain di sana dan menikmati makan siang, sebelum dijemput oleh Ibumu.

Hari-hari menjadi lebih menyenangkan lagi ketika akhirnya Kemal bisa mandiri. Jadi kamu sering berjalan kaki berdua dengannya, pulang ke rumahnya. (Kemudian kamu sering berharap agar Ibumu lebih baik terlambat menjemput saja, setiap hari kalau bisa). Dan yang paling penting, kamu tidak lagi menganggap dia anak aneh. Namanya Kemal, bukan anak aneh.

Kemudian hari-hari menjadi suram ketika kamu mendengar dari Ibu bahwa keluargamu akan pindah rumah. Kamu takut kehilangan dia, maka suatu hari kamu memeluknya dan membiarkan dia memeluk balik. Inilah ujung benang merah kenangan-kenangan ini.

Selepas TK, kamu dan keluargamu pindah rumah. Dunia baru. Teman-teman baru. Kisah-kisah baru. Masalah baru. Kamu tidak pernah berjumpa lagi dengan Kemal maupun Ibunya. Hidupmu serasa dibalik, seperti martabak. Namun tangisanmu saat itu adalah tangisan anak kecil, yang mudah menguap tergantikan oleh hal lain.

Kemudian ingatanmu terkikis, sedikit demi sedikit. Sungguh kejam o waktu. Kadang-kadang kamu membantah dirimu sendiri. Jangan lupa. Jangan lupa.

Saat SD, kamu masih mengingat nama dan wajahnya. Dan apa yang kalian lakukan saat kalian bersama. Banyak dari kebersamaan-kebersamaan itu tidak bisa diulangi dengan siapa pun, dengan anak-anak manapun.

Saat SMP, kamu sudah tidak ingat lagi namanya. Kadang kamu pikir kamu ingat, tapi sesaat kemudian kamu menjadi tidak begitu yakin. Namun, kamu masih merasa ingat wajahnya. Wajah oval. Bibir kecil. Rambut lurus. Samar-samar.

Saat SMA, masa-masa yang paling penuh kenangan dalam hidupmu sekaligus masa-masa yang paling kamu benci. Hidupmu dipenuhi cinta monyet yang baru. Pemberontakan-pemborantakan tak terduga. Orang tuamu bercerai. Gairah-gairah liar. Kamu nyaris tak ingat apa-apa kecuali bahwa kamu pernah berteman dengannya, pernah memeluk dirinya. Kamu pikir kamu sudah dewasa dan mulai merasa tolol karena masih berusaha mengingat hal-hal tidak penting seperti ini. Di sisi lain, kamu tidak ingin lupa.

Saat kuliah, sudah terlalu banyak yang membebani pikiranmu. Kamu ditinggalkan oleh orang yang kamu pikir dia pacarmu. Beasiswamu tersendat. Ibumu meninggal dunia. Kamu kehilangan krisis percaya diri dan mulai kesepian. Kamu memasuki dunia kerja dengan permulaan yang tidak begitu baik.

Sekarang, di sinilah kamu. Duduk di peron menunggu kereta. Matamu terpejam, kepalamu menggulung ingatan. Merah. Hijau. Dan kuning. Dan biru. Ada juga cokelat... Kamu ingat. Kamu pernah bermain warna dengan anak laki-laki itu. Entah itu permainan apa pokoknya sesuatu tentang warna. Kalian baru saja diajari mengenal warna dengan benar di kelas. Saat berjalan pulang, kalian mulai bermain dengan warna. Saling menyebut warna. Saling tertawa. Kamu tidak benar-benar ingat tapi kamu akhirnya tersenyum. Sungguh kenangan yang manis bukan?

Kemudian kereta datang, semua tersapu lagi.

Tapi kamu tidak menaiki kereta ini. Biarlah, pikirmu. Kamu ingin mengorek ingatan sedikit lagi. Masih ada beberapa kereta lagi sebelum kereta terakhir. Ketika kereta melaju pergi, ada sesosok orang yang membuatme terpaku, sesosok orang di seberang peron.

Ini bukan kebetulan kan? Kamu baru saja memikirkan seseorang dan dia sekarang muncul di depanmu. Itu Kemal bukan? Tiba-tiba kamu teringat namanya. Tidak salah lagi.

Kamu mendadak berdiri dan siap-siap berteriak memanggil namanya, tapi sedetik kemudian niat itu kamu urungkan. Sudah lebih dari dua puluh tahun kamu tidak melihatnya. Apakah benar itu wajahnya? Seberapa yakinkah kamu?

Apakah dia ingat siapa kamu? Tentu saja tidak. Kamu sendiri pun merasa kesulitan untuk mengingat potongan kenangan ini. Kamu duduk lagi, membisu. Kamu hanya memandangi wajahnya dari kejauhan, nyaris tanpa kedip. Kamu sungguh bingung. Sebentar-sebentar yakin, sedetik kemudian ragu. Memang dia orangnya. Wajah oval itu khas sekali. Bibir kecil. Rambut lurus.

Kemudian kereta di seberang datang, menjemputnya.

Malam ini mendung. Kamu sedang duduk di peron, dan orang itu juga ada di sana. Kamu belum berani menyebutnya Kemal. Kamu memerlukan konfirmasi. Jadi kamu mencoba memandanginya lama-lama. Berharap laki-laki itu menyadarinya dan memandangimu juga. Akankah ia ingat?

Ternyata itu usaha yang tidak mudah. Lelaki itu tak kunjung menyadarimu, sampai beberapa puluh menit kemudian.

Ketika dia akhirnya menyadari dan balas menatap matamu, kamu memberikannya senyum, dan mempertahankan pandanganmu.

Ingatlah. Ini aku. Ini aku.

Wajahnya menampakkan kebingungan. Dia mengalihkan pandangan selama beberapa detik kemudian mencoba melihatmu lagi. Akhirnya dia yakin kalau kamu memang sengaja memandangnya. Kemudian dia juga tersenyum, sebentar.

Kemudian keretamu datang dan kamu beranjak pergi.

Apa yang telah kamu lakukan? Kamu memandangi bayanganmu di jendela kaca kereta. Apa yang telah kamu lakukan?

Apakah Kemal masih sendiri? Timbul harap di benakmu sambil berusaha menutup-nutupi bekas luka yang belum lama hilang. Kemudian kamu mengukur-ngukur usia, mempertimbangkan kemungkinan-kemungkinan dan esoknya kamu sudah melakukan sesuatu yang tidak kamu percayai bahwa kamu melakukannya dengan mudah dan sekaligus membuatmu menyesal.

Kamu mencari informasi tentang Kemal (hampir dengan segala cara) dan mendapati fakta bahwa dia sudah menikah dan memiliki seorang anak perempuan yang berumur 2 tahun. Kamu nyaris putus asa. Tapi mengapa kamu tidak berhenti? Mengapa kamu masih membiarkan matamu menatap matanya? Mengapa kamu masih menyengajakan hal ini? Mengapa kamu masih berharap ia mengingatmu? Mengapa kamu tidak bisa bangkit dari keterpurukan ini?

Begitulah hari demi hari, minggu demi minggu, bulan demi bulan, kalian berdua saling bertatap mata selagi sempat, kadang-kadang saling bertukar senyum. Mengapa kamu masih melakukan hal bodoh ini?

Tidak sampai suatu hari dimana kamu mendadak menyadari bahwa dia sedang menuju ke arahmu. Sejenak kamu tidak bisa bergerak. Apakah ia kesal ditatap oleh 'wanita yang tidak ia kenal'? Apakah kamu sudah bertindak terlalu berlebihan? Apakah ia marah? Apakah kamu bodoh?

Jantungmu berdetak kencang. Ini seharusnya tidak terjadi. Dia seharusnya tetap di sana. Kamu mulai berlari mengejar kereta yang perlahan melambat. Sesaat sebelum kamu menaiki kereta, kamu melihatnya di peron yang sama, sejarak satu gerbong. Kamu menerobos orang-orang yang berusaha keluar dari kereta. Kamu tidak peduli.

Ketika kamu sudah berada di atas kereta, kamu melihatnya dari jendela. Dia tidak menyerah, masih berusaha menyusulmu. Ketika kakinya telah menapak di gerbong, kamu membalikkan badan dan berusaha melawan kepadatan gerbong. Kamu pikir jika kamu berada di gerbong wanita, dia tidak akan berusaha mengejarmu lagi.

Kamu pernah melewati fase-fase sulit dalam hidupmu. Namun, dalam aspek fisik, tak pernah seberat ini. Menerobos ratusan orang yang berdesakan dengan panik. 3 gerbong. Menyulut kekesalan orang-orang. Kamu terlalu takut. Ketika tiba di gerbong wanita, kamu terus berjalan sampai di ujung gerbong, di belakang pintu masinis.

Kamu benar. Dia tidak menyusul. Kamu berdiri dalam diam, membiarkan pergerakan lampu-lampu kota dari jendela kereta menenangkan dirimu.

Stasiun demi stasiun, kamu tidak berani turun dari kereta.

Kamu seharusnya tidak turun di sini. Hujan tidak turun hari ini tapi Bogor dingin. Kereta berhenti. Orang-orang berhamburan keluar kereta. Tanganmu masih menggenggam handel untuk penumpang yang berdiri. Gerbong mulai kosong, pikiranmu ikut kosong. Ada keinginan deras untuk menangis dan kamu tidak bisa menahannya.

Lihat? Lihat dirimu sendiri. Kamu berdiri di gerbong kereta yang kosong, mengangisi sepi sejadi-jadinya. Kamu ingin duduk tetapi emosimu menahannya. Rasa sakit dari emosi itu menjalar ke seluruh tubuh, timbul tenggelam. Di dadamu. Di jemarimu. Di lututmu yang kelelahan.

"Kamu siapa?"

Kamu terhenyak, mundur selangkah.

Gerbong kosong kecuali kalian berdua. Dia sudah berdiri persis di depanmu. Kusut. Kelelahan. Kamu tidak bisa menebak-nebak wajahnya, apakah ia marah atau bingung.

"Kenapa nangis?"

Kamu ingin sekali lagi melakukannya. Kamu mendadak memeluknya, membenamkan wajahmu yang basah ke bahunya.

Satu detik.

Dua detik.

"Ima?"

Dia memegang kedua bahumu, melepaskan pelukan. Wajahnya terperangah setengah senyum. Dia tidak bisa menyembunyikannya. Sementara kamu tidak bisa tidak tersenyum juga.

Itu sudah cukup. Pelukan itu sudah cukup. Fakta bahwa dia masih mengingat namamu, masih mengingat pelukan lama, itu sudah cukup. Kenangan itu benar-benar ada. Kamu ingin berkata-kata, tentang maaf dan sebagainya namun batinmu terlalu bergetar. Kamu melangkah mundur, turun dari kereta dan berlari meninggalkan dia.

Setelah keluar dari stasiun, kamu berjalan tak tentu arah, merenungkan banyak hal, mengingat banyak hal. Kenangan-kenangan masa kecil itu sekarang begitu nyata, begitu kuat. Kamu merasa ada alasan tambahan untuk terus melanjutkan hidupmu.

Cukup sudah. Terima kasih. Kamu tidak bisa seperti ini terus. Kamu sudah tahu apa yang harus kamu lakukan esok. Kamu menghapus air matamu.

Selesai

Catatan Perjalanan Bogor – Surabaya

Sebenere banyak lamunan perjalanan yang susah kecatat, karena saya ndak punya Jarvis untuk membantu mencatat. Saya rangkum apa yang saya ingat terlebih dahulu, nanti kalau ada yang kelewat, akan ditulis di postingan baru.

Kenapa saya melakukan perjalanan ini? Saya sebenere penasaran dengan daya tahan tubuh saya yang sudah mulai lewat usia kepala tiga. Saya juga penasaran bagaimana motor yang saya punya ini kalau dipakai jalan jauh. Hal lain adalah saya mengalami sebuah kebosanan rutinitas. Saya perlu mencari petualangan baru. Dan alhamdulillah, ternyata ada kunjungan bisnis di kota Pekalongan dan kota Surabaya.

Rute mana saja yang saya ambil dan strateginya? Total jarak tempuh kurang lebih 800 km menurut odometer motor . Saya memulai dari Bojong Gede, Kabupaten Bogor, mengambil jalur Jalan Raya Tapos ke Cileungsi dan lewat Bekasi dan ikut jalur Pantura. Saya membuat SOP ke diri sendiri selama peralanan ini. Adapun SOPnya kurang lebih sebagai berikut:

  1. Berhenti (bukan parkir lho!) setiap 45 atau 60 perjalanan untuk melepas helm sejenak, biar lehernya tidak terbebani terus menerus dengan helm.
  2. Istirahat minimal 15 menit tiap 2 jam perjalanan.
  3. Tidak melarikan motor melebihi 100 km/jam. Ya sempat sih bablas ke 105 km/jam.

Saya melakukan perjalanan dari Senin pagi, diajak makan siang di wilayah Subang oleh mas Asep. Bermalam di Pekalongan selama dua malam di markas Redlongs Cafe. Satu malam istirahat, satu malam untuk urus-urus pekerjaan. Rabu pagi mulai meluncur ke Semarang untuk makan siang bersama calon pejabat, mas Eka. Lalu melanjutkan ke Kecamatan Jenu, Kabupaten Tuban sebagai tempat pemberhentian.

Saya menginap beberapa hari di Jenu karena harus bermain dengan anak-anak saya. Senin berikutnya saya meluncur ke Surabaya untuk ketemu rekan-rekan KLAS serta juragan sebuah ISP untuk membuat satu bisnis baru bersama rekan-rekan.

Kondisi jalan bagaimana? Sepajang jalan dari Bogor ke Surabaya, secara umum jalannya bagus. Jalanan dengan tingkat kerusakan cukup merata berada di propinsi Jawa Timur. Bahkan masuk di kota Surabaya, jalanan masih ada yang bergelombang parah dan tergenang banjir di banyak titik. Perbandingan dengan kota Semarang yang sama-sama di pinggiran dan dengan kendaraan besar-besar (truk),  wilayah Semarang jauh lebih baik.


Install Ansible Versi 2.x di Debian 8 (Jessie)

Seperti telah diketahui bahwa Ansible baru saja merilis versi terbaru (versi 2) yang tentunya dengan tambahan berbagai fitur dan perbaikan. Tutorial ini adalah langkah-langkah cara memasang Ansible terbaru di debian 8 (jessie). Cara paling mudah adalah menggunakan apt-get install, tapi dengan cara ini versi ansible yang terinstall belum versi yang terbaru, masih versi 1.7.2. Nah berhubung […]

Memperbaiki Konfigurasi Jaringan Proxmox

Proxmox yang hasil upgrade dari Debian Jessie di tulisan https://ahmadharis.wordpress.com/2016/01/06/dari-debian-jessie-ke-proxmox-ve-4/, sambungan jaringanya pasti bermasalah. Karena konfigurasi proxmox  memang berbeda.

Untuk memperbaikinya bisa mencontek konfigurasi sederhana saya berikut ini:

auto lo
iface lo inet loopback

allow-hotplug eth0

auto eth0
iface eth0 inet static
address 192.168.1.220
netmask 255.255.255.0
gateway 192.168.1.1

auto vmbr0
iface vmbr0 inet static
address 192.168.1.221
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0


Dari Debian Jessie ke Proxmox VE 4

Ceritanya kali ini saya ikut-ikutan nulis kayak pak Utian – Catut biar ketularan keren.

Dengan berbagai pertimbangan dan keadaan, kadang saya memasang sebuah server (desktop) dengan debian minimalis, setelah itu dilanjutkan ke stage berikutnya (misal ke blankon atau proxmox). Nah berhubung yang proxmox ini belum pernah coba, jadi penasaran.

Saya mengikuti panduan di https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Jessie. Hal-hal yang perlu dicatat adalah :

  • Pastikan install minimal, saya sendiri memasang dari netinstall dan hanya memasang ssh server;
  • Setelah instalasi, pastikan set IP manual;
  • Pastikan penulisan hostsnya benar sesuai panduan di atas, contoh di tempat saya adalah sebagai berikut :

127.0.0.1 localhost.localdomain localhost
192.168.1.220 e440.vm.kodekreatif.co.id e440 pvelocalhost

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

  • Pakai repositori seperti punya saya. Kenapa begitu? karena saya udah mencoba beberapa kali dengan kombinasi repositori, hasilnya gagal pasang. Berikut contekannya (perhatikan, saya memberi tanda # di jessie-updates) :

deb http://kambing.ui.ac.id/debian/ jessie main contrib non-freedeb http://security.debian.org/ jessie/updates main contrib non-free
#deb http://kambing.ui.ac.id/debian/ jessie-updates main contrib non-free

#proxmox
deb http://download.proxmox.com/debian jessie pve-no-subscription

  • Pasang paket-paketnya dan reboot

Selamat mencoba


Orangnya Sedang Keluar


Ini adalah cerita nyata lucu yang saya alami
Beberapa hari lalu, di suatu siang setelah Sholat Dzuhur, saya ngobrol dengan teman di kiosnya, teman saya pekerjaan sehari-hari adalah tukang serpis lampu, dia ini orangnya kalau dalam istilah kicau burung "bocor" karena kalau ngomong seenaknya sendiri dengan sering menyebut nama-nama penghuni kebun binatang, kadang membuat jengkel bagi yang mendengarkannya, namun tidak sering membuat orang tertawa.
Selagi ngobrol santai dengan dia, tiba-tiba datang bapak-bapak bawa tas, kemudian ia bertanya, berikut dialog tanya jawab tersebut
- B: Bapak
- S: Saya
B: Ingkang serpis komputer teng pundi nggih mas?, cantene rencang kulo teng blok B (yang serpis komputer dimana ya mas?, kata teman saya di blok B)
S: Teng lantai kaleh pak, sebelah tengen tangga (di lantai dua pak, sebelah kanan tangga), jawab saya sambil nunjuk ke atas.
B: Matursuwun nggih mas (terimakasih ya mas)
S: Njih, sami-sami, kadose nembe medhal tiyange (ya, sama-sama, tapi sepertinya sedang keluar orangnya)
-
Eh, tiba-tiba tukang perkir mau ngomong sesuatu, sayapun memberi isarat dengan meletakkan jari di depan bibir supaya tukang parkir diam
-
B: Medal teng pundi nggih?, dangu mboten? (keluar kemana ya?, lama tidak?)
S: Kadose nembe Sholat, tenggo sekedap mawon (spertinya sedang sholat, tunggu aja sebentar).
B: Ngggih, kulo tenggone teng nginggil mawon, suwun mas (ya, saya tunggunya di atas saja, makasih mas)
S: Njih, sami-sami (iya, sama-sama)
Akhirnya bapak tadi naik ke atas, nunggu tukang serpis komputer datang.
-
Tiba-tiba tukang parkir bilang, "dasar wong gemblung, wong tuo dikerjani", teman saya yang tukang serpis lampu menimpali "kowe pancen asu kok bi"
Saya pun tertawa ngakak dengan tukang parkir dan tukang serpis lampu, setelah itu ngobrol lagi sekitar 5 menit.
-
Kemudian saya naik ke atas masuk kios, tanya ke bapak tadi yang sedang duduk di dingklik (dingklik=bangku kayu) nunggu saya, saya pun bertanya "Pripun pak, wonten ingkang saget dibantu?" (gimana pak?, ada yang bisa dibantu?), eh si bapak malah njawabnya gini "jenengan to ingkang tukang serpis komputer" (Anda to yang tukang serpis komputer?), saya jawab "Njih pak" (ya pak), bapak tadi terus ngomong lagi "Asem, wong tuwo dikerjani" 
Saya pun tersenyum, cerita selanjutnya, silkan tebak sendiri
-
Selamat hari jum'at hari pertama di tahun 2016

Terompet Tahun Baru Bermasalah


Saat ini sedang ramai masalah Terompet Tahun Baru bertuliskan Arab yang dijual oleh beberapa minimarket di Jawa Tengah, sebenarnya akar permasalahannya sederhana yaitu; 
Tukang pembuat terompet beli kertas bekas atau sisa dari percetakan dengan harga murah (biasanya kiloan), jenis kertas untuk pembuat terompet biasanya agak tebal, dalam dunia kertas kiloan sering disebut kertas marga, kertas jenis marga bisa saja bermacam-macam motifnya, karena yang namanya kertas sisa, bisa berupa kalender, sampul buku, piagam, dll. Nah kebetulan dalam hal ini si pembuat terompet dapat kertas sisa sampul Alqur'an.

Pertanyaanya adalah; mengapa bahan untuk membuat terompet tahun baru menggunakan kertas bekas?, jawabannya sederhana; jika semua bahannya menggunakan barang (kertas) yang baru maka harganya menjadi mahal.

Sebagai info tambahan, para pembuat (perajin) Terompet Tahun Baru rata-rata adalah orang Wonogiri, sebagian orangnya sudah tua-tua, ada yang buta huruf (tapi gak buta aksara lho, karena mereka bisa membedakan angka pada uang), dulu sebelum tahun 2000 di saat saya nganggur juga sering membuat terompet sendiri, kertas yang saya gunakan juga beli kiloan terdiri dari berbagai kertas sisa. 

Sudah bukan rahasia lagi jika di sebuah percetakan terdapat banyak sisa kertas yang tidak terpakai lagi kemudian dijual secara kiloan. Kertas tidak terpakai tersebut biasanya karena salah cetak atau ada cacat bagian tertentu, misalnya warnanya kurang sesuai, terpotong bagian tertentu, kadang juga karena memang salah desain dari yang order sehingga perlu direvisi, dan perlu diketahui jika sudah terlanjur dicetak namun perlu revisi, maka secara otomatis nyetak baru lagi sehingga kertas yang sudah terlanjur dicetak sebelumnya tidak terpakai.

Selain itu terkadang ada kasus tertentu dimana beberapa order cetakan tidak diambil oleh pemesanannya, biasanya kalau memesan suatu barang tertentu untuk di cetak ke percetakan maka pihak pemesan dikenakan uang muka sebesar 50% oleh pihak percetakan dari nilai barang yang dipesan, nah karena suatu hal pihak pemesan tidak mengambil barang pesanannya, sedangkan pihak percetakan tidak mau rugi, akhirnya untuk mengurangi kerugian, pihak percetakan menjual barang tersebut dengan harga kiloan, biasanya ini dilakukan jika barang tidak diambil lebih dari 3 bulan.

Jadi kalau mau ditelusuri serius sebenarnaya mudah saja kok, tinggal cari saja pemenang tender pengadaan Alqur'an tahun 2013gitu aja kok repot.
Perlu juga kita sadari dan pahami bahwa orang yang beli kertas kiloan untuk bahan pembuat terompet tentunya tidak mau rugi dengan menyortir satu-persatu kertas yang dibelinya, selain akan menimbulkan kerugian jika harus tidak menggunakan kertas yang terdapat tulisan tertentu, proses penyortiran juga akan memakan waktu yang tidak sebentar.

Memang benar di Kementrian Agama sudah ada undang-undang yang mengatur masalah ini, yaitu; "Pasal 5 Peraturan Menteri Agama (PMA) No 01 Tahun 1957 tentang Pengawasan terhadap Penerbitan dan Pemasukan Alquran mengatur bahwa sisa dari bahan-bahan Alqur'an yang tidak dipergunakan lagi, hendaklah dimusnahkan untuk menjaga agar jangan disalahgunakan". Walau sudah ada undang-undang tersebut namun penerapannya tidak semudah membalik telapak tangan, bahkan dulu pernah terjadi perdebatan cara memusnahkan dari bahan-bahan Alquran yang tidak dipergunakan lagi, dimana waktu itu tidak boleh dengan cara dibakar, dengan alasan membakar Alqur'an termasuk dalam kategori penistaan agama islam.

Yang sangat disayangkan adalah pihak berwajib yang menangani masalah ini malah menyita terompet ke penjualannya sehingga pihak penjual tentunya mengalami kerugian.
Seharusnya pemerintah  memberi apresiasi ke pengrajin terompet ini karena kreativitasnya menggunakan (mendaur ulang) limbah menjadi barang seni, bukan malah mematikan usaha mereka dalam mencari rejeki.

Kesimpulan saya pribadi masalah ini sebenarnya bukanlah suatu kesengajaan, hanya saat ini saja beritanya terlalu berlebihan.

Replication Database MongoDB


Catatan untuk pengingat sendiri



Replication database pada MongoDB

Konfigurasi dasar server:
  • Primary

IP: 10.0.0.123
Hostname: server01
  • Secondary

IP: 10.0.0.124
Hostname: server02

  • Konfigurasi MongoDB di server Primary:

Tambahkan opsi replication set pada config mongodb:
sudo nano /etc/mongodb.conf
replSet = "gogasi"
Ubah bind_ip dari 127.0.0.1 menjadi 0.0.0.0 agar bisa diakses melalui ip public
bind_ip = 0.0.0.0
Aktifkan port bawaan MongoDB
port = 27017
Simpan dan restart instance mongodb
sudo /etc/init.d/mongodb restart
Selanjutnya tambahkan ip server Secondary ke /etc/hosts
10.0.0.124 server02

  • Konfigurasi MongoDB di server Secondary

Tambahkan opsi replication set pada config mongodb:
sudo nano /etc/mongodb.conf
replSet = "gogasi"
Ubah bind_ip dari 127.0.0.1 menjadi 0.0.0.0 agar bisa diakses melalui ip public
bind_ip = 0.0.0.0
Aktifkan port bawaan MongoDB
port = 27017
Simpan dan restart instance mongodb
sudo /etc/init.d/mongodb restart
Selanjutnya tambahkan ip server Primary ke /etc/hosts
10.0.0.123 server01
Di server Primary, akses mongo shell
mongo
Inisiasi sebagai Primary
> rs.initiate()
{
        "info2" : "no configuration explicitly specified -- making one",
        "me" : "server01:27017",
        "info" : "Config now saved locally.  Should come online in about a minute.",
        "ok" : 1
}
>

> rs.conf()
{
        "_id" : "\"gogasi\"",
        "version" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "host" : "server01:27017"
                }
        ]
}
"gogasi":PRIMARY>

"gogasi":PRIMARY> rs.status()
{
        "set" : "\"gogasi\"",
        "date" : ISODate("2015-12-29T09:56:58Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "name" : "server01:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 372,
                        "optime" : Timestamp(1451382915, 1),
                        "optimeDate" : ISODate("2015-12-29T09:55:15Z"),
                        "self" : true
                }
        ],
        "ok" : 1
}
"gogasi":PRIMARY>
Di server Secondary, akses mongo shell
mongo
Inisiasi sebagai Slave
> rs.slaveOk()
Balik lagi ke server Primary dan tambahkan member, yang jadi member adalah server02
"gogasi":PRIMARY> rs.add("server02:27017")
{ "ok" : 1 }
"gogasi":PRIMARY>
Sampai di sini, proses penambahan member sudah sukses. Bisa dicek di masing-masing server

Status di Primary:
"gogasi":PRIMARY> rs.status()
{
        "set" : "\"gogasi\"",
        "date" : ISODate("2015-12-29T10:05:37Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "name" : "server01:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 891,
                        "optime" : Timestamp(1451383407, 1),
                        "optimeDate" : ISODate("2015-12-29T10:03:27Z"),
                        "self" : true
                },
                {
                        "_id" : 1,
                        "name" : "server02:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 130,
                        "optime" : Timestamp(1451383407, 1),
                        "optimeDate" : ISODate("2015-12-29T10:03:27Z"),
                        "lastHeartbeat" : ISODate("2015-12-29T10:05:37Z"),
                        "lastHeartbeatRecv" : ISODate("2015-12-29T10:05:36Z"),
                        "pingMs" : 1,
                        "syncingTo" : "server01:27017"
                }
        ],
        "ok" : 1
}
"gogasi":PRIMARY>

Status di Secondary:
"gogasi":STARTUP2> rs.status()
{
        "set" : "\"gogasi\"",
        "date" : ISODate("2015-12-29T10:05:16Z"),
        "myState" : 2,
        "syncingTo" : "server01:27017",
        "members" : [
                {
                        "_id" : 0,
                        "name" : "server01:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 98,
                        "optime" : Timestamp(1451383407, 1),
                        "optimeDate" : ISODate("2015-12-29T10:03:27Z"),
                        "lastHeartbeat" : ISODate("2015-12-29T10:05:16Z"),
                        "lastHeartbeatRecv" : ISODate("2015-12-29T10:05:15Z"),
                        "pingMs" : 1
                },
                {
                        "_id" : 1,
                        "name" : "server02:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 880,
                        "optime" : Timestamp(1451383407, 1),
                        "optimeDate" : ISODate("2015-12-29T10:03:27Z"),
                        "self" : true
                }
        ],
        "ok" : 1
}
"gogasi":SECONDARY>


Tahap Replication sudah selesai dan proses synchronize database lagi berlangsung

  • Proses voting antar server
Tahap ini sangat penting untuk diperhatikan, jika sewaktu-waktu server primary mati dan statenya tidak berubah
Di server Primary jalankan mongo shell
mongo

Lanjut dengan deperintah berikut dalam mongo shell

"gogasi":PRIMARY> cfg = rs.conf()
{
        "_id" : "\"gogasi\"",
        "version" : 2,
        "members" : [
                {
                        "_id" : 0,
                        "host" : "server01:27017"
                },
                {
                        "_id" : 1,
                        "host" : "server02:27017"
                }
        ]
}
"gogasi":PRIMARY>

"gogasi":PRIMARY> cfg.members[1].priority = 0
0
"gogasi":PRIMARY>

"gogasi":PRIMARY> rs.reconfig(cfg)
Tue Dec 29 10:14:44.816 DBClientCursor::init call() failed
Tue Dec 29 10:14:44.818 trying reconnect to 127.0.0.1:27017
Tue Dec 29 10:14:44.820 reconnect 127.0.0.1:27017 ok
reconnected to server after rs command (which is normal)

"gogasi":PRIMARY> rs.conf()
{
        "_id" : "\"gogasi\"",
        "version" : 3,
        "members" : [
                {
                        "_id" : 0,
                        "host" : "server01:27017"
                },
                {
                        "_id" : 1,
                        "host" : "server02:27017",
                        "priority" : 0
                }
        ]
}
"gogasi":PRIMARY>

Sampai di sini, member (server02) sudah diset tetap statenya sebagai SECONDARY.

Catatan: Untuk Bind Ip di production silahkan diubah untuk lebih secure aksesnya, seperti menggunakan vpn, auth atau cara lain

Sumber: https://docs.mongodb.org/v2.4/core/replication-introduction/

Wakijo dan Bapak Polisi

Saya berusaha merekontruksi kejadian ini tanpa menambah atau menguranginya. Hari ini saya ditilang oleh bapak Polisi atau penilangan kedua kalinya dalam hidup saya. Pagi itu saya mengendarai Wakijo menuju Stasiun Bojong Gede sambil dirayapi rasa gelisah karena terlambat masuk kuliah.

Saat melintasi rel kereta, saya mengamati seorang pengendara sepeda motor distop oleh bapak Polisi. Karena arus lalu lintas begitu macet, Wakijo melaju perlahan sekali dan saya bisa mengamati proses penilangan tersebut. Tapi ternyata itu bukan ide yang bagus karena mendadak saya saling tatap mata dengan bapak Polisinya. Ketika melewati bapak Polisi, saya juga distop.

"Sini, sini... Ini mesti digudangkan. STNK-mu mana? Sudah mati ini."

Kesalahan saya adalah, tidak memperpanjang STNK Wakijo. Matek 09 15. STNK asli sudah dikirim ke NTB untuk diurus, tapi saya tidak kunjung juga menggosok nomor mesin dan rangka untuk dikirim ke NTB. Jadi saya sementara mengandalkan STNK fotokopian.

Bapak Polisi mengambil kunci Wakijo terus menyeberang ke seberang jalan. Karena bingung, saya ikut menyeberang. Ke warung kopi kecil. Di sana ada dua polisi lain yang lagi duduk-duduk. Tapi ternyata itu bukan tempat tilang. Tempat tilangnya agak jauh ke dalam, dimana berdiri seorang bapak polisi lain dan seorang pengendara sedang diinterogasi. Tempatnya lebih terisolasi.

Jadi selagi menunggu giliran, saya diajak ngobrol ngalor ngidul dikit sama polisi lain. Sempat diingatkan juga kalau fotokopi STNK hanya berlaku jika ada legalisir dari kepolisian yang bersangkutan. Haiyyaaa!

Saat giliran saya,

"Mau dibantu di sini atau mau ambil di Kepolisian Depok pas sidang?"

"Apanya pak yang diambil? Motornya?", hati saya langsung doki-doki.

"Tidak. SIM saja yang disita."

"Denda maksimal kalau disidang berapa, Pak?"

"Bisa 300 ribu. Makanya kalau mau dibantu sama kita, biar Mas tidak ditilang. Biar tidak usah ikut sidang."

Saya agak telmi, bengong dulu baru paham. Tidak, saya mau nonton Star Wars. Kalau dipalak sekarang nanti tidak bisa beli tiket nonton.

"Tidak, Pak. Saya ikut sidang saja... Tidak apa-apa. Saya ikut sidang saja... Iya, pak, gak apa-apa."

Enam kali bapak Polisi menawarkan bantuan tersebut. Saya jadi sedih. Saya mau marah tapi tidak bisa. Saya mau bilang brengsek tapi tidak tega. Mudah-mudahan saja bapak Polisi ini berubah, jadi orang baik. Saya juga mudah-mudahan jadi selalu orang taat aturan lalin. Dan mudah-mudahan Wakijo panjang umur, karena malamnya dia mogok total sehingga mesti dititipkan ke bengkel dan saya pulang dengan bergelantungan di pintu angkot.

Duduk, atau Tidak Duduk

Ini bukan to be or not to be.

Saat saya pertama kali mengenal KRL atau komuter beberapa bulan yang lalu, saya mempelajari banyak hal baru. Tentang aturan-aturan, etika, kebiasaan, dan rahasia umum tentang transportasi publik ini.

Awal-awalnya dulu saya selalu berusaha untuk mendapatkan tempat duduk. Namun lama-kelamaan, saya memilih untuk berdiri. Begini :

  1. Jika ramai hanya ada 2 slot tempat duduk yang kosong, jangan duduk.
  2. Jika tidak ramai, hanya ada 2 slot, dan hanya saya saja yang berdiri di sekitar slot tersebut, silakan duduk.
  3. Ah, ribet. Pokoknya berdiri aja terus! Mentang-mentang masih muda! Saya tahan berdiri terus! Saya (mudahan) bisa tidur sambil berdiri!

Tapi ternyata, itu prinsip yang salah. Sekarang, saya kembali seperti dulu lagi. Kalau ada satu slot tempat duduk, rebut! That's my spot! That's my spot! Tapi dengan 1 syarat saja, perhatikan terlebih dahulu orang-orang yang berdiri di sekitar.

Mengapa saya berubah prinsip?

Karena saya pernah (namun tidak sekali) menemui situasi dimana tempat duduk sudah penuh, ada penumpang prioritas (bumil, tua renta, atau penyandang disabilitas) yang berdiri namun tak seorang pun beranjak berdiri untuk mempersilakan yang berhak untuk duduk dan saya TIDAK BERANI menegur siapa pun. Saya pernah melihat orang lain yang menegur, "Mas, mas, bisa kasih tempat duduknya buat Ibu ini tidak?".

Saya tidak/belum berani menegur seperti itu. Saya takut yang ditegur bakal berpikir, "Kok saya? Kenapa bukan yang di sebelah saya? Kenapa bukan yang di sebelah situ?". Saya ciken.

Ketika situasi seperti itu terjadi, saya tidak bisa berbuat apa-apa. Hati gundah tapi gak berani menegur. Macam jatuh cinta tapi gak berani mengungkapkan. Dan itu mengganggu sekali. Andai saja saya yang duduk di sana. Andai saja.

Jadi begitulah. That's my spot! *sikut

Mahasiswa yang bukan Mahasiswa

Saya saat ini sedang berstatus mahasiswa tetapi sulit untuk merasa sebagai mahasiswa. Saya terlambat menjadi mahasiswa, menjadi mahasiswa sambil bekerja, nyaris terisolasi dari kehidupan mahasiswa yang sebenarnya. Saya apatis, sementara yang lain sibuk berorganisasi dan kritis. Ada yang sempat turun ke jalanan berdemo, sementara saya di masih sibuk ngetik di pojokan sini. Bahkan untuk ikut serta dalam perkumpulan-perkumpulan, kelompok diskusi, aduh...

Toleransi dosen-dosen pengajar untuk mahasiwa malam/ekstensi (atau apa pun sebutannya) juga membuat saya tidak tahu rasanya menjadi mahasiswa yang sebenarnya dari sisi akademik. Kerasnya seperti apa. Perjalanan akademik saya juga kurang normal seperti kebanyakan orang, SMP terlalu cepat, lepas SMA malah jungkir balik 3 tahun dulu baru kuliah. Jadi rasa-rasanya menjadi mahasiswa selepas SMA itu bagaimana saya tidak tahu. Ospek? Gak pernah ngerasain ding.

Saya juga belum memahami benar arti "harga mahasiswa" atau saat seseorang mahasiwa bilang, "Duh 100k bisa buat berapa hari tuh". Duit saya gak banyak, tapi gak sampai berkomentar begitu, seperti dari sudut pandang mahasiswa.

Rasanya ngekos sebagai mahasiswa juga bagaimana (saya ngekos tapi tidak merasa ngekos, ini mah lain lagi :P ), saya tidak tahu.

Saya juga tidak sempat menikmati pergaulan ala mahasiswa pada umumnya. Entah bagaimana mendeskripsikannya, tapi saya mengambil gambaran dari apa yang sering saya lihat di kampus sehari-hari, dari novel, film.

Jadi mahasiswa yang punya banyak waktu luang untuk melakukan ini dan itu dan ini untuk eksistensinya sebagai mahasiwa... Rasa iri saya berangkat dari sana, waktu. Bahkan untuk menyisakan sedikit waktu untuk mahasiswi... Duh!

Jadi, seperti apa sih rasanya menjadi mahasiswa itu?

Solusi Suspend di GNU/Linux Debian (BlankOn) MBA Mid 2013

Didorong oleh rasa malu pada diri sendiri melihat orang-orang seperti Pak Rus (masih menggunakan BlankOn untuk mengajar sehari-hari), atau Pak Ahmad Haris (atas nama harga diri) atau Pak MDAMT dan teman-teman BlankOn lainnya, saya berusaha bertobat buat balik ke BlankOn untuk sistem operasi sehari-hari.

Banyak sih orang-orang yang berkontribusi ke proyek X tapi menggunakan Y untuk sehari-hari. Banyak. Atas nama iseng atau kesenangan heking dan sebagainya. Tapi tetap saja rasanya saya tidak bisa menjiwai esensi kontribusi bila tidak menggunakannya dalam sehari-hari. Gak bakal tahu masalah sebenarnya bila tidak dipakai sehari-hari.

Salah satu penghalang kemarin (kemudian jadi alasan buat menunda-nunda selama berbulan-bulan) adalah, suspend di MBA tidak jalan mulus. Baik di Zulfiqar maupun si Japra. Setelah bangun dari suspend, kecerahan layar diset ke 0 atau 100 persen dan tidak bisa diubah-ubah lagi. Tapi lebih sering ke 0 alias gelap total. Ini menyebalkan sekali.

Sejak awal sudah ketemu obatnya, https://github.com/patjak/mba6x_bl.

Karena kebiasaan jelek pengen serba instant, saya pasang dari berkas .deb-nya yang entah saya dapat dari mana. Tapi tidak bisa dipasang.

Baru saja sesaat sebelum tulisan ini diketik, saya nemu ini, https://github.com/patjak/mba6x_bl/pull/34.

Akhirnya tinggal kloning ulang, make, sudo make install, sudo modprobe mba6x_bl, kelar.

Pelajaran yang didapat, jika menemukan suatu masalah dari perangkat lunak, selain mencari di Google / forum-form, jangan lupa mampir ke issue tracker di lumbung git/svn perangkat lunak yang bersangkutan.

Cerita Produk dari hasil Software yang murah


Kemarin ada salah seorang mahasiswi salah satu kampus di Semarang yang beli Laptop di kios saya, kemudian terjadi obrolan seperti berikut:
Saya: S
Pembeli: P

  • P: Buku yang gambarnya ditempelin di pintu itu harganya berapa mas
  • S: Seratus Empat Puluh Lima Ribu mbak
  • P: Wah mahal amat, itu kan softwarenya gratis, mosok bukunya mahal
  • S: Itu termasuk murah mbak, di amazon harga e-book banyak yang lebih mahal dari buku tersebut, softwarenya gak gratis kok, emang mbak-e kalau download di internet gak bayar koneksi internet, gak pakai listrik?
  • P: Kalau mau beli selain disini, apakah di Gramedia juga ada?
  • S: Gak ada, kalau mau beli bisa dengan cara onlen lewat blog saya. Sebenarnya buku itu juga saya bagikan gratis kok, mau?.
  • P: Mau banget, gimana caranya?
  • S: Ikuti saja Sayembara Menulis yang diselenggarakan Tim Dokumentasi BlankOn (sambil tangan saya nyodorin brosur edisi cetak)

Pembeli pegang tangan saya brosur ditangan saya, kemudian diterima dan dibacanya, tidak beberapa lama dia ngomong lagi

  • P: Katanya gratis, kok suruh nulis minimal lima artikel!?
  • S: Waduh mbak, nulis lima artikel saja sudah mengeluh, lha saya nulis buku itu 3 tahun baru selesai, kalau dijadikan artikel sudah ratusan artikel kali
  • P: Baik mas, besok saya coba nulis, terimakasih mas, oh ya mas saya minta kartu namanya ya (sambil lihatin kartu nama dalam kotak di atas meja)
  • S: Boleh, silakan ambil

Begitulah cara berpikir orang-orang Indonesia ketika menilai sebuah produk yang dihasilkan dengan software murah. Mungkin hal ini terpengaruh juga oleh kalimat teman-teman penggiat FOSS yang sering mengatakan bahwa software tersebut gratis, padahal sebenarnya arti dari kata Free bukan gratis, tapi lebih ke freedom atau bebas menggunakan, menyebarkan, mempelajari kodenya, dan lain-lain.

Cara Flash Iphone 4 menggunakan Opensuse 13.2

Setelah selama kurang lebih 6 bulan, Akhirnya uang saya terkumpul untuk memperbaiki iPhone 4 yang mati  dan belakangan saya akan tahu bahwa permasalahannya sebenarnya adalah karena baterai yang sudah usang. akhirnya setelah dilakukan penggantian baterai iPhone pun menyala, namun ada sebuah permasalahan baru saya lupa password iPhone tersebut. berarti mau tidak mau saya harus melakukan factory reset perangkat tersebut.

Menurut situs resmi apple ada setidaknya 3 cara untuk melakukan factory reset pada iPhone dan variannya yaitu melalui iCloud, menggunakan iTunes, dan yang terakhir datang ke service center Apple (iBox). karena perangkat saya tidak terdeteksi di iCloud, macBook ada di kantor, dan saya malas untuk pergi ke iBox, akhirnya saya putuskan untuk mencari jalur alternatif menggunakan mesin yang terpasang Opensuse di kamar kosan.

Akhirnya pencarian berujung pada libimobiledevices tutorial kompilasi saya adaptasi dari blog Sloopy linux notes    dia melakukan kompilasi diatas mesin debian tentunya dengan memecahkan neraka dependensi terlebih dahulu. setelah semua selesai kita masih harus mengatur akses perangkat usb dengan menambahkan udev rule pada /etc/udev/rules.d menggunakan berkas 90-usbpermission.rules dengan isi :

SUBSYSTEM==”usb”,GROUP=”users”,MODE=”0666″

supaya perangkat iPhone bisa diakses pada mode recovery dan DFU. berkas image ios untuk restore saya ambil dari http://ipsw.me  , kemudian saya la kukan restore dengan perintah :

$ idevicerestore –ecid 0000XXXXXXXXXXX -e ~/Downloads/iPhone3\,1_7.1.2_11D257_Restore.ipsw

dan setelah kurang lebih 20 menit iPhone saya kembali lagi bekerja dengan normal.

Happy Hacking ;)

 


Filed under: Opensource Tagged: flashing, hacking, icloud, iphone, iPhone4, oPensuse

Efek Blur pada Lubang di Inkscape

Tadi di group Facebook Inkscape Indonesia ada yang bertanya seperti gambar dibawah ini
Berikut jawaban versi saya
Buat object persegi panjang menggunakan Rectangles Tool, rotasi object tersebut agak sedikit miring. Buat object berupa path tertutup menggunakan Bezier Tool yang nantinya digunakan untuk melubangi object persegi panjang

Duplicate object berupa path tertutup tadi, kemudian  letakkan satunya di atas object persegi panjang


Seleksi object path tertutup dengan persegi panjang, klik Path => Difference, dengan menjalankan teknik ini maka path terttutup akan memotong persegi panjang

Letakkan object berupa path tertutup hasil duplicate tadi persis di atas lubang persegi panjang.

Buka jendela pengaturan Fill and Stroke, kemudian blur path tertutup dengan nilai tertentu

Sudah, hanya begitu saja
Di bawah ini adalah hasil dengan sedikit modifikasi permainan warna


Membuat Bendera transparan dengan GIMP

Postingan ini adalah lanjutan dari artikel Membuat Bendera Transparan dengan Inkscape yang saya tulis beberapa minggu yang lalu, hasilnya juga kurang lebih juga sama, jika pada artikel sebelumnya saya buat tutorialnya dengan Inkscape, maka pada postingan kali ini menggunakan GIMP.



Sebenarnya dengan GIMP kita juga dapat menerapkan cara seperti di Inkscape, namun karena cara tersebut sangat mudah dan sederhana maka saya buat tutorialnya dengan cara berbeda, dengan demikian paling tidak kita dapat menghasilkan sebuah karya dengan hasil yang sama namun menggunkan aplikasi berbeda dan cara yang berbeda juga.

Karena saya sedang malas menulis, maka pada postingan kali ini tidak membuat tutorial berupa tulisan melainkan hanya berupa video, silakan langsung toton videonya di bawah ini

Jiak videonya kurang besar sehingga tidak nyaman dilihat, silakan tonton langsung di YouTube

Cara merecover (decrypt) Admin password WebLogic Server

Jika suatu saat menemui kejadian dimana kita lupa password Admin Server pada Weblogic, cara yang bisa diambil adalah me-reset atau merecover password tersebut, lokasi password biasanya disimpan di berkas boot.properties. Ini adalah cara merecover, bukan mereset password tersebut. Ambil terlebih dahulu password yang terenkripsi pada berkas boot.properties. Masuk ke folder security Buat berkas script yang berfungsi untuk […]

Migrasi dari Perangkat Lunak Bajakan ke Perangkat Lunak Legal

Pertama beli komputer di tahun 2005, saya belum paham tentang legalitas sebuah perangkat lunak yang saya pasang di komputer saya itu. Tapi semenjak kuliah di semester 3 baru saya tau klo perangkat lunak itu tidak semuanya bebas saya pasang di komputer saya, ada yang gratis dan ada yang berbayar. Dan dari situlah saya mulai mencoba migrasi perlahan ke perangkat lunak open source. Kenapa perlahan? karena saya tidak punya uang untuk beli perangkat lunak berbayar tadi. :))

Hal pertama yang saya lakukan adalah meng-install 2 sistem operasi di komputer saya yaitu, sistem operasi Windows dan sistem operasi Linux. Masuk kuliah semester 6, saya sudah lepas dari ketergantungan menggunakan sistem operasi Windows dan full menggunakan sistem operasi Linux untuk ngerjain tugas kuliah maupun belajar desain. Dan yang bikin berat hati meninggalkan windows adalah game-nya. Iya, di Linux game nya cuma ada versi 2D. :))

Lulus kuliah saya pindah ke kota Bandung untuk mencari nafkah buat keluarga (*tsahh). Karena tuntutan kerjaan saya balik lagi ke sistem operasi berbayar yang sudah digratisin yaitu, OSX. Awalnya di pasang perangkat lunak bajakan sampe akhirnya oleh kantor dibeliin yang original (*ahey). Mulai dari perangkat lunak untuk slicing/desain dengan photoshop dan untuk koding front-end yaitu, coda. Hampir 2 tahun penggunaan perangkat lunak tersebut laptop saya rusak karena hardisk nya udh tidak dapat bekerja lagi sekaligus kabel HDD-nya putus, iya putus. :((

Kemudian saya jual dan duitnya buat tambahan beli laptop baru. Setelah beli laptop baru yang bikin saldo rekening kering, saya kembali ke perangkat lunak bajakan karena perangkat lunak original yang saya pasang di laptop sebelumnya itu adalah punya kantor. Pas saya ganti laptop ini, saya udah pindah kantor di Jogja. Tapi selama kerja menggunakan perangkat lunak bajakan ini saya niatin “klo nanti udh bisa menghasilkan duit lebih dari perangkat lunak ini (photoshop dan sublime text) saya akan beli yang asli”. Bener! selang 1 tahun, saya berhasil meningkatkan pendapatan saya di Themeforest. Dan dari hasil tersebut saya coba cicil beli satu persatu perangkat lunak yang saya gunakan untuk bekerja, menghasilkan duit dan buat makan itu.

1). Sublime Text

Perangkat lunak pertama yang saya beli adalah sublime text, jadi saya mulai cicil itu dari harga yang paling murah dulu. Harganya $70 untuk single license. Kenapa saya tidak membeli coda seperti yang dulu dipake di kantor? karena selain lebih mahal, coda ini terlalu berat pemakaiannya di laptop saya. Klo sublime text ini lebih ringan dan banyak plugin tersedia di dalamnya.

2). Plants VS Zombie

Pada sistem operasi OSX itu game-nya tidak sebanyak di Windows untuk kategori bajakannya (LOL). Karena game 3D nya ga ada yang seru dan mahal pula, maka saya beli game yang murah aja, yang penting ada hiburan dikit. Pilihan jatuh pada game : Plants VS Zombie, game yang ga bikin stres dan bisa tamat berkali-kali. Harganya sekitar $9.

3). Photoshop

Perangkat lunak ini sebenernya sudah dari lama pengen beli, tapi selalu ditunda karena harganya terlalu mahal buat saya. Photoshop CS5 itu dibanderol dengan harga $900 untuk single license. Sebenernya ada cara yang bisa bikin harga photoshop ini murah sih yaitu, pake yang student edition. Tapi butuh KTM dll. untuk mendapatkan edisi tersebut. Sampe akhirnya si Adobe mengeluarkan produk creative cloud (CC). Jadi modelnya kita subscribe dan bayar per-bulan atau per-tahun untuk penggunaan produk perangkat lunak mereka. Klo di itung-itung lebih murah sih karena kita dapet support, cloud storage, typekit (font premium), software update berkala, behance prosite dan video tutorial. Dengan membayar sekitar $191 per-tahun atau sekitar Rp. 1.850.000 per-tahun ini menurut saya masih “worth it” untuk penggunaan selama setahun. Apalagi anda yang sudah level pro, mungkin harga segitu akan balik modal hanya dalam waktu 1 bulan dan tentunya penghasilan dari perangkat lunak ini lebih barokah. ^^,

Dari 3 perangkat lunak diatas yang sudah saya beli, masih ada beberapa yang ingin saya beli salah duanya adalah adobe lightroom dan adobe illustrator. Karena sekarang saya mulai hobi jepret-jepret dan butuh lightroom untuk mengedit tone warna dan lain-lain. Mudah-mudahan tahun depan bisa beli perangkat lunak ini. Amiin.


Leapcast – emulator chromecast di laptop

Screenshot from 2015-11-18 12:22:10

Tampilan leapcast di Opensuse

ingin mencoba chromecast di laptop, raspberry pi, PC, mac, atau perangkat sejenis? silahkan pasang leapcast.  leapcast berdasarkan keterangan pembuatnya adalah sebuah perangkat lunak emulasi chromecast yang digunakan untuk berbagai perangkat.

Screenshot from 2015-11-18 12:22:02

Tampilan Leapcast memutar video dari youtube

Untuk memasangnya silahkan ikuti panduannya di https://github.com/dz0ny/leapcast. untuk distribusi linux panduan yang disertakan adalah panduan untuk turunan debian, seperti (Ubuntu, Blankon, Linux Mint) sedangkan pemasangan pada distribusi Opensuse 13.2 dapat dilakukan dengan mengganti perintah apt dengan zypper seperti potongan baris berikut :

git clone https://github.com/dz0ny/leapcast.git
cd leapcast
sudo zypper install virtualenvwrapper python-pip python-twisted-web python2.7-dev
python setup.py develop 



Filed under: Uncategorized