msgbartop
用铅笔写日记,记录那最原始的美丽
msgbarbottom

xmarks 复活了?!

今天浏览朋友网站,忽然发现地址栏左边的"Get site info"图标出现了!

话说这个图标是xmarks自带的站点信息,自从xmarks被墙后基本没见过了。

这次居然出来了(可能早就解封了,不过没发现),今天一不小心的看到了,特此通知.

说实话,xmarks(之前的foxmarks)真的是很好用,特别对我这种windows + linux 双系统的人来说,因为这样就可以让我随时同步书签,无论在何时何地都可以访问最新的一致的书签。

国内用户也有很多.不过自从xmarks站点被墙了后,所有基于xmarks的同步、更新、服务都已入土.导致大多用户流失,惨呀!~~

不过现在随着xmarks 的解封,我相信情况应该会逐渐好起来的.
现在的唯一的问题就是xmarks会不会再次被墙。这个的确是个问题,呵呵

而且随着 Firefox Sync(之前的Mozilla Weave) 的迅速崛起,据说mozilla 已经决定把Firefox Sync默认捆绑在ff里面,这个的确对xmarks的一个冲击. 囧rz

不过,使用 xmarks + 个人ftp 的我表示影响不大.

sourceforge 管理员错乱了估计

前两日在sourceforge闲逛,看看最近有什么好的软件。一不小心来到了首页,看到sf推荐软件的列表.

像著名的7-zip、phpmyadmin、jedit、junit等等这些耳熟能详的软件都位列其中.
忽然之间在“文件共享”一栏,看到了emule morph(著名的文件共享平台emule的修改版),我很是激动.

emule morph

因为要知道,其实我以前下东西都是用吸血雷的,囧rz 不过最近看了几篇关于emule的文章,感觉这种自由分享的精神很影响我.故而决定彻底抛弃吸血雷,投奔emule.

可是emule 本身是不跨平台的,虽然它是开源软件。而linux下只有一个叫 amule 的emule 移植版本,而且已经很长时间没更新了。所以我虽然有这个心,但是一直未能如愿(下载一直在用ff的downthemall).

现在好了,发现sf推荐的 emule morph 居然运行在linux下,我真的很兴奋.点开 emule morph 首页.
恩,最新的版本和emule 保持了一致,都是0.5a.

我迅速的进入下载页面,打算找到对应的版本.可是我惊呆了!!
如图:
emule morph file list

居然是.exe 后缀……看来可能是标错了.于是下载了个带有bin字样的zip包,这会应该错不了了.
体积大概5、6M吧,很快下好了。迫不及待的解压开来。

进入目录一看,清一色的 .exe、.dll ……

我依然不甘心,可能linux不提供二进制包,实在不行就下载源码自己编译吧
于是找了个带有 src+lib的字样的压缩包.这个体积有点大,超过10M了。。为了emule 忍了.

下完了,火速打开想一看究竟。解压后进入目录一看,我疯了
因为我发现了 .vcproject 的后缀的文件……打开里面的README文档,在"编译要求"一栏赫然写着
Windows Visual Studio x.0 +

我震精了!! 不可能呀?!sourceforge 首页不是写着for linux 吗?怎么回事呢?

我打开emule morph 主页,点击详细信息,无情的出现了 "MS Windows"字样.
如图:
emule morph info

我也彻底死心了。我就不明白了,明明人家只支持windows,为什么sf 首页还有当作热门来推荐给linux用户呢?
难道这么久就没有人发现?也没人反映一下……

反正不管怎样,sourceforge 管理员 肯定是神志不清了。

大家五一劳动节快乐

五一劳动节来临,在此祝愿广大劳动人民节日快乐,当然我也包括在内~~

伟大的无产阶级革命家 马克思曾经说过,一个民族如果停止劳动,不用一个月,一个星期内就会灭亡。
可见,劳动人民的伟大之处。

这几天,上海世博会开幕,很是热闹,不过真的和我一毛钱关系没有,因为没有tickets~
不过像这样热闹的气氛倒是不多见,呵呵

ubuntu 10.04 也按时发布了,用我的1M带宽挂了三个多小时总于把它down下来了...
之后便火速的刻盘安装。

不过遗憾的是,连续刻飞了两张盘都没有搞定……杯具呀
怀疑是win7的问题,到linux下刻也刻飞了
看来是光驱的问题了。。最后还是用邻居家的电脑刻的盘

装上之后,感觉不错。ubuntu 真的是越做越好了,衷心的高兴

最后,再次祝大家有一个快乐的劳动节!

我为什么不用nginx、lighttpd

有了自己的VPS,在选择软件上有了很大的自主权。自己喜欢什么就用什么,只要高兴就好。

对于web server 的选择,其实有很多个,都是很优秀的,有时候会让人左右为难。

我也是这样。

当初刚到手VPS的时候,第一时间卸掉了自带的apache 1.x 吧(记不清了~)。
原因很简单,我不喜欢用老的版本,因为:
1.有很多已知的 bug 和 CVE。
2.老版本性能上肯定是不如较新版本的
3.就是个人原因,比较喜欢追求新版本(据说这也是一种病),版本控~

所以,我卸载的毅然决然。

其实我一直是apache httpd 的追随者,不可否认的是apache 的 httpd 在全世界的使用率也是最高的。
具体的数据是多少,我一时也说不清楚。

可惜的很,当我拿到VPS的时候,apache httpd 2.3.5 alpha 发布有段时间了。
其实,这是我最想安装的版本。

不过很遗憾的是,该版本不支持,或者说是没有得到 php 5.3.x 分支的支持。
我当时测试的是 php的5.3.2版本.毛病体现在apache httpd 不能正常载入生成的 libphp5.so.

后来被确认是php 开发组没有及时的跟进.这也是为什么以 alpha 形式发布的原因.(具体可以参见Maillist)
我测试了一下apache httpd 2.2.15 是可以正常工作的.

既然用不了新的版本,那就等一等.

先换个别的暂时顶替一下.web server 种类很多.
大概看了一下,国内用的比较多的是 号称快过apache httpd 10倍速的nginx 和 相对来讲低调的多的 lighttpd.

nginx 我以前用过一段时间,当时是为了搭建个web 共享平台,纯粹是directory index 了.
而 lighttpd 我是久仰大名,比如 著名的开源播放器 videolan的 ftp 就是用它搭的。

我之前的也小用过一段时间.

不过,我都不是很喜欢.换句话说,用过一次就不打算再用了.

原因很简单,它们的配置文件让我感觉很奇怪。
或者说是,配置文件的格式让我很蛋疼.

你见过 "port" => 80 这样的配置吗?真的是很别扭.
像nginx 里面居然还出现了 {} 这样的区块!貌似还有嵌套……

我想问一句,这是程序源码吗?要搞成这样..总之是让人很头晕。

能不能像 html、xml 那样有序,一目了然?

可能是我用apache httpd 的时间长了,先入为主了
不过不可否认的是,像httpd.conf 那样的配置的确更加易读、易懂、易改、易扩展.

而在多方考察后,我选择的是工作原理与nginx、lighttpd 一样都为fcgi server的Cherokee.
不为别的,就是为的一个省心,为的一个Cherokee-admin 的程序.

它可以让轻松我配置好一切,而不用去和配置文件打交道.
而且,我要说的是而且,它的并发处理和负载能力一点也不输于nginx之流.

再者它的吉祥物我很是喜欢,一个奔跑的小家伙,很棒!
见图:
Cherokee logo

这是它的官网(http://www.cherokee-project.com/),有兴趣可以看看.
另外,如果你的网站架设在Cherokee上,可以到该地址(http://www.cherokee-project.com/cherokee-domain-list.html) 去提交你的网址,一旦被确认就会被加入到列表中哟

不过Cherokee现在也不是很稳定,有不少潜在的bug.
像这几天,一天一个新版本,人家月经,它日经!

像这种日经般的更新,一般人哪有那么多闲工夫去跟进.
特别是一些个大站,几年难得更新一次。上次看到淘宝网的报错信息,人家的jboss还是04年编译的呢

可见,频繁更新只是我等这些小站站长热衷的事情,不过本人表示影响不大 :)

茫茫软件的海洋,选择一款自己喜欢的才是王道,不盲从、不跟风,只选适合自己的.

初识git

最近看到git这个年轻的SCM(版本控制系统)逐渐流行起来了,很多知名的开源项目都纷纷转移到它的怀抱里,如我们熟知的著名linux桌面环境gnome,还有我最爱的播放器vlc等

而且网上对git的好评也是如潮水一般呀。那么,作为喜好尝鲜的我,情绪自然不会稳定了。

总想去尝试一下,看看究竟如何的好?

由于googecode不支持git,而以git著名的github,我也没有帐号.所以只能在sourceforge上小试牛刀了

以sf为例,首先进入项目页面,找到admin菜单下的feature manage下面,启用git(SourceCode Version Control),就是在它前面打个钩。其实这个时候git repository 就已经初始化好了.

这个时候,如果不想再用其他的SCM的话,把它们前面的钩去掉就可以了(前提是你已经check out了)。

接下来,就是进入members菜单,点击用户名,勾选 "Allow access to Git repository (developer access)"选项,授一下权。

ps:以上操作需要project administrator 身份.

现在,就是导入版本库了。

git 要求用户本地也要有一个版本库,然后再push到远程服务器。这一点让我很不习惯,因为我一般都是直接commit到远程repo的.

因为我在windows 平台,所以还得安装git 的win 版 --msysgit.如果IDE是visual studio 的话,可以直接下载 Git Extensions 的完整版安装,里面包含了MSysGit 和 KDiff3.

之后,进入 git bash,其实就是个MinGW环境.
现在开始初始化本地git repo.

mkdir temp cd temp git init (初始化空版本库 temp) git config user.name "temp NAME" (设置名字) git config user.email "[email protected]" (设置邮箱)

#(添加远程repo 地址.sf 是以 ssh 开头,默认repo 名字是项目unix名,可以改)
git remote add sf ssh://[email protected]/gitroot/TEMP-PRO/TEMP-PRO
git config branch.master.remote sf
git config branch.master.merge refs/heads/master

至此,本地git库建立完毕,并映射好了远程git 库.且merge以本地为主.
当然,这一切均可以通过git extension的菜单完成.

接下来,创建一个hello.c文件,push到远程repo上.

vim hello.c git add hello.c git add . git commit -a -m "this is hello.c" git push sf master #(需要输入密码,如果报 fatal: The remote end hung up unexpectedly 错,可能是ssh地址输入错误. #也有可能是没有生成对应ssh的公钥和私钥到服务器导致的.)

到这步,我已经成功向远程版本库提交了源码.

不过我很快就发现了git的一个毛病,就是无法删除以前提交的文件.
这个真是个问题,万一程序员不小心提交了一下一些私密文件(如密码、艳照之类),哪岂不是糟了!!?
尽管可以 git rm hello.c ,不过在仓库里只是标识了 "deleted",还是可以打开.
谷歌一下,终于找到了一个方案,见 git: forever remove files or folders from history,提供了个shell 脚本.
保存为 del.sh,运行 del.sh hello.c ,嘿还真删除了.
不过 push 的时候,出错了!提示

! [rejected] master -> master (non-fast forward)
error: failed to push some refs to '/path/to/'

说需要先从服务器上pull 一下,oh ,my god...囧rz

好在我有shell权限,直接登录,定位到 /home/scm_git/t/tm/temp-pro/temp-pro,直接删除.草~

最后,给个链接《Git 中文教程》,我还是继续SVN吧.