2021 桌面

2021 桌面

每年一次的恶趣味…… 2020年的桌面其实没怎么变,只是换了个位置而已。

2021 桌面
2021 桌面

深圳在 2020 年就跟疯了一样修地铁,到处都是灰。当然,汽车尾气等各色污染也非常多,桌面上也满满的风尘色。

DNS over HTTPs

DNS over HTTPs

传统的 DNS 基于 UDP 协议,并且采用明文方式传递请求和结果。在互联网早期,这样做没什么问题。而现在网络越来越复杂,网络实体越来越多,各种看得见、看不见的手都可能修改 DNS 的结果。

简单的解决方式就是对 DNS 进行加密。 Mozilla 联合 Cloudflare 通过 HTTPs 来传递 DNS 消息,也就是 DoH (DNS over HTTPs)。这种方式从设计上看,不如 DNS over TLS 高效,但是胜在简单、无需过多更改网络设备和软件。

Firefox 已经内置了对 DoH 的支持,而且非常简单。问题是默认的两个 DoH 服务商:Cloudflare 和 NextDNS,在国内由于某种不可描述的原因,访问速度都很受影响。实际上国内腾讯和阿里的公共 DNS 服务也支持 DoH,以腾讯为例,它提供的 DoH 访问地址是:

https://doh.pub/dns-query

Firefox 的网络设置中,按下图进行配置即可:

Firefox 中设置腾讯 DoH
Firefox 中设置腾讯 DoH

另外,阿里提供的 DoH 访问地址为:

https://dns.alidns.com/dns-query
FED模型(股债收益差)投资法

FED模型(股债收益差)投资法

在雪球上看到一篇文章(请点击此处),介绍了一个 D 值的估值方法(实际就是美联储的 FED 模型,也就是“股债收益差”模型),用于判断股市是否高估。作者主要投资沪深300指数基金和国债,根据 FED 值调整仓位。

FED 值计算比较简单,以下是计算公式:

FED 差值 = (沪深300收益率 - 十年国债收益率)*100

作者指出:低于2清仓,高于6满仓。理解起来也容易,低于2说明股市已经高估了,风险和收益不匹配,不如直接投资国债;高于6则相反,股市极度低估,收益远超国债。

D 值区间判断

其中, “沪深300收益率” 就是“沪深300市盈率”的倒数,点击此处获取“沪深300市盈率”数值。“十年期国债收益”数据请点击此处获取。

下面我们简单计算一下目前的 FED 差值:

沪深300市盈率 = 16.35
十年期国债收益率 = 3.319%
FED 差值 = (1/16.35 - 3.319%)*100 = 2.7

从估值看,当前股市已经处于高估阶段。

NetworkManager state is now ASLEEP

NetworkManager state is now ASLEEP

最近有一台 HP ELite 笔记本退役了,其实配置还不错,500GB SSD 硬盘、16GB内存,看着挺轻薄,本来还打算用来替换自己平时使用的笔记本,后来发现有些不爽:(1)触控板有点飘 (2)有个键被我不小心按坏了,也许本来就坏了 (3)屏幕时不时出现横线、甚至出现闪烁,很不舒服。

食之无味、弃之可惜。忽然想到可以安装 Debian 做家庭服务器用,上述缺点就无关紧要了。安装了最新的 Debian 10, 然后修改成 Debian(sid),过程很顺利。非常棒!以至于我甚至打算直接 VNC, 或者用 VSCode 登录上去做一些开发工作。

因为是当服务器用,因此一直都是合盖,然后扔角落里默默工作。接着又发现一个问题:过一段时间后,WiFi 网络老是断开,无法远程登录,需要重新开盖然后登录。琢磨着大概是系统休眠了,检查 syslog 信息,发现以下信息:

NetworkManager: sleep: wake requested (sleeping: yes  enabled: yes)
NetworkManager: state change: unavailable -> unmanaged (reason 'sleeping', sys-iface-state: 'managed')
NetworkManager: NetworkManager state is now ASLEEP

看来确实休眠了。搜索网络,查到一篇 Ubuntu 停止休眠的文章(请点击此处),考虑到 Ubuntu 和 Debian 本质没什么区别,操作也是有效的。

关闭休眠功能,请使用以下命令:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

当然,如果后悔了,需要重新打开休眠功能,可以使用以下命令(未验证):

sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
两则漫画

两则漫画

来自微博“乌合麒麟”:

澳洲军队残杀阿富汗儿童
– 和平之师 –
澳洲总理莫里森要求道歉
– 致莫里森 –

背景介绍:

(1)澳大利亚国防军督察长办公室11月19日发布的一份报告,揭露澳军在阿富汗残杀平民,其中包括残忍割喉两位儿童。

(2)国内漫画作家“乌合麒麟”创作漫画“和平之师”进行讽刺。

(3)“和平之师”获外交部发言人在推特上转发。

(4)澳大利亚总理莫里森要求道歉。

(5)“乌合麒麟”发表新漫画“致莫里森”回应。

关于本次事件的细节,请点击文章:“我可以,你不可以”。

2020汽车年审

2020汽车年审

与2019年类似(请猛击此处链接),直接在“深圳交警”公众号里预约申请即可。吐槽一下,这个预约申请的页面估计是直接应用的电脑网页版,又没做网页适应,在手机里操作时,字体细小得简直眼瞎。

费用依然是290元,无需在预约时缴纳,到现场车检时再交即可,支持微信支付。

提交资料:(1)身份证 (2)车辆行驶证 (3)交强险保单。

关于交强险保单,今年因为是电子档,所以没有带纸质单,但是现场似乎也没有查到,后来是找保险把电子档发到手机上,然后在现场打印出来。这样来回耽误点时间,以后为以防万一,还是应该先获取好电子档,然后自己先打印出来随身带着。

检测流程非常舒服:将交通三脚架放副驾驶位置、 缴费、 然后将车钥匙给工作人员,就没有其他操作了,在检测中心的休息室等着检测完即可。

同样,只有一个年审标,没有单独的绿标。年审标不用贴车上,放车上带着就可以。

可能是因为新规(6年以内免检,6年以上10年以下2年检一次)的原因,今年年检的车比去年要少一些,去了基本就检。提早一点去也没有问题,本次我预约了10点钟,实际9点20左右就到了,大约30分钟就检完了,算上交强险耽误的时间,全程也大约只要50分钟。

双十一

双十一

我是很反感“双十一”这种极度鬼畜的营销节日的,今年的双十一提前了N天开始酝酿,照这个节奏,早晚有一天会从“十一”开始。

今天一大早客户上报了一个 bug,不得不定位、重新出版本。忙完了后看一下股市,股价居然也凑热闹打折。晕死!

晚上老婆在网上买的被套也送到了,拆开一看,简直无法直视!质量差不说,卖相和直播完全不一样啊……熬夜看直播、下单,到底图啥?

所谓的玩法也是各种折腾,自以为是。唯一值得庆幸的是,京东的图书有些优惠,折腾了一顿优惠券,再加上 plus 会员的一些优惠,最后买了几本书。其实最近几年我都不再买纸质书,基本就是在 kindle 里直接买电子版,这次主要还是希望收藏、纪念吧,以后都不可能再这样了。

觉得这种节日实在是无聊,是我老了吗?

和平要实力相当才可获取,不存在祥林嫂式和平

和平要实力相当才可获取,不存在祥林嫂式和平

原文链接请点击这里。我是任总正非的粉丝,相当服气!

10月27日,华为“心声社区”刊发创始人任正非9月14-18日访问北京大学、清华大学、中国科学院等学校与部分科学家、学生代表座谈时的发言,题为《向上捅破天,向下扎到根》。全文如下:

习主席在与科学家座谈会讲了,基础教育、基础研究、基础理论、基础工业,也讲了科学家的好奇心驱动。国家不仅要重视科学理论、工程技术的研究,也要重视一些不以应用为目的的纯研究。不然我们怎么能向上捅破天呢?我们这么大的经济总量,允许一部分人是“梵高”应该是可以的。科学史上,有一种生存了八千万年的蛭虫,多少科学家研究了数十年,有些科学家因找不到雄的蛭虫而发大火,实际上他已经走到诺贝尔奖的边上了,最后由比利时科学家发现它是单性繁殖。两性繁殖,两条基因链的结合会产生突变,会有优秀的一代产生,当然,不健康的就流产了,自然淘汰。那么单亲繁殖的基因链若有病变、有问题,遗传下去不就灭绝了吗?她发现蛭虫的基因链会断裂,又会重新整合,这不就是优选吗?所以它们经历八千万年,经历多少灾难,还存活下来了。

我国的经济总量这么大,这么大的一棵树,根不强是不行的,不扎到根,树是不稳的,万一刮台风呢?我们拧开水龙头就出水的短、平、快的经济发展模式是不可持续的。我国的基础工业还是不强的,小小一滴胶,就制约一个国家的故事,我们已经看到了,这是分子工程,是高科技中的高科技。而这几千种胶、研磨剂、特种气体……,都是高科技中的高科技,我国现在还基本达不到,很多种技术一年的需求量只有几千万美元、几百万美元甚至更少,试看泡沫经济下有几个公司肯干这种事。缺一种就会卡了一个国家的脖子。

过河需要船和桥,我们有了很好的科学目标,过河的船夫就是人才,人才来自教育,因此,国家的发展根本在教育。我们振兴中华,不是靠口号,而是要靠“船”和“桥”。

我国每年有七、八百万大学生毕业,加上中专生大约有一千万,聪明人很多,如果允许差别化的教育,就是姹紫嫣红。一二一,齐步走,同质化就缺少活力,就不易产生天才。世界有一个乔布斯就改变了移动互联网。差异化就容易产生尖子,政策要支持少数人因材施教。同时,也要重视农村教育,现在有些种田能手、养猪状元,如果他们过去有机会受到系统教育,也许就能成为精英、天才。早期中国共产党的领袖大多来自农村,毛泽东、粟裕……。我们今天的农村孩子中,怎么知道不会有明天的爱因斯坦呢?深圳很重视中小学教育,全国达到深圳的水平可能有一些困难。但如果国家每年给边远地区一些经费,让穷孩子每天能吃上二两肉,也许比修些大房子强,房子总会旧的,孩子总会成为博士的,而且他们会更忠于祖国。那么二、三十年后,我们的创新能力就大幅度增强,与美国的差距会适当缩小。没有创新是支撑不了我们这么大的经济总量持续发展的。

在科学、技术、工程领域,不同人才选择不同的方向,充分发挥每个人的才智。多学科交叉突破会更有可能,横向融合创新才能形成颠覆性的效果;科学、技术、工程垂直打通才会形成能力,真正落实创新驱动发展的理念。因此合作交流越来越重要,当然,大学还是应偏科学理论,偏重发现;企业偏重技术、工程,偏重发明,结合起来,力量才会更强大。

美国是世界上最强大的科技国家,特别是在吸引全球优秀人才上,有特别独到的优势。我们今天的科研状况很像二战前的美国,二战前50年时间,尽管美国产业已经领先全球,但在科研上充满功利主义,不重视基础研究、基础教育,大量依赖欧洲的灯塔照耀,利用欧洲的基础研究成果,发展短、平、快的产业。二战即将结束时,罗斯福总统的科技顾问范内瓦·布什在“科学:无尽的前沿”中提出要重视不以应用为目的的基础研究,面向长远,逐步摆脱了对欧洲基础科学研究的依赖,从此,美国基础科学研究远远领跑全球,形成若干重大突破。美国经过几十年的实践,上世纪九十年代,美国普林斯顿大学的唐纳德·斯托克斯1997年在“基础科学与技术创新:巴斯德象限”中,强调美国不仅需要纯技术研究,即波尔象限,也要纯应用开发的爱迪生象限,更强调应用驱动的基础科学研究。理论上遥遥领先,又与应用结合,这样既拓展了科学认知,又能创造价值。例如,北大张平文副校长说,据说波音777飞机的风洞吹风是使用全新的空气动力学软件模拟仿真的,使过去需要80次风洞试验减少到现在的7次左右,那么说明美国已把空气动力学的漩涡都变成了经典力学方程。而我们不吹风还不敢造飞机。俄罗斯将核发动机小型化,形成了战略威慑;美国把核弹小型化、战术化、无污染化。和平需要实力相当才可获取,祥林嫂式的和平是不存在的。美国的科技发展史就是一面镜子,我们以此来反思我国的科技发展战略的系统性、科学性。学人之长,长自己之力。

现在美国主张中美科技脱钩,美国是因为开放才走到今天的强大,封闭会重返落后的。清华张钹教授讲,美国越讲脱钩,我们越要高举科学无国界,坚持开放和国际化。科学是对客观规律的认识,真理只有一个,不存在东方科学、西方科学。论文都会公开发表,可以查询的,我们要站在前人的肩膀上,摸到上帝的脚。我们要坚持向一切先进学习,封闭是不会成功的。华为今天遇到的困难,不是依托全球化平台,在战略方向上压上重兵产生突破,而有什么错误。而是我们设计的先进芯片,国内的基础工业还造不出来,我们不可能又做产品,又去制造芯片。就如我们缺粮,不能自己种稻子一样。技术创新它是可以依据理论,独立设计、发明出来的。就如汽车,都是四个轮子,车都不一样。理论是可以在网上看到的,是大江、大洋、大山阻隔不了的。

科学发现、技术创新中最主要的是宽容。领导经常会问,最新进展怎么样了,你们研究成果有什么价值,能创造多少GDP。科学家要么说不出话,要么只好说违心的话。当科学家过多关心应用、关心价值,他的锚就锚在地上了,怎么飞得高?科学的道路是漫长的孤寂的道路,多少代人孜孜不倦的努力,才发现一点点真理。急功近利只有戏剧作家,才会写出科学家既会弹钢琴又会魔术般地出成果。我们要耐得住科学家的寂寞与无奈。就如我司5G Massive MIMO,起初没有人认同,搞了八年终于成功上市,成为核心竞争力。又如,2G与3G之间的算法打通,没有公司莫斯科研究所的小伙子安德烈默默无闻的几年,没有宽容,就没有华为的无线成功。我们如何追溯对这些过程中默默无闻贡献的人,并给予鼓励,包括中途已离职的有功员工,是我们干部部门应该改进的地方。过去几年由于评价不清楚、不准确,给人家打C了,可不可以追溯把他们重新评定为A、B+,他们本来就是A的。我们只有尊重历史,才会英雄辈出。只有承认科学的历史观,才会有科学的发展观。我们今天受到百年未闻的打压及围剿,20万员工的忘我奋斗,正在挽救公司的存亡,如果我们还有可能胜利的一天,我们不要忘了千万奋斗的英雄,各级干部部门要作好记录工作,追溯英雄,是为了产生更多的英雄。英雄是平凡人,不要忘记他们。忘记就意味着背叛。

我们处在一个最好的时代,我们的年青人又如此活跃,我们的国家一定充满希望。同学们快快起来,担负起天下的兴亡。你们今天桃李芬芳,明天是社会的栋梁。你们是早上八、九点钟的太阳,希望寄托在你们身上。

xrdp的小问题

xrdp的小问题

目标系统是 Debian, 采用 xrdp 远程登录窗体界面,总是在显示登录时黑屏。查了很久一直没有结论,后来就干脆用 vnc 算了。

今天在查其他问题时,无意间翻查到文件 “/usr/share/doc/xrdp/README.Debian”, 里面提示需要修改“/etc/X11/Xwrapper.config”文件,将

allowed_users=console

修改为

allowed_users=anybody

重启后,果然可以通过xrdp正常登录了! 只是比较奇怪,为什么 Debian 系统不将默认值修改为 anybody?是没人维护的原因吗? 那为啥又在 readme 文件中单独说明呢?

另外,由于 Raspberry Pi 也是基于 Debian 系统,因此 Pi 中做同样的修改,也可以通过 xrdp 正常登录。

xrdp 读取 “/etc/ssl/private/ssl-cert-snakeoil.key” 进行加密,但是这个文件默认只有 “ssl-cert” 组的成员才可以读取,因此还需要将 xrdp 用户加入该组:

sudo adduser xrdp ssl-cert
奇怪的需求

奇怪的需求

工作中经常会遇到客户提出各种各样的需求,有些需求很合理,有些需求很有难度,有些需求则让人摸不着头脑,比如今天遇到的一个需求。客户的需求看上去似乎不复杂:

呼叫离线(offline)的被叫用户时,先 push 一个通知(notification)给被叫用户,收到响应后再发起呼叫。

我推测这位客户可能在构建某个移动APP。移动APP经常遇到的问题是:希望常驻后台,但是手机的电源管理往往会优化掉应用。这导致该移动APP会强制退出运行,从而无法正常接收消息、更无法接收呼叫。

客户提出的需求不应该是这个场景的解决方案。应当是APP自身向系统申请足够的权限驻留内存,并且APP应该和 SIP 服务器定时 keep-alive 保持激活状态。前者是APP自身的设计问题,后者是SIP注册、激活问题(标准流程)。

当然这只是我的个人推测,不太适合直接反馈给客户,因此向客户简单地提示了几个问题:

(1)离线状态下,怎么保证收到 notification 呢?

(2)既然可以收到 notification, 为什么就不能收到 SIP 的呼叫消息(INVITE)呢?

2020-10-12 更新: 稍微了解了一下相关的内容,大概是 iOS、Android 提供了统一的通知机制。如果收到了 notifications, 系统会从后台启动程序,这样 SIP 终端又可以重新注册并接收呼叫了。 这种模式当然是可以工作的,不过方案确实也很丑陋。另外,由于 GMS 在大陆已经不可描述了, 因此大陆的 Android 手机就更奇葩一些,通过应用程序链之间互相唤醒、互相调用(脏得一批 ……)。

2020-11-28 更新: RFC8599 定义了 SIP PUSH NOTIFICATION 的规范,对于移动终端 APP 类的 wake up 机制进行了定义。还不清楚该规范的应用情况,待进一步了解。