Git lagi

Intro

Sebenarnya sudah banyak situs ataupun blog yang membahas mengenai “GIT” ini, jauh lebih lengkap dan berwarna #halah. Tapi berhubung saya sering lupa, dan beberapa bookmark saya menguap entah kemana maka saya putuskan untuk menulis apa yang saya anggap penting *yng sering kepake maksudnya*

Ilustrasi

Mari kita sedikit berimajinasi terlebih dahulu, *misal* Sule Steven sekarang sedang skripsi. Akhirnya dia sekarang lanjut ke pengerjaan bab 3. Sule Steven sudah mantap dengan apa yang dikerjakannya, datanglah di pagi yang cerah ia ke ruang dosen pembimbing. Setelah bimbingan sekitar 45 menit 23 detik, Sule Steven keluar dengan riang karena telah mendapat beberapa pencerahan dan masukan dari sang dosen. Pulang ke rumah dengan semangat berapi api, Sule Steven merevisi hasil bab 3-nya tidak lupa Sule Steven membackup file-nya terlebih dahulu, dengan nama “bab3-ori.doc”. Setelah hampir 1/3 malam dihabiskan Sule Steven baku hantam dengan bab 3-nya, Sule menge-save dengan nama “bab3-ori-revisi1.doc”. Keesokan harinya, Sule bimbingan lagi, pukul 09:30 dan lagi lagi pak dosen mencorat coret hasil begadang Sule semalam tadi. Pulang bimbingan, istirahat sebentar dan Sule mulai merevisi lagi, baku hantam lagi dengan word editor kesayangannya dan akhirnya beres juga, tak lupa Sule save terlebih dahulu sebelum tidur dengan nama “bab3-ori-revisi2.doc”. Ternyata hari hari berikutnya diisi dengan revisi, revisi dan revisi hingga file terakhirnya pun bernama “bab3-ori-revisi12-semangat.doc”. Lalu tetiba sang dosen minta k Sule untuk mengembalikan bab 3-nya ke 3 hari yang lalu dan memberi sedikit comment, begitu seterusnya @_@ Efektifkah ?
Oke oke, mungkin ilustrasinya sedikit *klaim* berantakan, coba lihat gambar di bawah ini. ūüėÄ

revisi looping ūüėÄ

Keuntungan

Lalu apa keuntungan dari git itu sendiri ? Menurut narasumber , git itu “Makes your life easier” mari kita sama sama ucapkan banyak terima kasih ke Bapak Linus Trovald #ThanksBeratsPak. Cuman itu ? Bisa lebih spesifik masbro ? Oke oke, tenang. Ini ada beberapa keuntungan dari menggunakan git

  1. Data redundancy and replication — Since there are multiple full repositories on multiple machines (instead of one central repository), the risk of project loss due to server failure or some other catastrophe is much lower.
  2. High availability — Server down? Network down? No problem. Work in your repo (commit, view history, branch, etc) to your heart’s content. Try that with Subversion!
  3. Only one .git directory per repository — Versus a .svn in every subfolder, which, as you may know from painful personal experience, can lead to problems.
  4. Superior disk utilization and network performance
  5. Properties such as ignores are much easier to manage than in Subversion
  6. Collaboration Friendly — Git makes it easy to collaborate on projects with groups of contributors. And with great services like Github, Git’s collaboration friendliness is even further magnified.
  7. Not just for code! — Git is great for all sorts of projects, not just hacking code. For example, all of Gitology’s written content is managed with Git, not just it’s code.

Cheatsheet

git config –global user.name “” : untuk mengkonfigurasi nama user
git config –global user.email “<email@domain.com>” : untuk mengkonfigurasi email user
git add path/to/file : untuk menambahkan file ke staging area
git commit -m ‘Pesan’ : untuk mengirimkan file dari staging area ke project history
git status : untuk menampilkan file-file yng modified
git log : untuk menampilkan history commit-an secara full
git log –author=Ahmad –oneline –after={tanggal} : untuk menampilkan history dengan parameter tertentu
git checkout : untuk mengembalikan file to old version / sebelum di edit
git reset –soft commit : untuk undoing commit k versi commitan yng keberapa(terserah), tanpa merubah file modified nya
git reset –hard HEAD : untuk undoing commit versi extreme, file2 yang modified juga ikutan hilang #dooh!
git rm –cached /path/to/file : untuk remove index file dari stage, tanpa meresetnya (undoing git add)
git branch : untuk mengetahui lagi berada di branch mana.

#cmiiw #MelawanLupa
Semoga bermanfaat ūüėÄ

Referensi:

http://software.endy.muhardin.com/aplikasi/pemakaian-git-sehari-hari/

Advertisements

Tutorial grep

Sering lupa, reblog dulu biar ga lupa ūüėÄ

Perjalanan Belum Usai

Perintah grep mencari baris dalam sebuah file yang mengandung string/kata-kata yang dicari. By default, grep menampilkan baris-baris yang match dengan string yang dicari. Gunakan grep untuk mencari baris-baris text yang match satu atau banyak regex (regular expression).

Syntax Grep

grep ‚Äėkata‚Äô namafile
grep ‚Äėkata1 kata2‚Äô namafile
cat namafile | grep ‚Äėkata‚Äô
<perintah linux> | grep ‚Äėkata‚Äô
<perintah linux> <option> | grep ‚Äėkata‚Äô

Grep untuk pencarian dalam file

Mencari baris-baris yang memiliki string ‚Äėboo‚Äė dalam file /etc/passwd

Pencarian kata dengan tidak menghiraukan case string, misalnya boo,  Boo, BOO dapat dilakukan dengan menggunakan option -i

Recursive grep

Kita dapat melakukan pencarian recursive, misal membaca setiap file dibawah direktori /home/akhmad/folder1 untuk mencari sebuah string ‚Äúboo‚ÄĚ. Hal ini dapat dilakukan dengan menambahkan option -r.

View original post 134 more words

Install version control system GUI di ubuntu 13.10

Bagi pengguna sistem operasi Weendows dan version control Subversion mungkin telah mengenal aplikasi Tortoise Svn, sebuah aplikasi GUI yang memudahkan user untuk menggunakan subversion entah itu untuk keperluan add, commit, checkout dll, juga integrasinya dengan windows explorer yang (lagi-lagi) memudahkan user untuk mengetahui file atau folder mana saja yang sudah dimodifikasi ataupun belum karena ada indikatornya yaitu tanda pada file / folder yang berwarna merah atau hijau seperti gambar dibawah ini.

Dan bagi pengguna Linux khususnya Ubuntu serta menggunakan version control mungkin lebih nyaman versioning-nya dengan mengetikkan command di terminal ūüėÄ Tinggal kutak ketik lalu enter, tidak perlu klak klik mouse. Tapi ada beberapa user yang belum terbiasa dengan kondisi kondisi tersebut atau barangkali masih beradaptasi (seperti saya) dengan sistem operasi maupun version control-nya, mungkin *jreng jreng* RabbitVcs bisa menjadi alternatif untuk memudahkan proses add, commit, update projek kita ke server dengan tampilan dan fitur fitur yang menyerupai dengan TortoiseSvn di Weendows.

Lalu apa itu RabbitVcs? Kalo liat dari situs nya langsung, ‚ÄúRabbitVcs is a set of graphical tools written to provide simple and straightforward access to the version control systems you use. We provide multiple clients and extensions designed to give you a uniform experience no matter what development tools you use‚ÄĚ. Sudah jelas kan pengertian dan kegunaannya. RabbitVcs dapat diunduh langsung di : http://wiki.rabbitvcs.org/wiki/download atau bisa juga diinstall melalui terminal dengan mengetikkan beberapa command :

$ sudo add-apt-repository ppa:rabbitvcs/ppa
$ sudo apt-get update

ada beberapa pilihan untuk installasi nya, diantaranya : rabbitvcs-cli,rabbitvcs-gedit, rabbitvcs-nautilus3 ,rabbitvcs-core,rabbitvcs-nautilus,rabbitvcs-thunar. Install sesuai kebutuhan, karena saya hanya membutuhkan untuk menampilkan indikator di file explorer dan juga di terminal, maka saya hanya menginstall rabbitvcs-nautilus dan rabbitvcs-cli saja.

$ sudo apt-get install rabbitvcs-core rabbitvcs-nautilus rabbitvcs-cli

Setelah terinstall, maka otomatis file explorer (nautilus) kita terintegrasi dengan Rabbitvcs. Cara penggunaannya cukup mudah, tinggal klik kanan maka akan muncul pilihan dari Rabbitvcs-nya. Daaan Rabbitvcs siap digunakan ūüėÄ

Rabbitvcs juga mendukung version control system lainnya, seperti Git. Oia, untuk menggunakan rabbitvcs-cli, tinggal buka terminal lalu tinggal ketikkan rabbitvcs <command>. Contohnya :

$ rabbitvcs log /path/to/file.extension

Semoga bermanfaat and keep learning ūüėÄ

HeidiSQL alternative for Linux

(Alternative) GUI for MySQL in Ubuntu ūüėÄ

Innovate or Die

Aside from Netbeans, an SSH client and a good text editor,  a  good database manager always comes in handy when developing apps.

I’ve been using HeidiSQL  previously to manage my MySQL databases when my laptop was on XP, in its current incarnation as a Fedora 15 development machine, I’ve been hard pressed looking for an alternative, HeidiSQL on Wine is simply unusable.   I had to content myself with MySQL’s WorkBench Tool.   WorkBench is free but I find the interface clunky.

Then I ran into DBeaver, its a Java app that has the familiar interface of HeidiSQL with the added difference that it works across platforms (of course).  Plus, unlike HeidiSQL which can only connect to MySQL (although I understand there’s work in making it work for MS SQL too),  DBeaver can also connect to other popular RDBMS:  Oracle, Cache, DB2, Firebird, Derby, H2, HSQLDB, MS SQL, Postgres…

View original post 98 more words

Install Balsamiq On Ubuntu 13.10

Hello, firstly i would say thanks for visiting ūüėÄ hahaapasih

Oia kali ini saya mau share cara install Balsamiq di ubuntu 13.10. “Apa itu Balsamiq?” bisa dicari di google. hhe

  1. Download terlebih dahulu installernya di http://balsamiq.com/download/ sesuaikan dengan kebutuhan (32bit/64bit).
  2. Download Adobe Air for Linux bisa dengan menjalankan perintah.
    wget http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRInstaller.bin

    Setelah file berhasil terdownload, ubah permission-nya agar bisa dieksekusi dengan menggunakan perintah :

    $ sudo chmod a+x AdodeAIRInstaller.bin

    Jalankan file tsb dengan perintah:

    $ ./AdobeAIRInstaller.bin

    Karena saya menggunakan 64bit, maka muncul error “error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory“.
    Saya coba install “ia32-libs-gtk” dengan perintah :

    $ sudo apt-get install ia32-libs-gtk

    dan lagi-lagi muncul error:

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Package ia32-libs-gtk is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    
    E: Package 'ia32-libs-gtk' has no installation candidate

    Setelah googling, akhirnya menemukan link yang bermanfaat http://wiki.phoenixviewer.com/ia32-libs-in-ubuntu-13-10 :D. Ikuti petunjuk disana, dan tadaaaa~ :tiupterompet: “ia32-libs-gtk” bisa diinstall di laptop \m/

  3. Bahan-bahan sudah lengkap, sekarang install kembali Adobe Air-nya “./AdobeAIRInstaller.bin“. Jika semuanya lancar maka akan muncul seperti gambar berikut ini:
    adobeAir
    adobeAirFinish
    ikuti instruksinya sampai selesai.
  4. Langkah terakhir adalah dengan menginstall Balsamiq, jangan lupa ubah permission untuk eksekusinya “e.g: sudo chmod a+x file-exe-Balsamiq.deb“. Jalankan file eksekusi tsb dengan perintah “./file-exe-Balsamiq.deb“. Dan jika lancar dan tidak ada hambatan lagi, maka Balsamiq sudah terinstall di Ubuntu 13.10.
    Screenshot from 2013-12-16 10:59:48
    balsamiq

ref: http://www.randomhacks.co.uk/how-to-install-balsamiq-mockups-on-ubuntu-13-04/

— UPDATE —

Setelah upgrade Ubuntu 14.04, tetiba Balsamiq ga bisa tampil karena Adob3 Air nya bermasalah ūüė¶ Browsing-browsing dan akhirnya bisa kembali dibuka nih mockup tool ūüėÄ

Type command :

$ sudo apt-get install libgtk2.0-0:i386
$ sudo apt-get install libnss3-1d:i386 

 

ref:

#enjoy #SemogaBermanfaat ūüėÄ

BBM-an di Ubuntu

Sejak pemberitaan bahwa BlackBerry Messenger akan dirilis untuk Android. Masyarakat pecinta gadget tampaknya sangat antusias menanggapinya. Walaupun sempat terjadi kendala dari pihak BBM di Canada sana. Namun akhirnya BBM sekarang dapat dicicipi di Android. #intro #KataPengantar ūüėÄ

Ada beberapa syarat untuk dapat menginstall BBM di Android, salah satunya OS harus (minimal) Ice Cream Sandwich. Daaan, hape yang saya punya berada dibawahnya, yaitu GingerBread. :biasaaja:

Setelah searching dan dapat rekomendasi dari teman, ternyata BBM bisa di install di laptop/PC. Hingga akhirnya saya menemukan link berharga ini : Cara Install Blackberry Massenger BBM di PC / Laptop #halah. Di thread tersebut dijelaskan aplikasi apa saja yang harus di sediakan, diantaranya VirtualBox, Genymotion dan Android SDK. Pada thread tersebut pula, sudah tersedia link-link untuk mengunduhnya, serta tata cara installasi untuk OS Windows’X’ . Karena saya tidak memakai OS WIndows, sempat pesimis kalo Genymotions hanya support untuk OS Windows saja. Ternyata Genymotions menyediakan untuk berbagai macam OS #JingkrakDiTempat, diantaranya Linux. Oke, mungkin agan-agan jika ingin langsung mengunduh tanpa sign up terlebih dahulu bisa di download disini (oia, link tsb untuk linux 64bit).Setelah berhasil mendownload (sekitar 20++ mb), pastikan agan-agan mensetting file permissionnya.

$ sudo chmod a+x genymotion-1.3.0_x64.bin 

kemudian eksekusi file tsb

$ ./genymotion-1.3.0_x64.bin 

Tekan enter dan ….

Installing to folder /home/user/path/genymotion. Are you sure [y/n] ? y

- Trying to find VirtualBox toolset .................... OK (Valid version of VirtualBox found: 4.2.10_Ubuntur84101)
- Extracting files ..................................... OK (Extract into: /home/ahmad/Application/genymotion)

Installation done successfully.

You can now use these tools from /home/user/path/genymotion:
 - genymotion
 - genymotion-shell

Setelah selesai proses instalasi, masuk ke folder genymotion dan jalankan file genymotionnya

$./genymotion

Akan muncul interface dari genymotion tsb. Masuk ke aplikasi dan login seperti biasa (jika sudah terdaftar di genymotion). Pilih virtual device yang anda sukai/kehendaki. Kemudian aplikasi akan mendownload virtual devicenya (pastikan quota anda cukup), tunggu sampai selesai ūüėÄ

Image

Tekan tombol next kemudian create akhiri dengan finish ūüėÄ

Setelah virtual device sudah dibuat, jalankan virtual device tsb:

Screenshot from 2013-10-25 16:00:27

Agan-agan akan diminta pertanggung-jawaban #eh memasukkan Android SDK. Jika sudah selesai, tinggal konfigurasikan sesuai kebutuhan ūüėÄ

Hasil Akhir:

Screenshot from 2013-10-25 15:29:14 Screenshot from 2013-10-25 15:56:20

Selanjutnya terserah agan-agan ūüėÄ

#enjoy

Instal mysql/mariaDb di Fedora 19

Karena laptop baru install ulang dengan Fedora 19, alhasil beberapa service tidak ada.
Saya membutuhkan service mysql untuk database-nya, searching sana-sini dan dapatlah hasil searching di om google dapat beberapa link dan saya coba ketikkan command di terminal dengan:

# yum install mysql mysql-server

Tunggu hingga proses installasi berhasil. 
Berdasarkan beberapa sumber untuk menjalankan service tersebut cukup mengetikkan command:

$ sudo /etc/init.d/mysqld restart

Namun malah muncul error seperti ini: 
ERROR¬†2002¬†(HY000):¬†Can’t¬†connect¬†to¬†local¬†MySQL¬†server¬†through¬†socket¬†‘/var/lib/mysql/mysql.sock’¬†(2)

Saya coba lagi dengan command :

# mysqld

Namun¬†terminal¬†ngasi¬†tau¬†:¬†bash:¬†mysqld:¬†command¬†not¬†found…

Pencarian pun dilanjutkan kembali, dan alhamdulillah dapat solusinya di forum ini : http://stackoverflow.com/a/13861425

Disana ada yang ngasi masukan dengan mengetikkan command,

# service mysqld start

Bisa¬†jalan¬†juga¬†ternyata¬†database¬†nya¬†ūüėĬ†Saya¬†coba¬†masuk¬†ke¬†mysql¬†tanpa¬†password¬†dengan

# mysql -u root

Dengan result seperti ini :

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2

Server version: 5.5.31-MariaDB MariaDB Server

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>;

# myql -u root -p

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Ternyata belum diset password database-nya, google-ing lagi dan dapet link:

http://www.server-world.info/en/note?os=Fedora_17&p=mysql

Masuk ke mysql sebagai root, kemudian ketik command :

set password for root@localhost=password('1234');

Dan¬†database¬†dapat¬†digunakan¬†sebagaimana¬†mestinya¬†ūüėÄ