鉴于玩得很high 于是贴图几张 算做一次更新
凶恶的海狮
这张照片大家都看过了.
proud member of geowhy.org
Posted in Current Events.
今年的 GeoWHY 三周年庆祝征文是 “Place”,实在太难写了。
但是还得交作业,那就来写写我每天去的虚拟Place吧。
1. Reddit.com
这是一个类似 Digg 的网站,更偏重技术。最近也经常去 Hacker News
2. Douban.com
首先它是我的 VeryCD 下载指南。另外上面很多年轻人,所以总是能发现好玩的东西。
3. Jiwai.de/Twitter.com/Identi.ca/FriendFeed
jiwai 是因为上面有很多认识的人,可以交流。twitter 可以了解到一些平时看不到的新闻什么的。Identi.ca 上面有很多搞技术的。Friendfeed 就是可以把你的所有东西都放一起。
4. GitHub
代码托管很好用,也能找到很多有意思的项目代码, 而且它还是SNS的。
5. jabber.org的chat room
只是因为我懒得装 irc 的客户端。。。
这个就没什么好说的了
7. Geowhy
祝Geowhy长命百岁,大步迈向四周年。
Posted in Current Events.
豆瓣是我每天要上很多次的网站,我是个八卦的人,所以看得最多的是友邻广播。
我是个重度的 jabber 用户,一直希望有人开发一个机器人,这样就可以随时接收广播。但是等了很久都一直没人弄,写了一下,算做抛砖引玉吧。
我不懂 python ,但是一直对 python 的 twisted 很感兴趣,因此选用的 wokkel 来实现。花了两个晚上终于写好了一个可以接收豆瓣友邻广播,发广播的豆瓣 jabber 机器人出来了。
twisted 非常好玩,很好很强大,除了文档太少不好。wokkel 把 twisted 的 words 模块封装得非常好,用它来开发机器人很简单。
把代码扔 github 上了,大家可以来看,python 新手写的代码,很乱很烂,欢迎扔鸡蛋。
如果要支持大量用户的话,现在估计还得改成使用 xmpp component 的方式来跑,同时代码里面还有很多同步的操作,图省事的数据库使用方式,都得修改。
豆瓣的接口 很开放很强大,这个机器人还可以实现更多功能。不过根据我懒人的习性,估计兴趣过了之后就不会怎么再弄了了,所以欢迎大家去fork
机器人地址:douban@geowhy.org 直接将其加为好友即可使用
Posted in Technology.
两年的时候虽然不长,但是要回想出当时的情形,也不是一个容易的事情。估计我和darktemplar及hedgehog对当年情形的回忆,也会有很大的差别。当然,写得最差,最语句不通顺的,无疑是这篇(标题都取得那么土)
04,05年的时候,正在web2.0刚开始的时候,国外兴起了很多好玩的网站,国内也有很多跟风的。于是在某个月黑风高的夜晚,我们也聊到我们是不是也来做一个网站,之后geowhy这个名字就诞生了。当时yahoo正在域名促销,好像是1.99美元一年,于是就在上面注册了geowhy.net, 时间是两年前的12月8日。(一年后我们都忘了geowhy.net的管理密码,也没找不回)
WHY 这个词是源于一次数据库的大作业,由我和darktemplar及hedgehog一起完成,于是我们把那个作业叫做W.H.Y. (其它他俩就是挂名而已,都是我做的)
后来有一个晚上我们还讨论geowhy的中文名,我想了一个名字,撷问,当时都以为撷是读做ji, 于是都觉得很不错。后来发现原来读做xie, 而且读做ji的话,谐音就是“接吻”,所以这个中文名称也就不了了之了。现在看来,“唧哦歪” 是大家比较认同的名字,也很有意思。
最早入伙的是ddt, 他好像先在darktemplar的blog上和他认识,然后直接来到我们宿舍, 并感受到交流对于blogger的温暖, 成为最早加入geowhy的人。
之后的一年多里,rainbowrain, imean, putaotang, asiapan, donny, hghg 这一个个有趣的人相继加入之后,geowhy 俨然成了一个像模像样的圈子。因为rainbowrain出国的契机,geowhy 还成功地举办了第一次的聚会。而近期随着 dan, su27, 大元宝, cress的加入,geowhy成为了一个包括科学家,农民,教师,哲学家,艺术家,设计师,美食家,海外留学生,杀手等等个性人群的组织,更新频率越来越快,文章也越来越丰富有趣。
本懒人无大理想,希望能继续做好geowhy的服务器维护工作,争取2008年后半年能达到99.9%的uptime, 欢迎监督。 希望能在2009年实现多点分布,实现零宕机,同时提高国内用户的访问质量(嗯,这个难度还是比较大)。
本blog估计更新频率还是会很慢(看来世博会的审查员监督员们都是吃白饭的),看完本篇后,请半年后再来~~
Posted in Life and Times.
GeoWHY 2007 Beijing 昨日在北大胜利召开。hedgehog, rainbowrain, darktemplar, 葡萄唐, hghg 及我参加了本次大会。国内外未能前来参会的成员们纷纷在大会召开之前表达了他们的祝贺。
这是 GeoWHY 成立两年以来的首次大会,也是众多成员的首次面对面交流。会上大家对很多感兴趣的话题进行了热烈而深入的讨论。darktemplar 和 hghg 首次见面就擦出强烈的火花,两人就多个议题展开了唇枪舌战。同时与会者也享受东道主 rainbowrain 及葡萄唐准备的美味晚宴,大家对即将加盟 GeoWHY Euro 的 rainbowrain 博士表示了良好的祝愿。
会后大家漫步于北大校园,并照了首次合照。
XDDDDD
Posted in Current Events.
varnish 是一个高效的 HTTP accelerator, 目前的稳定版本是 1.1.1 不过有个大 bug,预计下下周就会出 1.1.2
目前正在开发的 2.0 版本有一些非常有意思的改进,最重要的就是对 load balancing 的支持。 从目前的 trunk 里面可以看到,其功能已经基本实现,目前支持 round robin 和 weighted random 两种算法对后端进行负载均衡,同时对后端服务器也有简单的健康检查机制。
负载均衡的一组后端在 vcl 中也是一个 backend, 不过有较特殊的定义语法。
backend_round_robin rr {
set backend.set = {
{ "foo1.bar.com", "http" }
{ "foo2.bar.com", "http" }
{ "foo3.bar.com", "http" }
};
}
这就定义了一个名字为 rr 的 backend, 它对应的是一组使用 round robin 算法负载均衡的后端
backend_random rrr {
set backend.set = {
{ "foo1.bar.com", "http", 0.3 }
{ "foo2.bar.com", "http", 0.6 }
{ "foo3.bar.com", "http", 0.1 }
};
}
这则是定义了一个名字为 rrr 的backend, 它对应的是一组使用 weighted random 算法负载均衡的后端,花括号中的小数是每个后端的权重,可选,默认是每个后端分配相同的权重。
具体参见: #1931
找时间测了一下,功能已经基本可以用,不过测试的过程中 varnish 经常当掉,XD
Posted in Technology.
Posted in Development.
不知不觉就又这么多的 feed:

记得刚从 bloglines 转到 google reader 的时候,清理过一次,只有不到 300 个 feed.
现在倒是看得挺快的的,不过这么多还是花不少时间的。
我希望能看尽可能多的有用信息,不过代价是花同样很多的时间在垃圾信息上,虽然只是按一下 j
Posted in Current Events.
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 的版本
Posted in Development.
Recent Comments