在浏览O2的网页时,发现其Pagerank值为零,另外URL里出现cocoon-action-DisplayCDRs等字样,便猜测会不会跟cocoon有关。查看服务器返回的Header,果然使用的是cocoon,版本号为2.1.9,而2.1.10正式版在2006年12月就发布了。看来对于企业生产环境来说,更换网页服务器不是一件简单的事。
2007-08-14
2007-08-09
Firefox的插件LiveClick
如果使用Firefox的Live Bookmarks功能,那么这个名为LiveClick的插件能够提供更方便的功能,如显示某个post是否已经阅读,监视feed更新等等。
阅读pdf文件的小巧工具
以前就知道有个名为Foxit的pdf阅读软件,小巧并且免费,但觉得有时候文件的渲染效果不够好,在Linux下有xpdf就足够。今天在How-To Geek看到一款开源的pdf阅读软件,名为Sumatra,试用了一下速度很快,文件渲染也不错。程序由Krzysztof Kowalczyk开发,就一个可执行文件,无需安装,当前版本为beta 0.7,大小仅为803kb,非常值得推荐!常用的快捷键有:
- space - scroll by screen
- backspace - scroll back by screen
- k - scroll by one line
- j - scroll back by one line
- Down - scroll by one line
- Up - scroll back by one line
- n - goto next page
- p - goto previous page
- Page Down - go to next page
- Page Up - go to previous page
- g - goto page
- q - quit
- + - zoom in
- - - zoom out
- r - reload PDF document
- <Shift> <Ctrl> + - rotate clockwise
- <Shift> <Ctrl> - - rotate counter-clockwise
- Home - go to first page
- End - go to last page
不知道为什么用k和j移动的用法刚好和在vim里相反。
2007-07-31
Ignore a file(folder) in Subversion
Ignore a file:
svn propset svn:ignore *.log .
svn propset svn:ignore *.pyc dirname
Ignore a folder:
svn propedit svn:ignore dirname
要忽略多个文件夹和文件类型,创建一个文本文件ignore.txt,一文件夹或一种文件类型占一行,如:
obj
bin
保存这个文件到如obj和bin的父目录src目录下,然后在src目录一级执行svn propset svn:ignore -F ignore.txt .
注意最后的 "."表示当前目录,不能省略。
2007-07-28
cocoon环境下在XSLT中使用request parameter
<use-request-parameters>false</use-request-parameters>
的值改为:
<use-request-parameters>true</use-request-parameters>
这样在XSLT中声明一下这个parameter就可以使用了:
<xsl:param name="parameter-name"/>
2007-07-21
vim提供的简单加密功能
今天阅读vim的手册才知道,原来vim提供简单的文档加密功能。在新创建文档时使用 -x 选项,vim会自动询问密码,要求用户两次输入密码,确保密码被用户正确设置。要为一个已经创建的文档添加密码和更换密码,可以使用命令:
:X
要停止对一个文件加密,可以把key选项设置为一个空字串:
:set key=
2007-07-18
使用Firebug
Firefox的插件Firebug对于开发调试网页实在太有帮助了。用F12就可以激活Firebug,默认在网页下端显示。我常用control + F12在新窗口中打开Firebug,这样在左边的主显示器上显示网页,在右边的副显示器上显示Firebug的窗口。这样在使用inspect功能时可以很方便的看到对应元素的代码。查看更多Firebug的快捷键。
在使用console功能时,如果选中了larger command line,Firebug为输入javascript提供的类似vim中设置选项一样的自动补全功能不可用。当在javascript的console提示符>>>后复制一段javascript代码时,larger command line会自动被激活。
在Firebug功能选择的上面一行选中一个元素,右键可以激活Log Events选项。这样可以在console查看事件输出。
有了Firebug不用去W3C查看CSS中的box model了。选中html,选定元素,再选中右边的Layout tab,就可以看到元素的box布局了。
当Firefox加载的网页包含多个frames时,Firebug默认的context是top-level的页面,如何切换context到其中的一个frame呢?
答案:
cd(window)
By default, command line expressions are relative to the top-level window of the page. cd() allows you to use the window of a frame in the page instead.
在command line下的常用函数:
$(id)
Returns a single element with the given id.
$$(selector)
Returns an array of elements that match the given CSS selector.
$x(xpath)
Returns an array of elements that match the given XPath expression.
用于输出日志的函数:
console.debug("message" [,objects]) - Logs a debug message.
console.info("message" [,objects]) - Logs an informative message.
console.warn("message" [,objects]) - Logs a warning.
console.error("message" [,objects]) - Logs an error.
解决安装MS Expression Web遇到的错误
今天下午听Qi Jin说起MS的silverlight,顺便安装了一下微软推出的Web开发工具MS Expression Web。不想在安装过程中出现错误:
Error Message: “The 2007 Microsoft Office system does not support upgrading from a prerelease version of the 2007 Microsoft Office system.”
解决办法是卸载各种与office 2007有关的beta版本。这篇文章提及了这个问题。在我下载掉2007 Microsoft Office Add-in: Microsoft Save as PDF (Beta)后,安装就能进行了。
In addition to the programs listed in the KB, this error message could also be caused by the German Language Pack for Office 2007 and Outlook 2007 add-ins (known ones so far: Windows Live Local Addin for Outlook, Calendar Printing Assistant for Outlook 2007).
2007-07-16
vi motions
删除:
ci[ 删除一对 [ ] 中的所有字符并进入插入模式
ci( 删除一对 ( ) 中的所有字符并进入插入模式
ci< 删除一对 < > 中的所有字符并进入插入模式
ci{ 删除一对 { } 中的所有字符并进入插入模式
cit 删除一对 HTML/XML 的标签内部的所有字符并进入插入模式
ci" ci' ci` 删除一对引号字符 (" 或 ' 或 `) 中所有字符并进入插入模式
把上面命令中的i替换为a可以把 [ ]/( )/< >等字符一并删出。
其他例子:
"diw" delete inner word
"daw" delete a word
"diW" delete inner WORD
"daW" delete a WORD
"dd" delete one line
"dis" delete inner sentence
"das" delete a sentence
"dib" delete inner '(' ')' block
"dab" delete a '(' ')' block
"dip" delete inner paragraph
"dap" delete a paragraph
"diB" delete inner '{' '}' block
"daB" delete a '{' '}' block
选择:
vi[ 选择一对[ ] 中的所有字符,va[ 选择一对[ ]和其中的所有字符
vi( 选择一对( ) 中的所有字符,va( 选择一对( ) 和其中的所有字符
vi< 选择一对< > 中的所有字符,va< 选择一对< > 和其中的所有字符
vi{ 选择一对{ } 中的所有字符
vit 选择一对 HTML/XML 的标签内部的所有字符
vi” vi’ vi` 选择一对引号字符 (” 或 ‘ 或 `) 中所有字符
把命令中的i替换为a可以选中 [ ]/{ } /( )等字符。
vas 选中cursor所在的句子
vap选中cursor所在的段落
2007-07-15
使用sshfs加载远程文件
sshfs [user@]host:[dir] mountpoint安装完后使用时碰到一个奇怪的问题,在gepc188上使用sshfs jia@germa93:~ germa93。命令执行成功,进入germa93目录却看不到远程主机的任何文件。germa93这个文件夹的属性也变为全是问号。查看/etc/mtab文件,最后一行就是刚才加载的fuse文件系统。这才发现是因为登录到远程主机与登录到本地主机的用户名不一致造成的。jia@germa93:~ 被解释成为加载远程主机germa93上的/home/jiad4701目录。这个目录不存在,因此出现上了上面的问题。把命令改为:
sshfs jia@germa93:/home/jia germa93加载远程主机文件就没有问题了。
如果要卸载文件使用
fusermount -u /path/to/mount/point
2007-07-11
FreeMarker概述
- FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写
- 被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
- 虽然具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据
- 不是一个Web应用框架,而适合作为Web应用框架一个组件
- 与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境
更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库
1、通用目标
- 能够生成各种文本:HTML、XML、RTF、Java源代码等等
- 易于嵌入到你的产品中:轻量级;不需要Servlet环境
- 插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等
- 根据需要生成文本;保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器
2、强大的模板语言
- 所有常用的指令:include、if/elseif/else、循环结构
- 在模板中创建和改变变量
- 几乎在任何地方都可以使用复杂表达式来指定值
- 命名的宏,可以具有位置参数和嵌套内容
- 名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突
- 输出转换块:在嵌套模板片段生成输出时,转换HTML转义、压缩、语法高亮等等;你可以定义自己的转换
3、通用数据模型
- FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式在模板中显示
- 可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰
4、为Web准备
- 在模板语言中内建处理典型Web相关任务(如HTML转义)的结构能够集成到Model2 Web应用框架中作为JSP的替代
- 支持JSP标记库
- 为MVC模式设计:分离可视化设计和应用程序逻辑;分离页面设计员和程序员
5、智能的国际化和本地化
- 字符集智能化(内部使用UNICODE)
- 数字格式本地化敏感
- 日期和时间格式本地化敏感
- 可以用非US字符集作标识(如变量名)
- 多种不同语言的相同模板
6、强大的XML处理能力
- <#recurse> 和<#visit>指令(2.3版本)用于递归遍历XML树
- 在模板中清楚和直觉的访问XML对象模型
Turbine Web Application Framework
Apache的项目Turbine是一个基于servlet的framwork。
A quick guide to Turbine technologies:
- Presentation layer - Velocity or JSP
- Database layer - Turbine uses Torque, but different OM layers like OJB or Hibernate are also supported.
- HTML Form Validation using the Turbine provided "Intake"-Service.
- Logging - Turbine uses Commons Logging and supports a wide range of logging frameworks like Log4J, jdk14 or simple file logging
- Service based framework, using Avalon compatible components in Turbine 2.4 and beyond.
有时间试一试!
2007-07-07
恢复注册表损坏导致的 Windows XP 无法启动
恢复由于注册表损坏而无法启动的 Windows XP 系统。警告:如果您的计算机上的操作系统是由 OEM 安装的,请不要使用本文中介绍的步骤。OEM 安装中的系统配置单元会创建以前不存在的密码和用户帐户。如果您使用本文中介绍的步骤,可能无法重新登录到故障恢复控制台,因而无法还原最初的注册表配置单元。
要点:
在故障恢复控制台的命令提示符处,键入下面几行命令:
md tmp
copy c:\windows\system32\config\system c:\windows\tmp\system.bak
copy c:\windows\system32\config\software c:\windows\tmp\software.bak
copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak
copy c:\windows\system32\config\security c:\windows\tmp\security.bak
copy c:\windows\system32\config\default c:\windows\tmp\default.bak
delete c:\windows\system32\config\system
delete c:\windows\system32\config\software
delete c:\windows\system32\config\sam
delete c:\windows\system32\config\security
delete c:\windows\system32\config\default
copy c:\windows\repair\system c:\windows\system32\config\system
copy c:\windows\repair\software c:\windows\system32\config\software
copy c:\windows\repair\sam c:\windows\system32\config\sam
copy c:\windows\repair\security c:\windows\system32\config\security
copy c:\windows\repair\default c:\windows\system32\config\default
Win XP登陆时不显示上一次登陆名
Windows XP系统下默认会保留上一次的登陆名。如上次用administrator用户登陆的话,下次开机,它还保留这个用户名在用户名框内。下面这个方法用来在登陆时不显示上次的登陆名:
----------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system]
"dontdisplaylastusername"=dword:00000001
----------------------------------------------------------------
把上面这段保存为reg文件,导入到注册表里。这样下次登陆就不显示上次的登陆名了。如果想还原的话,就把dword值改为:00000000即可。
2007-07-06
在XSLT中为元素添加属性
想把一个XML文件中一个原来是一个元素的子元素变为该元素的属性,如:
<item>
<itemText>f. 3v: cath 3, 80-134 </itemText>
<link>003_v.jpg</link>
</item>
<item>
<itemText>f. 4r: cath 3, 135-199 </itemText>
<link>004_r.jpg</link>
</item>
<item>
<itemText>f. 4v: cath 3, 200-4, 52 </itemText>
<link>004_v.jpg</link>
</item>
使用下面的XSLT语句可以为item元素增加name属性,但是没有删除子元素<link>,只好用vi来删除了:)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/xpath-functions" >
<xsl:output method="xml" encoding="utf-8" indent="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="//item">
<xsl:copy>
<xsl:attribute name="name"><xsl:value-of select="./link" /></xsl:attribute>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
2007-07-05
Firefox的插件:fullscreen 与 fullerscreen
Firefox下的插件多多,在http://addons.mozilla.org/页面下用关键字fullscreen查找会找到名为Fullscreen的插件。不过其实还有一个实现全凭效果更好的插件,名为fullerscreen。后者能隐藏所有的菜单栏和工具栏,增加了不少可视面积。
创建帮助文件 HelpSetMaker
Ansgar他们以前为fud写的帮助文件是用Word写的。现在发现这个帮助文件使用起来并不方便,希望帮助文件能类似windows下的chm文件,支持查找,关键字等功能。在sourceforge上发现一个名为HelpSetMaker的程序,可以制作帮助文件,输出html,JavaHelp,latex和Eclipse帮助文件,也支持搜索。
输出的JavaHelp文件可以借助Javahelp中的hsviewer.jar来查看。测试了一下,发现HelpSetMaker输出javahelp格式的文件时对UTF-8的支持有问题。如果项目编码设置为UTF-8,输出的jar文件编码设置也为UTF-8,那么在用hsviewer.jar查看该文件时,变音不能正常显示。不过当项目和输出jar文件都使用latin-1或latin-15时,编码就没有问题。生成的jar文件可以用:
java -jar hsviewer.jar -helpset fud-help.jar 命令来打开。
notepad的日志功能bug
微软的notepad有个功能是每次打开文件时在文件末自动填上当前的日期和时间。办法是在文件的第一行写入 .LOG 即可。我一直用它来作一些日常笔记记录。但是这个功能有个bug,即当文件大小达到44kb时,notepad在打开这样的文件时就会报错,说内存不够,请关闭其他的应用程序。尽管你没有打开其他的应用程序还有很多空闲的内存,你仍然会得到这样的错误提示。虽然还可以编辑这个文件,但是自动填入日期和时间的功能已经没有了。
2007-07-04
配置Windows XP自动获得IP或固定IP
Nathania有个笔记本,在家用DSL上网,通过router自动获得IP。但她把电脑拿到办公室后,只能使用学校分配的固定IP上网。这样每次都要改来改去,实在是麻烦。简单一点的办法就是写两个脚本来配置不同地点的IP,不过也要手工执行,还是不够方便。其实有个更简单的解决办法,只是因为在学校的LAN下基本上都使用固定IP,所以没有发现这个方法。解决办法很简单,先配置网卡为自动获得IP,然后在为这块网卡分配一个固定IP地址就可以了。
2007-07-03
关掉Ubuntu 7.04下apache2的默认网页编码
当前使用apt-get install apache2 安装的apache版本为2.2.3。安装后apache为网页编码默认设置为UTF-8。不知道为什么一定要设置这个默认编码为UTF-8,让用户编写的网页自己来决定网页的编码不是更好吗。看了一眼/etc/apache2/apache2.conf文件,发现里面的语句:
#AddDefaultCharset ISO-8859-1
已经关掉了默认编码设置了。可是发现网页的编码设置仍然默认为UTF-8。后来才发现原来在/etc/apache2/conf.d文件夹下还有一个名为charset的文件,里面包含:
AddDefaultCharset UTF-8
就是它在捣乱了!注释掉这句再重启apache2,就关掉服务器端设置的默认网页编码了。
2007-07-02
递交申请材料
今天一大早就把申请工作许可的材料交上去了。办事的小伙子Rehm扫了一眼材料就收下了,并告诉我四周之后才有进一步的消息。他主动把他的电话写在纸条上给我,让我四周之后再打电话(7181334)询问进展情况。现在就盼着Frankfurt那边能办事利落些,学学人家Bayern那边。据说那边两周就有结果了。
为Outlook创建profile配置文件
2007-06-29
Firefox的Smart Keywords功能
Zope目录下的默认文件
当URL不是以一个文件结束,而是以一个目录结束时,Zope会寻找该目录下的默认文件。这个文件不是像在Apache下的index.htm/index.html,而是一个ID为index_html的文件。如果这个文件不存在,访问以目录结尾的URL就会得到一个错误提示:
Resource not found
Sorry, the requested resource does not exist.
Check the URL and try again.
Resource: Folder instance at 2a9b97c210
Zope下调用external method
Michael为WBB写了web service,Thomas想在Zope下调用WBB的web service。安装完SOAPpy模块之后,写了一个小的测试脚本,放在了$INSTANCE/Extension目录下。在Zope中创建一个external method时, Module Name为这个脚本的名字,但不包含.py,Function Name为脚本中定义的函数名。
这个脚本能在命令行下执行,可是在Zope中调用总是得到错误提示:
Error Type: ImportError
Error Value: No module named SOAPProxy
在网上google了一下,没有立刻找到解决办法。想了一下,应该是Zope的执行环境和在命令行下的执行环境不同造成的。浏览了一下Zope的配置文件zope.conf,发现里面有个名为path的指令,默认值为
$INSTANCE/lib/python
由于SOAPpy安装在/usr/lib/python2.4/site-packages目录下,自然Zope就找不到它了。添加下面的语句后:
path $INSTANCE/lib/python:/usr/lib/python2.4/site-packages
问题就解决了。
用${}过滤变量
${}用于过滤变量的值有时候非常方便,不过每次用都记不住,只好写个例子在此供翻查:(提醒一下,别与命令替换操作符 $(command) 搞混了!另外在XSLT中可以用{$var}来得到一个变量的值)
假设 FNAME="/home/jia/tmp/test.1.sh"
那么有:
${FNAME}
显示变量的全部。
/home/jia/tmp/test.1.sh
${FNAME##/*/}
比对变量開端﹐如果以 /*/ 开头的話﹐砍掉最長的部份。
test.1.sh
${FNAME#/*/}
比对变量开端﹐如果以 /*/ 开头的話﹐砍掉最短的部份。
jia/tmp/test.1.sh
${FNAME%.*}
比对变量末端﹐如果以 .* 結尾﹐砍掉最短的部份。
/home/jia/tmp/test.1
${FNAME%%.*}
比对变量末端﹐如果以 .* 結尾﹐砍掉最长的部份。
/home/jia/tmp/test
${FNAME/sh/bash}
如果在变量中找到 sh ﹐將第一个 sh 替换为 bash。
/home/jia/tmp/test.1.bash
${FNAME//sh/bash}
如果在变量中找到 sh ﹐將全部 sh 替换为 bash。
/home/jia/tmp/test.1.bash
简单总结:
# 比对变量的的开始部分
% 比对变量的结束部分
一个符号表示去掉最短的部分,两个符号表示去掉最长的部分。
developerWorks 中国时事通讯
我已经有好几个星期没有收到IBM 每周一次的developerWorks的newsletter了,以为是我的订阅出了问题。今天有空上IBM的developerWorks 中国时事通讯网页一看,上面列出的newsletter也只到第303期(2007年4月24日)。看来不是我没有收到中文newsletter,而是IBM本身没有撰写。浏览网页时发现,页面上提供2004年和2005年的打包下载。这倒是很方便,省得我在Outlook里整理了。既然收不到中文的newsletter了,那以后就只能阅读英文的developerWorks Newsletter: Weekly Edition.
Ubuntu 7.04下的know_hosts
主机名 IP地址 钥匙类型 钥值
如:
urts96,136.199.199.96 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAwZMisKXEF2poSc WEujP+YLWKl53p80SpOVyp/h3UVxeAVHkLP0s1NkiW5mRlN4prUpxK5UuZ7yd5u9uc/2qMvK 38S2hC4P/aYki7rM8L+fHQPnjiLe+J0j/UfSvUjjPyOeXuSokWWHN8aatvlJQavvZOC36Hd8 In/NtwpzganJc=
当一台server重新装操作系统有新的钥匙值之后,从原来保存有旧的钥匙值的主机上登录这台server时,就会得到警告提示:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
dd:c4:44:74:80:f7:6b:99:4d:f1:c4:cd:df:65:3a:73.
Please contact your system administrator.
Add correct host key in /home/jiad4701/.ssh/known_hosts to get rid of this message.
Offending key in /home/jiad4701/.ssh/known_hosts:9
RSA host key for germa93 has changed and you have requested strict checking.
Host key verification failed.
lost connection
以前我的解决办法是在客户端的know_hosts文件中删除server对应的钥值。可是如果你的客户端是Ubuntu 7.04,你不能从这个文件中分辨出你要登录的server的钥值在第几行,只能全部删除文件里面的内容。
为Ubuntu添加ACL
apt-get install acl安装完之后,修改/etc/fstab文件,在需要acl支持的分区上添加acl,如:
原来的一行为:
UUID=e6d069bc-4bcd-4e4d-9730-f66473118a7f / ext3 defaults,errors=remount-ro 0 1
添加acl支持后变为:
UUID=e6d069bc-4bcd-4e4d-9730-f66473118a7f / ext3 defaults,acl,errors=remount-ro 0 1
要使acl生效还必须重新加载文件系统:
jia@germa93:~$sudo mount -o remount /
2007-06-15
设置notepad的默认字体
2007-06-14
本Blog第一帖!
早先在wordpress.com也申请了一个账户,本想从系里服务器上的blog导出到wordpress.com上。可是,以前导入的post里很多都出现了乱码。blog的管理功能不提供批量删除Post的功能,又无法接触数据库,一个个去删又太麻烦,于是只好作罢。刚好使用google docs时看到可以在线撰写,然后发送到一定blog服务提供商。这让我想起了2年前申请的在blogger申请的账户。
2007-04-25
在Firefox下阅读chm文件
2007-04-24
2007-04-20
保存pdf文件
今天用Adobe Acrobat 7.0打开了一个关于XPath的ebook,并做了简单的修改。原文档拒绝保存修改,试着另存为一个PDF文件。保存后文件的大小显著减小,从原来的57.560.207 Bytes到现在的5.995.126 Bytes。保存中曾有显示程序消除了一些冗余的图像,我想这应该是文件体积减小的主要原因。
保存Tomcat的访问日志记录
Tomcat的访问日志默认时关闭的,要打开访问日志记录只需修改conf/server.xml文件,去掉下面一段的注释:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
2007-04-19
2007-04-18
修正gvim的右键菜单
我在家里的电脑上安装的gvim 7.0有edit with gvim的右键菜单,在办公室里的电脑上安装了同样的文件,却找不到这样右键菜单,虽然能用,但是总觉缺点什么。两台机器都是同样的操作系统和同样的补丁,只是办公室电脑是通过clone的方式安装的,因此估计在注册表上有问题。于是从家里电脑里导出了有关gvim的键值,再导入到另一台机器上,右键菜单就有了。
附上注册表的文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Vim]
[HKEY_LOCAL_MACHINE\SOFTWARE\Vim\Gvim]
"path"="D:\\Programme\\Vim\\vim70\\gvim.exe"
[HKEY_CLASSES_ROOT\Applications\gvim.exe]
[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell]
[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit]
[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\edit\command]
@="D:\\Programme\\Vim\\vim70\\gvim.exe \"%1\""
[HKEY_CLASSES_ROOT\CLSID\{0F0BFAE1-4C90-11D1-82D7-0004AC368519}]
@="Vim"
[HKEY_CLASSES_ROOT\CLSID\{0F0BFAE1-4C90-11D1-82D7-0004AC368519}\LocalServer32]
@="D:\\Programme\\Vim\\vim70\\gvim.exe"
[HKEY_CLASSES_ROOT\CLSID\{0F0BFAE1-4C90-11D1-82D7-0004AC368519}\ProgID]
@="Vim.Application.1"
[HKEY_CLASSES_ROOT\CLSID\{0F0BFAE1-4C90-11D1-82D7-0004AC368519}\TypeLib]
@="{0F0BFAE0-4C90-11D1-82D7-0004AC368519}"
[HKEY_CLASSES_ROOT\CLSID\{0F0BFAE1-4C90-11D1-82D7-0004AC368519}\VersionIndependentProgID]
@="Vim.Application"
[HKEY_CLASSES_ROOT\CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}]
[HKEY_CLASSES_ROOT\CLSID\{51EEE242-AD87-11d3-9C1E-0090278BBD99}\InProcServer32]
@="D:\\Programme\\Vim\\vim70\\gvimext.dll"
"ThreadingModel"="Apartment"
2007-04-15
禁止Firefox窗口被改变大小
浏览有些网页时,有些脚本会改变浏览器的窗口大小,很是烦人。通过下面的设置可以禁止窗口大小被改变:
Here is how to prevent sites from resizing your Firefox window…
1. Open Firefox, Preferences (or if you’re on Windows…Tools, Options)
2. Go to the Content Tab
3. To the right of “Enable Javascript” hit “Advanced…”.
4. Uncheck “Move or Resize Existing Windows”
2007-04-12
在windows下使用GnuPGP签名邮件
下载GnuPG 1.4.7二进制文件和Thuderbird的插件Enigmail
- 安装上面的两个文件,并把安装后的GnuPG目录添加到路径变量中。
- 测试gpg安装是否成功:
- 运行OpenPGP Key Management向导,生成一对Key,并提交到Key Server。
C:\Dokumente und Einstellungen\jia>gpg --version gpg (GnuPG) 1.4.7
Copyright (C) 2006 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Home: C:/Dokumente und Einstellungen/jia/Anwendungsdaten/gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
详细步骤参见:http://enigmail.mozdev.org/gpgconf.html#install
注释JMS block
把cocoon作为一个webapp分发在Tomcat下,如果在启动Tomcat时出现警告提示:
WARN! *** JMS block is installed but jms client library not found. ***
- For the jms block to work you must install and start a JMS server and place the client jar in WEB-INF/lib.
- The default server, OpenJMS is configured in cocoon.xconf but is not bundled with Cocoon.
解决办法:
在xcoocon.conf文件里注释掉关于jms-connection-manager的配置内容即可:
<jms-connection-manager logger="core.jms">
...
</jms-connection-manager>
在Tomcat 5.5下使用APR
在windwos下启动Tomcat 5.5下时,命令行窗口会提示:
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\jdk1.5\bin;.;C:\WINDOWS\system32; ...
为了提高Tomcat的性能,应让Tomcat使用APR,Apache Portble Runtime。具体信息参见http://tomcat.apache.org/tomcat-5.5-doc/apr.html。
在windows安装方法:下载编译好的dll文件,tcnative-1.dll,把它复制到%SystemRoot%\system32目录下即可。
解决无法复制aurorun.inf文件的问题
不止一次赶上这样的情况了,无法把autorun.inf文件从本地硬盘上的一个文件夹复制到映射的网络硬盘上,但却可以复制到本地硬盘的另一个文件夹下。复制时,得到错误提示:
access denied。
请确保磁盘没有满,也没有写保护,或文件当前没有被使用。
网上搜索的结果表明,这是由McAfee的访问保护机制引起的。在McAfee的访问保护下有个文件,共享和文件夹保护选项,下面有个选项:
prevent remote creation of autorun.inf files
如果这个选项被选中,就会出现无法复制到远程机器的问题。
利用鼠标放大和缩小文字
现在有不少程序都支持利用鼠标放大和缩小文字,只要在摁住control键时,转动鼠标滑轮就可以了。我知道的最早支持这个特性的是Firefox,随后发现IE 7和Opera 9都有这个功能了。可是这个功能在Firefox下和在IE/Opera下略有差别:在Firefox下,滑轮往下转,文字变大,而在IE/Opera下刚好相反,滑轮往下转,字号变小。此外在Opera下,轻轻转动一下,文字就会变的很大或很小,感觉不够细腻。
另外新版本的XMLSPY 2007也支持这个功能。这样在编辑器查看文件时,可以很方便的调整字号了,而不用进到菜单里去调整显示字号大小。
2007-04-11
奥组委的网页
Firefox扩展:LiveHttpHeaders
另外在Tomcat的邮件列表中名为Christ写了一段很好的关于在搜索中使用jsessionid的问题:
> Is there anyway to create JSessionIDs per window rather than per browser?
> I am having the problem of when you open multiple tabs within
> a browser, and enter two simultaneous queries, the results returned are
> corrupted. Any suggestions? Thanks for the help.
I have an application that allows the user to perform searches and paginate through the results. Since the search really only needs to be performed once, pagination can be as simple as picking a segment of the results (stored in the session) and displayed on the screen.
I store the query that was performed as well as a "token" which is generated when the query is created. I place this token in all of the URLs on the page (most importantly, the ones involved with pagination).
If a request comes into the server including a token, I check the token against what I have in the session. If the tokens match, I skip the search. If they do not match, I re-run the search and re-set the token. Rinse, repeat.
In your case, you might want multiple simultaneous paginating queries, though I'm not exactly sure why. You could adopt a similar approach using a List of queries (using the same session key, I would imagine),
each with separate tokens for the windows.
The only problem with an implementation like this is that it is very hard to decide when you are "finished" with a query, and that it's okay to purge it from the session. That is left as an exercise for the reader
;)
Hope that helps,
-chris
2007-04-10
Dremaweaver 8的bug?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<HTML LANG="de">
<HEAD>
<TITLE>"Suche"</TITLE>
<LINK href="./skin/KaPr_basis_structure.css" REL="stylesheet" TYPE="text/css"/>
<LINK href="./skin/KaPr_top.css" REL="stylesheet" TYPE="text/css"/>
<LINK href="./skin/KaPr_header_footer.css" REL="stylesheet" TYPE="text/css"/>
<LINK href="./skin/KaPr_left_menue.css" REL="stylesheet" TYPE="text/css"/>
<LINK href="./skin/KaPr_left_suchformular.css" REL="stylesheet" TYPE="text/css"/>
<LINK href="./skin/KaPr_left_funktionsunterscheidung.css" REL="stylesheet" TYPE="text/css"/>
<LINK href="./skin/KaPr_text_treffer.css" REL="stylesheet" TYPE="text/css"/>
<LINK href="./skin/KaPr_Color_Fonts.css" REL="stylesheet" TYPE="text/css"/>
</HEAD>
... ...
</HTML>
用其他的编辑器,如vim,打开就不是这样,所有的元素名保持原来的大小写。这里Dreamweaver应该算是画蛇添足,算作Dreamweaver的一个bug?
2007-04-04
Windows XP下不输入用户名及密码自动登录
强烈不推荐,可是有的人偏偏喜欢这样,知道一下也无妨。
执行rundll32 netplwiz.dll,UsersRunDll,如果机器没有加入一个域,就可以去掉上方的“要使用本机,用户必须输入用户名和密码”选项前的小勾,再按“应用”按钮,会有个设置默认用户和密码的窗口弹出,输入用想默认登录的用户名和密码即可。
在XSL中对变量作加法
在XSL中对变量作加法:
如果使用的转换器只支持XSLT 1.0,则:
<xsl:variable name="n1">
<xsl:choose>
<xsl:when test="number($t1) = number($t1)">
<xsl:value-of select="$t1"/>
</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="n2">
<xsl:choose>
<xsl:when test="number($t2) = number($t2)">
<xsl:value-of select="$t2"/>
</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="temp1" select="$n1 + $n2"/>
如果XSLT parser支持XSLT 2.0:
XSLT 2.0 makes it easier because of the conditional expressions in XPath 2.0. You can do:
<xsl:variable name="n1"
select="if (number($t1) = number($t1)) then $t1 else 0" />
<xsl:variable name="n2"
select="if (number($t2) = number($t2)) then $t2 else 0" />
<xsl:variable name="temp1" select="$n1 + $n2" />
Depending on how you're getting the values of $t1 and $t2 (and the final definition of if-absent()) it might also be possible to use the if-absent() function:
<xsl:variable name="temp1" select="if-absent($t1, 0) + if-absent($t2, 0)" />
2007-03-29
在Tarforst学生宿舍的最后一帖
再见 Universitätsring 8,204 & 204a!
2007-03-27
搬家
来德国真正算起来搬家还只有一次。那次搬家是在2001年的圣诞节假期,地上还铺了厚厚的大雪。搬家也只是从马路的一侧搬到马路的另一侧,仅仅跨越一个桥而已,由于距离很近,东西也不像现在这么多,帮忙的同学也多,连搬家车都没租,倒是跟URT借了一个推车在雪地里推着。
这两天有个朋友的MSN上显示,我们需要的很少,但是想要的太多。这次搬家扔了不少东西,新的旧的都有。东西仍完后生活依旧,也没觉得缺东少西,只觉得那朋友的留言说的即是。
远程连接遇到错误
今天帮Ralf解决一个电脑问题,Firefox不能启动,报告js3210.dll丢失。网上搜索结果显示有可能是特洛伊木马捣乱,用mcafee 8.0扫描整个一遍没有发现异常。倒是我远程连接时得到错误提示:
Die lokale Richtlinie erlaubt es Ihnen nicht, sich interaktiv anzumelden.
解决办法:
首先确保管理员用户在允许远程桌面连接的用户列表里。如果允许多个用户远程连接,用逗号分隔用户名。
其次察看远程桌面用户是否有足够的权限:
1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie secpol.msc ein, und klicken Sie auf OK.
2. Erweitern Sie Lokale Richtlinien, und klicken Sie anschließend auf Zuweisen von Benutzerrechten.
3. Doppelklicken Sie im rechten Fensterbereich auf Anmeldung über Terminaldienste zulassen. Stellen Sie sicher, dass die Gruppe der Remotedesktop-Benutzer aufgelistet ist.
4. Klicken Sie auf OK.
5. Doppelklicken Sie im rechten Fensterbereich auf Anmeldung über Terminaldienste verweigern. Stellen Sie sicher, dass die Gruppe der Remotedesktop-Benutzer nicht in der Listet erscheint, klicken Sie dann auf OK.
6. Beenden Sie das Snap-In "Lokale Sicherheitseinstellungen".
2007-03-23
Exchanger XML Editor
2007-03-20
纪念一下正式毕业
2006年11月底交的论文,今天才拿到正式的毕业证书,等的时间那个叫长啊。Gesamtnote: Gut 。学生生活实际上早就结束了,不过形式上今天才有了个正式的结束。
2007-03-10
笔记本的BIOS又得升级了
启动笔记本,发现需要非常长的时间,虽然内存只有128+256少点,但也不至于这么慢,先怀疑硬盘,后来在发现应该是BIOS有关:
http://support.microsoft.com/kb/283649
只是不知道Acer对这么老的机器还会不会提供支持。
2007-02-22
Tomcat目录结构
Tomcat下的目录结构
/bin 启动和关闭Tomcat server的脚本
/conf 包含server.xml(Tomcat的配置文件),web.xml(应用程序的配置文件)和tomcat-users.xml(用户管理配置文件)
/log 日志文件
/work JSP生成的Servlet
/webapps 应用程序发布位置
/shared/lib 包含应用程序访问的JAR文件
/lib 包含Tomcat使用的JAR文件
/server/webapps 包含Tomcat自带的系统管理和应用管理的web工具
/common 包含Tomcat和应用程序都可以访问的JAR文件
2007-02-19
试用openldap
今天在ubuntu下安装(apt-get install slapd)了openldap服务器,因为openldap server在ubuntu下的包名为slapd。
root@gepc188:/etc/ldap# dpkg -s slapd
Package: slapd
Status: install ok installed
Priority: optional
Section: net
Installed-Size: 2432
Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
Architecture: i386
Source: openldap2.2
Version: 2.2.26-5ubuntu3
Replaces: libldap2, ldap-utils (<< 2.2.23-3)
Provides: ldap-server
安装完成后要使用slappasswd命令来生成加密后的密码,然后在/etc/ldap/slapd.conf文件中添加两行:
rootdn "cn=root,dc=uni-trier,dc=de"
rootpw {SSHA}X5vL372YCCfHW7KJlVzGpwc+iQ6shuEX
这样才能登入数据库。
在创建User Account之前,需创建一个Posix Group组,否则会得到错误提示:
LDAP said: Object class violation
Error number: 0x41 (LDAP_OBJECT_CLASS_VIOLATION)
Description: You tried to perform an operation that would cause an undefined attribute to exist or that would remove a required attribute, given the current list of ObjectClasses. This can also occur if you do not specify a structural objectClass when creating an entry, or if you specify more than one structural objectClass.
这是因为shema定义的缘故,一个用户要求有一个gidNumber值。phpLDAPadmin是一个与phpmyadmin类似的图像化工具,可以简化管理ldap的工作。
2007-02-16
dpkg的常用选项
查询软件包: dpkg -l zope2.9
不知道软件包的具体名称,也可使用通配符来查询: dpkg -l zope*
查看软件包的详细信息: dpkg -s zope2.9
查看已安装软件包所安装的文件列表: dpkg -L zope2.9
显示.deb包的内容: dpkg -I scalix-swa_11.0.0.653_all.deb
显示.deb包中的文件列表: dpkg -c scalix-swa_11.0.0.653_all.deb
安装.deb软件包: dpkg -i scalix-swa_11.0.0.653_all.deb
删除软件包: dpkg -r scalix-swa_11.0.0.653_all.deb
(使用该命令安装.deb包并不能自动解决软件包的依赖问题,需用dpkg -I查出该软件包的依赖要求手动解决。所以该方法一般用来安装第三方的.deb软件包。如果需系统自动解决软件包的依赖关系,则要使用apt、 tasksel、dselect、aptitude或图形化的syanptic、KPackage等前端工具来安装软件包。)
重新配置软件包: dpkg-reconfigure
此外涉及debian源码包的管理工具还包括:dpkg-source, dpkg-gencontrol, dpkg-shlibdeps, dpkg-genchanges, dpkg-buildpackage, dpkg-dista ddfile,dpkg-parsechangelog
2007-02-07
你知道换一台苹果机的电源要多少钱吗?
上网查到了apple的订货查询热线08002000136,电话打过去之后一问,他们也不提供这样的配件了,让我向当地的苹果经销商询问。一个电话(0686193350)打给Ringlingen的苹果经销商,他们又让我打电话给位于特里尔的办事处(06519940018)。这才终于找对人了,对方告诉我,apple官方已经不提供这种系列的电源了,但是可以把普通PC的ATX电源稍加改变就可以换上,半个小时就可以搞定,所用的费用约为90欧元。250-90=160欧元,仅仅是多打了几个电话。另外对CW的工作态度实在是不敢恭维!
另:今天看最新的Neue Universal报道,Petrisberg的教学大楼两面墙之间的橘红色“涂鸦”之作竟然是出自来自柏林的一位女艺术家之手,为此花费了61000欧元!6万一千欧元!!
2007-01-27
2006/2007的第一场雪
2007-01-26
open command here不起作用了
换了个办公室也换了台电脑,Dell的Optiplex GX620(2G的内存,可以装Vista了)。发现以前常使用的在windows explorer的文件夹上右键菜单中的open command here只在系统所在的分区起作用,在其他的分区下的文件夹下点击出来的command窗口下,当前的目录总是系统所在的根目录。对比其他电脑,发现同样的注册表设置就是在新的电脑上不起作用。
原来的设置为:HKEY_CLASS_ROOT\\Directory\\shell\\DosHere\\command的值为
C:\WINDOWS\system32\cmd.exe /k "cd %L"
后来发现cd 有个/D选项可以在切换目录时把当前目录也切换到目标目录下。把值修改为:
C:\WINDOWS\system32\cmd.exe /k "cd /D %L"
问题就解决了。
2007-01-10
修改Webalizer的默认配置文件
在urts52上使用webalizer分析zope服务器日志时,发现生成的HTML页面是用utf-8编码的,而apche 2服务器配置文件中设置了默认编码为iso-latin1。我不是管理员,无法更改httpd.conf,只好自己从webalizer上想办法了。在webalizer的默认配置文件基础上添加了以下语句:
HTMLExtension php
生成的页面为PHP页面,不再是默认的HTML页面。
HTMLPre <?php header('Content-Type: text/html; charset=utf-8');?>
这样生成的PHP网页代码中第一行都包括这行内容,强制浏览器使用utf-8编码。
HTMLHead <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
在HTML页面的head部分添加编码设置,表明网页是用utf-8编码的。
2007-01-04
用putty的端口转发
以前就知道putty的端口转发功能,现在要用上了。通过在putty添加一个Dynamic SOCKS-based port forwarding,即在tunnel选项卡中选中auto和dynamic,在source处填写一个任意空闲的本地端口,然后点击添加。
在浏览器器里设置代理服务:
SOCKS HOST:127.0.0.1
Port:在putty session里设置好的端口
要使用这种socks host需要远程主机的转发功能没有被禁掉。系里机房的机器全都使用iptables被禁止了。另外URT机房里的机器的forwarding也被禁止了,只有另外两台我有root权限的可用,呵呵。使用putty的后台命令行程序plink更简单,不用打开一个putty session,如:
plink -N -load mysessionname -D 666
Online Wörterbücher von Kompetenzzentrum
这是各个字典的链接:
DWB: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/dwb/wbwelcome
EWB: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/ewb/wbwelcome
FiB: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/findebuch/wbwelcome
GWB: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/gwb/wbwelcome
LWB: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/lwb/wbwelcome
LEX: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/lexer/wbwelcome
BMZ: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/bmz/wbwelcome
NLEX: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/nachtraege/wbwelcome
PfWB: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/pfwb/wbwelcome
RhWB: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/rhwb/wbwelcome
RhnWB: http://germazope.uni-trier.de/Projects/WBB/woerterbuecher/rhnwb/wbwelcome
2006-12-25
2007 Microsoft Office suites
Office Enterprise 2007 is the most complete Microsoft toolset provided for people who must collaborate with others and work with information efficiently, regardless of location or network status. Office Enterprise 2007 builds on the strengths of Microsoft Office Professional Plus 2007 with the addition of Microsoft Office Groove 2007 and Microsoft Office OneNote 2007, enabling people to collaborate and create, manage, and use information more efficiently, so they can deliver better results faster.
2006-12-22
在linux下安装cost
在ubuntu 6.10下安装tcl的一个工具包cost,在configure时报错:
checking for tclConfig.sh... Not found.
找遍整个电脑都没有这个文件。后来google了一下才知道,原来要安装了tcl8.4-dev这个包才能有这个文件
/usr/lib/tcl8.4/tclConfig.sh
执行 apt-get install tcl8.4-dev 之后再安装就没有问题了。
2006-12-16
开始使用windows vista了
在gepc183上装上windows vista Business了,Intel 3.O GHz 双核CPU,1G的DDR内存,就是显卡差些,是Intel G945主板自带的。安装很简单,不到一个小时就完成了。vista下已经没有boot.ini了,另外配置也大多写在xml文件里,不再是各式各样的txt文件了。连日志文件都用xml文件。
现在正在看MCSA/MCSE的Exam 70-270的Training Kit,学到一些以前不知道的东西。只是不知道是不是现在考"Installing , Configurring and Administering Microsoft Windows XP Prosessional"会不会有些过时了,因为Vista都推出来了,win xp被淘汰只是迟早的事了。
10 Things You Need to Know about Deploying Windows Vista
Tools You Need; Tools to Forget
Here’s a rundown of the tools you’ll be using when you roll out Windows Vista, followed by a list of the tools you can retire for good once Windows Vista arrives.
- SYSPREP This is the updated version, modified for Windows Vista.
- SETUP A new installation tool for Windows Vista, replaces WINNT and WINNT32.
- IMAGEX The new command-line tool for creating WIM images.
- Windows System Image Manager A tool for creating and modifying unattend.xml files.
- PEIMG The tool for customizing Windows PE 2.0 images.
- Windows Deployment Services The new version of RIS, which adds the ability to deploy Windows Vista and Windows XP images, as well as Windows PE 2.0 boot images.
- PNPUTIL This is the new tool for adding and removing drivers from the Windows Vista driver store.
- PKGMGR Also new, this Windows Vista tool is used for servicing the operating system.
- OCSETUP This replaces SYSOCMGR and is used for installing Windows components.
- BCDEDIT A new Windows Vista tool for editing boot configuration data.
- Application Compatibility Toolkit 5.0 This updated tool lets you assess whether your applications are compatible with Windows Vista.
- User State Migration Tool 3.0 An updated tool for capturing and restoring user state, supports Windows XP and Windows Vista, as well as all versions of Office including 2007.
- BitLocker The full-volume drive encryption capability included in Windows Vista Enterprise and Ultimate editions.
- Remote Installation Services RIS has been replaced by Windows Deployment Services (WDS) but still offers legacy support on Windows Server 2003; RIPREP and RISETUP are not possible with Windows Vista.
- Setup Manager/Notepad Use Windows System Image Manager instead for editing unattended setup configuration files.
- WINNT.EXE and WINNT32.EXE Use SETUP instead.
- SYSOCMGR Replaced by OCSETUP, PKGMGR.
- MS-DOS Boot Floppies Forget them. Use Windows PE!
2006-12-07
参加MLP的Seminar
活动结束后对自己在Assessment-Center中的表现实在是不满意。这对于在大公司申请非常不利,因为Assessment-Center在大企业里已经是一种常见的筛选申请者的方法。在智力题测试时,题目是主持者口头念出来的,总感觉不能跟上,没能弄清题目的描述,就仅仅听清问题,问题就结束了。听力还是不够好,另外注意力集中不够!
2006-11-29
参观马克思故居
2006-11-13
使用latex
从这里开始:
- 简略浏览 Latex Projct。
- 下载并安装了proText (415M)。它是在MiKTeX的基础上开发的,里面包含了TeX/Latex和其他的一些免费工具,如TeXnicCenter, Ghostscript/GSview。
- 阅读 The not so Short Introduction to LaTeX,英语版本为最新版本(发布时间为),德语版本最后更新为(2003-04-10)。下载中文版,其他语种版本见:http://www.ctan.org/tex-archive/info/lshort/ 。
- 动手!
参考资料:
- TeX Users Group
- MiKTeX
- Comprehensive TeX Archive Network
- ChinaTeX文档下载
- TeX by Topic - A TeXnician's Reference: 一本很好的TeX命令速查手册,按照功能对 TeX命令分门别类。
2006-11-03
几十个大学生让法兰克福火车站瘫痪
2006-10-16
nu02表现异常
nu02是Neue Universal获奖那台Dell电脑。最近这几天却问题不断,经常不能正常连接学校的文件服务器,不能播放音乐,不能打印等等。今天下午花了不少时间,却没有解决问题。问题主要出现在不少服务表现异常,如Arbeitsstattionsdienst,Windows-Firewall,Windows Media等类型为自动启动的服务不知道什么原因总是被自动关闭了,日志纪录的事件ID为7034和7031。后来联系URT的Herr Baltes使用windows xp的恢复功能恢复至出现问题前的状态,但是问题仍然没有解决。估计硬盘上应该有恶意程序导致了服务不能被启动,用最新的McAfee 8.0 patch 13扫描整个硬盘也没有发现病毒。后来Herr Baltes联系了微软的位于Karlruhe的Kompetenzzentrum,报告了我们遇到的问题。对方寄来一network report tool,运行完后,生成了一个cab报告文件。Herr Baltes把报告文件寄给他们,看那些微软专家分析完怎么解决问题。
2006-10-12
2006-10-11
Prototype-based JavaScript
这几天系统的学习了一下Javascript。以前对Javascript面向对象的特点没什么体会,经过这两天的学习慢慢有了些认识,对于文献中经常提到的Prototype概念也多少有了些理解。这个概念对理解Javascript中的继承还是很重要的。
下面是来自Core JavaScript 1.5 Guide的一个简单例子,可以看看如何继承在Javascript重视如何实现的。
Employee
| |
| |
| |
Manager WorkBee
| |
| |
SalesPerson Engineer
function Employee () {
this.name = ""
this.dept = "general"
}
function Manager () {
this.reports = [];
}
Manager.prototype = new Employee;
function WorkerBee () {
this.projects = [];
}
WorkerBee.prototype = new Employee;
function SalesPerson () {
this.dept = "sales"
this.quota = 100;
}
SalesPerson.prototype = new WorkerBee;
function Engineer () {
this.dept = "engineering"
this.machine = ""
}
Engineer.prototype = new WorkerBee;
2006-10-09
通过重启系统来重新激活外接硬盘
我办公室的电脑上接了一个350GB的外接硬盘,做备份数据用。因此使用的时候并不多,没用的时候是处于没有激活的状态。以前我一直不知道当硬盘处于不活动的状态时,如果我在家想读取外接硬盘的数据,怎样才能激活它。今天偶然远程重新启动了一下电脑,发现外接硬盘马上又被识别出来了。这倒是解决了我以前的那个问题。
2006-10-02
风扇电源接口类型
2pin:直流电的正负极,一般红线为正,黑线为负,只可以通过调速面板来控制风扇速度。
3pin:增加的一条线为转速的控制线,一般为黄色,有了这根线的风扇可以让BIOS芯片读出风扇转速,并且通过软件进行调速。
4pin:在3pin的基础上增加了测温探头,能够读出当前散热器的温度,一般有这根线的风扇都有智能温控功能。
2006-09-30
认识wget的另外几个选项
-Q quota
--quota=quota
Specify download quota for automatic retrievals. The value can be specified in bytes (default), kilobytes (with k suffix), or megabytes (with m suffix).
Note that quota will never affect downloading a single file. So if you specify
wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz
all of the ls-lR.gz will be downloaded.
The same goes even when several URLs are specified on the command-line. However, quota is respected when retrieving either recursively, or from an input file. Thus you may safely type wget -Q2m -i sites---download will be aborted when the quota is exceeded.
Setting quota to 0 or to inf unlimits the download quota.
控制文件下载类型和文件所属域名
-A acclist --accept acclist
-R rejlist --reject rejlist
Specify comma-separated lists of file name suffixes or patterns to accept or reject.
You want to download all the GIFs from a directory on an HTTP server. You tried wget http://www.server.com/dir/*.gif, but that didn't work because HTTP retrieval does not support globbing. In that case, use:
wget -r -l1 --no-parent -A.gif http://www.server.com/dir/
-A.gif means to download only the GIF files, -A "*.gif" would have worked too.
-D domain-list
--domains=domain-list
Set domains to be followed. domain-list is a comma-separated list of domains. Note that it does not turn on -H.
--exclude-domains domain-list
Specify the domains that are not to be followed.
指定文件下载后保存的目录
-P
2006-09-24
Evolution启动出错
Error: An error ocurred while loading or saving configuration information for Nautilus. Some of your configuration settings may not work properly。
点击OK之后,又出现提示:
Adding client to server's list failed, CORBA error: IDL:omg.org/CORBA/COMM_FAILURE:1.0
察看/var/log/messages日志文档,发现纪录:
Sep 24 18:48:33 localhost gconfd (jiad4701-24732): Failed to get lock for daemon, exiting: Failed to lock '/tmp/gconfd-jiad4701/lock/ior': probably another process has the lock, or your operating system has NFS file locking misconfigured (Resource temporarily unavailable)
于是把ior文件改名后再启动evolution就没有问题了。
jiad4701@gepc188:/tmp/gconfd-jiad4701/lock$ mv ior ior.bak
不知道这个问题的症结在哪儿。
2006-09-23
删除HTML标记
删除HTML文件里的标记,看似一个简单的文本替换,但是关键是如何写匹配的正则表达式。
像下面这样的命令是不能完成的。
$ sed -e 's/< .*>//g' myfile.html
因为当 sed 试图在行中匹配规则表达式时,它要在行中查找最长的匹配。
解决办法是,不输入“'< ' 字符后面跟有一些字符并以 '>' 字符结束”的规则表达式,而只需输入一个“'< ' 字符后面跟有任意数量非 '>' 字符并以 '>' 字符结束”的规则表达式。这将与最短、而不是最长的可能性匹配。新命令应该是:
$ sed -e 's/< [^>]*>//g' myfile.html
2006-09-20
有关德国2006年的数字
德国的联邦统计局和分别位于曼海姆和柏林的两家研究调查机构共同发布了Datenreport 2006,收集整理了关于德国2006年的各种统计数据。联邦统计局的网页提供PDF文件全文下载。
2006-09-19
Evolution的一个小问题
在使用Evolution 2.6.1时有时会得探出对话框,提示一个错误:
"Error while Expunging folder.
Error storing `~/.evolution/mail/local/Inbox (mbox)': Summary and folder mismatch,even after a sync."
解决办法是删除“~/.evolution/mail/local/Inbox.ev-summary”文件。
这应该是Evolution的一个Bug, http://bugzilla.gnome.org/show_bug.cgi?id=213072 。
在Ubuntu下安装zope 2.9.2
sudo apt-get install zope2.9
zope会被安装在/usr/lib/zope2.9/目录下。
执行/usr/lib/zope2.9/bin/mkzopeinstance.py可以创建一个zope instance。启动如果使用/ets/init.d/zope2.9脚本,总会报告找不到zope instance,无法启动。不过使用$instance/bin/zopectl脚本启动没有问题,只不过默认得端口不再是8080,而是9673。不知道在Ubuntu下安装这个版本,为什么默认端口会被改掉,8080端口保留给什么程序用呢。
2006-09-16
Outlook 2007 下修复pst文件
前段时间使用Outlook 2007程序不时死掉,因此暂时放到了一边。今天在网上看到微软发布了Office 2007 Beta 2 Technical Refresh,便去下载了一个升级文件,office2007b2tr-kb000000-fullfile-en-us.exe,个头不小,赶上Office 2003 professional的安装文件了,共507M。安装这个文件时间也花去了好几分钟时间,并且安装完成之后要求重启。重启之后打开Outlook 2007,发现外观上有了一些细微的改变,简单的整理了一下2006年的邮件,删除和移动了一些不重要的邮件,关闭Outlook 2007。没想到再打开这个程序时,就报错,说我的Outlook.pst不是一个personal folders file,Outlook无法打开。这下可坏了,我的重要邮件和联系人都在这个文件里,虽然有备份,可是是一个月前的。在网上搜索一番之后,知道微软提供一个叫做scanpst.exe的程序,用于修复损坏的pst文件。新版的Outlook安装时所带的scanpst.exe文件的位置与以前版本不同,它位于D:\Program Files\Office12\Office12目录下。用这个程序修复之后,Outlook能正常启动打开那个pst文件了,只是不知道有没有丢失邮件。看来beta版的东西使用还是要谨慎。
2006-09-13
Outlook 2003发信失败
从昨天中午开始,我就不能使用我的Outlook里的大学账户发信了。发信总得到错误提示:
Fehler (0x8004210B) beim Ausführen der Aufgabe "rzmail.uni-trier.de -
Nachrichten werden gesendet": "Timeout beim Warten auf eine Antwort
vom Postausgangsserver (SMTP). Wenn Sie diese Meldung weiterhin
erhalten, wenden Sie sich an Ihren Serveradministrator oder Internetdienstanbieter."
琢磨半天,联系学校的postmaster和网管都没解决问题。后来重新启动outlook,问题到解决了!!
2006-08-24
复制管理员账户桌面上的快捷方式
2006-08-23
在Ubuntu下安装常用程序
apt-get install apache2
安装MySQL:
apt-get install mysql-server, mysql-admin
安装php5:
apt-get install php5
apt-get install libapache2-mod-php5
apt-get install php5-gd,php5-mysql, php5-mysqli, php5-xsl, php5-xmlrpc
apt-get install imagemagick
这样LAMP就架设好了!
Ubuntu默认安装不带ssh server
收到Ubuntu寄来的光盘很久了,只是放在光驱里看了看Live CD。今天腾出些空在gepc188上安装了Ubuntu 6.06。安装过程很简单。用光盘启动后会自动运行光盘上的Live系统,桌面上会有一个install的链接,便于用户安装。整个过程除了开始选择语言,键盘布局和分区外,其他都不用用户参与。安装完配置好网络后发现竟然没有ssh server,这可是其他版本默认的配置。不过要安装open ssh server也非常的简单,只需执行:
sudo apt-get install ssh
如果网络连接好,安装很快。安装完毕后ssh服务自动启动。以前一直用suse,接下来的几天用这台机器熟悉一下debian的风格,尤其是早闻大名的apt。
免费的词典软件StarDict
StarDic是一个用C++实现的开源词典软件,能够运行在GNU/Linux, FreeBSD, Solaris, Win32多个平台上,当前的版本为2.4.8。要在Windows上使用需先安装GTK+ Runtime Environment。软件本身没有包含字典文件,只有1.2M,因此安装完毕后可以根据自己的需要下载字典文件,解压缩后放至软件安装目录下的dic目录下即可。记得以前ETI的Markus曾经要找个汉英或汉德的字典。当时不知道这个软件,我把金山词霸推荐给他,不过效果实在是不好。当时金山词霸程序的菜单在Markus的windows 2000德文操作系统上不能正常显示,让我很是尴尬。
2006-08-22
MS Access与MySQL
Kompetenzentrum的秘书Frau Hallmann用Access做了一个包含KZ全体员工的信息,包括常见的联系方式,办公室,合同类型,合同时间等等。现在她想把那些可以公开的信息发布到Zope Webserver上,于是我把Access的数据导入到了MySQL数据库中。因为她还用Access做了一些输入框,便于输入数据。如果每次在她更新了Access数据后,都手动来把更新提交到MySQL数据库里,这样显然不方便。一个简单的解决办法是安装MySQL Connector/ODBC 3.51,然后使用Access作为输入前端,用MySQL作为存储引擎。
2006-08-21
Compiling tcl for Windows
* Tcl 8.4.12 source distribution (or the latest patch release)
* Visual C++ 5.x or greater.
In the win subdirectory of the source release, you will find makefile.vc. This is the makefile for the Visual C++ compiler. You should update the paths at the top of the file to reflect your system configuration. Now you can use make (or nmake for VC++) to build the tcl libraries and the tclsh executable.
2006-08-20
2006-08-18
免费的Web IDE: Apatana
2006-08-11
Unix下的另一个下载工具 curl
The programs have plenty of other differences. The full list of curl's features can be seen at "FeaturesWhat Can curl Do" (http://curl.haxx.se/docs/features.html), while some of wget's are listed at "Overview" (www.gnu.org/software/wget/manual/html_node/Overview.html#Overview). The cURL site has a chart comparing curl to other, similar programs at "Compare cURL Features with Other FTP+HTTP Tools" (http://curl.haxx.se/docs/comparison-table.html); while informative, the chart is (unsurprisingly) a bit biased toward curl.
Here's an example that uses curl's capability to support sequences in specifying what to download. The excellent National Public Radio show This American Life makes archives of all of its shows available for download on its parent website in Real Audio format (why they chose Real and not a more open format is a mystery). If you want to download 10 of these Real Audio files, just use the following:
$ curl -O http://www.wbez.org/ta/[1-10].rmNotice how you used [1-10].rm to specify that you wanted to download 1.rm, 2.rm, 3.rm, and so on. If WBEZ had instead named the files one.rm, two.rm, and three.rm, for example, you could have used a part set instead:
[1/10]: http://www.wbez.org/ta/1.rm --> 1.rm
--_curl_--http://www.wbez.org/ta/1.rm
$ curl -O http://www.wbez.org/ta/{one,two,three}.rmThe -O (or --remote-name) option is absolutely required. If you don't use it, curl writes the output of the download to STDOUT, which means that your terminal will quickly fill with unusable goobledygook. The -O asks curl to write out what it downloads to a file, and to use the name of the file being downloaded as the local filename as well.
ping命令的一种不常见结果
TTL Expired in Transit
德语表达:Die Gültigkeitsdauer wurde bei der Übertragung überschritten.
此错误消息表示所需跃点的数目超过了“生存时间”(TTL)。通过使用 ping-i 参数增加 TTL。可能存在路由循环。使用 tracert 命令检查是否是配置有问题的路由器导致了路由循环。
更多信息参看微软知识库的文章:
与ssh有关的一个小命令:ssh-copy-id
NAME
ssh-copy-id - install your identity.pub in a remote machine's authorized_keys
SYNOPSIS
ssh-copy-id [-i [identity_file]] [user@]machine
例如:ssh-copy-id -i .ssh/id_dsa.pub jia@gepc188
2006-08-09
Windows xp下使用windows explorer发布图片到网页
2006-08-06
认识grep的几个不常用选项
-A NUM, --after-context=NUM
打印匹配行后的NUM行
-B NUM, --before-context=NUM
打印匹配行前的NUM行
-C NUM, --context=NUM
打印匹配行前NUM行和后NUM行
-w, --word-regexp
精确匹配