Browsed by
Category: 杂文

随便记点什么

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桌面
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'; 
    }
在日本创业

在日本创业

在网上闲逛看到的一篇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

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

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

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
一点都不好用的微信

一点都不好用的微信

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

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

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

光纤断了?

光纤断了?

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

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

太诡异的理由了!

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

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

英雄是有保质期的

英雄是有保质期的

在网络上闲逛无意中看到的日本动漫“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版本充满期待啊。