Aplikasi-aplikasi Untuk Ubuntu

Sepertinya sudah berkali-kali saya meng-install Ubuntu, baik di laptop, server mau pun di Virtual Machine. Dan setiap kali install Ubuntu, setiap kali pula saya harus mengulangi meng-install beberapa aplikasi yang menunjang pekerjaan dan hobi saya. Sayangnya kadang kala saya lupa apa saja yang harus saya install sehingga ketika dibutuhkan perlu install dulu. Jika dalam kondisi terburu-buru tentu sangat tidak menguntungkan, misalnya saat akan meeting atau bertemu client. Apalagi jika terjadi gangguan koneksi internet.

Jadi perkenankanlah saya menuliskan daftar apa saja yang harus/perlu saya install di Ubuntu baru. Tentu ini sekedar pengingat bagi diri sendiri jika kelak diperlukan install Ubuntu lagi. Seperti saat ini di mana saya perlu install Ubuntu lagi karena upgrade SSD NVMe.

SERVER

  1. Tasksel. Ini adalah sebuah utility installer yang sangat membantu. Dengan tasksel ini meng-install beberapa aplikasi dapat dilakukan dengan cara yang praktis.
  2. LAMP. Ini adalah stack aplikasi yang sangat diperlukan oleh server Linux, meliputi Apache, MySQL dan PHP. Gunakan tasksel untuk menginstall stack LAMP supaya mudah.
  3. NodeJS dan NPM. Penting untuk server aplikasi dengan bahasa JavaScript.
  4. PHPMyAdmin. Aplikasi berbasis web ini sangat penting ketika diperlukan administrasi database MySQL secara remote.
  5. OpenSSH. Sangat penting supaya server bisa di-remote secara ssh. Juga tersedia utility penting seperti ssh-keygen dan ssh-copy-id supaya sesi ssh tidak perlu lagi login.
  6. Samba. Sifatnya opsional saja karena ada beberapa cara lain yang lebih secure seperti sFTP atau scp.
  7. sFTP. Sifatnya opsional saja. Belakangan saya lebih sering menyalin file secara remote dengan scp.
  8. Postfix. Sifatnya opsional saja tergantung apakah kita akan menjadikan server ini sebagai server email.
  9. Ufw. Sebuah firewall ringan dan praktis. Sangat diperlukan.
  10. Htop. Ini adalah aplikasi ringan berbasis teks untuk memonitor kerja CPU dan memori dan aplikasi apa saja yang sedang bekerja di server.
  11. Mytop. Seringkali kita perlu melihat apa saja yang terjadi di server database. Dengan aplikasi ini kita bisa melihat query apa saja yang sedang berjalan dan ada berapa koneksi ke server database. Jika diperlukan kita bisa membunuh query yang lambat.
  12. MC (midnight commander). Sebenarnya tidak terlalu penting. Tapi ketika server dikonfigurasi headless dan perlu diakses dari jarak jauh, maka menggunakan mc akan sangat membantu ketika berurusan dengan file/direktori. Saya sangat suka mc karena mengingatkan saya pada NC (Norton commander) di era masa lalu.
  13. Tightvncserver. Sebuah server VNC. Tidak terlalu dibutuhkan sebenarnya. Tapi kadang asyik juga remote server dengan GUI.
  14. Rkhunter. Sangat diperlukan untuk mengecek apakah ada penyusupan malware di server.
  15. Speedtest-cli. Sangat diperlukan untuk mengetest kecepatan jaringan di server.
  16. Nmap dan beberapa utility jaringan lain.

DESKTOP/LAPTOP

Berhubung kerjaan saya adalah programmer, maka laptop juga saya fungsikan sebagai server. Jadi apa yang terdaftar di SERVER di atas juga saya install di laptop. Sedangkan Ubuntu Desktop yang saya install sudah mengikutkan banyak aplikasi berguna seperti LibreOffice, Remmina, transmission torrent, dll. Namun saya tetap membutuhkan beberapa aplikasi yang perlu saya install secara manual. Yaitu:

  1. VirtualBox. Aplikasi ini sangat penting untuk membuat VM di laptop. Kadang kita perlu experimen atau belajar sesuatu di sistem operasi terbatas di VM. Ketika bermasalah atau ketika tidak dibutuhkan lagi tinggal dihapus tanpa mempengaruhi sistem utama.
  2. Chrome. Sebenarnya Ubuntu sudah mempunyai browser bawaan Mozilla Firefox yang cukup powerfull. Namun Chrome memiliki banyak keunggulan penting seperti integrasi dengan Google dan G-Suite. Bahkan Youtube lebih baik dijalankan di Chrome.
  3. Geany. Ini sebuah editor ringan favorit saya sejak dahulu kala. Sebenarnya banyak editor lain yang lebih fancy seperti Atom, Visual Studio Code Editor, dll. Namun saya selalu balik lagi menggunakan Geany karena ringan dan bersih tampilannya.
  4. Android Studio. Digunakan untuk membuat aplikasi di Android.
  5. Scrcpy. Sangat berguna untuk digunakan me-remote hape Android. Sangat membantu juga ketika digunakan saat membuat aplikasi Android karena aplikasi bisa langsung diuji coba ke hape sedangkan tampilan hape-nya tetap di komputer. Tidak perlu bolak-balik pegang hape.
  6. Arduino IDE. Digunakan untuk ngoprek Arduino dan kawan-kawannya.
  7. Fritzing. Digunakan untuk mendesain PCB dengan cara yang paling mudah.
  8. GIMP. Untuk editor foto/gambar.
  9. InkScape. Untuk menggambar vector.
  10. VLC. Untuk nonton video/film. Saya gunakan juga untuk nonton TV digital yang saya streaming dari Raspberry Pi + TV HAT dengan TVHeadEnd. Alternatif lain yang cukup baik adalah omxplayer yang sangat ringan karena dijalankan dari terminal.
  11. VNC Viewer. Digunakan untuk remote desktop ke server-server. Bisa juga menggunakan Remmina yang memiliki dukungan lebih banyak seperti VNC, RDP, VNC over SSH, dll.
  12. Postman. Untuk menguji coba API/Web Service.
  13. Mysql-workbench-community. Sayangnya belum ada versi untuk Ubuntu 19.04. Padahal di Ubuntu 18.04/10 bisa di-install dan berjalan dengan baik. Alternatif lain adalah Tora. Tapi saya kurang cocok dengan Tora.
  14. Kazam. Untuk screen recorder. Sangat diperlukan saat membuat video tutorial.
  15. Etcher. Digunakan untuk menyalin file image ke USB atau SDCard. Sangat dibutuhkan ketika membuat OS di SDCard untuk Raspberry Pi.
  16. Git. Penting untuk versioning code.
  17. TestDisk. Sebuah utility berbasis teks untuk recovery file.

Sedangkan berikut ini adalah beberapa aksesoris yang tidak terlalu diperlukan, tapi bagus juga jika di-install.

  1. CPU G. Ini seperti CPU Z yang legendaris itu. Fungsinya sekedar mengetahui merek dan tipe jeroan komputer kita seperti CPU, Motherboard, RAM, dll.
  2. Slimbook Battery. Jika Ubuntu di-install di laptop, maka aplikasi ini sangat diperlukan supaya baterai bisa lebih hemat. Karena secara alami Ubuntu itu menggenjot sistem secara optimal sehingga cenderung lebih boros baterai.
  3. Terminator. Sebenarnya ini cuma terminal/console saja di mana Ubuntu sudah punya terminal bawaan yang cukup baik. Keunggulan Terminator adalah di kemampuannya membagi jendela Terminator menjadi beberapa terminal. Kita bisa membaginya ke vertikal atau horizontal.
  4. Cmatrix. Hahaha ini cuma aplikasi iseng saja. Bisa difungsikan sebagai screensaver. Yang menarik adalah karena tampilannya seperti di video Matrix yang dibintangi Keanu Reeves.
  5. Tor Browser. Jika ingin browsing situs yang diblokir oleh pemerintah, maka Tor Browser ini adalah solusi praktis dibandingkan jika harus install VPN.

Nah kan ternyata banyak sekali. Makanya seringkali ada saja yang tertinggal. Tapi ya paling asyik kalau saat diperlukan baru di-install. Sayangnya tidak setiap saat tersedia koneksi internet yang memadai seperti ketika harus tugas luar kota. Dan kadang kala ukuran aplikasi yang harus di-download sangat besar. Jadi lebih baik jika aplikasi sudah terinstall dan kapan saja diperlukan siap digunakan.

Sepertinya daftar di atas akan terus bertambah saat saya menyadari apakah ada yang terlupa. Atau belakangan baru tahu ada aplikasi baru/penting yang perlu di-install juga. Jadi daftar di atas akan dinamis. Masukan dari pembaca juga mungkin baik sehingga saya perlu meng-install aplikasi usulan tersebut juga.

Walau pun tulisan ini cenderung sebagai pengingat bagi diri sendiri, tapi mungkin pembaca juga dapat memperoleh manfaat juga.

Oh iya, beberapa aplikasi yang berhubungan dengan multimedia tetap lebih asyik menggunakan versi MacOS/iOS seperti misalnya iMovie, Garageband, Procreate, dll. Jadi untuk kebutuhan edit multimedia tersebut lebih baik di MacBook Pro atau iPad.

Salam.

Iklan

Desain UI/UX Nurse Call System 2019

Sebenarnya ide ini sudah dicoba untuk dikembangkan sejak 2015-2016, namun sayangnya belum sempat terealisasi dan sampai sekarang masih mangkrak (baca: Demo Prototype Nurse Call System). Hingga akhirnya saya mencoba mendesain ulang UI/UX untuk Nurse Call System tersebut tentu dengan desain yang lebih modern. Di bawah ini adalah contoh videonya :

Rencananya piranti ini dibangun menggunakan Raspberry Pi Zero W dengan display TFT 5″ resolusi tinggi ditambah dengan kontroler untuk beberapa tombol dan rotary switch. Rotary switch dikelilingi oleh LED RGB yang akan menyala sesuai kebutuhan, hijau jika keadaan baik, merah jika ada panggilan atau emergency, biru jika pasien melakukan pemesanan, oranye jika ada panggilan komunikasi dari perawat di nurse station, dan lain-lain. Oh iya, tentu saja tombol tekan konvensional tetap disertakan. Gunanya untuk pemanggilan darurat tanpa melalui antarmuka piranti ini.

Baca selebihnya »

Raspberry Pi Untuk Apa?

Kalau ada yang bertanya apa yang bisa dilakukan oleh Raspberry Pi? Untuk apa saja? Maka jawabnya akan banyak sekali. Raspberry Pi yang sering juga disebut sebagai SBC (single-board computer) itu seperti layaknya sebuah komputer, dia bisa melakukan banyak hal. Ditambah lagi fleksibilitas koneksinya yang seperti Arduino, menjadikannya bisa ditambahi piranti apa saja.

Mau dijadikan robot bisa, dijadikan drone bisa, dijadikan pengendali smarthome bisa, dijadikan server bisa, dijadikan face detection/recognition bisa, dan banyak lagi. Silakan google saja dengan keyword “Raspberry Pi projects”, maka akan ketemu banyak hal yang bisa dibuat dengan Raspberry Pi.

Kembali ke laptop… Kemarin ada teman jual Raspberry Pi 3B dengan harga murah. Langsung saja saya beli. Padahal saya sudah punya beberapa Raspi dan belum tahu mau dipakai apalagi. Makanya 2 paragraf di atas itu sejatinya pertanyaan buat saya sendiri, Raspi-nya mau dipakai apa lagi? Hahaha…

DWO_0261

Ini adalah beberapa Raspberry Pi yang saya miliki beserta peruntukannya:

  1. Raspberry Pi Original Model B. Ini Raspi pertama saya. Saat ini nganggur. Sudah saya tambahin LCD TFT dengan antar muka SPI.
  2. Raspberry Pi 3 Model B. Saya gunakan sebagai server IoT dengan alamat di http://zero-iot.com. Saat ini masih digunakan untuk penggunaan pribadi.
  3. Raspberry Pi Zero W. Digunakan sebagai sensor suhu dan kelembaban. Dalam waktu tidak lama akan meluncur ke teman yang memesannya.
  4. Raspberry Pi Zero W + DVB TV uHAT. Digunakan untuk server TVHeadEnd. Lihat posting saya sebelumnya di “Membeli DVB TV uHAT untuk Raspberry Pi” dan “Setup DVB TV uHAT di Raspberry Pi.”
  5. Raspberry Pi 3 Model B. Saya gunakan sebagai player untuk streaming dari TVHeadEnd sekaligus untuk kerja ringan mengelola server-server. Memang seringkali saya harus mengelola server di malam hari, terutama berkenaan dengan backup, replikasi dan setup yang seringkali butuh waktu lama. Jadi ketika proses saya tinggal tidur sambil berharap esok paginya proses telah selesai tanpa error.
  6. Raspberry Pi 3 Model B. Ini yang baru saya beli dari teman. Memang belum tahu kegunaannya untuk apa. Nanti cari ide dulu. Yang pasti sih saat ini saya jadikan cadangan. Oh iya, saya ada LCD HDMI khusus untuk Raspberry Pi. Tempo hari saya coba tapi karena terlalu kecil, cuma 3.5″, jadinya malah menyiksa mata karena kekecilan, hahaha…

Perkara SBC, sebenarnya saya juga punya CubieBoard versi 2 dan CHIP. Keduanya bagus kok. Tapi untuk fleksibilitas dan dukungan jelas Raspberry Pi lebih bisa diandalkan. Apalagi CHIP sudah tamat riwayatnya.

Selain Raspberry Pi yang sudah saya miliki, sebenarnya saya juga ingin mencoba Raspberry Pi 3 Model A+ dan OrangePi Zero. Tapi nanti sajalah kalau memang sudah ada rencana mau digunakan untuk apa. Mengenai OrangePi Zero sebenarnya bisa jadi alternatif lebih murah dibanding Raspi Zero W yang saat ini saya gunakan sebagai sensor IoT.

Saya tahu bahwa saya menggunakan Raspberry Pi bukan untuk hal-hal yang luar biasa. Pengen sih bisa menggunakannya untuk hal-hal yang luar biasa seperti untuk drone, robot, image/audio processor, smart home, video surveillance atau hal heboh lainnya. Tapi ya lagi-lagi masih terkendala budget dan waktu, hahaha…

Merapikan Penyimpanan Source Code

Rupanya saya sudah mulai harus merapikan penyimpanan source code dari proyek-proyek elektronika saya. Kenapa? Karena saat ini saya coding di beberapa device, yaitu:

  1. MacBook Air. Ada beberapa proyek yang saya program dari MBA ini. Sayangnya MBA pernah bermasalah dengan Wemos D1 Mini yang menggunakan driver CH340. Ini adalah chip yang bertanggung jawab menghubungkan komputer dengan Wemos D1 Mini sehingga kita bisa meng-upload program ke Wemos. Kalau Wemos D1 mini dicolokkan ke MBA, maka laptop langsung crash. Jadi saya tidak menggunakan MBA lagi untuk coding proyek elektronika, karena ternyata Arduino Uno versi cloning juga menggunakan CH340. Baru kemudian saya nemu solusi ketidakcocokan MacOS dengan CH340. Dan ironisnya solusi ini baru ada setelah beberapa tahun. Namun terlambat, saya sudah banyak coding di device lain.
  2. Laptop Acer kuno. Ini adalah laptop kuno saya. Sudah pensiun. Source code sudah saya backup ke harddisk external.
  3. Raspberry Pi. Ya… saya memang menggunakan Raspi untuk coding beberapa proyek, termasuk salah satunya adalah Radio Touchscreen. Masalahnya saya aktif coding di 2 Raspberry Pi. Satu Raspi dengan casing hitam dimana saya banyak coding untuk Arduino, Wemos, Nano, Micro, dll. Sedangkan satu Raspi yang telanjang dimana saya gunakan untuk coding beberapa proyek yang membutuhkan modul external seperti display TFT Touchscreen, dll. Untungnya saya tidak menggunakan 2 Raspi lain sebagai basis development. Saya masih punya Raspi Zero W dan Raspi model B versi pertama. Keduanya belum sempat saya oprek, hehehe…
  4. CHIP. Belakangan saya sering ngoprek CHIP. Sejatinya saya senang ngoprek CHIP ini. Sayangnya ngoprek CHIP ini seperti tidak punya masa depan, karena CHIP versi original sudah tidak dijual oleh NextThingCo. Sekarang NTC jualan PocketCHIP dan CHIP Pro saja. Di websitenya cuma ditulis kalau CHIP akan hadir kembali dengan CPU GR8. Tapi sudah lama berselang tidak keluar juga. Kemarin dapat info kalau ada startup baru yang membuat cloning CHIP, yaitu: Popcorn Computer. Konon pinout-nya sama dengan CHIP. Namun sayangnya Popcorn Computer ini terlalu mahal. Di situ tertulis $99 untuk 2 buah. Beda banget dengan CHIP yang cuma $9.
  5. Notebook Asus. Saya juga coding di laptop ini. Tidak banyak sih. Secara ini laptop milik kantor. Seingat saya, saya coding  Radio Mini dengan Wemos D1 Mini di laptop ini. Oh iya, hampir lupa, antrian wemos dan IoT dengan wemos ada di sini juga. Ini gara-gara MBA saya tidak bisa berkomunikasi dengan Wemos.

Nah, banyak kan? Belakangan saya sering bingung, code proyek ini dimana ya? Saya harus mengingat alasan-alasan mengapa saya harus coding di salah satu perangkat saya di atas, baru kemudian saya teringat. Hahaha…

Baca selebihnya »

Merakit Game Console 8-bit Ardubuino | Vlog

Masih ingat cerita tentang Arduino Day tempo hari kan? Di acara itu saya bertemu dengan Mas Hendra Kusumah dan saya diberi PCB Ardubuino. Sayangnya ada beberapa komponen yang saya tidak punya stok. Kalau pun punya, tipe-nya berbeda. Seperti misalnya Arduino Pro Micro sebagai otaknya. Saya punyanya Arduino Pro Mini. Kata Mas Hendra sih harus pakai Arduino Pro Micro.

OLED Display juga berbeda. Saya punyanya yang menggunakan protocol I2C. Sedangkan Ardubuino menggunakan protocol SPI. Dan ternyata modul charger tidak sesuai. Modul TP4056 punya saya ternyata kependekan. Sepertinya di PCB Ardubuino versi 3 sudah diubah oleh Mas Hendra supaya bisa menggunakan TP4056 yang lebih umum.

Setelah komponen datang, maka saya pun segera merakitnya. Berikut adalah video-nya:

 

Asyik juga sih main console game 8-bit. Jadi ingat saat masih kecil. Saat ini saya meng-upload game Juno First. Opsi game lain bisa dilihat di website Arduboy.

Terima kasih mas Hendra Kusumah atas PCB-nya.

 

Atmel ATTINY817 Xplained MINI

Dulu saya suka sekali ngoprek ATTiny, terutama ATtiny85 dan ATTiny84. Menurut saya, chip-chip ini sangat sederhana dan mudah dipelajari. Kalau mau bikin piranti elektronika simpel (embedded) bisa menggunakan chip kecil ini. Selain murah, juga bisa praktis & ringkas.

Walau pun demikian, ATTiny memang punya keterbasan, terutama di spesifikasinya. Tapi memang sebenarnya Attiny tidak ditujukan untuk aplikasi yang kompleks. Attiny biasanya digunakan untuk mengendalikan tugas-tugas ringan yang spesifik. Tidak seperti chip yang kompleks seperti ATMega328 yang digunakan di Arduino versi awal atau SAM3X8E yang menggunakan arsitektur ARM yang bisa multi purpose dengan kecepatan tinggi.

Terakhir saya sempat ngoprek Radio dengan Attiny85 dan berakhir mentok karena keterbatasan memori-nya yang cuma 8 KB. Itu pun sudah berkurang menjadi sekitar 6 KB karena digunakan untuk bootloader. Dan saya pun kehabisan memori karena harus menggunakan beberapa library, hiks…

Lalu beberapa waktu lalu saya dapat email dari Atmel tentang kehadiran beberapa seri ATtiny, yaitu ATtiny417, ATtiny814, ATtiny816 dan ATtiny817. Saya pun memesan ATtiny817 XMini yang merupakan evaluation board untuk ATtiny817.

Apa sih istimewanya ATtiny817 ini? Yang jelas, ATtiny817 ini tetap minimalis dengan memori flash cuma 8 KB, SRAM 512 byte, EEPROM 128 byte, kecepatan clock meningkat sampai 20 MHz/20 MIPS, punya 2 buah timer/counter 10-bit, tetap menggunakan 8-bit DAC, analog comparator, accurate internal oscillator dan multiple calibrated voltage references. Dan yang menarik karena ada Peripheral Touch Controller (PTC), custom logic, 10-bytes unique ID dan bentuk packagingnya 24 pin. Detail spesifikasi bisa dilihat di: ATTINY817 (www.microchip.com) dokumen komplit: Datasheet.

Nah, Evaluation Kit ATtiny817 Xplained Mini (Xmini) yang saya beli ini sudah dilengkapi debugger terintegrasi, 2 buah tombol kapasitif (terintegrasi QTouch Peripheral Touch Controller), Auto-ID, akses ke semua sinyal ATtiny817, 1 LED status berwarna hijau, 1 tombol mekanik, virtual port COM (CDC), ditenagai USB, punya pin yang kompatibel dgn Arduino, header SPI. Tuh lihat saja di foto di atas. Jadi mudah ngopreknya karena pin jadi kompatibel dgn Arduino UNO.

Jujur saja saya masih belum tau mau dibikin apa, dan kapan ngopreknya, secara saat ini lagi sibuk dengan pekerjaan. Semoga saja dalam waktu dekat bisa segera ngoprek lagi. Soalnya yang menarik dari Attiny817 ini adalah adanya 2 tombol kapasitifnya. Sepertinya bisa luas aplikasinya.