Browsed by
Category: 杂文

随便记点什么

Evernote可能要悲剧了

Evernote可能要悲剧了

刚才升级了一下evernote,最新版本是4.3。这个版本有个重要的功能是share,看意思是可以多人分享同一个note。

众多优秀的软件,就是因为share功能被和谐了,例如,我最喜欢的Google docs。

坐着看戏。。

 

简单使用tar命令

简单使用tar命令

我们最近将部分工作和服务转移到Linux平台,进行需要使用tar命令对数据进行备份。tar命令非常复杂,具有很丰富的功能,不过我们实际工作中,只是简单地使用压缩备份、解压缩还原而已:

(1)压缩备份:tar -zcvpf my.tar.gz /home/yxh

将/home/yxh目录下的所有文件打包,并且保留文件的属性。其中-p非常重要,它用来保留原文件的属性。

(2)解压缩还原:tar -zxvf my.tar.gz /home/yxh

 

kubuntu系统中iBUS输入的问题

kubuntu系统中iBUS输入的问题

缺省安装的iBUS,没有包含ibus-gtk,因此在某些GTK程序中,无法输入汉字,例如Firefox。

解决方法也很简单,安装ibus-gtk即可。

QT与KDE的版本对应关系

QT与KDE的版本对应关系

两者貌似基本是对应的。例如QT3.x出来后,KDE也升级为3.x;QT4.x出来后,KDE紧随其后也升级为4.x。

照这个比对,QT下个版本应该是QT5.x,然后KDE也升级为KDE5.x。。。

然而,现在Nokia将QT魔幻般地变回QT SDK 1.0!

KDE是不是该抓狂了?:-)

KDE,我喜欢!

KDE,我喜欢!

在尝试了Ubuntu、Xubuntu、Kubuntu、Debina、Mint等诸多发行版本后,今天还是忍不住切回到Kubuntu,使用KDE4.6。

我想我还是非常享受KDE相对比较华丽的界面,内存和CPU目前不是问题,即使是以前比较老旧的配置,运行KDE4.6还是比较流畅,况且我也不做太多占CPU和内存的工作,大部分时间都是通过Putty登陆命令行界面进行操作。

目前主流厂商中,还没有全力支持KDE的发行版本。OpenSUSE虽然缺省支持KDE,但是换了东家后,让人始终感觉不放心。其他只剩下一些小众版本,例如Arch、PCLinuxOS等,这些小众版本作为linux爱好者玩一玩当然没什么问题,对于企业应用来说,确保产品能长期有效地得到支援是最重要的,从这个方面看,KDE不太乐观。

定位DLL导致crash的问题(BCB适用)

定位DLL导致crash的问题(BCB适用)

4.1日的消息果然是个joke,现在各大网站恢复以前的主页了。

回到这篇的主题。在定位crash问题时,首先要在编译版本时生成map文件。程序崩溃时,windows提示的offset地址,与VC生成的map文件描述比较一致,而BCB生成的map文件描述方式与VC的描述方式不太一样,有些地方需要注意。

例如,我们有个demo.exe程序,调用了demo.dll,程序崩溃,windows提示:在demo.dll中崩溃,offset地址为0x00002C90。

定位时,我们需要减去0x00001000,然后在map文件中寻找比0x00001C90小,但是最接近这个值所对应的函数描述。在BCB生成的demo.map文件中,我们可以找到以下代码段描述:

0001:00001C78  Cdemo::GetDemoInfo(Cdemo_info *)

因此基本判断是在函数Cdemo::GetDemoInfo中出错,需要对该函数进行review和测试。

是愚人节笑话吗?

是愚人节笑话吗?

在网上看到一个相当让人震惊的消息:

据说Debian / Arch / Gentoo / OpenSUSE / Grml五大发行版本计划合并为一个发行版本,这个新发行版本叫Canterbury。如果这不是笑话的话,对Linux社区来讲会是件非常重大的事情,意义可能非常深远。现在Linux的发行版本确实太多了,分散了社区的开发力量。

但是为什么取名Canterbury呢?听上去像是个地名。

MySQL与幻象读

MySQL与幻象读

最近在部署系统的过程中,发现MySQL的一点问题,进行简单总结。

实际上就是关于事务隔离级别以及幻象读的问题。

我们的程序分成两个部分:UI层以及Service处理层。UI层使用MySQL的C库接口创建连接;Service层采用Python的MySQLdb您(底层仍然是MySQL的C接口)创建连接。

因此,实际上会与MySQL创建两个连接。

在windows环境中,如果我们通过UI修改了MySQL的数据,我们发现在service层查询时,还是以前的数据,而不是commit之后的数据。

采用Ubuntu系统下的MySQL时,没有这个问题。UI修改了MySQL数据后,Service能立刻查询到最新的结果。

我们发现,Ubuntu下的MySQL(5.1.49-1ubuntu8.1 (Ubuntu))版本较旧,采用MyISAM引擎。而Windows环境下的MySQL(5.1.53-community MySQL Community Server (GPL))较新,采用InnoDB引擎。将Windows环境下的MySQL强制指定为MyISAM时,问题也能解决,不再出现幻象读。

使用下述命令查询了Ubuntu和Windows的配置,都是REPEATABLE-READ:

SELECT @@tx_isolation;

SELECT @@global.tx_isolation;

判断,InnoDB的事务处理级别REPEATABLE-READ还是会出现幻象读。在程序中强行将session级的处理修改为READ-COMMITTED后,问题也解决,不再出现幻象读。

set session transaction isolation level read committed;

这个似乎与网上的资料有些不一致,据说REPEATABLE-READ不会出现幻象读,而READ-COMMITTED级别才会出现。实际结果是相反的。

另外,就我们的应用来说,select操作多于insert/update操作,而且数据量不大,因此MyISAM比InnoDB更适合我们的应用,可惜高版本的MySQL将缺省引擎给换成InnoDB了。

普拉哈拉德

普拉哈拉德

看到一个与传统不太一样的说法:为了更好地认识未来,我们有必要忘掉过去。这个观点来自普拉哈拉德,一位很伟大的管理大师,影响了N多CEO。

我们传统的观点中,非常强调对过去经验的学习,甚至有说法:忘记过去,就意味着背叛。

而现在的我,确实需要忘掉过去,重新出发。以此文纪念我在U公司的悠长岁月。

Firefox 4很给力啊

Firefox 4很给力啊

听说Firefox升级了,而且是个重大的升级,有点心动。以前很支持Firefox,后来在某个3.x版本的时候体验不好,经常假死、崩溃等等,因此转向了Google chrome。老实说,我对Chrome感觉极好,尤其喜欢它的书签同步等功能,而且速度超快!从那以后,就再没用过Firefox了。

今天在家里的电脑上下载安装Firefox 4,顺利检测到旧版Firefox并进行升级。升级过程很顺利,不过对Google toolbar的支持被中断了,看意思是不兼容。启动起来后,试了几个网站,尤其是javascript很多的一些网站,感觉很不错,速度也是非常快。在Firefox中,居然也发现了同步功能,要是能把Chrome的书签同步过来就好了。

目前还在试用过程中,感觉Firefox 4还是下了很多功夫,很给力!