OpenShift 搭建 rawdog 实现部落格聚合

因为 Planet openSUSE 的管理员一直 unavailable,导致我无法正常的推送对 Planet 的修复和处理中文新成员的加入,考虑到中文博客又太多,总去找一个 unavailable 的人,两边都互相嫌嘛,于是就架设了这个:community.suse.org.cn Update: 挂了 这篇文章中的教学其实我只完成了一半,python wsgi 前台是 Arch 维护者 Felix Yan 帮写的,所以在前面感谢一下 co-worker。 准备 你要去开一个新 Application,类型是 Python 2.7 Community Cartridge,然后要新添加一个 Cron 1.4 Cartridge。其它的 openshift 必要知识我假设你已经了解了,不了解的话请去看我之前的文章。 rawdog 架设 rawdog 是 KDE 社区开发的部落格聚合程序。简单说,这就是一个 python 程序,它只能获取 feed,并输出 HTML,至于怎么让 HTML 能被用户在互联网上看到,这就是 HTTP Server 需要做的事情了。而 openshift python 默认的 HTTP Server 就是 Apache + python wsgi。如果你用 VPS 还可以使用如 Apache,Nginx,Lighttpd 等配置 FastCGI 什么的。HTTP Server 这块我不懂,所以只能拿人家写好的 Server 出来讲。但是一定要记住,只配置好 rawdog 你才成功了一半。 另外这里我用的也不是原装的,是三转之后的 rawdog,就是被 Planet openSUSE 改了一次,我自己又改了一次的。代码在 susews-planet。...

March 19, 2013

openshift 搭建和 IRC 频道互通的 Gtalk 群聊

Long long ago,大概八九个月前,看到翁学天的 ikde 群居然能和 IRC 互通,感觉很惊艳,于是也想弄一个替代现在的 opensuse_zh@im.partych.at。 Party Chat 是一个很好的免折腾 Gtalk 群聊主机服务,架设在 Amazon 上面,但是有以下缺点: 不能和 IRC 互通。作为一个开源社区,要是没有利用上 IRC,总感觉少了点什么。 在线时间不能保证。也就是说你没有 schduled_maintenance 的权利,只能它在线你就聊,它离线你就歇息。 大于 300 人的群拒绝服务。也就是说你的群是顶着地雷的,到了 300 人整个群就会消失,因为 Party Chat 不能承担那些多出来的流量钱。你交钱也不给你提供额外服务。 所以几十个人的小社群还是可以应付的,但是人满了之后迁移成本特别大。所以就想着趁人少迁移到 ikde 那种高级群里去。 打听了一下,这种群聊是使用依云(@lilydjwg 写的两个软件在 VPS 上搭建的,分别是 xmpptalk 和 ircbindxmpp。 但问题出来了,我没有 VPS。当时 openshift 这种 PaaS 已经出现了,只是还比较新鲜,我不会用。于是去年 9 月的一次尝试就可耻地失败了。 当时(甚至至今)网上关于这两个软件的文章只有两篇: 依云自己的介绍性文章,但是太粗略了。 StarBrilliant 的稍微详细一些的文章,但是还是有点犯了程序员的通病:普通用户不知所云。如果你是一个已有 VPS 的博主,看了也得折腾一会儿,要是麻瓜的话,恐怕也就只能看个热闹了。 于是逼迫我们群里的 douglarek 写了一篇在 openshift 上折腾它们的文章给我: Openshift 折腾 xmpptalk 但实际上这篇文章很水。反正看过就知道啦,到处都是「凑合」。实际上你看它也根本架设不起来(好多致命细节都没说)。 当时我就是在这种情况下开始折腾的。 首先我开了 Do it yourself 应用,然后进去编译,结果很悲剧,红帽给的内存太小,mongodb 编译不成功; 后来我使用 Build Service 模拟了一个 openshift 环境(一个 x86_64 的 RHEL),然后编译编译,我犯懒了…...

March 17, 2013

openshift 安装 owncloud 取代 Google Reader

Google Reader’s sunset is the dawn of ownCloud news. 翻译过来就是 GR 的夕阳正是 ownCloud 新闻订阅的佛晓。 相信 Google Reader 在 7 月 1 号关闭对大家都是一个打击,虽然大家的未读都是 1000+。但是一种生活方式突然变了,总归有点怅然。至少我听闻这个消息的时候第一反应就是:妈呀!我的那么多红心怎么办! 是小企鹅输入法的作者翁学天让我意识到了:哦,好在还有替代。虽然我是它的简体中文翻译者,但是我以前真的不知道嘿嘿。 首先这个替代目前装起来还是有一点困难的。所以需要一个这样的中文教学来教大家怎么才能装上有 News 的 ownCloud。 我们开始吧。(以 openSUSE 为例) 下载 首先我们需要 Git。因为现在只有 Git 版的 ownCloud Apps 才有这个功能。 sudo zypper in git 安装好了 Git,我们需要下载这些源码 git clone https://github.com/owncloud/core 这是核心组件。 git clone https://github.com/owncloud/apps 这是带 News 的 apps。 git clone https://github.com/owncloud/themes 这是新的 responsive 主题。 git clone https://github.com/owncloud/3rdparty 这是一些第三方的比较好用的 apps。当然如果不用也可以不装(我装了也没发现有太大用)。 cd apps git clone https://github....

March 15, 2013

SUSE 新年飨礼

亲爱的 openSUSE 贡献者们, 为了感谢您在过去的一年中为 openSUSE 项目所做的杰出贡献,值此新版发布在即,SUSE Desktop Team 的 FJKong 孔叔从 SUSE 市场部虎口夺食,抢到了一些礼品送给大家(实物图见下文)。礼品价值不是很高、数量也很少(因为我们没有社区经费,礼物也不是 SUSE 官方支出,纯属孔叔和市场部员工的个人情宜(?哈哈)得到的,所以我们会尽量把礼物交给已经证明最能呵护它们的贡献者),主要是为了表达一份微不足道的心意,openSUSE 没有忘记你们,正是你们或多或少的在他人眼里可能很怪很傻很宅的贡献,支持着 openSUSE 一直有勇气有动力面对不可知的未来,在这个 complicated 的世界里艰难前行。 同时新官上任的 SUSE Desktop Lead 梁辰晔(Da Liang)梁叔(原 SUSE 北京服务器组的 Senior)携 Desktop Team 全体同仁 Lance, 王伶卓,向 openSUSE 中文圈的用户们致意。(郑宇 jzheng 郑叔从 SUSE 暂时跳槽到 Canonical 准备创业中,但仍然在 openSUSE 社区和论坛上积极出没) 先上图(由于我个人并不参与此次礼品赠送,所以内部细节我可能描述的不是很清楚): 手包(似乎是装卡的,不知能否装钞票): 水晶笔(似乎是 SUSE 标的中性笔杆): 马克杯(去年我收到一个,图也是去年的): Novell 杯具 数量: 手包:6/8 个 水晶笔:7/9 个 马克杯:1 只 公仔:0/1 只 领取人: hillwood,重庆道桥,公仔一只 douglarek,英特尔北京,手包一只,笔一只 一些说明: 公仔是可遇不可求的,因为这是 SuSE 中国的营销道具,至少需要提前一年预定(hillwood 是补去年的货,他也不参与今年的礼品赠送),稀缺到了什么程度呢,全日本就两只(SUSE JP 持有),全台湾据我所知个人持有的只有 swyear 一只。...

March 8, 2013

openSUSE 下的 Fcitx 输入法

这是给 openSUSE Marketing team 做的,大概会写到 news.opensuse.org 的 12.3 发布日志上。介绍了一些 Fcitx 的多语言支持和高级功能。 Youku: Download: http://115.com/u/26338483

March 5, 2013

openSUSE Linux 战渣浪详解教程

自从去年十一申请到哔哩哔哩账户,一直也没有加入阿婆主的行列中去,我心有愧…于是就做了一个授人以渔的从原理到实现的教程,讲述了一些阿婆主喜闻乐见的基础知识。 “战渣浪” 原理 Av Fun 和哔哩哔哩的视频都是外链到渣浪、土豆、优酷这些视频站的。 平均码率大于 1047KB/s 的视频会被二次压缩(我没写错,我也不懂为什么会有这个奇葩的设定) 非 flv 封装格式的视频会被二次压缩 视频非 AVC 编码、音频非 AAC 编码会被二次压缩 二次压缩首先会掉帧,其次会过审。你投原创自然没问题也不需要战,我只看影视区的。 来战! 查看平均码率 FFMpeg 查看码率的方法是 ffmpeg -i 视频文件 Input #0, matroska,webm, from '谎言满屋.House.of.Lies.S01E01.Chi_Eng.AC3.1024X576.x264-五零字幕组.mkv': Metadata: creation_time : 2012-06-06 12:52:18 Duration: 00:33:28.38, start: 0.000000, bitrate: 1585 kb/s Stream #0:0: Video: h264 (Main), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default) Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), s16, 384 kb/s (default) MPlayer 查看码率的方法是 mplayer -vo null -ao null -identify -frames 0。其中最重要的是 -identify 选项,意思是去识别视频信息。-frames 0 表示不播放,-vo null -ao null 表示使用 null 驱动(也就是不使用视音频驱动,这样你就能通过 ssh 在服务器上识别视频信息了)。...

February 24, 2013

openSUSE 下玩围棋

Update:更新了评论里两位巨巨指正的技术错误和建议到正文中。 主要是整理下 Linux 下面的围棋软件近况、设置方法和已知故障。 引擎 GNUGo 这个是所有围棋软件的后端,简单说就是个棋力十二级的机器人。 不是很明白这里的电脑棋力单位“级”与我们人类的棋力单位“段”的换算关系,因为电脑肯定没法参加人类的段位考试,而两者也很少对弈,围棋引擎很奇怪的,中低段位的人类和引擎对弈,基本很难赢。它的思考方法和这些段位的人类很不一样,比如人类会在开局考虑一些谋篇布局,而电脑只有那几个布局定式,根据你落子的位置优化选出一个; 人类在中盘会考虑大局,而电脑除非你不与它对抗(它就按照定式走),如果出现对抗那它的算法就是怎么堵截你在数学上最优,而人类肯定不是这样,有些禁忌位也一样有人放,即所谓的“妙手”、“妖刀”,当然更多的还是“俗手”、“蠢手”。而高段位的人类和引擎对弈中,引擎被虐的很惨,还不如三段的人类去下,因为高段位的变化很多,思考质量也不亚于电脑。 围棋引擎流行的能跑在 Linux 下的有这些:Fuego(棋力 9 段,9×9 棋盘), GNU Go(棋力 12 级), MoGo, Pachi(棋力 4 段),其中开源最强的是 Fuego(因为闭源引擎用的多数不是蒙地卡罗方法,强是应该的)。 当然这些强弱是对有几年棋龄的业余棋手而言的,我们这种入门小菜哪个都下不过,随意选个就开始好了。一般发行版都会带 GNUGo。我们就用它了。 另外关于围棋程序比较好的网站是:Sensei’s Library,有各种引擎比较详细的介绍和测评,至于界面,还能用的我都在下面整理出来了,完整列表见此。 界面 gGo Pandanet 电脑围棋界比较有名的熊猫网出的。Java 写的,最新版本发布于 2004 年。 RubyGo Ruby 写的,最新版本发布于 2005 年。 qGo Qt3 写的,最新版本发布于 2008 年。 CGoban 这其实是围棋网 KGS 的官方客户端。Java 写的,版本也比较老。 glGo Pandanet 出的,最后更新于 2008 年,但是依赖很烦,依然依赖 python 2.5。没有源代码(网页打不开),非开源软件。 这些都是老黄历了,网上宣传的基本也都是这些,因为这是 IGS 或者 KGS 这些业内比较知名的组织开发的。但是在现今的 Linux 上都比较难跑。我整理了一份比较好跑的界面: qGo2 这是 qGo 的 Qt4 移植,可以说几多波折,开发者换了一个又一个,因为它太强大了,支持这些战网:IGS, WING, LGS, CyberORO, Tygem, Tom, and eWeiqi 的对弈和观战(看好了后面两个是中国的),还是目前最强大的 sgf(通用围棋棋谱格式,用于复盘和自己打谱)编辑器。 quarry 这是一个本地围棋和五子棋客户端。用 GNUGo 或 GRhino 做后端。配置 GTP 后端的时候要加 -mode gtp –quiet 参数才能把 /usr/bin/gnugo 跑起来。 kigo 只用于 KDE,自动识别后端。我目前用这个。但是有一个 Bug 就是电脑不会认输,走不下去了就一直下虚手(跳过),需要你手动结束游戏才能统计“目”。 其中前两者我都有打包,但是还没有推送到 openSUSE 的 games 源,迫不及待的话可以用我的 home:MargueriteSu:branches:M17N 源里的 RPM。...

February 24, 2013

openshift 搭建 wordpress 教程

最近把 suse.ws 搬家到了 Red Hat 的 openshift.com。原因是我个人博客的空间 IP 也被光荣认证了,而 openSUSE 简体中文官方主站不能在简体中文地区不能访问呀。又没有赞助就选了搞基的红帽子搞的 PaaS。 下面把搭建时候的要点简单说一下。 准备 你要有一个 openshift 账户。每个账户可以开三个 Gear,共享 3 GB 硬盘和 1.5 GB 内存(VPS 泪流满面)。 你要会 Git 基本命令。比如 git clone,git add,git rm,git commit。不会的快去学习 codeschool 的免费课程 Try Git,半个小时包教包会。 你要安装 rvm 和 ruby,然后安装 openshift 的命令行客户端 rhc,具体的 Ruby 新新人指南可以看我的上一篇文章。 安装 WordPress 生成 ssh 密钥对并把公共密钥贴到 openshift 去。 申请一个 Gear,选 wordpress。然后看需要可以添加一个 phpMyAdmin 的 Cartridge。把它给你的数据库 root 用户名和密码以及数据库名记在小本本上别弄丢了。 git clone 返回给你的那个 repo,php/wp-config-example.php 改成 php/wp-config.php,把里面的数据库名、root 用户名和密码安装上面的填了。WPLANG 愿意改改一下。 提交一次,留意命令行中的信息,会说数据库的 IP。...

February 18, 2013

Ruby on Rails 学习笔记-安装和 Hello World

因为想给 Open Build Service 加 i18n 支持,所以要学习下 Ruby on Rails。 什么是 Ruby on Rails? 推特上有 Ruby 程序员说是「肉夹馍」的关系,意思是其实硬菜在 Ruby。 对新手这么要求可能太苛刻了,初心者应该是「荷叶包饭」的关系,意思是你真正一开始吃的部分是 Rails。 但是要想学好 Ruby on Rails,其实应该是「鸡蛋灌饼」的关系,就是 Ruby & Rails,两手都要硬,毕竟所有的东西都是用 Ruby 写,要是没有系统学习过 Ruby 可能登不了大雅之堂。但 Rails 不熟悉啥都当 C++ 写那用它开发就没意思了。 科学的解释是这样的,Ruby 是屌丝松本行弘有感于白富美们漂亮的胸不大,胸大的腿不长,腿长的说话声音不好听,声音好听的长相又不是 S 级而自主研发的一个女神,同时兼顾了其他屌丝的需求(几乎所有的内置方法都可以由类在运行时重定义,眼前的加不是加,你说的 < 是什么 <,什么的)。gem 类似于芭比娃娃的衣橱(类似 perl 的 CPAN,python 的 PYPI,带平台的分发格式)。Rails 是其中一个 gem,一个网络框架。于是 Ruby on Rails 就有点像,Wordpress on PHP 的意思,然后你就是在 WordPress 上开发主题。。。 不要怪我吐槽它啊。。。less is more:()少做多。还有:Ruby 是让程序员「快乐」的一门语言。。。。您再想想? 开发环境 教材:Ruby on Rails Tutorial 3rd editon(好象是新浪爱问上下载的)...

November 11, 2012

当梦想照进现实 记 Ubuntu Tweak 的烂尾

本文是从我的角度来揣摩主席的,说的可能不对(语序,那叫不可能对!)。首先澄清我不是在黑他(你一说这话就没好事,这不是黑是什么呀哎呦喂),主席 tualatrix chau,是第四帝国的老朋友,我朝金吾卫、奋威校尉 @shellex 和国子监祭酒、工部造作局大匠 @csslayer 的好基友,不过他既然已经是党内最高职务了,我这边就没有什么可以开出的价码了。只能说暗恨他不能为我所用什么的,不能说黑他。和他的关系是:认识、聊过、不熟。因此也别指望从这里得到什么独家新闻。算是从逻辑的角度很世故的看待这件事。(鬼扯,阴谋论就说阴谋论好啦!)事情大家已经很清楚了,所以就是社论。(明明是胡勒!) 大约两周前,@shellex 找工作,我和他聊去大公司还是 free lance 的问题,期间参与的还有 SuSE 的 desktop team leader joeyzheng。我当时做出的判断是:C 家的 home based 不好,它针对的对象不是应届生,是 SuSE 在职的那些走在 Google青云之路上想暂时歇歇脚的大小牛。解释下什么是青云之路,中国 IT 职场有条青云之路,非常 clear 的 path: 针对超级大牛:SuSE/RedHat -> Google,比如苏哲,黄鹏。 针对中小牛:SuSE/RedHat -> Canonical -> Google。 针对自以为很牛的一般人:网易/百度/腾讯 -> 自主创业 针对苦逼:中关村/张江/华强北/各种科技园 -> forever 不在前两条路上走着的人们,无论你是 virushuo 还是 tinyfool,总归有点半路出家的感觉,在另一个 level 的人的眼里看来总是很 cheap,就好比金融口一个 standardchartered/HSBC/Citi -> Goldman Sachs/Morgan Stanley/Merrill Lynch/UBS 的人看一个 ICBC <-> CCB 转来转去的人,就是人家两步超神,你转来转去始终在高手的阶位不上不下的感觉。 其中 C 家说清楚了就是进去偷个懒,为去西海岸攒点生活费的地方。那为什么招主席? 主席的经历说真的我不是很清楚,我进 Linux 圈是在 09 年 10 月,认识他的时候他已经是 C 家的人了,Ubuntu Tweak 也已经开发了很久。但根据圈里的风评和他们言语里给人的感觉,主席就是个 Python 程序员,只不过阴差阳错选了个「好」项目,近水楼台地,在 10 年 C 家刚有中国分部的时候入主了 C 家。简单说,天时地利,没什么羡慕也没什么嫉妒的。就好比你金融专业一毕业就赶上金融危机大规模裁员一样,没什么好抱怨的,造化弄人而已。...

October 20, 2012