2012年3月6日星期二

Acclerys MS:Gateway start failed - process 31385 is not running

昨天孙老师给我发了一封邮件,让我给一个学生打开MS(Material Studio 5.0)。
今天首先在服务器上看了下web页面,发现没打开,于是就上服务器,直接启动。
以前写了一个脚本,一下在启动license和gateway。
可是这次license启动了,但是到gateway那里卡住了,进行不下去了。
于是我强行中断,手动运行gwrestart,发现如下信息:
Gateway start failed - process 31385 is not running。
不管怎么启动都不行,后来发现有一个日志文件:
/public/software/matsoft/Accelrys/MaterialsStudio50/etc/Gateway/root_default/httpd/logs/httpd_error_log.txt
查看了一下发现如下错误:
[Tue Mar 06 15:31:10 2012] [error] httpd: could not log pid to file /public/software/matsoft/Accelrys/MaterialsStudio50/etc/Gateway/configurations/default/httpd.pid
这下大致明白了是为什么,于是查看这个httpd.pid文件,发现文件权限是root的。
估计是哪次使用root来启动了,后来非正常退出了,导致进程标识文件还在。当使用普通用户再次启动的时候需要覆盖掉这个文件,发现删不掉,因此进程就启动不了了。
使用root账户删掉这个文件之后,gateway被成功运行。

2012年2月20日星期一

使用ipv6来访问在国内访问不了的网站

没办法,走在屋檐下,哪能不低头。不过还是有办法看到外面的东西的,只要你有ipv6。
目前看来好像某个墙对ipv6的技术还不行,因此我们还可以苟延残喘一下。

你只需要到这个地方 http://code.google.com/p/ipv6-hosts/source/browse/hosts

把这个hosts文件替换或者添加到你的hosts文件即可。
MAC OS X的位置在/private/etc/hosts
WINDOSW的位置在C:\Windows\system32\drivers\etc\hosts
LINUX的位置在/etc/hosts

不过目前好像还没有针对wordpress.com的。

如何一次性修改PPT所有幻灯片的文字和公式颜色

前不久搞了个wordpress.com的博客,当时blogspot上不去,wordpress.com可以上去。本打算作为长期博客的,谁知现在wordpress.com上不去了,blogspot使用ipv6的hosts文件现在倒是可以上去了,先将就吧。

昨天老板让给他改两个PPT文件的背景,要上课用。改背景很简单,直接进入母版视图,修改即可。问题是改过之后背景跟原来文字的颜色很雷同,导致字体很浅,都看不清了,公式也是如此。因此需要修改字体颜色以及公式的字体颜色。

如果只是个别几个倒是无所谓,可是每个PPT都是90多页,公式一大堆,一个个改真是费时费力。计算机时代还做这种重复性事情太不值得了,我想一定有简单的办法。不过现在我没有时间精力自己折腾,就网上搜索,果不其然还是有方法的,现在摘录总结如下,也算是给自己做个备忘。
首先是文字,建立一个宏,然后再运行之就可以了。参考文章:http://wsqxushui.blog.163.com/blog/static/556059922011216103253973/

Sub OED()
Dim oShape As Shape
Dim oSlide As Slide
Dim oTxtRange As TextRange
On Error Resume Next
For Each oSlide In ActivePresentation.Slides
   For Each oShape In oSlide.Shapes
          Set oTxtRange = oShape.TextFrame.TextRange
          If Not IsNull(oTxtRange) Then
         With oTxtRange.Font
             .Color.RGB = RGB(Red:=0, Green:=0, Blue:=0) '改成你想要的文字颜色
          End With
          End If
   Next
   Next
End Sub

然后是公式的颜色,公式为mathtype输入的。参考文章一时找不到了,不好意思。

Sub EquationColor()
Dim oSld As Slide
Dim oShp As Shape
Dim oShapes As Shapes
Dim textColor As RGBColor
For Each oSld In ActivePresentation.Slides
    Set oShapes = oSld.Shapes
    For Each oShp In oShapes
               If oShp.Type = 7 Then
                    oShp.PictureFormat.ColorType = msoPictureBlackAndWhite
                    oShp.PictureFormat.Brightness = 0
                    oShp.PictureFormat.Contrast = 1
                    oShp.Fill.Visible = msoFalse
              End If
   Next oShp
Next oSld
End Sub
然后很方便的就解决了问题。在此再次说一下VBA功能确实强大,以后有空一定要好好学习学习。

2010年4月17日星期六

随机排列算法的一个证明[转载]

对n个元素的数组,一个极简单有效的随机排列算法如下所示:

for(int i = n-1; i > 0; i--){
swap(i,rand()%(i+1));
}

这个算法初看起来并不自然,但其实是很简单的。直观地看,排列过程中,数组分为两部分:排列就绪部分(长度为n-i)和候选元素部分(长度为i)。每次从候选元素部分随机取一元素(rand()%(i+1)),放到排列就绪部分头部,将所占据位置上原来的元素扔进候选元素部分。注意到,候选元素部分的顺序是无关紧要的,因为一个元素无论处于什么位置,下一次被选到的概率都是1/候选部分长度。因此为了算法复杂度低和简单起见,每次都将被占据位置的元素与被选到的元素交换(这两者有可能是同一元素)。简单地说,它的思想就是从一堆元素中随机选出一个来,再从剩下的元素里随机选择,直到选完为止。

严格证明的话,用数学归纳法是简单的,对n进行归纳即可。但好久不做数学题,头脑快生锈了,因此尝试一下复杂一些的证明,证明思想是对原位置i的元素进行跟踪。

定义一个函数:候选部分长度为n时,数组的第i个元素在算法结束后处于第k个位置的概率。

元素i第一次参与交换(即swap()的参数中出现了i)后,处于位置j(j=1..n)的概率有多大呢?有两种情况,第一种情况是i<=j,这时发生的事情就是第n-j+1次交换时,元素i与元素j发生了交换,如下图所示:

这个发生的概率是:P(元素i与元素n没有交换)*P(元素i与元素n-1没有交换)*...*P(元素i与元素j+1没有交换)*P(元素i与元素j交换) =

第二种情况,j<i,这时发生的事情就是第n-i+1次交换时,元素i与元素j发生了交换,如下图所示:

这个发生的概率是:P(元素i与元素n没有交换)*P(元素i与元素n-1没有交换)*...*P(元素i与元素i+1没有交换)*P(元素i与元素j交换)=

因此在两种情况下,元素i在第一次参与交换时,被换到位置j(j=1..n)的概率都是1/n。

因此有: ,m为i第一次参与交换后候选数组大小,m=1..n-1。

即元素i最终处于位置k的概率,等于第一次参与交换后处于位置j(j=1..n),之后再被换到位置k的概率。

由于 ,(1≤m≤n,1≤k≤n),即数组内总有一个元素j,最终处于位置k,因此

即位置i的元素最终处于任意位置k的概率都是 。由于算法只涉及元素的交换,因此产生的是数组元素的全排列,结合任意元素处于任意位置的概率相等可知产生任意排列的概率都是相等的(这一点结合条件概率可以证明),即满足均匀随机。


来自: http://hi.baidu.com/timeless/blog/item/23cfb7459c72e32fcffca395.html

2009年11月23日星期一

My LaTeX Tips -- 简单与唯美 -- 编程爱好者博客

My LaTeX Tips -- 简单与唯美 -- 编程爱好者博客

My LaTeX Tips

1. 如何让TeX找到你最新加入的宏包(*.sty)文件?
最简单的方法就是再你将你的*.sty文件放入CTeX目录树下后,在DOS下敲入texhash命令即可。否则,
TeX编译会找不到你的*.sty文件。

详细解释:

TEX 系统通过这个数据库记录了所需要的各种文件的名字和具体目录位置。每次你往系统中添加文件
后,都要记得刷新这个数据库,否则TEX 有可能找不到需要的文件。
刷新文件名数据库的具体命令取决于你使用的TEX 系统。teTEX 和fpTEX 的命令是texhash
MiKTEX 用户可以在Dos 窗口中输入以下命令
initexmf --update-fndb
或者使用MiKTEX 提供的图形界面工具MiKTEX Options。在开始菜单中找到MiKTEX Options,打开点击
General 页上的Refresh Now 按钮即可。

2. input{file}与include{file}
前者不换页,后者换页。

3. 更改插图题头(默认为:Figure 1: 改为:图 1 )
%% 用caption2宏包
\renewcommand\figurename{\textbf{图}} % 插图题头
%% 定义如 "图(表)1: 示例" 中的间隔符号,如 ":" ,这里定义为空
\renewcommand{\captionlabeldelim}{}
%定义图表编号与标题间的间隔距离
\renewcommand{\captionlabelsep}{\hspace{1em}}

4. 如何使生成的pdf文本粘贴无乱码?
今天是学习LaTeX的第3天,越来越有兴趣了。 :P
我习惯在WinEdt中直接用CCT&LaTeX按钮生成ps文件,然后再用ps2pdf按钮转成pdf文件。但结果发现生成的pdf文件中,复制粘贴其中的文本出来却是乱码 :blink: 。后来,我终于摸索出一个办法:
生成dvi文件后,用dvipdfmx + 文件名.dvi命令去生成pdf文件,这时复制粘贴其中的文本出来的就不再是乱码了,而且中文搜索也没问题。

5. 自带的guide一般在以下两个地方:

如果是系统安装的packages,则大多在$TEXMF$\doc\latex\THE-NAME-OF-THE-PACKAGE目录下,如hyperref的在:$TEXMF$\doc\latex\hyperref下的manual.tex和options.tex等,一些比较科普的在$TEXMF$\doc\latex\base下。

如果是系统安装的packages,则大多在$TEXMF$\doc\latex\THE-NAME-OF-THE-PACKAGE目录下,如hyperref的在:$TEXMF$\doc\latex\hyperref下的manual.tex和options.tex等,一些比较科普的在$TEXMF$\doc\latex\base下。

If是你自己解压缩的,就比较有可能在安装package的目录下。$localtexmf$(或者$texmf-local$之类的)\doc\latex下也有可能。

6. 实现参考文献编号的上标格式用overcite好还是用natbib好?
我认为是用\usepackage[super]{natbib}比用\usepackage{overcite}好,因为
1) overcite生成的文献编号会发生格式混乱,如:
  自从某某东东被发现以来\cite{sth}...
如果用overcite宏包,三个.就会只出现一个.,而且还在文献编号之前。
2) 使用overcite后,用hyperref宏包实现的参考文献的链接就不管用了。
而\usepackage[super]{natbib}就没有以上问题。

7. 加入\usepackage{hyperref} 可以自动将图表文献的引用变成超链接,但它们都是仅仅将编号的数字变成超链接,如图(1),表(3),而我想将相应的文字也超链接,即:(图1),(表3),请问该怎么实现?

可以利用{hyperref} 包中的\autoref功能。只要将引用图或表的\ref{label}换成\autoref{label}即可。但有个问题就是,这样处理的结果是英文的,即“Figure 1”。要想超链接的文字变成“图1”,可以预先做如下的重定义:
\renewcommand\figureautorefname{图}

可以利用{hyperref} 包中的\autoref功能。只要将引用图或表的\ref{label}换成\autoref{label}即可。但有个问题就是,这样处理的结果是英文的,即“Figure 1”。要想超链接的文字变成“图1”,可以预先做如下的重定义:
\renewcommand\figureautorefname{图}

8. 为什么我用hyperref实现的pdf中文书签是乱码?
如果用 dvipdfmx 的话, 可在导言区加入:
\AtBeginDvi{\special{pdf:tounicode GBK-EUC-UCS2}}
若用 dvipdfm 或 dvips, pdflatex 等, 则要使用 gbk2uni来对生成书签的 .out 文件进行处理,即gbk2uni是一个专们对书签"汉化"的程序,对你编译的.out文件,在命令行输入gbk2uni ss.out。

9. 如何在MetaPost中使用汉字?

我先用王垠的方法:
  1). 在mp文件开头加入:
verbatimtex
%&latex
\documentclass{article}
\usepackage{CJK}
\begin{CJK}{GBK}{song}
\begin{document}
etex

  2). 在最后加入:
verbatimtex
\end{CJK}
\end{document}
etex

  3). 标号时把标号都用 btex...etex 括起来。比如:
label.top(btex 原点 etex, origin);

但我编译总是不通过。我想了一下,mpost处理TeX部分是这样的:
先用MPToTeX程序把*.mp文件中的文本中verbatimtex与etex之间的部分都提取出来,其余部分都注释掉,将输出结果输出到*.mpx文件中。然后用其默认TeX程序(默认为TeX)将*.mpx文件转化成*.dvi文件,再用DVItoMP将*.dvi文件转成*.mp文件,然后再将*.mp文件处理成eps图形文件。我发现我用mpost处理出错的步骤主要是TeX将*.mpx文件转化成*.dvi文件的那一步(是不是我的TeX版本的问题(我的TeX版本是3.141592(MiKTeX 2.4))???),也就是说我的TeX居然无法识别\documentclass等命令?!但是我的LaTeX程序是很正常的,因为我一直在用,所以我想,能不能将metapost的默认TeX程序改成LaTex。王垠提到的方法是加入%&latex,这样TeX 就会读入 latex 格式 ,但是这种方法不是根本解决方法,因为真正的处理程序仍然是TeX而不是LaTeX,因此一旦自己机器上的TeX版本不同,就会出问题,比如有人提到(
http://www.freelinuxer.net/~firefox/blogger/2004/03/metapost.html)用TeXLive需要将%&latex改成%&cslatex。

其实,metapost专门有个-tex=TEXPROGRAM选项,可以修改其默认TeX处理程序,如果我想将LaTeX作为metapost的其默认TeX处理程序,就可以这样写:

mpost -tex=latex test.mp

这时,在你的*.mp文件中就无需加入%&latex这一行,而且不必担心自己的TeX版本就可以放心的在MetaPost中使用汉字了。

10. 如何将MetaPost生成的图片格式转成*.eps格式?
我们知道,MetaPost把*.mp源文件生成一个叫做*.1, *.2, ...的图形文件,其格式叫做*.mps格式。这种格式不同于标准的*.eps图形格式,无法被如photoshop等其他图形软件直接识别,而且也不能被gsview直接浏览(
http://learn.tsinghua.edu.cn/homepage/2001315450/metapost.html),只能在*.tex文件中作为图片插入。

然而,有时投稿时编辑部需要另外附上独立的*.eps格式的图片,而MetaPost生成的*.mps文件往往不适用。为此,有人特意写了一个Unix下的Shell脚本,可以将*.mps格式转换成*.eps格式。具体代码如下:
#!/bin/bash
# Written by Kong Hoon Lee <
konghoon@dreamwiz.com>, someday before 2001
#
# - This scrīpt can be used only with Bash shell
# - LaTeX is required.
#
# Usage:
#       mptoeps <filename | path of files>
#
# - Wildcards "*" or "?" can be used instead of <filename>.
# - The converted "eps" files are stored in the current directory.
#

for NAME in $@;
do
if [ -f $NAME ]; then
   HEADER=`grep -n '%!PS' $NAME`
   CREATOR=`grep -n '%%Creator' $NAME`

   if [ "$HEADER" != "1:%!PS" ] || [ "$CREATOR" != "3:%%Creator: MetaPost" ]
   then continue; fi

  dirname=${NAME%/*}
  filename=${NAME##*/}
  name_ext=${filename##*.}  
  if [ "$name_ext" = "mps" ]; then continue; fi
  name_base=${filename%.*}

  newfile=${name_base}_${name_ext}.eps
  newname=${name_base}_tmp_${name_ext}

     if [ ! -f $newname.tex ]; then
cat > $newname.tex << EOF
\documentclass[a4paper,landscape]{article}
\usepackage{graphicx}
\pagestyle{empty}
\setlength{\textheight}{13in}
\setlength{\topmargin}{-0.5in}
\setlength{\headsep}{0.0in}
\setlength{\topskip}{0in}
\begin{document}
\par\centerline{\includegraphics[scale=1.0]{$NAME}}
\end{document}
EOF

        latex $newname >/dev/null 2>&1 \
        && dvips -E $newname -o $newfile >/dev/null 2>&1
        rm -f $newname.tex $newname.dvi $newname.log $newname.aux
        echo "$NAME --> $newfile"
     else
        echo "Error: $newname.tex exists and conversion fails."
     fi
else
  echo "$NAME is not a regular file."
fi
done

但是,也有不少人用的是Windows版本的LaTeX,所以我自己用C语言写了一个在MS-DOS下将*.mps格式转换成*.eps格式的程序,叫做mps2eps。
用法很简单:
命令行输入:
mps2eps 文件名

这个程序可以从http://www.ctex.org/forums/index.php?act=Attach&type=post&id=16180上下载。

11. 用\def定义新命令时,命令的名称不要带有数字。
  例如,我定义了如下两个命令,编译时就会发生冲突:
\def\c2cnt#1#2{C$_2$@$(#1,#2)$}
\def\c2chain{C$_2$-Chain}
  而可以改成:
\def\cIIcnt#1#2{C$_2$@$(#1,#2)$}
\def\cIIchain{C$_2$-Chain}

12. 为什么photoshop导出的eps文件latex不认?
   加上bounding box就行了,具体方法是:
  用GSView打开看看大小(比如是800*600),在\includegraphics选项中加入bb=0 0 x y,
如:
\includegraphics[width=0.5\textwidth,bb=0 0 800 600]{1.eps}

2009年8月23日星期日

恶魔之数

恶魔之数 - 译言翻译

恶魔之数

简介

恶魔之数666引发的一段……

 

恶魔之数

(美)雷・伍克维奇 文

 

 

29A公寓间新搬进来的房客是个女人,这并没有让我脑袋糊涂。撒旦如果不会另辟蹊径,他就不是撒旦了。自然,29A就是16进制下表示的恶魔之数[1],而16正是硫磺的原子序数。16进制一般被称为“hex”,这个词也有“魔法”的意思。所有的线索都如此的明显。

西莉亚・斯特拉福德看上去三十岁刚出头——准确地说,就是32岁,因为2337666的三个素因子,她的相貌太老,不像是23岁的妙龄少女,而我今年37岁,她看上去比我年轻,由是推知,她的年纪是32岁。我说的是她的身体的年龄;我不知道潜藏在她体内的邪灵的年纪。她披着一头红色的长发,在她弯下腰将盒子拉上楼梯、拖至新的公寓间时,我仔细地打量她。她穿了一条剪短过的牛仔裤和黄色的紧身吊带小背心,双腿呈现出那种古怪的金棕色,你只会在女性身上看到那种肤色。我从未琢磨明白,姑娘们到底是怎么晒出那种肤色的。另外,她脚上没有穿鞋。

西莉亚驾驶的那辆红色雪佛兰有一定的年头,开在整条街上的破车中间,瞧上去倒也挺顺眼。我们并非住在拉斯维加斯市里最有品位的街道上。

“你肯定是我的新邻居。”在楼梯上遇到西莉亚时,我招呼说,“我是帕默・琼斯,就住在你隔壁。假如你有空,我会告诉你这个地方的476个优点。”这是我的一项小测试——47612进制下表示的恶魔之数;我所居住的这个破烂地方当然并没有什么优点。我只是想测试下她对恶魔之数的反应。

西莉亚换了个手提盒子,伸出一只手,希望与我握手——我注意到她的手指甲涂成血红色。皮肤非常冰冷。与她的身体接触令我浑身打战。

“我叫西莉亚。”她向我假意一笑,但这个花招骗不倒我。我能在她的碧绿眼眸里见到邪光扑闪,尽管我提及恶魔之数后并没有触怒她,我依然对此十分确信。

我已经知道她的名字,刚才我表面上装作在和愚笨的楼宇管理员聊天,抱怨我的公寓管道的糟糕情况,却趁机偷偷瞟了一眼她的租房合同。后来,我在《牛津英国史》里查找了“斯特拉福德”,不出我的预料,托马斯・文特沃斯[2]——首任斯特拉福德伯爵——的名字列于索引中。在《约翰逊英国名人史》中稍稍查找一番,就知道斯特拉福德是在1641年被处以死刑,而1641就是用7进制表示下的恶魔之数。我可不相信巧合。

“那么,帕默你做什么工作?”

我讨厌这个问题。它经常让我放松戒备。“我是个军人。”我嘟囔道。我没有提起自己的实际身份是莫尔斯秘密社团的帕默会友。

西莉亚又露出完美的微笑,举手向我敬礼,动作中充满了嘲讽。“那么啊,有大概820件比从军更糟糕的事情。”她说。

9进制下的恶魔之数。

我感觉血液从脑袋里流走。西莉亚的碧绿眼眸微微眯缝,我知道她看见了我的震惊,于是赶紧在脸上挂出僵硬的笑容。

“好吧,”我说,“好吧。”我赶紧冲下楼梯。我要去街角的那家“七仔”便利店一趟,买一些东西,等到今晚稍晚时,在西莉亚将物品都搬进29A房间后,好有借口去她的房间探个虚实。我打算在本地人称呼为“三棵树和一条长椅”的公园里溜达一下,那地方就在一块空地和一条马路对面。我随身带上了计算器和双筒望远镜,那个地方视野极佳,我可以在不被西莉亚发现的情况下秘密监视她。

我不能改变自己的计划。就算她认出我的身份,在惊慌失措下做出轻率的举动仍然是个糟糕的主意。

那天是个炙热的夏日午后,一整天的多数时候我都在指望西莉亚・斯特拉福德能搬进公寓。你看,66614进制下表示就是358,假如你用358去减365(一年的总天数),你会得到7——那代表七月。假如你再将358的各个数位上的数字连续相加(3+5+8=16(又是一个16!),然后1+6=7),你就得到了日期。因此答案就是七月七日。我一边等待西莉亚搬家结束,一边又将这些数字在计算器上重新按了一遍,同时也越加坚信西莉亚是暗夜军团的一员,属于反基督者的阵营。我生来就是为了阻止他们。尽管我的行动可能不再出人意料,那也无关紧要了。

就在我被迫从部队里退伍之后,我在北卡罗莱纳州费耶特维尔的公共图书馆里待了好几个礼拜,翻看城市街区地图,寻找我认为肯定存在的地点。当我在拉斯维加斯市郊地图里看见我如今居住的公寓楼的地址,我猜想自己已经找到了目标。狐狸路10131号。数字10131是以5进制表示下的666,根据毕达哥拉斯建立的数字命理学体系,狐狸(FOX)等同于666。那些证据也许还不够,但当我迁居此地后,我发现这里有29A号公寓间,这点发现起到了一锤定音的作用。我知道像西莉亚之类的人搬进这套公寓只是时间早晚的问题。

西莉亚的家私物品数量不少。我们这栋楼里的所有公寓都配备家俱,因此她实际上也没有什么大件的物品需要搬进去,然而事实却是她花了整个下午的时间,才将租来的拖车上的物品搬卸一空,把所有的盒子都拖到了29A房间。我知道盒子的具体数目十分重要,尽力想数清楚,但西莉亚的红色头发总是让我分神,而她穿着热裤走来走去、弯下杨柳腰搬起盒子、然后靠在汽车上娇喘吁吁的模样,更是惹火。我注视着她的一举一动,脑袋里开始浮想联翩,幻想着自己将魔鬼从她的身体内驱赶走,接着,西莉亚因为感恩和释怀的心情而花枝乱颤,瘫倒在我的怀里,我俩然后携手离开这个苟延残喘的街区,搬入一个有着白色的尖桩篱笆的新家,就我与她两人,生儿育女,过起膝下有儿有女的生活。那该是多么美好的日子啊!

我必须给自己掴上两巴掌,必须掴得很用力,那样才能驱逐走危险的幻觉。在和魔鬼打交道时,你必须提起十二分的警觉。你不能让一个长着红色头发和碧绿眼眸的魔鬼愚弄你。

我再一次用双筒望远镜监视西莉亚,发现她已经搬好东西,于是我看了眼手表。现在是5:56,我并没有感到吃惊。毕竟,在11进制下表示666就是556。我给西莉亚留下十六分钟打点家私,然后就匆匆赶回了公寓楼。

“琼斯先生。帕默,是吧?”在我敲门后,西莉亚开门欢迎我道。

“乔迁新居的礼物。”我拿出自己在七仔便利店购买的那瓶葡萄酒。

“啊呀,赶快请进屋。你真客气。”待我走进房间,西莉亚关上了房门。

西莉亚养了一只猫,猫咪骨瘦如柴,毛色为黄白相间,抱住了我的双腿,始终都以同一个眼神凝望着我,仿佛是在说它知道我想要做什么坏事。

更准确地说,它是一只小猫咪!

请注意,用二进制表示666,得到的结果就是1010011010。用划代表1,点来代表0,那样这串数字能够转成莫尔斯电码[3]

-.-|..|-|-|.|-.

KITTEN(小猫咪)

数字可以转化成莫尔斯电码,最初,正是这个想法令我灵机一动,创建了莫尔斯秘密社团。在十世纪的时候,这一领悟也许会让那些为千禧年时将要来临的世界末日而担忧不止的人宽心。我的发现显示,世界末日本来不会发生,但是塞缪尔・F.B.莫尔斯的诞生、电报技术与莫尔斯电码的发明改变了局面。圣徒莫尔斯在发出第一封电报“上帝创造了何等的奇迹”时,心里肯定十分清楚。他在告诉我们,最终还是要提防世界末日。在电报技术诞生之前,假如有人沉思过这项技术的虚无本质,他们肯定会大放宽心——它显然是一项我们今日不该享受的奢侈技术。

“请坐下吧,帕默。”西莉亚一边说,一边将我拉到松软的花卉图案的沙发边上。她从我手中取走葡萄酒,转身走向逼仄的厨房间,在门口停步,回头冲着我邪邪地一笑。“我会打开这瓶酒,但我刚想用甜食犒劳一下自己,你想要与我分享一块蛋糕么?”

蛋糕!

-.-.|.-|-.-|.

CAKE(蛋糕)

“不必了,谢谢你。”我回答说,嗓音略有颤抖。

西莉亚端着两个倒满酒的酒杯和葡萄酒瓶走了回来,她显然早已将蛋糕抛之脑后,只是递给我一杯葡萄酒。她在我面前的椅子上坐下,将红色的长发拂至一侧耳朵后面,呷了一口葡萄酒。我认为她是故意向我展露前额。没有任何记号。肯定隐藏在她的体内。我打定主意,继续谨慎地行事。

“是什么让你决定搬到这栋楼来?”我问道。

她只是看了我一眼(目光中露出意会的神色,我是这么认为的),接着咧嘴一笑。“这么说吧,你是个军人。我则是名教师。”

“教师?”

“你想要知道我赚多少钱。”

我有一种陷入困境的感觉,知道自己渐渐失去了对核查的控制。“你赚多少钱?”

“人们总是想知道教师能赚多少钱,”她说,“我一年的收入是22122美元。”

4进制。”我说。

她又露出邪恶的笑容。“教书和狩猎很像。”她说。

“像狩猎?”

“在你想要传授一个概念时,必须要保持安静。你必须悄悄接近学生,然后‘直接将他击倒’。”

“直接将他击倒?”

西莉亚又给酒杯倒满葡萄酒,把酒瓶放回地板上,紧挨着她坐的椅子。“射击,”她说,“你应该了解射击的事情。帕默,毕竟你身在军队之中吧。”

“我是通信兵。”

“那样啊,尽管我还不算真正搬进来,”她冲着一堆堆的盒子和一片狼藉的房间扮了个鬼脸,“我仍然打算明天去打猎。”

我大口喝了口葡萄酒。我知道自己的提问会得到什么样的答案,但我无论如何都要问出这个问题。世上蠢人不会少。“你用哪一种枪?”

“当然是A.3030的来福枪。”

当然了,3030。这是6进制下的恶魔之数。

“你会在哪里玩打猎?”

她将酒杯放在地板上,上身前倾,手肘搭在膝盖上,碧绿的眼眸闪动,打量起我。“莫哈韦沙漠,死亡谷南面。我打算去埃塞克斯镇。”

去埃塞克斯(To Essex)!

去埃塞克斯!

2E6

15进制下的恶魔之数。

我眼前就坐着一个恶魔,强大而又镇定,沉着冷静地玩弄着我。在西莉亚如同毒蛇般的碧绿眼眸面前,我就像是一只浑身打颤的老鼠。我要念上一小段祈祷词:主啊,请宽恕我尿湿裤衩的不敬行为。我放下酒杯,突然站起身。西莉亚的眼眸睁得好大,同时也一跃而起。

每次我想用手指冲着西莉亚搭出十字架的标志,脑海里总是混沌一片。第一次,我搭出了一个T,左手食指放在了右手食指的上面。第二次搭出的是一个上下颠倒的L。我记起自己想要干什么,但却不知道该怎么做。当我头脑絮乱地停手考虑自己该如何摆出手势时,西莉亚咯咯笑地瘫倒在椅中。

“帕默,你真是个笨拙的大汉。”西莉亚边说,边伸出白皙纤细的手指,摆出一个完美的十字。魔鬼可做不出这件事。西莉亚不是魔鬼,那就意味着她是个货真价实的女人,一个在此刻露出傻傻的笑容的女人。“哦,帕默,坐下吧。”她对我说。

于是我又倒坐在沙发上。

“也许,我们应该更好地再彼此介绍一番。”她说道,“我是对称天理会的西莉亚女会友。我们研究恶魔之数的各种完美形式。”她伸出手,想与我握手。

我则接着说出了一些从未对别人坦白过的事情;我说:“我是莫尔斯秘密社团的帕默会友。”大声地吐露自己的真实身份,这种感觉真好。

“莫尔斯?”

她的嗓音里甚至没有一丝嘲讽。我只听见真挚的关心。于是,我解释了自己看待恶魔之数的角度。我用上了一些自己最喜欢的例子。

譬如,我这么说:“恶魔之数(666)看上去更像一连串圆点(那些‘6’中间的孔洞),而不太像一连串划线。作为一连串圆点,那么就是‘’,也就是S[4],而S是硫的元素符号,也是撒旦的头一个字母。”

“很对。”她赞同道。

“试着拼写下6。”我一边说,一边从衬衫口袋里掏出了笔记本,“看看这个词用莫尔斯电码表示是什么。”我在笔记本上写了一行字,然后递给西莉亚。

…|..|-..-

SIX

“我明白了。”她说。

“对这串点划进行一番最为显而易见和基础的重新检视,我们就得到了以下结果。”我拿走笔记,又写了行字,然后递回给她。

….|.|-..-

HEX

“所以,666可以视为six six six,而six six six又可以视作是hex hex hex。所有线索都拼合得天衣无缝。”

西莉亚点头表示同意。我俩发现在好多事上都有相同的见地。她养的小猫咪踱步过来,蜷缩在我的膝盖上。他一直等到西莉亚和我将我们掌握的所有线索都摊在桌子上。猫咪能看懂这些东西。

我俩分享起我们对恶魔之数的种种发现。

“看一下3进制下表示的恶魔之数。”西莉亚说。这时她已经掏出了两本黄色笔记本,我们在黄色的纸页上写满了文字,并丢得整张沙发上都是。此刻,我与西莉亚肩并肩地坐在沙发上。

“在3进制下,恶魔之数当然就是220200。”她说,“假如你将零取出,就会得到222,但请注意这串数里有三个零,而3乘以222等于666。”

“推算真是美极了。”

“是的。”她说完却叹了口气,“确实很美。但如今这已无关紧要。”

“你的意思是?”

“帕默,你的研究里涉及到多少种进制?”

“十六种。”我说,“在那之外肯定还有发现,但我会将它们留给未来的学者。”

“让我给你展示一些东西,”她说,“在16种进制中,恶魔之数一共存在三种对称形式,也就是顺读和逆读都一样的回文。请将它们编排成一个表格。”

我按西莉亚的吩咐做了。

 

进制              数字

4                                                            22122

10                                                         666

13                                                         3C3

 

“现在请注意了。”她说,“这些数字可以很自然地分成三组。将它添加至你的表格。”

 

进制              数字                分组

4                        22122               22|1|22

10                    666                 6|6|6

13                3C3                 3|C|3

 

“然后考虑将每一组的每一项都视为在本身的进制下的数字,然后将其换算回10进制下。”

“什么?”

“譬如,在4进制下,22等于两个4加上两个1,也就等于10,对吧?”

“没错。”

“那么对表格里的每个数进行相似的操作,再添加至表格中。”

 

进制              数字                分组             10进制下

4                       22122               22|1|22            10|1|10

10                666                 6|6|6              6|6|6

13                3C3                 3|C|3             3|12|3

 

“现在将每一列的三个数相加。”她悄声说道。西莉亚到底想干什么?

 

进制              数字                分组             10进制下

4                      22122               22|1|22            10|1|10

10                666                 6|6|6              6|6|6

13                3C3                 3|C|3             3|12|3

                                                       19|19|19

 

每一列相加都等于十九。

“那么,你或许应该看看19进制下的情况,帕默。”她说。

眼下是一个历史性的时刻。我抬头看了眼西莉亚的那个旭日形装饰的时钟,看见现在是12:32——真是个很邪乎的时刻,因为6668进制下等于1232

“看看时间,西莉亚。”我说。

她看了一眼,接着握住我的手,捏了一下。“帕默,将数字转换至19进制下。”

好吧。我们需要包括通常的“0”在内的19个符号。我从衬衫口袋里掏出计算器,19的乘方等于361,而666减去361等于305,再除以19的话,就等于161。计算结果令我大吃一惊,我再次检查。得到同样的结果。我又检查了一次。

“帕默,别查了。”她说,“结果是对的。”

我在一张白纸上记下计算结果,然后将笔记本交给西莉亚。在19进制下的恶魔之数?等于1G1

“又冒出了一个对称数字。西莉亚,这代表了什么?”

“将1用字母写出来。”她将笔记本递回给我。

我写道:ONE G ONE

“帕默,这才是新消息。”她拿回笔记本,在我的文字下面写了两个单词:ONE GONE。“恶魔之数里内含的信息。上帝已经走了。要么是死了,要么是出门远行去了。我们被上帝抛弃了。”

西莉亚听上去十分沮丧。她任由笔记本滑落到地板上,接着双手掩面,倚靠在我身上。我伸出手臂,环抱在她的肩膀。

“也许还有另外一个涵义。”我说。

“不,”她说完话,伫立起来,从我身边走开,“对称的原理很清晰,我能向你展示一些证据。”她又拾起笔记本,“再细看下这个表格,但这次请看一眼第三列。而这一次,让我们把三个数水平相加,而不用垂直相加。”她又写道。

 

进制              数字                分组             10进制下

10                666                 6|6|6              6|6|6 =18

13                3C3                 3|C|3             3|12|3 =18

19                1G1                 1|G|1             1|16|1 =18

 

“我服了。”我说。

“这就是证据。请注意13是中间一行。而三个数的总和都是十八。你会怎么描述《启示录》第1318[5]?”

当然是对恶魔之数的描述。我根本无需说出口。可对于西莉亚给出的证据,我依然有一种不安的感觉。她从始至终都没有考虑塞缪尔・莫尔斯的那句神圣的揭示。

我又拿起了笔记本。

---|-.|.|--.|---|-.|.

ONE GONE

19进制。我起先对此困惑了许久,心脏砰砰地蹦个不停,呼吸变得急促。当我窥见答案时,不由得气喘吁吁。改变是如此简单。只需将最后的NE动一下手脚。

“西莉亚。”我喊道。

“什么?”

“西莉亚”

“什么?”

“这是什么?”

“瞧一下。”我将自己的发现递给她看。

---|-.|.|--.|---|-..

ONE GOD

不是“ONE GONE”,这只是表面所传递的信息。应用莫尔斯的电报技术之后,真实的答案浮出水面:ONE GOD

“哦,帕默。”西莉亚悄声说道。

“是的!”我大喊道,同时一把握住她的纤手,将她拉起身,我俩接着蹦蹦跳跳了好几分钟,沉浸在信徒的狂喜之中。

接着,我亲吻了她。

所有事都变得清楚了然,时至今日,这个事实对于住在29A公寓的西莉亚和我来说依然是真理:上帝还住在他的天堂之中,这个世界依然完好。

所有的线索都拼合得天衣无缝。

 

作家本人



[1]  也称为“撒旦之数”,就是666

[2]  Thomas Wentworth1593-1641):英国政治家。

[3]  莫尔斯电码的具体规则请读者自行查阅资料,在此暂不赘述。

[4]  在莫尔斯电码表示法中,S由“”表示。

[5] 原文是:在这里有智慧。凡有聪明的,可以算计兽的数目,因为这是人的数目。他的数目是六百六十六。

2009年8月12日星期三

Install HP LaserJet 1000 in windows7

现在装着windows7 RC 7100系统,用的挺不错,一直让人称道的是驱动程序的安装,插上新硬件之后,自动查找,很快就能找到驱动,这点一直令我很满意,但是今天老板让打印东西,我接上HP的LaserJet1000 这个古老的驱动,竟然找不到。没办法,只能手动在网上找了,可是HP这个公司太变态,宁可开发新产品让你买新东西,也不给你开发新驱动。不过在网上搜到了一篇文章是说在vista上通过取巧的方法装上了,至少是可以用。vista和win7还是有共同的地方的,因此我也试了下,竟然成功了,分享一下并算是做个备忘录。
源地址:http://social.technet.microsoft.com/Forums/en-US/itprovistaprinting/thread/90bbd29f-6ab8-4192-8bbc-923558781cb5
OK
I've just discovered how to fix it
all you need to do is to download the Windows XP driver file for HP laserJet 1000 from HP website...it's the one named "HP LaserJet 1000 Host Based Driver"

1) Right click and unzip the exe file you've just downloaded
2) Goto Printers (Control Panel\Hardware and Sound\Printers)
3) Right Click in the window and select Add a printer. The popup window should now apear
4) Click Add a local printer
5) Click Next
6) Click Have Disk
7) Browse to the location of unzipped folder you (See step 1)
8) My printer was with USB so I choose zUSB.inf (not sure about serial, u might have to choose HPLJ1000 for serial)
9) Click Open and then OK

Computer will install the printer named hp LaserJet 1000, but it wont work

Now Connect your printer to the computer...
Vista will look for the printer driver and install the printer named hp LaserJet 1000 (Copy) which will work
You can now delete the printer named "hp LaserJet 1000" and make "hp LaserJet 1000 (Copy)" the default printer
You might wanna rename it too


首先下载下来这个打印机的一般驱动,也就是windows xp的,然后解压缩之,再在控制面板的打印机选项里新加一个打印机,选择打印机的时候去解压缩之后的文件里面找zUSB.inf,之后会装上一个,当然这个是硬装上的,不管用。完了之后再插入打印机的usb线(是这个时候才插,前面不插),然后系统会自动找硬件,找驱动,之后会有一个打印机出现在控制面板里,这个就是可以用的了。