Archive

Author Archive

西厢计划 MacOSX 移植版

October 29, 2011 Leave a comment

最近关注了一个西厢计划 MacOSX 的移植项目 kernet (link: https://github.com/ccp0101/kernet)。技术上,kernet 项目做得比原始的西厢计划还要多,可用性也有很大的提高。

最近我做了一个稳定版,主要是增强了稳定性,并支持更多站点。因为个人博客上相关主题较多,所以在这里发布下。如果又更新,我会最先在我的twitter(link: https://twitter.com/#!/liruqi) 上说。

下载页面:https://github.com/liruqi/kernet/downloads

系统要求:Lion 64位。低版本没测试过。32位的系统应该跑不了,不过自己拿xcode 用源代码(link: https://github.com/liruqi/kernet/tree/stable) 编译打包也不难。

跟上一个发布的不靠谱版本(link: http://www.v2ex.com/t/18488) 相比,
1。回归到 master 可用版本做的修改
2。支持更多站点。手动增加的站点是 *.wordpress.com。这里有一个通过跑脚本,增加的站点列表:https://github.com/liruqi/kernet/blob/stable/Scripts/reset.txt

还是说明下,我不能保障你正确安装之后就一定能访问列表中所有站点。参考这篇 总结(link: http://gfwrev.blogspot.com/2010/03/gfw.html)

PS1: 最近做 kernet 打包的同时,对 GFW 做了些有意思的统计。(统计基于 gfwlist.txt,结果不完整不精确,但是正确率应该是大于 50%的;大家也可以看我 stable 分支脚本自己做测试)
a)已解放的http://t.cn/ShP1ya
b)关闭服务器或者被IP封锁的 http://t.cn/ShP1yC
c)至今被reset的 http://t.cn/ShP1yj
d)莫名其妙出问题的 https://raw.github.com/liruqi/kernet/stable/Scripts/wtf.txt

PS2: 算是一个坏消息吧。最近域名封锁、ip 封锁逐步开始了。网络白名单制度大概已经步入实施阶段了。
a)域名封锁是指不再搞dns缓存污染,dns缓存污染是dns-query 被gfw抢答了,还能获得正确返回的;而域名封锁,是直接丢包(目前这种现象并不是每个网络运营商都会有)。这种封锁可能是最近才有的。
b)ip 封锁比较明显的是 tumblr。

Categories: gfw

West chamber season 3 – a new way to bypass Great Firewall

July 30, 2011 1 comment

(I don’t quite believe wordpress.com, I edit this post in google docs, and it is open for anyone to edit. I am not used to write in English, if you find mistakes please correct it for me in google docs. I may update here periodly based on the google docs one.)

Everyone knows that Chinese from mainland China have problem accessing international internet – the World Wide Web, e.g, Facebook, Twitter, and many services provided by Google. Here I provide a new a way to drop the threat of “connection reset”, without proxy server, and it is free.

The Great Firewall of China

Normally, we illustrate the Great Firewall(GFW) with the Great Wall of China:

But technically, GFW does not simply work like a wall. The commonly-used technical methods are IP blocking, DNS cache poisoning, connection reset, (ref wikipedia Great Firewall of China). And connection reset is now the most import part that works.

Technical details of connection reset

Why choose connection reset? For web sites, IP may change, and normally domain do not, it’s a big overhead to maintain an IP list of domains; and DNS cache poisoning can be bypassed by changing a hosts file for local name resolution. Connection reset is, somehow an elegant way to block the unwelcome sites (of course, unwelcomed by Chinese goverment).

When GFW detect sensitive words from site url or site content, it will send reset packet to both client and web server, thus, both client & web server give up the connection, and “Error 101 (net::ERR_CONNECTION_RESET): The connection was reset.” come to your chrome browser. This works like cheating, not blocking.

The scholarzhang project

There is nearly no way to bypass GFW without proxy servers (strictly speaking, bypass var p2p network, is also implemented by proxy, the different is that any node in p2p network may be the server, server is not fixed). Servers cost money, and there must be someone to pay for it.
Scholarzhang is a great attempt to build tool to bypass directly without intermedia server. It’s trying to save connection before reset package is sent by GFW. The theory is sophisticated, and it meet many restrictions(ref README, I wish some one could translate it to English). Now, the tools provide by scholarzhang hardly work anymore.

West chamber season 3

This project is mainly inspired by and inherited from scholarzhang. The theory is simple: drop the cheating packages send by GFW on both sides – server and client. Currently I have got a working prototype. If you are in China mainland, you should not be able to visit liruqi.me directly. But if install client by this install guide, then you should be.

But I need help:

  1. Spread and promote this project. It need client and web server cooperate, without either side, this will not work. Especially If you can directly contact the webmaster or system administrator of a blocked site, persuade him/her to do this! This will bring them lots of Chinese users.
  2. Find more specific rules of GFW. Currently, On the server, I simply drop reset packet from China; On the client, I simply drop reset packet from China. I wonder how risky of doing this. I wish to reduce the negative impact to minimum.
  3. More test & improvement on Windows client.

Beside, anyone interested in this project, mail me! Tell me what you can do, documentation, translation, web site building & development are welcomed. I cannot finish them all by myself anyway 🙂 . Also, contact me if there is any chance for me to go abroad, to work or study on anti-GFW, for this is my interest. I also love to “make the world a more open place”, but in a different way from Mark Zuckerberg, you know.

Categories: 翻墙, gfw

西厢计划第三季 – Ignore the Great Firewall

July 22, 2011 19 comments

本文google docs 链接:https://docs.google.com/document/d/1-PurF8_pJoLVJ7IqMfy5pdATjzR1_B5gqSlc2B5VPcY/edit?hl=en_US

本文最后更新时间:2011年7月27日

This post is inspired by http://obmem.info/?p=615

By ‘ignore’ instead of ‘bypass’, we mean working without intermedia server.scholarzhang is a great attempt, but currently it hardly work. scholarzhang contain three parts: zhang(client-side connection obfuscation), cui(server-side connection obfuscation), gfw(drop gfw dns hijacking packets) (ref 项目计划). On the client, we need to run zhang & gfw. The difficult part is that, GFW send RST packages to both ends, client & server, and Mr. zhang is trying to save reuse the connection after server received RST package(ref), 我估计 CUI 也是在尝试做类似的事情. The limitations are summarized in 项目计划:

“首先作为开发者,对于这个项目,应该消除幻觉,着眼缺点。西厢的弱点在README.wiki的局限一节已经描述得比较清楚,主要是两种问题:不稳定和易变。不稳定可能造成在使用过程中可能出现连接失败的情况,易变可能造成GFW升级之后如果西厢不升级便无法使用。不稳定是由于张某和崔某实际上做的是通过协议hacking弥补GFW造成的破坏,要求一种RFC规定的理想状况,原理就是不稳定的;而西厢的原理部分所依赖的GFW指纹和漏洞机制是易变的,需要即时更新。因此,“没有银弹”,西厢也不是对GFW的银弹,我看到自由亚洲的报道夸大其事,我想开发者关注的应该是bug才对。 “

However, if Miss Cui make a move to help Zhang in, and this will make the task much easier. In fact, Ignoring the Great Firewall of China and 西厢计划原理小解 both mention a way to ignore GFW: just ignore and drop the RST packges sent by GFW.

“大家都知道,连接被重置的本质,是因为收到了破坏连接的一个 TCP Reset 包。以前剑桥大学有人实验过,客户端和服务器都忽略 Reset, 则通信可以不受影响。但是这个方法其实只有理论价值,因为绝大多数服务器都不可能忽略 Reset 的 (比如 Linux, 需要 root 权限配置iptables, 而且这本身也把正常的 Reset 给忽略了)。”

正常的 tcp 连接的创建和结束过程中,都不需要用到 Reset。客户端直接drop 掉 Reset,一般不会有问题,至少是可以正常上网的;服务器上如果直接这么做,可能会产生一定的资源消耗。但是这种方式显然比最初始的西厢计划更有效。

具体操作方法

在客户端和服务器上分别用 root 执行:
iptables -A INPUT -p tcp -m tcp –tcp-flags RST RST -j DROP
如果用的是 FreeBSD的 ipfw,命令换用:
ipfw add 1000 drop tcp from any to me tcpflags rst in
如果客户端用的windows,拿西厢项目中的 windows 客户端试试。

另外,客户端还可以丢弃掉gfw 发送的扰乱的 ack+rst 包,具体参考最后更新的说明:
iptables -A INPUT -p tcp -m tcp –tcp-flags RST,ACK RST,ACK -j DROP

在 google code 上已经新建项目,西厢计划第三季。项目后续会在这里更新。更详细的操作方法,参考项目wiki

局限

1. 无法应对 IP 封锁。如果 ping IP 都超时,基本无法离开中间服务器绕墙。

2. 在多次触碰敏感词之后,GFW 会直接阻断两端通信,从而导致后续的数据无法传输。

可能的问题

1) 如何让服务器识别 GFW 发送的 Reset 包,而正常处理其它 Reset。很有可能的情况是,西厢 CUI 模块已经解决了这个问题,甚至服务器上直接安装 CUI 即可达到预期效果。
2) Windows 客户端的开发。linux 环境上安装 zhang 和 gfw 是相对容易的,西厢目前也有windows 客户端,但我不清楚目前可用性如何。(如果用方便翻墙作为理由推广linux 倒也不错)
3) 也是最麻烦的问题:这个方法如何推广。如果是个人的vps 上的博客域名被污染,只需要打一条命令就可以搞定;但是如何说服 facebook 在他们服务器上安装这些东西呢?这需要对 CUI 模块做认真的后续开发、测试,以及文档完善。这些准备工作做好了,如果国外的互联网公司认为中国用户足够重要,也自然会考虑这些事情。当然,客户端的推广同样重要。本文最开始打算用英文写,也是希望国外互联网公司能方便地找到这里。

匿名性

原始的西厢计划小组成员基本是匿名参与。此次我基本上实名了。如有感兴趣的同学欢迎加入。如果遇到政府的压力,我会考虑移民出国。另外,如果本方案有国外网站使用,我也会发布一个项目捐赠方式。

测试结果(7月24日更新)

本文发布当天我没有做测试。今天才找到一朋友的vps 做测试。GFW 有一个惩罚机制,大概是你连上国外服务器的,被发现触碰关键词(访问一个被污染的域名,或者交互数据中有明文的敏感词),发送 RST 之后,会在一段时间内(目前感觉大概是30秒),可能会封禁两端的通信,效果如同 ip被封禁。但是,这种惩罚机制的触发条件不太稳定。我在 Ubuntu 11.04 上的测试结果是:

  1. curl 100% 触发惩罚规则 – User-Agent: curl/7.21.3 (i686-pc-linux-gnu) libcurl/7.21.3 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18\r\n
  2. chrome  和 firefox 在连续地发送大约6次http 请求撞墙之后,gfw 似乎会随机阻断若干请求,但是没触发封禁通信的处罚。

总体上来说,目前结果比较乐观。

另外,我测试的域名是 liruqi.me,这个域名已指向一个会丢弃 RST 包的主机上,供大家测试。

Categories: gfw

Happy birthday to me

July 18, 2011 4 comments

火了,刚才一点保存,什么都没了,只有一个开头,大概是1小时前的备份。以后不用 wordpress 编辑器。如果写博客,我会在 google docs 上编辑,在这里发链接。近况

Almost everything is lost after I publish this post。I did not back a backup, and using “back” button of my chromium, I cannot get my post back neither. I will not use wordpress editor from now on. If any more post, I will edit in google docs and paste the link there. Fuck wordpress.com!

另外,提前说一下如何访问google docs(不保证时效性)。

1. 在 weibo.com 上注册新浪微博帐号(如果已经注册过请忽略)

2. 在 weibo.com 上关注 http://weibo.com/twocoldrss (如果已经关注过请忽略)

3. 点击这个微博中的文章链接: http://weibo.com/1670658877/xeV0MlfT0

4. 根据文章提示,修改你电脑中的某个文件。

5. 如果你在新浪微博上不小心关注了这个二逼, http://weibo.com/guojingming ,取消关注加入黑名单并举报不良信息。

6. 根据这个文章(https://plus.google.com/109067138922126306483/posts/g6FSWhL1YRC),继续修改你电脑中某个文件。

7. 前面步骤可以省略,点这个链接照做即可:http://www.cooerson.com/?p=270

然后,你的电脑就上google docs 就飞快了!

Categories: AboutMe, Weibo

如何创造财富

June 11, 2011 1 comment

今天在家看完了英文原版 Hackers and Painters (在线地址) 的第六章 How to Make Wealth。这本书我目前只看了第一章和第六章。因为书中一开始就说,各个章节内容相对独立,可以根据个人兴趣选择性阅读。于是我前段时间看完了第一章,然后直接跳到第六章看了。里面讲的财富和创业的概念,我觉得很不错,于是我对每一小节做了一个总结;总结的内容不全是书中原话,包含了我个人理解。当然,要真正理解这些概念,还是需要阅读原著以及其引用的相关资料。

1. 一个命题

创业是一个通过投入、专一的工作,在较短时间内给外界创造价值的过程。

2. 运气的成分

成功的创业包含运气成分;在一个尊重个体价值的社会,创业是致富的最简单直接的方式。

3. 金钱不等于财富

财富并不等同于金钱;财富包括我们对所需要的一切,如食物、住房、生活用品;金钱只是财富交换的媒介;做生意的目的是为了创造财富,“做出人们真正需要的东西”。

4. 大饼谬论

财富不像金钱那样相对守恒;我们为自己或者他人的创造或者工作,都是在创造财富,只是个人的创造不一定能交换出客观的货币数值。

5. 手工艺人

软件公司制作软件,如同传统的手工艺人创造工艺品,都是在创造财富。但是好坏程序员的生产力的差异,比手工艺人要大得多。

6. 工作是什么

工作成了一个社会人的身份标志之一。大多数公司的盈利手段是创造财富;那么工作则是在公司中与同事配合,共同创造财富。

7. 更努力地工作

销售人员的效益很容易根据业绩量化;但大公司,开发人员需要相互配合,很难衡量每一名开发人员的实际贡献的价值,所以开发人员的收入会被平均化;优秀的 hacker 在大公司的价值难以体现。

8. 工作的可量化性和重要性 (阮一峰翻译的小标题是”可测量性和可放大性”,我认为翻译成“重要性”更好理解)

要致富,你需要在工作中达到这样的位置:工作效益可以量化;工作内容是产品或者业务的核心部分。公司CEO、明星、运动员都可以达到这个条件。

9. 小团队的工作可以量化 (小标题有改动)

小团队的工作可以量化,优秀的人构成的小团队能产生更大的价值,也可以获取相应的回报。

10. 技术决定工作的重要性 (小标题有改动)

创业公司的产品需要有一定的技术门槛;这样才能有效抵抗大公司的抄袭;申请专利则是一种相对被动的抵抗方式。

11. 潜规则

在大公司工作,付出与回报很难对等。但是在创业公司,可能会大起大落,也有风险。创业公司需要灵活决策,谨慎避免各种问题,公司该卖掉套现的时候也不要犹豫。

12. 用户数量

用户是公司最重要的资本,也是你的对手和潜在的收购买家最看重的因素。公司的开发路线需要根据用户的需求和反馈灵活变化。丢失用户是对创业公司最大的打击。

13. 财富和权力

创造财富从来就不是致富的唯一方法;封建时期个体很难保护自己的财富积累;因此也抑制了技术革新。社会保证了个人财产不被强制侵占,才能促使人们用合法的、创造的方式去积累财富;同时,这种商用的技术发展,也能用于加强国家的军事力量。


我说些题外话。

1. 书中第六章提到一件事情,说是IBM 跟微软签署的DOS系统授权协议,犯了一个极大的商业错误。处于好奇心,我尝试去了解 DOS 时代的那段历史,然后一学弟推荐了一部电影,硅谷传奇 Pirates of Silicon Valley 。晚上在线看完了。其戏剧性不亚于最近的社交网络。社交网络基本上只是讲Facebook 公司的成长过程,以及那些不上进的对手;而硅谷传奇则讲述了PC 时代Apple 跟微软、IBM的创造和发展史;电影的表现手法也极其夸张。看完了电影,我才能理解国外的著名hacker 们 对苹果的狂热崇拜。那个时代的荣耀属于创造了苹果机的乔布斯,而盖茨不过是一个聪明而成功的投机商人。

2. 我觉得中国还不太适合创业。我以前接受的是马克思政治经济学,暂时也没有去了解西方国家对中国的政治、经济状态的定义。我的理解是,虽未的社会注意初级阶段,实际上是对中国处于的半封建半资本主义状态的修饰。最近几年频发经济犯罪,非法集资之类的名义,出事基本判死刑,可以说是对经济活动和个人财产赤裸裸的打劫;另外高税收也在剥削企业所创造的价值。本质上,这跟封建领主的剥削行为没多大差别。另外,创业公司还需要很谨慎地对待用户产生的内容。制度的和平演变是个循序渐进的过程,或许还有很长的路要走吧。

Categories: money

记录一下 5 月 28日 的 Google HTML5训练营

May 29, 2011 3 comments
28号星期六。我是26号经 杜欢 提醒,才想起来这回事。之前看过这个消息没报名。然后26号半夜发报名申请邮件。27号没消息,然后找Google China 的HR 帮忙问了下,相当于走后门提申请了。最近一直构思着做一个在线的劲乐团。我期待着过去之后的 hackathon 环节,能找些人一起做一下。
28号的上午一直在家做一些准备工作。劲乐团的音符数据,都是从一个开放的Be-Music Script 格式转过来的。另外,网上也有不少 O2Jam note file(.ojn, .ojm) 资源,都是二进制文件,而且不一定是开放格式,所以先不考虑了。转数据的脚本最开始是参考 github 上的一个项目 O2.js,不过这个项目现在很草稿,里面的解析脚本有问题。一上午在家,把BMS 转成 frame 位置到音符的映射表。基本可以让音符自己往下掉了。做的过程中也遇到了不少坑。比如,O2Mania 游戏中,对按键键位的定义,跟原始的BMS 格式定义不一样,导致解析后音符错位。折腾到12点半才出门。活动一点钟开始的,我估计坐公交换地铁,肯定会迟到了,于是直接打车过去。
下车之后,问人才找到地方,在一个小区里,场地是一个咖啡厅,两个房间。人挺多,看起来报名的人都有一两百,当然没全来,还有没报名现场直接签到的,有是多个人。我扫下名单,没我名字,然后在后面加上去了。我去里面房间,找一个位子坐下了。现场有免费的饮料、点心。刚好中午没吃饭,于是吃些点心充饥。我谁都不认识,刚开始也没怎么跟别人聊。过了好一会儿杜欢才来,然后讲座开始。第一个讲座是淘宝的李晶将怎么用 HTML5 做网站,讲了不少兼容性问题,我站后面跟杜欢听了下。第二讲是杜欢的,关于 HTML5 的游戏开发。第二讲和第三讲我都没仔细听。因为音乐和音符出现明显的不同步,发现了脚本生成的数据中,BPM(beats per minute)不对。然后改脚本,大概是那时候BPM解析的问题解决了。
讲座完了之后,就是传说中的 hackathon 环节了。我直接过去找杜欢,结果他说可能没空参与… 还好杜欢旁边坐着的是上上次创新工厂的 HTML5 交流会上认识的邱迪,然后我把我的想法跟他说了一下,顺便邀请另外两人一起做。项目介绍花了好长时间 =,= 后来觉得费时,我直接说分工了。4个人,我继续解决音乐和音符的同步问题,邱迪做游戏流程控制,男A做 canvas 效果,女B 做canvas 外部的页面… 我的代码直接放 github 上的,男A 用 mac,可以直接 clone git 项目,邱迪和女B 木有 git,只好用U盘…… hackathon 在紧张的气氛中开始了……
Hackathon 过程中,我做的事情基本上是 数值的调整以及代码合并。计算 frame 位置的公式是我昨晚推导出来的。直接按照公式,音符下落的速度很快。也不知道是公式的问题,还是实际fps 不准,我把生成数据脚本中的 fps 参数,从32 改到128,下落速度基本ok了;然后是调初始帧的数值,都是很细节的东西,不一一说了。后来合并代码,邱迪的开始界面写了两个,一个是 HTML,一个是用 canvas 画出来的。合了号半天才成功。女B做的东西改了canvas 的宽度,引发一系列问题,后来直接放弃了… 她住的似乎比较远,代码给我之后她提前回家了。男A的代码是做按键时的渐变效果。我看他是先自己写测试页面再来改我代码…… 靠谱。合代码也不顺利,一开始效果不理想,然后叫杜欢帮忙看,他也查文档做调整,还是实现了预期效果。代码合好了之后我才松口气吃饭去…… 对了,Google 连晚餐都提供了……
作品展示。我还是挺紧张,台下是想的东西到了台上都忘了说。3个小时,刷几道算法题还可以,做游戏的话时间太短。而且感觉是 Hackathon 的参与者大多比较小白,我也算一个吧…… 然后是作品评分,然后就有了一个二等奖。领奖时还是紧张了,CCTV都谢了都没谢Google… 奖品是一个音响,由于开发基本上是我主导,我就把奖品独吞了…… 回去的地铁上跟男A聊了下,男A同学在读研,创新工厂实习,做豌豆荚的;本科居然是学的经管,挺靠谱的一人,赞一个…
回来之后再仔细看这个活动博客:http://www.enjoyhtml5.com,才发现活动是 Google Chrome 技术推广部组织的。我也顺便推广下 chrome 。我笔记本 Ubuntu 11.04 上,我都把自带的 firefox 4 都删掉了。普通使用的话,firefox 没有不能被 chrome 取代的地方;firefox 的程序框架也比chrome 厚重;稳定性和易用性也是 chrome 胜出。即使是对于咱们程序员而言,研究出chromium 的安全漏洞可以拿悬赏奖金,你看firefox 代码有这好处么……
update at 5.31:
在 github 上建立了一个 project page, 可以看 sample: http://liruqi.github.com/gin-samples/o2/ 可能会后续做完善。
Categories: html5

我的生活

May 18, 2011 9 comments

博客中很少提到自己的生活。因为自己的生活,对于外人而言,毫无意义。

09年02月来北京,09年年底在网上认识了一个大我一岁的zw。那时候在新浪上班,下班之后她都会来找我。那个时候我还什么都不懂。冬天的夜晚,跟她牵着手总会触电。去年为赚钱跳槽创业,后来又跟老板不合,今年年初草草离开。中间跟zw吵过几次,分分合合。今年工作稳定后,我开始找别人,到目前一个都没捞着。zw估计是彻底对我失望。虽然住得近,但是大半年了没见几次面。仅有的两次见面都是不欢而散。我不知道她在想什么。我不知道为什么上午打电话还好好的下午就不耐烦不见面让我滚蛋。我讨厌这种善变而暴躁的人,比我还不靠谱。我通讯录中已经删了zw,我恨自己为什么周末闲着没事还找朋友要她的电话。

周末。

几乎每个周末都会去公司,陪电脑玩。在北京的师兄可能是因为有了女朋友,没有以前那么积极组织集体活动了。前段时间下班后还在公司打dota。我dota玩得不好,vs上打经常被人骂,慢慢的就不在外网打了。家里不能上网,我不知道自己会租多久,也懒得自己弄网。不过前几天运气好进了一个没加密的无线路由器的网页控制台,然后把自己电脑和手机的mac地址加到了白名单,于是……下班后可以直接回家了。

现在性压抑得厉害,晚上都能做很奇怪的梦,早晨醒来赖床不想起。有件很神奇的事情是09年来北京之后,某次自己洗澡才发现手淫可以让自己射精,在这之前我以为用手抚摸就算手淫了。而在手淫之前我有过成功做爱的。想想那一次成功折腾好久,多么来之不易。现在可以控制自己手淫。手淫不会有做爱时拥抱抚摸的愉悦,而且我怀疑手淫会更快地让自己变老。两个月前我还用过避孕套手淫,好浪费 🙂

ps:北京有靠谱的性交易场所或者性工作者么?

理想。

当时以为自己离职创业是为了理想,其实自己算计的还是钱。慢慢的发现,为了别人的理想被跟抽着鞭子跑,并不是我喜欢的生活和工作。那时候一般很晚下班,自己做开发还得盯着服务器监控,出问题了给机房打电话。之前没有运维经验,服务器死机都不知道从何入手。后来仔细想想我还是不想什么都管,我不擅长同时跟踪处理多个问题。 现在工作内容倒是没有问题了,只是自己还没找到技术上前进的目标。

还是有些想出国,万一明年真的上外网搞白名单了呢。

政治。(政治看起来跟生活无关。我写这个,主要是不希望日志导入到人人)

前几天看了下一个在清华教书的老外写的几个太子党的简历(http://chovanec.wordpress.com/2011/05/08/primer-on-chinas-leadership-transition/),关于明年换届的候选人。我个人支持习近平。简历上看不出谁上台之后,众屁民能活的更自在些。只是发现习近平他爸人还不错,希望他多少能有些耳濡目染。下个月四号放假,天安门会不会有些好戏?记得09年的64,艾神在天安门的行为艺术,太霸气了。

update at 22 May, 2011

昨天晚上十点多去在附近逛了逛, 进去了, 体验很糟糕. 我就说一下吧. 找妓女找年轻的, 至少一般不会欺诈消费者. 这毕竟是交易。从一般的法律意义上来讲(天朝的就算了),卖淫的行为合法,而欺诈是非法的。带欺诈行为的交易, 我不会做第二次。

说下过程。

1. 进去一家店里问价格。还是按摩50 推油50 口活100。然后我问做爱多少钱,她说100。我问是脱裤子做吗,他说是啊,不脱怎么做。然后我说ok。她让我先给钱,行,我给了。然后上床,上去之后发现,妈的,床上里边还睡着一个baby。

2. 结果我上去之后,套上TT,只给BJ,她不上来。我问她为什么不上。她说JJ没硬起来怎么做。后来硬了她还是不上。我问为什么。她说脱裤子做另外收钱。我问多少,她说300。我认栽了,一看兜里只有260。我说身上就这么多,260行不行。她说不行,我说我去取钱吧。然后提裤子走了。

3. 我还真去取钱了。完了之后就在纠结要不要去。因为之前的过程让我对她的品行很怀疑。纠结半天还是去了。我有了戒心,说给100完事之后再给100行不行。她说不行。那我200全给她了。然后。。她横躺床上,这种姿势令我很不舒服。因为我没有这样做过。我让她平躺床上,她就像听不懂一样。我也懒得继续说,只想快点完事。这姿势弄得我很累,而且没法高潮。

4. 完了之后,她居然说BJ 和做爱分开算,我还得给她一百。这次我生气了,跟她顶了两句。她仍然不依不挠。我想跟这种人没什么好说的,直接开门走人,她居然威胁我说打电话叫人。。。我摔门走了。

什么世道。即使是为生活所困,也不应该用欺骗和威胁的方式赚钱。昨天中午跟同学一块吃饭,说中国没救。因为许多中国人的素质和观念的确有问题。他们痛恨统治者,是因为他们恨自己没有处在那个位置;如果换位,他们也会做出同样的事情来。即使社会底层的人也会使用暴力来威胁。中国上一辈人都擅长欺骗、暴力,不会去讲道理,这种做事的方式不知道会传承多久。去死吧,这个万恶的社会。

Categories: AboutMe

Ubuntu 上安装 ibus云拼音输入法

May 17, 2011 2 comments

ibus云拼音 是一个可以利用在线词库的ibus 输入法。目前 Ubuntu 11.04 默认的输入法框架就是ibus。安装方法参考wiki,不过需要仔细看评论。我说一下目前我已知的  Ubuntu 上最简单的安装方法。

sudo apt-get install liblua5.1-0-dev liblua5.1-socket2 libsqlite3-dev libibus-dev libnotify-dev lua5.1 libgee-dev sqlite3 valac-0.10
sudo update-alternatives --config valac
svn checkout http://ibus-cloud-pinyin.googlecode.com/svn/trunk/ ibus-cloud-pinyin-read-only
cd ibus-cloud-pinyin-read-only
make
sudo make install

然后登出,重新登录,在ibus配置中应该能找到了。

说明一下,这个项目去年年底作者就没更新了,wiki 里面说的方法,现在有点问题。Ubuntu 的软件源上的valac 版本到了 0.12, 而ibus云拼音并不支持valac-0.11 以及以上版本,valac也没有保证向下兼容,所以apt 安装 valac 需要指定 0.10版本。我尝试过修改ibus-cloud-pinyin 项目代码,使其支持 valac-0.12,目前基本可用,但是不稳定,曾让我桌面两次崩溃并退出到登录界面。还有个问题,是valac依赖于 libnotify 0.7,ubuntu 上目前只有 libnotify 0.5,所以有些统计信息的展示我暂时去掉了(这个问题我还给ubuntu报了一个bug)。我修改的代码放在git 上了,有兴趣的同学可以帮忙改进一下。

Categories: Ubuntu

Dabr for weibo

April 30, 2011 5 comments

Last update: 2012/10/1

最近又更新了不少,另外我决定停止开放源代码。我直接在原文中删改。

Dabr for weibo 是一个新浪微博类似Dabr 的Mobile web第三方。做这个第三方应用的主要目的是尽量 减少新浪微博的信息重复和信息干扰。

Dabr for weibo 最开始是 @timyang 改的,我在他的基础上做了些完善。目前github 上代码已经停止更新。

最近做了一次更新,v2ex 上有些更新说明。

在这里我说一下使用这个第三方的理由吧。

1. 界面元素简单,加载速度快(审核通过后才能用上)。

上面提供的两个地址,服务器都是新浪云计算平台,说不定都在一个机房,网络延迟很小。dabr 本来就是为手机浏览器设计,加载的数据不多。绝不会出现新浪微博首页,加载N久,chrome 还在转圈圈。

2. 信息聚合

有些消息,比如时事新闻,很多情况是,你的 follower 中有多人 retweet 这个消息,于是重复的信息你会看n 遍。这大概是 twitter 主站仅支持保持全文 + 作者的官方 retweet 原因之一。于是一个消息,多人 retweet,你只需要看一次,然后看 retweet 次数得知消息的热度。我本人是对信息重复很反感,所以在 dabr-for-weibo 中加入了根据转发原文聚合。转发理由,仅完整显示最新转发人发的,不过也会有一个转发的关注人列表。

说下现有的问题。

1. 硬伤是新浪微薄  api v2 做了很多限制,暂时无法调用搜索、私信接口。

2. 因为审核相关的问题,不能改应用名称,以及来源地址。

3. 英文界面,无汉化版。这是上一次审核不通过的理由。

4. 暂时没做消息提示,认证用户标记等。

另外,新浪的SAE 在 dawbr.sinaapp.com 的登录时容易报内存不足。好像是因为代码中我用了 debug_backtrace() 函数,导致内存不足。后来我做了些调整。SAE 给php-cgi 进程的内存是不是少了点啊。。

 

Categories: Dabr, Weibo, 新浪

Android平台翻墙方案总结

April 10, 2011 6 comments

跟国家防火墙干上了有两年了,弄得本人都有点人格分裂。因为我长期不用Windows,PC上的方案我就不说了;Android平台我相对熟悉,所以简单总结一下。其实理论上都差不多,只是Windows 系统上,有一些商业公司提供的闭源翻墙工具。

1. 支持所有网络的 web proxy。一个典型的工具是 google 的移动设备的适配服务:http://gxc.google.com.hk/gwt/x?u=http%3A%2F%2Fdeveloper.android.com。类似的翻墙方式google translate的网页翻译也能实现。另外就是别的web proxy, 以前有发过总结这种项目/工具的总结 web-proxy 评测报告 。这种方式有局限,你不能触碰关键词(特别是 URL 中,这种代理一般是http的)。如果有支持 https 的web proxy 服务,就比较理想了。

2. 仅支持移动网络(如GSM, WCDMA)的 HTTP Proxy。这一般需要你在国内有一个主机,然面运行个如squid 的HTTP代理程序(我之前是在服务器上用 gappproxy 做的公共HTTP 代理,不过现在GAE已经连不上了);手机上的移动网络接入点设置中,填写HTTP代理ip以及端口。这种方式可以让自带的 chrome lite 浏览器走代理。其它的浏览器和应用程序不一定会使用这个代理。(Andorid 系统似乎可以在数据库中为每一个应用程序设置代理,但是能够保证应用程序一定使用这个代理吗?我估计不能。)

3. socks代理方案。典型的工具如是 TransProxy ,是一个简单设置全局代理的工具,可以配合connetbot 端口转发功能,做系统全局的透明代理。对于大陆用户,TransProxy 的缺陷在于不能处理dns劫持。目前我比较看好的一个项目是 sshtunnel,功能很强大,可以处理dns劫持。sshtunnel的配置有点复杂。有两种代理工作模式:a) 本地socks 代理,如果只有一个ssh帐号,需要开启这个方式;b) 远程socks代理,需要在服务器上开squid代理,这样做的优点在项目issue 里有说明:http://code.google.com/p/sshtunnel/issues/detail?id=8&can=1,不过文档不够清晰,还需完善。这种方案的原理可以看我上一篇日志中有说明,它的的好处是,可以保证应用程序使用你的代理;可问题在于,这个方案需要root权限用 iptable 做端口转发,对于普通用户门槛较高。

4. 国外VPN。目前而言,买个VPN自己用是最省心的翻墙方案,Android系统上可以直接配置。推荐下 @xiaodin店铺(非广告,纯友情链接)。

Categories: Android