General, Life @ 11 December 2007, “No Comments”

ss.png

Tags:
Linux @ 18 November 2007, “No Comments”

偶在 译言 网站上看到一篇“Linux中5个优秀的博客工具”的文章。之前写 blog 一直都是登录到 wordpress 的后台发布,自己虽然算不上一名职业 blogger,不过绝对算得上一个职业懒虫,这种可以偷懒的工具,绝对不能错过。 😀

文章上介绍了五个工具,除去一个 KDE 下的和一个 FF 的插件(还是要打开浏览器嘛),其它三个在 ubuntu 下都是可以用的。于是,马上全部试用了一下,没办法,要怪就怪 ubuntu 下安装软件太方便了~

QTM
http://qtm.blogistan.co.uk/

基于 qt4 开发的,界面上就打了个折扣,如果你也看的不爽,可以再下载一个 qtconfig 来调整。功能是三个工具中最全的,不过作者好像只顾着增加功能,实际用起来并不是很容易上手。

优点:功能最齐全、草稿、trackback、tag都能支持
缺点:易用性不够,不能编译之前的条目

GNOME Blog
http://www.gnome.org/~seth/gnome-blog/

这个其实就是一个对话框,打开后就是一个发布界面,写上标题和内容,点发布就是了,没有其它功能。我想应该比较适用于那些爱唠叨的 blogger 们。呵呵。

优点:功能单一
缺点:功能单一

Drivel Journal Editor
http://www.dropline.net/drivel/

第一感觉很好,界面做的不错。没有 tag 和 trackback 的功能,让其可用性打了点折扣。不过有一些比较贴心的功能,比如编辑之前的条目,HTML 高亮(我尤其喜欢这个)等。

优点:界面友好,细节功能贴心
缺点:发布和更新时稍有延迟

实际用一了遍后,还没有让我完全满意的,不过,权衡了 QTM 和 DJE,最后我还是留下了 DJE。看起来一个好的用户界面甚至比功能还要重要,在竞争中的确是能占到不少便宜啊。希望 DJE 的后续版本中可以加入 trackback 和 tag 的支持,就差不多完美了。

另外,说到用户界面,顺便联想到刚开始内测的 海内,UI 真是没得说,起码我看起来比 facebook 还顺眼,功能上也都比较单一,不过针对性比较强,相对再来看看功能上日益臃肿的 若邻,我更看好海内,这个扯远了……

Tags: ,
Linux @ 10 November 2007, “3 Comments”

Ubuntu Gutsy 下默认是开启了 Compiz 桌面效果的,在我的 T60 上安装 Google Earth 的过程中碰到点麻烦,记录如下:

1.从 http://earth.google.com/download-earth.html 下载到一个后缀为 bin 的安装包,chmod +x 后执行;

2.安装过程很顺利,装完后会在程序组和桌面上建立快捷方式;

3.第一次运行的时候,发现停留在启动画面,没了反应;

4.切换到终端下,运行 googleearth,发现出现以下错误信息:"Xlib: extension "XFree86-DRI" missing on display ":1.0". ";

5. 猜想可能是显卡驱动的问题,google了一下,发现有人提到先运行 DISPLAY=:0 再运行 googleearth 的方式,试了一下,是可以通过启动画面了,不过启动好的窗口,没有标题栏,也不能最大化最小化,除非把窗口退出,也没办法操作其它窗口;

6.在 ubuntu 中文论坛上寻找了好久,也没找到解决办法。最终在国外一个邮件列表中看到有人提到这种情况,罪魁祸首原来还是 T60 的 ati 显卡,新版的 ati 驱动有一点小问题,导致刚才的情况发生;

7.解决办法:把 libGL.tar.gz 中的两个文件 cp 到你的 google earth 安装目录下(我的在 /opt/google-earth),重新启动你的 X 即可。

附效果截图和 libGL.tar.gz 包本地下载。

Internet @ 04 November 2007, “1 Comment”

再次来到离开六年的北京,感觉已经和印象中的北京不太一样了。 欢乐的时光总是短暂的,转眼间两天的网志年会已经结束了。时间虽短,收获还是挺多的,平常只有在网上才能见到的头像,都变成了活生生的人,很是好玩。

下面是年会期间记录的一些点滴~

年会中最感兴趣的话题:

  • 微 Blogging 和潜力 by 潘力 (3日上午)
  • 社会协作力量如何改变翻译格局 by ZhangLei (3日下午)
  • 口碑营销和商业底线 by Kaiser Kuo (4日上午)

最大的收获

更多的朋友和经验

最可口的食物

街边的煎饼果子,这种东西在南方是吃不到的,六年前记得还是1块5,现在是2块5了,不过味道还是没变,真想打一包回来。

最开心的事

带去的乐铺的礼品受到了现场朋友们的热烈欢迎,瞬间被瓜分一空,哈哈~ 感谢 C To C 的接待,感谢袁子一宁夏炎张涛在年会期间对我的帮助,感谢所有叫不上名字的朋友们的热情,谢谢你们,希望有机会可以与你们再次见面。

偶没拍多少照片,想看现场的照片可以点击这里看 YoPoo 上其它朋友的分享

Linux, Programming @ 25 October 2007, “No Comments”

公司的版本库由 CVS 转到了 SVN,转的过程就不说了,Google 上一搜一把。 为了实时看到 SVN 版本库的状态,在网上找了一个很好用的工具叫 StatSVN,会把当前 SVN 库的状态用数据和图表的方式展现出来,可以按开发者、目录、commit log 分别展示,很是强大。 在计划写个脚本每天凌晨自动生成前一年的报表的时候,碰到一些麻烦。刚开始的脚本是这样的:

#!/bin/bash
(/usr/bin/svn update /root/SVN)
(/usr/bin/svn log /root/SVN --xml -v > /root/SVN/svn.log)
(/usr/local/jdk/jre/bin/java -jar /root/statsvn-0.3.1/statsvn.jar /root/SVN/svn.log /root/SVN/ -out
put-dir /usr/local/apache2/htdocs/SVN/svnstat/ -title CNFOL -threads 50 -mantis http://xxx.com/bugs
/ -no-developer admin -include **/*.php:**/*.java:**/*.html:**/*.htm:**/*.js:**/*.css:**/*
.shtml:**/*.xml:**/*.sql:**/*.jsp:**/*.do:**/*.cfg)
(/bin/rm -f /root/SVN/svn.log)

第二天发现脚本没有自动运行,再尝试着把所有和 PATH 有关的环境变量都加进去,还是不行。后来在 winger 的协助下,通过记录日志的方式,把脚本的错误输出都记录了下来,发现出错的脚本在 /usr/local/jdk/jre/bin/java -jar /root/statsvn-0.3.1/statsvn.jar 这行,错误信息如下:

Parsing SVN log '/root/SVN/svn.log' exclude pattern ''
Logfile parsing failed.
svn log: svn info: XML document structures must start and end within the same entity.

奇怪的是,在控制台下手工运行都没问题,放到脚本里面就报错。看起来还是环境变量有问题,最终还是 winger 帮忙发现了问题,只要在脚本的头部加入

export LANG=en_US.UTF-8

就一切正常了。

Internet @ 20 October 2007, “No Comments”

2007年中文网志年会

年会主页
年会 Blog

福州的朋友有同去的,欢迎和我联系。

PHP, Programming @ 10 October 2007, “3 Comments”

插件说明
PressLine 用来根据你的 blog 内容生成一个时间线的图表出来,可以通过鼠标拖动查看,效果就像 GoogleMap 那样。点击这里 看本站的演示。

安装步骤

  1. 解压插件安装包,把整个 `pressline` 目录上传到你的 `/wp-content/plugins/` 目录下;
  2. 更改刚才上传的 `pressline` 目录权限为 777(Windows服务器用户可以跳过这步);
  3. 进入你的 Blog 后台,在 Plugins 菜单下激活 `PressLine` 插件;
  4. 上传插件包中的 `pressline.tpl.php` 文件到你目前在用的模板目录下;
  5. 建立一个新页面,命名为 `PressLine`,页面模板选择 `PressLine`,内容保持为空,发布该页面;
  6. 完成,在前台点击你新建立的 PressLine 页面即可看到效果。

Download:

Description:
A simple plugin used to display your blog entries on a ajax timeline. Just like the googlemaps.

Feature List:

  • This plugins base on the time line library called <TimeLine> at http://simile.mit.edu/timeline/
  • Support for WordPress 1.5, 2.0, 2.1, 2.2 and 2.3
  • Caches the output

read more »

Life @ 09 October 2007, “No Comments”

果然,我属于那 80% 看不懂的人群。

后来又看了一些大家的观后评,也感觉就那回事,简简单单的故事,为什么讲这么一大陀呢~ 所以,我只能给三颗星。

另外,在 Douban 上看到有人说这样的话,很有意思:

“看不懂”分三种:

  1. 第一种是真的没怎么看过电影,看多了电视剧的。
  2. 第二种就是想太多的。
  3. 第三种是明明看懂了,装看不懂,纯粹以“很多人都看不懂”为理由找茬的。

你属于哪一种?

先是看了 桑林志 上的介绍,第一眼就被这个效果吸引了,再看到 mulberry 希望有人做成 wordpress 插件的形式,于是偶的第一个 woredpress 插件就这样诞生了~ hoho~

效果可以 点这里 看到,在发布文章和更新文章的时候,数据文件会被自动更新,是在 mulberry 的代码基础上进行修改的。没啥技术含量。

经过 mulberry 的同意,可以让我继续用 PressLine 这个名称,喜欢的朋友可以 点击这里 进入下载页面。

稍候我会为这个插件专门做了一个页面(页面见此)。 使用过程中有什么意见请在这里留言,我会及时更新的。:)

== Feature List ==
* This plugins base on the time line library called <TimeLine> at http://simile.mit.edu/timeline/
* Support for WordPress 1.5, 2.0, 2.1, 2.2 and 2.3
* Caches the output

Internet, Linux @ 27 September 2007, “2 Comments”

最近在用 memcache,不可否认,memcache 在实际应用中的表现非常出色。不过也许正是因为其对速度和性能的要求过于严格,导致 memcache 的可操作性不是那么强。PHP 在使用的时候,也只能有限的使用 add、delete、replace、flush 等几个简单的方法。

memcache 官方是不建议我们手动去删除缓冲内容的, 因为官方的 api 中有关删除的方法只有 delete 和flush,前者是在知道 key 的情况下删除一个对象的值,后面是清除服务器上所有对象。

不过很多情况下,我们需要从服务器上删除一部分对象,又不希望把整个服务器上的对象都清空,官方的 FAQ 上提供了一个“伪命名空间(Simulating Namespaces)” 的作法。

示例代码如下:

//生成一个用来保存 namespace 的 key
$ns_key = $memcache->get("foo_namespace_key");
//如果 key 不存在,则创建
if($ns_key===false) $memcache->set("foo_namespace_key", rand(1, 10000));
//根据 namespace_key 生成真正的 key
$my_key = "foo_".$ns_key."_12345";
//需要删除整个 namespace 里的对象的时候,这样处理即可:
$memcache->increment("foo_namespace_key");