Python GUI Frontend Options Comparison

Mainly for the (cross-platform) Python GUI frontend options.

CEF (Chromium Embedded Framework). Pro: can use the same way of MVC thinking (modern html5); build-in chromium browser. Con: someone said it may need a little c++.

PyQt (v5). Pro: big community, good doc (for c++). Con: c++ way of thi......

Python-docx for MS Word

As the pyhon-docx does not want to provide a documentation (except some APIs) and the API doc web is really hard to browse and read, here are some small tips/demo tutorials to remember/avoid pits and falls.

Please note:

lib (0.8) provides only basic functions mainly for adding something (see......




“改”=“+ Koolshare”

File Transfering

By: FileBrowser

manual install koolshare app offline

upload to /tmp

tar xvzf ...


Python Convert Images to PDF

Two methods of downloading & converting pictures/images to a combined pdf file with parallel (multi-thread) from Mark Needham.

f.write(img2pdf.convert(...)) [ref MarkHNeedham]

from PIL import Image [ref DataToFish]

Note: fpdf is not suggested as it canNOT support jpg natively. [ref s......

Useful Tips

Top Chrome plugins list on Github [cn intro]



PlantUML is a convinient tool to make diagrams using UML language/format, such as sequence diagrams, use cases, flow diagrams etc.

puml pic-ref


Markdown MD In Case Of

Open Links in New Tabsusing md

For Kramdown, e.g. Jekyll:


In general, the format in Kramdown is {: attribute1="value1" attribute2="value2"}

For pandoc:


In general, the format......

Boot Partitions, Install Multi-OS

See also: easy2boot, Automatic-Unattended-Install-of-Ubuntu.

When installing Ubuntu, it will decide what kind of partition to use:

Ubuntu decicison tree for using entire disk:

? installer booted in EFI mode or BIOS mode?


: use gpt and never make biosboot


? is the disk larger tha......

VirtualBox Network and Skills

OBS: cloning a VM with the status of pause (not powered-off), it canNOT re-initialize the MAC address. Thus, it is necessary to disconnect the cable and poweroff to re-initialize the MAC and then boot.


Tested on v18.04.

sudo apt-get update && \

sudo apt-get -y install ......

Restful API

The insomnia client is used, (Postman is too slow, SoapUI has not been tested).


Install & Basic Configinstallsudo apt-get install isc-dhcp-server


vi /etc/default/isc-dhcp-server

INTERFACES="eth0 eth1 eth2"

config network param

vi /etc/dhcp/dhcpd.conf

# ns servers separated by comma "," ! ! !

option domain-name-servers,;

# lease time ......