vglrun运行starccm+无法显示mesh

采用vglrun运行starccm+后,无法显示mesh,具体报错为“error in SendArray -777star.vis.PartDisplayer_11;star.vis.Scene_2;-2223”。
网上搜索到http://sourceforge.net/tracker/index.php?func=detail&aid=3238251&group_id=117509&atid=678327,众人反应和Nvidia驱动有关系。
里面有介绍驱动降级的,但看看发帖时间都是2年前,以前降级能用的驱动都没法支持Quadro 6000了。
另外有介绍可以修改xorg.conf文件的,修改后果然有效,添加以下选项即可:    Option “ConstantFrameRateHint” “1”
# Xorg configuration created by system-config-display
Section “ServerLayout”
Identifier     “single head configuration”
Screen      0  “Screen0” 0 0
InputDevice    “Mouse0” “CorePointer”
InputDevice    “Keyboard0” “CoreKeyboard”
EndSection
Section “InputDevice”
# generated from default
Identifier  “Mouse0”
Driver      “mouse”
Option        “Protocol” “auto”
Option        “Device” “/dev/input/mice”
Option        “Emulate3Buttons” “no”
Option        “ZAxisMapping” “4 5”
EndSection
Section “InputDevice”
Identifier  “Keyboard0”
Driver      “kbd”
Option        “XkbModel” “pc105”
Option        “XkbLayout” “us”
EndSection
Section “Monitor”
Identifier   “Monitor0”
VendorName   “Unknown”
ModelName    “LCD Panel 1280×1024”
### Comment all HorizSync and VertSync values to use DDC:
HorizSync    31.5 – 64.0
VertRefresh  56.0 – 65.0
Option        “DPMS”
EndSection
Section “Device”
Identifier  “Device0”
Option “ConstantFrameRateHint” “1”
Driver      “nvidia”
VendorName  “NVIDIA Corporation”
BoardName   “Quadro 6000”
EndSection
Section “Screen”
Identifier “Screen0”
Device     “Device0”
Monitor    “Monitor0”
DefaultDepth     24
Option        “Stereo” “0”
Option        “nvidiaXineramaInfoOrder” “CRT-0”
Option        “metamodes” “1280×1024 +0+0”
SubSection “Display”
Depth     24
Modes    “1280×1024” “1280×960” “1280×800” “1152×864” “1024×768” “800×600” “640×480”
EndSubSection
EndSection
发表在 CAE, HPC, Linux | 留下评论

Make编译同名可执行文件

需求:大量.c源文件,源文件间无关联,但经常更新,需要编译出可执行文件,文件名为源文件去掉.c部分。
Makefile如下所示:
CC=gcc
CFLAGS=

SRCS = $(wildcard *.c)
OBJS = $(patsubst %.c, %.o, $(SRCS))
TARGET = $(patsubst %.c, %, $(SRCS))

all:$(TARGET)
%:%.c
$(CC) -Wall $(CFLAGS) $< -o $@
clean:
rm -f $(TARGET) *~

执行make即可检查更新全部文件。
发表在 Linux | 留下评论

人民网:朝鲜领导人名列2012最帅男人

原文不可见,但网上还有图片可以一睹风采。
人民网:2012最帅男人
人民日报人民办,办好日报为人民。不要以为与人民沾边的东西就是高高在上,阳春白雪,高山流水。十八大以后,人民日报紧跟大会潮流,开始发布人民喜闻乐见的内容了。
其实这是个出口转内销的新闻,来自http://edition.cnn.com/2012/11/27/world/asia/north-korea-china-onion/index.html的介绍,人民日报引用了洋葱网http://www.theonion.com/articles/kim-jongun-named-the-onions-sexiest-man-alive-for,30379/?ref=auto的消息,并配了55张之巨的高清无码大图,称:“平壤长大的小天王具有毁灭性的帅气,圆圆的脸,孩子般的魅力,强壮魁梧的身材,这是每个女人的白马王子”。
仔细打量,果真一表人才。虎父无犬子呀,没看到2011以前的排名,如果没有人短信拉票,网络刷票的话,他与他爹包揽top2不在话下。
发表在 娱乐 | 留下评论

python修改文件夹权限

在python中修改文件权限比较复杂,以下为修改成700的示例:
>>> import os, sys, stat
>>> os.chmod(“test”,stat.S_IRWXU)
其中stat有多种属性,在http://docs.python.org/2/library/stat.html#stat.S_ISUID中有详细介绍,部分如下:
stat.S_ISUID
Set UID bit.
stat.S_ISGID
Set-group-ID bit. This bit has several special uses. For a directory it indicates that BSD semantics is to be used for that directory: files created there inherit their group ID from the directory, not from the effective group ID of the creating process, and directories created there will also get the S_ISGID bit set. For a file that does not have the group execution bit (S_IXGRP) set, the set-group-ID bit indicates mandatory file/record locking (see also S_ENFMT).
stat.S_ISVTX
Sticky bit. When this bit is set on a directory it means that a file in that directory can be renamed or deleted only by the owner of the file, by the owner of the directory, or by a privileged process.
stat.S_IRWXU
Mask for file owner permissions.
stat.S_IRUSR
Owner has read permission.
stat.S_IWUSR
Owner has write permission.
stat.S_IXUSR
Owner has execute permission.
stat.S_IRWXG
Mask for group permissions.
stat.S_IRGRP
Group has read permission.
stat.S_IWGRP
Group has write permission.
stat.S_IXGRP
Group has execute permission.
stat.S_IRWXO
Mask for permissions for others (not in group).
stat.S_IROTH
Others have read permission.
stat.S_IWOTH
Others have write permission.
stat.S_IXOTH
Others have execute permission.
在chmod的操作中,即可以按上面的值进行设置,也可按位或的方式进行组合。以下为设置755:
>>> import os, sys, stat
>>> os.chmod(“test”,stat.S_IRWXU|stat.S_IRGRP|stat.S_IXGRP|stat.S_IROTH|stat.S_IXOTH)
对python不熟悉的话,还是觉得shell方便:
>>> import time
>>> import os
>>> import sys
>>> from subprocess import Popen, PIPE
>>> os.system(‘chmod 700 test’)
下面是最简洁的方式:
>>> import time
>>> import os
>>> import sys
>>> os.chmod(path,700)
发表在 IT, Linux, 未分类 | 留下评论

为什么诈骗短信看上去那么弱智?

转自:http://songshuhui.net/archives/71726

“XX集团举行三十周年大庆典,您的手机号码获得了20万大奖。”

“爸,我在外嫖娼被抓手机被没收,快汇5万保释费到XX。”

相信用过手机的人都收到过类似的短信,你有没有这样的疑问:这些已经被媒体曝光成千上万次骗术为什么还是一再出现?骗子们看上去实在太不好学了,怎么也不开拓创新一下理念,这么out的东西还有人信吗?最近,微软的研究人员回答了这个问题,骗子才没我们想的那么简单。 继续阅读

发表在 未分类 | 留下评论

读懂diff

转载自:http://www.ruanyifeng.com/blog/2012/08/how_to_read_diff.html

diff是Unix系统的一个很重要的工具程序。

它用来比较两个文本文件的差异,是代码版本管理的基石之一。你在命令行下,输入:

  $ diff <变动前的文件> <变动后的文件>

diff就会告诉你,这两个文件有何差异。它的显示结果不太好懂,下面我就来说明,如何读懂diff。

一、diff的三种格式

由于历史原因,diff有三种格式:

  * 正常格式(normal diff)

  * 上下文格式(context diff)

  * 合并格式(unified diff)

我们依次来看。

二、示例文件

为了便于讲解,先新建两个示例文件。

第一个文件叫做f1,内容是每行一个a,一共7行。

  a
  a
  a
  a
  a
  a
  a

第二个文件叫做f2,修改f1而成,第4行变成b,其他不变。

  a
  a
  a
  b
  a
  a
  a

三、正常格式的diff

现在对f1和f2进行比较:

  $ diff f1 f2

这时,diff就会显示正常格式的结果:

  4c4
  < a
  —
  > b

第一行是一个提示,用来说明变动位置。

  4c4

它分成三个部分:前面的”4″,表示f1的第4行有变化;中间的”c”表示变动的模式是内容改变(change),其他模式还有”增加”(a,代表addition)和”删除”(d,代表deletion);后面的”4″,表示变动后变成f2的第4行。

第二行分成两个部分。

  < a

前面的小于号,表示要从f1当中去除该行(也就是第4行),后面的”a”表示该行的内容。

第三行用来分割f1和f2。

  —

第四行,类似于第二行。

  > b

前面的大于号表示f2增加了该行,后面的”b”表示该行的内容。

最早的Unix(即AT&T版本的Unix),使用的就是这种格式的diff。

四、上下文格式的diff

上个世纪80年代初,加州大学伯克利分校推出BSD版本的Unix时,觉得diff的显示结果太简单,最好加入上下文,便于了解发生的变动。因此,推出了上下文格式的diff。

它的使用方法是加入c参数(代表context)。

  $ diff -c f1 f2

显示结果如下:

  *** f1 2012-08-29 16:45:41.000000000 +0800
  — f2 2012-08-29 16:45:51.000000000 +0800
  ***************
  *** 1,7 ****
   a
   a
   a
  !a
   a
   a
   a
  — 1,7 —-
   a
   a
   a
  !b
   a
   a
   a

这个结果分成四个部分。

第一部分的两行,显示两个文件的基本情况:文件名和时间信息。

  *** f1 2012-08-29 16:45:41.000000000 +0800
  — f2 2012-08-29 16:45:51.000000000 +0800

“***”表示变动前的文件,”—“表示变动后的文件。

第二部分是15个星号,将文件的基本情况与变动内容分割开。

  ***************

第三部分显示变动前的文件,即f1。

  *** 1,7 ****
   a
   a
   a
  !a
   a
   a
   a

这时不仅显示发生变化的第4行,还显示第4行的前面三行和后面三行,因此一共显示7行。所以,前面的”*** 1,7 ****”就表示,从第1行开始连续7行。

另外,文件内容的每一行最前面,还有一个标记位。如果为空,表示该行无变化;如果是感叹号(!),表示该行有改动;如果是减号(-),表示该行被删除;如果是加号(+),表示该行为新增。

第四部分显示变动后的文件,即f2。

  — 1,7 —-
   a
   a
   a
  !b
   a
   a
   a

除了变动行(第4行)以外,也是上下文各显示三行,总共显示7行。

五、合并格式的diff

如果两个文件相似度很高,那么上下文格式的diff,将显示大量重复的内容,很浪费空间。1990年,GNU diff率先推出了”合并格式”的diff,将f1和f2的上下文合并在一起显示。

它的使用方法是加入u参数(代表unified)。

  $ diff -u f1 f2

显示结果如下:

  — f1 2012-08-29 16:45:41.000000000 +0800
  +++ f2 2012-08-29 16:45:51.000000000 +0800
  @@ -1,7 +1,7 @@
   a
   a
   a
  -a
  +b
   a
   a
   a

它的第一部分,也是文件的基本信息。

  — f1 2012-08-29 16:45:41.000000000 +0800
  +++ f2 2012-08-29 16:45:51.000000000 +0800

“—“表示变动前的文件,”+++”表示变动后的文件。

第二部分,变动的位置用两个@作为起首和结束。

  @@ -1,7 +1,7 @@

前面的”-1,7″分成三个部分:减号表示第一个文件(即f1),”1″表示第1行,”7″表示连续7行。合在一起,就表示下面是第一个文件从第1行开始的连续7行。同样的,”+1,7″表示变动后,成为第二个文件从第1行开始的连续7行。

第三部分是变动的具体内容。

   a
   a
   a
  -a
  +b
   a
   a
   a

除了有变动的那些行以外,也是上下文各显示3行。它将两个文件的上下文,合并显示在一起,所以叫做”合并格式”。每一行最前面的标志位,空表示无变动,减号表示第一个文件删除的行,加号表示第二个文件新增的行。

六、git格式的diff

版本管理系统git,使用的是合并格式diff的变体。

  $ git diff

显示结果如下:

  diff –git a/f1 b/f1
  index 6f8a38c..449b072 100644
  — a/f1
  +++ b/f1
  @@ -1,7 +1,7 @@
   a
   a
   a
  -a
  +b
   a
   a
   a

第一行表示结果为git格式的diff。

  diff –git a/f1 b/f1

进行比较的是,a版本的f1(即变动前)和b版本的f1(即变动后)。

第二行表示两个版本的git哈希值(index区域的6f8a38c对象,与工作目录区域的449b072对象进行比较),最后的六位数字是对象的模式(普通文件,644权限)。

  index 6f8a38c..449b072 100644

第三行表示进行比较的两个文件。

  — a/f1
  +++ b/f1

“—“表示变动前的版本,”+++”表示变动后的版本。

后面的行都与官方的合并格式diff相同。

  @@ -1,7 +1,7 @@
   a
   a
   a
  -a
  +b
   a
   a
   a

七、阅读材料

  * diff – Wikipedia

  * How to read a patch or diff

  * How to work with diff representation in git

(完)

发表在 IT, Linux | 标签为 , , , | 留下评论

28个Unix/Linux的命令行神器

转自酷壳网:http://coolshell.cn/articles/7829.html

下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的。这些工具都非常不错,希望每个人都知道。本篇文章还在Hacker News上被讨论,你可以过去看看。我以作者的原文中加入了官网链接和一些说明。

dstat & sar

iostat, vmstat, ifstat 三合一的工具,用来查看系统性能(我在《性能调优攻略》中提到过那三个xxstat工具)。

官方网站:http://dag.wieers.com/rpm/packages/dstat/

你可以这样使用: 继续阅读

发表在 IT, Linux | 标签为 , , | 留下评论