Keyboard Tweak: Remap Escape to Caps Lock

IMG_3553
Standar
Jump to How to

Sebelumnya sudah disinggung sedikit di postingan sebelumnya Vim in my life. Kali ini dibahas lebih detail. Dan saya asumsikan menggunakan keyboard dengan standard layout, bukan seperti HHKB, TREK, ataupun Kinesis.

Jadi… Kenapa di-ganti? :|

Sebelum dijawab, saya tanya dulu. Seberapa sering anda menekan tombol Escape dan Caps Lock ? :/ Nah loo… Bisa jawab nggak?

Hmm… kalau saya sih sangat jarang memanfaatkan fungsi Caps Lock, dan lebih sering memanfaatkan fungsi Escape. Setau saya Caps Lock ini hanya untuk membuat huruf menjadi upper case, yang mana hal itu bisa digantikan dengan tombol Shift.

Dan juga, tombol Caps Lock ini lebih besar ukurannya dan lebih mudah dijangkau oleh jari daripada Escape.

So, karena dua asalan itulah saya pikir lebih baik juga tombol ini bertukar tempat. Atau, malahan fungsi Caps Lock dibuang aja ya? :/

Saya akan bahas caranya untuk Mac OS X, Linux dan Windows.

How to

 

Mac OS X #

Untuk OS X, gunakan Seil yang bisa di-download dari sini https://pqrs.org/osx/karabiner/seil.html.en

Klik “Change the caps lock key”

Screen Shot 2014-10-09 at 15.05.27

Baca instruksi warna orange.

Screen Shot 2014-10-09 at 15.15.41

Buka “System Preferences”, “Keyboard”, tekan tombol “Modifier Keys…” di kanan bawah.

Screen Shot 2014-10-09 at 15.06.47

Ganti “Caps Lock” menjadi No Action

Screen Shot 2014-10-09 at 15.07.08

Kembali lagi ke Seil. Ganti key code menjadi 53.

Screen Shot 2014-10-09 at 15.15.41

 

Linux #

Di Linux ada banyak cara. Tergantung pakai desktop environment-nya. Bisa dengan menggunakan dconf-editor atau gnome-tweak-tool. Tapi cara yang saya gunakan dengan menggunakan Xmodmap. Perlu diingat, cara ini hanya berjalan diatas XServer. Jadi tidak bisa digunakan di tty.

Xmodmap

Buat file baru ~/.Xmodmap (sebenernya nggak harus ini sih). Isi dengan

"keycode 9 = Caps_Lock NoSymbol Caps_Lock"
"keycode 66 = Escape NoSymbol Escape"

Lalu jalankan xmodmap

xmodmap ~/.Xmodmap

Tada… Caps Lock dan Escape sudah bergantian tempat.

Jangan lupa tambahkan ke startup. Bisa itu di startup session atau di file yang di-initialize saat anda login seperti ~/.bash_profile, ~/.zprofile, ~/.config/fish/config.fish.

 

Windows #

Gunakan AutoHotkey yang bisa di-download disini http://ahkscript.org/download/. Pilih aja yang installer kalau bingung.

Setelah instalasi selesai, jalankan AutoHotkey. Nanti akan muncul di system tray seperti ini.

10-10-2014 1-49-41 AM

Klik 2x, atau klik kanan open. Akan muncul seperti ini.

10-10-2014 1-50-09 AM

Klik File, pilih “Edit Script”

10-10-2014 1-50-44 AM

Buat script seperti ini

Capslock::Esc
Esc::Capslock
SetCapsLockState, off
Suspend On
Send, {ESC}
Suspend Off
return

Save, lalu Reload.

10-10-2014 1-51-33 AM

Sekarang, tombol Caps Lock dan Escape sudah berganti posisi.

Jika ingin setiap kali log in AutoHotkey ini jalan, cukup masukkan AutoHotkey ke startup folder.

10-10-2014 1-55-00 AM

That’s it… Mungkin diawalnya akan kesulitan. Biasa itu… sama seperti kali pertama naik sepeda atau berenang. Tapi setelah beberapa jam, atau mungkin hari, anda akan terbiasa dan merasakan nikmatnya :p

Hohohohooo :O

Trik Instalasi Vagrant Box

vagrant-cloud-laravel-homestead
Standar

Ntah kenapa setiap kali mau install homestead melalui vagrant box add laravel/homestead sangat lambat. Padahal ukuran file hanya berkisar 755 MiB (v0.2.0). Jadi solusinya paling mudah adalah download manual dari http://cabinet.laravel.com/homestead-0-2-0.box.

Setelah selesai download, add secara manual dengan

vagrant box add homestead-0-2-0.box

Tetapi dengan cara itu versi homestead akan dianggap versi 0. Kita tidak bisa menggunakan parameter --box-version kalau install box secara manual.

Screen Shot 2014-10-06 at 18.39.17

Bandingkan dengan Ubuntu box dibawahnya yang ada versinya. Jika versinya ini 0, akan kesulitan jika kita mau menggunakan beberapa versi Homestead. Bisa saja sih kita ubah namanya. Misalnya menjadi laravel/homestead-0-2-0 atau hanya homestead-0.2.0 tanpa nama vendor, dengan cara menambahkan parameter --name. Tapi… euuyyhh @,@

So, solusinya adalah install box dari Vagrant Cloud dengan cara

vagrant box add laravel/homestead

Tunggu kira-kira mulai proses download, lalu cancel dengan Ctrl+C.

Cek directory ~/.vagrant.d/tmp. Disitu ada file temporary baru box77efe8fc4223b8475e871defc7c83573aea72b50.

Copy file homestead-0-2-0.box ke ~/.vagrant.d/tmp/box77efe8fc4223b8475e871defc7c83573aea72b50.

Misalnya di sistem saya

cp ~/Downloads/homestead-0-2-0.box ~/.vagrant.d/tmp/box77efe8fc4223b8475e871defc7c83573aea72b50

Lalu lakukan lagi proses install box melalui Vagrant Cloud.

vagrant box add laravel/homestead

Tada…!! Langsung 100% :p

Screen Shot 2014-10-06 at 18.50.37

Dan sekarang, cek dengan

vagrant box list

Ngahahahaa… :v

Screen Shot 2014-10-06 at 19.03.52

How to Setup Dvorak-Qwerty Keyboard Layout on Mac OS X, Linux and Windows

dvorak-love-qwerty
Standar
If you don’t understand what I’m talking about, use this link Translate from Indonesian language to English.

 

Jump to How to

Anda tau Dvorak? :?

Hmm… Kalau belum tau, baca dulu Dvorak dari Wikipedia atau baca komiknya http://www.dvzine.org/zine/01-toc.html.

Oke, gimana caranya mengubah keyboard layout menjadi Dvorak?
Mudah! Cukup ganti aja. :|

Tapi bagaimana mau ganti jadi Dvorak-Qwerty?
Nggg… nganu… Btw, apa itu Dvorak-Qwerty? :/ :?:

Dvorak-Qwerty adalah keyboard layout yang menggunakan Dvorak. Tetapi saat menekan tombol tertentu seperti Shift, Ctrl, akan berubah menjadi Qwerty. Ini sangat-sangat membantu, karena kebanyakan orang sudah sangat familiar dengan shortcut-key di Qwerty.

Misalnya untuk undo, anda biasa menekan Ctrl+Z. Tetapi jika menggunakan Dvorak posisi huruf Z ini ada di /. Begitu pula dengan tombol lain seperti Ctrl+C, Ctrl+X, Ctrl+V, di dvorak anda menekan Ctrl+I, Ctrl+B, Ctrl+. Yikes :'(

Untuk itulah gunanya Dvorak-Qwerty. Tangan anda tetap dimanjakan dengan Dvorak, dan shortcut-key dari Qwerty.

Jadi gimana caranya? Berikut cara menggunakan Dvorak-Qwerty pada Mac OS X, Linux dan Windows.

# Mac OS X

Di Mac OS X, mengubah keyboard layout ke Dvorak-Qwerty sangat-sangat mudah. Cukup masuk ke System Preferences, Keyboard, Input Sources, tekan tombol + di kiri-bawah, cari Dvorak-Qwerty, Add. Done!

Detailnya bisa dilihat pada screenshot dibawah ini.

Mac OS X system preferences keyboard spotlight Mac OS X keyboard input source preferences Mac OS X add keyboard layout

# Linux

Di Linux anda bisa menggunakan https://code.google.com/p/dvorak-qwerty/

Caranya download dvorak-qwerty dari link di atas, atau pakai yang sudah saya fork di GitHub.

wget https://raw.githubusercontent.com/mul14/dvorak-qwerty/master/unix/xdq.c
gcc xdq.c -o xdq -std=gnu99 -O2 -lX11

Selanjutnya anda tinggal menjalankan file output xdq. Anda bisa coba melalui terminal, atau masukkan ke startup session.

# Windows

Di Windows XP, Vista, 7, 8, anda bisa menggunakan http://sourceforge.net/projects/dvorakqwerty. Saya belum pernah coba di Windows Server. Tapi seharusnya bisa karena link diatas itu dibuat dari MSKLC. Anda bisa mendapatkan informasi MSKLC disini http://msdn.microsoft.com/en-us/goglobal/bb964665.aspx.

Alternatif lain anda bisa menggunakan https://code.google.com/p/dvorak-qwerty/. Untuk yang ini saya belum coba di Windows.

Screenshot di Windows 8.1 Pro with Media Center

Dvorak-Qwerty on Windows 8.1 Pro with Media Center

Conclusie

Mengaktifkan Dvorak-Qwerty tidaklah sulit. Dengan menggunakan Dvorak, tangan dan jari-jemari anda akan sangat berterima kasih kepada anda karena telah dimanjakan. ^^’

Dengan latihan yang intensif, otot anda akan terbiasa (baca: muscle memory) dan meningkat produktifitas anda dalam mengetik, terutama coding. :o

Punya informasi lain mengenai Dvorak Qwerty? Langsung aja share di kolom komentar. ;)

Update
Barusan nemu ini http://msol.io/blog/tech/2014/03/26/dvorak-qwerty-on-mac-windows-and-linux/
Dan ternyata ada yang jualan keyboard khusus dvorak disini http://matias.ca/dvorak/ :/

Vim in my life ❤️

I Love VIM
Standar

I ❤️ vim!! Terutama dengan key binding-nya. Sangat-sangat nikmat. 😍

Berapa lama anda mengetik dengan menggunakan keyboard? Keyboard disini maksudnya keyboard laptop atau PC. Bukan swipe keyboard seperti di Android 😓. Saya hampir setiap hari mengetik. Ntah itu mengetik status, jawaban dan pertanyaan di forum, atau membuat code.

Dulu seringkali pergelangan tangan saya sakit karena harus pindah posisi tangan. Mungkin itu yang disebut gejala carpal tunnel syndrome karena melakukan gerakan tangan ringan dan berulang-ulang. Misalnya menggeser posisi tangan ke mouse supaya bisa meng-klik sesuatu. Menggeser tangan untuk menetak arrow key. Menekan tombol PageUp, PageDown, Home, End, Delete. Well, saat menekan tombol-tombol itu, saya harus mengangkat tangan, atau menekukkan tangan supaya bisa menekan tombol tsb. Tapi setelah mengenal vim dan membiasakan muscle memory saya dengan vim, saya dapat meminimalisir gerakan tangan yang tidak perlu.

Bahkan saya menggunakan vim key binding saat browsing. Dengan Chrome/Chromium saya menggunakan Vimium. Jika menggunakan Firefox, saya pakai Vimperator.

Di editor seperti Sublime Text, LightTable, Atom, JetBrains IDE, NetBeans, dll juga ada vim mode.

Juga saat menggunakan shell seperti bash dan zsh, saya menggunakan vim mode. Di bash, tambahkan ini di ~/.inputrc

set editing-mode vi

Di ZSH, cukup dengan menjalankan command bindkey -v

Saya bahkan mengganti tombol Esc menjadi Capslock 😊. Tentu pengguna vim paham karena seringkali harus menekan tombol Esc. Dan selama menggunakan komputer saya sangat-sangat jarang sekali menggunakan tombol Capslock. Untuk huruf besar dan kecil, cukup menggunakan Shift-key. Karena tombol Capslock ini besar, sangat mudah dijangkau dan berada di home row, saya ganti saja dengan Esc.

Untuk mengganti tombol Capslock menjadi Esc, di Mac OS X, saya menggunakan Seil. Di Linux, cukup menggunakan Xmodmap. Dan di Windows menggunakan AutoHotkey.

Sebenarnya ada dua hal lagi untuk memanjakan jari dan tangan anda, selain vim. Pertama adalah menggunakan keyboard yang bentuknya ergonomis. Dan yang kedua ini masih terus saya pelajari dari dulu dan belum lulus 😅. Apa itu? DVORAK keyboard layout!!

Agak berbeda memang saya belajar menggunakan vim dan dvorak. Saat menggunakan vim, saya efektif menggunakannya dalam 3 bulan. Sehingga muscle memory saya terlatih. Tapi pas belajar dvorak, nggak pernah bisa efektif lebih dari satu hari 😭. Hmm… mungkin nanti dibahas mengenai dvorak+vim.

Rencananya mau bikin video tutorial yang bahas vim. Tungguin aja 😜.

Perkalian, Obat dan Wikipedia Indonesia

Perkalian - Wikipedia bahasa Indonesia, ensiklopedia bebas
Standar

Ini bahas tentang perkalian anak kelas 2 SD yang sedang heboh. Tapi bukan fokus pada guru dan si murid. Tapi orang yang menganggap matematika murni dengan resep obat itu sama, seperti minum obat 3×1 hari.

Orang-orang yang beranggapan minum obat itu sama dengan matematika, kebanyakan info Perkalian itu bersumber dari Wikipedia Indonesia. Bukan yang berbahasa inggris. Yang mana kalau kita lihat disitu, ada tanda belum terperiksa. Kebetulan kemarin sempat ambil gambarnya sebelum bagian obat-nya dihilangkan.

Perkalian - Wikipedia bahasa Indonesia, ensiklopedia bebas

Jadi tingkat valid-nya masih dipertanyakan. Anda tau sendiri kontributor Wikipedia bisa siapa saja. Bahkan anonymous sekalipun bisa berkontribusi di Wikipedia. Jadi bisa saja isinya salah. Saya juga tidak tau ada atau tidaknya expert dari Indonesia yang berkontribusi di Wikipedia.

Saya tidak melihat contoh obat ini di Wikipedia yang berbahasa inggris. Dan yang Bahasa Indonesia penjelasannya tidak sedetail versi inggris. Referensi luarnya juga minim.

Intinya yang mau saya sampaikan perkalian 3×1 itu berbeda dengan minum obat 3×1 hari.

Mungkin sebaiknya resep obat itu diganti aja tulisannya. Misalnya 3×1 hari berarti 24/3, artinya minum obat setiap 8 jam sekali. Jadi diresep obat tulis aja “Setiap 8 jam sekali” agar tidak ambigu.

SQLite di SessionBuddy Error :'(

Error di SessionBuddy
Standar

Malam ini begitu dingin… Halah!!

Jadi gini… ntah kenapa tiba-tiba SessionBuddy error. Icon-nya berubah menjadi warna merah. Ada error message seperti ini:

Date: Mon Sep 22 2014 01:48:34 GMT+0700 (WIB); 
Platform: Linux x86_64; 
OS: UNIX; 
User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36; 
Language: en-US; 
SB Version: 3.2.9; 
Source: 1103948101; 
Code: 11; 
Message: Failed to execute 'openDatabase' on 'Window': unable to open database, failed to start transaction (1546 disk I/O error)
Stack Trace: Error
 at Object.SbUtil.SbUtil.saveSessionTransactions (chrome-extension://edacconmaakjimmfgnblocblbcdcpbko/js/sbUtil.js:145:37)
 at chrome-extension://edacconmaakjimmfgnblocblbcdcpbko/js/background.js:177:12

Dafuq is that? :O
Karena data yang saya simpan di SessionBuddy cukup banyak (96 session yang disimpan), gimana caranya saya harus perbaiki ini.

Singkat cerita search sedikit, ternyata ini error message berhubungan dengan SQLite. Yup, karena ini Chrome extension, hal yang wajar kalau menggunakan SQLite.

Saya cari dimana file database ini disimpan. Chrome extension punya unique ID. Misalnya untuk SessionBuddy ID-nya adalah edacconmaakjimmfgnblocblbcdcpbko. Jadi tinggal saya cari di ~/.config/google-chrome, dan dapat /home/mul14/.config/google-chrome/Default/databases/chrome-extension_edacconmaakjimmfgnblocblbcdcpbko_0. Di dalam folder itu ada satu file yang berukuran besar. Untuk memeriksa file itu adalah SQLite database atau bukan di Linux, sangat mudah. Cukup masukkan perintah file 1. Boom, terlihat dengan jelas SQLite 3.x database.

Check file type

Langsung saja cari cara bagaimana memperbaiki file sqlite yang corrupt. Ketemu info di FAQ. Pertama backup dulu file yang rusak. Lalu masuk ke database dengan menggunakan sqlite3 1, dan periksa dengan pragma integrity_check;. Hmm, katanya OK, tapi tetep error :/

Lalu coba dump ke file baru
echo '.dump'|sqlite3 1|sqlite3 hasil-dump

Ganti file hasil-dump menjadi 1. Dan tadaaa!!! :D SessionBuddy sudah normal. Belum tau kalau mungkin ada kehilangan data. At least, saya bisa liat disitu ada 96 sessions yang disimpan dan 57 session sebelumnya ;)

Cara Install Yii2

yii
Standar

Oke, ini sudah menjadi draft lama banget -_-. Dari Yii Mei tahun lalu pada saat Yii2 public preview di-release. Karena sekarang bisa pake composer create-project, jadi tulis ulang deh.

First, you need composer. It’s the future of php. So, grab it from http://getcomposer.org/

Lalu create project baru.

composer create-project yiisoft/yii2-app-basic [folder baru] --prefer-dist -s dev

Sebenarnya Yii2 menyediakan dua template/skeleton untuk starting a project. Yaitu basic dan advanced. Untuk belajar, coba-coba atau project kecil-kecilan, basic lebih dari cukup.

That’s it…