十九年

刚才在Linkedin上看到有人发了一个帖子,庆祝SharePoint的第19个生日。SharePoint的创始人之一,Jeff Teper在转发的时候说,明年大家一起出席庆祝20年。我忽然有些小小的感触。

SharePoint是我加入微软之后所专注的第一个服务器端产品。前前后后差不多有十年的时间,我都是围绕它展开工作的,也因此对它相当有感情。很多年前,我曾经写了几篇blog,介绍SharePoint的早期历史(SharePoint简史I, II, III)。2011年,我放弃了春节休假,跑去雷德蒙德参加了当时SharePoint的最高级别证书,Microsoft Certified Master for SharePoint,的培训和考试。我甚至一度以为,我的职业生涯会一直伴随SharePoint发展了。

但是到了2015年,当微软开始真正向云服务转型的时候,我忽然发现之前积累的SharePoint经验似乎没有了用武之地。当SharePoint作为Office 365的一部分转型为SaaS类型的云服务后,SharePoint顾问对于客户的价值大大降低了。SaaS是即插即用的,客户不再需要部署和管理本地服务器,不用操心数据库和存储的性能,更不需要知道SharePoint运维的最佳实践。SaaS的可定制性也大大缩减,客户不再能够将SharePoint作为一个开发平台,来开发各式各样的应用了。那时我意识到,我与SharePoint的缘分,尽了。当公司转型的时候,我也该开始转型了。

最近几年,我已经没在做SharePoint相关的项目,也没有关注过SharePoint的进展了。我的工作重心已经转移到了Azure上。以前在SharePoint上累计的关于web服务和数据库的开发经验,仍能不断应用在Azure的项目上。SharePoint作为Office 365的核心服务之一,应该会发展的很好,但我应该不会参加它的20周年生日会了。

缺货

从农历新年前开始,我就基本在家工作了。原本年初的时候,因为换了工作,不太用出差了,我还打算今年多去公司工作,多用用公司桌上的大曲面屏幕,多和同事约约饭。谁知计划赶不上变化,COVID-19一来,只能是在家工作,公司基本不去了。

COVID-19看起来一时半会过不去,在家工作还得持续一段日子,我就想着把我桌上这台用了几年的Dell显示器换掉。这台Dell显示器是几年前买的便宜货,虽然是HD的分辨率,但是颜色和亮度都不够,之前买来是为了接Raspberry Pi的,拿来工作不是很爽。我打算把它换成一台4k的显示器。

上网大概研究了一下,发现这台LG的显示器性价比还不错,32寸,4k,基座高度可调节,新币650左右,不算贵,完美符合我的需求。

LG 32UK550

可是我把新加坡的几大电器商店跑了个遍,却发现这个型号统统缺货了。这时候我才反应过来,大家现在都在家办公了,以前没太多人关注的显示器忽然成了抢手货。再加上中国和韩国疫情爆发产业链中断,需求增加供应不足,可不得缺货嘛!不光新加坡,我听澳洲同事说,澳洲的显示器也卖断货了。看来除了口罩卫生纸,显示器大家也抢啊。

谁也不会想到,2020年竟是这样一个开端。去年网上流行这么一句话,“2019年是过去十年中最差的一年,也是未来十年中最好的一年”。这句话看来是要一语成谶了。COVID-19是天灾更是人祸,但即使面对如此的全球危机,大国之间不但没能团结合作,反而是在互相甩锅。政治人物为了选票更是走极端,明目张胆地种族歧视也毫不避讳。全球经济衰退,新一轮金融危机已经在门外了,这世界还会好吗?

新加坡的防疫形式也不容乐观,今天又新增了47起确诊病例。新加坡前一波防住了中国,这一波看来是防不住世界了。

被删答案2

又一个很久之前发的答案,被举报政治敏感而遭删除。这个答案应该是在2012年左右写的,比英国脱欧早很久。可惜知乎发送的答案备份,居然没有原答案发布的时间,确切的时间不得而知了。

在可见的未来,不可能。
欧洲各国政治制度基本相同,但是现在欧盟也快要维持不下去了。中日韩历史上恩怨情仇就理不清,现在的政治制度有差异极大,还要照顾朝鲜,俄罗斯和美国的感情,根本不存在结盟的基础。对于天朝而言,与日本结盟,岂不是少了一条转移国内愤青爱国热情的对象?

被删答案

故上兵伐谋,其次伐交,其次伐兵,其下攻城。

这是很久之前发在知乎上一个问题下的答案,最近被删除了,原因是“政治敏感”。当时发这个答案,只是因为好玩,因为正好看到《经济学人》和《时代周刊》在讨论俄罗斯介入叙利亚的新闻。我以为“政治敏感”通常只针对国内事件的讨论,没想到已经扩及到其它国家相关的事件了。还好知乎将答案备份用邮件发给了我,我把它贴在这里,算个备份吧。

在几个答案因为各种原因被删除之后,我已经很久不在知乎上答题了。花时间写出的答案,不知什么时候就会被删除,没有意义。知乎并不能帮你“发现一个更大的世界”,最多只能帮你“发现一个更大的,被过滤的世界”而已。

一个加密的世界

我之前配置了一台基于Linux的邮件服务器,我曾经写过配置的步骤。那篇文章还是我的blog上访问量颇高的一篇。

这个邮件服务器我一直在用。大部分时间是用来收邮件,偶尔也发邮件。我原来配置的时候,邮件收发都是启用了TLS的,只是一直用的是自签名的证书,除了在配置客户端的时候,要专门信任一下证书之外,也没什么大的影响。可是最近随着各大邮件服务商,比如outlook和gmail,纷纷升级了TLS策略之后,似乎都不再信任用自签名证书发送的邮件了,必须使用由受信任CA签发的证书。各大浏览器也早已对http的页面提出安全警告了。今后要想玩自建网站和邮箱,一张由CA签发的证书是标配。还好有Let’s Encrypt出来提供免费的证书服务,否则网站和邮箱就没法随便玩了。

如今互联网成了漏洞攻击和数据泄露的高危之地,各大服务商层层防范,端到端加密,HTTPS/SSL更是成为了网站标配,整个世界都快要被加密了。尽管如此,数据泄露的事故还是经常发生。这两天闹得最厉害的,莫过于Facebook的数据泄露事件了,直接导致Facebook股价暴跌,市值一度被阿里巴巴超越。最终扎克伯格不得不亲上火线灭火。毕竟,用户的信任是所有社交网络业务的立足之本,一旦失去用户的信任,想要赢回将是很难的。扎克伯格的回应还算漂亮,这也再次说明,互联网时代最好的危机公关,就是公开透明,让用户知道来龙去脉,以及接下来的因应之道。如果试图掩盖,结果只会是欲盖弥彰,进而被唾弃了。

其实由CA签的证书,只是保证了一层信任关系。有了SSL/TLS,你和服务器之间的通讯,比较难被窃听,比较不会受到所谓的中间人攻击。但是中间人攻击,只是千变万化的网络攻击方式中的一种。即便没有被攻击,但要说有SSL的网站就值得信任,那也不尽然。更有甚者,根证书的签发单位本身也许就有问题,就像之前CNNIC闹出来过的一样。作为普通用户,我们所能做的有限,只能是尽量提高自己的水平,尽量避免让自己成为受害者了。

又见西雅图

1.

飞机降落在塔科马机场的时候,外面正下着瓢泼大雨。这样的大雨,在中国北方城市的冬季里,很少见到。

西雅图是个多雨的城市,而且雨季是在冬季。记得上大学的时候学英语,读到过一篇很有意思的文章。文章的作者说,他有一把伞,在西雅图多雨的天气里,这伞能带他去任何他想去的地方。更棒的是,这伞还带加热功能,在西雅图潮湿又寒冷的冬天里,能带给他温暖。我当时看了很惊讶,心想还有这么牛的雨伞。接着读下去,原来这伞就是作者的汽车,他卖了好大一个关子。

这篇文章给了我关于西雅图最早的印象之一。另一个关于西雅图的印象,是读了比尔盖茨的《未来之路》后,对他和他的公司充满了敬仰,知道了西雅图是微软总部所在地,那里住着许多富豪。

2.

我上次来西雅图,大概是两年多前。相比起那时,西雅图市区没有多少改变。Public market的小贩们还是那么开心,美心饼家还在,第一家星巴克门店还是有许多人排队,还是要照例去Crab Pot打卡。西雅图的街头也出现了共享单车的身影,中国的共享单车品牌ofo,和大概是本地品牌的Lime bike都能看到。但是在这多雨的天气里,没看到有人骑。

还有就是,鼎泰丰终于也开到西雅图市中心来了。

3.

在街角的Barns and Noble书店买了本《Fire and Fury》。这本书在书店打七折,在亚马逊上的折扣更高,但是亚马逊上标明的送货时间,是2到4个星期,来不及在我离开之前收到。

买这本书纯属猎奇,想看看作者到底写了些什么猛料,导致特朗普要威胁出版社不许出版,还要发律师信起诉作者。但是在特朗普以总统之尊,放狠话威胁之后,出版社和作者根本没加理会,书照出,还大卖,预售就登上了畅销书榜首。对比香港某书店老板和店员的经历,你甚至无法想象这样的事情会在中国发生。

不得不承认,这就是美国制度的伟大之处。这制度不能保证选出的总统各个优秀,但能保证烂总统也会被监督。

Web页面中的字体

我的blog荒废了很久,特别是2017年,基本没怎么管。最近觉着还是需要一个自己写字的地方,有一些时不时冒出来的想法,如果没记下来,没了也就没了。回看我很久之前写的一些文字,虽然不如何精彩,却也是一种个人记录。如果当时没写下来,那些人和事,只怕现在早已不记得了。所以又回来弄这个blog,想说把它弄得漂亮一点,至少自己看着也舒服。

我先是换了个theme。WordPress的主题目录里有太多的主题,看得人眼花缭乱,几乎选择困难症都要发作了。我最终选了这个gillian主题,觉着它比较适合我这样的个人blog,没有很多图片,也没有很多版式要求。在这个主题的基础上,我稍微改了改,主要是减少了标题背景的高度,留出更多空间给内容。

这个gillian主题是个英文主题,它的字体选择在iOS和Android上也还好,但是在Windows上就不那么好了。尤其是中文,会使用系统的默认中文字体,微软雅黑。虽然很多网页都是这么做的,但是我不太喜欢这款字体,于是改造了一下这款主题的字体选择。说实话,我之前对浏览器的fallback机制有大概的了解,但对字体没什么研究,搞不清楚衬线和非衬线的区别,和字型字重等等这些术语。为此,我跑去pluralsight听了一门名为Fundamentals of Typography的课程。算是对这些术语有了大概的了解。

原来,字体设计和使用是挺复杂又有趣的一件事情。以后有空,我会再多了解一些字体相关的知识。字体的选择需要考虑许多因素,但更多与设计师本身的审美有关。我对自己的审美没什么自信,所以最终选择了下面这样的字体搭配。

对于苹果平台的读者,如果有的话,使用苹果的系统字体就好了。使用别的字体,他们说不定反而会抱怨。对于其它平台,英文我选择了无衬线的Merriweather作为blog内容的字体,有衬线的Merriweather作为blog标题的字体。之所以这样选,是因为无衬线的Merriweather在大字号时,似乎有些字型有bug。更重要的中文字体,Windows上用等线体,Andriod上用Driod。等线体从Windows 8之后就默认安装在Windows里了,是我蛮喜欢的一款系统字体。Windows 7就用微软雅黑。其它情况就不考虑了。

此外,我还为这个blog加了个logo。没有什么设计感,不过在此过程中发现了一个看起来很厉害的设计网站Canva,logo就是用它设计的。在blog已经没人玩的当下,我决定试试google的AdSense,于是放了个广告在页面上,欢迎点击 🙂 。

又是新的一年

2017年已经过去一个星期了。不知不觉之间,就过了一年,长了一岁。“人生天地之间,如白驹之过隙,忽然而已”,庄子的这句感叹,真是恰如其分。回望2017年,有些事情做的不错,小有成绩,有些事情就做得没什么结果。总的来说,小有成绩,没犯大错,算是平顺的一年。

2017年初的时候,我利用项目间的空档,学习了一下Docker容器相关的内容。又觉得应该掌握一门前端框架,就学习了React和Redux,这些竟然在后续的项目中都用到了。回想起来,如果当时那段空档时间荒废掉了,后面的项目估计会做得十分痛苦。

下半年的项目,是一个基于Azure的应用开发。项目里用到的Azure服务,在以前的项目里虽然也用,也和不同的客户讨论讲解过,但用的比较零散。这个项目才是我真正第一次,将这些涉及到的服务统合在一个solution中,并全面实践敏捷方法和DevOps,非常有收获。连带着项目总结,向Ready大会递交了两个content proposal,没想到都被接受了。其中一个被接受为Digital Ready的session,另一个是现场。这是我第一次被邀请为Ready的speaker,算是实现了一个小目标。从我提交content proposal的经验看,具体的产品和技术,Ready更倾向于选择产品组的内容。对于来自field的proposal,他们更看重的是所谓Lessons learned的内容,纯粹讲技术,他们不太会接受,毕竟field来的讲技术,是讲不过产品组的。

年底我们一家人去了一趟美东旅行。纽约,费城,华盛顿,尼亚加拉瀑布,波士顿,纽黑文,走了一大圈。虽然天气很冷,在波士顿遇到大雪,但没有遇到极端恶劣的天气,旅程出奇的顺利,我们都玩得很开心。我们在新年之前回到新加坡,新年之后的这几天,美东的天气变的极端糟糕,大量航班延误,交通受阻。我们不禁庆幸,老天爷算是给面子。

2018年已经开始,我心里也有些目标,要实现还是要努力才行。不过我想,如果能继续保持下面三条实践的话,还是有机会的。

  • 合理利用项目间的空闲时间,不断学习
  • 关注新技术的发展
  • 保持好奇心

比特币疯狂

1.
前两天看见朋友在朋友圈发了条高晓松讲的笑话,说他有个学长,当年在比特币只有几毛钱的时候,和人合伙买了两万个。俩人都怕对方背着自己买卖比特币,所以设计了一个巨复杂的密码,两人各持一半,要一起输入才能解密。结果那个合伙人去年车祸去世了,剩下那个学长望币兴叹。这当然是个笑话,不过我倒是想起了,几年前我也玩过比特币的。

2.
2010 – 2011年的时候,我偶然读到了一些关于比特币的文章,对它的原理十分好奇,同时又被中本聪的传奇吸引,混到了一个玩比特币的twitter圈子里潜水。那时候的比特币基本不值钱,我记得我上一个比特币论坛,里面的人为了推广比特币,会给回帖的新人送币。我的第一笔比特币交易,就是这么完成的,论坛里的人送了我0.2个,按照今天的市值,差不多几千美金吧。还有人兴奋的宣布,他成功用比特币买了一个披萨,大概花了三四枚的样子。按照今天的市值,那哥们大概花了几万美元吃了一个披萨,味道一定好到逆天了吧。

3.
2011年的时候,挖矿还比较容易。一台PC装上一块显卡,每8个小时,大概能挖到0.04 – 0.05枚BTC,有时候运气好的话,甚至可以到0.1BTC。现在挖矿的收益已经大减了,据说一台最powerful的矿机,跑一个月也只能挖到0.25BTC。不知道这能否够付电费的。所以很多文章都建议,如过想要比特币的话,拿投资矿机的钱和电费,去直接买,可能会有更高的收益。

4.
有人认为,比特币是史上最大的郁金香泡沫,也有人认为,数字加密货币是未来。到底是投机还是未来?我不知道。

今日比特币价格:$16982.85

避讳诸法

中国古人讲究避讳,遇到君王或尊长的名字,要回避以示尊敬。《礼记》中有“入境而问禁,入国而问俗,入家而问讳”之说,意思是到一个地方先要问清楚该地的禁忌,到一个国家先问清楚其国的习俗,到一户人家先问清楚人家的名讳,这样就不会一不小心犯了人家的忌讳,而失礼了。可见避讳这事,在中国已经几千年了。就像哈利波特和他的小伙伴们,对伏地魔不敢直呼其名,而要称之为you know who一样,古人对君王和尊长不但不能直呼其名,而且要想方设法回避用其名中之字,否则可能会犯下不敬之罪。唐朝有个诗人李贺,他父亲的名字叫“晋肃”。李贺要考进士,有人就说,李贺应该避他父亲的名讳,不能考进士。这说法惹恼了韩愈,他专门做了篇《讳辩》,来批驳这些人。但在这篇文章里,韩愈也不敢说不需要避讳,而只是辩解说,李贺考进士,并不触犯“二名律”和“嫌名律”,“父名晋肃,子不得举进士,若父名仁,子不得为人乎?”。可见避讳这件事对古人来说,还是兹事体大的。

为了避免犯罪,古人想出各种方法来避讳,比如最常见的方法就有,改字,空字和缺笔等。

改字法,就是遇到要避的字时,用另一个字代替。陆游在他的书里讲过一个故事说,一个叫田登的人去当州官,命令他的下属要避他的讳,否则就要责罚。于是该州为了避讳,就将灯(与登同音)这个字,用火字代替。到了上元节放灯的日子,州吏贴出告示说,“本州照例放火三日”。这个“只许州官放火,不许百姓点灯”的典故,就是用改字法避讳,闹出来的。

讳不只是人要避,动物也要避;不只是普通人要避,神仙也要避。野鸡这种动物,原来不叫野鸡的,人家原名是雉。只是汉代为了避吕后的讳,才改叫了野鸡,这比人家原来的名字听着土多了有没有。据说嫦娥原名叫做姮娥,为了避汉文帝刘恒的讳,才改名叫嫦娥的。这都属于用改字法避讳。

空字法,就是遇到要避的字时,不写这个字,而是空一格,画个方框或是注个讳字。比如唐初的徐懋功,本名叫徐世勣。唐高祖李渊赐他姓李,于是改名李世勣。到了唐太宗时,为了避李世民的讳,将世字去掉,改叫李勣。当皇帝的这么搞到是玩的开心,可你们有计算过徐懋功他爸爸的心理阴影面积吗?

最牛的空字避讳,大概要数观音菩萨了。传说观音菩萨法力无边,之前一直被尊称为观世音菩萨,到了唐太宗时,为了避讳,只得把世字去掉,改名叫观音菩萨了。也不知是真是假。

缺笔法,是将要避的字的笔画去掉一两笔,变成另外一个字,一般是去掉最后一笔。《康熙字典》里,就将康熙的名字,玄烨,个去掉了最后一笔的点和竖,变成了键盘上敲不出来的两个字。

想起避讳这件事,是因为最近我的两个答案,因为避讳不当,一个被删除,一个被政治敏感了。

中国在清朝之后,理论上就不再需要避讳了。可现实中,由于无法言说的原因,中国人还是需要不断地避讳的。实际上,我答题的时候就已经用改字法避讳了,比如使用庙号和英文来取代原来的字,可看起来改字法并好使。由于输入法的限制,缺笔法根本没法用。看起来唯一有效的方法,是空字法,即要么用方框(比如这个答案),要么彻底删除或避免提到那些讳字。

随着历史的车轮不断向前,中国人要避的讳字也会越来越多,避讳的方法也需要与时俱进才行啊。

[1]同步发在知乎专栏