近視眼鏡是近視惡化的元兇——霧視法介紹

你有近視嗎?你近視多深呢?在現代社會我們幾乎不可能避免近距離用眼,從書本、電腦到手機,我們一天幾乎所有時刻眼睛都是聚焦在近處。但你有想過,究竟為什麼人類會「近視」?又為什麼近視會一直不斷加重呢? 事實上導致你近視不斷加重的原因,其實就是你的近視眼鏡! 近視是什麼 近視是遠方影像無法成像在視網膜上的現象,分為真性近視跟假性近視,假性近視是控制水晶體的睫狀肌長時間用力,無法放鬆所導致的「暫時性」近視,可透過散瞳劑、望遠凝視等方式放鬆;然而真性近視則是眼軸拉長、視網膜後退,是沒有辦法回復的永久性殘疾。 你有想過為什麼人會近視嗎?我認為,近視其實是一種身體的進化。 眼睛之所以能夠看遠又看近,是因為我們的水晶體是一個可調整焦距的凸透鏡,透過睫狀肌去控制水晶體的厚度,要看遠就放鬆,讓水晶體變平,要看近則是用力,讓水晶體變厚。 我們在看近的時候,睫狀肌需要用較大的力氣去拉動水晶體,這對眼睛是一件吃力的事。因為我們長時間都在看近處,身體為了減輕負擔,於是將眼軸拉長,但代價就是看不清楚遠處。 這個說法沒有科學研究證明,但一個可以輔佐的證據是近視好發於成長期,過了成長期之後之後,沒有近視的人就不太會近視了,就可以解釋為身體在成長期為了適應環境而近視。 眼鏡的原理 同時討論眼鏡和眼睛相當複雜,因此我將運用虛像的概念來聚焦重點,不同的眼鏡會讓物體產生不同大小遠近的虛像,而我們眼睛對焦的是虛像而非物體本身。 近視眼鏡——也就是凹透鏡——會將物體的虛像拉近、縮小。因為距離縮短了,所以看不清楚遠的人就看得清楚了,但不是因為近視被「矯正」了,而是因為虛像變近了。 遠視眼鏡——也就是凸透鏡——會將物體的虛像拉遠、放大。因為距離拉長了,所以看不清楚近的人就能夠看得清楚了。 近視眼鏡如何加重近視 根據前面的討論,我們有兩個結論:一、眼睛對焦的是虛像,二、近視眼鏡將虛像距離拉近。由此可知,當我們戴著近視眼鏡看著近距離的物體,它的虛像比我們實際上的距離還要來得更近,相當於你用更近的距離在看它。 我們因為看不清楚遠的而配戴眼鏡,卻又因為不拿下眼鏡而長時間看著更近的地方,陷入近視不斷加重的惡性循環。最終導致我們連桌面都看不清楚,非依賴眼鏡不可。 所以我們必須正確認知近視眼鏡的用途:讓我們看清楚遠處,只要不是在看遠的時候,就把它取下,只有如此才能跳脫近視不斷加深的惡性循環。 用「霧視法」預防近視 還記得我們剛才提到凸透鏡是將物體的虛像拉遠,因此我們可以透過在看近時配戴凸透鏡,拉長虛像的距離來避免近視。 雖然都是戴眼鏡,但這個作法只需要在長時間看近時戴眼鏡,平常不需要配戴,因此就不會有戴眼鏡時運動、吃湯麵不方便的問題。凸透鏡,也就是遠視眼鏡和老花眼鏡。霧視法所使用的凸透鏡,我們通常稱之為閱讀鏡,但本質上是相同的。 霧視法分為「近霧視法」與「遠霧視法」,以鏡片的度數和配戴情境區分。近霧視法配戴度數低的凸透鏡,在看近時配戴,用於減輕看近時的負擔;遠霧視法則是配戴度數高的凸透鏡,戴上後視野裡的所有物體都會是模糊的,效果相當於高強度的望遠凝視,要每天配戴二十分鐘來放鬆睫狀肌。 遠霧視法由於配戴期間難以做其他事,較難堅持;近霧視法則是在看近時戴上眼鏡即可,不會花額外精神,因此較容易做到。 我從一年前開始做近霧視法,效果十分顯著,以前長時間近距離用眼後,都會出現假性近視,看不清楚遠方。但如果有戴著閱讀鏡,在拿下眼鏡後,都不會有任何假性近視的症狀。 由於凸透鏡的成像原理,物體只有在焦距內才會是「虛像」,因此閱讀鏡只能看清楚焦距內的物體,因此挑選合適的焦距就會是個重要的工作,如果焦距太短,則什麼都看不清楚,焦距太長,保護效果就會打折扣。 下表為鏡片度數與遠點距離的對應表,遠點距離就是可以清楚的最遠距離,超過遠點的影像就會變得模糊。資料來源:預防近視網 度數 遠點距離(cm) 平光 無限遠 25 400 50 200 75 150 100 100 125 87.5 150 75 175 62.5 200 50 300 33....

April 26, 2020 · 1 min · wancat

專案介紹:Fever Pass 體溫登記系統

Fever Pass 是我們團隊 Linchpins 在 2020 年初,為了因應新型冠狀病毒開發的一套體溫登記系統,用於協助各級機關、學校自主登記體溫。 GitHub Repository。可以在我們的 demo 試用本系統,用以下帳號登入: 導師 紀體溫 帳號 t101 密碼 10100 學生 梁體溫 帳號 1081201 密碼 10141 護理師 護理師 帳號 nurse 密碼 nurse 歡迎體驗 demo 的各種功能。demo 每日早上八點會幫所有帳號隨機登記體溫。 Fever Pass 是一個自由且開放原始碼的專案,使用 Go 語言撰寫,以網頁界面進行操作。可以讓機構中的成員自主登記體溫,也可由管理員登記他人體溫。 目前 Fever Pass 被臺中一中使用,自主健康管理-體溫登錄全面電腦化-『Fever Pass體溫記錄系統』 Fever Pass 有清晰的統計頁面,可以看到每日的登記情況,快速找出發燒與未登記的人員。 Fever Pass 有豐富的權限設計,分為體溫管理權限和帳號管理權限,以這些為基礎組成許多預設的身份組,用來滿足各式各樣的管理需求。 職稱 身份 體溫記錄權限 帳號管理權限 重置密碼 admin 管理員 全校 全校 全校 護理師 教職員 全校 個人 個人 教職員 教職員 個人 個人 個人 導師 教職員 班級 班級 班級 衛生股長 學生 班級 班級 班級 學生 學生 個人 個人 個人 歡迎有需要的機關或學校自行安裝使用,希望這個系統能夠幫助更多人度過這次疫情,也歡迎志願者貢獻此專案。若需要代為安裝或是佈署,請來信 [email protected]

March 29, 2020 · 1 min · wancat

elementary OS 啟用 System Tray

elementary OS 是一個好看、易用的 Linux 發行版,然而它有一個缺點:系統狀態欄(system tray)無法顯示其他應用程式的 icon,這導致像輸入法、Discord 等有使用 system tray 的程式無法使用完整功能。最討厭的莫過於 HP 印表機驅動 HPLIP,每次開機就跳出來說 no system tray deteched,非常煩人。 原因是 elementary OS 基本上不希望其他應用程式去使用 system tray,並且停止支援 Ayatana Indicator API,做出相同決定的還有 GNOME,參考 Status Icons and GNOME。 安裝 Ayatana Indicator sudo add-apt-repository ppa:yunnxx/elementary sudo apt update sudo apt install indicator-application wingpanel-indicator-ayatana 編輯 /etc/xdg/autostart/indicator-application.desktop 加入 Pantheon OnlyShowIn=Unity;GNOME;Pantheon; 接下來重新啟動 X 或是重開機 sudo service lightdm restart # or reboot 完成後 elementary 就可以顯示各個應用程式的圖示了! References How to display system tray icons in elementary OS Juno?...

February 12, 2020 · 1 min · wancat

在 Raspberry Pi 安裝 Nextcloud

Nextcloud 是一套自由的雲端硬碟系統,可以讓你自己架設像 Google Drive、One Drive 一般的雲端硬碟,將資料掌握在自己手中,本篇紀錄如何在樹梅派安裝 Nextcloud。 安裝 到官方網站下載壓縮檔 sudo unzip -d /var/www nextcloud-18.0.0.zip sudo chown www-data:www-data /var/www/nextcloud PHP 安裝 PHP 依賴模組 sudo apt install php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip 參閱 官方文件 檢查依賴的 PHP 模組,或是擴充功能像是 smb、ldap 等等。 MySQL 建立 Nextcloud 的資料庫和使用者 $ sudo mysql > create database nextcloud; > create user 'nextcloud'@'localhost' identified by 'password'; > grant all privileges on nextcloud . * to 'nextcloud'@'localhost'; > flush privileges; Caddy 複製 Caddy 提供的 Nextcloud Caddyfile 到 /etc/caddy/Caddyfile,接著修改成你自己的域名、PHP 路徑。我的設定檔如下:...

February 11, 2020 · 3 min · wancat

用 TOTP 擺脫簡訊驗證碼:安全好用的兩步驟驗證

兩步驟驗證 隨著數位身份在生活中的影響力愈來愈大,只靠著一組密碼來保護我們的帳戶已經不夠安全,而且記密碼實在是違反人腦天性的行為,因此大部分人總是使用重複的、好記的脆弱密碼。要解決這個問題,除了使用密碼管理工具來幫你記密碼,還可以透過設定兩步驟驗證(2FA:Two-Factor Authentication),大大提昇帳戶的安全性。 兩步驟驗證就是在密碼之外,多用一個資訊來驗證你是本人,主流的作法有像 Email、簡訊驗證信,但用過的人可能都會覺得登入時要開信箱收信很麻煩,信箱也會被這些信件給弄亂,更別提當人在國外時,簡訊收不到害你無法登入。 今天要介紹的 TOTP: Time-based One-Time Password algorithm,就是一種公開的標準,讓你透過手機上的 APP 產生一組 6 位數的一次性驗證碼進行登入,而且在沒有網路的情況下還能使用! TOTP 如何運作? TOTP 的概念,就是網站與你事先約定好一組金鑰,並以當下的時間作為參數,運算出一個雜湊值,並取最後 6 位數作為一次性密碼。 然而如果網站和使用者的時間不同的話,就無法計算出相同的結果,因此通常會以 30 秒作為一個單位,來避免使用者與網站的時間差。網站為了良好的使用者體驗,通常也會允許前一次的一次性密碼。 TOTP 的優點 TOTP 它是一個公開標準,你不需要依賴單一企業或組織,各種客戶端都能相容;它的安全性基於密碼學,而非第三方機構的信用;它是去中心化驗證,整個驗證流程只有要驗證身份的雙方而已。 Google 可以讀你的 Gmail,簡訊也可以被政府或通訊業者攔截,然而 TOTP 不需要依賴中介機構,甚至在離線的情況下也仍然可用。 同時對於服務提供者而言,TOTP 也很容易實做,不需要花錢去發簡訊或是寄 Email 被當成垃圾郵件,也不需要跟第三方機構申請,是個省錢又安全的好方法。 開始使用 TOTP 儘管目前懂得使用 TOTP 的使用者並不多,但其實已經有相當多網站支持以 TOTP 作為驗證方式,例如 Google、Facebook、Apple、Amazon、GitHub、PayPal 等,我管理伺服器需要用到的 CloudFlare、Linode、Porkbun 也都有設定 TOTP 來提高安全性。 開始使用的第一步是下載一個 TOTP 的應用程式,有非常多的選項,我自己使用的是 Authy,界面簡單易用,提供加密的雲端備份,此外還有 Google Authenticator、Microsoft Authenticator,自由軟體則有 Red Hat 開發的 FreeOTP,先前在密碼管理工具提到的 Bitwarden 的付費版也有提供 TOTP 的功能。 安裝好驗證器後,到你要登入的網站或 APP 的帳號設定中,啟動兩步驟驗證,在不同網站中,可能會以「驗證應用程式」、「谷歌驗證器」、「代碼產生器」等名稱出現,但背後都是 TOTP 這套標準,流程也很簡單,網站會將金鑰以 QR Code 的方式顯示,打開手機上的驗證器程式掃描就可以加入帳號,並輸入產生的一次性密碼供網站確認,就可以完成綁定。網站若是在手機上,則可以用「複製金鑰」的方式來手動輸入金鑰。...

February 7, 2020 · 1 min · wancat

Caddy 安裝教學

Caddy 是一個由 Go 撰寫的 Web Server,其主要賣點是簡單的設定檔,適合在開發環境中快速架設,還有自動 HTTPS 的功能,相當方便。 我之前在 Linode 上就使用 Caddy,覺得體驗相當好,因此這次也選擇使用它。 安裝 到 Caddy 網站的下載頁面,複製 One-step installer script 就可以一鍵安裝。 curl https://getcaddy.com | bash -s personal 如果是要拿來當開發環境中的 Web Server,這樣就足夠了,但我要讓它在背景執行,因此還需要設定好它的 systemd。 Systemd 請參考官方的安裝教學,照著做就行了,比較容易踩雷的是取得憑證的部份,首先 Let’s Encrypt 會對你做 DNS challenge,所以如果是使用 CloudFlare 的,要把 Proxy 關掉(雲朵)。再來是寫設定檔,Caddy 的設定檔相當簡單,不過用 systemd 就是很難除錯(看 log 麻煩),所以建議先自己用 sudo caddy -conf /etc/caddy/Caddy 測試設定檔,等到沒問題再用 systemd 開。 設定檔範例 以下是我網站使用的設定檔 matomo.wancat.cc { root /var/www/matomo gzip fastcgi / /var/run/php/php7.3-fpm.sock php { index index.php } } lincalvino.me/narcissism { root /var/www/narcissism } lincalvino....

February 4, 2020 · 1 min · wancat

CloudFlare 設定 DDNS 教學

最近剛入手一個 Raspberry Pi,用來作為一個省電的伺服器,本來困擾自己家裡的固定 IP 已經給了其他台伺服器,但找到方法用 CloudFlare 實現 DDNS。 CloudFlare DDNS CloudFlare 本身沒有官方的 DDNS 支援,但可以用 CloudFlare API 實做,我找了一個別人做好的 CloudFlare-ddns,折騰一會兒就設定好了。 首先安裝 cloudflare-ddns 和其依賴,然後以我要設定 pi.wancat.cc 為例,建立 site_pi.yaml 設定檔,填入以下內容: %YAML 1.2 # CloudFlare DDNS updater script config. --- # CloudFlare API key # You can find this under Account > My account after logging into CloudFlare. cf_key: 'your key' # Email address for your CloudFlare account. cf_email: 'your email' # Domain you're using CloudFlare to manage....

February 4, 2020 · 2 min · wancat

Google Analytics 替代方案 Matomo 安裝教學

因為實在不想再讓 Google 拿到資料了,所以我到 No More Google 網站上找 Google Analytics 的替代方案,第一名就是 Matomo。 Matomo 是一個自架的流量分析程式,是自由軟體,也有提供付費的 Cloud hosting 服務。我在試用後覺得還不錯,就決定自行在 Raspberry Pi 上安裝。因為是自架的,所以資料都在自己手上,不會被 Google 拿去利用。 安裝方式參考官方文件。 環境需要 PHP、MySQL or MariaDB PHP 安裝: sudo apt-get install php7.0 php7.0-curl php7.0-gd php7.0-cli mysql-server php7.0-mysql php-xml php7.0-mbstring 資料庫我比較偏好社群維護的 MariaDB: sudo apt install mariadb-server sudo mysql_secure_installation 建議在執行 mysql_secure_installation 來強化安全性。 由於我使用 Caddy,所以 Caddyfile 中要加入以下程式: matomo.wancat.cc { root /var/www/matomo # 換成你的 matomo 位置 gzip fastcgi / /var/run/php/php7.3-fpm.sock php { index index.php } } 然後打開網頁,就可以看到安裝程式了。接著要幫 Matomo 設定好 SQL User 和 Database,...

February 4, 2020 · 1 min · wancat