喝茶再记

昨晚又一次在家中被喝茶,离上次接冯正虎喝茶,恰好刚满一周年。送走几位国保以后,在推上做了广播记录。下面简单转过来:

leira
刚刚送走几位国保兄弟,详细一会儿报告

leira
今天片警过来的国保三人,一位年轻刘姓警官,上次喝茶就有他,一位陈姓警官,忘了具体名字,一位较年长的王玨警官,名字比较印象深刻,主讲的也是他 #hecha

leira
没有茶,给各位警官到上水,坐下来,寒暄过后,进入正题,关于茉莉花 #Jasmine 。不过倒是没有特别关心我精心制作的茉莉花铃声,唉,伤心~ #hecha

leira
先遮遮掩掩问我,说是为了最近的大事情过来的,我问是什么事情,说是最近么,就这么件大事,我说,到底是什么事情,他们说,就是茉莉花嘛,我说,茉莉花什么?他们才说,茉莉花游行的事情,我知不知道。我说,不就是在闹市区逛逛嘛,人民广场,什么时候没有那么多人,慌什么。 #hecha

leira
国保说,看到我在twitter上转推关于茉莉花 #Jasmine 革命的推,是不是代表我个人观点,我说,这是转推,说明我看了觉得有意思,希望我的foer们也看到这么有意思的,所以就推了。 #hecha

leira
今晚恰好有个朋友来我家,结果被国保撞上,不得不在我房间等到国保走了以后才走~我说国保同志你们怎么不事先电话联系一下再过来嘛,他们说没有我的电话。我问那你们怎么知道我今晚在家,他们说,没办法,只好过来碰运气来等啊~我说,这成本也太高了,我作为纳税人好肉疼啊~ #hecha

leira
因为周一来过我家找我,恰好逮到了无辜的 @enochlu ,所以他们知道我上周日没在上海。他们说,很好,问我这个周日我会不会在上海。我说很巧,我还真不在,要出去旅游,他们仔仔细细问了行程日期,安了心,顺便聊了聊旅游心得 #hecha

leira
然后王玨国保说,给我一个建议,不是强制,希望我接下来几个礼拜,周日也不要去人民广场了。我说,你这个建议有问题,我一个自由人,你怎么能够规定我能够去哪里,不能够去哪里呢?限制我人身自由,这个建议我不能认同。 #hecha

leira
我问为什么,王玨国保说是我们都心知肚明,不要造成不必要的麻烦,没必要的事情不要做。我说,我不明白啊,你说清楚啊,到底去人民广场散个步有什么问题,违背了哪条原则。陈国保插话,所有法律我们警察都是要执行的。我问,那你们今天过来到底是因为我或者茉莉花违背了哪条法律呢? #hecha

leira
然后陈国保改口说,即便不是具体的法律条文,我们都知道这个社会,是有他的游戏规则的。我继续问,那到底是违背了哪条游戏规则呢?王玨国保说,这个叫茉莉花革命,是要像突尼斯和埃及一样推翻政府。 #hecha

leira
我说,我是真的很认真的转推这个推文的,它的口号讲的是抵制高房价,高菜价,讲的是老百姓自己的民生的。我们辛辛苦苦身无片瓦,现在更落得吃饭都是个问题,我们找个地方吆喝一下也不行?里面哪条口号讲的是要推翻政府了? #hecha

leira
我说,你们自比突尼斯,埃及,是不是太掉价了。突尼斯总统家族掌握了全国一半的财富,老百姓日子过不下去,要推翻这个独裁者下台,你说应不应该,突尼斯的游行是不是对的?王玨警官说,应该应该。我说咱们中国到这个地步了嘛?他说,没有~ #hecha

leira
他们说这个是国外势力利用,试图推翻政府。我说,突尼斯/埃及,那确确实实是老百姓自己想要推翻独裁者的,他们是发自内心的喊出下台的口号的。如果老百姓不是自己这么想,煽动,是煽动不起来的。在中国,如果不是老百姓都要这么想,你们怕什么? #hecha

leira
我对国保说,老百姓只是希望能够改进民生,你们不从根子上去解决,找我喝茶有什么用?这次随手拍乞儿的活动,上海现在已经看不到乞儿了,我想想就非常心疼害怕,他们到底到哪里去了,你们不从根本上改进福利,促进底层老百姓的生活,单单赶走乞儿有什么用? @hecha

leira
王玨国保说,散步游行这种方式不可取,人多了以后不可控制,就会打砸,就像当年的419反日游行一样。我偷笑笑,听说上次419不都是全程有警察在旁边跟的吗?他们说,警力太少,其实我们原本也没打算让他们这样。我说,“原本”没“打算”“让”?偷笑~ #hecha

leira
王玨国保说,你不应该转这种推煽动大家上街,要是每个人都去煽动别人去,那怎么行。我说,如果每个人都去煽动别人的时候,就不需要煽动了~ #hecha

leira
今天国保进来,第一件事情,就跟我说,如果你要录音,一定要事先告诉他们知道,把录音设备放在桌上。我笑笑说,我家里没把这么高级的设备,也不打算录音。现在想想有点傻,大家一定要引以为戒。也提醒几位国保朋友,下次过来,我要全程录音了,回头整理起来也彼此方便 #hecha

leira
王玨国保最后很不耐烦,说你不要装傻充愣,大家心里都明白。我说,王警官,虽然你比我年长,但是你这么说我装傻充愣,我还是很不开心。我确实不明白,我还你一句装傻充愣,我问了半天,你们所说的原则和规则到底是什么?散个步到底违背什么?能不能告诉我?他们就又开始支支吾吾了~ #hecha

leira
王玨国保说,他们过来,只是希望给我一个建议,希望我以后老老实实生活,谁都不希望看到警察来找。我说,我还很奇怪为什么你们回来找我,我一不偷二不抢,你们过来找我,这么大的成本,我也交税,年底税单刚刚来,你们过来每次,我都得给你们掏钱。这么多大贪大盗都抓完了? #hecha

leira
王玨国保要挟我,你这样,我们还得再来着你,下周日之前。我说,我不欢迎你们过来,但是你们要来,我自然以客相待,有水喝有烟抽。他们问我有没有联系方式,我说就这里,你们来找我好了,我最近饭局多,比较忙,不一定找得到,就不好意思了。 #hecha

leira
看看时间太晚,我说,我朋友还在,时间太晚了,要不今晚先到这里。王玨警官你的观点我明白了,虽然我还是不清楚你所谓的规则是什么,但我不认同你的观点,咱们求同存异。送走了几位国保,在门口还信誓旦旦下回还要来着我,我说,就像你们说的,警察么,还是少见比较好,太忙就不用过来了 #hecha

leira
喝茶记完。总结,上推还是稍稍小心,他们都是带着打印好的推文来的。转推不代表你的观点,这点很重要。不要没事直接喊什么推翻共产党,落人口实。咱们就是论是,谈实在的,谈普世的~遇到喝茶,Don’t Panic!平心静气跟人聊,最好要录音。真小人坦荡荡~ #hecha

leira
喝茶补记,国保带来的打印好的推文,指着我发的关于“可惜只有13个城市,征集其他城市的闹市商业区”,认定是我的口实。我说,我只是觉得只了解了13个大城市的中心商业区太少了,还想知道其他城市的,这不,我知道了南京的商业中心区,这次还去逛了呢 #hecha

Posted in Life | Leave a comment

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!

Posted in Uncategorized | 1 Comment

在Android下使用Google Voice低价高音质拨打美国电话

在G1换到Nexus One,用Google Voice已经好几个月了,一直想要把如何在国内设置使用Google Voice的过程写下来,欠到了现在。

一般现在网上流传Android下使用Google Voice拨打的方法,一般往往会倾向于免费,使用VoIP的方式来使用,但太过依赖于网络状况,以国内的Edge/GPRS或者3G的状况,造成主要两点问题。一个是通话质量无法保证,根据网络状况会有极大的延迟,甚至破音,或者甚至根本连接不上。另一个就是因为网络的状况,不能保证VoIP客户端能够一直保持链接,如果VoIP软件掉线了,那么别人想通过Google Voice号码联系你,就会联系不上。所以,VoIP的方式,作为尝鲜试用可以,但是作为实际使用,意义就不大了。

所以,需要一种不一定免费,但要低价,通话质量好,又能24小时保证别人能够联系到你,可以作为实际使用的方式,最好能够只依赖于语音电话网络。

我所使用的方法是用LocalPhone搭配GV来使用Google Voice,达到不依赖于任何后台连接软件,只依赖于电话网络,保持24小时能够被联系到,只有在需要拨出电话的时候需要小流量的网络连接,话音质量接近固话音质。

LocalPhone是美国的一家IP国际电话运营商,提供低价的,基于IP网络的国际电话服务。他们的拨打方式,以从美国打到中国为例,会对你需要拨打的中国号码,生成一个美国本地号码与之对应,在美国当地使用你允许的主叫电话,只要拨打这个美国本地号码,就可以呼叫到你所需要拨打的中国号码了。LocalPhone从美国打到中国的资费是1.2¢/min,折合人民币不到一毛钱,事实上比国内的市话便宜。

GV是Android上一款非官方的Google Voice客户端软件,可以在Market里面直接下载到,相比官方的Google Voice软件,提供了Call Back的呼叫方式,即,通过网络向Google Voice申请,Google Voice先Call back到你的电话上,然后再拨叫你需要的号码。通过Call Back的方式,只要Google Voice能够呼叫到你的电话,就能够使用Google Voice,而不必每次都国际长途打到Google Voice号码上。但是Google Voice目前只能绑定美国号码,这就是为什么要LocalPhone出场的原因。

基本的思路是:通过LocalPhone,生成一个美国号码映射到你的手机上,然后在Google Voice中绑定这个美国号码。这样,每次别人通过Google Voice呼叫你的时候,Google Voice就会呼叫到你所绑定的美国号码上,然后就呼叫到与之映射的你的手机上了,这时候甚至完全不需要GV出场。当你想通过Google Voice拨打美国电话的时候,使用GV,用Call Back模式拨打,Google Voice就会通过绑定的LocalPhone的美国号码先呼叫到你的手机上,然后再拨打你所需要拨打的美国电话。因为Google Voice呼叫任何美国电话都是免费的,如果你的手机是单向收费的,那么不论是接听还是呼出,收费都只是LocalPhone到你手机上的1.2¢/min,低于拨打国内的市话。

下面大致讲一下怎么设置,先说LocalPhone

LocalPhone站点注册一个帐号,按照你的需要选择一个美国的区号,然后到如下图的Dashboard上。

Localhone Dashboard

Add一个Contact,选择中国,填上你的手机号码,然后给这个号码取一个名字。这会在Dashboard上生成一个联系人,上面的2.号码就是你的手机号,1.号码是LocalPhone为你生成的美国本地号码。

下面的Your Numbers是你所授权的可以用于拨打上面这些Contact的号码,这里就要加上你的Google Voice号码,如上图中的3.号码。如果还没有申请Google Voice号码的,请继续往下看,等申请到了,再过来设置。

然后去申请Google Voice,这个不复杂,文章也特别多,不具体讲。主要在国内遇到的问题是激活的号码,必须要一个美国号码来验证,这就是LocalPhone方便的地方了。当你到了需要验证号码这一步了,你应该已经选好你的Google Voice号码了,回到刚才的LocalPhone Dashboard,把你的Google Voice号码加到Your Nunbers里面,也就是上面的3.号码。然后回到Google Voice,把LocalPhone给你的美国本地号码,也就是1.号码作为Google Voice的验证号码,然后点击Connect,在你手机上等电话就好了。验证通过以后,这个号码也就跟Google Voice号码绑定了。

接下来就是Google Voice里面的设置了,到Setting->Phones,选择你刚刚绑定的那个LocalPhone号码,选择Edit,你可能会想要去掉“Receive SMS on this phone”这项,因为LocalPhone的号码收不到短信的。然后,也是最最重要的设置,到Setting->Call下面,Caller ID (in)这项,一定要选”Display my Google Voice number”,如下图。

Google Voice Call ID Setting

这个非常重要!这也是为什么LocalPhone为什么要设置Your Numbers的原因,因为LocalPhone分配给你的这个号码,可能会跟很多人共享,LocalPhone需要通过呼入号码来具体判断到底改打到那个长途电话上去,所以Google Voice打到LocalPhone的电话,Call ID必须是显示Google Voice Number才行,否则就不知道打到哪里去了。这也是使用LocalPhone的一个代价,你不能看到别人的来电显示号码了。不过,你可以使用Google Voice的Call Screening和Call Presentation功能,其实比来电显示要更强大。

到此为止,别人已经能够通过Google Voice号码打到你的手机了,你已经可以导出发邮件发tweet通知你的闪闪发光的新Google Voice号码了。如果需要通过Google Voice呼叫出去,还需要去下载GV软件。设置GV很简单,不细讲,关键是Calling method选择 Call Back,然后Your callback number填写上你的LocalPhone的美国号码,也就是1.号码。然后你就可以在GV里面拨打一个美国号码试试了。

以上就是我的LocalPhoone + GV的Google Voice使用方式。除了能够低价打美国电话之外,其实Google Voice呼叫其他国家的国际长途都是非常便宜的,而且现在在Android下面拨打非常方便。

Posted in Android | Tagged , , | 6 Comments

Gnome-Terminal 的默认窗口大小

尝试了各种方案,Gnome-Terminal死活不听话,.Xdefaults完全没有用,Gconf似乎也没有对应的选项,最后屈服,还是用了在Main Menu里面修改了Launcher参数,加了 –geometry=90×30的启动参数。现在通过菜单和Gnome-Do都OK了,我也就满足了,惟一的问题就剩下通过Gnome-Terminal的Open-Terminal菜单打开的新窗口还是老样子。这个bug悬在那里多少年了都没人管以下~……

Posted in Linux | Tagged , , | 1 Comment

TwitterFox用nest.onedd.net翻墙

由于ssh代理不能用了,Twitterfox已经歇菜很久了,昨晚看到了可以用http://nest.onedd.net/api来做Twitter API来翻墙,粗糙的改了一下TwitterFox,现在勉强可用了。

仅仅改了一下API的地址。文件是 FIREFOX_PROFILE_DIR/extensions/twitternotifier@naan.net/components/nsTwitterFox.js,修改如下:

--- nsTwitterFox.js     2009-08-03 11:48:03.711450800 +0800
+++ nsTwitterFox.js.bak 2009-08-03 14:17:04.052111000 +0800
@@ -35,8 +35,7 @@

var db = null;

-var TWITTER_API_URL = "http://nest.onedd.net/api/";
-//var TWITTER_API_URL = "https://twitter.com/";
+var TWITTER_API_URL = "https://twitter.com/";
var NETWORK_TIMEOUT_TIME = 120;
var APP_NAME = "TwitterFox";

然后记得先清掉TwitterFox里面的账户,关掉Firefox,然后到你的FIREFOX_PROFILE_DIR下面把twitterfox_1.8.sqlite文件删掉,然后重启Firefox就好了。

至于为什么要删掉twitterfox_1.8.sqlite文件,可能是我迷信了吧?如果不清掉的话,他会根据你已经存下的消息ID,只下载这个消息ID之后的消息。也许是onedd.net的API用的是和twitter不一样的ID吧,一条都没有收下来。懒得深究,清掉本地的数据库,直接重新下载新的就好了。

下一步计划,打算加一个跟Twidroid一样的选择API的UI,跟TwitterFox的开发者联络联络看~

Posted in Firefox | Tagged , , | 1 Comment

be free to fuckGFW, be free to ssh-D, be free to access global Internet

为了换取FuckGFW的SSH帐号,将一下文章转载于此。下面是正文:

本文将提供一种一劳永逸的翻墙方式(ssh -D),实施之后,那道墙——对你来说——将从此透明。

本文面向的用户:使用Windows作为操作系统并且使用Firefox作为常用浏览器。

第一步:免费获取拥有SSH权限的帐号和密码。

默认的免费获取方式:将本文转载到你自己的博客上,将转载后的文章网址发送到f.ckgfw#gmail.com

转载方式:拷贝文章代码至博客后台HTML编辑器中,直接发布即可,文章标题自拟,可在前后文插入自己的评论。

经过人工审核,你将收到一封附有五个拥有SSH权限的帐号和密码的电子邮件,你可以将它们赠与你信任的人。

更多获取方式将在今后陆续激活,请关注我们的最新更新:https://friendfeed.com/fuckgfw

第二步:配置MyEnTunnel软件

下载并安装MyEnTunnel,该软件全名为My Encrypted Tunnel。

一键下载:https://dl.getdropbox.com/u/873345/download/myentunnel.exe

myentunnel

按照上图将第一步收到的帐号信息填写到相应的地方后,点击save按钮,再点击hide按钮。

第一次连接过程中会出现一个认证对话框,按照提示确认即可。以后的自动连接中将不再出现此认证对话框。

最后点击hide按钮,使对话框隐藏到系统任务栏中。

提示:

为MyEntunnel创建一个快捷方式,将其复制到系统的【启动】(C:\Documents and Settings\当前用户名(需要修改成你自己的)\「开始」菜单\程序\启动)文件夹中,今后开机便可自动启动软件,并自动连接服务器。

tray

绿色代表连接成功且稳定;黄色代表正在连接或重新连接;红色代表连接失败。

第三步:配置Firefox浏览器

假设你正使用Firefox浏览器阅读本文。

一键安装:http://autoproxy.mozdev.org/latest.xpi

xpi-offical

点击立即安装,安装后,重新启动Firefox。然后你会看到如下对话框,选择gfwlist (P.R.China)后,点击确定。

gfwlist

接着你会看到Firefox主界面右上角出现有一个“福”字图案,点击“福”。

fu

点击“代理服务器——编辑代理服务器”。

edit

随即出现如下画面,你会看到如GAppProxy、Tor和Your Freedom这样一系列代理服务器名称。

before

将GAppProxy一栏的参数修改为如下图所示。

after

修改完毕后,点击确定。至此配置已全部就绪。

获取更多帮助,请关注反馈中心:https://friendfeed.com/fuckgfw-feedback

Bernie:"Eat me!"

第四步:支持fuckGFW

  1. 如果您翻墙成功,请大笑一声并用充满磁性地低音说出:Hello, world!
  2. 如果由于线路原因,始终翻墙不成,不要气馁,给我们发Email,咱们一起解决问题。
  3. 假如哪天突然无法正常连接,请先到反馈中心汇报,我们会及时做出反应。
  4. 目前您有如下几种方式及时获取我们的最新动态:FriendFeed | Twitter | Blog
  5. 保持默契,我们相信您一定可以做到。

版权信息:您可以自由复制、传播、演绎本作品且无需署名、无需注明原始出处。

Posted in Web | Tagged | Leave a comment

我用的Firefox Extensions

又换回用Firefox了(善变的男人啊~~ --拜托,我用了三年Opera了好伐,已经不算善变了!)。通过一些Extension,Firefox的功能已经和Opera相当了。换回Firefox的最初原因是因为Opera在Linux下对Flash 9的支持不太稳定,而Firefox在64bit的系统下面可以通过nsplugin-wrapper来支持Flash 9插件,64bit原生程序总是不能抗拒。而能够自己写Extension扩展,是Firefox 不可替代的优势啊~

这是我用的Extension列表,用Listzilla生成的:

Enabled Extensions: (23)

Access Flickr! 1.5
All-in-One Gestures 0.18.0
Autohide 1.1.5
Chinese Simplified (zh-CN) Language Pack 2.0
Compact Menu 2 1.8.1
Custom Buttons² 2.0.4
del.icio.us Bookmarks 1.5.29
DownThemAll! 0.9.9.10
English (GB) Language Pack 2.0
Find Toolbar Tweaks 1.1.1
Firebug 1.05
Forecastfox 0.9.5.2
Gmail Manager 0.5.3
Google Browser Sync 1.3.20070523.0
Greasemonkey 0.7.20070607.0
ListZilla 0.8
ScribeFire 1.4.2
SearchWP 1.0
Stylish 0.5.2
Tab Scope 0.1.5
Traditional Chinese (zh-TW) Language Pack 2.0
ViewSourceWith 0.0.9
Web Developer 1.1.4

其中两个Language Pack嘛是Ubuntu默认安装的,就不比深究了。其中Firebug和Web Developer是长年Disable的,不动关键时刻是不轻易出手的。而Tab Scope也是纯粹出于对Opera的怀念,实际用处不大,也是Desable比Enable的时间多。

这个列表如果有变化,我是会随时更新的。等过一阵有空就给其中一些Extension写详细的介绍。
过一阵有空了,公司的机器也打算换成Firefox,也是给自己的参考。

Posted in Firefox | Tagged , | 1 Comment

UnitTest++ 在VC6中编译的patch

UnitTest++是一个全功能的C++ unit test framework,与老牌的CppUnit相比轻便简单灵活。
但是下载以后发现,不能在VC6下编译。去网上搜搜,看到的大多数都是“throw this junk compiler”的意见,但是公司里用的还是VC6,没有办法换。所以只好自己写了一个patch
其实问题到也不大,主要有三点:

  1. VC6中的strcpy等字符串函数不再std namespace中
  2. VC6臭名昭著的for (int i)中i的作用域问题
  3. VC6不支持template function和non-template function的overloading

其中第三条较麻烦,换了一个traits类来解决,作到了接口不变。所有的166个test都运行通过。

这个patch的修改都用编译开关包了起来,并不会破坏其他编译器的编译,已经在VC2005, gcc 3.4.4(cygwin)和gcc 4.1.2(Ubuntu Feisty)中测试通过了。这个patch原本是针对UnitTest++ 1.3的,不过经测试在最新的svn revision 184上也能正常工作。

patch可以在这儿下到。

Posted in Programming | Tagged , , , , , | Leave a comment

Linux下firefox播放Stage6视频

Divx的Stage6是个很不错的视频站,高速,清晰,简直惊艳。不过播放需要安装Divx Web Player,而它只有windows和mac版。Linux下可以用mplayer的mozilla Plugin来播放。ubuntu下只要安装 mozilla-mplayer 然后重启firefox就可以了。不过这个package有些问题,mplayerplug-in-dvx.so文件没有被连到/usr/lib/firefox/plugins中,launchpad的Bug #112055题到了这个问题。解决很简单,只要把/usr/lib/mozilla/plugins/下的mplayerplug-in-dvx.so和mplayerplug-in-dvx.xpt符号连接到/usr/lib/firefox/plugins/下面就可以了:


cd /usr/lib/firefox/plugins
sudo ln -s ../../mozilla/plugins/mplayerplug-in-dvx.so .
sudo ln -s ../../mozilla/plugins/mplayerplug-in-dvx.xpt .

Posted in Linux | Tagged , , , | Leave a comment

[转帖]当我眼睁睁看着医生放弃了我女儿的生命

我原本并不想转这篇文章,当我发现GFW的魔爪连这样的生命都不放过的时候,我决定必须要转全文留照,GFW和谐一个镜像,我们就更多出一个镜像。

我觉得有些事情并不只是简单的医德沦丧的问题,如果意见事情一旦归结到道德的问题上,事实上也就已经主动放弃了改进他的可能。归根结底还是管理和制度的问题。每个人都是自私和理性的,有去追求个人利益增长的欲望,一味的强调修身养性提升道德,也许对一两个个体有效,但要拿来解决社会问题,就根本就是可笑了。所以再保先,也是狗屁~ 真正的解决方法,是如何从制度上去约束这些人性的丑恶,使其暴露在舆论之下,让人的理性去限制自私~ 在这个无民主无法制的社会当中,一切都是空谈。可以想见的,这位父亲的悲痛,也只能随着网络小范围的传播一下,一定登不上主流媒体的大雅,更别说就这么在网上的传播说不定什么时候就被和谐掉了。

补:经证实,这篇文章事实上已经被和谐掉了~ 可以尝试用google搜索这个标题,看看 1.能不能访问上面搜出来的文章链接。 2.google还能不能继续使用(点下一页看看)。 这个党,让人胆寒~~
Continue reading

Posted in Life | Tagged , | 3 Comments