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了。