May 162013
 

以前我在本机上进行PHP开发和测试用的WAMP组合来自Apache Friends的XAMPP,但是我一直在配置多个VHOST的时候碰到问题,网上搜索也没有什么帮助,所以一直想找个替代品。

2个月前我开始使用来自EasyPHP的EasyPHP Dev Server(当前版本是13.1,VC9,马上会放出需要VC11支持的版本)。

它的优点很多:

  • 具有一个简明的WEB管理界面。
  • 增加VHOST非常简易,可以通过其外挂的插件在WEB界面中进行添加。需要注意的是:增加第一个VHOST的时候,其inc_virtual_hosts.conf会出错(主要是换行的问题),并造成EasyPHP无法启动。只要人肉修改inc_virtual_hosts.conf文件即可。
  • 内置支持XDEBUG,不用再另行配置。

屏幕截图(35)

但是它也有一个致命缺点:如果EasyPHP异常退出,即没有先Exit的情况进行关机或重启,那么再次重启EasyPHP时,会出现类似:

unexpected end of mysql see the log file

然后EasyPHP无法启动。

EasyPHP也许是太新,它的论坛里只有寥寥几个帖子,但是也谈到了这个问题。回帖中给出的方案根本没有用。当然,重装整个EasyPHP肯定可以解决问题,但是要从头配置也很麻烦。

经过我的琢磨,解决方案如下:

  1. 在EasyPHP正常运行的状态下,备份所有的MySQL数据文件。它应该位于EasyPHP安装目录下的binaries\mysql\data中。
  2. 如果出现上述的问题,那么恢复步骤为:
    1. 退出EasyPHP
    2. 删除上述目录中下的所有ibd文件
    3. 启动EasyPHP,确保启动正常,可以访问本机的站点(当然由于此时数据库已经破损,因此数据显示等肯定不正常)。这一步很重要。
    4. 再次终止并退出EasyPHP
    5. 将备份的idb文件拷贝回原处
    6. 再次重新启动EasyPHP

此时应该已经大功告成了。

这个问题,我分析应该不是EasyPHP的问题,而是MySQL或者至少是MySQL和EasyPHP集成的问题。

本文收录于[go4pro.org]

May 142013
 

这里说的电子书格式仅限于epub和md格式。严格的说,md格式不是电子书的一种,只是在我的制作过程中会用到md格式来作为媒介最终制作epub电子书,同时md格式的文本也可以发布到我用的Wiki平台。

使用到的软件

一般步骤

如果你是自己写作,那么电子书的内容来源就是你的原创。我的建议是用Markdown Pad2进行创作,MP2可以拷贝输出md格式——于是就可以无缝粘贴到DokuWiki。当然,要显示md格式的wiki文档,需要为DokuWiki安装一个插件,而且页面名称应该以md结尾。MP2也可以拷贝输出html格式,于是可以进一步到Sigil中进行编辑。

如果你是转换格式,那么来源就是你下载的文档。

下载的文档有多种格式,Sigil可以打开所有的未加密的epub文档,如果是html文档,我的建议是拷贝所有的html格式的内容到Sigil中去,由Sigil来完成epub的建立,如果是txt文档,我的建议是通过MP2编辑,然后再对应的输出md格式或者html格式。

在Sigil中,epub是通过各个章节来排列顺序的,同时,它会将<h?>之类的html标记翻译到TOC中对应的标题层级。因此,需要特别注意<h?>的标记是否正确嵌套,否则生成的TOC一定是错乱的——虽然它能带你到正确的地方。

epub中图片的处理,在Sigil中也可以轻松做到。我一般是将图片加入到epub中,然后在需要用到图片的地方用类似<img src=”../Images/123.jpg”/>的方式加以链接。

Sigil对HTML的验证目前还是停留在XHTML 1.0上,所以<img>这样的html标记必须加上/结束。Sigil支持html源代码视图的编辑,并且在保存和切换到书籍视图的时候会进行html校验,保证代码的严格性。

屏幕截图(34)

另外,最好创建一个titlepage.html,就放一张书籍的封面。

通过Sigil创建的epub书籍,一般已经可以传到iPad、Android设备上用相应的软件进行阅读。但是为了更好的保证兼容性,我建议用Calibre最后进行一下微调。这个步骤很紧要,如果不进行这个步骤,有可能epub出现乱码——在这点上,iBooks的兼容性要好一些,但是Android设备的就比较差一些。

本文收录于[go4pro.org]

May 042013
 

一、签名和加密的邮件。

pMq在G+里分享了一个帖子(原帖在这里),介绍了用GPG加密邮件和文件的简要过程。简单看了一下,决定也在我的电脑上折腾一下。

我的台式机使用的是Win8系统,邮件系统用的是Thunderbird,于是就选择安装它的插件Enigmail。当然之前在电脑上最好装上Cygwin,因为我们要用到其中的gpp命令等。

获得钥匙对的过程我实在我的服务器上进行的,我将我的公钥已经传递到keys.gnupg.net,如果你搜索”Taylor Ren”或者我的邮箱地址”taylor.ren@gmail.com”,就可以找到我的公钥了。当然,也可以直接用我的公钥ID:F5332FBF来直接定位。

当然,为了保险起见,还要核对一下指纹。我的公钥的指纹值是:97B5 4F6B 57AD AAC9 01FD  B0DF 02C0 AB85 F533 2FBF。

我已经将我的公钥和私钥导出到文本文件,并拷贝到台式机中备用。

接着是在Thunderbird中下载、安装、配置Enigmail。这个过程也很简单,只要在合适的时候将公钥和私钥文本提供一下即可。

image

发送邮件前可以选择“签名”和“加密”。签名的话邮件还是明文发送,但是会附加一段数字签名;如果是加密,需要收件方提供他的公钥。

另外,如果是中文邮件,必须选择UTF8编码,否则无论是签名还是加密,中文都会变成???。

二、将用户Profile保存在别的“空一些”的位置

今天用Folder Size分析了一下为什么我的C盘100G的空间只有7G空了?

结果发现是我设置的Thunderbird要下载了我Gmail中所有的邮件,因此造成Profile这个文件夹巨大无比(20G左右)。于是我就将我的Profile转移到另外一个盘去。

要做到这点,需要使用命令行启动Thunderbird:

thunderbird.exe –P

这个命令会弹出一个Thunderbird Profile管理器:

image

我创建了一个新的Profile,然后设置了一下,同时删除老的Profile(因为比较大,所以删了大概十几分钟)。以后直接进入Thunderbird就可以了。

May 022013
 

也许你听说过,也许你没有听说过blog图党……这个以“多画画、少说说”为特色的站点,在大陆是被“保护”起来的,因为里面有太多的少儿不宜的内容,政府对此还是抱着非常认真、非常严肃的态度的——这当然是极好的……

只有一点不好:太认真、太严肃的东西就不好玩。

屏幕截图(31)

所以,尽管有着政府的谆谆教导,我还是喜欢“好玩”的东西,如果这“好玩”的东西还能给我一点“会心一笑”的机会,那就再好不过了。

=======

只是,好玩的人有时也会碰到不好玩的事。比如说,blog图党的作者李小乖竟然患上了鼻咽癌。所幸的是,医生诊断“还有救”。请接受我们BT群真挚的祝福。

不是因为别的,只是因为:这世上好玩的事情、好玩的人本来就不多,我们不喜欢少了你这么一个。

 Posted by at 19:21
Apr 242013
 

(擦……写到一半Live Writer屎了……)

家里电脑多了,就得考虑备份的问题。目前肾上家里有HP Proliant Micro Server,台式机,笔记本。特别是笔记本,是公司派发的工作机,文件丢失不得。

之前我用一些第三方的备份软件来完成笔记本到服务器的备份,但是总觉得不方便。

今天看邮件,看到Download.com在介绍BitTorrent® Sync(以下简称BTS),于是决定当回小白鼠。

首先去官网下载,提供了Windows,Mac,Linux下的多种版本。

根据介绍,BTS使用了经典的P2P协议,其缺点是你无法像使用Dropbox、Skydrive那样在某台电脑上用浏览器管理你共享——注意是“共享”——的软件,但是这其实是备份软件需要的优点:文件不需要也不应该经由第三方托管,减少了你的隐私(比如照片啊什么的……)被偷取的风险。(顺大便说一句,它的加密是基于AES的。)

在我的应用中,我主要是用来备份。测试时我用的是台式机作为“源”,服务器作为“的”。

首先是台式机的设置。下载Windows下的BTS,安装、运行。

第一步是选择要共享的目录,并生成密钥:

BTS Windows

注意,密钥有两种:一种是所谓的双向同步密钥,使用这个密钥的各机器之间是可以互相同步的。另一种是所谓只读密钥,使用这个密钥的其它非源级其只能接受来自源的更改,但是不能将它的修改再次同步到源。如果只是纯备份,建议用第二种密钥。如果要考虑上向同步,那么用第一种。

要生成只读密钥,右键点击共享的目录,选择Show folder preference | Advanced:

Windows Secret

作为源端的设置就这么简单。当然,此时还没有任何备份开始进行,因为我们还没有设置目标机器。

我的目标机器是我的HP服务器。下载相应版本的Linux下的BTS软件,解压,运行./btsync即可启动服务。在我的服务器上,不再需要其它第三方软件和库的支持。

启动后,可以在我的台式机上用http://hp:8888/gui来访问服务器端的BTS控制界面:

Linux BTS

目标端的设置也很简单:增加目录(这个目录是你服务器上要保存备份的目录),输入第一步中生成的密钥。几乎是在设置完成的瞬间,目标端的备份工作就开始了。

速度如何呢?在肾上家的无线网络环境下,可以稳定在1M左右,基本可以接受。

Speed

如果要看同步历史,也很简单:

History

请使用之!

(本文推送到go4pro.org

Apr 172013
 

终于用了好久的时间看完了这本《Mao: The Real Story》。

最近看关于中国自己的书比较多,比如去年看完的《论中国》,《中国历代政治得失》,《中国大历史》,直到今天才买了一本《Killing Kennedy》,算是回归到看“外国书”的状态。

看有关中国本身的书有一个好处,就是不论我们被教育的、被知道的中国历史是怎样,总归是比较熟知的。也因此,每当看到那些和我们被教育、被知道的历史不一样的东西,总感到震惊和悲哀。

Continue reading »