一点都不好用的微信

一点都不好用的微信

在网上看到一篇吹捧微信大老板张总的文章,说得各种各样的好。作为一名用户,我觉得微信的交互做得完全不知所云。

以前不知道该怎么设置用户群组,又是百度又是google,后来的版本才发现是要添加“标签”方式。现在想转发朋友圈里一篇图文并茂的文章到另一个朋友群组,死活找不到操作方式:要么只能复制文字重新发帖、要么只能转给某个人或者特定的对话,而且还不能直接转发,非要转到原发帖人的文章页面,找到那篇文章,再点击右上角“三个点”的符号,然后再选择人或者圈等等。

今天本来想转发朋友的一个帖子,寻寻觅觅地操作了N次都失败了,怒!我觉得微信的崛起,主要是用qq的资源强推,以及国内同类竞争对手实在太烂,与所谓的人性化设计毫无关系。

光纤断了?

光纤断了?

支付宝今天出了问题,新闻链接请点这里

阿里真是个奇葩公司!去年天猫数据造假,说是程序员干的,被舆论逼急了,撸下去一个总监(?)。今年HR造假,结果却是处罚了三个程序员。这次没法说是程序员问题,就把责任推给光纤。

太诡异的理由了!

这么重要的一个产品,没有异地灾备?难道说所有支付宝相关机房的光纤都被铲断了?我们能想象弄断一根光纤就把中国银行的银行卡给搞废么?很难相信支付宝居然没有灾备系统,因此这次的故障,极有可能是内部出问题,光纤只是新的背锅侠而已。

阿里缺乏坦率面对问题的勇气,已经习惯了滑溜地找各种借口。

Apache自动输入密钥文件密码

Apache自动输入密钥文件密码

从startSSL申请了证书并成功加载到apache,这些都是通用步骤,具体可以直接参考startSSL的说明文档:http://www.startssl.com/?app=21

然而由于密钥文件是采用访问密码保护,因此重启apache时,读取密钥文件会要求手工输入密码,例如以下提示信息:

Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.
Enter pass phrase:

这样非常不方便,因此需要将密钥的访问密码告诉apache,并自动输入该密码。

以下步骤都是以root身份进行,系统为Debian 7。

创建shell文件:vi /etc/ssl/apache_pass.sh,并输入以下内容,用于输出访问密码:

#!/bin/sh
echo "1234" <-- 这个是密钥文件的访问密码

出于安全的考虑,将这个文件设置为可执行,并且只能由root访问:

chmod 400 apache_pass.sh
chmod +x apache_pass.sh

接下来就是修改/etc/apache2/mods-available/ssl.conf文件,将SSLPassPhraseDialog由默认的builtin修改为以下值(其实就是执行上述shell文件):

SSLPassPhraseDialog exec:/etc/ssl/apache_pass.sh

完成上述步骤后,重启apache2,将自动输入密钥文件的访问密码,不再需要手工操作。

blue moon

blue moon

字面意思很容易理解:“蓝月亮”,隐含的意思是指“几乎不可能发生的事情”。比如某项已经确定的政策在可预见的时期内几乎不可能更改,就可以用“blue moon”来形容,如下句:

This policy might be updated once in a blue moon.

ALG是什么?

ALG是什么?

Application Gateway应用服务器的通称,实际上可以按照网络应用分成不同的种类,例如FTP-ALG、HTTP-ALG等。

这里要说说的是SIP-ALG。这个是通信行当的人才明白的东西,估计大多数人基本不关心。而最近不知道刮什么风,越来越多的路由器里居然都内嵌了SIP-ALG。本来这是个很好的事情,毕竟SIP-ALG能让SIP通话更安全、更能帮助私网的SIP电话进行穿越,实在是有诸多的好处。

可是让人奇怪的是,国内很多路由器的SIP-ALG完全起不了作用,反而引入了各种奇怪的问题。不知道是不是某个路由器通用套件内嵌了这个模块,因此大部分路由器厂商不假思索都自动加持SIP-ALG功能。

如果您的VOIP网络遇到了语音问题,如果您花了很多时间都无法解决,不妨查一下路由器的配置,关掉SIP-ALG功能试试。

英雄是有保质期的

英雄是有保质期的

在网络上闲逛无意中看到的日本动漫“Fate zero”,实在是神作,关于英雄和正义的演绎很有深度。

日本,真是个让人觉得很矛盾的国家。

安装Debian8

安装Debian8

作为一名linux爱好者,这个月份让人觉得很愉悦,因为紧接着Ubuntu后,Debian8又发布了。按照以往的经验,Debian的软件包要旧一些,不过不要紧,比CentOS还是要新多了,我个人非常喜欢Debian的版本。

安装Debian8有些要注意的地方:

(1)尽量不选择“Graphical install”,默认的安装方式就好。图形安装方式似乎要联网下载一些包,导致速度很慢(这点现在不太确认,当时没选择镜像站)。

(2)虽然是DVD安装方式,但建议在“选择镜像”步骤时还是要选择一个国内的镜像(包括教育网用户也可以选择教育网内的镜像)。因为在安装过程中,还是会联网去下载一些包,指定国内镜像的话,速度要快很多。

(3)最后一步设置grub时,要么选择一个引导区,要么手工设置一个。默认是空的,我以为安装程序会选择默认值,手快直接敲回车,结果就悲剧了。

(4)Debian8安装源中似乎已经不包含virtualbox-guest-dkms包,因此如果是用virtualbox安装,需要手工安装编译vbox自带的增强工具。

安装完成后,简单体验了一下,总体感觉还不错。默认安装gnome3,比以前顺滑多了。有几个地方有些可惜:

(1)新版提供了”package install”,欣喜地以为可以像Ubuntu那样点击deb文件直接安装程序。似乎这个工具没有做好,点击后弹出对话框,提示安装、下载,然后就假死了,没有任何反馈。最后还是不得不手工用dpkg来安装程序。

(2)不知道是不是gnome3特意的设计。程序弹出的dialog窗体中,居然没有关闭按钮,都只能按ESC键关闭对话框。另外就是Qt程序的菜单项中无法显示icon,不过toolbar不受影响。这方面的处理,感觉不如Unity合理和方便。下图是我们应用程序的截图,大家随意感受一下:

Debian8
miniSIPServer 工作在Debian8系统中
Kubuntu15.04!一切都扁了!

Kubuntu15.04!一切都扁了!

刚才升级移动盘中安装的kubuntu到最新的15.04版本,过程耗时且不太顺利。运行起来后,最直观的感受是两个:

(1)一切都拍扁了。

(2)速度比以前慢一点。

在这个版本中,默认已经是KDE5以及Plasma5,完全扁平化。默认的窗体风格是“微风”。konsole默认字体是“oxygen mono”,显示中文时有些问题,修改回Ubuntu mono等原有字体会好一些。下图是升级完成后的截图:

升级Kubuntu到15.04后截图
升级Kubuntu到15.04后截图

升级过程基本顺利,但是在96%的时候卡在”配置fail2ban”。冒险掉电重启,居然能重新进入系统。删除fail2ban,再重新使用以下命令修复:

sudo dpkg --configure -a

升级方式很耗时间,前后花费了将近4个小时。与之对比,下载ubuntu15.04的iso然后重新在virtualBox中安装,耗时也仅仅1个小时。

简单使用了一段时间,编译测试了几个程序。总体上KDE5还比较稳定,比KDE4刚推出那会儿好太多了。个人感觉比以前的版本好看,我比较喜欢新的“微风”风格。大家有兴趣的话,值得试试。由此我对Debian的KDE5版本充满期待啊。

一周一行

一周一行

深圳取消了“一签多行”,改成“一周一行”。这是打着反水客旗号赤裸裸地歧视深圳人!梁特首感谢深圳政府的理解,而身为深圳人,我对这个决策无法理解,更感到愤怒!

在来往香港的几百万深圳人中,有多少是水客?这种做法的直接意义就是视全体深圳人为水客!更何况,水客中有至少一半是港人自己吧?这完全是把水客的脏水全部泼到深圳人身上!

没有别的手段打击水客吗?两地海关都不能掌控吗?扯蛋!

港府这是对港灿姑息养奸,对深圳(大陆)忘恩负义、过河拆桥!而内地海关(或者决策部门)也是一味地迁就香港,完全漠视深圳居民的尊严和感受!

hg小技巧

hg小技巧

比起大名鼎鼎的git,mercurial/hg相对来说默默无闻一些,不过我们一直使用hg,而且感觉还不错,与git相比该有的都有,不该有的都没有。除了clearcase,hg是我非常喜欢的版本管理工具。

hg在branch管理上相比clearcase还是有很大差距,在日常工作中,需要采取一些变通方式。例如以下一些场景:

只显示active的分支

加上参数“-a”即可,完整命令如下:

hg branches -a

如果不想每次都带上参数,默认就只显示active的分支,可以修改hgrc文件,加入以下内容:

[alias]
branches = branches -a

关闭分支

实际上我们希望有“删除分支”的功能。在平时工作中,多半有这样的场景:为了查某个问题需要修改代码,为了不影响开发分支或者主线分支,通常都会创建一个临时分支,加入一些打印、调试、定位代码甚至变更处理逻辑等代码。问题定位后,这些代码不需要merge进主线,分支也没有存在意义,最好就删除了事。遗憾的是hg不提供删除分支的功能,因此我们采用“关闭分支”的处理方式:

hg commit --close-branch -m "finish debug, useless now"