Review Macbook Pro M1
- Last modified atBeberapa minggu terakhir saya mulai menggunakan Macbook Pro M1 untuk kebutuhan software development dimana project yang sedang dibangun merupakan project lama sejak beberapa tahun lalu.
Tidak disangka ada banyak kendala yang belum pernah saya temui. Empat poin dibawah ini merupakan beberapa insight yang saya dapat saat menggunakan Macbook Pro M1 selama hampir sebulan dengan spesifikasi Mac M1 sebagai berikut.
- Sistem Operasi: macOS Monterey version 12.1
- Processor: 2,5 GHz Quad-Core Intel Core i7
- RAM: 16 GB 1600 MHz DDR3
- Graphics: AMD Radeon R9 M370X 2 GB
1. Kompatibilitas
Project yang saya kerjakan menggunakan bahasa pemrograman Ruby dimana project lama dan sudah berjalan di production sejak beberapa tahun lalu.
Bahasa pemrograman Ruby pada dasarnya dibuat dengan bahasa pemrograman C. Ketika ada library Ruby versi lama yang menggunakan native bahasa C, ada kejadian tidak dapat dikompilasi oleh C compiler pada Macbook Pro M1 karena beda arsitektur antara Intel dan ARM yang digunakan di M1.
Untungnya adalah Macbook Pro M1 sudah cukup lama rilis dari 2020 banyak dipakai untuk software development, sehingga solusinya cukup dengan update library dengan versi baru atau update versi Ruby.
2. Homebrew
Instalasi aplikasi melalui Homebrew di Macbook Pro M1 normal dan lancar. Namun, ada kasus dimana saya perlu secara manual mengarahkan library, entah kenapa instalasi lewat Homebrew tidak otomatis. Misal, salah satu library yang dibutuhkan perlu header librsync.h
.
Normalnya cukup Install dengan brew install librsync
, di Macbook Pro M1 saya perlu mengarahkan include path seperti dibawah.
3. Docker
Untuk mengatasi isu kompatibilitas, saya mencoba melakukan eksperimen dengan memasang Vagrant saat instalasi project. Namun karena dependensi Vagrant yang saya gunakan yaitu VirtualBox belum bisa dijalankan di Macbook Pro M1, akhirnya saya urungkan dan mencoba pakai Docker.
Dengan Docker, tanpa melakukan update versi library atau Ruby saya berhasil melakukan instalasi project pada Mac M1. Berikut contoh perintah dengan menggunakan Docker.
Walau begitu, hingga saat ini saya masih belum berhasil konfigurasi Docker dengan Selenium karena Selenium dipasang dengan Docker belum didukung untuk berjalan di Macbook M1.
4. Booting
Saya melakukan perbandingan booting Macbook Pro model 2015 dengan processor Intel dengan RAM 16 GB juga hingga tampilan login muncul, ternyata Mac M1 jauh lebih lambat sekitar 20-30 detik.
Jujur saya kaget karena ekspektasi saya Macbook Pro M1 jauh lebih cepat. Selain booting, saya belum melakukan perbandingan, namun sejauh ini perbedaan mencolok adalah kipas Macbook tidak pernah terdengar pada Macbook Pro M1.
Recent Posts
How to Defend Against Brute-Force and DoS Attacks with Fail2ban, Nginx limit_req, and iptables
In this tutorial, I’ll explain how to protect your public-facing Linux server and Nginx web server from common threats, including brute-force and DoS attacks.
Is Getting AWS Solutions Architect Associate Certification Worth It?
If you are a full-time Software Engineer, there's no strong need to pursue this certification.
DevSecOps
My Notes about DevSecOps
AWS Secrets Manager
Explanation about AWS Secrets Manager with example code.
Envelope Encryption
Envelope encryption is the practice of encrypting plaintext data with a data key, and then encrypting the data key under another key.