分類
說說

18031110

鳳凰衛視的《冷暖人生》和明珠台的《明珠檔案》都曾是很好的紀錄片節目,一個改變了視角,一個無法收看。

最近不小心看到幾個關於成龍的新聞,真是噁心。

分類
方法

在Fedora上製作申請簽證用的pdf

新西蘭簽證的網上送簽很方便,只要將資料拍成照片轉成pdf上傳就可以了。在Fedora上,可能需要如下命令來完成。

為了使用convert將jpg轉換pdf,需要安裝ImageMagick
sudo dnf install ImageMagick
#轉換單張jpg為pdf
convert -density 200 Deposit.JPG Deposit.pdf
#轉換多個jpg到一個pdf,如果超過10個,前面的命名要為Passport01.JPG,Passport02.JPG……
convert -density 200 Passport*.JPG Passport.pdf
#壓縮pdf,/ebook可替換為/prepress、/screen獲得更大或更小文檔大小
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=PassportMini.pdf Passport.pdf
#如果要對pdf進行反轉或增刪頁面,可以安裝圖形界面pdfmod
sudo dnf install pdfmod

順帶一提,我嘗試在Windows下使用免費的PDFCreator(V3.1.2)來將jpg轉為pdf,但是轉出的pdf有3條奇怪的豎線。

後記:再次誇一誇新西蘭的在線簽證,三天就出簽了,而且一下子給了5年,真是非常夠意思!


還有一個簡單方便的在線工具 Smallpdf 也能完成上述工作,壓縮效果也非常顯著。免費用戶有當天次數限制,超出的話請付費支持。如果實在囊中羞澀,可以用瀏覽器的隱私模式增加次數。


批量把 pdf 文件轉換成 png 方便手機上查看

雖然可以用 MuPDF mini 在安卓手機上查看 pdf 文件,但是如果有很多文件,開開關關還是不太方便。轉成圖片就可以一個一個瀏覽所有文件。這裏使用 ImageMagick 來完成轉換,Fedora 似乎已經預裝了,如果系統沒有安裝的話可以看看 ImageMagick 的官方網站

mogrify -density 300 -format png -background white -alpha remove -alpha off *.pdf

本文更新於 2023/10/16。

分類
程序

在win平台處理自定義協議

在IOS上,Safari可以通過網頁跳轉到snssdk141://detail?id=123456789拉起指定應用並展示內容,但是Safari並不顯示此鏈接。通過添加註冊表和Python可以實現在PC上獲取到這個自定義的協議鏈接。

首先添加註冊表來監聽這種協議,保存下面文本為p.reg運行即可導入:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\snssdk141]
@="\"URL:My Protocol\""
"URL Protocol"=""

[HKEY_CLASSES_ROOT\snssdk141\shell]

[HKEY_CLASSES_ROOT\snssdk141\shell\open]

[HKEY_CLASSES_ROOT\snssdk141\shell\open\command]
@="\"C:\\Users\\42\\AppData\\Local\\Programs\\Python\\Python35\\python.exe\" \"F:\\scripts\\tt.py\" %1"


然後新建F:\\scripts\tt.py內容如下,把鏈接複製到剪切版:

###!C:\Users\42\AppData\Local\Programs\Python\Python35
# coding:utf-8
#snssdk141://detail/?id=123456789
import sys,pyperclip

if __name__ == '__main__':    
    if str(sys.argv[1]) :
        pyperclip.copy(sys.argv[1])
    else:
        pyperclip.copy('fail')

在火狐打開會自動跳轉的網頁,就會彈出選擇框,選擇python運行後就在剪切板里獲取到了snssdk141://detail/?id=123456789。

彎路:火狐並不能添加處理自定義協議的設置。Chrome 58版本在網絡面板可以看到snssdk141://detail/?id=123456789這個鏈接,但是新版Chrome、Chronium和Firefox ESR均無法顯示出網頁中試圖訪問自定義鏈接的請求。requests的作者新開發了個工具叫requests-html,可以支持js和用chrome渲染頁面,及跟蹤網頁跳轉,但是文檔似乎還不完整。

參考:Launching applications using custom browser protocols

分類
软件

開放街圖與MAPS.ME

OpenStreetMap 是由製圖者社群所建立,他們提供及不斷更新包括有關世界各地的道路、路徑、咖啡館、火車站等等的資料。地方知識、社群推動、開放資料是它的特點。得益於社群推動,OpenStreetMap 很可能擁有更新更準確的資訊,這點我在深圳、香港、日本、意大利旅行時有深切的感受。如果沒有 OpenStreetMap 我的多數旅行都不可能那麼順利而有趣!有興趣參與的朋友可以參考 learnOSM 的教程。

MAPS.ME 是一款開源的離線地圖應用,地圖數據來自 OpenStreetMap 。有蘋果版和安卓版供下載。由於 OpenStreetMap 並不提供移動客戶端,所以我之前都是使用 MAPS.ME,預先將目的地的地圖下載好就可以使用了。它提供的路徑規劃功能雖不能說完美,但是已經很不錯了,步行和騎行路徑還有海拔變化,對於行山真的很有用。MAPS.ME 提供了簡單的添加地點的功能,登入 OpenStreetMap 賬號即可為 OpenStreetMap 作貢獻,不過如果想專業地添加地理資訊,還是通過網頁版 OpenStreetMap 來操作比較好。

Maps 是 MAPS.ME 的一個複製,在原版的基礎上添加了路徑追蹤和自定義書籤功能。之前由於 MAPS.ME 拒絕在主要位置添加數據來源爲 OpenStreetMap 而被很多用戶投訴,這也是我使用 Maps 的一個原因,然而還是由於 MAPS.ME 的問題,Maps 現在的版本 10.2.0 有兩個很麻煩的問題。這兩個問題可以根據 App stuck in download at startup 的方法來解決,我簡單記錄下。

  1. 備份下儲存卡中的 /MapsWhithMe 文件夾,書籤與記錄都在這裡。
  2. 在手機的 設置->應用-> Maps 中,強制停止應用,然後清理數據和緩存。
  3. 前往 http://opensource-data.mapswithme.com/regular/weekly/ 下載所有的 .ttf 文件以及 World.mwm 和 WorldCoasts.mwm。我還需要廣東省地圖,所以還要下載 China_Guangdong.mwm 。
  4. 清空手機上的 /MapsWhithMe 文件夾,然後把剛剛下載的除了 China_Guangdong.mwm 之外的文件複製進去。
  5. 把 WorldCoasts.mwm 複製一份,並改名為 WorldCoasts_obsolete.mwm (同樣是放在 /MapsWhithMe 文件夾)。
  6. 啟動 Maps,給予權限後稍等片刻即可看到世界地圖已正確加載。
  7. 關閉 Maps,把需要的之前備份的 .kml 文件複製回 /MapsWhithMe 文件夾,書籤就回復了。另外可以看到 MapsWhithMe 文件夾中有了一以日期為名字的文件夾,把 China_Guangdong.mwm 放進去,就可以正常使用了。

另一問題是每次打開 Maps,都會有一個煩人的引導需要點擊一次。目前已知的一種辦法是安裝一下 MAPS.ME,點掉引導,卸載 MAPS.ME。之後 Maps 就也不會出現了。但是這個做法不是很理想,我沒有試,希望下個版本可以解決這個問題吧。

除了 Maps,其實還有一款離線地圖 OsmAnd~,但是 OsmAnd 的圖層顯示不如 MAPS.ME 的直觀,不知道是不是先入為主看習慣的原因。對於步行路線的規劃,無論是操作複雜程度以及規劃結果,感覺上也都不如 MAPS.ME。不過還是可以推薦大家試試,畢竟沒有 Maps 那樣需要複製來複製去的操作。

20210923 更新:MAPS.ME 後來被出售給了一家商業公司,新公司糟糕的運營導致 MAPS.ME 在谷歌市場惡評如潮。就我個人使用而言,幾乎已經無法繼續使用。在此期間,由於上游的變動 Maps 最終也停止更新了。OsmAnd 用了一段時間,但是還是覺得很多方面有待提高,尤其是徒步的導航。終於我發現 MAPS.ME 的開發者們開發了另一款離線地圖應用 Organic Maps,沒有任何廣告,尊重隱私,開源而好用的離線地圖又回來了!

本文更新於 2021/09/23。

分類
讀書

18020914

這樣的樂趣,對於富裕的人來說,是不值一提的,只是我自身的今昔之比。

說到底,三界就是一個「心」字。心不安靜,象、馬和七寶也不珍貴,宮殿、樓閣也不期望。如今這寂寥的住居——一間小庵,我自珍愛。偶爾去京城,雖然為自己形同乞丐而羞恥,但歸來居庵時,又為他人奔馳於俗塵而哀憐。假如有人懷疑我這說法,那就看看魚和鳥的瀟洒吧。魚不厭水,魚外之物哪知魚之心。鳥顧林間,鳥外之物哪知鳥之心。閑居的趣味也同樣,你不住這小庵,哪知其中奧妙。

吉田兼好《徒然草》
分類
软件

ShareX

今天SpaceX成功發射了一架運載力達到63噸(63噸是近地軌道LEO,如果是地球同步轉移軌道GTO則為27噸,而發往火星的話是16噸)的火箭Falcon Heavy。但我今天介紹的卻是Windows下一款很好用的截屏軟件ShareX。ShareX好處有很多,我看中的有開源、免費、無廣告、輕量。雖然它還有強大的截屏分享、錄製gif等功能,但我並未用到。

安裝後在「快捷動作」中可以設置自己喜歡的快捷按鍵來觸發截屏。在「截圖後動作」中我選擇了打開圖像編輯器和圖像複製到剪切版。「任務設置」中取消了截圖後聲音提示。這樣就能愉快的使用了!

分類
软件

Termux是個好軟件

Termux是一個無需 root 權限和複雜安裝步驟的安卓終端模擬器和 Linux 環境軟件。推薦使用 F-Droid 安裝 Termux,如果用谷歌市場(谷歌市場版本已廢棄),有些插件要付費,而開源平台 F-Droid 則不必。如果你要用 GUI 插件,那麼你需要從 Github 下載安裝 Termux,F-Droid當前的包有點問題。另一個很厲害的東西就是,它可以玩Python(嘗試自己編譯失敗,源里編譯好的可用)。

使用內部儲存空間

在手機的設定>應用程式>Termux>權限中打開「儲存空間」的開關。然後在Termux中運行termux-setup-storage。

常用軟件

nano python openssh wget

別名文件位於 ~/.bash_profile ,新建別名後可以方便的執行複雜的命令。

alias d1='/data/data/com.termux/files/home/scripts/dns.sh 1'

配置ssh

由於安全原因,Termux禁止使用賬號密碼連接到手機,只能用key。同時為了照顧未root的手機,所以ssh端口監聽在8022端口。

通過密碼方式訪問本機ssh可以參考官方文檔Setting up password authentication。之前是只能通過密鑰對訪問的,雖然更安全,但是卻是不便利。

如果你客戶端(你的電腦)已經有密鑰對,那麼把公鑰傳到手機上,然後追加到手機~/.ssh/authorized_keys里就可以了。如果沒有,就在客戶端生成一個密鑰對,建議提示輸入密碼的時候設置一個密碼。

然後在手機上運行sshd開啟ssh服務,客戶端用ssh -p 8022 172.16.5.223來鏈接到手機。停止手機上的ssh服務可以執行pkill sshd。

配置額外按鍵

命令行經常用的Ctrl、Alt、上下左右方向鍵,都可以通過編輯~/.termux/termux.properties來自定義,比如我的就是

extra-keys = [ \
 ['ESC','/','_','HOME','UP','END','PGUP'], \
 ['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN'] \
]

使用 Termux API

首先手機安裝 Termux:API ,然後在 Termux 中安裝 termux-api ,執行 apt install termux-api 即可。最後就可以參考 Termux API 文檔來玩耍了。

#查看當前位置
#termux-location [-p gps/network/passive] [-r once/last/updates]
termux-location -p gps -r once
#設置剪切版內容
termux-clipboard-set [text]
#獲取剪切版內容
termux-clipboard-get
#拍攝一張照片
#默認0是主攝像頭
termux-camera-photo [-c camera-id] output-file 

#錄音15秒
termux-microphone-record -d -l 15 -f audio.aac
#結束錄音
termux-microphone-record -q

使用 Termux Widget

Widget 可以方便的從桌面執行腳本,只需要手指一點,輕鬆方便。

從F-Droid安裝插件,然後在把要執行的腳本放在 ~/.shortcuts/~/.shortcuts/tasks ,前者會打開新窗口運行,後者在後臺運行。如果失敗的話,看看文件夾是不是 700 的權限。

安裝 exiftool

exiftool處理多媒體視頻Exif信息的得力工具。

#從ExifTool主頁下載安裝包,假設下載的文件是Image-ExifTool-11.37.tar.gz,下載到了Downloads文件夾。
cd Downloads
gzip -dc Image-ExifTool-11.37.tar.gz | tar -xf -
cd Image-ExifTool-11.37
perl Makefile.PL
make install
chmod +x /data/data/com/com.termux/files/usr/bin/exiftool
#然後就可以使用exiftool來處理媒體文件了
#刪除temp文件夾中所有文件的exif信息
exiftool -all= temp
#卸載exiftool
cd Downloads
make uninstall

使用 crontab 定時執行

pkg install cronie termux-services
# restart termux session
sv-enable crond 
crontab -e 

本文更新於 2022/08/09。