星期六, 二月 23, 2008

cmbfast安装

cmbfast本身程序很小,代码也不长,目前版本4.5.1,已经有好多年没有更新了。下载后./configure,make就可以了。但是这样的操作会产生如下错误:

$ make
f77 -O2   -c -o jlgen.o jlgen.F
jlgen.F: In program `jlgen':
jlgen.F:14:
         include 'cmbfast.inc'
         ^
Unable to open INCLUDE file `cmbfast.inc' at (^)
jlgen.F:18:
         integer l(lmax),i,j,lmo
                   ^
Invalid declaration of or reference to symbol `lmax' at (^) [initially seen at (
^)]
jlgen.F:18:
         integer l(lmax),i,j,lmo
                 1
jlgen.F:21: (continued):
         common /lvalues1/ l,l0,lmo
                           2
Invalid declaration of or reference to symbol `l' at (2) [initially seen at (1)]

jlgen.F: In subroutine `initlval':
jlgen.F:121:
           include 'cmbfast.inc'
           ^
Unable to open INCLUDE file `cmbfast.inc' at (^)
jlgen.F:123:
           integer l(lmax),l0
                   1
jlgen.F:125: (continued):
           common /lvalues1/ l,l0,lmo
                             2
Invalid declaration of or reference to symbol `l' at (2) [initially seen at (1)]

jlgen.F:133:
           include 'lvalues.inc'
           ^
Unable to open INCLUDE file `lvalues.inc' at (^)
jlgen.F:123:
           integer l(lmax),l0
                     1
jlgen.F:136: (continued):
           end
           2
Invalid declaration of or reference to symbol `lmax' at (2) [initially seen at (
1)]
jlgen.F: In subroutine `bjl':
jlgen.F:96: warning:
             call bjl(l(j),x,ajl)
                  1
jlgen.F:140: (continued):
           subroutine bjl(L,x,jl)
                      2
Argument #1 (named `l') of `bjl' is one type at (2) but is some other type at (1
) [info -f g77 M GLOBALS]
make: *** [jlgen.o] Error 1

原因就是g77找不到当前工作目录下的包含文件,解决方法是在添加编译参数“-I./”。可以把这个参数添加在Makefile里面:
FFLAGS    = -O2  改为
FFLAGS    = -O2 -I./

这样就可以顺利编译了。

星期六, 二月 09, 2008

Abre los ojos

英文名字是Open Your Eyes,西班牙电影,是看介绍海下的时候下载的,当然部分也是因为看到了熟悉的名字Penélope Cruz。可是电影看到一般已经糊涂了,感觉很诡异。忍不住上网去查了一下,评分还不低,更令我吃惊的是,居然这个就是Tom Cruise像演技派转型的Vanilla Sky的西班牙原版,而这个翻拍的电影居然使用了相同的女主角。如此一来,就更有兴趣仔细研究一下电影了。

可是呢,看完整个电影之后才发现,根本理清头绪,到底发生了什么事情。看影评,更是有人给出了7种以上的解释,让人摸不着头脑,这让我细细想了一整天,然后也想就此说两句了。我还是倾向于按照电影中的解释来,不要将所有的东西都设置为虚幻的(以下内容涉及剧透,未看影片者慎入)。

电影一开始就是一个虚幻的场景——万人空巷,只有主角一人。由此推断,整个电影都是虚幻的,但是这个又不尽然。此后一段,从生日Party到撞车毁容,到Sofia害怕他,离开酒吧后匆匆回家,而César则醉酒街头,都是真实存在的,以至于到后面的签字、磕药自杀也是存在的。但是Sofia爱上他,面容整好了,等等后面的情节则完全是他自己一厢情愿想象出来的。但是我认为又不是这么简单的拍摄。前面那些真实存在的情节不是简单的叙述,而其实是主角自己的回忆,导演通过回忆来展现故事的缘由。可是为什么会回忆呢?因为技术消除了他的记忆,却并不是那么干净。他本来可以完全按照自己的想象去生活,但是却因为仇恨等等给自己设下了痛苦的环境,以至于出现紊乱,终于在想象中进了精神病院。然后他在努力的认清楚真相,想象出了自己的心理医生(中弹却没死的情节说明心理医生也是假的),以此来进一步回忆过去,所以才展现出了各种的真实存在的那些事件。那个公司的人出现提醒应该就是技术上的介入产生的影像,他们自己也说,是消除部分记忆,然后按照自己的想象无缝连接上去,这就需要一部分生前的记忆来进行铺垫;而所说的无法控制这个人的潜意识,就是说虽然抹除了记忆,但是潜意识还是很努力的把这些记忆自己给找回来了,这是公司也无法控制的。所以整个电影都是主角自己在休眠情况下的映象,只是映像一部分基于事实,一部分纯属虚构,而分界线就可以简单的认为是他的人生的那个转折点,Sofia莫名其妙的爱上他,而医院也突然可以治愈他,治愈的如此完美。最后的声音就是公司监测到他的思维活动跳楼了,就在提示他如何正确的醒过来。

据说香草的天空比这个要简单一点,或许我应该再去看看那个,然后才好推断。不过好莱坞版本自然分数也要低一点。

顺便一说,前段时间还看了《穆赫兰大道》,那个才是最晦涩难懂的,到现在我也不知道到底说的是个什么劲,这个电影还隐隐约约知道说的是什么,只是理不清楚;《非常嫌疑犯》倒是我自认有个比较清晰的定论,而《记忆碎片》只是看起来比较累。看这种电影还真是脑力劳动。

星期四, 二月 07, 2008

MoinMoin安装

Moin是一个Python写的wiki,感觉比mediawiki有意思,fedora project的主页就是这个做的。Python的程序只装过Plone,还是standalone server的,所以没有什么安装配置。

开始是在wamp上,按照网上的一个xp上的教程进行安装,但是比较凌乱,不知其所以然,所以安装失败,最好的一个瞬间是cgi模式下勉强显示出了一个首页来,然后mod模式和cgi模式都不行了。无奈换到了linux下,按照官网的教程一点点地配置,弄清楚了过程之后才到wamp下再测试,发现还是要知其所以然才好。

一、安装moin。这个过程只是把python代码装到电脑里面去,就是在解压缩的目录里面运行setup.py install。这个过程就是把moin的源代码安装到python的site-packages里面去,然后把一些页面相关的数据放在python的share目录下。

二、创建moin实例。这个过程就是创建一个可访问的moin,有自己的数据和配置。moin的数据和核心功能代码是分开的,所以功能代码更新就不会影响网站了。一个实例所需要的文件就是share目录下的data(用户数据)、underlay(系统页面)目录,wikiconfig.py(配置文件)、moin.cgi(cgi接口)文件,然后htdocs文件夹下面都是模板等也不需要经常更改的东西。这些东西可以随意放置在任何一个web server可访问的地方。

三、wikiconfig.py配置。data_dir(设置为该实例的data目录),data_underlay_dir(设置为该实例的data_underlay目录),url_prefix_static(在1.60之前是默认‘/wiki’,1.60是‘/moin_static160’),一般不需要更改。

四、moin.cgi配置。第一行写python可执行文件路径,尤其是windows下要修改,例如
#!D:/Python25/python
sys.path.insert(0, '..')   '..'是wikiconfig.py所在的路径。

五、httpd.conf配置。就是设置两个别名。wikiconfig.py中url_prefix_static所设置的别名需要指向share下的htdocs文件夹,例如
Alias /moin_static160/ "D:/wamp/www/mywiki/htdocs/"
尤其要注意htdocs后面还需要一个'/'。我的是xp home,所以没有办法设置访问权限,需要把htdocs从share目录复制到www目录下面。另一个别名就是指向moin.cgi,例如
ScriptAlias /mywiki "D:/wamp/www/mywiki/cgi-bin/moin.cgi"

至此访问自己设置的别名或者cgi就可以看到默认配置的moinmoin wiki了。

星期日, 十二月 16, 2007

Windows 7

不知不觉中,到上个月末Vista已经发布整整一个年头了。现在也有了一些关于下一代的Windows——Windows 7的不少传闻了。

Windows 7将会使用虚拟机运行那些非原生程序;使用一个精简的代号为MinWin的“微内核”,MinWin被称为Windows 7的源代码库,微软工程师Eric Traut称所有的Windows系统都将基于MinWin;WinFS将作为SQL Server 2008使用的Katmai引擎核心技术之一,因此Windows 7的文件系统可能将是基于Katmai引擎的,而WinFS这个名字或许就这样退居幕后了;全新外观;能完全自定制的UI。

感觉不少特性都是从Linux世界来的,MacOS的虚拟机方式保证向下兼容;精简的内核的概念;完全命令行模式(这一点甚至有点偏离Windows这个名字和其初衷了);完全定制的UI,不再依赖于单一的Explorer;所有的版本都将使用一个精简内核。或许未来我们会看到一个GNW(GNW's Not Windows),重现Linux模仿Unix的道路,出现免费版本的Windows,谁知道呢

看到这些传闻不禁有点感概。Vista已经出了一年了,7都有些传闻了,而我现在还开心的用着XP而几乎没有用过Vista。想当初Win2k、Winme、WinXP发布的时候,我从测试版开始不断的装新系统,看杂志报纸上铺天盖地的新系统的消息。而今,却完全没有了这种感觉。是Vista过于缺乏吸引力?还是我已经老到接受不了新事物了?无论如何,还是希望Windows 7可以在2010年给我们一点新鲜的感觉。

星期二, 十二月 11, 2007

IDL 7.0 在Fedora 8上安装的DML错误

IDL 7.0安装于Fedora 8上,出现如下错误:
Fatal error initializing DML
  Configuration info
     IDL : /opt/itt/idl70/idlde/../bin/bin.linux.x86 (Use default IDL)
     BML : /opt/itt/idl70/idlde/bin.linux.x86 (Use default IDL)
     DML : /opt/itt/idl70/idlde/bin.linux.x86 (Use default IDL)
     JDML: /opt/itt/idl70/idlde/bin.linux.x86 (Use default IDL)
  com.rsi.jdml.LibraryLoadException: Failed to load idl_jdml from /opt/itt/idl70/idlde/bin.linux.x86
     at com.rsi.jdml.PlatformSupport.loadNeededLibrary(PlatformSupport.java:170)
     at com.rsi.jdml.PlatformSupport.loadLibraries(PlatformSupport.java:371)
     at com.rsi.jdml.DMLAccess.initializeDML(DMLAccess.java:178)
     at com.rsi.idldt.core.IDLProcessManager.initializeDML(IDLProcessManager.java:236)
     at com.rsi.idldt.core.IDLProcessManager.createIDLProcess(IDLProcessManager.java:105)
     at com.rsi.idldt.core.IDLDTCorePlugin$PostCoreBundleStartJob.run(IDLDTCorePlugin.java:242)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
  Caused by: java.lang.UnsatisfiedLinkError: /opt/itt/idl70/idlde/bin.linux.x86/libidl_jdml.so: Can't load IA 32-bit .so on a IA 32-bit platform
     at java.lang.ClassLoader$NativeLibrary.load(Native Method)
     at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1647)
     at java.lang.Runtime.load0(Runtime.java:769)
     at java.lang.System.load(System.java:968)
     at com.rsi.jdml.PlatformSupport.loadExplicitLibrary(PlatformSupport.java:127)
     at com.rsi.jdml.PlatformSupport.loadNeededLibrary(PlatformSupport.java:161)
     ... 6 more

经过google加上多次的实验,发现是libstdc++的版本不兼容,安装compat-libstdc++-33就好了
可以直接运行
yum install libstdc++.so.5

星期五, 十二月 07, 2007

Lightbox with Flash

      Flash 默认总是会显示在页面的最顶层,也就是说如果页面上存在一些DHTML Layer,那么这些层将会被Flash盖住。即使设置了 z-index 属性也无济于事。如果你需要一些 LightBox 的弹出层,页面上的Flash可能会让其效果丑陋不堪。

Adobe 的技术知识库里提供了解决的办法: Flash content displays on top of all DHTML layers。

给"object"标签增加wmode参数针对IE
<param name="wmode" value="transparent">

给"embed"标签也增加类似参数 针对FIREFOX
wmode="transparent"

星期二, 十一月 06, 2007

astro-linux初步设想

无意中看到Fedora 9有人申请了天文软件包,但是没有通过;又联想到一个Scientific Linux发行版,就突然觉得应该有一个astro-linux的。天文专业用到的软件也不少,而且有些很难安装,也挑发行版,对于很多人来说,装这些软件就得折腾半天,大约这也是很多人不喜欢用linux的原因吧。上网核实了一下,应该比较全面的天文发行版还是比较少的,至少不是很容易找到,我想,或许可以做一个,也许应该找些人,比如ASC,也许应该先看看有多麻烦。

构想,这该是一个怎么样的呢?应该是一个兼容性不错的基础发行版,去掉那些不需要的无关的东西,然后附带上尽可能多的天文需要用的软件和库,可以在线更新。这些附带的东西应该都是免费的,最好是有开源的。安装的时候分组就可以选上各种软件,有各种模式的安装,尽可能做到装完即可用。对于一个特定的版本调校软件的rpm包应该会轻松一点。

该如何实现呢?我认为这是一个长期的计划,周期不会短。

  • 选定一个基础发行版。据说slackware可定制性很强,但是用的不多;ubuntu的变种很多,但是,scisoft在上面就运行的不好,得配置很多。所以最看中的还是RHEL系列。RHEL是一个比较稳定的发行版,源码开放,现有CentOSSL等衍生版本。但是Red Hat是注册商标,必须去除。CentOS就做了很多这个方面的工作,所以觉得以CentOS为基础比较好,SL看了一下,应该也是以CentOS为基础的,这样省却了重新编译的麻烦(对于多平台又另当别论了),又能保证基础源的通用性。

  • 列出天文所需要的各种软件,主要是免费的,这需要众人的参与,从各个软件的源代码去安装,调试好一个稳定的版本,然后制作相应的rpm包。

  • 制作这些软件的group file,确定分组,然后生成repo信息,制作一个yum源。

  • rpm数量达到一定程度的时候,建立光盘版本。具体来看,就是研究CentOS的光盘文件结构,删掉不必要的组件,增加天文组件,然后更新光盘repo信息,制作可安装版本。考虑到有可能一张DVD不够的话,还需要研究如何制作双DVD版本,即extra dvd

  • 功能实现后,则继续修改anacondarhgb,做出个性化的安装界面、过程和启动过程,或许还有用户界面。

  • 重新编译出多个版本,从最开始的x86x86_64,至少需要两个版本,有条件的话可以考虑ia64ppc,尤其是后者,可能需要PS3,这个可是能用在天文上的好工具,不过可能需要更多的基础和技术吧。

  • 可以制作workstationserver版本。server对应于不需要图形界面,需要集群管理等功能的版本。

星期二, 九月 18, 2007

随拍

      最近感觉有些无聊,就想拿着新相机练练手。不出门,天不好,也没有什么拍风景的感觉,就想到趁着现在还有些花花草草,联系一下微距吧。一直都是70-300的头,大部分时间都在微距挡,呵呵。随便拍了点,也没有去过多的筛选,完全没有后期处理(懒,倒不排斥,相机自身也处理嘛)。希望有人看了可以提出一些改进意见吧。
http://picasaweb.google.com/20thfox.cz/Pod

      从直接拍摄的效果来看,最不满的还是色彩。总觉得自己拍的片子,色彩不够浓郁,有些发暗发灰,也不知道人家怎么能拍出色彩那么好的片子的。当然,长焦、微距手持的时候抖动也都是不可忽视的,自己持相机总是不那么稳当,还是有抖动,而且光圈又小,一旦光线不足的时候曝光时间长了就虚了,还要多加练习啊,或者麻烦点上脚架咯。

      拍了点东西就觉得,还是大变焦好啊,像我这么懒得人,拍来拍去的时候才懒得换镜头呢,一镜走天下最省事……哈哈

星期日, 九月 02, 2007

IDL小网站更新

      自从上次做了个框架以来一直没有心情再去打理,直到最近帮woowoo调网站的时候才终于又继续完善网站。最近升级到了Drupal5.2,使用了更多实用模块,关闭了一些不实用功能,使整体结构更加清晰。

      这次调整也让我对Drupal有了更多的了解,也会用更多经典模块来实现一些功能了,当然woowoo同学的帮助也是功不可没的。有些东西学起来还真是得有个讨论的人呢,效率高多了。

      我希望网站现在能进入一个功能比较稳定的测试期,如果几天之内没有看到什么错误之后将希望大家多多测试,尽可能的充实网站。

http://www.idl.changeip.org

星期五, 七月 27, 2007

周年纪念

      今夜狂风大作,电闪雷鸣。谨以此纪念我到洪河一周年。