Big Tech Alternatives

FunctionBig/Evil TechModern Alternatives
EmailGmailProton Mail (Zero-Knowledge Encryption. The host cannot decrypt)
IMWhatsappSignal (Zero-Knowledge Encryption. The host cannot decrypt)
Telegram (Better voice quality. The host so far won’t sell-out its users to tyranny)
DNSYour ISPVerisign (Privacy Respecting)
SearchGoogleDuckDuckGo (Privacy Respecting)
TranslateGoogle
Translate
deepL
Video ConferencingZoom,
Skype (Microsoft)
Jami (OpenDHT so nobody can ban you) / Jitsi

Loading

尊重私隱的通訊軟件 Signal & Telegram

現在科網絡巨企業壟斷 網絡資訊 和替 某支邪惡政權 侵害言論自由 從而 偷取美國實質政權。今天 Whatsapp 宣佈 用戶資料 (尤其是通訊錄和通話記錄) 要和母公司Facebook結合。

大家請不要再使用邪惡利益集團的平台,然後讓他們任意宰割。為了避免個人資料(尤其是電話簿)外洩,要在今年(2021)二月前把 Whatsapp 刪掉。尊重個人私隱的代替品有 Signal App (signal.org) 和 Telegram (telegram.org)。

如果要保障資料不被出賣,Signal是首選!要好好記住密碼,忘記了的話,Signal方面沒有辦法解密(即是執法機關沒有辦法逼他們交出主人密碼)。Telegram 是俄羅斯富商自費研發的,從來不向獨裁者交出用戶資料。但技術上不可能被出賣 Signal 總比要看 Telegram 的主人的逆權鬥志安全。

Signal 是富商 Brian Action 離開 Whatsapp 後用自己的資金的 非牟利( 美國501(c)(3) )事業。他是和 Whatsapp 意見不合而離開的,應該不是和 FB/Whatsapp 一伙。

同話質素 Signal 比 Whatsapp/Telegram 差。而我的使用經驗到目前為止 Telegram 的最好,語音質素比 Whatsapp 好很多。打電話我會用 Telegram。

現時我的建議是兩個都裝,用Signal短訊,用Telegram打電話。

Signal 有中文版。不是應用程式裏面轉語言的。Telegram 下載時候是英文版,安裝後到這個網頁直接按下所需語言包的連結,Telegram 會自動下載語言包和轉換語言。

Signal Desktop 版需要 Signal App 掃描 QR code。如果沒有智能手機,只有 Telegram 支援用SMS短訊認證。

可能因為 Signal 的保安嚴密,如果要用瀏覽器界面,只有 Telegram 可以 (web.telegram.org)。

Loading

Use SSD for bootable USB stick Linux liveboot

If you flash a Debian-style Linux live-boot image that’s intended for USB stick on a USB-SSD itself (for speed), it will get stuck at initramfs on boot because unlike USB sticks, USB SSD drives are not considered removable drives, yet the live-boot parameters (scripts) set to search only removable media, hence it cannot find the right device.

The solution is to remove live-media=removable as boot parameter (typically under append initrd). You can do that quickly on each boot by TAB key to modify this key-value pair out of the boot parameters and hit enter.

To make it persistent, you have to edit the scripts where these boot parameter lives. The live USB stick/CD was supposed to be mounted as a read-only volume, so we need to first remount it as writable in order to modify the scripts:

mount -o remount -w /lib/live/mount/medium

Note the -w parameter which means writable. -o means options. -o remount,rw means exercising the remount option as a writable drive (-w is alternate syntax for writable).

Make sure you have root access (to modify these files), and edit these live*.cfg files if it shows up in the following folders:

/lib/live/mount/medium/syslinux/live*.cfg
/lib/live/mount/medium/EFI/boot/live*.cfg

Then take out live-media=removable in for the boot menu item you normally use for each of these script .cfg files. Reboot after you are done.

Loading

Nested Ordered List Plugin Conflicts

I recently had problem with Enlighter plugin (for displaying code) being misaligned after upgrading my WordPress. The Enlighter text went outside the boxes in desktop browser mode and I contacted the author of the plugin for help in the forum, and learned it was actually Nested Order List (NOL) plugin that’s overriding the CSS rules that defines the margins.

Another user had similar problem NOL conflicting certain templates and the author of NOL suggested similar causes that the CSS style from the plugin messed with other styles:

.nested-list .entry-content ul,
.nested-list .hentry ul {
 margin:.8em 0 .8em 1.4em
}

The author suggested that the NOL plugin itself is not complicated to start with (it’s just adding a CSS), and the same functionality can achieved by adding this CSS to my WordPress theme template (pasting the following text under “Additional CSS”):

.entry-content ol,
.hentry ol {
 counter-reset:level1;
}
.entry-content ol ol,
.hentry ol ol {
 counter-reset:level2
}
.entry-content ol ol ol,
.hentry ol ol ol {
 counter-reset:level3
}
.entry-content ol>li,
.hentry ol>li {
 list-style-type:none;
 line-height:1.4;
 text-indent:-1.5em
}
.entry-content ol>li:before,
.hentry ol>li:before {
 content:counter(level1,decimal)'. ';
 counter-increment:level1;
 display:inline-block;
 text-align:right;
 text-transform:none;
 width:1em
}
.entry-content ol ol>li:before,
.hentry ol ol>li:before {
 content:counter(level2,lower-alpha)'. ';
 counter-increment:level2
}
.entry-content ol ol ol>li:before,
.hentry ol ol ol>li:before {
 content:counter(level3,lower-roman)'. ';
 counter-increment:level3
}

It worked like a charm!

Loading