Browsed by
Category: 学习

学海无涯

Pi3的奇怪故障

Pi3的奇怪故障

最近遇到的奇怪问题,Pi3总是无故崩溃,然后需要掉电重启才可以。后来发现是:由于自己习惯登录图形界面,只要一VNC登录到Pi的桌面,Pi就崩溃。如果仅仅是远程SSH到Pi,则没有任何问题。

对Pi不太熟悉,简单看了一些log,也没找出所以然。只好做了以下步骤:

(1)卸载vnc4server,然后重新安装vnc4server。

sudo apt remove xrdp vnc4server tightvncserver
sudo apt purge tightvncserver xrdp
sudo apt install vnc4server tightvncserver xrdp

(2)运行“sudo raspi-config”,更新,然后选择第7项“Advanced Options”,接着选择“A5 Resolution”,设置成“1280*720”。

完成这些步骤后,同时关闭了蓝牙和无线,只保留有线连接, 似乎VNC到Pi就没有问题了。

迁移系统至SSD盘

迁移系统至SSD盘

日常工作是使用一台Thinkpad T430,有点年头了,感觉各方面都已经有些吃力。很早就想着将系统转到SSD盘上,但是又不想重装系统,毕竟是正在用的工作电脑,折腾不了那么多时间。

这事就这么搁置下来了……

近日在逛知乎的时候,发现了一篇文章(请点击此处),里面介绍了免费软件可以轻松迁移系统到SSD盘上。大喜之下,从京东购买了msata接口的金士顿 SSD 盘(UV500系列,请点击此处了解),同时从文章中下载了软件,准备进行迁移。

遗憾的事情发生了,文章提到的免费软件已经不支持迁移系统,需要付费才行。后来在网上发现了其中文版本“傲梅分区助手”(请点击此处),似乎是同一厂家的软件。中文版本需要关注公众号,然后从公众号拿到注册码, 免费 ,而且功能上可以迁移系统,耗时大约两小时左右。

过程稍稍有点折腾,不过如果是三星的SSD盘的话可能就省事,因为三星提供了免费系统迁移工具,当然只对三星的SSD盘有效。

迁移过程比想象中简单多了,以前的软件多数都是安装在系统默认的C盘,因此直接就迁移过去了,非常平顺。部分软件安装在其他盘符,在新系统中调整一下盘符,或者卸载部分软件再重新安装即可。

总之,工作量不太大,过程顺利,很满意。

乌合之众

乌合之众

周末终于挣扎着看完了勒庞写的《乌合之众》,一本言过其实的书。基本观点无非就是:群体会弱智化,即使这个群体是由精英组成。相比之下,大前研一的作品思考更深入、也更广泛一些,我更喜欢大前研一的书。

由于基本观点是群体性弱智,因此顺势就能推导出议会制的无效和荒谬。作者显然也意识到这点,因此最后一点章节又费力地硬拗,看得实在是替作者尴尬。

还是鲁迅说得对:看书就应该看二十年前,甚至一百年前的书。

RFC4235与RFC7463

RFC4235与RFC7463

基本上两篇RFC文档是传承的关系,RFC7463场景应用比RFC4235要详细很多,一些旧的SIP设备未必支持7463。

在兼容性方面,对于SIP-SUBSCRIBE消息,两篇RFC文档采用了不同的Event,rfc4235中定义“dialog”,而rfc7463中定义“dialog;shared”。rfc4235限定在只订阅SIP呼叫对话的状态,因此在dialog-info中,要求必须填充dialog元素,其中就包含call-id,remote-tag以及local-tag等典型呼叫参数。

而rfc7463不仅仅是关注呼叫,更关注“状态呈现”,因此凡是与“状态”相关的消息,都尽量进行了定义。比如在“11.1. Registration and Subscription”章节中,就定义了终端注册的状态呈现。在注册流程中,就没有dialog的信息。

呈现信息多,对用户当然有好处,对VoIP系统也很有意义,尤其是在企业应用场景中。但是需要注意的是这也大大增加了VoIP系统的负荷,实际部署中要慎重考虑。

markdown中的换行

markdown中的换行

以前google notebook用来记笔记极好,可惜google放弃了这个产品,后续试了evernote,onenote,有道笔记,以及qmail中的记笔记等,都有这样那样的问题,实在不太满意。

有朋友推荐用markdown记笔记,使用程序员必备工具VS code就可以直接预览markdown文件。markdown文件本质上就是文本文件,因此结合github等版本管理工具,还很容易对笔记进行版本管理、永不丢失,挺有意思。

markdown语法比较简单,基本上不妨碍记笔记时的思维过程。最近遇到“换行”的问题,简单搜索了一下,原来是采用以下语法:

两下空格后,再按回车键。

稍显麻烦,不过还能接受。

如何迁移系统?

如何迁移系统?

其实一直被这个问题困扰。家里有台旧笔记本,想换SSD硬盘,可是一想到要重装系统,再加上一堆的软件、配置等,实在是耗时耗力,就这么拖着。今天在知乎上看到一篇大牛的文章《如何安全快速的迁移你的系统到固态硬盘》,实在是太棒了!

粗略地阅读了这篇文章,写得非常详细清晰,更主要的是,推荐使用的工具软件也完全可以免费获得,而且还非常好用。以前也看到过类似的文章,不过为了一次迁移专门去购买一套ghost软件,似乎又下不了决心。这下好了,在忙完这段后,就可以再仔细考虑这件事了。

颇有进步的Ubuntu17.10

颇有进步的Ubuntu17.10

自从上次试用了17.04版本后,感觉乏善可陈,以至于对Ubuntu渐渐没有兴趣。最新的17.10版本出来后,一直没有去试用,昨天忽然想起这事,考虑到我们的客户中有些狂热的U粉,不得不安装17.10系统检测我们产品的运行情况,顺带稍稍体验一下17.10。

效果出奇的好!实际上我得说相当意外。

miniSIPServer on Ubuntu 17.10
miniSIPServer on Ubuntu 17.10

C家自Ubuntu14.04这个LTS版本后,桌面产品越做越烂,一代不如一代,即便是16.04这样的LTS版本,也像一个半成品。当年推出MIR和Unity等概念时,也吸引了一些眼球,让人充满期待,可惜最后还只是对macOS的拙劣模仿。

这次17.10据说直接切换到Gnome/Wayland,原以为改动如此巨大(等于跑了几年的车重新回到起点),会有各种不稳定、界面会有各种妖,简单试用下来居然中规中矩,界面和各项操作回归windows风格,这点我比较喜欢,我一直认为windows才是生产力工具。Wayland表现不错,稳定性超出预期,MIR这几年不知道究竟在干什么。

虽然我一直是KDE的粉丝,如果C家和社区能形成合力,集中做好Gnome/Wayland,我觉得未来也会很美好。与其做一堆烂DE(包括KDE),浪费资源,数十年来几无寸进,不如集中精力打磨、升级一个DE。

现在我对18.04版本充满了期待。

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

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

Firefox吞噬硬盘

Firefox吞噬硬盘

我承认是个标题党,实际是指Firefox频繁读写对硬盘有一些损害(其他浏览器也有类似的问题,都属于高IO类型软件),来自一篇网络上的文章,原文请点击这里

在这篇文章中也提到了解决方式:在firefox地址栏中输入“about:config”,然后找到参数“browser.sessionstore.interval”,默认值是15000(15秒),修改这个值即可。

从这个参数的含义看,似乎是firefox保存会话(页面)的频率,一般应用而言估计也没太大意义,改大点(例如600000)好了。

 

忙碌的一天

忙碌的一天

今天度过了忙碌的一天,然而其实什么都没有做,至少没做什么有意义的事情。

昨天收到短信,告知了上次交通违规的事(请点击这里了解细节),于是上午就打算去处理这事。先跑蛇口交警大队,据说打印机坏了,不处理,然后跑到南山交警大队去处理(人山人海啊)。结论是罚两百,不扣分,因此其实不用打印,直接在自助终端交罚款就行。在查询的时候咨询了交警同志,也认为这种罚单是有疑问的,想想折腾回江西提出异议的各种可能,还是直接交罚款了事。

一上午就这么过去了。

中午收到了windows系统升级的通知,于是习惯性的点击同意:升级失败回退一次;再次升级,中间异常退出若干次;升级完成后,出现几段鸡汤文字,然后卡死一次;冒险重新启动,然后发现程序异常一次……各种心惊肉跳的感觉。终于升级完成,版本变成”14393 187″,忍不住吐槽:真丑!微软越做越奇葩了,是因为三哥当头了么?

一下午就这么过去了。

晚上看着熊孩子写作业,怒火中烧,怎么就教不会?!

一天就这么过去了。