01 Dec 2016

Beberapa waktu yang lalu saya butuh memprogram modul ESP8266 namun entah mengapa selalu gagal. Setelah coba macem2, sepertinya USB-to-Serial adapter yang saya gunakan itu bermasalah. Saya sudah pesan adapter baru namun butuh waktu lama untuk sampai; dan saya gak sabaran xD Untungnya saya menemukan artikel berisi petunjuk menggunakan Arduino Uno atau Nano untuk memprogram modul ESP8266 dan kebetulan saya punya Arduino Uno dan Nano yang bisa dipakai. Inilah cara yang saya pakai.

Perhatian! Panduan berikut ini BUKAN berisi panduan menggunakan ESP8266 dari Arduino, melainkan panduan untuk memprogram.

Arduino Uno dan Nano itu memiliki USB port yang bisa dipakai untuk memprogram dan keduanya memiliki jalur serial TX dan RX. Ternyata andai Arduino dibuat dalam mode Reset dengan cara menghubungkan RESET ke GND, maka si Arduino akan bertingkah sebagai USB-to-Serial adapter!

Sebelum lanjut, menurut yang saya baca, port Arduino itu bekerja dengan 5V sedangkan ESP8266 itu bekerja dengan 3.3V dan tidak memiliki toleransi sampai 5V. Sehingga sinyal dari Arduino yang dikirim ke ESP8266 berpotensi untuk merusak modul ESP8266 tersebut. Kebetulan saya lupa menyadari hal ini namun untungnya modul ESP8266 saya masih bisa berfungsi dengan baik. Supaya aman kita perlu mengubah sinyal 5V dari Arduino menjadi 3.3V sehingga aman dikonsumsi oleh ESP8266. Salah satu caranya adalah dengan membuat voltage divider.

Voltage Divider

Dengan memakai kombinasi R1 = 1KΩ dan R2 = 2KΩ, kita bisa mendapatkan sinyal 3.3V yang berasal dari 5V.

Hal lain yang perlu diperhatikan adalah bagimana memberi pasokan listrik ke modul ESP8266. Menurut sebuah dokumen, ESP8266 dapat memakai arus listrik sampai 215mA sedangkan Arduino hanya dapat memasok sampai 200mA. Walau besar kemungkinan ESP8266 tidak akan memakai arus sebesar itu ketika diprogram, akan lebih baik jika kita menggunakan sumber listrik yang lain. Menurut eksperimen saya, bread board power supply biasa sudah cukup untuk memenuhi kebutuhan pasokan listrik untuk ESP8266.

Mari lanjut dengan menghubungkan Arduino dengan ESP8266. Buat hubungan sebagai berikut.

  • Arduino TX ke ESP8266 TX
  • Arduino RX ke voltage divider input
  • Voltage divider output ke ESP8266 RX
  • Arduino RESET ke GND
  • Hubungkan semua GND
    • Arduino GND
    • ESP8266 GND
    • Voltage divider GND
    • Breadboard power supply GND
  • Breadboard power supply 3.3V ke ESP8266 VCC
  • ESP8266 CH_PD ke 3.3V via resistor 10KΩ
  • Untuk mengaktifkan mode pemrograman, hubungkan ESP8266 GPIO0 ke GND via resistor 10KΩ

Kalau digambarkan, kira2 akan terbentuk hubungan seperti berikut.

Koneksi ESP8266 dengan Arduino

Setelah semua siap, sambungkan Arduino via USB dan nyalakan breadboard power supply dan modul ESP8266 sudah bisa diprogram. Jika menggunakan Arduino IDE, cukup pilih board ESP8266 dan port USB yg dipakai.

Berdasar pengalaman saya, walau konfigurasi di atas ini sudah bisa berfungsi, kadang2 saya masih menemui kegagalan ketika proses pemrograman berlangsung. Saya belum tahu apa sebabnya namun biasanya setelah saya matikan dan nyalakan lagi si breadboard power supply, proses pemrograman berikutnya bisa berjalan lancar.

Have you tried turning it off and on again?

Selamat mencoba!

on 01 Dec 2016 08:36 AM

30 Nov 2016

mad-scientist

We sometimes just need to download one branch of GIT without its history. Kind of like svn export thingie. A feature of SVN that would export a branch without any SVN metadata.

Suppose we have a Github repository:

https://github.com/jpmrblood/percuma

Lo, we could do this:

svn export https://github.com/jpmrblood/percuma/trunk/

And this to see what GIT versions available:

$ svn ls https://github.com/jpmrblood/percuma/
branches/
tags/
trunk/

And this to see what version had been released in the past:

$ svn ls https://github.com/jpmrblood/percuma/tags/
v1/
v2/

Cool hidden stuff from Github.

Bacaan Lebih Lanjut

on 30 Nov 2016 02:41 PM
zfsonlinux

Ubuntu Xenial secara baku memasang ZFS. Sayangnya, saya sering pindah-pindah sistem operasi sehingga versi ZFS yang dimiliki oleh Ubuntu Xenial tidak memadai. Ada fitur yang tidak kompatibel dengan versi ZFS Ubuntu.

Untungnya, perkakas ZFS yang sudah ada di Xenial sudah mumpuni. Yang perlu diperbaiki hanya versi kernelnya. Jadi, itulah yang hendak kita lakukan: memasang kernel ZFS terbaru pada Ubuntu Xenial sehingga fitur-fitur terbaru didukung.

Saya belum tahu efeknya, tetapi mohon berhati-hati bila menggunakan perkakas berbeda dengan kernel. Kalau saya, saya punya cadangan. Lagipula, saya biasa melakukan ini dari CD Pemasangan KDE Neon, distro GNU/Linux berdasarkan Ubuntu Xenial.

Mohon berhati-hati.  Saya tidak bertanggung jawab atas risiko yang Anda lakukan.

Teknis Setelah Mukadimah

Untuk kernel dari Ubuntu, hapus kernel ZFS yang sudah ada:

rm -rf /lib/modules/4.4.0-24-generic/kernel/zfs/

Pasang ketergantungan:

apt -y install build-essential autoconf libtool gawk alien fakeroot linux-headers-$(uname -r)
apt -y install zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev
apt -y install parted lsscsi ksh
apt -y install autoconf git libdevmapper-dev

Unduh SPL:

git clone https://github.com/zfsonlinux/spl && cd spl

Buat:

./autogen
./configure --prefix=/usr --with-config=kernel
make -j$(nproc)
sudo make install

Unduh ZFS:

cd ..
git clone https://github.com/zfsonlinux/zfs && cd zfs

Buat:

./autogen.sh
./configure --prefix=/usr --with-config=kernel
make -j$(nproc)
sudo make install

Selesai.

on 30 Nov 2016 01:45 AM

28 Nov 2016

Darktable logo

Darktable adalah sebuah perangkat lunak untuk memroses gambar secara profesional. Aplikasi ini bisa memroses format RAW. Sistem proses kerja yang digunakan adalah dia mencatat perubahan apa saja yang dilakukan terhadap gambar sehingga efek-efek tersebut disusun dan diaplikasikan terhadap gambar asli. Dengan demikian, gambar asli dapat terjaga.

Aplikasi ini mendukung OpenCL. OpenCL adalah teknologi yang menggunakan GPU sebagai prosesor tambahan. Laptop saya AMD A10 7300 Kaveri mendukung OpenCL yang memanfaatkan tambahan 6 Compute Unit yang ada di GPU.

Use OpenCL option

Use OpenCL option

Cara pasangnya mudah.

sudo add-apt-repository ppa:pmjdebruijn/darktable-unstable
sudo apt update
sudo apt install darktable

Omong-omong, saya baru mencoba saja. Dari tampilan antarmuka yang cukup banyak, sepertinya memang perkakas ini untuk profesional. Banyak yang bisa dilakukan dengan Darktable ini. Mudah-mudahan buat yang hobi fotografi bisa membagikan pengalaman menggunakan aplikasi Darktable ini.

Darktable application

Darktable application

on 28 Nov 2016 03:14 PM

25 Nov 2016

zfsonlinux

Set:

export KERNEL_TARGET_VERSION=`uname -r`

Cuma memastikan versi yang lama tidak ada:

rm -rf /lib/modules/4.4.0-24-generic/kernel/zfs/

Pasang ketergantungan:

apt -y install build-essential autoconf libtool gawk alien fakeroot linux-headers-$KERNEL_TARGET_VERSION
apt -y install zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev
apt -y install parted lsscsi ksh
apt -y install autoconf git libdevmapper-dev

INI IMPLEMENTASI YANG RUSAK UNTUK XENIAL. SAYA TIDAK MENGHAPUS KARENA UNTUK KEPERLUAN RISET DI VERSI OS YANG LAIN. MOHON IKUTI CARA DI TULISAN INI.

 

Bacaan Lebih Lanjut

on 25 Nov 2016 08:07 AM

23 Nov 2016

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 23 Nov 2016 09:50 AM

22 Nov 2016

Resep: Jemalloc

Jan Peter

mad-scientist

Pastikan bahwa:

sudo apt-get install build-essential autoconf

terpasang. Perkakas autoconf diperlukan untuk membuat makro-makro yang dibutuhkan. Hal ini karena versi VCS biasanya perlu menjalankan autogen.sh untuk membuat skrip configure.

Ambil dari GIT:

git clone https://github.com/jemalloc/jemalloc.git && cd jemalloc

Lakukan tiga langkah sulap seperti biasa:

./autogen.sh
./configure --prefix=/usr --enable-lazy-lock EXTRA_CFLAGS='-march=native -mtune=native'
make -j$(nproc)
sudo make install_bin install_include install_lib

Eh, empat, deh. Lupa. Kalau memasang dari repositori langsung, bukan versi terbit, harus dibuatkan makronya terlebih dahulu. Baris configure saya tambahkan parameter GCC untuk menggunakan kode-kode ke prosesor saya berhubung jemalloc untuk laptop. Baris make dijalankan sebanyak jumlah prosesor. Baris instalasi secara spesifik dijabarkan untuk hanya memasang pustaka dan binari jemalloc. Ada galat kompilasi dokumentasi di jemalloc yang menyebabkan pemasangan menyeluruh (sudo make install) menjadi gagal.

on 22 Nov 2016 11:05 PM

21 Nov 2016

I have had a Pine64 since a while ago and just a few days ago I finally tried to turn it on! xD I plan to use it as a main home router since it has a gigabit ethernet.. well scrap that, I think I found a better device for that. Anyway, I still want to use it but now as another kind of (wireless) router that will route and bridge all my tiny bitty wireless devices based on ESP8266. I intentionally wanted to have them separated from the main home network.

So, also a while ago, I bought a USB wireless dongle because I didn’t buy the WiFi module from Pine64 guys. Apparently the dongle uses a Realtek chipset, RTL8188CUS. I plugged the device into my Pine64 and then.. nothing xD nothing showed up on the ifconfig -a device list. Ah, I used the Debian Base (Debian Base (3.10.102 BSP 2) to be precise) distribution for the Pine64 btw.

Google around, and I found a page on Debian Wiki that says I would need to have rtl8192cu module loaded. Sure enough, it’s not there. The search continued, this time with a more specific keyword. I then ended up on a GitHub page and looks like some is having a similar problem as mine. After trying here and there I finally made the device showed up! I haven’t configured it thogh.. but anyway.. here’s what I did.

  1. Apparently I had to upgrade the kernel of the Debian installed on the Pine64. It used to use Linux 3.10.65-7-pine64-longsleep. After the upgrade, it changed to 3.10.104-1-pine64-longsleep. What I had to do was just running the following command.

    $ sudo pine64_update_kernel.sh

    The script should come already with the distribution. It will download, verify, and install a new kernel. After it finished, you will be asked to restart the device.

  2. I tried to replug the USB dongle and nothing still showed up. I check the log using journalctl and found the following message.

    Nov 19 04:20:28 localhost.localdomain kernel: usb 2-1: new high-speed USB device number 3 using sunxi-ehci
    Nov 19 04:20:28 localhost.localdomain kernel: rtl8192cu: Chip version 0x10
    Nov 19 04:20:28 localhost.localdomain kernel: rtl8192cu: MAC address: 01:23:455:67:89:0a
    Nov 19 04:20:28 localhost.localdomain kernel: rtl8192cu: Board Type 0
    Nov 19 04:20:28 localhost.localdomain kernel: rtlwifi: rx_max_size 15360, rx_urb_num 8, in_ep 1
    Nov 19 04:20:28 localhost.localdomain kernel: rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
    Nov 19 04:20:28 localhost.localdomain kernel: rtlwifi: Loading alternative firmware rtlwifi/rtl8192cufw.bin
    Nov 19 04:20:28 localhost.localdomain kernel: rtlwifi: Firmware rtlwifi/rtl8192cufw_TMSC.bin not available

    Looked like the kernel finally recognized the device but it could not continue to activate it because it did not have and could not load the suitable firmware.

    After I checked the GitHub page again, one comment there says I need to install a package named linux-firmware. So that’s what I did next.

    $ sudo apt-get install linux-firmware
  3. I then tried the dongle again.. now it seemed to be a success! If I typed ipconfig -a, I could see a new device albeit with a weird naming: wlx01234567890a.

So.. the setup can now continue. Hope this helps.

on 21 Nov 2016 02:42 PM

17 Nov 2016

Sudah hampir satu tahun saya mulai ngoprek2 hal yang sedikit berbeda. Masih berbau2 dunia teknologi namun tidak sepenuhnya di dunia perangkat lunak: Elektronika! Yang dimaksud dengan elektronika ini adalah hal2 yang terkait dengan resistor, transistor, microcontroller, pcb, arduino dan sekitarnya. Walau dulu saya pernah ikutan tim robot di Univesitas Indonesia, namun saat itu saya hanya mengerjakan bagian perangkat lunaknya saja.

Nah ceritanya saya pengen menuliskan pengalaman terkait ngoprek2 elektronika di blog ini. Namun berhubung saya tidak punya pendidikan dan pengalaman formal, maka saya ingin membuat pernyataan “penyanggahan standar” terkait tulisan saya yang berhubungan dengan elektronika.

* * *

Saya tidak memiliki latar belakang pendidikan dan pengalaman formal di bidang elektronika. Dalam kegiatan ngoprek elektronika, saya hanya mencomot informasi dari sana-sini yang tersebar di jagad Internet. Saya tidak menjamin keakuratan rancangan dan kalkulasi yang saya lakukan. Jika Anda melihat kesalahan yang saya lakukan atau punya saran, tolong kasih tau saya! 🙂

PERHATIAN! Ngoprek2 dengan elektronika bisa sangat berbahaya terutama jika sudah berurusan dengan arus/voltase tinggi termasuk listrik di rumah. Tolong gunakan akal sehat dan penuh kehati-hatian selama ngoprek. Saya tidak bertanggung jawab atas musibah/kecelakaan yang mungkin terjadi.

* * *

I don’t have a formal education nor experience in electronics. I only gather information here and there mainly from the Internet during my electronics experimentation. I don’t guarantee the accuracy of my design or calculation. If you spot errors or have suggestions, please let me know! 🙂

WARNING! Working with electronics can be extremely dangerous, especially when you are dealing with high voltage/current, including the electricity at house. Please use common sense and be careful when experimenting. I do not take responsibility for any accident that may happen.

on 17 Nov 2016 08:46 PM

Beberapa waktu lalu saya mencoba untuk mengupload aplikasi ke ESP8266, tepatnya ke modul ESP-01. Seperti yang umum disebut di tutorial2 lain, saya menggunakan USB-to-Serial adapter untuk menghubungkan ESP-01 tsb dengan komputer yang saya pakai. Proses upload awalnya berjalan lancar dan aplikasi yang saya pasang bisa berjalan dengan baik. Namun belakangan proses upload sering gagal dengan indikasi proses upload selalu nyangkut di sekitar 99%-100% dan/atau aplikasi tidak dapat bekerja.

Salah satu karakteristik yang saya temukan adalah proses upload gagal ketika ukuran aplikasi sudah melebihi kisaran tertentu (sekitar 25%). Jika ukuran aplikasi sudah melebihi 25%, maka bisa dipastikan proses akan gagal. Jika kurang dari itu, kemungkinan besar proses akar berhasil namun saya juga mengalami beberapa kasus kegagalan.

Kalau saya nyalakan mode pemrograman, yaitu dengan menghubungkan GPIO0 ke GND, lalu mereset si modul, dan memantau data yang dikirim ke serial port, biasanya saya mendapatkan pesan seperti berikut.

ets Jan 8 2013,rst cause:4, boot mode:(3,7)

Setelah ngubek2 internet sana sini, dan juga ngikutin petunjuk memasang modul dengan benar (baca: pakai resistor untuk pull-up/pull-down, pasang capacitor, dsb), tetep aja proses upload ngga pernah berhasil. Sampai akhirnya ada yang menyarankan untuk mengecek USB-to-Serial adapter yang digunakan. Ada yang mencoba mengganti dengan adapter lain dan proses upload langsung berjalan lancar.

Adapter yang saya pakai bentuknya seperti gambar di bawah ini dan beli di AliExpress (atau eBay ya?). Mungkin saja chip yang dipakai (FTDI) adalah barang tiruan berhubung gosipnya FTDI itu relatif tidak murah walau terkenal.

Berhubung yang saya sedang kerjakan dengan modul ESP-01 ini ingin segera saya deploy (baca: pasang), maka akhirnya saya memutuskan untuk membeli model lain di AliExpress. Kali ini menggunakan chip CH340G yang juga terpasang di Arduino Nano clone yang saya miliki dan tidak bermasalah. Adapter yang saya beli kali ini bentuknya seperti gambar di bawah

Sekitar satu-dua hari setelah pemesanan (dan 2-3 minggu sebelum barang biasanya sampai), saya membaca tulisan di dzone.com mengenai memprogram ESP8266 dengan Arduino! Kalau dipikir2, Arduino Uno dan Nano itu kan pastinya berisi USB-to-Serial adapter juga. Ternyata ada caranya supaya kita bisa menggunakan adapter yang terdapat di Arduino Uno/Nano untuk sebagai adapter biasa, yang juga bisa dipakai untuk memprogram ESP8266! Silakan kunjungi tulisan tadi atau tunggu tulisan saja berikutnya 😛

on 17 Nov 2016 08:46 PM

07 Nov 2016

Lastweek when spinning up an AWS Instance, I was greeted with an Official Ubuntu 16.04 image.. naturally I would use this image for the new service we were planning..

As all new services we deploy, we run them on Docker. One practice we do in our AWS Docker setup is to store all images in EBS as /mnt/docker.. I’m not going into details of the advantage of this setup.. but usually it is simply modifying the /etc/defaults/docker file setting DOCKER_OPTS=”-g /mnt/docker” ..

Unfortunately Docker installation did not obey this setting

$ docker info | grep "Root dir"
Root Dir: /var/lib/docker/aufs
Docker Root Dir: /var/lib/docker

even though I have correctly updated /etc/default/docker

$ cat /etc/default/docker | grep DOCKER_OPTS
# Use DOCKER_OPTS to modify the daemon startup options.
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"
DOCKER_OPTS="-g /mnt/docker"

For that I modified the docker.service file

$ sudo vim /lib/systemd/system/docker.service

adding the following

EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd $DOCKER_OPTS -H fd://

reloaded systemctl and restarted docker service

$ sudo systemctl daemon-reload
$ sudo service docker restart

and now Docker installation of Ubuntu 16.04 is storing images in /mnt/docker

$ docker info | grep "Root Dir"
Root Dir: /mnt/docker/aufs
Docker Root Dir: /mnt/docker

on 07 Nov 2016 05:31 AM

31 Oct 2016

Tulisan ini adalah hutang lama. Beberapa kawan meminta kepada saya untuk menuliskan cara-cara mensetel peladen fax daring. Saya memang berdiskusi banyak tentang bagaimana membuat peladen fax menggunakan Hylafax dan Avantfax. Tulisan ini saya buat lama setelah proses pemasangan peladen fax, di tempat saya bekerja sebelumnya, selesai. Jadi, ada beberapa langkah atau penjelasan yang mungkin terlewat.

Sebagai latar belakang, tempat kerja saya yang lalu sebetulnya sudah menggunakan layanan fax daring menggunakan sistem operasi Microsoft Windows. Aplikasi yang digunakan adalah Windows Fax and Scan. Aplikasi ini merupakan aplikasi destop. Selama beberapa tahun menggunakan layanan aplikasi ini, kendala yang dihadapi adalah, kita harus setel satu-satu komputer yang ingin tersambung dengan layanan fax daring. Satu peladen sudah disediakan sebagai peladen fax. Jadi, masing-masing klien harus menghubungkan setelan pada aplikasi Windows Fax and Scan-nya ke peladen tersebut. Nah, sayanya sering kali kerepotan, atau dengan kata lain...males, kwkwkw, ketika melakukan penyetelan pada klien. Untuk mengurangi kerepotan tersebut, akhirnya saya memutuskan untuk merubah layanan fax kantor, dari yang berbasis aplikasi destop menjadi layanan berbasis web.

Setelah mempresentasikan rencana perubahan layanan ke atasan, ternyata atasan saya setuju. Akhirnya dimulailah petualangan mencari bacaan tentang bagaimana mensetel peladen fax daring berbasis web. Saran dari google, diskusi dengan teman-teman tadi, muncullah kombinasi penggunaan Hylafax dan Avantax. Lalu, setelah kita mendapatkan perangkat lunaknya, yang paling penting dari keseluruhan proses adalah pemilihan modem yang tepat. Berdasarkan bahan bacaan, salah satu modem yang bisa digunakan adalah modem ini:


Modem ini ternyata bisa didapatkan di Bhinneka.com dengan hanya 300rb-an sahajah. Pucuk dicinta ulam tiba. Cek sama kantor, ternyata kami bisa membeli modem ini. Wah, makin joss ini kegiatan eksperimennya. Tapi ini bukan sekedar eksperimen, eksperimen ini harus berhasil.

Perangkat lunak dan perangkat keras sudah terkumpul, berikutnya adalah memilih sistem operasi yang akan digunakan sebagai peladen fax daring. Pilihan saya adalah menggunakan distribusi GnU/Linux. Terhitung, saya melakukan percobaan 2 (dua) kali. Pertama menggunakan Ubuntu 12.04 LTS, kedua menggunakan Debian 8.

Setelah semua bahan terkumpul, mari kita mulai petualangan kita. Pertama-tama jelas, kita pasang dulu sistem operasinya. Setelah sistem operasinya terpasang, langkah selanjutnya adalah memasang peladen web dengan menggunakan Apache, pangkalan data menggunakan MySQL, serta PHP. Langkah selanjutnya, seharusnya ini adalah langkah pertama sich, kita harus memastikan bahwa sistem operasi yang kita gunakan telah mendeteksi modem yang akan kita gunakan. Setelah kita colokkan modem ke porta USB, masukkan perintah:

# modprobe usbserial vendor=0x0572 product=0x1329

Nilai tersebut merupakan identitas baku dari modem Trendnet TFM-561U untuk vendor dan produk.

Setelah perintah di atas, kita akan memeriksa apakah modem sudah terdeteksi dengan baik pada sistem, dengan memasukkan perintah:

# dmesg | tail -n 100

perintah di atas akan menginformasikan kepada kita, proses apa saja yang dilakukan oleh sistem operasi. Termasuk kita menambahkan penggerak modem dari perintah sebelumnya. Keluaran perintah dmesg akan memberikan data yang lumayan banyak. Perintah "tail -n 100" akan membatasi sistem hanya untuk memberikan keluaran 100 baris terakhir. Dari data yang dikeluarkan, yang dicari kurang lebih seperti ini:

usb 2-1: new full-speed USB device number 2 using uhci_hcd
usb 2-1: New USB device found, idVendor=0572, idProduct=1329
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1: Product: USB Modem
usb 2-1: Manufacturer: Conexant
usb 2-1: SerialNumber: 24680246
cdc_acm 2-1:1.0: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

Untuk dijadikan perhatian adalah baris yang dicetak tebal dan miring. Catat informasi yang ada, karena informasi tersebut menjadi penting ketika menentukan porta tempat modem dicolokkan ketika kita mensetel aplikasi (Hylafax dan Avantfax).

Modem sudah terdeteksi, langkah berikutnya adalah mulai memasang aplikasi. Aplikasi pertama yang akan kita pasang adalah Hylafax. Apa itu Hylafax? Menurut situs hylafax.org, "HylaFAX is an enterprise-class system for sending and receiving facsimiles as well as for sending alpha-numeric pages. The software is designed around a client-server architecture. Fax modems may reside on a single machine on a network and clients can submit an outbound job from any other machine on the network." Sedangkan perintah untuk memasang Hylafax adalah:

# apt install hylafax-server

Tunggu proses pemasangan selesai. Lanjutkan dengan perintah:

# faxsetup

Pada proses ini, nanti ada satu sesi yang menanyakan identitas modem kita. Silahkan masukkan identitas modem seperti contoh yang telah disebutkan pada paragraf hasil perintah dmesg. Setelah proses penyetelan selesai, silahkan dicoba me-mula-ulang layanan hylafax untuk memastikan modem sudah terdeteksi, dengan perintah:

# /etc/init.d/hylafax restart
* Stopping HylaFAX faxq
* Starting HylaFAX faxq

Untuk melihat status modem, masukkan perintah:

# faxstat -a -s

dengan contoh keluaran:

Modem ttyx0 (5551234): Running and idle
Modem ttyx1 (5554321): Running and idle

Setelah menyelesaikan urusan konfigurasi Hylafax, berikutnya adalah memasang Avantfax. Berikut cuplikan tentang apa itu Avantfax, "AvantFAX® is a web application for managing faxes on HylaFAX™ fax servers. AvantFAX allows users on any platform to view and send faxes without having to install special software. It also allows administrators to manage users, their permissions, fax lines, fax categories, etc. AvantFAX can be accessed from the local network and remotely via Internet using standard networking equipment."

Bagaimana cara memasang Avantfax? Avantfax menyediakan skrip pemasang yang secara otomatis akan memasang kebutuhan yang diperlukan untuk Avantfax, konfigurasi pangkalan data, serta direktori pemasangan. Versi terakhir Avantfax adalah versi 3.3.5. Untuk mengunduh Avantfax, Anda bisa langsung mengunduhnya dari situs Avantfax atau melalui Sourceforge. Setelah Anda mengunduhnya, ekstrak berkasnya untuk selanjutnya memulai proses pemasangan.

Sebelum memulai pemasangan, ada baiknya Anda memperhatikan kredensial yang ada di dalam berkas *-prefs.txt. Silahkan dipilih salah satu, sesuaikan dengan distribusi GnU/Linux yang Anda gunakan. Saat ini, skrip pemasang mendukung pemasangan untuk distribusi Debian, RHEL5, CentOS 5, Fedora Core 4 serta versi di atasnya, serta SLES 10 (baca berkas INSTALL.txt). Apabila Anda menggunakan distribusi Debian 8 Jessie, di mana web direktori berada di /var/www/html, silahkan ubah kredensial di dalam berkas debian-prefs.txt yang isinya:

# The installation directory for AvantFAX
INSTDIR=/var/www/avantfax

ubah menjadi,

# The installation directory for AvantFAX
INSTDIR=/var/www/html/avantfax

Begitu juga dengan akses ke pangkalan data. Apabila akses root ke pangkalan data diberi password:

# if the MySQL password for root is set, specify it here
ROOTMYSQLPWD=

isikan dengan password untuk username root setelah tanda (=).

Setelah Anda memastikan bahwa data yang diberikan telah benar, silahkan memulai proses pemasangan Avantfax. Dalam kasus ini, saya menggunakan distribusi Debian:

# ./debian-install.sh

Tunggu sampai proses pemasangan selesai. Setelah proses pemasangan selesai, silahkan lanjutkan proses pemasangan dengan membuka peramban (Mozilla Firefox, Google Chrome(ium), dll) dan masukkan alamat:

http://domain.atau.localhost/avantfax/admin

Setelah melihat layar login, masukkan:

Username: admin
Password: password

Pada login pertama kali, Anda akan diminta untuk mengganti password admin. Silahkan ganti password sesuai dengan keinginan Anda. Setelah login, silahkan tambahkan user lain yang sekiranya akan menggunakan layanan fax daring nantinya.

Setelah menambahkan pengguna, konfigurasi yang penting adalah konfigurasi modem. Masukkan identitas modem seperti pesan yang muncul pada perintah dmesg yang sudah dituliskan di paragraf sebelumnya. Data yang perlu diisikan hanya Device dan Alias. Pada kolom Device, masukkan identitas modem. Sedangkan untuk Alias, silahkan disesuaikan dengan keinginan Anda. Jangan lupa disimpan setelah melakukan konfigurasi.

Setelah konfigurasi admin selesai, agar pengguna bisa menggunakan fax daring, pada peramban buka alamat:

http://domain.atau.localhost/avantfax

Silahkan isi username dan password sesuai dengan data pengguna yang sudah kita buat lewat halaman administrasi tadi. Setelah itu pengguna kita dapat mengirim dan menerima fax yang masuk.

Demikian, secara singkat proses pemasangan yang pernah saya lakukan untuk peladen fax daring. Sekali lagi, karena waktu penulisan artikel ini dan proses pemasangan peladen fax daring sebelumnya yang jaraknya lumayan jauh, bisa jadi ada proses-proses yang tidak terdokumentasikan dengan baik dan tulisan ini sangat terbuka untuk perbaikan :).

Semoga bermanfaat:


Bahan bacaan:
  1. http://livingtothefullest.com/installing-hylafax-and-avantfax-on-ubuntu-10-04/
  2. http://pclosmag.com/html/Issues/201301/page09.html
  3. https://semdev01.files.wordpress.com/2010/08/adm_hylafax_avantfax_ubuntu.pdf
  4. http://hylafax.org/content/Main_Page
  5. http://hylafax.sourceforge.net/
  6. http://www.avantfax.com/
  7. https://sourceforge.net/projects/hylafax/
  8. https://www.geckoandfly.com/3356/microsoft-fax-software-how-to-send-free-fax-online-via-computer-and-email/

on 31 Oct 2016 03:33 PM

28 Oct 2016

Theme Changer - Akasia

Arif Syamsudin

Keterangan: Pengubah tema di SLiMS Akasia

Awalnya, hanya sekedar coret-coretan salah seorang pengembang SLiMS. Ya, kawan Ido Alit hanya memperlihatkan mockup seperti gambar di atas dan kami antusias melihatnya. Tapi, karena banyaknya prioritas pengembangan yang harus dilaksanakan, perbaikan kutu, dan lain sebagainya, pengembangan pengganti tema pada SLiMS bukan menjadi prioritas.

Sampai beberapa hari yang lalu, ada seorang pengembang yang menanyakan apakah pengganti tema seperti yang diperlihatkan beberapa waktu yang lalu sudah jadi. Ternyata belum, dan hampir terlupakan oleh kawan Ido Alit. Tapi siapa sangka, hari ini, pengganti tema tersebut sudah bisa dinikmati oleh pengguna SLiMS Akasia. Ya. SLiMS 8. Untuk saat ini, perubahan terbaru tersebut baru bisa dinikmati dengan langsung mengunduh ke laman pengembangan SLiMS di https://github.com/slims/slims8_akasia. Kami belum mengemas paket-paket yang dibutuhkan untuk diunggah ke slims.web.i/goslims.

Tidak sekedar mengganti tema, untuk beberapa tema yang memang bisa dikustomisasi, disediakan langsung menu "customize" sehingga pengguna bisa menyesuaikan dengan kustomisasi yang sudah disediakan. Kustomisasi tema baru tersedia untuk tema OPAC.



Nah, mau merasakan sensasinya? Silahkan unduh melalui tautan yang sudah diberikan, di atas. Selamat menikmati :).

on 28 Oct 2016 09:28 AM

27 Oct 2016



To upgrade from Ubuntu 14.10 server to Ubuntu 15.04 server, do the following steps.
Install the update-manager-core package if it is not already installed:
sudo apt-get install update-manager-core
Edit the file /etc/update-manager/release-upgrades,
sudo nano /etc/update-manager/release-upgrades
and set Prompt=normal or Prompt=lts as shown below.
# Default behavior for the release upgrader.

[DEFAULT]
# Default prompting behavior, valid options:
#
#  never  - Never check for a new release.
#  normal - Check to see if a new release is available.  If more than one new
#           release is found, the release upgrader will attempt to upgrade to
#           the release that immediately succeeds the currently-running
#           release.
#  lts    - Check to see if a new LTS release is available.  The upgrader
#           will attempt to upgrade to the first LTS release available after
#           the currently-running one.  Note that this option should not be
#           used if the currently-running release is not itself an LTS
#           release, since in that case the upgrader won't be able to
#           determine if a newer release is available.
Prompt=normal

Normal – Check to see if a new release is available. If more than one new release is found, the release upgrader will attempt to upgrade to the release that immediately succeeds the currently-running release.
LTS – Check to see if a new LTS release is available. The upgrader will attempt to upgrade to the first LTS release available after the currently-running one. Note that this option should not be used if the currently-running release is not itself an LTS release, since in that case the upgrader won’t be able to determine if a newer release is available.
As you may know, Ubuntu 15.04 is not a LTS version. So, I entered normal.
Now, it is time to upgrade your server system to latest version using the following command:
sudo do-release-upgrade -d

Follow the on-screen instructions. Reboot the server. 
on 27 Oct 2016 06:01 AM

26 Oct 2016

hakcipta logo dipegang oleh pengembang masing-masing aplikasi.

So, it happened. Malam tadi saya mencoba mengaktifkan fungsi salin katalog menggunakan layanan z3950 dan impor berkas MARC pada SLiMS 8.3 Akasia yang baru saja saya pasang dalam platform XAMPP. Ya, saya baru saja pasang ulang sistem operasi pada laptop yang saya gunakan. Saya menggunakan BlankOn X Tambora. Belum dirilis secara resmi. ISO sisop yang saya gunakan pun iso jahitan harian. Tapi tenang, sebentar lagi keliatannya BlankOn X Tambora akan rilis. Semoga. Aamiin.

Setelah selesai dengan urusan sisop, karena ini masalah pengembangan, akhirnya saya putuskan untuk menggunakan XAMPP sebagai peladen web, php, dan pangkalan data. Tujuannya supaya nggak ngegerecokin konfigurasi sistem, walaupun saya nggak ngapa2in jugak sama konfigurasi sistem. Hehehe. Biar mudah ajah sich, nggak sreg, tinggal uninstall. Remove. Selesai dan nggak pakek pusing.

Berikutnya saya coba-coba telisik apakah persyaratan untuk pasang YAZ dan MARC sudah ada di dalam XAMPP. Ternyata sudah lho. Di dalam direktori /opt/lampp/bin sudah terpasang aplikasi PECL dan PEAR yang diperlukan untuk memasang pustaka YAZ dan MARC. Kalau sudah begitu, kita tinggal pasang paket terkait supaya YAZ dan MARC bisa aktif di dalam XAMPP.

Untuk memasang aplikasi YAZ, buka terminal dan masukkan perintah berikut:

# cd /opt/lampp/bin

di dalam direktori ini, terdapat aplikasi yang kita butuhkan, PECL.

# ./pecl install yaz

Setelah kita jalankan aplikasi ini, pada mesin saya, saya menemukan galat  dengan pesan:

"Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable"

Untuk mengatasi galat tersebut, silahkan pasang paket autoconf ke dalam sistem Anda. Masih di dalam terminal, masukkan perintah:

# apt install autoconf

Tunggu proses pemasangan selesai, setelah itu, masukkan perintah:

export PHP_AUTOCONF=/usr/bin/autoconf

Selesai eksekusi perintah di atas, ulangi lagi perintah instalasi yaz. Ketika mengulang perintah pemasangan yaz, proses terlihat lancar. Namun, ternyata saya masih menemukan galat dengan pesan:

"checking for yaz-config... NONE
 configure: error: YAZ not found (missing NONE)
 ERROR: '/tmp/pear/temp/yaz/configure --with-yaz' failed"

Mengatasi pesan galat tersebut, kita harus memasang paket libyaz4-dev.

# apt install libyaz4-dev

Ketika proses instalasi paket sudah selesai, kita ulang kembali proses pemasangan pustaka yaz. Pada mesin saya, setelah saya memasang kedua paket di atas, proses pemasangan pustaka yaz berjalan dengan lancar dan diakhiri dengan menambahkan baris:

extension="yaz.so"

ke dalam berkas php.ini yang berada di dalam direktori /opt/lampp/etc. Setelah memodifikasi berkas php.ini, silahkan mula ulang peladen lampp Anda.

Gambar 1. Ketika layanan z3950 sudah aktif pada XAMPP
Selesai satu, kita lanjut ke langkah berikutnya. Memasang pustaka untuk mengaktifkan fungsi impor MARC. Proses pemasangan pustaka MARC ini relatif lebih mudah dan tanpa halangan. Masih pada terminal, dan di dalam direktori /opt/lampp/bin, masukkan perintah:

# ./pear install channel://pear.php.net/structures_linkedlist-0.2.2
# ./pear install channel://pear.php.net/file_marc-1.1.2

Gambar 2. Ketika impor MARC sudah aktif pada XAMPP

Sudah jadi khan? Selamat menggunakan XAMPP dan SLiMS. Oia, penggunaan XAMPP sebetulnya tidak disarankan untuk mesin produksi, karena desain XAMPP dari awal adalah untuk menyediakan platform yang terbuka bagi pengembangan. Jadi secara baku, segala setelan XAMPP bebas akses ketika komputer kita sudah terhubung ke jaringan komputer. Itu sich, apa yang ditulis di dalam situs apachefriends, terkait penggunaan XAMPP. Namun, kalo memang terpaksa menggunakan XAMPP, jangan lupa untuk mengamankan beberapa akses yang ada di XAMPP. Apa ajah? Baca-baca donq di situsnya apachefriends ;) atau kalo mau yang langsung jadi, silahkan unduh PSLiMS8 yang teman-teman bisa dapatkan di slims.web.id/goslims.

Selamat berkreasi, sobat!!!


Bahan bacaan:
  1. https://kence.org/2016/06/07/installing-yaz-for-php-on-ubuntu/
  2. https://goo.gl/ZcQymD



on 26 Oct 2016 05:40 AM

21 Oct 2016

Biasanya setelah menambal atau memperbarui kernel server harus di-reboot. Sebagian "aliran" Sysadmin bahwa server dengan uptime atau waktu menyala paling lama merupakan gengsi tersendiri. Sekitar tahun 2009 ada solusi setelah proses menambal atau memperbarui kernel tidak perlu reboot. Waktu itu saya mencoba KSplice dan hasilnya memuaskan. Namun beberapa waktu kemudian KSplice ini diakuisisi oleh Oracle dan saya tidak mengikuti kembali perkembangannya.

Canonical perusahaan yang menaungi Ubuntu merilis layanan serupa dengan KSplice pada sistem operasi Ubuntu 16.04 LTS dengan nama Canonical Livepatch Service. Mungkin Anda tertarik untuk mencoba untuk 3 mesin kesayangan Anda. Adanya layanan ini tentu gengsi seorang admin bisa lebih tinggi karena bisa menunjukan 1 tahun kedepan atau tahun-tahun berikutnya bisa menunjukan bahwa server Anda tidak pernah reboot

Dari sisi keamanan atau forensik digital juga menarik karena bisa menambahkan prosedur bahwa server tidak boleh reboot tanpa sepengetahuan atasan atau dengan alasan yang kuat. Jika server Anda diserang "orang jahil" paling tidak masih bisa mendapatkan jejak di RAM. Jika server Anda reboot tentu ini sudah "berat" penyerangannya. Buat saya RAM adalah petunjuk untuk menemukan harta karun dalam proses investigasi.
on 21 Oct 2016 02:31 AM

20 Oct 2016

Sebagai salah satu seller di forum terbesar Indonesia, Kaskus mungkin anda pernah menggunakan fasilitas rekening bersamanya yang diberi nama Brankas.
on 20 Oct 2016 04:41 AM

17 Oct 2016

Mulai SLiMS 8, versi portabel dari SLiMS diidekan untuk mengubah porta akses apache dan mysql. Kenapa? Karena seringkali, beberapa kali, di dalam komputer pengguna sudah ada aplikasi peladen web portabel seperti XAMPP (yang cukup populer) dan layannya dijadikan layanan baku ke dalam sistem. Dengan menjadikan layanannya baku ke dalam sistem, artinya, porta 80 yang digunakan untuk akses web, secara baku sudah diambil alih oleh peladen web portabel tersebut.

SLiMS versi portabel merupakan SLiMS yang di dalamnya sudah disediakan aplikasi peladen web dan pangkalan data. Secara baku pun, porta yang digunakan oleh peladen web SLiMS versi portabel adalah porta 80. Apa yang terjadi ketika di dalam satu perangkat (komputer) ada dua aplikasi yang menggunakan porta yang sama? Bentrok. Karena porta 80 sudah diambil sebagai layanan baku peladen web portabel lainnya, maka layanan peladen web dari SLiMS versi portabel tidak akan jalan.

Untuk mengakalinya, sehingga SLiMS versi portabel dan aplikasi apapun itu yang menggunakan peladen web portabel lainnya dapat berjalan beriringan dengan baik dan tanpa konflik, para pengembang berinisiatif untuk merubah porta yang digunakan oleh peladen web SLiMS versi portabel. Porta yang digunakan adalah 8089. Sehingga ketika pengguna ingin mengakses laman OPAC SLiMS versi portabel, pengguna harus menambahkan alamat porta 8089 ke dalam alamat akses. contoh http://localhost:8089 (silahkan sesuaikan). Selain peladen web, porta pangkalan data yang digunakan oleh MariaDB (mulai SLiMS 8 Portabel, pengembang memporting MariaDB sebagai pengganti MySQL) pun terkena perubahan. Untuk porta pangkalan data, menggunakan alamat porta 3404. 

Penggantian alamat porta ini terlihat tidak ada masalah. Untuk peladen web, semuanya dapat berjalan dengan baik. Pengguna yang menggunakan SLiMS versi portabel ini, sesuai harapan, dapat menjalankan SLiMS dengan baik walaupun di perangkat telah terpasang aplikasi peladen web portabel lainnya. Namun, ada satu dua keluhan terkait penggantian porta ini. Ada beberapa laporan bahwa SLiMS 8 versi portabel tidak bisa mensetor data ke ucs. Disinyalir ini terjadi karena porta pangkalan data yang sudah diubah. Penulis sendiri jugak mengalami masalah di dua versi SLiMS portabel (PSenayan7-Update4 dan PSenayan8-x64). Untuk PSenayan7-Update4, penulis tidak bisa masuk ke dalam pangkalan data menggunakan phpmyadmin, padahal sudah menggunakan username dan password baku. Sedangkan untuk PSenayan8-x64, penulis menemukan pesan galat seperti ini, "...no connection could be made because the target machine actively refused it." 
Pesan galat ditemukan ketika penulis mencoba untuk meningkat versi SLiMS 8 hasil pemasangan baku ke versi SLiMS 8.3 yang didapat lewat github.

Now that's odd. Proses yang dilakukan harusnya proses yang minus kesalahan, artinya harusnya tidak musti terjadi. Tapi ternyata terjadi. Cukup tricky. Di satu sisi kami harus melakukan penyesuaian, tapi ternyata masih ada yang harus dibenahi. Solusi sederhana yang saya lakukan untuk menyelesaikan permasalahan ini, sementara, adalah dengan mengembalikan kembali alamat porta yang digunakan oleh pangkalan data. Kenapa sementara, karena kasusnya pada perangkat yang saya gunakan, tidak ada aplikasi peladen portabel lainnya yang terpasang dengan layanan yang secara baku ditulis ke dalam sistem. Sehingga porta yang digunakan oleh peladen web dan pangkalan data masih bebas. Lewat konfigurasi yang ada di my.ini, saya kembalikan porta pangkalan data menjadi 3306 (PSenayan7-Update4 dimodifikasi menggunakan porta 3307, sedangkan PSenayan8-x64 dimodifikasi menggunakan porta 3404). Voila, hasilnya proses instalasi dan pemasangan kembali berjalan normal. Tapi trik saya ini bukan tanpa catatan. Apabila ada peladen web portabel lain, yang layanan pangkalan datanya dijadikan layanan baku ke dalam sistem, aplikasi peladen (MySQL ataupun MariaDB) dari SLiMS versi portabel dijamin tidak akan jalan, karena bentrok porta yang digunakan. Mau tidak mau, porta pangkalan datanya harus dikembalikan ke hasil modifikasi.

Demikian. Tulisan ini sebagai catatan dan pengingat khususnya bagi saya pribadi. Jikalau di antara pembaca memiliki solusi yang lebih cespleng, monggo, mangga, silahkan, kita bisa ngobrol sambil ngopi :).
on 17 Oct 2016 02:58 PM

05 Oct 2016

Setelah sukses mendapatkan berkas .p12 saya langsung coba di komputer bersistem operasi LinuxMint. Dari awal motivasi untuk mendapatkan tanda tangan digital supaya bisa diterapkan pada dokumen. Sesuai petunjuk +Riko Rahmada berkas .p12 di-import terlebih dahulu di Thunderbird. Jika Thunderbird belum pernah digunakan permintaan untuk setting akun bisa diabaikan terlebih dahulu. Setelah Thunderbird terbuka silakan ikuti langkah-langkah klik Preferences | Advanced | View Certificates | Your Certificates | Import | Pilih Sertifikatmu (p.12) | Masukan password.

Setelah ter-import Anda bisa memulai membuat dokumen di LibreOffice yang kemudian dibubuhkan tanda tangan digital. Caranya sederhana, setelah dokumen selesai Anda buat klik File | Digital Signature | Sign Document | Pilih sertifikat Anda | OK | Simpan. Dengan demikian dokumen yang Anda buat sudah tertanda tangan menggunakan tanda tangan digital. 

Begitu pula saat Anda gunakan untuk berkas PDF. Klik File | Export as PDF | tab Digital Signatures | Select | Pilih sertifikat Anda | Masukan informasi yang ada termasuk password yang dikirimkan saat verifikasi | Export. Untuk memastikan berkas PDF Anda telah tertanda tangan secara digital bisa menggunakan Acrobat Reader.
on 05 Oct 2016 12:15 AM

03 Oct 2016

on the boot, after installing broadcom wireless driver in linux Mint CInnamon Sarah we are stuck on boot. So bugs its on kernel, you just run your live usb or cd again. Change hostname to your hostname on local drive, open your terminal chroot to your local drive

hostname awangga
lsblk
mount /dev/sda2 /mnt
chroot /mnt

and run command :

sudo systemctl mask systemd-backlight@leds\:dell\:\:kbd_backlight.service


on 03 Oct 2016 11:45 PM

28 Sep 2016

Setiap kali Anda menggunakan perintah sudo pada Ubuntu, terminal akan secara default meminta Anda untuk memasukkan password root anda. Hal
on 28 Sep 2016 05:33 AM

01 Sep 2016

Instalasi ZFS di openSUSE Leap 42.1 Selamat!
on 01 Sep 2016 04:42 AM

31 Aug 2016

Anchor down!!!

Arif Syamsudin


make blogging beautiful. tagline-nya begitu. saya pun suka. namanya anchor-cms. bisa diunduh dari situsnya, https://anchorcms.com/.

saya kenal cms ini dari salah seorang rekan pengembang di Senayan Developers Community, mas eddy subratha. dia bilang, "coba ajah mas, bagus koq." saya pikir, bagus itu relatif. menu dan navigasinyanya sederhana. nggak seperti cms mainstream. masalahnya, pola pikir saya adalah pola pikir bekerja dengan cms mainstream. jadi, berharap dipermudah dengan menu ini, menu itu. tapi di anchor-cms ini, semuanya dibuat straight-to-the-point. sederhana.


gambar di atas adalah cuplikan dari menu administrasi anchor-cms. sederhana ya. bahkan untuk menampilkan gambar, pengguna harus meng-extend secara manual fungsi dari anchor-cms. nah, silahkan dicoba dhe. untuk memperkaya tampilan, pengguna bisa mengunduh dari laman https://anchorthemes.com/.

pembahasan pada tulisan ini adalah, ternyata tidak mudah untuk mengganti nama direktori instalasi anchor-cms ketika kita membutuhkan untuk mengganti nama direktori hasil instalasi. secara baku, direktori hasil instalasi adalah "anchor-cms". pada cms lain, drupal misalnya, ketika kita ingin mengganti nama direktori hasil instalasi drupal, kita cukup me-rename direktori drupal dengan nama yang kita inginkan untuk dimunculkan di internet. namun tidak demikian dengan anchor-cms. ada beberapa berkas yang harus kita ubah konfigurasinya agar kita tidak muncul pesan galat dikemudian ketika kita mengubah nama direktori hasil instalasi.

pertama, berkas yang harus kita ubah adalah berkas ".htaccess". di dalam berkas ini ada path yang harus diganti. baris yang harus diganti adalah baris RewriteBase. hasil baku instalasi, isi baris tersebut berisi "RewriteBase /anchor-cms." silahkan ubah "/anchor-cms" menjadi ubahan nama direktori yang kita inginkan. sebagai contoh, saya mau ubah nama direktorinya menjadi "web," jadi isinya menjadi, "RewriteBase /web." simpan berkas hasil perubahannya.

baiklah, itu yang pertama. kedua adalah, mengubah baris url yang ada di dalam berkas "app.php." berkas ini berada di dalam direktori anchor/config. baris yang perlu diubah adalah 'url' => '/anchor-cms'. silahkan ubah '/anchor-cms' menjadi ubahan nama direktori yang kita inginkan. sebagai contoh, saya mau ubah nama direktorinya menjadi "web", maka isinya adalah, 'url' => '/web'. simpan berkas hasil perubahannya.

setelah dirubah, maka waktunya membuktikan hasil modifikasi yang telah dilakukan.

nah demikian, semoga sukses ya. silahkan telusuri banyak hal tentang anchor-cms melalui mesin pencari :).
on 31 Aug 2016 12:31 PM

29 Aug 2016

Hari ini nemuin salah satu vm guest yang menggunakan os solaris 10 di vmware mengalami “intermittent” koneksinya, hal ini menyebabkan user yang akses mengalami akses yang sangat lambat dan putus-putus. Setelah dicermati, ternyata vm guest ini masih menggunakan tipe ethernet “e1000” pada settingannya. Solusinya adalah dengan mengganti tipe ethernet ini menggunakan “vmxnet3”. Cara menggantinya adalah: […]
on 29 Aug 2016 11:57 AM

26 Aug 2016

Kesan pertama kali menggunakan AnyDesk ringan dan mudah. Kesan ringan mungkin ujicobanya dilingkungan lokal. AnyDesk saat ini tersedia untuk sistem operasi MS Windows (XP, 7, 8x, 10), Mac OS, Linux (Debian/Ubuntu 32/64 Bit, dan FreeBSD. Untuk sistem operasi pada perangkat bergerak seperti iPad atau ponsel bersistem operasi Android masih dalam pengembangan.

Saya mencoba pada sistem operasi MS Windows dan LinuxMint. MS Windows tidak perlu ditanyakan lagi. Untuk mengunduh AnyDesk dapat dilihat pada http://anydesk.com/platforms. Saya memilih versi Debian/Ubuntu. Selesai mengunduh saya lanjutkan dengan installasi yang telah disesuaikan dengan arsitektur yang saya gunakan. Perintah installasi, sudo dpkg -i anydesk_2.3.6-1_amd64.deb dan untuk menyempurnakan proses installasi ketikan perintah sudo apt-get install -f.



on 26 Aug 2016 07:12 AM

18 Aug 2016

Bagaimana cara menginstall docker swarm?

Docker swarm default sudah dimasukkan kedalam versi 1.12, kebar baiknya adalah untuk konfigurasinya sangat mudah. Anda tidak perlu bersusah payah melakukan konfigurasi seperti di versi sebelum versi 1.12.

Kali ini saya akan mendemontrasikan betapa mudahnya melakukan setup docker swarm di versi 1.12, pada saat menulis ini saya menggunakan Ubuntu Xenial (16.04 LTS) dan menggunakan repository dari docker. dalam lab ini saya menggunakan lima server dengan dua sebagai manager dan tiga sebagai worker. Dalam penamaan node, sayamenggunakan nama manager-X dan worker-Y untuk menunjukkan fungsi dari node itu sendiri.

Untuk pengaturan IP, pada manager akan dibari IP 192.168.0.11 sampai dengan 192.168.0.99, dan worker akan mempunyai ip mulai dari 192.168.0.101 sampai dengan 192.168.0.254.

Sebelum melakukan konfigurasi docker swarm, silakan install docker dulu pada tulisan saya sebelumnya

Memastikan versi docker

Silakan pastikan bahwa docker anda mempunyai versi 1.12 atau lebih tinggi.

$ docker version
Docker version 1.12.1, build 23cf638

Dari hasil diatas menunjukkan bahwa docker saya adalah versi 1.12.1 sehingga pemasangan akan mudah.

atau jika anda belum memasang docker baik itu di manager maupun di worker, anda dapat menggunakan docker-machine untuk melakukan pemasangan docker-engine. Sebelumnya pastikan bahwa anda dapat login dengan seh key sehingga anda dapat melakukan login dengan passwordless

Untuk melakukan setup sshkey silakan ketik:

$ ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_ecdsa):
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/ubuntu/.ssh/id_ecdsa.
Your public key has been saved in /home/ubuntu/.ssh/id_ecdsa.pub.
The key fingerprint is:
20:96:c8:f6:5a:5c:cc:cd:8c:33:45:97:de:a3:55:61 ubuntu@localhost
The key's randomart image is:
+--[ECDSA  256]---+
|       .o ..  E. |
| . . + * ..  ..  |
|  + + O +. . .   |
| . + o +  . +    |
|    +   S  o .   |
|   o      .      |
|  .              |
|                 |
|                 |
+-----------------+

Selanjutnya silakan copy ssh key ke mesin manager dan worker dengan perintah berikut:

$ ssh-key-id 192.168.0.11

Anda akan dimintai password untuk login. silakan masukkan password dari user anda

Selanjutnya adalah melakukan pemasangan dengan docker-machine:

$ docker-machine create --driver generic --generic-ip-address=$IP-ADDPRESS \
 --generic-ssh-key ~/.ssh/$KEY --generic-ssh-user $USER manager-1

Contoh bila ingin menginstall manager-1 dengan user ubuntu dan ssh ecdsa contohnya adalah sebagai berikut:

$ docker-machine create --driver generic --generic-ip-address=192.168.0.11 \
 --generic-ssh-key ~/.ssh/id_ecdsa --generic-ssh-user ubuntu manager-1

Silakan ulangi pada manager-2 dan worker1 sampai worker-3, kemudian verifikasi dengan perintah berikut:

$ docker-machine ls
NAME		ACTIVE	DRIVER    	STATE     URL						SWARM	DOCKER    ERRORS
worker-1	-		generic		Running   tcp://192.168.0.101:2376			v1.12.1   
worker-2	-		generic		Running   tcp://192.168.0.102:2376			v1.12.1   
worker-3	-		generic		Running   tcp://192.168.0.103:2376			v1.12.1   
manager-2	-		generic		Running   tcp://192.168.0.12:2376			v1.12.1   
manager-1   *		generic		Running   tcp://192.168.0.11:2376			v1.12.1   

Memulai setup docker swarm

Untuk memulainya, silakan login di node yang bertugas sebiagai manager, dan ketikkan perintah dibawah ini:

$ docker swarm init --advertise-addr 192.168.0.11

Hasilnya:

Swarm initialized: current node (erk63hyz95hy7s1giwd0mjjmp) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-6b7ymr9y759fbtfggbh3dp2wst0vrezo2sw3dv6iz79otkdsc6-d9a8l921hjyql4mub3oh1117g \
    192.168.0.11:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

hanya itu? ya hanya itu, perintah diatas untuk membuat inisial dari docker swarm di manager.

Verifikasi dengan perintah docker info

$ docker info
Containers: 73
 Running: 0
 Paused: 0
 Stopped: 73
Images: 103
Server Version: 1.12.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 592
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null bridge overlay host
Swarm: active
 NodeID: erk63hyz95hy7s1giwd0mjjmp
 Is Manager: true
 ClusterID: 30ty62s2py73okcei9kmr95o5
 Managers: 1
 Nodes: 1

$ docker node ls
ID                           HOSTNAME            STATUS  AVAILABILITY  MANAGER STATUS
erk63hyz95hy7s1giwd0mjjmp *  manager-1			 Ready   Active        Leader

terlihat bahwa docker swarm sudah aktif meskipun hanya satu node yang aktif

Konfigurasi client

Silakan login ke manager-1 untuk mendapatkan toket manager:

$ docker swarm join-token manager
To add a manager to this swarm, run the following command:

    docker swarm join \
    --token SWMTKN-1-6b7ymr9y759fbtfggbh3dp2wst0vrezo2sw3dv6iz79otkdsc6-0ou18lotoo36mjq0e4s0apuo5 \
    192.168.0.11:2377

Silakan login ke manager-2 dan ketikkan perintah diatas:

$ docker swarm join \
    --token SWMTKN-1-6b7ymr9y759fbtfggbh3dp2wst0vrezo2sw3dv6iz79otkdsc6-0ou18lotoo36mjq0e4s0apuo5 \
    192.168.0.11:2377
This node joined a swarm as a manager.

Langkah selanjutnya adalah login ke worker-1 sampai dengan worker-3 dan ketikkan perintah yang didapat saat melakukan inisialisasi docker swarm

$ docker swarm join \
    --token SWMTKN-1-6b7ymr9y759fbtfggbh3dp2wst0vrezo2sw3dv6iz79otkdsc6-d9a8l921hjyql4mub3oh1117g \
    192.168.0.11:2377

Verifikasi swarm

Setelah melakukan testing dari semua manager dan node, silakan verifikasi dari manager dengan perintah berikut:

$ eval $(docker-machine env --swarm manager-1)
$ docker info
Containers: 6
 Running: 2
 Paused: 0
 Stopped: 4
Images: 31
Server Version: swarm/1.2.4
Role: primary
Strategy: spread
Filters: health, port, containerslots, dependency, affinity, constraint
Nodes: 5
 manager-2: 192.168.10.12:2376
  └ ID: 3KQB:C4DQ:AV46:NX7O:XN6Y:EP24:3XLH:UO4D:5N2R:SDAX:AJR6:CI3T
  └ Status: Healthy
  └ Containers: 1 (0 Running, 0 Paused, 1 Stopped)
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 8.185 GiB
  └ Labels: kernelversion=4.4.0-31-generic, operatingsystem=Ubuntu 16.04.1 LTS, provider=generic, storagedriver=aufs
  └ UpdatedAt: 2016-08-18T21:26:24Z
  └ ServerVersion: 1.12.1
 worker-1: 192.168.10.111:2376
  └ ID: VO22:NU4C:ODDV:R2TL:HVV2:2E4I:MKAW:SBRO:WWFD:T265:HPNY:JKZI
  └ Status: Healthy
  └ Containers: 1 (0 Running, 0 Paused, 1 Stopped)
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 8.185 GiB
  └ Labels: kernelversion=4.4.0-31-generic, operatingsystem=Ubuntu 16.04.1 LTS, provider=generic, storagedriver=aufs
  └ UpdatedAt: 2016-08-18T21:26:37Z
  └ ServerVersion: 1.12.1
 worker-2: 192.168.10.112:2376
  └ ID: AFYB:C2IM:Z276:RWMN:CODJ:SHKM:IFX6:POWT:VZKO:BHVS:UBAQ:QVJC
  └ Status: Healthy
  └ Containers: 1 (0 Running, 0 Paused, 1 Stopped)
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 8.185 GiB
  └ Labels: kernelversion=4.4.0-31-generic, operatingsystem=Ubuntu 16.04.1 LTS, provider=generic, storagedriver=aufs
  └ UpdatedAt: 2016-08-18T21:26:25Z
  └ ServerVersion: 1.12.1
 worker-3: 192.168.10.113:2376
  └ ID: PGC3:TJJR:GCRG:5RKA:Q4N3:LWHF:3TAO:FDD2:TY6F:DOUK:27WS:76MQ
  └ Status: Healthy
  └ Containers: 1 (0 Running, 0 Paused, 1 Stopped)
  └ Reserved CPUs: 0 / 4
  └ Reserved Memory: 0 B / 8.185 GiB
  └ Labels: kernelversion=4.4.0-31-generic, operatingsystem=Ubuntu 16.04.1 LTS, provider=generic, storagedriver=aufs
  └ UpdatedAt: 2016-08-18T20:18:37Z
  └ ServerVersion: 1.12.1
 manager-1: 192.168.10.11:2376
  └ ID: HEN3:HWX4:2XTZ:EL5B:YUK3:JUH2:YZ2N:XD77:OTPW:ZONP:UYVP:MYDG
  └ Status: Healthy
  └ Containers: 2 (2 Running, 0 Paused, 0 Stopped)
  └ Reserved CPUs: 0 / 8
  └ Reserved Memory: 0 B / 8.087 GiB
  └ Labels: kernelversion=4.4.0-21-generic, operatingsystem=Ubuntu 16.04.1 LTS, provider=generic, storagedriver=aufs
  └ UpdatedAt: 2016-08-18T21:26:45Z
  └ ServerVersion: 1.12.1
Plugins:
 Volume: 
 Network: 
Swarm: 
 NodeID: 
 Is Manager: false
 Node Address: 
Security Options:
Kernel Version: 4.4.0-21-generic
Operating System: linux
Architecture: amd64
CPUs: 24
Total Memory: 40.83 GiB
Name: 6f894401a6f4
Docker Root Dir: 
Debug Mode (client): false
Debug Mode (server): false
WARNING: No kernel memory limit support

Selamat docker-swarm telah terpasang!

Deploy service di swarm

Setelah membuat cluster swarm, kita akan mencoba membuat service di swarm. kita akan membuat nginx di cluster. Silakan login di manager-1

$ docker service create --replicas 3 --name nginx nginx

Berikut adalah hasil dari docker services diatas:

$ docker service ls
ID            NAME   REPLICAS  IMAGE  COMMAND
cp2er0hu010r  nginx  3/3       nginx  

$ docker service inspect nginx 
[
    {
        "ID": "cp2er0hu010rl0qbv0714t8pw",
        "Version": {
            "Index": 21053
        },
        "CreatedAt": "2016-08-18T22:28:01.748449495Z",
        "UpdatedAt": "2016-08-18T22:28:01.748449495Z",
        "Spec": {
            "Name": "nginx",
            "TaskTemplate": {
                "ContainerSpec": {
                    "Image": "nginx"
                },
                "Resources": {
                    "Limits": {},
                    "Reservations": {}
                },
                "RestartPolicy": {
                    "Condition": "any",
                    "MaxAttempts": 0
                },
                "Placement": {}
            },
            "Mode": {
                "Replicated": {
                    "Replicas": 3
                }
            },
            "UpdateConfig": {
                "Parallelism": 1,
                "FailureAction": "pause"
            },
            "EndpointSpec": {
                "Mode": "vip"
            }
        },
        "Endpoint": {
            "Spec": {}
        },
        "UpdateStatus": {
            "StartedAt": "0001-01-01T00:00:00Z",
            "CompletedAt": "0001-01-01T00:00:00Z"
        }
    }
]

$ docker service ps nginx
ID                         NAME     IMAGE  NODE			DESIRED STATE  CURRENT STATE          ERROR
8ihthj14i9qitl792vatmrqjj  nginx.1  nginx  worker-1		Running        Running 2 minutes ago  
48eq2nah2txv7yxthk5y3158m  nginx.2  nginx  worker-2		Running        Running 2 minutes ago  
8yv7z3bk25h7jf06yf6y9hivm  nginx.3  nginx  manager-1	Running        Running 3 minutes ago  

Nah mudah bukan? silakan dicoba

Bagaimana cara menginstall Docker-swarm was originally published by at mahyuddin on August 19, 2016.

on 18 Aug 2016 10:39 PM

16 Aug 2016

Memasang Docker di Linux

Mahyuddin Susanto

Bagaimana memasang docker engine di Linux?

Docker pada saat ini sedang naik daun dikarenakan docker sangat mudah dalam pengoperasiannya. Dalam tulisan ini akan dibahas bagaimana cara memasang Docker di Linux.

Persiapan:

  • Linux box, anda bebas menggunakan distro apa saja
  • Distro yang anda gunakan mensupport cgrups dan unionfs

Install perangkat lunak pendukung

Beberapa perangkat lunak yang perlu dipasang saat pemasangan adalah curl atau wget. untuk pemasangan, sialakan mengikuti prosedur pemasangan dari distro anda.

Contoh apabila menggunakan Debian base:

sudo apt-get update
sudo apt-get install -y curl wget

Contoh apabila menggunakan RedHat basei:

sudo yum install -y curl wget

Langkah selanjutnya adalah memasang docker, petunjuk lengkap dari pemasangan docker dapat dilihat di Dokumentasi Docker hanya saja saya jarang mengikuti prosedur tersebut karena bertele-tele :).

Untuk pemasangan docker, anda cukup mengetikkan perintah dibawah ini:

curl -sSL https://get.docker.com/ | sh

atau jika menggunakan wget

wget -qO- https://get.docker.com/ | sh

Pengaturan tambahan

Berikut adapah pengaturan tambahan untuk docker

Menambahkan account ke grup docker

Secara bawaanya, docker hanya bisa dieksekusi oleh root atau menggunakan sudo, untuk mengakalinya anda harus memasukkan account anda ke grup docker. Untuk menambahkan account anda ke grup docker silakan mengeksekusi perintah dibawah ini:

sudo groupadd docker
sudo usermod -aG docker $(whoami)

Kemudian silakan logout dan login kembali, untuk memastikan account anda silakan cek dengan perintah dibawah ini:

id $(whoami)

Penyesuaian pembatasan memory dan swap

Seringkali dalam menjalankan docker, akan menghasilkan pesan seperti dibawah ini:

WARNING: Your kernel does not support cgroup swap limit. WARNING: Your
kernel does not support swap limit capabilities. Limitation discarded.

Untuk mengatasi masalah tersebut, silakan sunting berkas /etc/default/grub dan update seperti dibawah ini

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

Bagaimana memasang docker-compose? (tambahan)

Docker compose adalah salah satu peralatan dari Docker yang saya suka. Berikut adalah cara measangan dari docker-compose

mkdir $HOME/bin
curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-$(uname -s)-$(uname -m) > $HOME/bin/docker-compose
chmod +x $HOME/bin/docker-compose

Alternatif lain

Python pip

Docker-compose dapat dipasang menggunakan python-pip, berikut adalah caranya

sudo apt-get install python-pip
pip install docker-compose

Sebagai Docker container

Docker-compose juga dapat dijalankan sebagai container. Untuk pemasangan compose, silakan ketik

mkdir $HOME/bin
curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh > $HOME/bin/docker-compose
chmod +x $HOME/bin/docker-compose

Verifikasi

Berikut adalah cara verifikasi untuk meastikan versi Docker-compose

docker-compose -v
docker-compose version 1.7.1, build 6c29830

Bagaimana memasang docker-machine? (tambahan)

Seperti docker-compose, docker machine juga peralatan pendukung untuk docker. Docker machine sangat berguna bagi anda yang ingin melakukan memanajemen docker host dari tempat lain secara remote.

berikut adalah cara pemasangannya:

mkdir $HOME/bin
curl -L https://github.com/docker/machine/releases/download/v0.7.0/docker-machine-`uname -s`-`uname -m` > $HOME/bin/docker-machine
chmod +x $HOME/bin/docker-machine

it is done, next post saya akan menulis tentang memulai menggunakan docker

Memasang Docker di Linux was originally published by at mahyuddin on August 17, 2016.

on 16 Aug 2016 11:27 PM

when you run a business then it is very important to own a custom domain associated with your company and also have email that has a custom address so as to add business credence and proffesionalism to your marketing. and this is why email hosting comes into play.

there are 2 ways to send email, by using email provider like google apps, zoho mail and others or you can just get a server and install email software like zimbra in the server. although the latter requires you to have a sysadmin that will have to standby 24/7 in managing the email server. because if you don’t monitor the server then you might miss those important email from your client and this can be troublesome.

if you used email hosting from shared IP then there is a higher degree that your email IP address might get blacklisted due to spam. and hence will get blocked when you send the email to your client’s email address. so my advice is to use trusted email hosting like google apps or zoho. I had used both of this service and they are just good. although google apps gives you much more functionalities and ask you to pay first to use it.

no matter what, email is still an important tools in delivering messages across business partners and that’s why you should invest money in using better email hosting.

 


on 16 Aug 2016 06:25 AM

30 Jul 2016


Linux Mint Community proudly announced the release and general availability of Linux Mint 18 codenamed “Sarah”. Linux Mint 18 is an LTS release, which will be supported until 2021.

What’s new in Linux Mint 18 Cinnamon

  1. Linux Mint 18 brings latest cinnamon 3.0 to your Desktop, with all its amazing features.
  2. X-Apps can be installed side-to-side to GNOME/MATE/Xfce Apps. In order to produce generic applications for traditional GTK desktop environments, “X-Apps” was started. X-Apps aims at replacing those applications that don’t tend to be adaptive. Other than that X-Apps strive to give you the same set of core applications for your Desktop Environment so that all the changes, new features, improvement are available for all the environment and not just one. Also, it enables you to use modern toolkits and technologies (GTK3, gsettings, …), traditional UI (titlebars, menubar), generic applications along with present functionalities enjoyed by users and backward compatibility.
  3. Totem, popularly known movie player and videos have been updated to 3.18.
  4. Xplayer updated to 1.0, is the default media Player for music and videos.
  5. Xed (based upon Pluma), is the default text editor.
  6. Xviewer (based upon Eye of GNOME), is the default image viewer.
  7. Xrender (based upon Atril), is the default document and PDF reader.
  8. Pix is based on gThumb, for organizing photos.
  9. Updated Update-Manager which lets you when there is newer kernel.
  10. Linux Mint 18 brings Mint Y theme. Mint-Y looks modern, Clean and professional. This theme has three variants, which are light, dark, mix of light and dark.
  11. System Improvements – apt install and apt remove now show progress output.
  12. New Commands were introduced viz., apt full-upgrade, apt edit-sources, apt-showhold, which does the same as apt dist-upgrade, apt- sources and apt held respectively.
  13. Artwork Improvement at login screen, in the default theme.
  14. Superb collection of background.
  15. Improved HiDPI support.
  16. All editions support OEM installations.
  17. Popular applications like Steam, Spotify, Dropbox were added to software center and is available for easy install.
  18. Linux Mint 18 is powered by Linux Kernel 4.4 and Ubuntu 16.04 package base.

System requirements

    1. RAM: Minimum 512 MB, Preferred 1 GB
    2. HDD: Minimum 9GB, Preferred 20 GB
    3. Resolution: 1024X768 and above

Upgrade

If you are running Beta, you may update it to Linux Mint 18 the latest stable release simply as
    • Remove samba
It was observed that Samba negatively impacted boot speed and hence it is removed from stable release. Remove samba as
# apt purge samba
  • Upgrade Linux Mint
Click on the refresh button in your update manager and apply any outstanding level 1 update.

Download Link (Choose your Nearest Mirror or Torrent)

Linux Mint Cinnamon 32 bit
Linux Mint Cinnamon 64 bit
Linux Mint Mate 32 bit
Linux Mint Mate 64 bit
Linux Mint seems to have a number of improvements and some interesting features. It would be interesting to install and test it, which we are going to do, in our next article. Till then stay tuned and connected to Unixmen. Don’t forget to give your valuable feedback in the comments below. Like and share us and help us get spread.
on 30 Jul 2016 06:23 AM

27 Jul 2016

How to delete git branch local and remote?

To delete local branch:

git branch -d branch_name

To delete remote branch:

git push origin --delete branch_name

Note: origin is a remote name, please use remote name with yours

Then, in the other machine, you can sync it with remote with:

git fetch --all --prune

Bagaimana cara membuang branch di remote dan local?

Untuk membuang local branch:

git branch -d branch_name

Untuk membuang remote branch:

git push origin --delete branch_name

Kemudian, di mesin lain anda dapat melakukan sync dengan remote:

git fetch --all --prune

This is a post to remember myself when panic

Git, Delete branch Local dan Remote was originally published by at mahyuddin on July 28, 2016.

on 27 Jul 2016 10:47 PM

I created a planet feed then there is something wrong with its RSS feed that prevent me from posting the feed in my twitter account. below is the error

This page contains the following errors:

error on line 357 at column 40: xmlParseEntityRef: no name
Below is a rendering of the page up to the first error.

turns out the cause of the error is because one of the blogs that I aggregated into has a post title with (&) ampersand. now this ampersand symbol would be allright if it was put into a post body but if you put it into a post title then the above error would come up.

it’s a bit silly that a single ampersand could have fail the whole RSS feed in planetplanet. so yeah I hope you will not put ampersand in the title of your blog posting and just put it in the post body instead.

 


on 27 Jul 2016 12:42 PM

It seems like such a long time ago that we reviewed Linux Mint 17. It was back in June 2014 that we published our thoughts on the “Qiara” release of Mint. Two years on, we’re now taking a look at its successor – Linux Mint 18 (Sarah).
Introduction
mint-1
We decided to take a good look at two releases of Mint 18. We chose to test out the MATE and Cinnamon releases. There are other options available for fans of XFCE and KDE, yet the two we tested probably remain the most popular.
Before we dive into our thoughts on how Mint 18 performs, we need to mention the most important change with this release has been the choice by developers to remove proprietary multimedia codecs from the default builds. This did initially cause a small amount of noise among Mint loyalists, but the fact remains that they can easily be installed in just a few quick key-strokes post-installation. More on this shortly. But as it remains a very minor technical set-back, we’re not going to rant on about it too much because it’s a moot point. And to be honest, there are much more interesting things to talk about with this release rather than dwelling on something minor like codecs.
mint-2
We booted our test builds without any problems. In fact, the early builds we used for testing were so stable, they were worthy of being installed on production machines. As a professional publishing organization, we probably should not be recommending you go ahead and do this, but we use this reference as an indication of just how stable it was, in the weeks prior to final release.
Our test builds were running the Linux kernel 4.4.0-21. This was without running any kind of APT update, so by the time this article makes it to press, we have no doubts you will seeing an updated kernel make its way through the repositories. Although the 4.4.0 branch is not bleeding edge, it is a stable kernel and if absolute stability is what you like in a Linux based operating system, then you will find no problems with the 4.4.0 kernel branch. If you want something a little more on the edge, you could essentially go ahead and install a more recent kernel. We’re actually running Mint 17.3 on one of our servers here in the office, which sits on top of Linux 4.6.0 and it’s rock solid. We didn’t have the resources to be testing Mint 18 with a more recent kernel, but if 17.3 stability is any kind of indication of its compatibility, we see no outstanding indications that Mint 18 would be any different. So if you’re feeling a little more adventurous, go ahead and do it and drop us an email to let us know how it runs.
MATE/Cinnamon
mint-4
The Cinnamon release was the first desktop environment that we gave a run. Our previous experience with Cinnamon was horrible and one we’d rather forget. Its performance was terrible and there were very little options for desktop customization. Admittedly, that was quite some time ago. We are pleased to now say that Cinnamon has grown up, matured and has become a very pleasant desktop environment to use with additional performance improvements to boot.
mint-5
Mint 18 has a new theme – called Mint-Y. Which is unfortunately not enabled as default. It can easily be enabled by the changing the Appearance settings. It’s a beautiful theme and we are not quite sure why the decision as made to have it as an option rather than enabled by default. In Cinnamon, the theme does not change as one. Rather the user needs to change each individual setting – Windows/Buttons/Icons etc. This is a little strange and only a small annoyance, but why the theme can not just be changed as one setting at the desktop level is a little silly, to be frank. Thankfully, things were much better in MATE. If you change the appearance to the new theme inside MATE, it changes everything at the desktop level. This is exactly as it should be.
Like we’ve stated, the theme is beautiful and we recommend you switch Mint 18 to it before you do anything else.
There’s a nice selection of stock wallpapers to choose from. Most users will probably choose their own preference for their own desktop, which is not uncommon. However, if you’re feeling lazy, there’s plenty of choice of stock images to spice up your desktop a little more.
Desktop environment performance was great in both Cinnamon and MATE. There was a slight noticeable lag when using Cinnamon compared to MATE, but that’s just us being technically picky. Most users would probably not even notice unless it was pointed out to them. So we couldn’t possibly take any points away from the Mint 18 developers for this. We commend their efforts for bringing two fantastic desktop environments to the table.
Multimedia codecs
As we mentioned at the beginning of the Review, multimedia codecs are no longer installed out-of-the-box in Linux Mint 18. Instead of complaining about this decision, just go ahead and install them by running the following command in your terminal console as soon as your new system has completed installation:
$ sudo apt-get update && sudo apt-get install mint-meta-codecs
The command above will install the most commonly required and used proprietary codecs.
mint-3
Depending on your network connection, it should be completely downloaded and installed in just a couple of minutes. One installed, you can close your terminal console and get onto more important tasks!

Downloads

Conclusion

We are really happy with the results of Linux Mint 18. Once you have switched to the new theme and installed the multimedia codecs, there’s not much left to do. Mint 18 has it all. It’s selection of software is very well thought out and leaves very little for users to worry about post-installation.
Then there is the ‘Ubuntu-factor’ that can not be ignored. Linux Mint 18 traditionally depends on its Ubuntu heritage for a majority of its packages by utilizing its software repositories, in addition to its own dedicated repository for more updated packages that don’t make their way into the Ubuntu ones. Combined, you will find that you have a extensive package selection at your fingertips – all from inside Mint 18.
Regular readers will have probably seen our recent published Review of Ubuntu 16.04 LTS. If you missed it, we can tell you that we were very disappointed with it and made the recommendation for people to jump ship in search of a good third-party distribution based on Ubuntu. If you are one of those people, then please note that we happily endorse Mint 18 as a perfect Ubuntu replacement.
If you were looking to jump the Ubuntu ship completely, then we recommend taking a look at our recent Review of Fedora 24. It’s equally as good as Mint 18 and equally worthy of your consideration.
Between Linux Mint 18 and Fedora 24, we reckon it’s exciting times in the Linux world. With the exception and onset of the boring world of vanilla Ubuntu releases, Linux feels reinvigorated and fresh once again. Jump on board, because it can only get better from here.
on 27 Jul 2016 06:15 AM

26 Jul 2016

Install RVM di Ubuntu

Mahyuddin Susanto

Install RVM di Ubuntu

Dalam keseharian, terkadang ada aplikasi yang memerlukan ruby versi tertentu. Sebagai contoh ketika kemarin saya melakukan migrasi dari wordpress ke jekyll saya memerlukan ruby minimal versi 2.0 untuk memasang jekyll. Server saya menggunakan Ubuntu 14.04 LTS, secara default Ubuntu 14.04 menggunakan ruby versi 1.9.1 sehingga saya tidak bisa menggunakan jekyll versi terakhir.

Solusi dari permasalahan ini adalah menggunakan RVM, RVM merupakan singkatan dari Ruby Version Manager yang bertugas untuk mengatur versi ruby di sebuah system, sehingga antar versi tidak salah tercampur. Hal ini mirip dengan python virtual environment.

Berikut adalah langkah-langkah cara pemasangan RVM di Ubuntu.

Persiapan

Pengaturan repository

Sebelum melakukan pemasangan, moghon pastikan jika ubuntu anda memiliki menggunakan repository yang benar. Pengaturan repository di Ubuntu dapat di cek di /etc/apt/sources.list, berikut adalah isi dari berkas /etc/apt/sources.list di system saya:

deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse

Upgrade paket ke versi terakhir

Sebelum melakukan pemasangan, alangkah baiknya bila kita melakukan update database paket dan upgrade paket ke versi terakhir, untuk itu silakan ketik perintah dibawah ini:

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

Install curl

Paket curl ini dibutuhkan nantinya untuk pemasangan RVM

:~$ sudo apt-get install curl -y

Pemasangan RVM

Setelah melakukan persiapan dasar, langkah selanjutnya adalah pemasangan RVM, pada pemasangan ini kita perlu mengimport kunci GPG dari developer RVM.

:~$ gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3

Output:

gpg: directory `/home/mahyuddin/.gnupg' created
gpg: new configuration file `/home/mahyuddin/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/mahyuddin/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/mahyuddin/.gnupg/secring.gpg' created
gpg: keyring `/home/mahyuddin/.gnupg/pubring.gpg' created
gpg: requesting key D39DC0E3 from hkp server keys.gnupg.net
gpg: /home/mahyuddin/.gnupg/trustdb.gpg: trustdb created
gpg: key D39DC0E3: public key "Michal Papis (RVM signing) <mpapis@gmail.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Install RVM

Langkah selanjutnya adalah memasang RVM

:~$ curl -sSL https://get.rvm.io | bash -s stable

Output:

Downloading https://github.com/rvm/rvm/archive/1.27.0.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.27.0/1.27.0.tar.gz.asc
gpg: Signature made Tue 29 Mar 2016 01:49:47 PM UTC using RSA key ID BF04FF17
gpg: Good signature from "Michal Papis (RVM signing) <mpapis@gmail.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 409B 6B17 96C2 7546 2A17  0311 3804 BB82 D39D C0E3
     Subkey fingerprint: 62C9 E5F4 DA30 0D94 AC36  166B E206 C29F BF04 FF17
GPG verified '/home/mahyuddin/.rvm/archives/rvm-1.27.0.tgz'

Installing RVM to /home/mahyuddin/.rvm/
    Adding rvm PATH line to /home/mahyuddin/.profile /home/mahyuddin/.mkshrc /home/mahyuddin/.bashrc /home/mahyuddin/.zshrc.
    Adding rvm loading line to /home/mahyuddin/.profile /home/mahyuddin/.bash_profile /home/mahyuddin/.zlogin.
Installation of RVM in /home/mahyuddin/.rvm/ is almost complete:

  * To start using RVM you need to run `source /home/mahyuddin/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.

# mahyuddin,
#
#   Thank you for using RVM!
#   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.

In case of problems: https://rvm.io/help and https://twitter.com/rvm_io

Setup environment

Untuk melanjutkan setup RVM, kita perlu membuat RVM kedalam environment bash. Pada beberapa case tertentu, kita harus memuat RVM pada sesi shell sebagai function. Untuk itu pastikan bahwasanya pada berkas ~/.bashrc mengandung dua baris berikut:

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

Setelah itu, load berkas ~/.bashrc kedalam sesi sekarang dengan perintah sebegai berikut:

:~$ source ~/.bashrc

Install paket dependency ruby

Untuk memasang RVM, beberapa dependency juga perlu dipasang. Untuk pemasangan nya silakan lakukan perintah dibawah ini:

:~$ rvm requirements

Output:

Checking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system.......
Installing required packages: patch, gawk, g++, gcc, make, libc6-dev, patch, libreadline6-dev, zlib1g-dev, libssl-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgmp-dev, libgdbm-dev, libncurses5-dev, automake, libtool, bison, pkg-config, libffi-dev................................
Requirements installation successful.
:~$

Memilih versi ruby

Untuk melakukan cek versi berapa saja versi ruby yang tersedia, kita dapat melakukan cek dengan perintah dibawah ini

:~$ rvm list known

Output:

# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.8]
[ruby-]2.2[.4]
[ruby-]2.3[.0]
[ruby-]2.2-head
ruby-head

Pada kali ini kita akan meenggunakan ruby versi 2.3, jika anda menginkan versi lain, pastikan bahwa versi nya ada dalam daftar.

:~$ rvm install 2.3

Output:

Searching for binary rubies, this might take some time.
Found remote file https://rubies.travis-ci.org/ubuntu/14.04/x86_64/ruby-2.3.0.tar.bz2
Checking requirements for ubuntu.
Requirements installation successful.
ruby-2.3.0 - #configure
ruby-2.3.0 - #download
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 25.1M  100 25.1M    0     0  1373k      0  0:00:18  0:00:18 --:--:-- 3681k
No checksum for downloaded archive, recording checksum in user configuration.
ruby-2.3.0 - #validate archive
ruby-2.3.0 - #extract
ruby-2.3.0 - #validate binary
ruby-2.3.0 - #setup
ruby-2.3.0 - #gemset created /home/mahyuddin/.rvm/gems/ruby-2.3.0@global
ruby-2.3.0 - #importing gemset /home/mahyuddin/.rvm/gemsets/global.gems....................................
ruby-2.3.0 - #generating global wrappers........
ruby-2.3.0 - #gemset created /home/mahyuddin/.rvm/gems/ruby-2.3.0
ruby-2.3.0 - #importing gemsetfile /home/mahyuddin/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.3.0 - #generating default wrappers........

Langkah selanjutnya adalah memastikan ruby versi 2.3 digunakan sebagai versi ruby default untuk user. Untuk melakukannya, apat mengeksekusi perintah dibawah ini:

:~$ rvm use 2.3 --default
mahyuddin@ubuntu:~$ rvm use 2.3 --default
Using /home/mahyuddin/.rvm/gems/ruby-2.3.0

Cek versi ruby

Untuk melakukan pengecekkan versi ruby yang sedang digunakan oleh sesi user sekarang, silakan ketik perintah dibawah ini dan pastikan bahwasanya output dari kedua peintah mengandung versi 2.3

:~$ which ruby
:~$ ruby --version

Output

:~$ which ruby
/home/mahyuddin/.rvm/rubies/ruby-2.3.0/bin/ruby
:~$ ruby --version
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]

Hasil dari output diatas menunjukkan bahwa ruby yang digunakan sekarang adalah versi ruby 2.3

Manajemen ruby menggunakan RVM

Cek versi ruby yang terinstall

Untuk melakukan cek versi berapa saja ruby yang sudah dipasang, silakabn ketk perintah dibawah ini:

:~$ rvm list

Output

rvm rubies

   ruby-2.0.0-p648 [ x86_64 ]
   ruby-2.1.8 [ x86_64 ]
   ruby-2.2.4 [ x86_64 ]
=* ruby-2.3.0 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

Switch ke versi ruby lain

Jika versi lain sudah terinstall, silakan gunakan perintah rvm use, contoh:

:~$ rvm use 2.2
Using /home/mahyuddin/.rvm/gems/ruby-2.2.4

:~$ which ruby
/home/mahyuddin/.rvm/rubies/ruby-2.2.4/bin/ruby

:~$ ruby --version
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux]

Bash completion

Salah satu fitur dari RVM adalah adanya fitur tab completion untuk mengaktifkan tab completion, pastikan dalam berkas ~/.bashrc anda terdapat baris berikut:

[[ -r $HOME/.rvm/scripts/completion ]] && . $HOME/.rvm/scripts/completion

Silakan dicoba

Install RVM di Ubuntu was originally published by at mahyuddin on July 27, 2016.

on 26 Jul 2016 06:46 PM

20 Jul 2016

Migrasi Ke Jekyll

Mahyuddin Susanto

Migrasi ke Jekyll

Sudah lama saya menggunakan wordpress, dan saat ini saya memutuskan untuk menggunakan jekyll. Saya memilih jekyll karena jekyll sangat cepat (karena static) dan support markdown (bahasa yang saya suka). Beberapa pertimbangan lain yang ada adalah hosting situs ini menggunakan shared hosting, jadi sangat rentan apabila menggunakan wordpress, seperti yang kita tahu wordpress adalah salah satu cms favorit untuk dijadikan target serangan. Walau sebenarnya kita bisa melakukan pencegahan, tapi saya hanya ingin pengaturan minimal untuk situs ini. CMIIW

Untuk migrasi ke dari wordpress ke jekyll pun sangat mudah dan tidak membutuhkan proses yang bertele-tele dan panjang, saya menggunakan exitwp untuk melakukan export post dan halaman ke format markdown. Kebetulan saya menggunakan Ubuntu untuk melakukan proses migrasi ini jadi tinggal mengikuti prosedur yang ada.

Migrasi Ke Jekyll was originally published by at mahyuddin on July 21, 2016.

on 20 Jul 2016 08:58 PM

17 Jul 2016

There few methods available that you can find in the Internet but the method that I like to share it’s bit different. May be, it will suitable for you.

What is the benefit of OFFLINE installation?
You don’t have to connect to the Internet when you install new application and you can distribute it easily.

In this tutorial, I use Ubuntu 14.04.

Below are the steps:

1.Clean the folder /var/cache/apt/archives
Open your linux terminal then type the command below:
$sudo apt-get clean

This command will clean all .deb file in folder /var/cache/apt/archives.
Clean the folder is important otherwise it will mixed up with the previous download application files.
For folder /var/cache/apt/archives/partial is only temporary place before files moved to archieves, so it will automatically cleaned.

2.Update the source list.
Connect to the Internet and update your package list because sometimes your application it’s not the list yet.
$sudo apt-get update

3.Download the application.
For example, you want to download nmap. Type the command below. This command only download the .deb files of the application in folder /var/cache/apt/archives, NOT install it. $sudo apt-get install -d nmap
(d = –download-only)

darklinux@darklinux:~$ nmap
The program ‘nmap’ is currently not installed. You can install it by typing:
sudo apt-get install nmap
darklinux@darklinux:~$ sudo apt-get install -d nmap
[sudo] password for darklinux:
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
libblas3 liblinear-tools liblinear1
Suggested packages:
libsvm-tools liblinear-dev
The following NEW packages will be installed:
libblas3 liblinear-tools liblinear1 nmap
0 upgraded, 4 newly installed, 0 to remove and 500 not upgraded.
Need to get 4.102 kB of archives.
After this operation, 18,3 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://id.archive.ubuntu.com/ubuntu/ trusty/main libblas3 i386 1.2.20110419-7 [183 kB]
Get:2 http://id.archive.ubuntu.com/ubuntu/ trusty/main liblinear1 i386 1.8+dfsg-1ubuntu1 [32,0 kB]
Get:3 http://id.archive.ubuntu.com/ubuntu/ trusty/main liblinear-tools i386 1.8+dfsg-1ubuntu1 [18,1 kB]
Get:4 http://id.archive.ubuntu.com/ubuntu/ trusty/main nmap i386 6.40-0.2ubuntu1 [3.869 kB]
Fetched 4.102 kB in 28s (144 kB/s)
Download complete and in download only mode
darklinux@darklinux:~$
offline installation

4.Create a folder and copy all the .deb files in it.
Goto /var/cache/apt/archives folder, copy all the .deb files to your nmap folder.
Below is the example of my applications collection.offline installation2

5.Goto nmap folder and install the package.
I suggest to install the application using dpkg (package manager for debian). From Linux Terminal, goto to your nmap folder then type the command below.
$sudo dpkg -i *.deb

darklinux@darklinux:/media/darklinux/Data300GB/01_LINUX/08-DEB COLLECTIONS for Ubuntu 14.04/nmap$ sudo dpkg -i *.deb
[sudo] password for darklinux:
(Reading database … 167847 files and directories currently installed.)
Preparing to unpack libblas3_1.2.20110419-7_i386.deb …
Unpacking libblas3 (1.2.20110419-7) over (1.2.20110419-7) …
Preparing to unpack liblinear1_1.8+dfsg-1ubuntu1_i386.deb …
Unpacking liblinear1 (1.8+dfsg-1ubuntu1) over (1.8+dfsg-1ubuntu1) …
Preparing to unpack liblinear-tools_1.8+dfsg-1ubuntu1_i386.deb …
Unpacking liblinear-tools (1.8+dfsg-1ubuntu1) over (1.8+dfsg-1ubuntu1) …
Selecting previously unselected package nmap.
Preparing to unpack nmap_6.40-0.2ubuntu1_i386.deb …
Unpacking nmap (6.40-0.2ubuntu1) …
Setting up libblas3 (1.2.20110419-7) …
Setting up liblinear1 (1.8+dfsg-1ubuntu1) …
Setting up liblinear-tools (1.8+dfsg-1ubuntu1) …
Setting up nmap (6.40-0.2ubuntu1) …
Processing triggers for man-db (2.6.7.1-1ubuntu1) …
Processing triggers for libc-bin (2.19-0ubuntu6.5) …
darklinux@darklinux:/media/darklinux/Data300GB/01_LINUX/08-DEB COLLECTIONS for Ubuntu 14.04/nmap$

Test the application:
darklinux@darklinux:/media/darklinux/Data300GB/01_LINUX/08-DEB COLLECTIONS for Ubuntu 14.04/nmap$ nmap localhost
Starting Nmap 6.40 ( http://nmap.org ) at 2016-07-17 19:33 WIB
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00063s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
631/tcp open ipp
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
darklinux@darklinux:/media/darklinux/Data300GB/01_LINUX/08-DEB COLLECTIONS for Ubuntu 14.04/nmap$

Happy trying.


on 17 Jul 2016 12:53 PM

15 Jul 2016

using ubuntu

Yakob

I had to go back to using ubuntu again in my computer desktop as my windows had been acting up. the problem started when my old graphics card died and I had to use the new one and the problem was that this new graphic card that is GT630 has a problem with its driver so when I installed the driver in windows 7 or windows XP, it just won’t work and the display is just worsened and not very smooth. even in windows 7 the screen always shows blue screen of death everytime I installed the drivers.

so yeah, in conclusion I had to let go of everything windows and now use ubuntu and as it turns out ubuntu can handle this graphic cards really well and the display is smooth and stable. I just need to learn all the command line and install necessary software for making my experience with ubuntu a lot better. beside I am also planning to use VPS in the coming days so having ubuntu will smoother the experience in managing a server as I need to adapt in using command line.

 

 


on 15 Jul 2016 06:53 AM

12 Jul 2016

KDE Neon 5.7

Fakhrul Rijal

Baru nyoba KDE Neon 5.7 yang ternyata dibangun dari Ubuntu 16.04 Xenial.
Pasang di VirtualBox dengan jatah RAM 2048megabytes.
Ternyata ruingan buangeet... 
Joss KDE.
on 12 Jul 2016 06:29 PM

11 Jul 2016

Yang perlu dipertegas dan disampaikan sebelum membuat penafsiran yang salah tentang sebuah ilustrasi dari gambar pada tulisan ini, antara lain: Mohon maaf kepada Arya Permana (10) telah meminjam fotonya; Mohon maaf kepda Orang Tua Arya Permana karena fotonya dipakai pada tulisan ini; Terima kasih pada Kompas Online atas beritanya, telah menginspirasi saya untuk berpikir dan […]
on 11 Jul 2016 06:03 PM

04 Jul 2016

have you ever wonder why indexes always start at  0 but not at 1 ?

animals = ['bear', 'tiger', 'penguin', 'zebra']
bear = animals[0]
tiger = animals[1]

You take a list of animals, and then you get the first (1st) one using 0?! How does that work? Because of the way math works, Python and other progamming languages starts its lists at 0 rather than 1.

The best way to explain why this is happening is by showing you the difference between how you use numbers and how programmers use numbers.

Imagine you are watching the four animals in our list (['bear', 'tiger', 'penguin', 'zebra']) run in a race. They cross the finish line in the order we have them in this list. The race was really exciting because the animals didn’t eat each other and somehow managed to run a race. Your friend shows up late and wants to know who won. Does your friend say, “Hey, who came in zeroth?” No, he says, “Hey, who came in first?”

This is because the order of the animals is important. You can’t have the second animal without the first (1st) animal, and you can’t have the third without the second. It’s also impossible to have a “zeroth” animal since zero means nothing. How can you have a nothing win a race? It just doesn’t make sense. We call these kinds of numbers “ordinal” numbers, because they indicate an ordering of things.

Programmers, however, can’t think this way because they can pick any element out of a list at any point. To programmers, the list of animals is more like a deck of cards. If they want the tiger, they grab it. If they want the zebra, they can take it too. This need to pull elements out of lists at random means that they need a way to indicate elements consistently by an address, or an “index,” and the best way to do that is to start the indices at 0. Trust me on this: the math is way easier for these kinds of accesses. This kind of number is a “cardinal” number and means you can pick at random, so there needs to be a 0 element.

Remember: ordinal == ordered, 1st; cardinal == cards at random, 0.


on 04 Jul 2016 04:24 PM

29 Jun 2016


After months of leaks the Meizu MX6 smartphone was unwrapped at a press conference in China earlier today.
But the also-rumoured MX6 Ubuntu Edition was (alas) nowhere to be seen.
Interestingly the specs of the device differ slightly from those in previous leaks, and benchmark charts claimed.

’10 Core Smartphone’

mx6 10 core chart
It has a deca-core processor
Let’s tackle the big selling point of this phone (for me, at least): the deca-core processor.
The inclusion of a 10-core MediaTek Helio X20 processormakes this device a veritable beast. The 10 cores are comprised of two A72s, and a pair of quad-core A53s (2 + 4 + 4 = 10). The chip has a max clock speed of 2.3GHz.
Combined with 4GB RAM (up 1GB from the 3GB rumours), a Mali T880 GPU and 32GB internal storage for starters,this handset screams convergence.
Elsewhere the MX6 has a 5.5-inch TDDI (Touch and Display Driver Integration) display, which uses the single-layer in-cell screen tech to shave more millimetres off a svelte profile (the phone is 7.25 mm thin). The phone has a display resolution of 1080 x 1920 pixels.
Meizu say the MX6 is the first phone to ship with a Sony IMX 386 sensor, which is kitted out on the rear 12-megapixel camera with f/2.0 lens.
The MX6 sports a sleek super-thin metal chassis, a front facing 5MP snapper, and the standard edition ships with the Android 6.0-based Flyme 5.2.
The 3020 mAh battery is decent, but not as promising as the 4000 mAh pack teased in pre-release leaks.
The FlymeOS-based MX6 will come in four color options: Silver, Pink, Gray and (groan) Gold. If past precedent holds expect to see the Ubuntu edition offered in just one colour.

Price & Availability

The Meizu MX6 goes on sale in China on July 30th priced at roughly $300. It’ll be a flash sale, so if you want one you’ll need to be quick.
There’s currently no definitive word as to whether the 4G LTE bands will work outside of China, so if you’re in the US or Europe and plan on importing one do keep this in mind!
You can learn more about the Meizu MX6 on the official Meizu website.
When might we see the Ubuntu version?
A little birdie tells me it is ‘coming soon’, but that’s all I know.
If you don’t want to take my word for it, keep in mind that Ubuntu OTA-13 due in late August will bring Android 6.0 BSP support – an Android version which you’ll notice this phone uses.
on 29 Jun 2016 08:49 AM