tag:blogger.com,1999:blog-83215582024-03-08T04:25:00.377+08:00bluefuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.comBlogger697125tag:blogger.com,1999:blog-8321558.post-66884252745516394672023-12-31T22:51:00.000+08:002023-12-31T22:51:11.843+08:00Wish Everyone Happy New Year 2024Wish Everyone Happy New Year 2024
Happy New Year 2024!!
fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-8085194021754310292023-12-28T20:02:00.000+08:002023-12-28T20:02:08.255+08:00A Small Issue To Compile Usb-notify Program 2023A Small Issue To Compile Usb-notify Program 2023
undefined reference to notify_notification_new
I like the usb-notify program a lot. This small little program displays a notification on the Linux desktop when a USB device is plugged in.
To compile I need libnotify-dev, libudev-dev package.
$ git clone https://github.com/wcampbell0x2a/usb-notify
$ cd usb-notify
$ makefuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-59777582727436322682023-12-04T22:10:00.002+08:002023-12-04T22:10:31.580+08:00How To Apply RM100 Government eWallet Incentive 2023How To Apply RM100 Government eWallet Incentive 2023
Malaysia government give RM100 incentive for those those who is eligible. The RM100 can be applied through the following eWallet, Touch'n Go eWallet, MAE (Maybank), Shopee Pay, SETEL (Petronas?). Applying period is from 2023 5 December to 2024 20 February.
This RM100 can only be spent on merchants, not transferable or paying bills.
MAE
MAE fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-56338110285872669812023-10-29T20:11:00.000+08:002023-10-29T20:11:47.304+08:00Johor Pay 2023Johor Pay 2023
I am trying to help my aunt to make payment to property assessment fee in Johor, one of the electronic payment options is Johor Pay.
Sarawak Pay may have a chance of success, even if it is not, the residents are happily using it. Johor Pay has less of a chance, as Malaysia already has nationwide DuitNow QR, quite popular and accepted by many merchants. Is easier to ride on fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-70930960734586245272023-10-19T15:55:00.001+08:002023-10-19T15:55:38.615+08:00The mount point of Google drive in Chrome OS LinuxThe mount point of Google drive in Chrome OS Linux
Chrome OS > File app > (right click on Google Drive) > select [ share to linux ]
From Chrome OS Linux, the mount point is:
/mnt/chromeos/GoogleDrive/MyDrive
fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-84812203861576771672023-10-17T20:58:00.000+08:002023-10-17T20:58:01.641+08:00Get Your Own Toucn'n Go eWallet QR CodeGet Your Own Toucn'n Go eWallet QR Code
TNG eWallet > Transfer > Receive (tab)
Your QR code is displayed. Your friend can scan the code and transfer money to you.
fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-24466023130810186212023-10-06T14:11:00.001+08:002023-10-06T14:11:08.939+08:00Upgrade Raspberry Pi Desktop 2022 to Debian 12Upgrade Raspberry Pi Desktop 2022 to Debian 12
Much older Rpi Desktop
The reason I want to upgrade the Raspberry Pi Desktop to Debian 12 Bookworm is just to try out the new Linux kernel 6. The older kernel 5, released in 2019, is about 3-4 years old.
The upgrade takes me around 4 hours on my (older) machine. After upgrading, a lot of the Raspberry Pi Desktop settings were changed, and fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-57662624177362898052022-10-31T15:13:00.000+08:002022-10-31T15:13:21.467+08:00How To Get Maybank2u DuitNow QR CodeHow To Get Maybank2u DuitNow QR Code
Use the "receive" tab to display DuitNow QR
What is a DuitNow QR code?
The easiest way is to ask the payee transfer money to DuitNow (mobile number). You can generate the DuitNow QR for the payee to scan. The DuitNow QR code is normally is red color. In Maybank app, you can specified the amount to be received.
DuitNow is Malaysia nation wide fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-39441462849854786662022-09-26T20:53:00.001+08:002022-09-27T23:44:52.961+08:00Washington Post Mobile App Does It RightWashington Post mobile app does it right
Amazon reminds me, my Washington Post free subscription is going to end. Finally I opened the mobile app.
A lot of the traditional newspapers or magazines get it wrong. They put the PDF version of the newspaper (or magazine) and put it online as an online version. Washington Post is a hybrid version website and traditional version. You have a fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-63434263191097763572022-09-14T17:48:00.004+08:002022-09-14T17:48:45.124+08:00iOS 16 Battery Percentage DisplayiOS 16 Battery Percentage Display
iOS 16 is available for download and update. One of the changes that people are paying attention is the battery percentage displayed in the battery status bar. Anything special about this?
I just don't understand.
fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-5244363998125030752022-09-13T20:49:00.002+08:002022-09-13T20:49:46.638+08:00Google To Cancel Next Pixelbook
Google abandone the chromebook hardware, but hopefully they don't abandon the Chrome OS.
The chromeOS is a good idea and good implementation. It is a Chrome browser running on Linux, it also has Android framework, so it can run Android apk app. It also has a Debian-like Linux which runs in a VM container.
Only Linux users will appreciate chromeOS.
fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-76090605593634379002022-08-04T02:27:00.001+08:002022-08-04T02:27:17.606+08:00Object Oriented Concept For Programmer 2022Object Oriented Concept For Programmer
This is for beginners.
I try to explain object oriented programming is different ways, especially for beginners.
There are 4 things in OOP: Abstraction, Inheritance, Encapsulation and Polymorphism.
Example: Shape (abstraction)
Shape has area, this is abstract. You don't how's the shape looks like (circle? triangle?), and you are not sure fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-1453048837078308442022-05-12T02:49:00.001+08:002022-06-07T22:26:57.897+08:00Using Java For Object Oriented Programming For BeginnersUsing Java For Object Oriented Programming For Beginners
I find it easier to use Java programming language to write object oriented program, compare to Python and C++.
C++ is powerful, but I find it complicated. There are advantages using C++. GNU GCC compiler support C++, you don’t have to install another bloated Java C compiler and Java runtime.
Python is easy to learn and use, but the fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-88731401630659647772022-04-28T01:49:00.017+08:002022-04-28T01:49:00.175+08:00Print Transaction History Receipt RHB Maybank2u 2022Print Transaction History Receipt RHB Maybank2u 2022
Re-print the receipt from online banking is an important function. As a prove to the receipiant party a transaction has been done. You can reprint it in RHB and Maybank2u, through the old website and not the new website (yet).
Maybank2u classic
Switch to the classic website.
Maybank2u classic (fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-79369200650272239062022-04-21T15:04:00.008+08:002022-04-21T15:04:00.174+08:00How To Deregister Fire HD TabletHow To Deregister Amazon Fire HD Tablet
If you want to give away your Amazon Fire HD tablet to the others (as a gift or selling it), make sure it is deregister with you user account. This apply to other Alexa devices as well.
There are a few ways to deregister:
From the device (Fire HD)
Fire OS > Settings > My Account > [DEREGISTER]
Refer to the picture above.
From the web (need Amazonfuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-88417360937990990862022-04-13T16:07:00.013+08:002022-04-13T16:07:00.206+08:00Time Net Speed Monitor on Fire HD 8Time Net Speed Monitor on Fire HD 8
Notice the speed meter on the top left corner?
Time Net Speed Monitor is an app to show network speed on the display. I want this app because I need to monitor the network speed while streaming video.
This app need "Display over other apps" permission. Some system (Fire OS/Android), doesn't allow the permission to be set, it can be fixed by ADB (Android fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-62561862225619011862022-03-23T20:39:00.009+08:002022-03-23T20:39:00.189+08:00Software Automated Testing and Framework 2Software Automated Testing and Framework 2
Python and bourne shell script
Follow up with the previous tutorial (a href="http://fuyichin.blogspot.com/2022/03/software-automated-testing-and-framework.html">here), testing framework for Java (JUnit) and C (cmocka). This tutorial continue with Python and bourne shell script.
Python
$ edit calculator.py
#!/usr/local/bin/python3
def plus(a,b)fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-38014232849742837732022-03-19T20:38:00.004+08:002022-03-19T21:05:50.845+08:00Software Automated Testing and FrameworkSoftware automated testing and framework
The idea of software automated testing is always there, just how to implement it.
Java has a JUnit testing framework, which looks ok. Other programming languages have their own testing framework, which looks similar.
This is a sample of the output of JUnit:
Tests run: 20, Failures: 0, Errors: 0, Skipped: 0
JUnit 4
JUnit has fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-18053947699199603122022-02-17T14:53:00.001+08:002022-02-17T14:53:00.170+08:00MiTV 4K Enable Debug ModeMiTV 4K Enable Debug Mode
Settings > About > Build version, click 7 times.
Note: The build version normally is the last info.
{ } Developer option will appear.
{ } Developer option > [x] Developer option 啓用開發者選項 [x] USB debugging USB 調試
A dialog box appear, allow the permission.
Now you can use the ADB:
$ adb connect
The ip address can be found on the network info.
fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-35201621587002002212022-02-08T02:40:00.000+08:002022-02-08T02:40:05.671+08:00 Android Grant Drawing Over Other AppsAndroid Grant "Drawing over other apps"
Application like SpeedMeter, Assistive Touch may report error or issue about "Drawing over other apps"
You need ADB to grant "Drawing over other apps"
1. find out the package name of the app:
$ adb shell pm list packages
For examples:
com.tuanfadbg.assistivetouchscreenrecorder
visnkmr.apps.timenetspeed
2. grant access
$ adb appops set fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-32660833503831289322022-01-15T22:14:00.000+08:002022-01-15T22:14:38.773+08:00Tutorial Git branch by examplesGit branch by examples
Git branch sound confusing. This is a jumpstart version, I try to make it as easy as possible
Working with Git branch is easy. Git branch is light-weight. When working with new feature or bug fix, just create a new branch.
Use 'git branch' and 'git checkout':
Git branch to create branch and show branches:
format: git branch branch_name
Git checkout to fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-113979324648449082022-01-05T22:58:00.007+08:002022-01-05T22:58:00.189+08:00Fibonacci One Line Code with PythonFibonacci One Line Code with Python
This is using recursive and shorthand if to implement fibonacci. Fibonacci is a sequence, the value of the sequence is the sum of the previous 2 numbers in the sequence: eg. 1, 1, 2, 3, 5, 8, 13, 21, ...
The normal Python function:
def fibonacci(n):
return 1 if n<=1 else fibonacci(n-1) + fibonacci(n-2)
To output:
for n in range(8):
fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-84943753234387416992021-08-19T03:14:00.004+08:002021-08-19T03:14:00.211+08:00Use Echo Flex As Bluetooth EarphoneUse Echo Flex As Bluetooth Earphone
I found a new usage for Amazon Echo Flex, other than use it as a USB charger. I use Echo Flex as a bluetooth earphone while watching movie at night in the living room, so it doesn't disturb the others.
This is how I do it. I plug in the Echo Flex near the sofa, connect the (wire) eaphone to the Echo Flex with the 3.5mm plug. I connect my TV box to my Echofuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-31165844446861051622021-08-04T07:56:00.001+08:002021-10-04T10:23:43.188+08:00Python: PolymorphismPython: Polymorphism
A polymorphism in object orinted programming means a same function have more than 1 implementation.
An example of polymorphism in Python:
> 9*3 ⇒ 27
> '9'*3 ⇒ 999
You can define a multiple function:
> multiple(9, 3)
> multiple('9', 3)
Different variable type in the parameter produce different output.
Polymorphism: Breathing
class fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0tag:blogger.com,1999:blog-8321558.post-85117455864951313562021-07-29T06:27:00.089+08:002021-07-29T06:27:00.221+08:00Python Object Oriented Programming JumpstartPython Object Oriented Programming Jumpstart
This is the quick and dirty jumpstart object oriented programming for Python. Just for quick start reference.
A simple object
$ edit calculator.py
class Calculator(object):
def plus(self, a,b): # self refer to the obj itself
return a+b
print(Calculator().plus(20,30))
cal= Calculator()
print(cal.plus(2,7))
⇒ 50
⇒ 9
The object in fuyichinhttp://www.blogger.com/profile/15976973364289614907noreply@blogger.com0