Developing Rust with Visual Studio Code and WSL

Rust provides the Windows Installer to start running Rust in your Windows, but sometimes you might want to develop Rust in your existing Windows Subsystem for Linux (WSL) environment. In your installed Linux distribution, run the following in your terminal, then follow the on-screen instructions to install Rust.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

After the installation is completed, run rustc --version in the terminal to check the installation succeeded. Create a hello world program to test the Rust compiler with vim or other editor you like:

mkdir learning-rust
cd learning-rust
vim main.rs
Continue reading “Developing Rust with Visual Studio Code and WSL”

Install MySQL on Debian 10/11

MySQL isn’t available in the official repository of Debian 10/11, MariaDB (fork of MySQL) is the default packages. When you decide to use MySQL instead of MariaDB, the first time you have to do is installing the MySQL APT repository.

Let’s download and install MySQL APT Repository from https://dev.mysql.com/downloads/repo/apt/, run the command bellow

wget https://dev.mysql.com/get/mysql-apt-config_0.8.25-1_all.deb
Continue reading “Install MySQL on Debian 10/11”

Video 360 Derajat dan Cardboard VR

Coba kamu jalankan video 360o di atas menggunakan aplikasi youtube di ponsel , lalu gerakkan berputar ke segala arah dan apa yang terjadi? Yep, bener banget, video akan ikut bergerak mengikuti arah gerakan kamu. Berbeda dengan video biasa yang dilihat hanya dari satu arah, dengan video 360o kamu bisa melihat video dari berbagai arah secara bersamaan.

Apa itu video 360o?

Video 360o merupakan rekaman video di mana tampilan di setiap arah direkam pada saat yang sama. Video biasanya direkam menggunakan perlengkapan kamera khusus yang merekam setiap sudut secara bersamaan. Proses perekamannya dapat diselesaikan oleh perangkat kamera itu sendiri atau dibantu menggunakan perangkat lunak khusus yang dapat menganalisis video untuk menyinkronkan dan menautkan hasil kamera yang berbeda secara bersamaan.

Pada video youtube di atas, kita dapat melihat video Badak Sumatra langka dari berbagai arah tampilan secara bersamaan. Kita diajak bukan hanya untuk melihat tingkah lakunya saja, tapi juga melihat lingkungan sekelilingnya, panorama di sekitarnya, habitat tempat hidup hewan hampir punah tersebut yang sulit untuk kita jumpai.

Continue reading “Video 360 Derajat dan Cardboard VR”

Membuat Sendiri Server Video Conference

Aplikasi video conference menjadi sangat populer saat pandemi COVID-19. Pembatasan sosial atau social distancing yang mengharuskan kerja dari rumah membuat aplikasi video conference harus dipakai sebagai media pertemuan jarak jauh. Diperkirakan saat pandemi COVID-19 mereda dan terjadi kondisi normal baru, masyarakat akan makin terbiasa dengan pertemuan secara daring.

Banyak sekali layanan video conference atau online meeting yang dapat digunakan dengan beragam fitur dan manfaat, baik yang digunakan secara gratis atau berbayar. Selain menggunakan layanan instan yang telah ada, kita juga bisa mencoba membuat server video conference sendiri untuk kebutuhan internal perusahaan atau organisasi. Di tulisan ini akan menjelaskan langkah demi langkah membuat layanan video conference di server sendiri menggunakan Jitsi Meet.

Continue reading “Membuat Sendiri Server Video Conference”

Kirim Pesan dan Simpan File secara Aman Menggunakan Keybase.

Mengutamakan keamanan, Keybase dapat digunakan untuk mengirim pesan ke teman atau keluarga seperti WhatsApp, juga dapat digunakan untuk komunikasi tim seperti Slack. Enkripsi end-to-end membuat komunikasi kepada siapapun, bahkan untuk organisasi atau perusahaan menjadi aman.

Terhubung dengan sistem penyimpanan cloud bernama Keybase Filesystem, file disimpan secara pribadi, tim dan publik. Sistem file Keybase dapat dipasang secara lokal dengan aplikasi klien dan file yang ditempatkan secara publik dapat diakses dari sebuah endpoint.

Pembuktian Identitas

Pengguna Keybase dapat membuktikan identitas dengan menghubungkan antara identitas online dan kunci enkripsi. Koneksi publik yang didukung di antaranya Twitter, Github, Reddit dan berbagai identitas lain. Selain itu juga mendukung koneksi ke website dan nama domain, bersama alamat dompet kripto di antaranya Bitcoin, Zcash dan Stellar.

Identitas dibuktikan dengan memposting statement pada setiap akun online yang ingin dibuktikan oleh pengguna. Hal ini membuat bukti identitas dapat diverifikasi secara publik, sehingga pengguna dapat mencari dan memeriksa pernyataan bukti yang relevan, dan klien Keybase melakukan ini secara otomatis.

Pembuktian Identitas Akun Twitter di Keybase
Continue reading “Kirim Pesan dan Simpan File secara Aman Menggunakan Keybase.”

Membuat Server Repositori Git di Server Sendiri

Git adalah sistem versioning yang banyak digunakan. Di antaranya dipakai oleh pengembang aplikasi sebagai repositori proyek. Digunakan untuk merekam perubahan-perubahan dari berbagai berkas dari waktu ke waktu.

Dengan sistem versioning ini memungkinkan untuk mengembalikan berkas-berkas atau bahkan mengembalikan seluruh proyek kembali ke keadaan sebelumnya, membandingkan perubahan-perubahan di setiap waktu, melihat siapa yang terakhir mengubah sesuatu yang mungkin menimbulkan masalah, siapa dan kapan yang mengenalkan sebuah isu dan banyak lagi.

GitHub adalah salah satu layanan repositori Git. Banyak proyek open source menggunakan Github untuk menyimpan Git, pelacakan masalah, tinjauan kode, dan hal-hal lainnya. Tetapi untuk alasan kontrol, dikarenakan penyimpanan GitHub terpusat di server mereka, langkah terbaik untuk meletakkan repositori Git berada di server milik sendiri.

Tulisan ini dikhususkan membahas tentang membuat server Git yang diakses menggunakan SSH. Server Git dapat dipasang di jaringan lokal seperti menggunakan server berdaya rendah dengan komputer ARM atau melalui Internet dengan menyewa cloud server.

Continue reading “Membuat Server Repositori Git di Server Sendiri”

Permainan Kolektibel Kripto

Setiap item pada Kolektibel Kripto (Crypto Collectible) adalah unik, tidak akan ditemukan oleh pemilik lain. Berbentuk Aset digital non-fungibel, unik secara kriptografis. Non-fungibel artinya setiap token memiliki variasi atribut spesifik dan ada batasan jumlah token yang dapat dihasilkan.

Kolektibel kripto divisualisasikan sebagai objek nyata seperti hewan peliharaan atau avatar. Salah satunya permainan kolektibel kripto adalah BlockchainCuties, di mana pengguna bisa mengkoleksi hewan peliharaan seperti kucing dan anak anjing atau karakter-karakter hewan lucu lain baik nyata maupun bentuk fantasi.

Salah satu item kolektibel kripto di BlockchainCuties
Continue reading “Permainan Kolektibel Kripto”

Cara Melakukan Transaksi Bitcoin

Bitcoin adalah mata uang digital terdesentralisasi pertama. Koin digital yang dapat dikirim melalui Internet. Menggunakan kriptografi kuat untuk mengamankan transaksi. Sehingga dinamakan cryptocurrency atau mata uang kripto.

Dibanding alternatif mata uang digital lain, bitcoin mempunyai beberapa keuntungan. Bitcoin ditransfer antar pengguna secara langsung melalui jaringan, tanpa bank atau perantara lainnya. Artinya biaya transaksi lebih rendah dan dapat digunakan di setiap negara. Selain itu rekening tidak dapat dibekukan, tidak ada persyaratan khusus atau batasan tertentu.

Dompet

Mengirim bitcoin semudah mengirim email. Transaksi bitcoin membutuhkan dompet/wallet. Di dalamnya terdapat alamat untuk mengirim dan menerima bitcoin. Di sini lah dana bitcoin disimpan dan sejumlah transaksi dilakukan.

Dompet Cryptocurrency Atomic. Memiliki antarmuka yang mudah digunakan, bisa digunakan di komputer maupun ponsel, mendukung berbagai mata uang lokal termasuk Rupiah dan mendukung banyak aset digital kripto lainnya. Dapat diunduh melalui https://atomicwallet.io/
Continue reading “Cara Melakukan Transaksi Bitcoin”

Memprogram Database SQLite3 di PHP

SQLite adalah engine database yang paling banyak dipakai, digunakan di setiap smartphone dan di banyak komputer, dibundel dibanyak aplikasi yang digunakan sehari-hari. Meski aplikasi server seperti PHP lebih mengandalkan database server seperti MySQL atau PostgreSQL, SQLite dapat menjadi pilihan tepat untuk aplikasi yang berjalan di server tunggal dan membutuhkan engine database yang ringan.

SQLite3 adalah SQLite versi 3, peningkatan dari versi sebelumnya 2.8. Saat tulisan ini dibuat, rilis terakhir SQLite3 yang dapat dipakai adalah versi 3.29.0

Instalasi Modul dan Klien

Sebelum menggunakan SQLite di PHP, lakukan pemasangan modul sqlite3 dengan perintah berikut:

 $ sudo apt install php-sqlite3

Jika membangun aplikasi PHP di windows, pastikan ekstensi sqlite3 diaktifkan, berikut baris kode di php.ini untuk mengaktifkan ekstensi sqlite3:

...
;extension=sockets
extension=sqlite3
;extension=tidy
...

Instal pula aplikasi klien untuk dapat bekerja menggunakan SQLite, seperti membuat database baru dan mengatur bentuk tabel. Di Linux, aplikasi klien dapat diinstal dengan perintah berikut:

sudo apt install sqlite3

Aplikasi klien untuk sistem operasi lain bisa diunduh melalui: https://www.sqlite.org/download.html.

Alternatif selain aplikasi klien berbasis baris perintah / CLI, aplikasi klien SQLite juga terdapat antarmuka berbasis grafis / GUI, salah satunya adalah SQLite Browser yang dapat diunduh melalui https://sqlitebrowser.org/

Continue reading “Memprogram Database SQLite3 di PHP”

Komputer Kecil Edukasi micro:bit

Didesain untuk tujuan edukasi, micro:bit adalah komputer kecil yang dapat diprogram, membuat kamu dapat berkreasi dengan teknologi digital. Perangkat ini dikembangkan dengan tujuan untuk belajar dan mengajarkan kode komputer menjadi lebih mudah dan menyenangkan. Mendorong anak-anak untuk terlibat dalam memprogram komputer, elektronik dan pembuatan perangkat secara umum.

Di negara asalnya, BBC memberikan sampai dengan 10 juta perangkat micro:bit secara cuma-cuma kepada anak-anak usia 11 dan 12 tahun di Inggris. Bagian dari program “BBC Make It Digital” sebagai upaya untuk mengantisipasi “kesenjangan keterampilan” dalam pertumbuhan ekonomi digital negara itu. Untuk adopsi ke suluruh dunia, BBC menyerahkan micro:bit ke tangan Microbit Education Foundation, dan kini micro:bit sudah tersedia secara komersial, termasuk sudah dijual di marketplace Indonesia.

Bentuk Fisik micro:bit

Dengan ukuran fisik berukuran setengah kartu kredit, tampilan depan micro:bit dilengkapi dengan display berupa 25 LED beserta 2 tombol kiri dan kanan yang dapat dikonfigurasi.

tampilan depan micro:bit (sumber: microbit:org)

Di dalamnya terdapat akselerometer untuk deteksi gerakan dan mengetahui kapan melakukan gerak. Tertanam kompas untuk mengetahui ke arah mana yang dituju. Terdapat pula bluetooth dan berbagai koneksi untuk menghubungkannya ke lebih banyak sensor.

tampilan belakang micro:bit (sumber: microbit.org)

Memprogram micro:bit

Ada dua editor yang digunakan untuk mengkode micro:bit, yaitu MakeCode Editor dan Python Editor. MakeCode Editor memprogram secara visual dalam bentuk blok-blok (drag-and-drop blocks) dan kode ditulis dalam bahasa pemprograman JavaScript. Sedangkan dengan Python Editor dapat menulis kode menggunakan bahasa pemprograman populer Python.

MakeCode Editor dapat digunakan dengan mengunjungi alamat https://makecode.microbit.org, lalu buat project baru dengan mengklik “+ new project”. Pilih “Basic”, kemudian “Show string” untuk menampilkan kata / kalimat yang akan muncul di layar LED. Seret dan jatuhkan di blok “Forever” agar kata / kalimat tersebut muncul terus menerus, dan masukkan kalimat “HALO, TEMAN!”. Tambahkan “Show Icon” untuk menampilkan gambar-gambar seperti icon hati, tempatkan di bagian bawah “Show String”.

Klik icon “Play” untuk menjalankan kode langsung di editor, dan klik “Download” untuk memasukkan program ke dalam micro:bit. File yang didownload mempunyai ekstensi .hex (misalkan microbit.hex), file yang berisikan program ini nantinya akan berjalan di atas micro:bit.

Hubungkan micro:bit ke komputer dengan menggunakan kabel USB. Di komputer, micro:bit akan dikenali sebagai USB Drive dengan label “MICROBIT”. Salin file .hex tersebut ke USB Drive MICROBIT, di Windows bisa dilakukan juga dengan cara “Send To→MICROBIT”

Untuk memprogram menggunakan Python Editor dapat dilakukan dengan mengunjungi alamat https://python.microbit.org. Tuliskan kode-kode Python di dalam editor, dan klik tombol “Download” untuk memasukkan ke dalam micro:bit.

mikro:bit akan berhenti sebentar dan LED kuning di belakang akan berkedip saat kode diprogram. Setelah selesai kode akan berjalan secara otomatis!

Hal keren apa yang akan kamu buat? micro:bit dapat merespons tombol, cahaya, gerakan, dan suhu. Perangkat ini bahkan dapat mengirim pesan secara nirkabel ke mikro:bit lain menggunakan fitur ‘Radio’ loh!

Untuk pengajar, kamu bisa menggunakan micro:bit untuk mengajar di sekolah dengan sumber daya yang bisa diperoleh di https://microbit.org/teach/