Coding Spirit



When I was in university, I had developed a BLE based UAV controller based on an open source Android BLE library. The library itself is quite easy to use but I decided to develop an Android BLE app with native Android BLE API, which can connect and communicate with BLE GATT devices.

Read more »

“Swipe down/Pull down to refresh” is a widely used feature in various kinds of apps. Let’s see how can we do that via SwipeRefreshLayout in AndroidX.

Read more »

When we try to access a serial port device(i.e /dev/ttyUSB0) as a normal user, a Permission denied error will occur. Let’s take a look at permissions for those serial port devices:

ll /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 6月 22 19:28 /dev/ttyUSB0

As we can see, except root user, dialout group also has permissions to those serial port tty devices. Hence, to allow normal user access serial port devices, adding normal user to dialout group will suffice:

sudo usermod -aG dialout $USER

kazam is an easy to use screen record tool for Linux. User can install it via apt install kazam on Debian based distribution. After recording, kazam supports to save as mp4 files, which are 4:4:4 by default. To make it available for typical player on other platform, we can covert it to 4:2:0:

ffmpeg -i ${original.mp4} -vf format=yuv420p ${new.mp4}