分類
其它

210609

最近看來兩個電影和一本書都相當刺激,推薦給成年*讀者們找來看一看。第一個電影叫《无邪》(شیطان وجود ندارد)(imdb:tt11697844),獲得第 70 屆柏林電影節最佳影片金熊獎。第二個電影叫《新秩序》(Nuevo orden)(imdb:tt12474056)。書呢,就是大名鼎鼎的《1984》,作者很厲害,現在看來真是一點都不過時。我是從本地圖書館借閱到,因為最近圖書館提升了借閱額度,每次可以借閱二十本書了!如果你本地的圖書館沒有這本書,又無力購買的話,我搜索到了這個電子版(PDF格式)可供下載。如果上一個連接無法打開的話,請再嘗試用這個鏈接來獲取。

請在力所能及的情況下支持正版。

*前幾天看了一場郭初陽老師在一席的演講——《學語文,不需要語文書》,居然可以給小學生推薦《動物農場》,非常慚愧我到現在都還沒有讀過。

本文更新於 2021/06/22。

分類
其它

國際檔案日

【深圳市檔案局】6 月 9 日是第 14 個國際檔案日,「檔案話百年」,檔案守護歷史、傳承文明、資政育人、服務現實,檔案就在您身邊!

在 2007 年的國際檔案協會的年度大會(ICA Annual General Meeting)上,6 月 9 日被選來作爲國際檔案日(International Archives Day)。選擇6月9日這一天,是爲了紀念 1948 年國際檔案理事會(The International Council on Archives )在聯合國教科文組織的支持下成立的日期。

國際檔案日和國際檔案周的目標是:

  • 提高公衆對記錄和檔案的重要性的認識。
  • 提高高級決策者對檔案管理可為良好治理和發展帶來好處的認識。
  • 提高公衆、私營和公共部門對長期保存和利用檔案的必要性的認識。
  • 展示保存在檔案機構的獨特、非凡和稀有的文件;以及
  • 提升記錄和檔案的形象,提高其在全球的知名度。

2018 年起,國際檔案理事會開始舉辦國際檔案周。去年(2020)的主題是:

  • 6月8日星期一 與法國國家視聽學院的開幕詞
  • 6月9日星期二 可持續發展目標(SDGs)和#檔案是#
  • 6月10日星期三 數字化保存(與數字化保存聯盟共同主辦)
  • 6月11日星期四 證據與真相
  • 6月12日星期五 氣候變化與遺產(與國際古蹟遺址理事會和國際圖聯共同主辦)
  • 6月13日星期六 開放標準和開放工具(與加泰羅尼亞文件管理員協會共同主辦)
  • 6月14日星期日 職業的未來(由ICA新專業人員共同主辦)

2013年,中國國家檔案局開始把每年的 6 月 9 日即「國際檔案日」作爲檔案部門的宣傳活動日。去年和今年的主題分別是:「檔案見證小康路,聚焦扶貧決勝期。」和「檔案話百年」。


For me, the Internet Archive is a very convenient tool to save documents and webpages. It's also a non-profit library of millions of free books, movies, software, music, websites, and more.

分類
讀書

Our duty to the party

Katharine was a tall, fair-haired girl, very straight, with splendid movements. She had a bold, aquiline face, a face that one might have called noble until one discovered that there was as nearly as possible nothing behind it. Very early in her married life he had decided — though perhaps it was only that he knew her more intimately than he knew most people — that she had without exception the most stupid, vulgar, empty mind that he had ever encountered. She had not a thought in her head that was not a slogan, and there was no imbecility, absolutely none that she was not capable of swallowing if the Party handed it out to her. ‘The human sound-track’ he nicknamed her in his own mind. Yet he could have endured living with her if it had not been for just one thing — sex.

As soon as he touched her she seemed to wince and stiffen. To embrace her was like embracing a jointed wooden image. And what was strange was that even when she was clasping him against her he had the feeling that she was simultaneously pushing him away with all her strength. The rigidly of her muscles managed to convey that impression. She would lie there with shut eyes, neither resisting nor co-operating but SUBMITTING. It was extraordinarily embarrassing, and, after a while, horrible. But even then he could have borne living with her if it had been agreed that they should remain celibate. But curiously enough it was Katharine who refused this. They must, she said, produce a child if they could. So the performance continued to happen, once a week quite regularly, whenever it was not impossible. She even used to remind him of it in the morning, as something which had to be done that evening and which must not be forgotten. She had two names for it. One was ‘making a baby’, and the other was ‘our duty to the Party’ (yes, she had actually used that phrase). Quite soon he grew to have a feeling of positive dread when the appointed day came round. But luckily no child appeared, and in the end she agreed to give up trying, and soon afterwards they parted.

--Nineteen Eighty-four By Gorge Owell

分類
說說

210527

早上散步的時候,在草地上遇到一隻鵲鴝幼鳥,乍一看以為已經不幸死去,沒有長毛的頭在南方早晨的大太陽下呈現出一種悲慘的血紅色。走進後發現還沒死,它的都還是昂著的,但是閉著眼睛,奄奄一息的樣子。之前了解到遇到跌落的小鳥不可隨意施救,等親鳥來救才是正確做法。但是小鳥處在一大片烈日之下,這麼曬下去總感覺凶多吉少,公園裏還有不少老人帶着小孩,如果讓她們看到更是玩完。所以我們打算把它拿到草叢附近,至少放到樹木的陰影裡。我們一碰到它,它忽然發出響亮的叫聲並且跳到了 Emanon 的鞋上。我們看到它還有活力覺得非常開心,但是還是覺得應該將其移到陰影下,太陽真的太強了。當我們再次觸碰到它的時候,它一下子飛到了兩米開外的陰影處。這樣應該就可以了,希望親鳥早點把它尋回。

池塘邊又見到白胸苦厄鳥和它的幼仔,之前只見到兩隻,今天發現原來它有三隻幼仔。她們就像三隻黑色的小雞在親鳥周圍活動。親鳥之前都是默默覓食,今天卻是一邊覓食一邊小聲「苦厄苦厄」地叫。

轉了一小圈打算回去看小鵲鴝的時候,發現兩隻小伯勞已經開始獨自覓食了。還見到了八哥和黑臉噪鶥的小鳥,都非常的萌。小鵲鴝已經不在剛才的地方了,附近有一隻成年鵲鴝在覓食,希望小鵲鴝已經獲救。

離開公園,見到打疫苗是隊伍比平時長了能有十倍。等紅燈的時候被疾駛而過的市政洗地車噴了一身水。

分類
网站

使用 UpUp 讓網站離線可用

UpUp 是個很小(2.5 KB)的 Javascript 庫,但卻可以方便的實現網站的離線訪問。我之前有一個小項目,PHP 的後端和頁面,另外藉助 Apeche Cordova 用 HTML 實現了安卓的客戶端以供離線使用。最近用 Django 重新寫了,藉助 UpUp 的離線頁面,我不用爲了離線使用而再去生成一個安卓應用。

一般的網站,要使用 UpUp 是非常簡單的,只需要在網站的頂層文件夾引入對應的庫即可,但是 Django 的靜態文件一般是放在 static 下的,要想在項目根目錄下提供它們,可以這樣設置。

#項目的 url.py 文件
from django.urls import path
...
from . import views

urlpatterns = [
    ...
    path('upup.min.js', cache_page(60 * 60 * 48)(TemplateView.as_view(template_name="site/upup.min.js", 
  content_type='application/javascript', )), name='upup.min.js'),
    path('upup.sw.min.js', cache_page(60 * 60 * 48)(TemplateView.as_view(template_name="site/upup.sw.min.js", 
  content_type='application/javascript', )), name='upup.sw.min.js'),
]

然後將 upup.min.js 和 upup.sw.min.js 放在項目的模板目錄裏,比如 mysite/site/templates/site/ 中。

最後在 HTML 頁面中引用並設置需要離線的文件即可。

...
<script type="text/javascript" src="{% url 'upup.min.js' %}"></script>
<script type="text/javascript" src="{% static 'site/js/jquery-3.6.0.min.js' %}"></script>
<script>
UpUp.start({
  'content-url': '/site/',
  'assets': ['/static/site/js/jquery-3.6.0.min.js',
   '/static/site/js/site.js', '/static/site/css/site.css']

});
</script>

離線站點調試的過程中遇到的另外一個問題是,離線站點必須是 HTTPS 類型的加密頁面,但是本地配置 HTTPS 又略嫌繁瑣,其實只要再 Chrome 裏添加例外(chrome://flags/#enable-site-per-process)即可。火狐我還不知道要怎麼添加,最近安卓火狐的一系列更新都不盡人意,實在是有些令人擔憂。

分類
說說

210521

非常遺憾,本站似乎無法從國內直接打開了。

#天威寬帶
$ curl https://ft.shaman.eu.org/
curl: (28) Failed to connect to ft.shaman.eu.org port 443: Connection timed out

#移動網絡(2G 和 4G)
$ curl https://ft.shaman.eu.org/
curl: (7) Couldn't connect to server

通過測速網站的結果可以看到,國內的 DNS 服務可以正確解析出本站的 Cloudflare IP,但是無法打開頁面。國外則正常。

分類
软件

心臟異常檢測 Heart Anomaly Detection

藉助手機的麥克風來錄製心跳,然後使用 MananAgarwal 訓練的 Heartbeat-Classifier 模型來判斷心跳是否異常。經過測試,我和 Emanon 的心跳都是正常。我也有嘗試使用其他項目的實驗數據來測試這個模型,對於「二尖瓣迴流」和「主動脈狹窄」的異常心跳都成功的識別了出來。不過它畢竟只是一個人工智能模型,如果有不舒服,還是應該儘早去看醫生。

安裝 Heart Anomaly Detection

這是一個 python3 的 tensorflow 項目。項目本身並不大(9 MB)但依賴大概有 600MB ,所以推薦使用虛擬環境來安裝

#安裝依賴
pip install tensorflow keras librosa 
#下載項目
git clone https://github.com/MananAgarwal/Heartbeat-Classifier.git
#測試運行
cd Heartbeat-Classifier
python testing.py heartbeat-to-classify.wav
#稍等片刻應該會成功輸出
Normal heartbeat
confidence: 0.9638266

使用手機錄製心跳

由於我不是蘋果手機用戶,所以無法推薦和測試適合的錄音應用。但是該模型的訓練數據中有用到蘋果手機(用iStethoscope Pro)錄製的心跳音頻,所以蘋果手機應該也是沒問題的。我的安卓手機使用的是 Audio Recorder,一個開源免費又小巧的錄音軟件(5.6 MB)。設置裏只需要把編碼格式改爲「.wav」,其他的保持不變即可滿足我們的需要。

找到手機的麥克風位置,一般都在手機的底部。找一個相對安靜的地方,點擊開始錄音(爲了避免誤觸屏幕,可以按一下電源鍵把屏幕關閉),把手機的麥克風的位置貼近心臟的位置,按住15秒左右,然後打開手機,停止錄音。我的建議是手機直接接觸皮膚來錄音,可能會獲得更好的音質。但是我給 Emanon 錄音的時候是隔着 T 恤的,倒也沒有影響的測試結果。

錄好的聲音文件默認保存在 /sdcard/Android/data/com.github.axet.audiorecorder/files/recordings 中,可以通過 USB 線或 Material Files 文件管理器將文件傳輸到電腦上。

最後使用上面的測試命令進行檢測,即可得到預測的心率狀態:Normal(正常)或 Abnormal(不正常),以及預測的信心值 confidence。

關於這個預測模型

該模型由博拉理工学院(印度皮拉尼)的 Manan Agarwal 和 Ankita Chakravarty 根據 The Classifying Heart Sounds Challenge 2011的數據集訓練而來。模型的訓練準確度爲 89.73,測試準確率爲 84.04。下面的文字摘自他們的論文說明:

我們的目標是提供一個可靠,快速且低成本的系統,讓未經培訓的一線衛生工作者或任何具有互聯網訪問權限的人都可以使用,以幫助確定是否應該將受試者推薦給專家診斷,尤其是在訪問臨床醫生和專家比較困難的地區。這也將有助於早期診斷心血管疾病,並大大降低這些死亡的潛在危險因素。