kubuntu系统中iBUS输入的问题
缺省安装的iBUS,没有包含ibus-gtk,因此在某些GTK程序中,无法输入汉字,例如Firefox。
解决方法也很简单,安装ibus-gtk即可。
缺省安装的iBUS,没有包含ibus-gtk,因此在某些GTK程序中,无法输入汉字,例如Firefox。
解决方法也很简单,安装ibus-gtk即可。
今天据说是博鳌论坛开幕的日子,其实我并不关心。
今天是M公司正式启动的日子。
今天是我离开U公司的日子。
今天是告别过去,面向未来的日子。
我的心情很忐忑,对未来充满期许,内心非常彷徨。
两者貌似基本是对应的。例如QT3.x出来后,KDE也升级为3.x;QT4.x出来后,KDE紧随其后也升级为4.x。
照这个比对,QT下个版本应该是QT5.x,然后KDE也升级为KDE5.x。。。
然而,现在Nokia将QT魔幻般地变回QT SDK 1.0!
KDE是不是该抓狂了?:-)
在网路上看到一个签名档,太搞笑了,摘录如下:
$ sudo apt-get install girlfriend
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
下列软件包有不能满足的依赖关系:
girlfriend: 依赖: house 但是它将不会被安装
girlfriend: 依赖: car 但是它将不会被安装
house,car: 依赖: money 但是它将不会被安装
Error: girlfriend无法被安装
在尝试了Ubuntu、Xubuntu、Kubuntu、Debina、Mint等诸多发行版本后,今天还是忍不住切回到Kubuntu,使用KDE4.6。
我想我还是非常享受KDE相对比较华丽的界面,内存和CPU目前不是问题,即使是以前比较老旧的配置,运行KDE4.6还是比较流畅,况且我也不做太多占CPU和内存的工作,大部分时间都是通过Putty登陆命令行界面进行操作。
目前主流厂商中,还没有全力支持KDE的发行版本。OpenSUSE虽然缺省支持KDE,但是换了东家后,让人始终感觉不放心。其他只剩下一些小众版本,例如Arch、PCLinuxOS等,这些小众版本作为linux爱好者玩一玩当然没什么问题,对于企业应用来说,确保产品能长期有效地得到支援是最重要的,从这个方面看,KDE不太乐观。
下午带孩子去隔壁小区玩“挖沙”。小孩的乐趣实在是非常简单,一个小小的沙坑就能让他们玩得不亦乐乎,流连忘返。
毛豆在沙堆了挖了几个坑,扬了几把沙,心情很兴奋。他看到几个小朋友在另一边玩沙,兴冲冲地跑过去,想一起玩,可惜孩子们都拒绝了,抱着自己的小铲子、小车子跑一边去了。
这实在是让人看不下去。现在的小孩各方面物质条件无意已经非常好了,可是在精神方面的培养呢?孩子们的身影都显得比较孤独啊。
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的一点问题,进行简单总结。
实际上就是关于事务隔离级别以及幻象读的问题。
我们的程序分成两个部分: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公司的悠长岁月。