20080228

Fwd: 方舟子 : 为什么夜空是黑暗的?

方舟子 : 为什么夜空是黑暗的?
via 新语丝 by 方舟子 on 2/26/08
◇◇新语丝(www.xys.org)(xys.dxiong.com)(xys.3322.org)(xys.xlogit.com)◇◇

为什么夜空是黑暗的?

・方舟子・

奥伯斯( 1758~1840)出生于德国不来梅附近的一个小村庄,19岁
那年到哥廷根学医。哥廷根大学的一个特色是学生享有学习的自由,学医
的奥伯斯在那里也能跟着有"德国数学之师"之称的数学教授、天文台
台长凯斯特纳学数学和天文学。毕业后,奥伯斯回到不来梅当医生,但
他的真正兴趣是天文学。他白天行医,晚上则在改造成天文台的自家顶楼
进行天文观测,天天如此,每天睡觉时间不超过4个小时。

奥伯斯还在上大学的时候发现了一个计算彗星轨道的方法,沿用至
今。此后他共发现了5颗彗星,其中一颗后来以他的名字命名。1801年新年
的晚上,意大利天文学家皮亚齐发现了第一颗小行星谷神星,再想进一步
观察时却找不到它了,是奥伯斯在那一年的年底根据数学家高斯的计算
重新发现了它,平息了谷神星是行星还是彗星的争论。奥伯斯本人后来
发现了两颗小行星:1802年发现第二颗小行星小惑星,1807年发现第四颗
也是最亮的一颗小行星灶神星。不过奥伯斯在现在最广为人知的,是在1823
年提出了一个听上去很傻的问题:为什么夜空是黑暗的?如果宇宙是无限
的,恒星均匀地布满天空,那么夜晚的天空也将和白天一样明亮。

实际的情况当然并非如此。这种理论和实际的矛盾,物理学上称为佯
谬。奥伯斯指出的这个矛盾,后来就被称为奥伯斯佯谬。其实,它并不是
奥伯斯首先提出的。1610年,伽利略用望远镜发现空中有无数肉眼看不到
的恒星后,认为宇宙是无限的,恒星的数量也是无限的。开普勒不以为然,
给伽利略去信指出,如果那样的话,夜空就不会是黑暗的。他打了一个比
方。假如你站在无边无际的森林中向前看,不论你往哪个方向看,都只能
看到一根根的树干连成一片挡在你的眼前,看不到任何间隙。只有当你是
在一片小森林中时,才能透过树干的间隙看到外面的世界。同样的道理,
如果宇宙是无限的,那么恒星将占据了天空的每一点,它们发出的光终将
抵达地球,所有的恒星发出的光都将连成一片,就像我们在夏天看到的银
河一样。既然实际情况是恒星彼此之间有黑暗的间隙,那就说明宇宙是有
限的,透过这些间隙我们看到的是一堵包围宇宙的黑暗围墙。

但是后来的天文学家都相信宇宙在空间上和时间上都是无限的。怎么
解决这个矛盾呢?18世纪初英国天文学家哈雷提出了一个容易想到的解决
方案:远处恒星发出的光线在抵达地球时强度变得十分弱,无法被我们看
到。但是这个解释是站不住脚的。虽然光线的强度按距离的平方而减少,
但是在一个无限大的宇宙中,天空的体积也即恒星的数量将按距离的平方
而增加,也就是说,在远处某一点恒星数量增加的比例恰好等于光强度减
少的比例,二者互相抵消,总的光强度与距离远近无关。如果多数恒星都
和太阳一样,天空的每一点都应该和太阳盘面一样亮。天球的面积是太阳
盘面的18万倍,那么照射地球的星光亮度也应该是阳光的18万倍。

奥伯斯提出的解释是,太空并不是"透明"的,遥远恒星发出的光被
弥漫在恒星之间的稀薄物质云给遮挡、吸收了。但是在热力学定律被发现
之后,这个解释也经不起推敲了。根据热力学定律可知,假如有太空物质
遮挡住星光,光能将会被吸收转化成热能,这些能量最终要重新被辐射出
来,从而也要发光( 虽然光的波长可能不同),天空仍然还是一片明亮。

要解决这个佯谬的唯一办法是否定其大前提,即宇宙不是无限的,因
而恒星数量是有限的。但是这还不够。即使恒星数量是有限的,其数量也
近乎无限,足以照亮整个夜空。1848年,美国小说家爱伦坡在一篇随笔中
指出,唯一的出路是假定远处的星光还来不及照到地球上来。也就是说,
宇宙在时间上有一个起点,而且宇宙的年龄还没有老到足以让我们见到
所有远处恒星发出的光。

我们现在知道宇宙的年龄的确是有限的,宇宙是在大约137亿年前大
爆炸形成的。而计算表明,要把地球的夜空全部照亮,要花上以亿亿亿年
计的时间,远处的星光才能都抵达地球。显然我们的宇宙还太年轻了。

而且宇宙在不断地向各个方向膨胀,各个星系在互相远离,当然也都
在远离地球。空间的膨胀导致光线在传播时波长被拉长,能量也因此降低
了( 波长与能量成反比)。这个现象称为"红移",意思是可见光向能量
较低的红光转变,而红光还会向能量更低的红外线、微波转变,所以遥远
的星光在抵达地球时能量已低到不能被肉眼见到了。由于宇宙太年轻,所
以夜空是暗的;而由于宇宙在膨胀,让夜空变得更暗。"为什么夜空是黑
暗的?"这个问题其实一点也不傻,蕴含着宇宙的奥秘呢。

2008.2.15.

( 《中国青年报》2008.2.27)

(XYS20080227)

◇◇新语丝(www.xys.org)(xys.dxiong.com)(xys.3322.org)(xys.xlogit.com)◇◇

20080219

Subversion命令行安装和使用 笔记

svn server安装和使用

0.可以不运行svn server。
    所有命令都支持本地文件系统。checkout后的所有命令都针对在checkout中指定的repository
1.path bin
2.E:\svn\repository\conf\svnserve.conf
    anon-access = read
    anon-access = write
3.svnadmin create E:\svn\repository
4.svnserve -d -r E:\svn\repository
5.set SVN_EDITOR=notepad; svn import svn://localhost
    当前目录及子目录
    -m或-f参数
6.svn checkout svn://localhost/project2
    checkout到当前目录
    d:\msys\1.0\home\test\co>svn co file:///d:/msys/1.0/home/test/svn
7.SVN bind with apache,需要改动
a.mod_authz_svn.so与mod_dav_svn.so in svn => apache modules
b.httpd.conf
        LoadModule dav_svn_module modules/mod_dav_svn.so
        LoadModule authz_svn_module modules/mod_authz_svn.so
c.httpd.conf
    <Location /svn>
        DAV svn
        SVNPath    E:/svn/repository
    </Location>
----
The typical work cycle looks like this:
ref [http://svnbook.red-bean.com/en/1.1/ch03s05.html]

*      Update your working copy
          o            svn update
*      Make changes
          o            svn add
        Adding a directory will add the directory and all the files and directories in it. However
          o            svn delete
          o            svn copy
          o            svn move
*      Examine your changes
          o            svn status
          x            svn diff
          x            svn revert
*      Merge others' changes into your working copy
          o            svn update
          x            svn resolved
*      Commit your changes
          o            svn commit
----
主要命令参考:
svn status
commit all
    an implicit target of your current directory (".")
    默认递归子目录。--non-recursive (-N)
update all
    svn update <repository路径>
message
    --file or --message 指定 log message
svn log
----
tag的作用
    trank,branches,tags
    tag
        svn copy http://host_name/repos/project/trunk http://host_name/repos/project/tags/0.1.0 -m "Tagging the 0.1.0  release of the project"
        svn list http://192.168.0.4/svn/repos/prj1/tags
0.1.0/
        svn list http://192.168.0.4/svn/repos/prj1/tags/0.1.0 
        checkout the specifice version
------------
done tortoiseSVN没有非installer方式下载
done 这些都是源代码码,不是二进制包
    e:\Young Gift 杨贵福工作室\U盘存储\Projects\running\svn\subversion-1.4.6.zip
    e:\Young Gift 杨贵福工作室\U盘存储\Projects\running\svn\subversion-deps-1.4.6.zip
---------
1.svn命令行乱码的解决
a.chcp 437
    代码页设置为美国
     /c/windows/system32/chcp.com
b.unicode环境变量,设置过程
    d:\svn\bin>set LANG=zh_CN.UTF8
    d:\svn\bin>svn
    ?\228?\189?\191?\231?\148?\168?\226?\128?\156svn help?\226?\128?\157?\229?\190?\
    151?\229?\136?\176?\231?\148?\168?\230?\179?\149?\227?\128?\130
    d:\svn\bin>set APR_ICONV_PATH=d:\svn\iconv\
    d:\svn\bin>svn
    使用"svn help"得到用法。
c.删除d:\svn\share\locale\zh_CN\

2.查资料the python or perl things in packages的作用
    Python bindings for Subversion
    This is a set of Python interfaces to libsvn, the Subversion libraries. It is useful if you want to, for example,  write a Python script that manipulates a Subversion repository or working copy.

3.create repository默认使用fsfs?
  --fs-type arg            : type of repository: 'fsfs' (default) or 'bdb

4.is svn add necessary?实验
    必须。否则在commit时不提交。statatus为?


--
重剑无锋,大巧不工。