Browsed by
Author: YI

恢复被删除的Wine菜单

恢复被删除的Wine菜单

进入/home/<user name>/.config/menus目录,修改applications.menu文件。将其中与Wine相关的<Deleted/>删除后,即可恢复。

Amazon EC2抽风了吗?

Amazon EC2抽风了吗?

今天白天和晚上,都很难登录Amazon EC2在美国东海岸的服务器。速度慢得一塌糊涂。登录Amazon的console,也是非常艰难。

对比以往,经常能达到50KB左右的速度,而现在居然经常连接超时。

不清楚是Amazon出了什么问题,还是墙又增高了? 感觉跟墙没关系,毕竟我采用了单独的IP,是纯技术内容的服务器,而且访问其他外国网站没有任何问题。

怪事,估计是Amazon在同一地区又出事了。持续关注中。。。

2011-08-10 updated – 最近这几天北弗吉尼亚地区的数据中心确实出了问题,主要是连接方面的问题,目前看AWS的状态报告确认已经正常。我们网站的访问速度也已经正常。该中心在整个AWS体系中,显得尤其不稳定,频繁发生故障。后续如果需要新开服务器,最好还是选择加利福尼亚数据中心比较好。

删除所有.svn目录

删除所有.svn目录

SVN的缺点就是:在每个目录下都创建了一个.svn目录。这些.svn目录就像狗皮膏药一样无处不在。在开发环境中没有问题,在生产环境中不应当出现。

在linux中可以使用下面的命令删除当前目录以及子目录下所有的.svn目录:

find . -name ".svn" -d -print -exec rm -rf {} \;
标准C/C++中的map

标准C/C++中的map

总体来说,map设计得很不错,很方便使用,但是其中有些操作,让人觉得十分鸡肋,不吐不快。

例如,对于最简单的查询操作,map在查询不到结果的情况下,居然直接插入一个默认值。这种做法十分多余,而且危险:

(1)接口不明确。查询就是查询,插入就是插入。现在居然在查询接口中,内含一个插入操作,接口设计的原子性不好,不够简单,逼迫使用者去作多余的思考。

(2)缺省值无法保证。例如,对于整数值,该接口认为0是缺省值。而在实际应用中,未必都会将0作为缺省值。在应用程序内埋下了地雷,搞乱甚至摧毁程序。

(3)频繁查询不存在的记录,会导致内存不断增加。这对于server类程序来说,简直要命。

即使是如此简单的、标准的数据结构操作,都可能引来如此众多的问题。对于常用的这些结构,如果不是特别强调效率或者通用性,实在是有必要定义自己的实现方式,尤其对于server端开发而言,使用标准C++库或者第三方库都应当非常慎重。

比较而言,QT中的QHash/QMultiHash设计得更为精良一些。

下面是测试代码:

#include <iostream>
#include <map>
#include <string>

using namespace std;

void test()
{
    map<string,int> demo1;
    cout<<"map size="<<demo1.size()<<endl;
    int j=demo1["1234"];
    cout<<"map size="<<demo1.size()<<endl;
}

int main(int argc, char *argv[])
{
    test();
    return 0;
}

测试结果如下:

map size=0

map size=1

据说发生了奇迹

据说发生了奇迹

7.23高铁事故,举国哀悼。这个时候,据说发生了奇迹,大爱又开始升华!

真是块神奇的土地。

赖_昌_星被抓回来了

赖_昌_星被抓回来了

新闻里是这么定义的:

他所领导的走私集团在厦门关区走私进口成品油、植物油、汽车、香烟、化工原料、西药原料、纺织原料、电子机械等货物,价值高达人民币530亿元,偷逃税款300亿元,是1949年以来中国最大的经济犯罪案件。

只是围观,不做任何评论。不过当年一些关于他杀人放火的报道,确实骇人听闻。

查看程序crash时的堆栈信息(gdb)

查看程序crash时的堆栈信息(gdb)

gdb中查看程序crash时的堆栈信息非常简单,直接使用命令backtrace即可。

gdb中对这个命令的解释如下:

backtrace — Print backtrace of all stack frames

Linux Deepin,国人最喜爱的linux?

Linux Deepin,国人最喜爱的linux?

看到一篇新闻,大意是推荐一个国人制作的linux发行版本,号称是国人最喜爱的版本。

看完该新闻后,有些疑问:

(1)号称是基于Ubuntu11.04,可是从该版本的整体界面风格看,更像是在linux mint的基础上进行了部分修改。从整体协调性看,不如Mint,与Mac更是相去甚远。

(2)在部分截图中出现原始的GTK界面,这点让人觉得很奇怪。要么是界面没有美化好,要么是某些模块崩溃了导致退回到了GTK界面。

(3)集成了永中Office。这个选择也让人费解,而且居然还作为一个主要卖点宣传。难道作者不知道永中的糗事么?既然集成了WINE,要不干脆集成WPS,或者像其他发行版本一样集成LibreOffice,怎么也比选择永中要好些吧?

作为一款国人制作的发行版本,我们还是应当鼓励。但是我个人觉得它的宣传新闻稿没有把自己的特点凸显出来,一个windows XP风格的软件中心花哨是花哨了,可是和整体风格格格不入,有点不伦不类。这点就不如ylmf,它干脆就整体向XP模仿,至少风格是统一的。

如果向初学者推荐,我仍然会推荐Linux Mint。国人制作的版本已经有很大的进步,不过还任重道远。

中国科技大学开源镜像

中国科技大学开源镜像

站点地址: mirrors.ustc.edu.cn,支持HTTP和FTP访问。

这个站点速度比较快,也比较稳定。基本上我们都在它这下载各个Linux发布版本,如Ubuntu, CentOS等。国内各大学应该向中科大学习。

昨天中科大站点终于出现了传说中的CentOS6,今天下载下来试试。就个人想法而言,我觉得中科大也应该提供Scientific Linux的镜像,毕竟两个版本都是同源,而后者显然更有科研味道。

一款轻量级的php编辑工具gPHPEdit

一款轻量级的php编辑工具gPHPEdit

在Ubuntu环境中,一般可以采用gEdit来编辑php文件。不过gEdit有个很大的不足:无法显示php函数、类列表,毕竟gEdit只是定位在简单的文本编辑功能上。

我们也可以使用Eclipse+PDT模块,不过Eclipse实在是太重型了,不太讨人喜欢。

后来发现Ubuntu软件中心有一款非常轻型的php编辑工具:gPHPEdit。它的界面、配置、操作都与gEdit非常像,重要的是它支持对PHP文件中的函数和类进行列表,大大方便了开发工作。

安装命令如下:

sudo apt-get install gphpedit php5-cli

gPHPEdit使用php5-cli进行PHP语法检查。如果不想要语法检查功能,可以不安装php5-cli。