放在U盘上,可以在Windows下运行的Ubuntu

原文是How to put Ubuntu Linux on a flash drive and run it under Windows。说了几个步骤,但是是按其步骤操作,恐怕不容易成功。

首先那个著名的HP-USB format tool并不是必须的,SP27213.exe早就在HP网站上下架了。网上倒是可以找到。只需要把U盘格式化成FAT就行了。

不需要2G的U盘,700M的Ubuntu ISO,200M的硬盘分区,加上qemu, kqemu啥的够尝尝鲜了。

qemu是个免费虚拟机,可以portable运行,不需要安装,所以被应用在这里。kqemu是优化这个虚拟机性能的软件。

原文里说的ubuntu.bat实际是不存在的。照葫芦画瓢,可以这样写:

qemu-img create -f qcow hdd.img 100M
qemu.exe -L . -m 512 -hda hdd.img -cdrom ubuntu.iso -boot d

第一行创建一个100M的虚拟硬盘。第二行启动虚拟机,使用第一行创建出的虚拟硬盘做硬盘,使用ubuntu的iso文件模拟光驱。从光驱启动。于是就可以运行live CD了。

在Windows下启动kqemu,也不是自动的,按照文档上说的,要

Right click on `kqemu.inf' in Explorer and choose Install.
In order to start kqemu, you must do:
net start kqemu

qemu并不怎么好用。在u盘上跑起来速度很慢,恐怕难以忍受。

vmware也有免费的player。

原文出处是一家卖这个系统的公司,PenLinux.com sells usb flash drives with Ubuntu Linux pre-installed.

这套方案可以用来运行更轻便的Linux发行版。在一小块U盘上,不但保存着自己的工作数据,还有操作系统,在随处可见的Windows平台上可以开始与众不同的工作,的确是很有意思的事情。

贝尔斯坦服务器维护

今天是周六,明天是周日,这两天都要上班,因为国庆串休了。但是今天Beilstein突然不能用了,国内的分销商电话中解释说,德国的服务器在维护,在进行数据迁移。

后来分销商的另一个工程师打来电话,嬉皮笑脸地给我解释原因。我问他“你是很高系啊?还是很自豪啊?”,丫的立即收声了。然后开始叨叨叨讲述,德国人做维护计划的时候,就没征求他们的意见。他们说明中国这两天要工作,不能停,德国人死活不理解,周六周日哪有上班的。听得我也酸溜溜的。这点儿可怜的假期啊…

Setup Web.py and flup on Windows+Apache(WAMP)

  • Web.py is installed by “Easy Install” as Python eggs.
  • To install “Easy Install”(setuptools), download ez_setup.py, run it, setuptools egg for right Python version is installed automatically.
  • Run “ez_setup.py web.py”, web.py is installed automatically.
  • web.py implements WSGI. Need to install flup to provide WSGI interfaces for web.py and web server as CGI, FastCGI or SCGI.
  • Config Apache to allow CGI on web directory. Most common problem is permission setting, but its fare easy on Windows.
  • Problem exists with flup to run under such environment. Blow logs could be found in Apache err log

[Thu Sep 27 09:21:34 2007] [error] [client 127.0.0.1] File “D:\Python25\lib\site-packages\flup-1.0-py2.5.egg\flup\server\fcgi_base.py”, line 976, in _setupSocketr
[Thu Sep 27 09:21:34 2007] [error] [client 127.0.0.1] AttributeError: ‘module’ object has no attribute ‘fromfd’r
[Thu Sep 27 09:21:34 2007] [error] [client 127.0.0.1] Unhandled exception in thread started by r
[Thu Sep 27 09:21:34 2007] [error] [client 127.0.0.1] Error in sys.excepthook:r

Solved referencing to http://groups.google.com/group/webpy/browse_thread/thread/67a8cfa5fdb1882b/722acab404514de4
Modification to flup code and repack is needed.

Down load flup code (but by ez_setup).
Modify fcgi_base.py as:

    def _setupSocket(self):
        if self._bindAddress is None: # Run as a normal FastCGI?
            isFCGI = True

            #@ commented by charlie, ref: http://groups.google.com/group/webpy/browse_thread/thread/67a8cfa5fdb1882b/722acab404514de4
##             sock = socket.fromfd(FCGI_LISTENSOCK_FILENO, socket.AF_INET,
##                                  socket.SOCK_STREAM)
##             try:
##                 sock.getpeername()
##             except socket.error, e:
##                 if e[0] == errno.ENOTSOCK:
##                     # Not a socket, assume CGI context.
##                     isFCGI = False
##                 elif e[0] != errno.ENOTCONN:
##                     raise
            isFCGI = False

            # FastCGI/CGI discrimination is broken on Mac OS X.

Rebuild eggs for flup following the easy instructions, run “setup.py bdist_egg“.
Copy the new egg to site-packages directory.

My things done.

InChiKey

IUPAC(International Union of Pure and Applied Chemistry)对InChi(The IUPAC International Chemical Identifier)发布了新(beta)版本,加入了InChiKey。简要的讲,是对InChi加入了一个25位字符组成的摘要。

InChi本身就是一个Identifier,为什么还要给它加上一个Key呢?InChi作为化学品标识,与CAS、MDL Number等等相比,优点在于其承载的信息与结构式等价。但是它太长太复杂了,还包含着字母和数字之外的特殊符号,于是在两个重要的应用领域中很难使用。一是作为各类化学信息系统中的化合物ID,可以想象一个长度无法控制的标记放在Excel表格里,是多么不方便;另外一个应用就是作为互联网上可供搜索的关键字。

那InChiKey就与CAS, MDL Number是同样的意义了吗?肯定不是的。其一,它是免费并开放的(under the terms of the GNU Lesser General Public License)。其二,是因为有InChi存在。知道了一个InChiKey,就肯定可以很容易的找到对应的InChi,也就唯一的确定了结构式,确定了这个化学品实际是什么。而CAS, MDL Number如果没有相应的商业数据库甚至软件支持,就什么也不是。InChiKey虽然也需要数据库去查询InChi,但其实这个数据库中只需要存在这个简单的对应表就足够了。

没有仔细研究InChiKey的生成方法。应该是很简单,原理不外乎用摘要算法(类似MD5)做一下数据压缩而已。ChemWeb的mailing中也提到”There is a finite, but very small probability of finding two structures with the same InChIKey.” 。用摘要算法做数据压缩虽然是很常见的方法,在这个方面却有很多可能的应用。比如数据库中某个字段如果存储InChi,开销会比较大,搜索操作效率也不会高。如果将其都MD5之后存储成固定宽度摘要字段,当用户输入InChi进行搜索的时候,将其输入也进行MD5,再进行搜索效率就会大大提高了。压缩算法总是会有信息损失的,比如字符串片段的搜索就没法进行了。

Random posts

  • 下载Google App Engine站点的代码
  • 结婚照
  • 喜洋洋与灰太狼
  • 三国演义。滚滚长江东逝水。粤语版
  • SQLMOL, 化合物结构存储检索关系数据库平台