用 poudriere 完成包管理
由于使用的 port 的编译选项与官方的往往不一致(例如我非常讨厌 gnutls、avahi 这两个包,此外有时我希望使用一个和官方不太一样的 OpenLDAP 版本, 或者采用不同的编译选项等等),我之前一直是 portmaster(8) 的用户。 portmaster 是 Doug Barton 早年用 shell 脚本写的一个 portupgrade(1) 的替代品,和后者相比,它不需要使用数据库,并且充分利用了 shell 的任务管理功能实现了尽可能利用 CPU 的计算能力,我个人也从这个脚本中学到了不少 shell 脚本的技巧。
不过,使用 portmaster 需要在每一台机器上都有一份 ports tree,并且由于直接操作的是本地的生产环境, 因此对于比较基础的库,如 gettext 之类,或是在升级操作系统时, 由于升级时间较久导致出现问题的可能性相对要大一些。 另一方面,使用 port 来管理第三方软件意味着需要把联编过程中的所有依赖软件包全都都装到生产环境中, 有时这是非常不经济的,例如大部分时候运行环境并不需要完整的跨平台 LLVM,等等,而使用 port 安装的话, 每一个系统中都需要整体重新联编一遍。
我之前已经用过很长时间的 poudriere 了。 这是一款现代化的联编系统,它充分利用了 FreeBSD 的一系列特性,包括 ZFS 快照/克隆、 tmpfs、 jail 等等,支持交叉编译。除此之外它还支持使用 ccache 来减少重复编译,等等。 不过,线上的机器出于习惯^H^H懒惰导致的惯性一直还是在沿用之前采用 portmaster 来进行更新。
阅读全文…多年以前搞的 8086 实模式模拟器竟然又派上了用场
最近张师傅在折腾一个模拟器,在感慨他老人家的工作不饱和之余, 我向他隆重介绍了我多年前埋到 FreeBSD 里的 x86模拟器。
这些代码我自己已经多年没有碰过了,后续也有一些其他开发人员在其上做了新的改进(比如没必要真的分配那么多内存给模拟器,
等等)。不过这份来自 SciTech Software Inc (是的,就是 DOS 时代写 UniVBE.exe 的那个公司),后来辗转经过 XFree86、
NetBSD 最终来到 FreeBSD 的模拟器的主体部分还是没有什么变化,稍微改一改就可以直接作为一个新的模拟器的基础了。
由于不依赖 VM86,它的可移植性要比需要 VM86 的要好很多。从调试方面,由于它的结构,只需要在 x86emu_exec_*
设置断点就可以很容易地在用户态挂调试器进行调试了。
作弊条: ldapmodify 删除项目属性
随便记一笔,备忘。
形如:
| |
这样一个项目,希望把后三项删掉。
阅读全文…字谜与解码
最近一段时间 Twitter 上开始流行了一个字谜游戏 Wordle, 与此同时也出现了许多与之类似的游戏比如 拼音猜成语 等等。 基本上,这类游戏要求玩家根据一些有限的信息(目前的这些实现通常是会告诉他们是否有字母猜对了,或是字母存在但位置不对等等) 来推测可能的结论。
阅读全文…重建了 IPv6 隧道
之前 提到我换了一家ISP。这家ISP目前尚未提供IPv6服务,因此想要用IPv6的话就需要自己动手。 此前也有一些其他朋友问过我关于为什么一定要有 IPv6,毕竟 狼来了 的故事已经讲了这么多年, 而且 十几年前 IPv4 的中央地址池其实就已经用完了,只是在工业界抱残守缺^H^H^H^H食古不化^H^H^H^H我也不知道该管这种行为叫什么, 总之苟延残喘了十几年依然没有把服务迁移到 IPv6 上去,所以目前用 IPv6 往往也只是满足一下一些技术宅的恶趣味, 例如看 kame.net 那只能动的海龟之类。
当然,我自己用 IPv6 有一些更加现实的动力,比如我的一些服务是只在 IPv6 上提供的,这样做可以把那些做的不好的客户端直接排除在外, 有点类似于在当年我把网站的 TLSv1.2 和更早版本的 TLS/SSL 支持全都砍掉一样。
话说回来,由于新的 ISP 出于一些我不理解的原因死活不愿意支持 ping (唯一可能的解释是,这样做会导致扫描起来容易不少,毕竟扫描 IPv4 地址段比扫描 IPv6 地址段要容易太多了, 但安全不能建立在别人不知道的基础上,anyway,打电话、开票之后未能解决该问题),而大河的隧道服务又要求必须可以 ping 到终点,于是陷入了死循环。
阅读全文…胆囊摘除后记
⚠️ 免责声明
本文仅为作者基于个人经历所作的记录与分享,不构成任何形式的医疗建议或专业指导。作者并未接受相关专业培训,且文中所引用或提及的资料仅供参考,作者不对其完整性、准确性或适用性承担任何责任。涉及健康、医疗或相关法规的问题,请务必向具有资质的专业人士咨询。
上回书 说到我在12月初的时候急诊做了胆囊切除。 这里更新一下后续的情况(主要是保险理赔)。
作为一个资深的bug吸铁石,我总是会不自觉地触发各种系统的边界条件,这一次也不例外: 我之前参加的雇主组织的由安泰(Aetna)负责运营的医疗保险在2021年底到期, 取而代之的是由伟彭医疗(Anthem)运营的医疗保险, 而这次急诊及手术发生在靠近年底的时候,这想必会让保险的理赔复杂化,果不其然,还没到2021年12月31日的23:59, 安泰的手机应用程序已经显示我不能直接用手机应用来查看理赔账单了, 而伟彭医疗的应用程序则认为自己不是我目前的保险应用程序。
阅读全文…新年,新ISP
我在美国的这几年,家里一直使用的是来自 Comcast 的各种基于 cable 的互联网服务。 关于 cable 的各种问题,多年以前 Extremely Decent 做过一个视频 The First Honest Cable Company 来吐槽。
简而言之,虽然谈不上有多好,但 Comcast 算是在湾区几个能用的 ISP 里比较靠谱的一个了。 贵厂十一年前宣布了 Google Fiber,然而由于种种原因我家这片地方一直都没有愿意提供光纤入户服务的 ISP。 比较新的小区,例如 yegle 同学所在的幸福屯地区则比较幸运, 类似 AT&T Fiber 之类的服务都比较容易获得。
阅读全文…摘除了胆囊
⚠️ 免责声明
本文仅为作者基于个人经历所作的记录与分享,不构成任何形式的医疗建议或专业指导。作者并未接受相关专业培训,且文中所引用或提及的资料仅供参考,作者不对其完整性、准确性或适用性承担任何责任。涉及健康、医疗或相关法规的问题,请务必向具有资质的专业人士咨询。
我于12月6日在 San Jose 的 Regional Medical Center 切除了胆囊, 这里记录一下相关的经历,主要的目的是整理一下相关资料,方便给娃讲故事。
阅读全文…指定 fetch(3) 的 User-Agent
今天抽时间把邮件系统的软件升级了一下,然后发现无法获得 ClamAV 的源代码:
| |
同一个链接用浏览器是能打开的,一看邮件果然已经有人 开过票 了。
最近发现不少网站都出于某种原因对 User-Agent 进行了限制,不过既然这是个用户能自行指定的值,
这么限制到底意义何在呢?
重贷款笔记
湾区有个晚间的中文广播电台多年以前经常会播放一个广告:「xx博士算对了!贷款利率又降了!」 语调颇为激动,很有一种在拉斯维加斯住酒店时路过赌场,里面老虎机时不时会有人特别激动地嚷嚷一嗓子自己赢了的劲头。
因为我的贷款本金金额已经下降了不少,目测这次很可能是不做套现(cashout refinance)也不搬家的情况下最后一次做重贷款了。 之前2013年的经历可以参见 这篇。
阅读全文…