2017 桌面

2017 桌面

时尚的程序员群体流行晒桌面,我觉得这个挺有趣,宅男的世界外人很难懂啊。新年第一帖,晒一下我的桌面,感觉这几年桌面就没变化过。希望今年能有一些变化,明年的桌面能有不同。

2017桌面
2017桌面
大河不仅仅是大河

大河不仅仅是大河

台湾作家龙应台在香港大学做了个演讲『一首歌,一个时代』,主题大意是一首歌反映一个时代以及对个人成长经历的影响。让人意外的是,在一个互动环节中,现场观众竟然合唱了一小段『我的祖国』(完整视频请点击这里)。

看了视频,非常感动也非常意外。没想到香港现在还有很多人有家国情怀,尤其是港大居然还有这么多年青人会唱这首歌。此举完全刷新了我对香港的认识,看来也不是都仇视大陆。坦率地说,看到现场合唱的时候,我感动得热泪盈眶。

这是件很让人感动的事,然而让人意外的是龙女士事后的回应『大河就是大河』(请点击此处了解全文)。在这篇文章中,龙女士充满了谎言和肆意的扭曲,主要体现在以下几点:

听众合唱了好几首歌,台湾人用国语合唱《绿岛小夜曲》,香港人用粤语合唱《友谊之光》

要没听错的话,实际上只是龙女士播放了视频而已,现场观众并没有合唱,至少在视频里没听出来、没看出来。这个只能现场观众来指正,我个人认为龙女士疑似撒谎。

…第一个念头就是,这是一首“红歌”,…需要勇气…可是这首歌我没听过

同样疑似撒谎。第一个念头想到这是首红歌,还好意思说“没听过”?龙女士技巧性地打断了合唱,因为要不然的话,后面就会有『这是美丽/英雄/强大的祖国,是我生长的地方』。这不仅仅是描述风景的歌曲,这是家国情怀的歌曲。在中国的土地上演唱这首歌,是件很自然的事,不需要额外的勇气。

…这一半陆人一半港人的场内,各自都有自己坚持的信念和立场…

这是不是可以说龙女士在刻意地暗示、营造陆港对立的氛围?平时就最痛恨这种人,故意放大区别、扭曲观点,人为制造对立。人生本无事,庸人自扰之!

…不管在本地政治正确不正确…于是我当场邀请大家一起合唱……我于是让大家合唱的时间拉长一点……

香港师生唱『我的祖国』是完全正确的,有什么可质疑的?

如果不是我眼瞎的话,现场完全是自发合唱的,并不是龙女士邀请大家一起唱。而且正如前面提到的,龙女士技巧性地打断了合唱。这个言论让我觉得龙女士实在很不堪。当时她站在台上内心应该有挫败感和无力感吧?以至于事后慌忙地用这些谎言来掩盖。

…旋律的优美有一种感染力,一会儿就唱开了…

旋律当然优美。世界上优美的旋律还有很多,而引起现场大合唱的,不仅仅是旋律,更是家国情怀。我相信正是这种情怀,让龙女士恐慌了。

……《绿岛小夜曲》,一首包装在爱情里的政治抗议歌……大河就是大河,稻浪就是稻浪罢了

这种奇葩逻辑实在是让人无法理解。视频中龙女士承认『绿岛』作者亲属已经说这只是爱情歌曲,龙女士非要硬掰。绿岛一定不是绿岛,就算作者亲属出来说也不是,而对一首明显家国情怀的歌曲,评价却是『大河就是大河』?还『罢了』?

也许龙女士真没听过『我的祖国』,不过不要紧,现在去听一听或者看一看歌词也不晚。有一点是明确的,龙女士如果一直带着这种畸形的思维,那她永远无法理解家国情怀,永远无法理解为什么会热泪盈眶。在我们心里:

大河不仅仅是大河,稻浪绝不仅仅是稻浪

南京大屠杀

南京大屠杀

昨天(12.13)是南京大屠杀公祭日,『我们这些没有经历过战争的一代,现在站的这块土地上, 曾发生过一场大屠杀,迄今为止,只过去了短短的79年』!

日本仍然没有反省,没有正式道歉! 仍然在极力美化当年的侵略战争!

3cx收购了elastix

3cx收购了elastix

原始新闻链接请点击此处。从新闻内容大致可以得出以下结论:

(1)Elastix V5的内核从Asterisk迁移到3CX。考虑到3cx是商业、不开源的版本,因此elastix从V5版本开始应该就会转向闭源。

(2)以前的Elastix版本,例如使用比较广泛的V2版本,以及充满了bug的V3和V4版本,依然遵循开源协议。相信这些旧版本的用户无法免费升级到V5版本,需要付费购买产品或者购买技术支持才有可能。

(3)3CX可能看重的就是elastix目前已有的大量用户,希望能从产品技术支持、付费购买等途径获得利益。

国内一些专业QQ群里有部分用户表达了对这件事的愤怒情绪,感觉自己被Elastix背叛了。仔细搜索了相关报道和各类消息后,我有些不同的看法。对Elastix项目而言,『被收购』是个不错的商业选项,项目人员获得合理的报酬完全是可以理解的,毕竟这是个商业社会,人不能光靠理想一穷二白地活着。

相反,我对3cx的收购决定感到困惑。Elastix是个不错的项目,也有很多拥趸,但究其根本,依然只是依附在Asterisk上做了个壳而已,这也就意味着客户的迁移成本实际上并不高,客户完全可以从一个壳转另一个壳,比如FreePBX。实际上很快就发现FreePBX在twitter等社交媒体上发帖欢迎Elastix用户进行迁移。

由于这些壳都是使用Asterisk作为核心,因此配置规范(接口)、管理接口实际都遵循Asterisk定义。从Elastix转换到FreePBX,相信比转换到3cx要简单、容易得多。从这点看,我很怀疑Elastix用户会如3cx所愿地迁移到3cx的平台。如果不能顺利完成这种转换,这次收购的价值就会大打折扣。

目前市面上有各种各样的软、硬件PBX,绝大部分其实都是基于两个开源项目:Asterisk和FreeSwitch,差异化无非体现在各种定制化的包装。如果想获取最大利益,应该是直接收购或者控制这两大项目。如果说“条条大路通罗马”,那Elastix、FreePBX不过是其中两条路而已,Asterisk/FreeSwitch才是目的地罗马。与其在道路上设卡收费,不如直接控制罗马。

从这个角度考虑,所有基于这些开源项目的软、硬件产品实际上都有风险。一旦项目被收购,产品就有被扼杀的危险。避免此类危险的唯一路径,大概就是控制住这些项目,或者另起炉灶。

幸运的是我们的产品(miniSIPServer)是完全自主开发,与这些项目毫无关系,因此不存在任何法律和潜在的风险,这也使得我们能够完全掌握自己产品的发展,从而为客户提供安全、可靠、一致、长久的体验。

希望这些开源项目能长久繁荣下去,毕竟一起做大蛋糕、做大市场对大家都有利。

清静了

清静了

我们有个工作论坛,采用phpBB搭建,运行了多年,始终被一个问题困扰:应对各种垃圾帖。目前采用的方法是:

  • 注册时设置Q&A问题,阻止部分机器人注册论坛。
  • 新用户注册后,会发送邮件要求激活。这确保用户是使用有效电子邮件地址。
  • 新用户发的第一个贴必须由管理员审核通过,后续发帖则不用再审核。这确保用户是个有效的用户。

以上措施能保证论坛的基本质量。不过最近发现了另外一个问题:大量的垃圾用户注册成功后并没有发帖,而是在用户信息等处填写了大量的广告等垃圾信息。这类用户多数来自相同的邮件服务器地址,例如xxx@example.ru等,估计是破解了Q&A方式的注册方式,往往一天之内会注册几十甚至上百个用户。

我不是很理解这种行为。因为各搜索引擎其实是看不到用户的个人信息,在个人信息处填写垃圾信息并没有实际意义。这类账户如同牛皮藓般的存在,实在让人觉得心烦,于是开始手工删除它们。

开始时一个个地搜索,一个个地删除,效率很慢。一天删掉几百个账户后,感觉头晕眼花,实在是件单调乏味的工作。仔细检查了phpBB的ACP界面,发现其实是支持批量删除的,真是大快人心。具体操作方法如下:

在“USERS AND GROUPS”界面,点击“Prune users”,然后点击“ Find a member”。在对话框中,可以使用通配查询,例如设置“E-mail”为“*@example.ru”,将该邮件服务器地址的所有注册用户搜索出来,然后点击“Mark all”以及“select marked”。接着在原“Prune users”界面里,设置”Delete pruned user posts” 和”Deactivate or delete”,然后就可以删除掉所有已选择的用户。

删完这些账户后,为防止再次注册,可以强行屏蔽相应的邮件服务器地址,拒绝使用该邮件服务器地址的用户重新注册。在“USERS AND GROUPS”界面,点击“Ban e-mails”设置即可。同样,此处也支持通配符设置。

完成清理工作后(大约删除了一千多垃圾账户),对论坛本身是否有必要存在产生了一些怀疑。实际工作中,客户们往往还是采用邮件、IM以及在线联系等方式,只有少数用户愿意在论坛里公开讨论问题。后续我们再思考一下是否让论坛继续存在下去。

装机 – Ubuntu16.04

装机 – Ubuntu16.04

老婆公司有个让人惊讶的规定:员工笔记本三年后归自己个人所有,公司重新配新电脑! 这是多么让人热爱的公司!老婆工作这几年,家里多了几台笔记本,一水的ThinkPad。上周又过了三年,拿回一台T430。以前拿回电脑时,会恢复到Thinkpad出厂时安装的window系统,这次这台T430居然只是低格了,没有系统?!

当然可以从网上扒一个windows恢复盘下来重装,不过考虑到家里已经有几台windows的笔记本和台式机,实在没有必要再增加一台,因此这次打算装Linux系统试试。

选择发行版本

“Linux发行版本”之争在程序员迷之争论中绝对可以位列前三位!好在是给自己的笔记本选发行版,因此有幸避免了与别人的争论,只要考虑自己的需求就好了。我的基本原则其实很简单:

(1)发行版要有强大的、历史悠久的社区。

(2)或者,有商业背景企业发布的版本。

以上两点只确保一个问题:若干年后,依然能活着并得到强有力的支持。绝大多数妖艳的Linux发行版本,比如Arch等,基本不用考虑了。符合要求的版本大致也就是:Debian、CentOS、Ubuntu等寥寥数种而已。

CentOS的软件实在太老旧了点,有时候不得不自己去编译各类软件,与其这样,还不如用Arch或者Gentoo等版本来得直接。公司做项目时基本都是采用Debian系统做服务器,很满意,但是Debian桌面系统就差强人意。不知道是Debian的问题,还是KDE的问题,使用时总有各种烦人的小毛病,比如鼠标问题等。

因此这次就选择了Ubuntu 16.04 (Unity7),谁会做死去选择Ubuntu的非LTS版本呢?

安装软件

安装Ubuntu系统实在没什么可以说的,下载iso文件,录制u盘,直接安装即可,比装windows还简单,过程枯燥乏味。下面只是记录一些安装应用软件方面需要注意的地方。

安装virtualBox与Windows环境下稍有不同,扩展功能包也收录在软件中心,因此实际执行命令一起安装:

sudo apt-get install virtualbox virtualbox-ext-pack

将其他计算机中的vbox客机导出到新计算机中,U盘必须采用exFat格式才能支持超过4G大小的文件,ubuntu默认没提供对该格式的支持,因此也需要单独安装:

sudo apt-get install exfat-utils

qt开发工具集升级到qt5了,采用以下命令安装:

sudo apt-get install qt5-default
谁在丑怪?!

谁在丑怪?!

上周五台风天,香港幼稚园停课,本来安排好给苗换被褥只好推迟,今天下午赶去幼稚园换被褥。因为过关人多,通常我都不带苗一起走,放学后她自己坐校车到关口走学童通道过关,然后我再去接她,这次苗非常希望我能带她一起坐巴士回家,昨天叮嘱了很多次,让我带上她非常喜欢的一个玩具小手机,因此换完被褥,请老师把苗带出来和我一起走。

路上苗非常开心,拿着玩具手机假装打电话,边走边玩。我们去超市买了瓶饮料,顺便也买了瓶洗衣液(仅此而已,没有买其他东西,包括奶粉),朝巴士站走去。天气很晴朗,一切都很美好。

这时一位香港朋友从后面拍了一下我的肩膀,我回头看见一位中年男士,水电工人(建筑工人?)打扮,对我说了一通粤语,并且指了苗几下。老实说我完全没听懂他的意思,难道苗有什么不得体的地方吗?我非常困惑地看了看苗:因为是周一,苗穿的是学校的礼服,正规而整洁;苗正在假装打手机,声音并不喧嚣,我站在身边也听不太清她的声音。

于是我开始全方位自省:“是哪儿不对吗?…… ”这时已经走到前面去的那位香港朋友回头对我们说了句话,我听明白了:“丑怪,丑怪”。

因为给苗换被褥的关系,也算偶有往来深港两地之间,已经习惯了面对各种不耐烦。但是被人无端当面叫“丑怪”还是第一次,感觉非常错愕和震惊,回想起来也时不时觉得愤怒。

我写下这次经历时,为苗将来的生长环境感到忧心。更让我倍感压抑的是,香港近些年来的氛围越来越差,完全看不到有什么改善的希望。

鼠标滚轮太快

鼠标滚轮太快

系统是Debian 8(64bits),一直有这个问题。比如打开Firefox浏览网页,一般习惯用鼠标滚轮翻页,问题是速度太快,一下就翻过几页,试了几个鼠标都有类似的问题,基本可以排除硬件原因(实际上切换到同一台计算机的windows系统,就一切正常)。

在Debian系统中也设置了鼠标的一些配置,例如“系统设置”中的“鼠标滚轮卷动单位”等,没有效果。

虽然比较烦人,不过勉强用键盘也能避免这个问题,于是就耽搁下来。

最近浏览文档、写文档等情况比较多,没有鼠标滚轮实在很不方便,于是下决心解决这个问题。上网搜了一些解决方案,都没有效果。搜到一个解决方法:插拔鼠标一下。这实在是无厘头,想想插拔一下也不费事,就试一下吧。

太扯了!居然真的有效!这到底是什么情况?

/bin/bash^M: bad interpreter: No such file or directory

/bin/bash^M: bad interpreter: No such file or directory

早上发现预设置的某个脚本没有执行,手工执行时返回以下错误:

/bin/bash^M: bad interpreter: No such file or directory

检查/bin目录,能发现bash,因此不是“no such file”。搜索了一下网络,发现是文件格式问题,脚本文件可能被修改成dos格式了。用vim打开文件,输入”set ff”即可检查当前文件的格式。

将脚本文件修改为unix格式即可,同样,用vim打开文件后,输入以下命令:

set ff=unix

然后存盘保存退出即可。