Yearly Archives: 2010

A paper: 基于类Twitter服务的低成本近实时野外监测数据更新系统

[1] Shu L, Nan Z. A data acquisition system for near real-time field observation based on Twitter-like services and GSM/SMS network[J]. Journal of Glaciology and Geocryology. 2010, 32(5): 976—981.[舒乐乐,南卓铜. 基于类Twitter服务的低成本近实时野外监测数据更新系统[J]. 冰川冻土. 2010, 32(5): 976—981.]

Get this paper (.pdf)

Papers: Westdc另三篇介绍性文章

[1] Nan Z, Wang L, Wu L, et al. Experiences of Knowledge Integration from the Environmental and Ecological Science Data Center for West China[J]. CHINA SCIENCE & TECHNOLOGY RESOURCES REVIEW. 2010, 42(5): 15—21, 36.[南卓铜,王亮绪,吴立宗,等. 科学数据中心的知识集成[J]. 中国科技资源导刊. 2010, 42(5): 15—21, 36.] – Download (in PDF)

[2] Wu L, Tu Y, Wang L, et al. Application of Digital Object Identifier in Scientific Data Publication[J]. CHINA SCIENCE & TECHNOLOGY RESOURCES REVIEW. 2010, 42(5): 22—29.[吴立宗,涂勇,王亮绪,等. 浅谈科学数据出版中的数字对象唯一标识符[J]. 中国科技资源导刊. 2010, 42(5): 22—29.] – Download (in PDF)

[3] Wang L, Wu L, Nan Z, et al. Environmental and Ecological Science Data Center for West China: Review and Outlook[J]. CHINA SCIENCE & TECHNOLOGY RESOURCES REVIEW. 2010, 42(5): 30—36.[王亮绪,南卓铜,吴立宗,等. 西部数据中心数据集成和共享的回顾与展望[J]. 中国科技资源导刊. 2010, 42(5): 30—36.] – Download (in PDF)

禁止Windows 7下的备份提示

我是第三方软件备份的,没有用Windows 7本身带的。恼火的是,经常出现以下提示,

image

点击进去,出现“正在启动Windows备份”窗口,然后让选择备份位置。我的机器只有一个C盘是500GB。所以实际上是无法进行备份的。

image

于是就想如何将之禁止掉,不要时不时就跳出来。

在开始菜单里,找到计划任务程序,打开(须以管理员权限打开),定位到 任务计划程序(本地)> 任务计划程序库 > Microsoft > Windows > WindowsBackup,在右面板的 ConfigNotification 上双击,弹出,

image

切换到“触发器”,在每日上双击,

image

将启用选项的勾去掉。确定保存之。

注销当前用户后,再进来。

天地图初印象

10月21日国家测绘局宣布中国区域内数据资源最全的地理信息服务网站“天地图”(www.tianditu.cn)正式开通,提供地图模式、影像和三维模式。

敲入网址,所谓正式开通,也只是测试版。

接着出来的友情提示,建议大家使用微软的IE浏览器,并更新到IE7,8。让人奇怪是不是测绘局跟微软是不是有什么协议。现在IE市场份额节节下跌,Firefox, Chrome, Safari 都做的这么出色,占有越来越多的市场的时候,这个东东还推荐使用IE,而且三维模式是必须在IE内核下才能用。

第2个友情提示,就更是让人哭笑不得。

image

用户账户控制是Windows Vista以上版本的一个重要安全机制,它居然要让大家关闭掉。幸运的是,没有要求大家将杀毒软件也关掉。反正中毒了,是不需要天地图负责任的。其实我看到这个提示,已经失去继续使用的兴致了。

勉强再试一下放大缩小。载入的速度明显没有google map快,漫游也不是很顺畅;切换到影像,只看了一下兰州地区的,灰蒙蒙的,而且只有很粗分辨率的;三维在chrome之下则无法使用。

全部的功能貌似没有超出google map;换句话说,天地图相比 google map甚至 baidu map,优势体现在哪里?

限行有感

“北京机动车400万辆,东京、纽约各有800万辆却没有北京堵,这显然不仅仅是车多车少的问题。现在听到的方案都是准备拿私车开刀我反对,应该先向道路管理部门开刀,再向交通管理部门开刀,再向公交设计与实施部门开刀,顺便说一下,那些多此一举的收费站都可以开一刀,因为人类早就创造了不阻碍交通的收费方式。在北京,还可以向特权车狠狠来一刀。好刀要用在刀刃上。”(引自崔永元微博)

崔老师身在皇城,所谓身在福中不知道福,该知足了。兰州现在一车一月限6天或者7天,兰州才30万车,北京还有400万辆,但兰州限行比北京还狠。事实说明一切,限行的结果一样不乐观,堵的时候还是堵,倒是闲的时候车是少了一些,理论上限行可以减少20%,但问题是堵的时候根本不是多了20%,而是多了2000%。

政府做各种事情总是有理由,道路硬件条件差,种种先天或者后天不足,所以他们只能做一些伤害民众利益的事情,告诉每人要从大局出发,照顾好整体利益。有时候很奇怪,政府是干什么的,这些事情不应该就是他们的份内事吗?解决不好别找借口了,承认自己无能还落个诚实的评价,哪来这么多话。所谓大局整体,他们在讲的时候好像忘掉了大局整体不是虚的,是由一个个实在的人构成的,所以总理以前讲过,百姓无小事,这个国家就是由个个百姓组成的。有时候感叹,同是公务员,有些城市的执政水平就高了不止一筹。

杨凌项目会

16-17陕西杨凌项目会。第一次过去杨凌,印象不错。杨凌16万人,西北农林科技大,水保所等多家科研机构在这个小镇上。有些象国外的依托大学成长起来的小镇。科研人员生活压力不大,有体面的生活,这些研究所都做出了很了不起的科研成果。环境也不错。感觉很适合做科研的地方。着实羡慕了一阵子。

遗憾的是交通不是很方便,从机场过去杨凌,打表的话要400,据说不打表可以300块成交。从火车站过去其实蛮方便,本来10块的车费,但开出租车的当地人见是外地人会要到20块,这些好像让人感觉到杨凌人好像不是很厚道。听说现在在修高铁,交通进一步改善,西安杨凌的距离进一步缩短后,估计会更好一些。

住在一个三星的新天地酒店,有三星的硬件,但服务好像跟不上。比如,在第二天12点后,房卡打不开,我要求再续半天,结果被拒绝。问那如何进去房间,前台服务员不吭声。结果没法子,只有要求退房,才得以进去房间拿行李并被要求马上退房,搞的哭笑不得。这是农林科大办的宾馆,还很有一些官僚的作风,这些情况在大城市宾馆里已经很少见了。

主办水保所介绍说杨凌在未来会发展成一个现代化的城市。真到那一天,杨凌也便跟其余城市没啥区别了。

NoteExpress v2.6.1.1482多用户BUG

系统情况如下:

  • 操作系统Windows 7 中文
  • Office 2007 英文版
  • Kaspersky 2011 中文

全部正版。日常使用的是普通帐号(非管理员帐号)。下载了NoteExpress v2.6.1.1482后,安装时,提示需要管理员权限,提升到管理员帐号成功安装。

症状:

安装完成,不离开NE安装界面直接启动NE,成功(这时其实NE仍运行在管理员帐号下,因为安装已经提升到管理员帐号)。关闭安装界面,使用普通帐号打开NE,失败,提示该帐号下的Roaming目录下的NE配置文件失败。使用“以管理员权限运行”NE,成功。

以普通帐号打开Word,没有发现NoteExpress。以管理员权限打开Word,NE出现在Word界面上,正常运行。

以普通帐号打开Word,在Word选项里进入COM加载管理,没有发现NE项,通过Add… 将NE安装目录下的NEWordAddin2.dll 添到里面。关闭异常。再次打开Word,发现NE COM为inactive,无法正常添加。需要指出,如果运气太好,这时NE COM addin 添加成功了,那么每次打开word 都出现异常。这时请运行regedit,将HKEY_CURRENT_USERSoftwareMicrosoftOfficeWordAddinsNEWordAddin2.WordAddIn2删除,便可以正常启动Word。

原因:

NE在安装时,由于权限提升而导致用户帐号变化,错误地将一些必要配置文件写到管理员帐户下。

解决方案:

1. 每次运行NE,以管理员权限打开。相应的,也需要以管理员权限打开Word。不幸的是,由于权限控制,管理员帐户和当前普通帐号有不同的个人目录,比如这时NE打开的“我的目录”是管理员帐户的“我的文档”,而不是当前普通帐号的“我的文档”,再比如,无法将自己的桌面(当前普通帐号)上的文件拖到NE(运行在管理员权限下)附件里,诸如此类,很多不便。

2. 进到 C:Users<管理员帐号>AppDataRoaming 下,将其下的NoteExpress2目录里的全部目录和文件拷贝到当前普通帐号的对应位置,即C:Users<当前普通帐号>AppDataRoaming 下。在Word里打开Word选项,在COM加载项里添加NE安装目录下的NEWordAddin2.dll 。这样,普通帐号便可以正常运行NE了。

如果在COM加载项里原先已经有不打勾的NE,先将之移掉,重启Word,再行添加。

方案2无法回避的问题是,当NE有新版本出来,再行安装后,NE又将新的配置文件安装到管理员帐户下,无法对当前普通帐户进行自动更新,需要手工将Roaming下的对应NoteExpress 目录拷贝到当前帐户对应位置下。这个问题的解决,需要NE开发人员的修正。

然而,我前面在NE技术论坛上指出多用户下的这种BUG,有管理人员回复说,技术人员会进行测试,但我不认为NE技术人员意识到这种问题,并认真测试了。

要重放以上问题,准备2个干净的帐户(干净是指此前没有安装过NE),一是普通帐户,一是管理员帐户,使用干净普通帐户进行安装,安装时提升到干净的管理员帐户,应当可以reproduce描述的症状。

3. NE开发人员,在帐户提升的情况下,配置文件的安装应当是在当前普通帐户下,而不是提升后的管理员帐户下。

匆忙记录,错误在乎难免,请指正。

此BUG已经报告给NE相关人员,并在2.6.1.1508以后版本中得以修正。

愚弄小学生的东西

在数个群里都有人转发类似下面的文字:

“2010年的10月份是个不寻常的月份,这个月份中有5个星期五,5个星期六,5个星期日,这种情况需要823年后才能再次出现,这种月份被认为是钱币之月。”

小学毕业大致都可以猜出来月内5个周五周六周日的情况不致于这么罕见。简单计算一下,下一个这样的月份是,2011 年 7月,2013年3月,2014年8月,2015年的5月,,再下是2016年1月,2016年的7月。。。

呵呵!

在C中调用Fortran中的字符串数组

modparm.f

!在此模块下定义了很多共用变量,此处以title为例,定义为60个数组,每数组包括4字符

      module parm
      character(len=4) :: title(60), cpnm(5000)
      end module parm

getallo.f

!此函数(子例程)将使用modparm.f中定义的title变量,将从file.cio文件中读取3行填充title

      subroutine getallo
      use parm

!!    initialize variables
!      write(*,*) title
      title = “”

      open (23,file=”file.cio”)
      read (23,6000) titldum
      read (23,6000) titldum
      read (23,5100) title
      read (23,6000) titldum
      read (23,5000) figfile
      read (23,*) myr

      close (23)
      return
5000 format (6a)
5100 format (20a4)
6000 format (a80)
       end

将两fortran文件使用gfortran联编成 dll ,此时,title的实际符号为 __parm_MOD_title,getallo的实际符号为 getallo_。

在Qt/C++代码中读取和修改 title 变量,两个方法,如下:

1. 直接申明外部变量

#include <QtCore/QCoreApplication>
#include <QDebug>

extern “C” char __parm_MOD_title[60][4];
extern “C” void getallo_();

int main1(int argc, char *argv[])
{

     getallo_();
    char* aa = new char[60*4 +1];

    memcpy(aa, __parm_MOD_title, 60*4);
    aa[240]=”;

    qDebug()<<“__parm_MOD_title:”<<
            aa;
}

同样可以通过数组访问的方式对元素进行修改。

2. 通过动态加载resolve方法

#include <QtCore/QCoreApplication>
#include <QDebug>
#include <QLibrary>

extern “C” void getallo_();

int main(int argc, char *argv[])
{
    char * title =(char *)QLibrary::resolve(“../bin/test.dll”,”__parm_MOD_title”);

     getallo_();
    char* aa = new char[60*4 +1];
aa[240]=”;

    memcpy(aa, title, 60*4);

    qDebug()<<“__parm_MOD_title:”<<
            aa;

//修改第一个字符
title[0]=’h’;
   memcpy(aa, title, 60*4);
   qDebug()<<“__parm_MOD_title:”<<
           aa;
}

第二种方法将多维数组作为一维数组进行访问。