mirror of https://gitlab.com/curben/blog
fix: formatting
This commit is contained in:
parent
d42b6e18b8
commit
6117ada847
|
@ -27,10 +27,10 @@ Screenshots:
|
||||||
StarHub | China Unicom HK
|
StarHub | China Unicom HK
|
||||||
---|---
|
---|---
|
||||||
Pros:<br/>- Support [more countries](http://www.starhub.com/personal/mobile/mobile-phones-plans/prepaid-cards/happy-roam.html#hr_plans)<br/>- Can be kept active | Pros:<br/>- Widely available online<br/>- Does not require ID
|
Pros:<br/>- Support [more countries](http://www.starhub.com/personal/mobile/mobile-phones-plans/prepaid-cards/happy-roam.html#hr_plans)<br/>- Can be kept active | Pros:<br/>- Widely available online<br/>- Does not require ID
|
||||||
Cons:<br/>- Only available at Singapore Airport | Cons:<br/>- One-time use only* <br/>- Support only Mainland China.*
|
Cons:<br/>- Only available at Singapore Airport | Cons:<br/>- One-time use only\* <br/>- Support only Mainland China.\**
|
||||||
|
|
||||||
\* Except for [this product](https://res.cloudinary.com/curben/image/upload/20181231/unicom-cross-border.jpg).<br/>
|
\* Except for [this product](https://res.cloudinary.com/curben/image/upload/20181231/unicom-cross-border.jpg).
|
||||||
**Some plans include Hong Kong, Macau or Taiwan.
|
\** Some plans include Hong Kong, Macau or Taiwan.
|
||||||
|
|
||||||
|
|
||||||
StarHub SIM is available at the Singapore Changi Airport, so it's a good option if you transit over there. You can top-up the prepaid value to keep it active. However, I think this SIM is not available online, so if you're not transiting through Singapore, your next option would be the China Unicom SIM.
|
StarHub SIM is available at the Singapore Changi Airport, so it's a good option if you transit over there. You can top-up the prepaid value to keep it active. However, I think this SIM is not available online, so if you're not transiting through Singapore, your next option would be the China Unicom SIM.
|
||||||
|
@ -39,7 +39,7 @@ China Unicom SIMs shown here are provided by its Hong Kong subsidiary, so they a
|
||||||
|
|
||||||
Do note the SIM package cover must be one of four examples provided above, otherwise the SIM could be China Unicom domestic SIM ([example](https://res.cloudinary.com/curben/image/upload/20181231/unicom-domestic.jpg)). The SIM is one-time use only. The SIM is activated once you start using it and when you reach the validity period, it can no longer be used.
|
Do note the SIM package cover must be one of four examples provided above, otherwise the SIM could be China Unicom domestic SIM ([example](https://res.cloudinary.com/curben/image/upload/20181231/unicom-domestic.jpg)). The SIM is one-time use only. The SIM is activated once you start using it and when you reach the validity period, it can no longer be used.
|
||||||
|
|
||||||
If you haven't noticed, the SIMs I mentioned here (including Starhub and China Unicom) are **data-only**. So you can't make/send/receive calls and SMS.
|
If you haven't noticed, the SIMs I mentioned here (including Starhub and China Unicom) are **data-only** (some can call/text, read below). So you can't make/send/receive calls and SMS.
|
||||||
|
|
||||||
**Edit**: I found China Unicom SIMs that can call (not sure about text) between Mainland and Hong Kong; [3-day](https://res.cloudinary.com/curben/image/upload/20181231/unicom-3-day.jpg) and [5-day](https://res.cloudinary.com/curben/image/upload/20181231/unicom-5-day.jpg) SIMs. They are Hong Kong SIMs, so they should work. They include data but the SIMs are one-time use only.
|
**Edit**: I found China Unicom SIMs that can call (not sure about text) between Mainland and Hong Kong; [3-day](https://res.cloudinary.com/curben/image/upload/20181231/unicom-3-day.jpg) and [5-day](https://res.cloudinary.com/curben/image/upload/20181231/unicom-5-day.jpg) SIMs. They are Hong Kong SIMs, so they should work. They include data but the SIMs are one-time use only.
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,8 @@ The most effective ways of reducing the file size of a PDF is by converting to g
|
||||||
|
|
||||||
Requirement: ghostscript (installed by default in Ubuntu)
|
Requirement: ghostscript (installed by default in Ubuntu)
|
||||||
|
|
||||||
|
## Single PDF
|
||||||
|
|
||||||
Save the following script as "pdfcompress.sh".
|
Save the following script as "pdfcompress.sh".
|
||||||
|
|
||||||
Usage: `sh pdfcompress.sh input.pdf`
|
Usage: `sh pdfcompress.sh input.pdf`
|
||||||
|
@ -45,7 +47,8 @@ Options ([more info](https://ghostscript.com/doc/current/Ps2pdf.htm#Options)):
|
||||||
- */printer* selects output similar to the Acrobat Distiller "Print Optimized" setting. 300 DPI.
|
- */printer* selects output similar to the Acrobat Distiller "Print Optimized" setting. 300 DPI.
|
||||||
- */prepress* selects output similar to Acrobat Distiller "Prepress Optimized" setting. 300 DPI.
|
- */prepress* selects output similar to Acrobat Distiller "Prepress Optimized" setting. 300 DPI.
|
||||||
|
|
||||||
</br>
|
## PDFs in a folder
|
||||||
|
|
||||||
Use the following script to compress all PDFs in a folder.
|
Use the following script to compress all PDFs in a folder.
|
||||||
|
|
||||||
Usage: `sh pdfcompress.sh 'target folder'`
|
Usage: `sh pdfcompress.sh 'target folder'`
|
||||||
|
@ -77,5 +80,6 @@ for i in *.pdf; do
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
|
<br/>
|
||||||
Source: [Internal Pointers](https://www.internalpointers.com/post/compress-pdf-file-ghostscript-linux), [firstdoit](https://gist.github.com/firstdoit/6390547), [ahmed-musallam](https://gist.github.com/ahmed-musallam/27de7d7c5ac68ecbd1ed65b6b48416f9), [Ghostscript Docs](https://ghostscript.com/doc/current/Ps2pdf.htm)
|
Source: [Internal Pointers](https://www.internalpointers.com/post/compress-pdf-file-ghostscript-linux), [firstdoit](https://gist.github.com/firstdoit/6390547), [ahmed-musallam](https://gist.github.com/ahmed-musallam/27de7d7c5ac68ecbd1ed65b6b48416f9), [Ghostscript Docs](https://ghostscript.com/doc/current/Ps2pdf.htm)
|
||||||
|
|
||||||
|
|
|
@ -23,42 +23,42 @@ Personally I use [microG-bundled LineageOS](https://lineage.microg.org/) as I'm
|
||||||
|
|
||||||
microG is not 100% replacement of Google Play Services, possibly will never be—it [hasn't implement](https://github.com/microg/android_packages_apps_GmsCore/wiki/Implementation-Status) all the APIs. Following are the problematic apps and their alternatives. (**Edit**: I wrote a {% post_link recommended-android-apps 'list of alternative apps' %} including the apps below plus some others which are not necessarily incompatible with microG.)
|
microG is not 100% replacement of Google Play Services, possibly will never be—it [hasn't implement](https://github.com/microg/android_packages_apps_GmsCore/wiki/Implementation-Status) all the APIs. Following are the problematic apps and their alternatives. (**Edit**: I wrote a {% post_link recommended-android-apps 'list of alternative apps' %} including the apps below plus some others which are not necessarily incompatible with microG.)
|
||||||
|
|
||||||
**App**: Play Store<br/>
|
**App**: Play Store
|
||||||
**Issue**: No app or in-app purchase ([NanoDroid](http://nanolx.org/nanolx/nanodroid) claimed to support).<br/>
|
**Issue**: No app or in-app purchase ([NanoDroid](http://nanolx.org/nanolx/nanodroid) claimed to support).
|
||||||
**Alternative**: F-Droid + Yalp Store<br/>
|
**Alternative**: F-Droid + Yalp Store
|
||||||
**Info**: F-Droid is an app store for open source apps. Many of the apps I'm going to recommend can be installed through it. With [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota/) (usually installed alongside with microG), it can auto update installed apps.<br/>
|
**Info**: F-Droid is an app store for open source apps. Many of the apps I'm going to recommend can be installed through it. With [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota/) (usually installed alongside with microG), it can auto update installed apps.
|
||||||
For proprietary apps, use Yalp Store. You can use built-in credential to install free apps or use your credential to install purchased apps. Purchase apps through Play Store's [website](https://play.google.com/store). I recommend installing it as a system app (flash the [OTA.zip](https://github.com/yeriomin/YalpStore/releases) in recovery) to automatically install once an APK is downloaded. Root is required for auto-download updates. Go to the Yalp setting, set "*Only the chosen apps will be checked for updates*" and whitelist any apps you installed via F-Droid.
|
For proprietary apps, use Yalp Store. You can use built-in credential to install free apps or use your credential to install purchased apps. Purchase apps through Play Store's [website](https://play.google.com/store). I recommend installing it as a system app (flash the [OTA.zip](https://github.com/yeriomin/YalpStore/releases) in recovery) to automatically install once an APK is downloaded. Root is required for auto-download updates. Go to the Yalp setting, set "*Only the chosen apps will be checked for updates*" and whitelist any apps you installed via F-Droid.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**App**: Google Maps<br/>
|
**App**: Google Maps
|
||||||
**Issue**: No location, possibly due to absence of [incomplete/outdated](https://github.com/microg/android_packages_apps_GmsCore/wiki/Implementation-Status) [Maps API](https://arstechnica.com/gadgets/2018/07/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/4/).<br/>
|
**Issue**: No location, possibly due to absence of [incomplete/outdated](https://github.com/microg/android_packages_apps_GmsCore/wiki/Implementation-Status) [Maps API](https://arstechnica.com/gadgets/2018/07/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/4/).
|
||||||
**Alternative**: HERE WeGo, OsmAnd, MAPS.ME<br/>
|
**Alternative**: HERE WeGo, OsmAnd, MAPS.ME
|
||||||
**Info**: HERE WeGo supports public transit. Despite [being funded](https://web.archive.org/web/20150816051912/http://company.nokia.com/en/news/press-releases/2015/08/03/nokia-completes-next-stage-of-transformation-with-agreement-to-sell-here-to-automotive-industry-consortium-at-an-enterprise-value-of-eur-28-billion#) by the Germany big 3 autos, the app looks dated and not as smooth as Google and iOS Maps. OsmAnd and MAPS.ME are open source and utilise [OpenStreetMap](https://www.openstreetmap.org/), but doesn't support public transit (AFAIK).<br/>
|
**Info**: HERE WeGo supports public transit. Despite [being funded](https://web.archive.org/web/20150816051912/http://company.nokia.com/en/news/press-releases/2015/08/03/nokia-completes-next-stage-of-transformation-with-agreement-to-sell-here-to-automotive-industry-consortium-at-an-enterprise-value-of-eur-28-billion#) by the Germany big 3 autos, the app looks dated and not as smooth as Google and iOS Maps. OsmAnd and MAPS.ME are open source and utilise [OpenStreetMap](https://www.openstreetmap.org/), but doesn't support public transit (AFAIK).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**App**: Google Calendar<br/>
|
**App**: Google Calendar
|
||||||
**Issue**: Crash on boot. Depends on proprietary GoogleCalendarSyncAdapter.apk. Possibly due to incomplete [Account Authentication API](https://github.com/microg/android_packages_apps_GmsCore/wiki/Implementation-Status).<br/>
|
**Issue**: Crash on boot. Depends on proprietary GoogleCalendarSyncAdapter.apk. Possibly due to incomplete [Account Authentication API](https://github.com/microg/android_packages_apps_GmsCore/wiki/Implementation-Status).
|
||||||
**Alternative**: [Simple Calendar](https://github.com/SimpleMobileTools/Simple-Calendar) + [DAVx⁵](https://gitlab.com/bitfireAT/davx5-ose)<br/>
|
**Alternative**: [Simple Calendar](https://github.com/SimpleMobileTools/Simple-Calendar) + [DAVx⁵](https://gitlab.com/bitfireAT/davx5-ose)
|
||||||
**Info**: It's still problematic even with GoogleCalendarSyncAdapter.apk installed. Google Account is not well-supported in microG. While you can use DAVx⁵ to sync calendar events in Google Account, it's a hit-or-miss and reminders are not supported. This is due to the [lack](https://forums.bitfire.at/post/9235) of OAuth 2.0 support in DAVx⁵. Alternatively, you can migrate your data to free email providers that supports CalDAV/CardDav, i.e. [Disroot](https://disroot.org/en) (using [Nextcloud](https://www.davx5.com/tested-with/nextcloud)), [GMX](https://www.davx5.com/tested-with/gmx) and [Yandex](https://www.davx5.com/tested-with/yandex).
|
**Info**: It's still problematic even with GoogleCalendarSyncAdapter.apk installed. Google Account is not well-supported in microG. While you can use DAVx⁵ to sync calendar events in Google Account, it's a hit-or-miss and reminders are not supported. This is due to the [lack](https://forums.bitfire.at/post/9235) of OAuth 2.0 support in DAVx⁵. Alternatively, you can migrate your data to free email providers that supports CalDAV/CardDav, i.e. [Disroot](https://disroot.org/en) (using [Nextcloud](https://www.davx5.com/tested-with/nextcloud)), [GMX](https://www.davx5.com/tested-with/gmx) and [Yandex](https://www.davx5.com/tested-with/yandex).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**App**. Google Contacts<br/>
|
**App**. Google Contacts
|
||||||
**Issue**: Depends on proprietary GoogleContactsSyncAdapter.apk<br/>
|
**Issue**: Depends on proprietary GoogleContactsSyncAdapter.apk
|
||||||
**Alternative**: [Simple Contacts](https://github.com/SimpleMobileTools/Simple-Contacts) + DAVx⁵<br/>
|
**Alternative**: [Simple Contacts](https://github.com/SimpleMobileTools/Simple-Contacts) + DAVx⁵
|
||||||
**Info**: Email providers mentioned in Google Calendar section can sync contacts using CardDAV.
|
**Info**: Email providers mentioned in Google Calendar section can sync contacts using CardDAV.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**App**. Google Pay<br/>
|
**App**. Google Pay
|
||||||
**Issue**: Failed SafetyNet<br/>
|
**Issue**: Failed SafetyNet
|
||||||
**Alternative**: [Loyalty Card Keychain](https://f-droid.org/packages/protect.card_locker/) (for loyalty cards only)<br/>
|
**Alternative**: [Loyalty Card Keychain](https://f-droid.org/packages/protect.card_locker/) (for loyalty cards only)
|
||||||
**Info**: SafetyNet can be bypassed through 1) DroidGuard Helper (available from microG's F-Droid [repo](https://microg.org/download.html), install as a system app) or 2) [Magisk Module](https://magiskroot.net/bypass-safetynet-issue-cts/).
|
**Info**: SafetyNet can be bypassed through 1) DroidGuard Helper (available from microG's F-Droid [repo](https://microg.org/download.html), install as a system app) or 2) [Magisk Module](https://magiskroot.net/bypass-safetynet-issue-cts/).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**App**. Whatsapp, Facebook Messenger and other chatting apps<br/>
|
**App**. Whatsapp, Facebook Messenger and other chatting apps
|
||||||
**Issue**: A delay in receiving message<br/>
|
**Issue**: A delay in receiving message
|
||||||
**Info**: Enable "Google Cloud Messaging" in microG Settings and allow relevant apps to register.
|
**Info**: Enable "Google Cloud Messaging" in microG Settings and allow relevant apps to register.
|
Loading…
Reference in New Issue