Kubuntu/Ubuntu 15.10

Kubuntu/Ubuntu 15.10

15.10发布了!花了一下午的时间,将移动硬盘里的Kubuntu 15.04顺利地升级到15.10。整体上看,变化不大。图标有一些变化,与15.04相比,略微显得更灰暗一些,不过总体上也更和谐。

值得注意的是,升级过程中发现了大量的Wayland包,不知道是默认已经切换到Wayland,还是说只是内置了一个可选项。

简单地测试了一下,感觉和15.04差别不大,“微风”风格的界面还是很不错,扁平化设计我个人很喜欢,也有朋友觉得不顺眼。不知道稳定性是否有提高?15.04版本稳定性有点问题,经常会遇到crash的情况,希望15.10能有改善。

kubuntu15.10桌面
kubuntu15.10桌面
退休

退休

这个国庆有点意思,初中同学聚会、高中同学聚会、大学同学回母校聚会,而我居然都没有参加。感谢微信,的确是个好东西,很多已经失去联系的朋友通过微信又重现联系在一起了。

初中同学曲曲折折地联系到我,把我加入初中群,我才惊觉时间居然已经这么久,已经25年了!连名字都已经忘记,许多面孔已经完全认不出来(当然,有很多和我一样已经变形了)。群里各种晒照、各种秀,同学们在老家过得很欢乐,感觉很陌生,似乎和自己是平行线。

而最让我激动的是,居然联系到初中同桌!一眼就认出了她的照片,依稀还是当年的模样。微信上简单地聊了聊,感叹真是沧海桑田。而让我感到震惊的是:当年的小姑娘现在已创业成功,退休了!现在整天琢磨着美食、烘培之类的东西。。。

天啊,我的天啊!退休!当这个词砸到我面前的时候,我承认我几乎被吓到了。弯腰码代码的时候,从来没想过这个词,更从来没想过这种生活,我是不是努力不够?还需要更努力一些才行?

virtualbox无法启动虚拟机

virtualbox无法启动虚拟机

前几天系统升级到win10,初步体验了一下,感觉不如win7,不过已经升了,也就算了。但是比较闹心的是,virtualbox无法启动虚拟机了!vbox中共创建了两个虚拟机,分别是Debian7(32bit)和Debian7(64bit),都无法启动,一启动就报错:VERR_VM_DRIVER_VERSION_MISMATCH。

在网上查了很久,并重新装了vbox的4.x版本和最新的5.x版本,问题始终存在,一度误解为win10的问题。今天无意中发现vbox安装目录下有driver目录,考虑到出错提示的信息隐约和驱动有关,因此试试安装了其中的驱动,问题居然就好了! 安装文件为以下文件(视vbox具体安装目录而异),右键点击文件,然后点击“安装”即可:

D:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.inf

回顾问题,究其原因可能在于win10是升级,而不是全新安装,因此残留了vbox以前的一些配置,而这些信息在两个系统中又是不一致的。vbox自身也有问题,删除旧版本时显然没删干净,至少旧的驱动程序保留下来了。

python的小坑:%u

python的小坑:%u

最近在开发过程中,有一小处代码需要将一个无符号32位整数转成字符串,于是想当然地按照C格式化的方法,采用了类似写法:

print "a=%u"%-1

本来预期是输出内容为:

a=4294967295

实际结果并没有转化为无符号整数,仍然采用了有符号整数方式:

a=-1

作为一名C/C++程序员,对这个结果自然感到惊讶。很显然,python把%u和%d等同起来了。于是搜了一下python的文档,在字符串格式化章节中有这样的描述:

%u Obsolete type – it is identical to 'd'.

根据这文档中的内容,又进一步找到了PEP-0237,其中又强调了这点:

this means that '%u' becomes an alias for '%d'.  It will eventually be removed.

虽然不是很理解为什么采取这种做法,但是很明显,在python代码中不应该再使用%u了,这个格式转换完全等同于%d,而且在后续的版本中有可能会被删除掉。

在空闲之余,又挖了一下python的代码,的确也反应了上述各项说明:

  • PyString_Format 函数中,’iduoxX’都按照 PyInt 处理;
  • 接着在 formatint 函数中,明确进行以下转换:
  • if (x < 0 && type == 'u') { 
        type = 'd'; 
    }
推荐一个MSC小工具:mscgen

推荐一个MSC小工具:mscgen

在通信设计中经常需要使用消息序列图(MSC),目前市面上有很多画MSC图的工具,例如UML工具,例如我们自己的一个小工具等等。这些工具都是图形画的工具,而现在要推荐的是mscgen:一个用文字描述然后产生MSC图的工具,能生成SVG、PNG等多种格式。

从该工具网站提供的描述看,语法很简单,很有意思,精确地抓住了MSC图的本质,朴实而实用,非常值得大家尝试使用。

在日本创业

在日本创业

在网上闲逛看到的一篇blog,很有意思。是繁体中文,作者是一位在日本创业的华侨朋友,有亚马逊、微软等公司的工作经验,创业方向居然是制作小人偶(这似乎是日本的流行文化?)。于我心有戚戚焉的是他的创业历程和感悟,分享链接如下:

华侨朋友在日本创业

新闻里的香港法制

新闻里的香港法制

这个是香港大学学生“暴力包围校委会。。。推倒及造成校务委员受伤,又阻止伤者送院。。。”,结果是:除了“谴责”就别无其他维护法治和秩序的法律行动。新闻链接如下:

http://news.sina.com.cn/c/2015-08-03/060532168658.shtml?cre=sinapc&mod=g&loc=39&r=u&rfunc=5

另外一个是大陆人在机场与工作人员冲突,结果是:6被告被控9项罪名,即时监禁9至11天。新闻链接如下:

http://news.sina.com.cn/c/2015-07-30/023932159223.shtml

结论:香港的所谓法制现在基本只适用于大陆人,在大陆人身上特别容易显示“严格的法治”。而对香港成年人而言,禁锢他人、打伤他人甚至阻止伤者送院,不用承担任何法律责任。

哦,或者还可以给香港法治留点遮羞布:香港的大学生都不是成年人,不在法律管辖范围之内,而其他非学生的香港成年人可能还是能适用香港法律的。

港澳通行证换证

港澳通行证换证

昨天去南山公安局办理了换证,过程非常愉悦。与若干年前在大太阳下排队最后仍然未果的情况相比,简直天上地下的区别。在此先给公安系统点赞!实在是少有的政府部门办实事的典范。

因为是深圳户口,所以很多手续非常简单。与网络或者政策说明相比,实际上有些出入,总体上实际体验更简单。下面简单纪要一下步骤,以备自己或者朋友们参考。

(1)预约

直接在网上就可以预约。登陆深圳市公安局网站操作即可。让人非常欣喜的是:居然周六也可以预约办理!

预约成功后,会有短信通知(时间稍长)。注意:如果没有预约,大厅是不会办理的,早去也没用。

然后去照个像(必须说明是港澳通行证照)。根据朋友的经验,也可以直接在办证大厅内照像,稍贵了5元钱而已。

(2)打印表格和采集指纹

这两项是在一个地方办理。进大厅后,咨询相关的位置,扫描一下身份证即可办理。点赞!

(3)复印旧通行证

大厅内就可以复印。免费!又点赞一下!

(4)取号

完成上述步骤后,就可以在大厅前台交表格、照片、复印件取号。然后就等着叫号办理(看大显示屏即可)。大厅环境不错,空调很适度。重要的是:再也没有以前那种熙熙攘攘菜市场的嘈杂感了!再点赞一下!

(5)办理

就审核了一下前面打印的表格、旧照,然后刷卡缴费200元即可(不接受现金)。太简单,以至没啥可说。

从进入大厅开始,全部步骤大约在半个小时就处理完了!

Debian7升级到Debian8

Debian7升级到Debian8

最近Debian发布了Debian8.1版本,可以比较正式地商用了,因此打算将一套生产环境的debian7升级到debian8。

Debian不像Ubuntu,后者使用上确实方便,基本上一键就可以搞定。不过Debian也不麻烦,事实证明也很简单。

step1:关闭已经运行的一些服务器程序,例如apache, mysql, fail2ban等。

step2:更新当前版本,也就是sudo apt-get update以及sudo apt-get upgrade即可。

step3:修改/etc/apt/sources.list文件,将wheezy替换成jessie,例如下面就是目前生产环境上的配置:

deb http://mirrors.aliyun.com/debian/ jessie main non-free contrib
deb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ jessie main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib

deb http://mirrors.aliyun.com/debian-security/ jessie/updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian-security/ jessie/updates main non-free contrib

deb http://http.us.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free

需要注意的是以下几点:

(1)尽量配置国内的镜像源。debian官方源在国内大部分区域都比较慢,采用国内源能节省大量时间。

(2)推荐使用阿里镜像源。阿里巴巴虽然是个逗比公司,不过阿里镜像还是做得相当不错,速度快、网络稳定,我们一直都用它。

step4:更新系统。依次执行下述命令即可:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

执行过程中,涉及到一些软件更新后配置文件有改变,默认采用原有配置。

对apache的影响

apache2升级后,配置文件有改动,导致出现“403 forbidden”的情况。问题原因是apache2的部分配置参数取消了,需要用新的参数替代。修改/etc/apache2/sites-enabled/000-default(-ssl)文件:

 Order allow,deny
 allow from all

修改为:

require all granted