Tips Install Ubuntu 20.04 Untuk Programmer

Halo semua, post kali ini aku mau share personal note waktu install ubuntu 20.04.

Sebelumnya aku personal pakai Mac untuk development, dan kebetulan ini ganti Windows laptop, karena alasan kerjaan aku decide untuk dual boot laptop aku dengan ubuntu untuk development dan windowsnya aku pake untuk entertainment aja.

Oke ada beberapa hal yang akan aku share disini:

  1. Install ubuntu & beberapa recommended apps yang memudahkan.
  2. Utilities note, problem dengan driver yang ga match waktu fresh install.

Langsung aja ya bahas yang pertama

1. Install Ubuntu 20.04 Khusus Untuk Programmer

Bitlocker

Untuk install ubuntu sendiri tidak ada masalah. Hanya ada satu saja yang perlu diperhatikan ketika install ubuntu dengan dual boot pada laptop yang menggunakan bitlocker encryption di hard drive kalian.

Waktu aku install ada semacam error atau warning bahwa kalau ada bitlocker maka ubuntu tidak akan bisa akses file windows karena terenkripsi, kalau cari-cari info di google salah satu solusinya adalah turn off bitlocker. Namun setelah aku dalami sih lebih baik janganĀ turn off bitlocker karena secara security jadi kurang baik.

Solusinya tetap aja dinyalakan bitlockernya, secara file nanti pakai google drive saja sharingnya.

XAMPP

Untuk install XAMPP juga cukup straightforward, tapi ada satu hal yang harusĀ  diperhatikan yaitu adalah STRICT_MODE (Referensi disini) ada beberapa pros & cons untuk strict mode ini, kalau aku memang lebih prefer strict mode dinyalakan karena itu akan membantu melakukan beberapa pengecekan-pengecekan pada program yang nanti kita develop.

Composer (Laravel)

Ketika install composer disini aku nggak mengalami masalah. Tetapi waktu install salah satu project error karena missing php extension. Solusinya ya tinggal install aja php extensionnya.

Di kasusku yang missing adalah php-mbstring & php-xml. Commandnya dibawah ini:

sudo apt-get install php-mbstring
sudo apt-get install php-xml

Setelah install ada problem kedua yang aku hadapi, jadi setelah run composer dump-autoload -o ada warning yang akhirnya skip untuk autoload vendornya. Warningnya semacam “class doesn’t comply psr-4 standard“. Kalau ada error ini, problemnya adalah kalau sebelumnya atau partner kalian pakai OS yang case insensitive maka error ini akan wajar karena linux atau ubuntu adalah case sensitive.

Solusinya simple kamu tinggal baca warningnya dan cari file yang disebut, terus benerin aja tulisannya dan harus sesuai huruf besar / kecilnya.

Artisan

Setelah berkutat dengan composer, sekarang masalah terjadi di artisan command. Waktu aku jalankan artisan migrate, ada error could not find driver. Hal ini disebabkan karena php missing extention pdo_mysql.

Solusinya ya perlu install pdo_mysql commandnya di bawah ini:

# Install mysql plugin
sudo apt-get install php-mysql

# Open pdo_mysql extension
sudo nano /opt/lampp/etc/php.ini

# Search for ;extension=php_pdo_mysql.dll
# Then delete the ‘;’ to open the extension
# After that restart the service

Recommended Apps

Sejauh ini untuk developer aku cuman pakai beberapa apps tambahan ini:

  1. Visual code. Sudah tau lah ya fungsinya ini untuk apa.
  2. Notion. Untuk personal note, aku rasa notion yang paling oke untuk saat ini ketimbang evernote & note2 lain.
  3. Chrome. Yes, saya pecinta chrome
  4. Trello. Sayang ini nggak ada native appsnya, jadi aku pake web app versionnya.
  5. Spotify. App wajib buat temenin pas ngoding

2. Utilities Note Driver & Kernel Ubuntu

Oke sekarang aku bahas beberapa utilities note, hal-hal yang personally menurutku kurang menyenangkan. Bukan berarti ubuntu jelek ya, tapi ini penilaian pribadi ku aja.

Jadi singkat cerita aku gatau kenapa alasannya, ubuntu yang LTS terbaru adalah versi 20.04 dengan default kernel 5.4. Versi ini release datenya kalau aku google yaitu April 2020. But since then, ternyata ada banyak banget update kernel dimana sekarang per Januari 2021 udah 5.10

Buat kalian yang nggak ngerti apa itu kernel dan fungsinya cek disini. Salah satu komponen di dalam kernel ada device drivers, jadi fungsinya adalah komunikasi dengan hardware.

Nah, jadi masalah yang awal aku alami adalah beberapa fungsi dari laptopku ga jalan karena drivernya nggak match. Salah satunya adalah fungsi change brightness dan it’s so annoying buat aku.

Trus solusinya gimana? Ya di update aja kernelnya. Buat aku pribadi karena baru pertama kali pake ubuntu, hal ini sangat-sangat nggak banget buat aku, karena banyak hal harus dilakukan via terminal. Untungnya beberapa community page yang aku temukan, solusinya cukup oke dan langsung bisa jalan.

Jadi stepsnya yang harus dilakukan adalah:

  1. Linux kernel sendiri sebetulnya banyak, tapi yang official di pakai ubuntu masih 20.04 dan setelah aku google, yang next akan dipakai secara resmi masih di kernel 5.8 so aku download yang 5.8. Cara downloadnya bisa ngikutin tutorial disini.
  2. Setelah aku update, ternyata ada error yang intinya kernelnya unsigned. Jadi di step 1 udah aku jelasin kalo banyak kernel yang dipublished tapi yang resmi itu belom ada. Kalau kernel yang nggak resmi, secara default sistem ubuntu akan error dan meminta kamu untuk meresmikan kernel yang mau dipake. Caranya gimana? Ikuti aja tutorial di page ini

Oke gengs, itulah sekilas pengalaman aku tentang pakai ubuntu dan sekarang ubuntu aku udah jalan oke banget.

As conclusion here:

  1. Ubuntu emang cocok buat developer. Menurutku pribadi kalo kalian pake ubuntu, dengan segala limitasinya akan memaksa kalian untuk lebih strict codingnya which is pasti better buat kalian developer.
  2. Lebih memahami cara kerja server, since banyak server yang sekarang base nya linux jadi pasti lebih paham how to handle linux.

 

Welcome 2018!

Happyy new yeaarrrrrr 2018!!!!!!

Gimana acara tahun baru kalian? Aku yakin kemarin pasti jadi acara terseru sepanjang tahun 2017 kalian ya.

Menghadapi tahun yang baru di 2018 kita pasti punya target yang baru, mimpi yang baru dan pastinya semangat yang baru ya kan?

Aku mau sharing dikit tentang 2017. Tepat 1 januari 2017 kemarin aku memulai startupku dibidang web development dan digital marketing. Actually ketika njalanin 2017 ini, aku berpikir bahwa ternyata memulai bisnis sendiri nggak segampang itu yah. Banyak banget yang harus “dilawan”.

Aku merasa musuh terutama yang harus aku kalahin adalah mental dan diriku sendiri. Harus ngalahin rasa males, berpikir gimana caranya memasarkan produk, mikir gimana caranya melayani customer, gimana harus ngejar target. And the most big things adalah gimana aku harus berubah secara mental dan karakter. Hal itu yang bener-bener aku rasain selama tahun 2017.

Beberapa minggu kemarin aku mencoba untuk merenungkan apa yang udah aku lewati. Dan aku merasa banyak hal yang udah aku kerjakan dan aku capai (sekalipun sebenernya aku juga merasa banyak hal yang masih banyak harus dikerjakan).

Dan diwaktu-waktu itu aku merasa sangat bersyukur atas penyertaan Tuhan sepanjang tahun 2017.

Give thanks to the Lord, for He is good; His love endures forever;
Psalm 118:29

Facing The Greatest Year of 2018 with Optimism!

Di waktu yang sama saat aku merenungkan 2017, aku juga ngerenungin 2018. Di tahun 2018 ini aku percaya sesuatu yang besar akan terjadi di 2018.

Banyak peluang, banyak kesempatan yang akan datang di tahun 2018. Aku optimis di tahun 2018 ini bakal banyak kesempatan buat kita semua untuk run forward faster.

Di tengah perkembangan teknologi yang sangat cepat kita juga dituntut untuk bergerak dan berubah cepat melihat segala kesempatan. Ada satu quote yang cukup bagus untuk tahun 2018 yaitu bukan ikan besar yang makan ikan kecil. Tapi ikan yang cepat yang akan makan ikan yang lambat.

Buat aku pribadi resolusi tahun 2018 adalah menjadi perusahaan teknologi yang cepat dalam meluncurkan hal-hal yang baru dari segi produk ataupun services. Optimis nggak cuman dalam menghadapi peluang tapi juga tantangan. Karena menurutku setiap perusahaan ditengah perkembangan teknologi ini akan ditantang untuk bisa lebih baik melayani ataupun membuat produk.

Focus, focus and focus!

Salah satu hal yang aku juga belajar di tahun 2017 adalah fokus. Melihat mana peluang mana jebakan. Karena menurutku ada beberapa jebakan yang terlihat seperti peluang, dan ada beberapa jebakan yang terlihat menantang tapi ternyata itu adalah peluang. Complicated right? So, penting menurutku mengevaluasi setiap peluang ataupun tantangan.

Aku berusaha untuk selalu merenungkan setiap peluang apakah itu hanya tantangan untuk mencapai tujuan atau hal tersebut sebenernya adalah jebakan. Aku selalu ngerenugin dengan beberapa pertanyaan.

Pertama, apakah peluang ini memang bagus? Apakah tantangan ini sebenernya ada sisi positifnya?

Kedua apakah perusahaanku atau aku pribadi memang mau ke arah sini? Karena nggak semua peluang mengarahkan kita ke tujuan kita. Peluang menjadi jebakan ketika itu merubah fokus kita merubah arah perusahaan.

Ketiga, aku selalu diskusi sama orang-orang terdekat mengenai peluang ini dan mencoba untuk mendengarkan mereka. Second opinion menurutku adalah hal yang sangat-sangat mahal di dunia ini. Karena terkadang kita bisa aja salah melihat karena emosi kita sudah tercampur baur so we can’t see things clearly.

Dan point terakhir untuk 2018 secara pribadi aku mau fokus untuk menjadi dampak, memberikan value buat temen-temen, kolega, dunia bisnis dll melalui teknologi yang aku pelajari.

That’s all again aku ucapin Happy new year 2018 may success, greatness, optimism always be with you. #alaalastarwars hahahaha..