搭建自己的源代码托管服务

现在要找个地方托管自己的开源项目是很容易了。老牌的有SF、顶着google旗号的googlecode、使用HG的bitbucket、以及我认为目前最好用的github。

不过如果你想自己搭建一个类似的服务,也是有些资源可以选择的。

  • gitorious (ROR开发,支持GIT)
    gitorious本身就是一个类似github的服务提供商,通过它提供的程序,你可以打架自己的本地服务。这个应用是用ROR写的,所以部署起来需要了解些ROR的相关知识。关于部署方式可参考 https://github.com/TGM/deploy-gitorious
  • gitube(Django开发,支持GIT) 
    国人使用django开发的一个git仓库管理工具。应用的完成度比较低, 而且作者似乎停止开发了。决定要用的话,得做好二次开发的准备。

 

注:DVS在权限控制方面存在天生的缺陷。Gitolite为git提供了权限方面的解决方案,这里有篇关于Gitolite的中文文档 http://www.ossxp.com/doc/git/gitolite.html

lbplayer第一个版本发布了

项目地址:https://github.com/vicalloy/lbplayer

什么是lbplayer

lbplayer是一个基于WEB的音乐播放器。使用方式和单机的mp3播放器差不多,唯一的区别是音乐都在服务器上。

适用范围是局域网(注:当然如果你愿意,单机使用也是可以的)。

在局域网内搭建好这么一个服务,将音乐目录共享出去,大家将音乐统一拷到服务器上。

然后使用该播放器进行播放了。

怎么跑起来

如果你想将程序部署到服务器上,还是需要对django应用的部署有些了解的,但如果你只是想用django的测试服务器跑起来,那就简单的多了。

  1. 先确保你机器上具备基础的运行环境:python>=2.5、django=1.3
  2. 进入lbplayer_prj目录,执行 python manage.py runserver
  3. 范例音乐在 lbplayer_prj\static\music 这个目录下

注:

这个版本的出发点是可以满足自己的最基础需要,让程序先跑起来。

至于代码的质量大家就不用太去纠结了。

基于WEB的音乐播放器

目前正在做的一个东西,基于网页的音乐播放器。最终效果会谷歌音乐类似,可以在线选歌然后播放。因为是自己用,所以功能方面会比较简单。歌曲列表直接遍历硬盘目录生成一个带checkbox的树,然后在树上进行选择。为了找歌方便,还需要提供一个搜索功能。playlist的保存功能也应当有一个,不然每次都要重新选歌会让人崩溃。

或许有人会问,这个东西有啥用。你可以在局域网内开这么一个服务,然后就不用费劲的将音乐复制来复制去了。另外采用WEB方式还可以扩展出很多有意思的功能,比如你可以臭屁的将自己的歌单共享出去。

在线音乐播放用的是jplayer,代码也直接是在jplayer的demo上改的。不知是否是我对jplayer的理解有问题,感觉jplayer的demo的代码写的并不是太好,DOM模型的设计也有些问题。

最后,这个播放器的名字叫lbplayer(注:已经决定了,为了避免命名的困扰,日后我写的东西都用LB开头)。

LBForum已改造为Django的可重用APP

LBForum分裂为两个项目

  • LBForum Django的可重用APP,包含有完整的模板。该app已加入pypi,可使用easy_install lbforum进行安装。
  • lbforum-site LBForum的演示站点。完整的Django Project演示LBForum如何集成登陆注册等模块。该项目可以快速的将LBForum跑起来。

最初写LBForum的时候为降低部署的难度,将LBForum作为完整的Django站点来进行开发。
实际应用过程中,不少人需要将论坛模块集成到已有系统中。
原有的方案在集成的时候有不少的问题。
而且整站的形式也不利于他人进行协作,若改动偏向站点的定制,会给代码合并的时候带来很大的问题。
在项目拆分后,在保证易部署特性的同时解决了第三方系统集成的问题。

LBForum演示站点

让人崩溃的骑行活动

第一次单日骑行超过100公里,最高点海拔7xx米。最后几公里都艰难的爬坡,目的地似乎近在眼前却又遥不可及。实际骑行时间远超预期,回来时天已经天黑。骑行在黑灯瞎火的路上,让人非常的没有安全感。

结论:单日骑行距离不应超过60公里。

让人崩溃的山路

坐骑

loli的长大是一出悲剧的开始

春晚最大的收获就是看到了传说中的西单女孩和旭日阳刚。

传说中有着天籁之声的西单女孩唱得惨不忍睹。

旭日阳刚的歌很不错(歌曲本身,非唱功),加上沙哑的嗓音倒还真有几分感觉。歌词里的“如果有一天我老无所依,请把我留在在那时光里。如果有一天我悄然离去,请把我埋在这春天里”更是非常的拽。最初还以为旭日阳刚自己写的歌,但仔细一听发现对不上号。“破木吉他”写的是许多年前的春天,现是拥有后的迷茫,这哪是民工的歌啊。接着就出了汪峰禁止旭日阳刚演唱春天里的事。

苏珊大妈的成功,一方面是因为苏珊大妈满足了大家对乌鸦变凤凰的幻想,让大家相信象自己一样的平凡人也能成功。另一方面苏珊大妈确实唱得不错。西单女孩和旭日阳刚则仅仅是因为他们平凡平实。从他们出名的这一刻起,这些曾让他们成功的因素就已开始逐渐失去。

过年回家见闻

写东西太累,写些关键词好了…

春运

一票难求的现象确实有所改善,至少我很顺利的就买到了满意的车票。

发展中的中部

为中国的发展速度不仅让老外们感到惊奇,甚至连我也会觉得世界变化太快。我的家乡是中部地区的小城市,近几年城市的规模已扩大的数倍。大量的工场也开始迁入。

发展的代价

国家大力宣传绿色发展,但其实中国还是走的高消耗高污染的发展道路,唯一不同的只是将那些污染严重的企业从一些大城市迁到了小城市。据父亲说周围工厂排放废气的时候,在他们单位可以闻到刺鼻的气味。协商的结果是工作时间内不排放尾气。

单位领导的问题是解决了,周边的居民们就只能继续接受废气的侵害了。

相比废气,废水的影响则要长远得多,也隐蔽得多。所有的废水只经过简单的处理就埋入了地下。

满世界的车

交通拥堵已变成了全国性的问题,现在基本上已经找不到不堵车的城市了。听说父母单位上已经超过半数的家庭买了车。真想不明白,就这么个小城市,有必要人人买车吗。

在某种程度上说车的实用性已经不是主要目的。中国人的买车热情已经被点燃,别人买,你也得买,是面子问题。

罚款权拍卖

在这个城市里,对交通违规管得非常的严格,稍有不慎就会被罚。原来政府把交通违规的罚款权给外包了。企业花钱拍得了罚款权,为了创造最高的经济价值,他们将对交通违规管得非常的严格。

想来这确实是个不错的策略。交通违规如果交给政府管,肯定不给力。

农民的生活

城市周边农民的生活得到了很大的改善。土地只需要通过审批即可,建房的成本并不高,于是农民们都有不错的房子,建筑面积当然是我们这些所谓的城里人所不能比的了。农民们平时去工厂上班,下班后稍微打点一下土地,似乎生活还不错。所谓的农民至少还拥有土地,而我们才是真正的无产阶级。

注:农民工下岗一样都是非常有创造性的词,总想不明白工作就工作,是不是城镇户口有啥区别。是不是一个农民工从农村户口变成了非农户口,就不是农民工了?那叫什么?

金山卫士的开源注定会是一场有始无终“闹剧”

前世今生
金山卫士的开源注定会是一场有始无终“闹剧”,至少按目前的情况看是。
延续互联网一贯的快餐文化,风过无痕。前些天还热火朝天的3Q大战早已归于平静只留下点点涟漪。
大国博弈小国作棋。金山在互联网方面的实力虽不如360和TX却也不是一个安心作棋的小角色。于是乎金山最近有了大动作,金山卫士开源了。
金山的战略
安全卫士在同360、QQ安全卫士等安全产品的竞争中始终处于下风,若不使用一些非常规的手段这种局面难以扭转。于是金山想到了开源,借开源的力量打造一个安全平台。
不得不说这是一个很有创意的想法。核心平台在自己手上,在上面大家可以顺便玩,借助开源的力量打击对手。
类似成功的案例也很多(靠建平台成功)。如Facebook的app平台,又如Firefox的插件平台,以及eclipse等。
不和谐的声音
金山卫士开源,叫好的声音不少,不和谐的声音也接踵而来。cnbeta上出现了篇《为什么我为金山卫士开源捏把汗》,其中细数了金山此次开源行动中的数点不足。文中更是对该项目的开源负责人ZQ表示了众多不满,让人感觉这篇文章更像是私人的泄愤之作(注:文中提到金山的同学为了服务器问题加班,多半也是金山的人)。ZQ为此事在python社区发表公开声明进行澄清。
扯开文章作者的私人恩怨不提,文中的部分观点还是有可取之处。按照金山目前的动作来看,金山基本上还没搞清楚开源是怎么一回事。他们做的只是将代码给公开出来,基本上没想清楚要如何运作,或是没准备要真正进行运作。
金山的这次开源行动很可能步诺基亚开源塞班的后尘,开源后却没人响应,最终还是自己该干嘛干嘛去了。
细节决定成败
且不管金山的战略如何正确,但就这次行动的实施而言,它已经失败了一半。

  1. 文档超烂,基本上就是没有(其实说没有都可以),代码中找不到任何注释。诚然很多开源项目的文档都很烂,但任何一个成功的开源项目都少不了优秀的文档。那些文档烂的项目,也基本上没多少前途。提到文档问题,不少人替金山叫屈。开源不可能一步到位,文档啥的总需要慢慢完善。看trac上的更新历史,开源计划应当是从10月就开始了。近二个月的时间,文档方面就做成了这样,实在不能不让人怀疑金山的诚意,让人怀疑金山是否有在认真对待。
  2. 用户如何参与。一个成功的开源项目必须要有人的参与。用户要参与至少要觉得这东西要用,好玩或是其他,金山正缺乏这么一个理由。Firefox、eclipse的成功除打着开源的旗号外(项目代码基本上都是付费雇员所写),他们都有成熟的插件体系。用户很容易编写插件,完成扩展。在中国这个大家还在为了生存而奔波的社会,没谁会这么闲这么有耐心的去陪金山玩开源的。

挑刺

  1. 金山的开源平台用的trac。好用的开源平台这么多,实在没理由自己去建一个,关键是建得不怎么样。据ZQ说,用trac是公司领导的决定。估计金山也挺官僚。
  2. 有人说金山的代码烂。其实大多公司的代码都好不到哪里去,这点当是纯属挑刺吧。

补充问题(2010.12.15)

  1. 版本控制用的是分布式的HG,看上去很潮,其实完全未得HG的精髓。将所有项目丢到一个库这种山寨做法基本上将版本控制库变成了一个纯粹的备份工具。让人感觉是为了HG而HG,前期的调研工作基本没做。

双手接抛球

电视上常看到有人玩这个,所以买了些橘子来学习学习。想这东西对练习双手的协调能力还是不错的。

不过在这方面似乎缺乏天分,练了好几天依旧接不了几个。