↓ Archives ↓

Archive → 2006

符合 RFC 822 的 Email 地址 PHP 验证函数

RFC 822: STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES 定义了 Email 地址的详细格式。

于是就有了遵循这个标准的 Email 地址验证代码(php) :

function is_valid_email_address($email){
        $qtext = '[^\x0d\x22\x5c\x80-\xff]';
        $dtext = '[^\x0d\x5b-\x5d\x80-\xff]';
        $atom = '[^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c'.
            '\x3e\x40\x5b-\x5d\x7f-\xff]+';
        $quoted_pair = '\x5c[\x00-\x7f]';
        $domain_literal = "\x5b($dtext|$quoted_pair)*\x5d";
        $quoted_string = "\x22($qtext|$quoted_pair)*\x22";
        $domain_ref = $atom;
        $sub_domain = "($domain_ref|$domain_literal)";
        $word = "($atom|$quoted_string)";
        $domain = "$sub_domain(\x2e$sub_domain)*";
        $local_part = "$word(\x2e$word)*";
        $addr_spec = "$local_part\x40$domain";
        return preg_match("!^$addr_spec$!", $email) ? 1 : 0;
    }

PHP : Parsing Email Adresses in PHP 上面也提到了 ruby 和 python 的版本

Mephisto 和 Radiant CMS

前一阵花了好多时间把 blog 迁移到了 Mephisto 这个了 blog 发布系统上,因为我喜欢折腾,而这个貌似不错。后来我发现我的选择真的没错。

最近一直有人问我这个 blog 用的系统,所以说明一下吧。

Mephisto 是基于 ROR 的,它主页上写的是 the best blogging system ever. 作者 Rick Olson 也很有来历,是 Rails core team 的成员。

istefMephisto 不好装 ,不过我觉得挺容易的,跟其它的 ROR 程序的配置一样,用 gems 装好 tzinfo,配 database.yml,.htaccess 然后初始化数据库就好了。官网上也有详尽的教程

那有哪些特别的地方呢:

  1. 首先很简洁,大方,我喜欢这种风格。
  2. 分类叫做 section (这点像 TXP ),可以自由对每个 section 的界面进行不同的配置,所以很适合用作小型的 CMS
  3. 支持 tagging
  4. 文章编辑可以使用 textile, markdown, plain html, 文章还有 reveiosn 可以进行版本控制。
  5. 智能的 cache 系统,生成静态文件, 不过不像 mt 那么傻,必须一次把所有的页面生成,它是在对页面的第一次访问时自动生成静态页。另外修改模板,设置之后,它会清除相应的 cache,所以平时根本不用你去管它的 cache。
  6. 模板基于 liquid,很优雅,不过我觉得还不够强大。
  7. 内置的基于 Akismet 的 spam 过滤机制,这个当然很有效。
  8. 非常方便的附件 (assets) 管理,看这个
  9. plugins,liquid tags 之类的扩展也很容易,不过也要有点 ruby/ror 的知识就是了。
  10. 本身不支持 trackback,很多人说不喜欢 trackback,所以也算一个特点吧。
  11. 另外还有一个强大的功能就是支持多个不同站点,不过还不是很完善,在有的平台,如 lightty 上就不太好配,当然在 Apache 和 nginx 上没有问题,这个功能很爽的。详见:Hosting Multiple Sites 还可以看看它的官网:Mephistoblog配置文件

nginx + mongrel 差不多是目前测过的最快的 ROR 环境了,在很破的虚拟机上跑都比 dreamhost 的破 apache + fastcgi 快很多,而且非常稳定,不过似乎还是有点吃 cpu 。

哦,我发现我不会写 blog 了…… 这几个字就敲了这么久,而且似乎没有逻辑…… 不写了,喜欢折腾的自己去试吧。

  1. Mephisto Wiki
  2. Mailing List
  3. IRC: #mephisto on irc.freenode.net

另外 Radiant CMS 也很好用,可以看它的这个应用

Dreamhost 的客服真不错

刚给他们发了封信问能不能做泛域解析,十五分钟之后就回信说给我弄好了。

表扬,表扬!!

看来有问题的时候就应该多骚扰他们啊。

下雪吧

好冷了,家里都来暖气了,快点下雪吧,哈哈

我的桌面

Hedgehog 博士点名游戏,交作业如下:

  1. 目前的桌面是:下图
  2. 这台是你的个人计算机?还是公司或家人共享的计算机? dell,公司的财产
  3. 使用什么操作系统?Windows server 2003
  4. 这张桌布是什么?从哪取得的? M$ 的 Energy Blue 桌面主题自带的
  5. 更换桌布的频率高吗? 似乎还没换过
  6. 桌面上有几个ICON? 你自己数一下
  7. 一堆档案和快捷方式放得乱七八糟的桌面,你看得下去吗? 我就是典型,因为这样很方便
  8. 有没有什么坚持点? 啥?
  9. 有为了填这份接力,还特地整理一下桌面吗? 整理完还会是这个样子?

新居照片

Flickr 200 张的限制实在太让人不爽,我很早之前就超了,一直没地方放照片,其它的一些网站都不太理想。

最近拍了几张新家的照片,传到 Zooomr 上试试。Zooomr 支持使用 openid 登陆,Flickr 上常用的功能它都本上都有,用 jUploadr 也可以实现文件的批量上传,因为它的 api 和 Flickr 的基本相同。UI 虽然看不太习惯,不过也还算友好,一些小的细节上的功能也挺不错的。

非 pro 帐号只有每月上传流量的限量,而且在 blog 上引用一张 zooomr上的照片,就可以去激活 pro 帐号了。

更多照片

rm -rf

昨天不小心 在网站目录下打了 rm -rf

结果所有文件都消失了,还好数据库还在

终于恢复过来了

这个界面看上去不错,先用着,等有空再换回原来的

Mephisto 不错 用 Textile 来编辑文章也挺有意思的 :)

Update:

到 Dreamhost 的 wiki 上看了一下,原来 Dreamhost 对于每个用户的文件有自动备份 ,每个用户目录下有一个隐藏的 .snapshot 目录,里面放着用户数据的备份(详见:Automated domain snapshots)。

不过数据库还是得自己备份。

学校都开学一周啦

上星期学校开学了,虽然已经不是我的学校

好朋友差不多都见过了,他们都开始了光明的博士或硕士生活

虽然自己和这些人走了不一样的路,不过还是不希望被抛得太远

感觉最近过得好差,得看清方向,努力向上

最后庆祝我的 blog 终于又更新一篇啦 想看下一篇吗?

DotClear 2 beta 1

Aoraki beta 1

变化太多。真正的多用户,支持 tag,模板系统也完全变了……其它的还有太多。所以叫 DotClear 2 而不是叫 DotClear 2.0。

有空看看。

DotClear 发布 1.2.5 版

今天 DotClear 发布了 1.2.5 版,没啥大的 改动,我现在用的是其 SVN 上代号为 rockey 的版本,发现回退不回去了,而且 WIKI 格式代码转换有点问题,先这么着吧,等有空再改改。

附个被点名的东西。建议略过不看……

Continue reading →