Pensieve: 1850
2018-12-16 22:45
所观所读
默克家庭诊疗手册进度6%. 因为大都是在看豪斯, 目前第三季看了一半.
看完了Netflex上的Never let me go. 石黑一雄作品改编的电影, 故事背景很像The remains of the day. 可惜的是讲述的主题不太让人感兴趣: 至少在现有大众价值观下, 不会允许有这种养殖人类来提供器官的事情发生.
尝试开始看GCP应对明年1月的考试, 可是迟迟进入不了状态.
所玩
本周前半段无聊刷了牧牛杖和虹光剑, 彩虹头像和宇宙翅膀太难刷, 放弃了. 后半段推GR到了90层, 虽然应该还有提高余地, 但是目前不想再刷了.
看着Switch上死灵法师之墓打折很多, 买了, 上手后手感一般.
看豪斯医生让你变成一个更好的程序员
越看豪斯医生越觉得程序员和医生之间有很多相似性:
- 这两个行当都需要很多的训练和很多的实践经验.
- 这两个行当都不仅需要自己实践, 而且要大量学习他人的技巧.
- 大部分时候, 这两个行当的从业人员都在做机械性的重复工作, 但是往往会在这些操作中发现异常. 此时, 整个工作变成了一个谜题, 揭开谜底的奖励是丰厚的.
而像豪斯这样的医生, 无疑应对标那种10x/100x程序员:
- 普通程序员大多数时候能独立完成指定的工作
- 资深程序员能够独立完成指定的工作, 并在其他人遇到困难时给予一针见血的帮助.
- 10x/100x程序员能够庖丁解牛式地分析系统, 并对系统的各个组件在各种异常情况下的反应了然于胸, 即使对于一个不太熟悉的场景, 也能很快根据经验来上手.
而通过观察豪斯的工作方式, 我这个程序员觉得可以用下面这些方式来提高自己:
- 要适当让大脑放松, 不要强迫自己在规定的时间内解决问题. 即, 适度拖延, 大脑会在潜意识里思考的. 绝大多数时候, 豪斯找到病因并不是在办公桌前, 而是在门诊部内或者和人闲聊时. 对标程序员的工作方式, 每天持续坐在办公桌前面对问题无法做出创造性的工作, 也就无法进步.
- 要专注于了解系统的各个部分的工作原理, 如果不能从原理上了解一个系统并能用简单的代码复现一个系统的工作模式, 你就没有真正了解一个系统. 不能真正了解一个系统, 也就无法真正开发和维护.
- 从程序员的角度出发, 如何将一个系统的错误行为还原到某段代码的逻辑错误在很多时候并不容易, 正如在行医时, 要将某些个症状的组合去芜存真, 找到病因, 并不容易. 在电视剧中, 豪斯建议了很多异想天开而又行之有效的检测方式来定位病因. 而映射到编程开发, 就应该是掌握各种系统的debug技巧, 了解其解决问题的原理, 应用场景和其局限性.
vultr应对一例
上上周收到vultr的邮件, 没仔细看, 以为是账单, 就和其他邮件一起被批量设为已读了. 上周又收到后续邮件, 仔细看了看, 原来是因为我的机器往同网段的机器发UDP包, 被vultr家的防火墙是认为是有网络扫描和入侵的可能, 于是发邮件警告我.
仔细看了看vultr发给我的日志, 我的源端口是我一个已知的BT客户端的通讯端口, 我的主机类型是带120G普通硬盘的存储机, 每月有1T流量, 估计有大量的实例是被当BT/PT下载机, 所以应该是同网段有人和我在同一个网段下载了同一个种子, 相互之间需要通讯, 这种UDP通讯被当做是端口扫描触发规则了.
态度诚恳地去信解释, 强调BT客户端在容器中运行, 即使这是攻击, 其影响也应很小, 并升级了BT的客户端, vultr也没再深究, 皆大欢喜.
个人云方案补遗
我在路由器上开了一个webdav, 用的是basic auth. 虽然有https加密, 但是由于apache里只有这一个虚拟主机, 所以用IP用域名都会访问到这个虚拟主机, 这也就造成了大量的爆破党尝试访问这个服务. 吃一堑长一智, 我现在先把路由器上的映射关掉了, 后面准备再加一个默认的虚拟主机, 只包含404页, 这样除非有人根据域名访问, 否则不会访问到这个webdav服务了.
链接
- 荒野之息速刷种子, 这个游戏的深度真是惊人.
- tar各个实现的比较, 可见魔鬼都在细节中.
- 又一篇吐槽openssl的文章, 这个库是不是故意被写成这么烂的?