September 18, 2010

DiaHostingVPS配置ipv6隧道笔记

本文主要参考了kangzj的《你的网站“IPv6 Ready”了吗?》一文,在他提供的步骤上做了一点改进,在diaHosting的VPS上试验成功。
本文假设你已经会常用的SSH操作(新手推荐使用WinSCP)。

步骤:

1.注册免费的HE IPv6 Tunnel Broker

注册地址:http://tunnelbroker.net/,点击“Register”即可注册。

2. 添加Tunnel

点击左侧“Create Regular Tunnel”:
image
在“IPv4 endpoint”填入你VPS的IP地址,HE会根据你的浏览器的IP地址帮你选择服务器,但并不一定是最好的,你要根据你的VPS的地理位置,选择服务器的地址,我购买的是Los Angel的VPS,于是我选择了Los Angel, CA, US的服务器,点击“Override”可选择服务器。
image
再点击“Submit”,即可建立Tunnel。

4. VPS上的设置

回到HE IPv6 Tunnel Broker的首页,点击刚刚建立的Tunnel,会有这个Tunnel的详细信息:
image
可以看到,HE给你分配了/64的IPv6地址,也就是你有2的64次方个地址,这辈子都用不完,哈哈。在详细信息的下面,有一个设置你VPS的方法,点击“Show Config”就会出来设置方法:

modprobe ipv6
ip tunnel add he-ipv6 mode sit remote 66.220.18.42 local xxx.xxx.xxx.xxx ttl 255
ip link set he-ipv6 up
ip addr add 2001:470:c:662::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr

he默认添加 ::2/64 地址 你也可以添加更多的地址,如要添加 2001:470:c:662::3/64 只需增加一行命令
ip addr add 2001:470:c:662::3/64 dev he-ipv6

5.服务器程序设置
(以下命令如果提示not command等等,请用 whereis 搜索命令所在文件夹)

I. Apache (如果你用的diaHosting的默认带Kloxo面板设置,那么服务器是Lighttpd,请在Kloxo面板中找到程序切换,将Lighttpd切换成Apache)
1.修改配置
默认装机的Apache版本已经支持ipv6,只需要修改httpd.conf文件即可
打开 /etc/httpd/conf/httpd.conf
查找 Listen 80;
在后面增加一句
Listen [::]:80;

相应地在文件末尾找到<virtualhost> 一节,
修改为<virtualhost *:80>
其余uncomment 并按照你的站点的配置修改即可。

2.测试配置
/usr/local/bin/apachectl -configtest

3.如果没有报错,重启apache即可
service httpd restart

II.nginx
1.运行 /usr/local/nginx/sbin/nginx -V 观察一下有没有 --with-ipv6, 一般是没有的,此时需要重新下载并编译nginx:
wget http://nginx.org/download/nginx-0.8.50.tar.gz
tar -xvzf nginx-0.8.50.tar.gz
cd nginx-0.8.50
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6
make && make install

2.修改nginx配置
进入/usr/local/nginx/conf/nginx.conf,搜索Listen 80; 在后面增加一句
Listen [::]:80 default ipv6only=yes;
上面一句是我和kangzj教程最大的不同的地方,用kangzj的方法,在多站点配置中会导致问题。

如果你还有SSL server块,同样,搜索 Listen 443;在后面增加一句
Listen [::]:443 default ipv6only=yes;
这样,SSL也可以运行在ipv6环境下了。

注意,如果你的VPS上设置了多个站点,请务必保证其余站点的Listen配置与之相同,最好不要改成 Listen ip:80; 形式,否则容易冲突,各站点如果不同IP请在DNS处调节。

3.停掉目前的nginx,启用新编译的nginx:
killall -g nginx
/usr/local/nginx/sbin/nginx
参数g在你开启了nginx多进程时是必要的。

6.DNS设置
在你的域名DNS处增加AAAA Record即可,目前主流的DNS都已经支持ipv6(如he,DNSPod等)

September 9, 2010

常歌

你在黄昏的沙滩久留,太阳光从炽白老成金黄,照在你胸口的螺号上。
你在夜晚的沙滩久留,太阳光从金黄酿成皓白,照在你手里的螺号上。
你在午夜的沙滩久留,太阳光从皓白淹入银河,照在你唇边的螺号上。
你在凌晨的沙滩久留,太阳光从银河苏醒过来,照在你梦里的螺号上。

August 26, 2010

写在路考与AW之间


终于开始在路考之后AW之前伪伪地爬上博客准备码些字,在空调出风口的尘粒振荡的声音中,在对面工地锯子和木板的摩擦声中。

我会很快开始为已经过去的十五天涂上下午阳光颤颤的光泽:在静得像寡言的尘埃一样的房间里,刷Argue提纲,听音乐,抓杠铃,照窗帘抓着的光线;房间里出来时也总是啃着《Westen Civilization:A Brief History》……让我想起了那个充满了管风琴声音的名词:Renaissance。

很长很长时间没有这样的强大地静处,去走过一件一件不可能;然后,在耀眼的阳光中回头,对面的海,早已烧成了银河。

而我也并不再提路考一路上的五根香烟同台竞技的味道。

至于插图,稍后再补上吧。

July 29, 2010

Firefox 4.0 Beta 2 标签栏宽度调整

恶心的Firefox又更新了,我也更新到了4.0 Beta 2。启动窗口后最大的两个变化是右边多了一个怎么也去不掉的Feedback,同时我以前小巧玲珑的标签也变得肥肥胖胖。Feedback我就忍一忍吧,但标签栏变得如此宽大还是不高兴的,——这里补充一下经典的调整标签宽度的帖子,当然,在这个版本已经失效了——几经Google,终于在这里找到如下解决方法:


1.安装文件夹找到Profile/userChrome.css 文件,没有就新建一个:
2.输入以下内容,按照自己喜欢修改,保存再重启Firefox即可。
.tabbrowser-tab {max-width: 150px !important;} /* 最大宽度 */
.tabbrowser-tab {min-width: 075px !important;} /* 最小宽度 */
.tabbrowser-tab {clip-width: 075px !important;} /* 这个我也不懂 */

有意思的是,这并不是Firefox 4.0 Beta 2 的Bug,在这里的Bug提交貌似是建议Firefox移除原先about:config的这两个参数,然后还被采纳了,所以以后版本估计也只能用这个方法改标签宽度了。这群程序员做事从来不通知我这种小白。。。

July 11, 2010

我的那些任性的大脑们


假放了也有十天了,期末出的分一门淡过一门,去想不去想都有些冷冷的数字躺在那里,多想给它们盖上被子,免得大大的风扇下着凉了。

嘴上总是装逼,心里多少会拿出来拷问拷问,像一个醉酒的男人揪着数学这个女人的衣领,声嘶力竭地喊你爱不爱我爱不爱我爱不爱我,却总是忘了这个女人天生只是一个哑巴,而你还选择了活在她的超短裙下。于是,远远的黑丝,你眼里看到的只是黑洞。

所以你四处糜乱着,从IT到经济到文艺,四处找着比数学漂亮一点的女人,但你发现没有一个女人能让你长久,你总是在她们身上一顿发泄后又想着季节的更替、人事的转移。而切换的缝隙间,你便直突突地闻到二十八度的夜。

回过头去看蓬头垢面的数学,你还是不会如小说设定的一般发现她突然变美,突然生满了光辉。你想着两年前的这个时候你脸上洒满三十八度的阳光地把这个女人绑在身边,只为她惊艳的鸿瞥。但你依然没有后悔的动力,因为,所有你找的女人们,一旦绑起来,她们便半死不活了。但你要绑一个,即使以第七肋骨的名义。

这样充实的大二,只因为你任性的大脑们。

而这样的声色犬马、觥筹交错,却只让你看二十八度的夜如何慢慢凉成二十七度。

July 8, 2010

给Twitese/Rabr 增加OAuth上传图片功能

包含此功能的Rabring已经发布,详情请移步

如果你想自己动手修改twitese,请到这里下载修改完后的文件,并覆盖到你的twitese中,上传即可。你最好先保证你的twitese版本是1.4.3。

June 30, 2010

Firefox 4.0 bc1 不完全兼容性报告

今天上GR的Solidot订阅看到火狐出来了4.0bc1,下载用蓝冰的Loader试用了一下。简单报一下兼容性。(非官方在插件管理器里提示的兼容性)




已知兼容插件:(版本为截至6月30日的最新版)

Adblock Plus
Add to Search Bar
AutoPager
AutoProxy
Echofon
FireGestures
FlashGot
gTranslator
Hide Menubar (ff4.0 已经内置此功能,平稳过渡之后可以删掉了)
IE Tab Plus
Speed Dial
User Agent Switcher



已知不兼容的插件:

All-in-One Sidebar (更新的头号阻力)

Greasemonkey (更新的次阻力)

TwitterBar (这个还能忍)



如果覆盖安装,火狐能导入以前安装的插件的话,默认是开启了兼容性检查的。在ff4.0中关闭兼容性的检查的方法如下:



1.地址栏输入about:config

2.右键New -> Boolean; Name 为 extensions.checkCompatibility.4.0b ; Value 为 False

然后重启火狐即可。

哦,对了,点这里下载ff4.0,截至6月30日,只有英文版。

June 23, 2010

这些天



      嗯,这些天,北京的晴雨交错着,洋槐上的蝉聒噪着;所有夏卷着它的贪婪的、大的叶片去与间或的光线交会着。你的毛孔贲张着,而你的那啥下垂着。

      半个月还是一个月前买了车,单的。(嗯,最近丢了而已。)我在车上特别能摸得着夏天,周围的白的黑(丝)的大腿们,长的短的头发们,高的小的女的们,Crocs们,指甲油们,间或的白衬衫们。所有们都心领神会的戴上夏天的符号,它们有漫长的时间可供挥霍,或者叫?

      晚上读庄子,从风激万穴(原文是xiao,平声,打不出来,管他呢)到人心万般,且不管贴在这本书上的怀疑论也好没落那啥阶级也好的书签,我要的只是它能不能恰好在The Right Time点在我的The Right Point上让我各种拍案。老头子凭几而坐在练呼吸,就差脑门上一个泡泡上说我:究竟还是太年轻呀太年轻,或者太青春呀太青春,太多太多想知道想学,堂皇点的词语叫求知欲,说白了么:欲望多了,约束依旧,于是欲求不满了,于是又跌入闷骚了;嗯,我知道通常这个推断用来解释爱情欲或者性欲。

      我欲求什么呢,满满的二十指头怕是都数不完。php,js,css,心理学,经济学,伦理学,庄老头子,数学分析,MATLAB。。。。你看到这菜单里没有女人了吧?恩,是的,女人因为成本太高被我列入Waiting-List了,不要暗示我,我知道我脸很肿。

      所以说,这么一个庞大的List里,选择总是痛苦的,尤其是你根本没办法画出一张貌似理性的经济学家们的无差异超曲面,因为,这里能画出来也是一个 超曲面(t);我好不容易把昨天的画出来,今天的超曲面已悄悄降临,于是从那么重那么重的装逼必备的经济学书籍中,我跳出来,看到那天下雨前貌似要破光的天空:




      我是不是要一百三十五度仰望天空呢?Or,负一百三十五度看着自己被胖子踩得裂了一半的拖鞋。(嗯,最近修好了而已。)

June 21, 2010

alwaysdata 空间设置 FAQ

Q:Alwaysdata空间有什么优点?
A:1.免费、稳定。
2.支持ipv6,并且提供解析。
3.同时支持PHP、Python、Ruby

Q:有什么缺点?
A:1.空间在法国,访问起来比较慢
2.文件容量10M,用来建论坛多半会悲剧。
3.每月限制流量1G,用来做下载站肯定悲剧。


Q:怎么申请?
A:申请步骤请查看lizheming的这篇帖子

Q:我在教育网,有ipv6,请问能不用搜狗直接连接ftp服务器吗?
A:用记事本打开"C:\Windows\System32\drivers\etc\hosts",添加一行
2001:41d0:1:8908::1 ftp.alwaysdata.com
以后可以用FileZila上传,服务器填ftp.alwaysdata.com (不是.net) ,用户名和密码分别填写即可上传。

Q:我怎么为我的站点添加ipv6解析?
A:管理面板处点击域名,在alwaysdata.net一栏选择编辑,勾选 Activer l'IPv6。

Q:FTP上传文件夹文件很慢,有更快的方法吗?
A:在管理面板下方的“有用的链接”选择文件浏览器,它支持直接Zip上传,具体是到一个目录比如/www,选择Upload,如果你的Zip文件是文件夹a(Zip文件内的文件夹与上传后的文件夹相关,与Zip名无关),那么在/www上传将会形成路径/www/a,具体的访问路径则是 xxx.alwaysdata.net/a


Q:如何进入流量统计页面?
A:Alwaysdata的流量统计页面非常详细,但是入口稍微隐蔽了些。
主面板选择统计,点击click on 此链接,进入后在右上角找到一个英国国旗图标,点选跳到英文页面,点击Update Now就能看到自己的站点统计了,似乎是每隔一个比较长的时间段统计一次,可以结合量子恒道的统计一起使用。

以下为PHP空间问题

Q:怎么开启curl支持?
A:在管理面板中选择环境->PHP,在php5.ini和php4.ini分别加入一句:

extension = curl.so
Q:怎么开启mcrypt支持?
A:在管理面板中选择环境->PHP,在php5.ini和php4.ini分别加入一句:

extension = mcrypt.so
Q:如何开启PHP的内容压缩以节省流量?
A:在管理面板中选择环境->PHP,在php5.ini和php4.ini分别加入:
zlib.output_compression = On
zlib.output_compression_level = 5
其中compression_level是1-9的整数,推荐用5,再往后压缩效率并不大,反而耗CPU拖慢站点速度。

June 13, 2010

Rabr的复活——免翻墙注册以及登录的推特客户端搭建指南

2010.06.18 Rabr-Glype集成包小规模更新,简化了设置步骤。增加URL后直接输入用户名转到用户界面功能(根据.htaccess实现)

    半个月前,著名的推特第三方rabr.in突然自我拔线,黯然神伤之余,只好自力更生,自己搭建Rabr。与许多第三方一样,Rabr的登录也分为Oauth和Basic Auth两种,一般情形下,前者虽然安全性较好但要翻墙,这给广大大陆网民造成了巨大的不便。在猪鼓励这篇博文的启发下,我打包出了这个Rabr-Glype集成包,同时对Rabr的部分代码作了些修正,支持自动翻墙的OAuth登录,希望大家喜欢。



  以下是简单的搭建教程,以alwaysdata的空间为例,我打包的Rabr也只在这个空间试验过,alwaysdata空间的申请指南见该文的上半部分。

1.确定你的PHP空间支持Curl和Mcrypt。(查看方法:将 phphinfo(); 语句任意嵌入一个php文件中运行)alwaysdata默认不开启Curl和Mcrypt支持,开启方法为:
进入空间的管理后台,选择环境、PHP,在PHP5 的 php.ini 和 PHP4 的 php.ini分别添加:

extension = curl.so
extension = mcrypt.so

2.到文末的下载地址里下载Rabr-Glype的源码。
  1)按照提示修改.\lib\config.php文件的Oauth参数,站点参数,以及可选参数
  2)修改.\g\plugins\YOUR_SITE.php 为你的站点的名字,例如:假设你的站点为http://xx.yy.com/zz/,则将 YOUR_SITE.php重命名为 yy.com.php 即可。
  3)本步骤可选,如果你想具有URL后直接输入用户名转到用户界面功能,同上假设你的站点地址,则用记事本打开修改 user.php 为 zz/user.php ,status.php同理;假如觉得麻烦,可以直接删除该文件,不影响程序运行。

3.上传,这里假设上传到http://xx.yy.com/zz/,进入http://xx.yy.com/zz/g/admin.php,输入任意的用户名和密码(记不住也没关系,只用一次),进入后选择Edit Setting,作如下设置:

URL Encoding Options => Use path info: Yes
Hotlinking => Prevent hotlinking: No
User Configurable Options =>
Encode URL: On Force打勾
Remove Page Titles: On Force打勾

4.完成,直接进主页,选择Sign in,如果空间没有问题的话,可以看到一个被代理出来的twitter登陆界面,在这里输入用户密码即可。

5.祝大家上推开心,上推并不是为了什么宏大而感人的口号,选择上推,只是选择了一种喜欢不受太多拘束的生活方式。

附:Rabr-Glype源码下载地址:

下载地址1(Dropbox HTTPS下载,需登录)
下载地址2(SkyDrive,请勿用迅雷下载)

June 10, 2010

你跳海,我使坏



萨福对着大海下面的未来
我看着秋千上面的小孩

萨福终究还是跳了海
我说小孩你过来

萨福的眼睛里不知是泪还是海
小孩在秋千上犹豫着过来不过来

萨福最后吸上了母亲的奶
我站起身放了个屁走开


2010.06.10

May 21, 2010

Start using the google fonts in your blogger

As the Google Fonts API 's released, we can use more web-fonts in the pages, without the visitors having your brilliant font locally, and, forget about the Arial, Serif Sans pls.


Here's a quick introduction to use the Google Fonts in your blogger.

1.Select your fav fonts here, now suppose you've selected the elegant, and click it you will turn to a page, then click "Get the code"

2.Now click the "customize" on the top after you log in, we should turn to layout and "Edit HTML"

3.search "<head>" and your should paste the first line of code as this:
<head>
<link href='http://fonts.googleapis.com/css?family=Tangerine' rel='stylesheet' type='text/css'>

that means now you can access this font in your blogger.

4.Suppose you want to apply the font to your blog title, search "$pagetitlefont" and replace
font:$pagetitlefont
to
font-family: 'Tangerine', arial, serif;
font-size:26pt; /* it depends */

you might be awared that that's the part of the second line of code, and i just add the font-size parameter.

5.All Done!

May 14, 2010

Make your firefox "turn off the light" in youtube as Google Chrome

The famous Google Chrome extension "Turn Off The Light" will offer you a shining feature when having a watch on youtube/hulu ,etc.As is below:




Yet those firefoxers need not envy this, hence we have alternatives on Firefox, though applied to youtube only. (Tested only in 3.6.3)

1.If you have not a GreaseMonkey add-on,go here to install it.

2.Install the scripts YouTube "Lights Out"

3.Now you will get a cute button when watching youtube, as is below:

Watch page 
screenshot.   User 
page screenshot.


4.Enjony it! :)

May 12, 2010



清晨我推开门能看见白的山
碎石砾从门前跳到她的农庄
我犹豫着还是倾尽了半盈的铁桶
下山看见了她在奶牛旁低头的专注

夜晚我合上窗能听见黑的山
碎石砾从她的农庄走到门前
我犹豫着还是藏好了生锈的铁桶
开门看见了她在月光旁低头的绯红

——先生,您……看见我们家的生锈的铁桶吗?
——没有,我发誓。
——那……先生……
    (她挽着的铁桶浸满了银色的月光)
——没有,我发誓。


10.05.12 01:16


May 10, 2010

BAT的FOR循环批量抓取Youtube缓存服务器的v6地址

今天凌晨发现冰临宸夏ipv6 hosts又更新了,大部分换上了悉尼的服务器,ping速快了不少,但截至5月10日,Youtube缓存服务器的悉尼地址仍然没有更新,好吧,还是自己动手吧。


想了想我也没啥工具会用的,那就用系统的nslookup吧。Youtube缓存服务器的名字非常有规律,一律形如:

v%i.lscache%j.c.youtube.com (i,j为正整数,1<=i<=24,1<=j<=8) 于是配合BAT里古老的For循环:
echo start> .\result.txt
for /l %%i in (1,1,24) do for /l %%j in (1,1,8) do nslookup -qt=AAAA "v%%i.lscache%%j.c.youtube.com" 2001:470:20::2 >>.\result.txt

第一行,相当于在当前目录创建result.txt
第二行,用两重for循环,查询缓存服务器的ip,这里用的DNS是he提供的IPV6 DNS

这样得到result.txt用UltraEdit整理后就能得到下面的结果啦

2404:6800:4001::10 v1.lscache1.c.youtube.com
2404:6800:4001::10 v1.lscache2.c.youtube.com
2404:6800:4001::10 v1.lscache3.c.youtube.com
2404:6800:4001::10 v1.lscache4.c.youtube.com
2404:6800:4001:1::10 v1.lscache5.c.youtube.com
2404:6800:4001::10 v1.lscache6.c.youtube.com
2404:6800:4001::10 v1.lscache7.c.youtube.com
2404:6800:4001::10 v1.lscache8.c.youtube.com
2404:6800:4001:1::13 v2.lscache1.c.youtube.com
2404:6800:4001:1::13 v2.lscache2.c.youtube.com
2404:6800:4001::13 v2.lscache3.c.youtube.com
2404:6800:4001:1::13 v2.lscache4.c.youtube.com
2404:6800:4001::13 v2.lscache5.c.youtube.com
2404:6800:4001::13 v2.lscache6.c.youtube.com
2404:6800:4001::13 v2.lscache7.c.youtube.com
2404:6800:4001::13 v2.lscache8.c.youtube.com
2404:6800:4001::16 v3.lscache1.c.youtube.com
2404:6800:4001::16 v3.lscache2.c.youtube.com
2404:6800:4001::16 v3.lscache3.c.youtube.com
2404:6800:4001::16 v3.lscache4.c.youtube.com
2404:6800:4001::16 v3.lscache5.c.youtube.com
2404:6800:4001::16 v3.lscache6.c.youtube.com
2404:6800:4001:1::16 v3.lscache7.c.youtube.com
2404:6800:4001::16 v3.lscache8.c.youtube.com
2404:6800:4001::19 v4.lscache1.c.youtube.com
2404:6800:4001:1::19 v4.lscache2.c.youtube.com
2404:6800:4001::19 v4.lscache3.c.youtube.com
2404:6800:4001::19 v4.lscache4.c.youtube.com
2404:6800:4001::19 v4.lscache5.c.youtube.com
2404:6800:4001::19 v4.lscache6.c.youtube.com
2404:6800:4001::19 v4.lscache7.c.youtube.com
2404:6800:4001::19 v4.lscache8.c.youtube.com
2404:6800:4001::1c v5.lscache1.c.youtube.com
2404:6800:4001:1::1c v5.lscache2.c.youtube.com
2404:6800:4001::1c v5.lscache3.c.youtube.com
2404:6800:4001:1::1c v5.lscache4.c.youtube.com
2404:6800:4001::1c v5.lscache5.c.youtube.com
2404:6800:4001::1c v5.lscache6.c.youtube.com
2404:6800:4001::1c v5.lscache7.c.youtube.com
2404:6800:4001::1c v5.lscache8.c.youtube.com
2404:6800:4001::1f v6.lscache1.c.youtube.com
2404:6800:4001::1f v6.lscache2.c.youtube.com
2404:6800:4001::1f v6.lscache3.c.youtube.com
2404:6800:4001::1f v6.lscache4.c.youtube.com
2404:6800:4001::1f v6.lscache5.c.youtube.com
2404:6800:4001::1f v6.lscache6.c.youtube.com
2404:6800:4001::1f v6.lscache7.c.youtube.com
2404:6800:4001:1::1f v6.lscache8.c.youtube.com
2404:6800:4001::22 v7.lscache1.c.youtube.com
2404:6800:4001::22 v7.lscache2.c.youtube.com
2404:6800:4001::22 v7.lscache3.c.youtube.com
2404:6800:4001:1::22 v7.lscache4.c.youtube.com
2404:6800:4001::22 v7.lscache5.c.youtube.com
2404:6800:4001:1::22 v7.lscache6.c.youtube.com
2404:6800:4001::22 v7.lscache7.c.youtube.com
2404:6800:4001::22 v7.lscache8.c.youtube.com
2404:6800:4001::25 v8.lscache1.c.youtube.com
2404:6800:4001::25 v8.lscache2.c.youtube.com
2404:6800:4001:1::25 v8.lscache3.c.youtube.com
2404:6800:4001::25 v8.lscache4.c.youtube.com
2404:6800:4001:1::25 v8.lscache5.c.youtube.com
2404:6800:4001::25 v8.lscache6.c.youtube.com
2404:6800:4001::25 v8.lscache7.c.youtube.com
2404:6800:4001:1::25 v8.lscache8.c.youtube.com
2404:6800:4001::11 v9.lscache1.c.youtube.com
2404:6800:4001::11 v9.lscache2.c.youtube.com
2404:6800:4001::11 v9.lscache3.c.youtube.com
2404:6800:4001:1::11 v9.lscache4.c.youtube.com
2404:6800:4001:1::11 v9.lscache5.c.youtube.com
2404:6800:4001::11 v9.lscache6.c.youtube.com
2404:6800:4001::11 v9.lscache7.c.youtube.com
2404:6800:4001::11 v9.lscache8.c.youtube.com
2404:6800:4001::14 v10.lscache1.c.youtube.com
2404:6800:4001::14 v10.lscache2.c.youtube.com
2404:6800:4001::14 v10.lscache3.c.youtube.com
2404:6800:4001::14 v10.lscache4.c.youtube.com
2404:6800:4001::14 v10.lscache5.c.youtube.com
2404:6800:4001::14 v10.lscache6.c.youtube.com
2404:6800:4001:1::14 v10.lscache7.c.youtube.com
2404:6800:4001::14 v10.lscache8.c.youtube.com
2404:6800:4001::17 v11.lscache1.c.youtube.com
2404:6800:4001::17 v11.lscache2.c.youtube.com
2404:6800:4001::17 v11.lscache3.c.youtube.com
2404:6800:4001::17 v11.lscache4.c.youtube.com
2404:6800:4001::17 v11.lscache5.c.youtube.com
2404:6800:4001::17 v11.lscache6.c.youtube.com
2404:6800:4001::17 v11.lscache7.c.youtube.com
2404:6800:4001::17 v11.lscache8.c.youtube.com
2404:6800:4001::1a v12.lscache1.c.youtube.com
2404:6800:4001:1::1a v12.lscache2.c.youtube.com
2404:6800:4001::1a v12.lscache3.c.youtube.com
2404:6800:4001::1a v12.lscache4.c.youtube.com
2404:6800:4001::1a v12.lscache5.c.youtube.com
2404:6800:4001::1a v12.lscache6.c.youtube.com
2404:6800:4001::1a v12.lscache7.c.youtube.com
2404:6800:4001::1a v12.lscache8.c.youtube.com
2404:6800:4001::1d v13.lscache1.c.youtube.com
2404:6800:4001::1d v13.lscache2.c.youtube.com
2404:6800:4001::1d v13.lscache3.c.youtube.com
2404:6800:4001::1d v13.lscache4.c.youtube.com
2404:6800:4001:1::1d v13.lscache5.c.youtube.com
2404:6800:4001::1d v13.lscache6.c.youtube.com
2404:6800:4001::1d v13.lscache7.c.youtube.com
2404:6800:4001::1d v13.lscache8.c.youtube.com
2404:6800:4001::20 v14.lscache1.c.youtube.com
2404:6800:4001::20 v14.lscache2.c.youtube.com
2404:6800:4001::20 v14.lscache3.c.youtube.com
2404:6800:4001::20 v14.lscache4.c.youtube.com
2404:6800:4001::20 v14.lscache5.c.youtube.com
2404:6800:4001::20 v14.lscache6.c.youtube.com
2404:6800:4001::20 v14.lscache7.c.youtube.com
2404:6800:4001:1::20 v14.lscache8.c.youtube.com
2404:6800:4001::23 v15.lscache1.c.youtube.com
2404:6800:4001::23 v15.lscache2.c.youtube.com
2404:6800:4001::23 v15.lscache3.c.youtube.com
2404:6800:4001:1::23 v15.lscache4.c.youtube.com
2404:6800:4001::23 v15.lscache5.c.youtube.com
2404:6800:4001:1::23 v15.lscache6.c.youtube.com
2404:6800:4001::23 v15.lscache7.c.youtube.com
2404:6800:4001::23 v15.lscache8.c.youtube.com
2404:6800:4001::26 v16.lscache1.c.youtube.com
2404:6800:4001::26 v16.lscache2.c.youtube.com
2404:6800:4001:1::26 v16.lscache3.c.youtube.com
2404:6800:4001::26 v16.lscache4.c.youtube.com
2404:6800:4001::26 v16.lscache5.c.youtube.com
2404:6800:4001::26 v16.lscache6.c.youtube.com
2404:6800:4001::26 v16.lscache7.c.youtube.com
2404:6800:4001::26 v16.lscache8.c.youtube.com
2404:6800:4001::12 v17.lscache1.c.youtube.com
2404:6800:4001::12 v17.lscache2.c.youtube.com
2404:6800:4001::12 v17.lscache3.c.youtube.com
2404:6800:4001::12 v17.lscache4.c.youtube.com
2404:6800:4001::12 v17.lscache5.c.youtube.com
2404:6800:4001::12 v17.lscache6.c.youtube.com
2404:6800:4001::12 v17.lscache7.c.youtube.com
2404:6800:4001::12 v17.lscache8.c.youtube.com
2404:6800:4001:1::15 v18.lscache1.c.youtube.com
2404:6800:4001:1::15 v18.lscache2.c.youtube.com
2404:6800:4001::15 v18.lscache3.c.youtube.com
2404:6800:4001::15 v18.lscache4.c.youtube.com
2404:6800:4001::15 v18.lscache5.c.youtube.com
2404:6800:4001::15 v18.lscache6.c.youtube.com
2404:6800:4001:1::15 v18.lscache7.c.youtube.com
2404:6800:4001::15 v18.lscache8.c.youtube.com
2404:6800:4001:1::18 v19.lscache1.c.youtube.com
2404:6800:4001::18 v19.lscache2.c.youtube.com
2404:6800:4001:1::18 v19.lscache3.c.youtube.com
2404:6800:4001:1::18 v19.lscache4.c.youtube.com
2404:6800:4001::18 v19.lscache5.c.youtube.com
2404:6800:4001::18 v19.lscache6.c.youtube.com
2404:6800:4001::18 v19.lscache7.c.youtube.com
2404:6800:4001::18 v19.lscache8.c.youtube.com
2404:6800:4001::1b v20.lscache1.c.youtube.com
2404:6800:4001::1b v20.lscache2.c.youtube.com
2404:6800:4001::1b v20.lscache3.c.youtube.com
2404:6800:4001::1b v20.lscache4.c.youtube.com
2404:6800:4001:1::1b v20.lscache5.c.youtube.com
2404:6800:4001::1b v20.lscache6.c.youtube.com
2404:6800:4001::1b v20.lscache7.c.youtube.com
2404:6800:4001::1b v20.lscache8.c.youtube.com
2404:6800:4001::1e v21.lscache1.c.youtube.com
2404:6800:4001::1e v21.lscache2.c.youtube.com
2404:6800:4001:1::1e v21.lscache3.c.youtube.com
2404:6800:4001::1e v21.lscache4.c.youtube.com
2404:6800:4001::1e v21.lscache5.c.youtube.com
2404:6800:4001:1::1e v21.lscache6.c.youtube.com
2404:6800:4001::1e v21.lscache7.c.youtube.com
2404:6800:4001::1e v21.lscache8.c.youtube.com
2404:6800:4001::21 v22.lscache1.c.youtube.com
2404:6800:4001::21 v22.lscache2.c.youtube.com
2404:6800:4001::21 v22.lscache3.c.youtube.com
2404:6800:4001::21 v22.lscache4.c.youtube.com
2404:6800:4001:1::21 v22.lscache5.c.youtube.com
2404:6800:4001::21 v22.lscache6.c.youtube.com
2404:6800:4001::21 v22.lscache7.c.youtube.com
2404:6800:4001::21 v22.lscache8.c.youtube.com
2404:6800:4001:1::24 v23.lscache1.c.youtube.com
2404:6800:4001::24 v23.lscache2.c.youtube.com
2404:6800:4001::24 v23.lscache3.c.youtube.com
2404:6800:4001::24 v23.lscache4.c.youtube.com
2404:6800:4001::24 v23.lscache5.c.youtube.com
2404:6800:4001::24 v23.lscache6.c.youtube.com
2404:6800:4001::24 v23.lscache7.c.youtube.com
2404:6800:4001::24 v23.lscache8.c.youtube.com
2404:6800:4001::27 v24.lscache1.c.youtube.com
2404:6800:4001::27 v24.lscache2.c.youtube.com
2404:6800:4001::27 v24.lscache3.c.youtube.com
2404:6800:4001::27 v24.lscache4.c.youtube.com
2404:6800:4001:1::27 v24.lscache5.c.youtube.com
2404:6800:4001::27 v24.lscache6.c.youtube.com
2404:6800:4001::27 v24.lscache7.c.youtube.com
2404:6800:4001:1::27 v24.lscache8.c.youtube.com

《初夏荷花时期的爱情》逐章观感。(Twitter update)

从4月7日开始到5月10日,断断续续都是晚上的时间读着。我惊叹于朱天心的才华,这无需挑起来任何强烈的情绪却能真切感受到的才华。越往后,越是深邃的旅程,几次来来回回比对阅读,一个月来梳理出如下剧透:


午夜读朱天心《初夏荷花时期的爱情》,才起个头。首节长句的大量使用刻画出中年妇女沉滞的思维,这个妇女是 可悲的,但行文却无怨妇之感。


第三章,偷情。这对中年夫妇玩起偷情的角色扮演。然而,戏份早早演完, 这个中年女子需要的并不是性,无论疯狂或 者拘谨的;她需要的该是作为一个熟透了的女人的身份被确定感。


第 四章,神隐I。中年妇女行走在年轻时到过的小镇上,曾经喜欢的店铺不再得自己欢心。她迫切想回到自己青春的那个时空,那里有激烈的情绪和活力。她感觉现在 的自己,被悄无声息地替换了。然而这种无法被满足的欲望才成就了生命的庄严,只可一路向前,不可触及 回头风景。


第 五章,男人与女人I,作者详细叙述新石器时代男人和女人的不同行为,中间不断穿插这些行为与习惯在现代的表现。本书时常把男人比作公狮,以喻男人对外事的 追逐和对内事的麻木。这让我想到,我性格中geek的一部分,究竟还是狩猎的天性。


第六章,别吵我。 中年女人无法理解自己的男人变得寡欲怠惰,对女人的需求蜕化成婴儿对妈妈的需求。物质的丰足与情感的萎缩,与十七八岁的他们恰好相反。公狮需要的,也许只 是一种能抽取出从前未满足欲望的女人的响应吧。


第七章,神隐II。不仅眼前的丈夫,连儿女也被渐渐替 换了。从为妈妈挑出红色光电的四岁男孩,到不愿触碰到母亲的手的青春期少年。其实自己又何尝不是,由光鲜饱满的三十岁到妆粉厚重的四十岁。时间在互相影响 的自我替换中过去,厚的像书的亲情,翻开每一页都薄的像纸。物质的丰盛造就自己下一代的没有荷尔蒙的爱 情,儿子用念书逃避工作,女儿用消费满足自己。简短的一句“男人不打猎,女人猛采集”,直直抓住新生代的苦。


第 八章,女人与男人I。再回到新石器时代,女人至死在采集,为自己的美和族人的食,石化在雷劈木旁。老去的男人和驯养的家畜在一起,在他们身上寄托狩猎时无 法满足的父爱,直至老死,以鹰的方式。寻溯到新石器时代,才知道生活许多无奈早已从远古固化而来。


第 九章,男人与女人II。对起居环境的从不过问让这个男人对自己的房子充满陌生感,器官的衰老让他丧失阳性的磁力,缺乏磁力照射的女性开始丧失阴性的特质。 人被还原成石块,互相陌生没有交集。物理的衰老无可避免,但年轻的互相玩伴,却是跌撞中不经意被替换掉的。


第十章,男人与女人III。老男人叙述 自己年轻时强烈的性欲,他忽视女人的情感倾诉需求,想把一切导向性。最后在女人不再排卵了,绝经了,疲惫地还给女人自由。女人苦苦索求,追问到底。原来毕 竟还是双方都已被替换。可替换的背后,除了生理衰退,是否还有爱情中危机感的丧失?


第十一章,不存在的篇章I。飞来一笔,老男人老女人花钱请一对 年轻的男孩女孩异地旅游,看他们吃,玩,住。他们急切地要获得真正的性,哪怕快感来自于旁观。然而旅馆里,男孩女孩只在看电视,听歌,他们什么都没有做。 两老疑惑不解,难道他们如天使般已抵达无欲之地?

我认为,年轻的男孩女孩究竟只是两老无性爱情的投射对象。他们极力希望退至最年轻时,当眼前人还没被替换 时。然而,这一切改变的只是相处的方式——交谈、言笑,一切仍然与性无关。他们不可避免地渐渐到达无欲的彼岸世界。


第十二章,不存在的篇章II。 男孩女孩睡去,这样的结局让老女人又回到自己母亲的角色,想给女孩盖一个毯子。老男人泪流。这对年轻男女,为他预设好了彼岸的图景。他以他们为载体,重新 指向了自己性格中深藏的老公狮般的寂寥一面,他获得了来自自己的确认。


第十三章,不存在的篇章III、IV、V...只有一句话:“你多希望小說 家為你多寫些篇章,抵抗著終得步上彼岸世界的那一刻”。直接道明老男人老女人寻求确认过程中的挣扎与悲哀。


第十四章,彼岸世界。把一切假设、试验 全部推翻,回到第一章他们在桥上的那一刻,什么也没有发生。他们走下桥来,仍旧相濡以沫。作者撒下一个大问:“你,自由嗎?” 最后,也许所有情节都未曾上演过,但他们仍旧会带着这个问题,这个生者不能解、往者不可说的问题,走向彼岸。



當市場收歇,他們就在黃昏中踏上歸途,
我坐在 路邊觀看你駕駛你的小船,
帶著帆上的落日餘暉橫渡那黑水,
我看見你沉默的身影,站在舵邊,
突然間我覺得你的眼神凝視著我;
我留下我的歌 曲,呼喊你帶我過渡。泰戈爾《橫渡集》

May 5, 2010

今夏第一场雷雨


今夏第一场雷雨
敲出来赤青的旋律或者石灰的呼吸
雨中嘶咬着的
是一个辉煌的时代和辉煌的幼狮

这雨怕是不那么恼人
若它只在野兽鼾睡时泛滥起情意
但偏偏于清醒着行走着张眼着仰头着
        吃着 喝着 笑着 上一秒还在高潮着的时候
砸下来一个霹雳
        告诉你上一秒该还给上帝
        时间还在继续
        但你要准备躲雨

岬角放起来风筝
        一圈圈的尼龙绳指示着云的心跳
今夏的第一场雷雨
不是能让你张贴在天花板上的今夏第一个美女

April 11, 2010

给文泉驿微米黑字体添加Nokia字符

文泉驿微米黑是一款出色的开源字体项目,在移动设备上的显示效果精致优雅,这里是官方主页。手机上的显示效果请见大宁的帖子

由于文泉驿微米黑至今仍在添加Unicode扩展区的字符,因而仍处于Daily-Build的阶段。而目前(10.04.11)在论坛上能搜到的微米黑字体基本是0.20Beta,在能显示的汉字上和最新的Daily-Bulid还是有区别的。因而,下面叙述如何将Daily-Build的字体供S60使用。


关于S60如何自定义字体,请参见wjq135的帖子


本文得到该文的启发,对原作者深表感谢。

1.到这里下载最新的Daily Build,能得到源代码以及编译好的TTC字体。

2.到这里下载Truetypeblender V1.4,下载后打开TrueTypeBlender.exe 定位到TTC文件 选择右边的TTC2TTF 转换成TTF文件。下面用a.ttf指代。

3.到这里下载FCP,用FCP4.EXE打开压缩包中的Nokia.ttf,再打开一个FCP4.EXE,打开a.ttf

4.Crtl+A 全选Nokia.tff中的字符,Crtl+C复制。

5.在a.ttf中 Crtl+F 进入查找 输入 F967,定位到字符“不”,点击 菜单栏中的 插入 字模,选择19个字模,在当前字符之前。

6.你能看到新增加了十九个空格,按Ctrl+E 勾选 字模Post Script字模映射,点击确定。

7.保存字体文件

至此Nokia字符已全部导入字体文件。

这里提供根据20100411的Build改好的字体文件,在安装了FontRouter的机子上把字体文件和FontRouter.ini 复制到 C:\Data\Fonts 即可。

April 10, 2010

热的雨季


热的雨季


长长久久的时间里
掠过一场长长久久的雨
因了那方长长久久的窗前
挥手写来长长久久的憾意

我亦不能长长久久地凝看着你
况你长长久久渺茫了声息
明日我将启程丈量长长久久的时间
遇见一场长长久久的雨




March 26, 2010

正则表达式应用一例——对多余空格的排版和调整

今天好不容易用上了VPN,大喜。我们知道,身处教育网,一个VPN最好是能自动区分教育网的IP 段和非教育网IP段以实现网络效率最大化。


我用的软件是 OpenVPN,对应还有一个Route程序,程序自带的规则是清大去年的规则,肯定跟不上时代了,还好学校信息比较公开,这里就是10年3月份的免费地址清单

用记事本打开一下自带的规则,发现是形如
8.18.55.177 0.0.0.0 255.255.255.25512.18.186.192 0.0.0.31 255.255.255.224


再用UltraEdit打开,发现是

8.18.55.177 0.0.0.0 255.255.255.255

12.18.186.192 0.0.0.31 255.255.255.224


这一不同说明,换行符采用的是UNIX换行符,(也可能是Mac,但几率比较小)


而把免费地址清单完全复制,得到
8.18.55.177 0.0.0.0 255.255.255.255

12.18.186.192 0.0.0.31 255.255.255.224

12.26.55.108 0.0.0.0 255.255.255.255

12.26.55.139 0.0.0.0 255.255.255.255



等等


于是把这个转换成Route的规则只有两步——
1.把多个空格转成一个空格
2.把换行符改成UNIX风格

下面是具体操作步骤
1.用UltraEdit打开,Ctrl+R进入替换 勾选正则表达式,将[ ]+ 替换成 " " (也就是单个空格,实际无此双引号)
2.继续进入替换,正则表达式打开,将 " ^p"(实际无此双引号) 替换成 ^n 保存成cernet.conf 就可以给Route使用了

简单的正则表达式应用,事半功倍。

March 21, 2010

民歌体一首

兴至作民歌体一首。 

三月的桃花四月的柳,五月的太阳眉毛顶上走。
六月的芭蕉七月的火,八月的光屁屁水里游。
九月的枫林十月的烧,十一月的银杏叶漫天飘。
腊月的炕头新年的酒,二月的张罗桃花有没有?

March 19, 2010

hyk-proxy 搭建简明教程

本文引用了来自为了明天:翻墙利器——GAppProxy安装简明教程里的图文,在此表示感谢!

hyk-proxy的项目主页:http://code.google.com/p/hyk-proxy/



3月31日更新:hyk-proxy已经支持ipv6访问,只需到此处7楼下载作者放出的client.jar覆盖即可,保证Hosts里有如下字句


2404:6800:8005::8d XXX.appspot.com


1、首先要注册Google App Engine,用google的账号登录之后点击Create an Application
2、输入你的手机号码
3、输入手机收到的验证码到达如下图的界面
填写Application Identifier,这个就是你GAE的地址了,你需要记住这个地址(如输入aaa,那么相应会得到一个aaa.appspot.com的域名)
填写Application Title,这个标题随意填写也可以
填写完毕之后勾选同意服务条款,点Save即完成创建。

4.下载安装Java Runtime 如果你已经安装并且版本在6以上,请跳过。

5.下载安装 Google App Engine for Java 并解压备用。如果你已经安装,请跳过。

6.项目主页下载hyk-proxy-client hyk-proxy-server ,project可以不用下

7.解压下载的server压缩文件,进入war/WEB-INF,用记事本打开appengine-web.xml 将后面的hyk-proxy-demo改为自己创建的appid。也就是3)中的Application Identifier

8.将下列缩进的内容修改后用记事本保存为 update.cmd
Set app_path="F:\Google Apps\hyk-proxy\hyk-proxy-server-0.3.0\war" ’红色处改成你的hyk-proxy-server-0.3.0的对应地址
Set sdk_appcfg="F:\Google Apps\appengine-java-sdk-1.3.1\bin\appcfg.cmd"
红色处改成你解压的appengine-java-sdk 里的对应bin\appcfg.cmd的地址
cmd /k %sdk_appcfg% rollback %app_path%
cmd /k %sdk_appcfg% update %app_path%
9.运行update.cmd上传,输入你的帐号和密码(密码默认不显示)

10.解压client,修改etc/hyk-proxy-client.properties“remoteserver.appid.1=”后面为你申请的appid(不是aaa.appspot.com网址!),如aaa;如果你还有很多个上传了hyk-proxy serverappid ,依次添加remoteserver.appid.2=bbb ....

11.执行bin文件夹里面的start.bat 运行代理,stop.bat为关闭代理。如果看到 Found 1 Remote Server 则说明成功,如果有错误提示,请参考下面的排错提示。

12.将你的火狐代理地址设置为 服务器: localhost 端口48100 即可。

排错提示:
1.如果出现can't implement com.hyk. .... 检查一下是不是hosts里设置了你的appid.appspot.com 对应的强制ipv6解析,如果是,删除该行即可。
2.上传时出现io错误的,请将 cmd /k %sdk_appcfg% rollback %app_path% 添加到update.cmd 的原有位置。

详细:
1.Gappproxy的区别
1)个人在北方教育网试用表明和Gappproxy的速度差别不大,最大的优势是hyk-proxy支持轮询,真正利用多个appid的流量。Gappproxy尽管有center项目,但本质上一个进程还是只能使用单个id
2)作者 @yinqiwen 在不断更新,Gappproxy似乎已经停止更新了。
3)支持XMPP协议。
HideSecret: XMPP是一种IM协议,也称为Jabber,通信过程使用SASLTLS/SSL加密。使用XMPP协议的IM有:GTalk Nokia's Ovi等。http://goo.gl/Tie0 可以通过某些Jabber服务器连接MSNQQ等的IM

2.https的支持
hyk-proxyhttps的支持和gappproxy差不多,也是基于自签名证书去欺骗站点,用火狐访问https时请添加安全例外。在http模式下,hyk-proxy不会以明文发送。


建议:
由于hyk-proxy无法支持纯ipv6访问(作者说java支持,可能是我的强制解析错了,但是我的gappproxy是可以用的),所以hyk-proxy在教育网使用仍有风险,推荐还是不要完全抛弃gappproxy,当然,也希望后来的版本能解决这个问题。

March 13, 2010

这只插入豆子里的手,深度正好 ——《天使爱美丽》观感

影片刚开头,三拍子的手风琴带来地中海鲜花的味道。随后淡入的镜头,旁白冷静地托出精确到秒的时间,精确到门牌号的地点,精确到振翅频率的苍蝇……种种机械般的精确给观众的心脏套上正六十面体精心雕琢的钢模。Amelie的诞生从受精卵开始。


片头对人物的介绍异常直接简练,快速拉前的人物介绍镜头吊动起观者的情绪而不觉得影片沉闷,同时也暗示着主角学理般偏执的性格。Amelie出生在这样神经质而疏离的家庭,而基调轻松的背景音乐以及对事故的戏剧化处理让观众缓冲了情绪的不安。Amelie妈妈的意外死亡,初看还能笑出声来。

然而,Amelie却又是机巧的。她从小就会拔邻居的天线。而这种机巧使得她面对周围人的烦恼时总有别出心裁的解决办法:同事Gina的前男友Joseph对于Gina纠缠不休,而Amelie观察到烟档女老板Geogrette的寂寞,双方游说加上流言散播,最后直接撮合了JosephGeogrette。今天的车震门和影片里的房震门,不可同日而语。

同时,这种机巧使得她日后的躲藏性行为不至于让人气急败坏。与父母的疏离使得孩子从小缺乏安全感,渴望被关注,因之会以躲藏的行为来吸引对方的注意,以及从对对方的观察中获得对于感情的确证。Amelie对在快照室收集撕碎快照的Nino一见钟情,自此对Nino的追求则尽一切躲藏之能事,将Nino玩得团团转。

值得注意的一点是Amelie三次看电视以及和Raymond谈论那副画中的举杯子的女人。Amelie前后看三次电视,里面都会出现Amelie自己,发生着种种不在现实中的剧情。这便是一种典型的自我投射(self-projection)Amelie将自己放入电视的情境,借一种被大脑接纳的容器来理解电视情境,同时也雕琢着对自己的认知。在AmelieRaymond交谈的时候,Raymond提到自己最难画的拿着杯子的女人时,镜头转向了Amelie——同样拿着杯子的Amelie,影片已经强烈暗示了Amelie将把这个画里的女人作为自己情绪的出口,当然后面的与Raymond的多次交谈更加清晰地确证了这一点。

于是,这样一部充满了人的奇怪癖好、却又不乏喜剧美感的片子,在文艺和伤情这两个孪生子取得很好的平衡。我们对导演的很多镜头能会心一笑,而看完又并不会喟叹生之沉重与情之苦痛。借用影片的意象,那便是这只插入豆子里的手,深度正好。太浅不能感受内里的热量,太深却又难以自拔。

Related

Related Posts with Thumbnails