Latest Posts

Mac OS 本地運行用native和docker運行MediaWiki對比

MediaWiki是我用來寫文檔的重要工具。我一般都會在Mac上跑一個作為私人wiki來使用。之前因為把系統升級為Monterey後,Mac OS去掉了自帶的PHP,而自帶apache不能用brew安裝的PHP了,所以改用docker來跑MySQL和apache + PHP。雖然跑起來了,不過還是有些小問題,本文列一下用docker的好處和壞處。 好處 喜歡docker在Mac OS上的UI,可以很方便的用圖形界面啟動和停止MySQL, Apache的服務 不用操心Monterey版本Mac OS上Apache和PHP不兼容 更像一個production deployment的環境,可以方便deploy到cloud上,如果需要的話 每個service有自己的環境,可以單獨看log,debug,都可以用docker的UI 壞處 慢!wiki的loading, search和autocomplete速度明顯比native的慢很多 visual editor不能用了,好像和docker的image用的是SELinux有關。找了很久沒找到解決方法,只能湊合用source edit,影響編輯效率。 Docker還是要佔用不少系統資源的,關掉後電腦會快點。 這兩天終於花時間修好了Monterey上的Apache+PHP。於是把數據從docker的MySQL轉到native的MySQL,就可以停用docker了。

關於Mac OS Monterey上的Apache/httpd的筆記

路徑,可以用which httpd確定 版本 重啟httpd, 加-k會有更多信息。比如PHP需要code sign,不加就不告訴你 在Monterey里,載入PHP需要code sign。可以參考這篇文章。 如果PHP版本更新了,比如用了brew update,那麼需要對新版本的libphp 進行 code sign。 如果Mac電腦重啟了,也需要codesign,比如 需要根據php安裝改變上面libphp.so的路徑。有時Mac上面用brew安裝的php升級了,也需要修改上面的<php version>。 查找apache2 config 裡面用的libphp.so地址 在Mac OS里,apache2 conf的可能路徑是/etc/apache2/httpd.conf,可以用sudo許可權編輯 Document root路徑 Config file (配置文件)路徑 log (日誌)路徑 本文鏈接

父母申請I-539延期,錯過打指紋時間怎麼辦?

最近因為疫情原因回國不便,父母需要申請延期離開美國。在網上提交I-539後,很快狀態就變成打指紋appointment了。然後我們左等右等,天天看信箱都等不到通知,眼看就要到那狀態個顯示的最後期限了。上面說如果到了這個期限還沒收到,就要聯繫USCIS。結果後來發現USCIS不再郵寄通知,而是在網上Documents裡面下載。這個tab放的是我們上傳的神奇材料,真的沒想道通知也在這裡。 發現的時候剛剛過了appointment date一天,又是周末,真是感覺萬念俱灰,覺得這下延期肯定要被拒了。後來在網上查了一下其他人的經歷,好像可以打電話重新約,也可以直接去ASC (Application Support Center)。至於結果怎樣,都要看運氣。 忐忑了一個周末,周一早上我帶上爸媽來到San Jose的ASC碰碰運氣。8am的appointment我們7:30am就到了,人不多。後來就像正常appointment一樣就進去了,全程沒人刁難我們,於是順利打上指紋了。中心早了10幾分鐘開門放人進去,完成出來的時候才剛剛8am,效率非常高。 這次真是有驚無險,不過處理重要事情還是應該小心小心再小心,怎麼強調都不為過。回想起來狀態更新以後如果一周沒收到信,就應該問問客服,或者在網上多研究一下,可能就會早點知道那個Documents tab了。希望本文經歷能幫到有類似情況的家庭。

升級Mac OS X的php到8.0,並設置apache2去使用它

問題描述 最近想在本地安裝mediaWiki,目前版本是1.36。Macbook自帶的php版本是7.3.11,然後出現以下error: 於是就乾脆升級PHP到8.0。本文記錄一下怎樣在Mac OS X (Catalina)上安裝PHP 8.0。 安裝PHP 8.0 使用Homebrew 目前brew裡面默認版本就是8.0。homebrew的安裝目錄在/usr/local/Cellar/ 下面。安裝完後系統默認的仍然是7.3。 需要 這樣brew會設置好新版本路徑 設置Apache2 編輯httpd.conf,用mvim或其他編輯器,需要sudo許可權 添加 重啟apache2

Macbook 電腦配置migration

當你需要淘汰你的舊電腦,但想把以前的設置 (比如, iTerm的顏色字體)轉移到新電腦上怎麼實現。其實不難,這些關於setting的文件都以plist文件形式保存在Library/Preferences目錄里,你只要把它們複製粘貼過去保存在同一個目錄下就好了。 有時候,你想把note里的內容migrate到新電腦里,你需要做的是,在舊電腦里找到當前note內容保存的地方,Home/Library/Group Containers/group.com.apple.notes/, 然後把目錄里的主要文件,NoteStore.*, Media/(保存圖片的目錄),轉移到新電腦的同一目錄即可。 還有一個重要的東西是瀏覽器的bookmark, 你可以參照這個詳細的文章來export and import你的chrome bookmarks。Chrome除了bookmarks, 如果你還有search engines的data也想轉移,也很簡單,去Library/Application\ Support/Google/Chrome/Default/目錄下找到Web Data 這個文件,copy到新電腦的同一目錄下,重新打開chrome後,這些信息就會自動load進去。

演算法練習 力扣 150. Evaluate Reverse Polish Notation

問題總結 這題比較簡單,如果學過computer architecture,這個Reverse Polish Notation (RPN)基本就是個stack machine。很像彙編語言。用stack就可以解決。 坑 除法要求 that division between two integers should truncate toward zero. 測試數據裡面有負數, python裡面整數除法結果如果是小數,約成整數後是往小的方向約的。比如-0.4會變成-1,題目要求往0約,也就是-0.4變成0。用int(a/b)可解決。一個冷門知識。 Python解法

安裝IBKR python API

到IB官網下載最新API,選Software: TWS API,然後”I Agree” License aggreement。然後選平台,比如TWS API Latest for Mac / Unix。 cd 到下載地址。 根據README.md里說的 具體版本可能有點不一樣。我安裝的時候README.md里的版本有點過時,不是下載的現有版本。 安裝完成後就可以讀User’s Guide了。