给P4D降温

Dec 15
2009
Lisa姐走之后我继承了她的机器。P4D 3G,2G ram,GeForece7300le,我的机器上拆过去的航嘉BS2000。夏天的时候这台机器就发生过因为过热点不亮的情况,清理风扇和散热片之后就好了。
我接手之后换了Kubuntu,一直感觉Zend Studio非常慢,一直以为是Linux下的java虚拟机做得垃圾。
昨晚无意中发现syslog,messages和kern.log都异常巨大,分别是1.5G,1.5G和700+mb,tail之后发现全是CPU温度过高和自动降频的记录。操。
马上重启去bios,发现cpu一开机就在80C以上。以前错怪jre了。
今早起来就去数码广场买了散热硅胶,用了之后温度降到了开机60,然后还是会慢慢爬到80+
下午再去数码,买好一点的风扇。带了CPU去请教谢晋,得知这是传说中的发热王P4D。
晚上回到办公室,上了超频III的青鸟,温度终于下来了,上图。

豆瓣电台Bookmarklet

Nov 20
2009

在收藏夹或者书签里新建一个条目,URL填下面的代码(小心地去掉空白),点击这个书签就可以在新窗口中打开干净的豆瓣电台~

代码关闭了新窗口的标题栏、菜单栏、工具栏、地址栏、状态栏和滚动条,把窗口大小设置成420×186,并禁止改变窗口大小。实际上很多浏览器会忽略禁止改变大小和关闭标题栏、地址栏的参数,甚至有些浏览器会禁止弹出新窗口。

这是从豆瓣音乐的首页上抄下来的,我只是把URL补成了绝对路径和加上几个在大多数浏览器里都不起作用的参数而已。

javascript:if(
    !window.open(
        'http://douban.com/radio',
        'radiowin',
        'height=186,width=420,
            titlebar=0,menubar=0,
            toolbar=0,location=0,
            resizable=0,scrollbars=0,status=0')
    ){
    location.href='http://douban.com/radio'
}

分享我的Konsole配色,绿色文字,20%透明背景

Nov 10
2009

在linux纯文本界面的默认配色基础上改默认文字颜色为绿色,加上20%的背景透明度

把下面的代码保存为XXX.colorscheme,放在~/.kde/share/apps/konsole/下,重新启动konsole后就可以选择名为Green On Linux Colors的这个配色了。

[Background]
Bold=false
Color=0,0,0
Transparency=false

[BackgroundIntense]
Bold=false
Color=104,104,104
Transparency=false

[Color0]
Bold=false
Color=0,0,0
Transparency=false

[Color0Intense]
Bold=false
Color=104,104,104
Transparency=false

[Color1]
Bold=false
Color=178,24,24
Transparency=false

[Color1Intense]
Bold=false
Color=255,84,84
Transparency=false

[Color2]
Bold=false
Color=24,178,24
Transparency=false

[Color2Intense]
Bold=false
Color=84,255,84
Transparency=false

[Color3]
Bold=false
Color=178,104,24
Transparency=false

[Color3Intense]
Bold=false
Color=255,255,84
Transparency=false

[Color4]
Bold=false
Color=24,24,178
Transparency=false

[Color4Intense]
Bold=false
Color=84,84,255
Transparency=false

[Color5]
Bold=false
Color=178,24,178
Transparency=false

[Color5Intense]
Bold=false
Color=255,84,255
Transparency=false

[Color6]
Bold=false
Color=24,178,178
Transparency=false

[Color6Intense]
Bold=false
Color=84,255,255
Transparency=false

[Color7]
Bold=false
Color=178,178,178
Transparency=false

[Color7Intense]
Bold=false
Color=255,255,255
Transparency=false

[Foreground]
Bold=false
Color=24,240,24
Transparency=false

[ForegroundIntense]
Bold=true
Color=24,240,24
Transparency=false

[General]
Description=Green On Linux Colors
Opacity=0.8

Posted via email from Meow and Grrr of a Stray Cat

Kubuntu下设置双显示器

Nov 08
2009

环境和配置
Kubuntu 9.10
GeForce 7300LE
nVidia官方驱动 185.18.36
Philips 109B7 //显示器的型号其实无关紧要,至少以我目前的了解
ViewSonic A71f

闲话
nVidia的中文名字是”英伟达”……怎么听都像壮阳药……所以我决定假装N记没有中文名字。

激活双显示器
安装完系统之后ubuntu自己会侦测到7300然后提示安装nvidia的官方驱动,目前是185.18.36
驱动装完说要重启,为了避免各种意外,我听话。重启完之后在kickoff->applications->settings里面找到nvidia的控制面板,X server display configration里面就可以激活第二个显示器了,并可以做相关配置。配置完之后要Save to X Configuration File.也就是/etc/X11/xorg.conf 可是xorg.conf是root的644权限,所以在普通用户帐号下会保存失败。只能先保存到用户自己的目录下或者选择Show Preview查看生成的配置文件,然后用sudo vim或者sudo kate打开/etc/X11/xorg.conf ,手工编辑。

Xinerama模式
在这个模式下有两块Screen,分别显示在两台Monitor上。和TwinView模式在显示效果上有什么区别自己试试就知道了。在这个模式下很多特效不能开启,下面再详细说。

TwinView模式
在这个模式下只有一块Screen,延伸到两台Monitor上。

克隆模式
两台Monitor显示一样的内容。

一些弯路
在折腾compiz和驱动失败,最终决定放弃xinerama的时候,我忘了开启TwinView或者克隆模式,并且虽然关闭xinerama,但仍配置了两块Screen.这时候Secondary monitor虽然被激活,但是只显示黑色的背景,鼠标移进去的话显示为xserver原生的叉。并且在primary monitor上可以观察到两个screen重叠在一起。我尝试了调节screen1的坐标和monitor1的坐标,证实是徒劳的。也就是除非开启xinerama,否则xserver无法把第二个screen放置在别的monitor上。
最后激活了TwinView模式并且只保留了一个screen和一个monitor。虽然secondary monitor比较小所以screen有一部分永远留在了扭曲虚空,但是不太影响使用。

Xinerama和Composite的冲突
开启Xinerama模式之后,Kubuntu的特效消失了,在控制中心提示开启特效需要的Composite和Damage扩展无法启用。Google之后发现Xinerama模式和特效的冲突是广泛现象。进一步的搜索之后我知道特效是主流窗口管理器中的Compositing组件实现的。不幸的是,Gnome的Metacity,KDE的Kwin和独立的Compiz的compositing都和xinerama有冲突。有观点认为compiz在这方面做的最好,但是我尝试切换到compiz之后问题依旧。
关于nVidia,看到一个帖子说它的驱动实现compositing的方式依赖于glx,而在实现xinerama的时候驱动程序则要关闭glx,于是到目前为止在N卡上用双显示器开xinerama是个悲剧。

Compiz和Kwin
Compiz是一个历史悠久且强大的窗口管理器,Kwin和Metacity都从它那里抄走不少特效。然而在KDE4下,Compiz比Kwin速度慢,肉眼可以感觉到的级别。并且也没有解决我的问题。更关键的是我已经很习惯Kwin的快捷键了。所以最后还是用回Kwin了。

最后附上TwinView模式下的xorg.conf,很多xinerama模式下的配置注释掉之后也保留在里面,供参考
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 1.0  (buildd@palmer)  Sun Feb  1 20:21:04 UTC 2009

Section “ServerLayout”
Identifier     “Layout0″
Screen      0  “Screen0″ 0 0 #在TwinView下只配置一块Screen
InputDevice    “Keyboard0″ “CoreKeyboard”
InputDevice    “Mouse0″ “CorePointer”
EndSection

Section “Files”
#略
EndSection

Section “Module”
Load           “dbe”
Load           “extmod”
Load           “type1″
Load           “freetype”
Load           “glx”
EndSection

#xinerama默认是关闭的,而twinview是在screen section开启的
#Section “ServerFlags”
#    Option         “Xinerama” “1″
#EndSection

Section “InputDevice”
#略
EndSection

Section “Monitor”
# HorizSync source: edid, VertRefresh source: edid
Identifier     “Monitor0″
VendorName     “Unknown”
ModelName      “Philips PH109B7″
HorizSync       30.0 – 92.0
VertRefresh     50.0 – 160.0
Option         “DPMS”
EndSection

#twinview模式只配置一个monitor就够了
#Section “Monitor”
#   # HorizSync source: edid, VertRefresh source: edid
#   Identifier     “Monitor1″
#   VendorName     “Unknown”
#   ModelName      “ViewSonic A71f”
#   HorizSync       30.0 – 70.0
#   VertRefresh     50.0 – 160.0
#   Option         “DPMS”
#EndSection

Section “Device”
Identifier     “Device0″
Driver         “nvidia”
VendorName     “NVIDIA Corporation”
BoardName      “GeForce 7300 LE”
BusID          “PCI:1:0:0″
Screen          0
#这些选项都是默认值,不需要显式声明了
#    Option         “RenderAccel” “1″
#    Option         “AllowGLXWithComposite” “1″
#    Option         “AddARGBGLXVisuals” “1″
#    Option         “DisableGLXRootClipping” “1″
EndSection

#twinview模式只配置一张显卡就够了
#Section “Device”
# 略
#EndSection

Section “Screen”
Identifier     “Screen0″
Device         “Device0″
Monitor        “Monitor0″
DefaultDepth    24
#激活twinview
Option         “TwinView” “1″
Option         “TwinViewXineramaInfoOrder” “CRT-0″
#两台显示器的分辨率、刷新率和位置都是在这里配置的,+1024+0是以像素为单位的坐标
Option         “metamodes” “CRT-0: 1280x1024_85 +1024+0, CRT-1: 1024x768_85 +0+0″
SubSection     “Display”
Depth       24
EndSubSection
EndSection

#不需要screen1了
#Section “Screen”
#    Identifier     “Screen1″
#    Device         “Device1″
#    Monitor        “Monitor1″
#    DefaultDepth    24
#Option         “TwinView” “0″
#    Option         “metamodes” “CRT-1: 1024x768_85 +0+0;”
#    SubSection     “Display”
#        Depth       24
#    EndSubSection
#EndSection

#也不需要extensions,默认开启的。
#Section “Extensions”
#    Option         “Composite” “1″
#    Option         “Damage” “1″
#EndSection

Posted via email from Meow and Grrr of a Stray Cat

用U盘安装CentOS5/Debian/Ubuntu

Nov 07
2009

准备
grub4dos http://download.gna.org/grub4dos/
安装光盘镜像。CentOS的话,最好下全所有镜像,5.4是6cd;Debian只要下第一张就可以了;Ubuntu/Kubuntu则只有一张。
U盘一个,MBR必须是空的——如果你不知道MBR是什么,要么假定它已经是空的,要么自己google。如果不想安装过程中发生各种难以预知的意外,最好整个U盘都是空的。
用来启动安装程序的内核和内存镜像
CentOS的在iso1的images/diskboot.img里面,分别是vmlinz和initrd.img
Debian和Ubuntu的则要去服务器找,首先要知道一些debian和ubuntu资源的ftp服务器,参考收集速度快的Debian或者Ubuntu源
然后镜像通常在类似这样的路径下面

dists/squeeze/main/installer-i386/current/images/hd-media/

squeeze这一节是版本代号,例如debian的lenny,squezz,etch,sid(unstable分支永远是sid),ubuntu的intrepid,karmic,hardy,也有可能出现current,指向当前的稳定版本。
installer-i386这一级上根据自己的平台选择,要和iso匹配,例如下的是amd64的iso那么这里也应该选amd64。最终看到hd-media这个目录,就到家了。里面有vmlinz和initrd.gz,就是它们俩了。

开工
把grub4dos解压到U盘里,然后把vmlinz和initrd还有光盘镜像都丢进去。debian和ubuntu的镜像必须放在根目录,CentOS的不用但是何必多此一举自找麻烦。
然后用这个U盘开机,通常是在开机自检的时候按f12或者esc会进入选择启动设备的菜单,在那里选择usb-hdd或者在硬盘列表里找到u盘。还不会的话自己google一下。
启动成功之后就到了grub菜单,按c进入命令行,执行

kernel /vmlinuz
initrd /initrd.gz //或者.img
boot

就会引导安装程序。之后debian/ubuntu的安装程序会自己搜索iso,而centos则需要指定iso所在的设备和路径。
之后就进入正常的轨道了。

Posted via email from Meow and Grrr of a Stray Cat

从Kubuntu9.10远程登录CentOS5

Nov 07
2009

参考资料:http://wiki.centos.org/HowTos/VNC-Server

客户端环境:
Kubuntu9.10
krdc 4:4.3.2-0ubuntu4

服务器端环境:
CentOS 5.4
vnc-server 4.1.2
ip地址 192.168.1.45

需要到软件包都是在默认安装条件下配置好了的。那么开工。

服务器上的工作

首先编辑/etc/sysconfig/vncservers ,添加一行

VNCSERVERS="1:xxxx 2:oooo"

数字:后面的是要远程登录的帐号,然后为每一个帐号添加一行

VNCSERVERARGS[x]="-geometry 1024×768"

行末是远程桌面的分辨率。x是那个帐号对应的数字,这个数字将用于计算每一个用户登录的端口号
用户1用浏览器登录的话地址是http://192.168.1.45:5901 ,用VNC客户端登录地址是192.168.1.45:1,以此类推。同时要在系统防火墙里打开5901端口:KMenu->Administration->Security Level and Firewall

下面是官方维基给出的例子

VNCSERVERS="1:larry 2:moe 3:curly"VNCSERVERARGS[1]="-geometry 640x480" VNCSERVERARGS[2]="-geometry 640x480"VNCSERVERARGS[3]="-geometry 800x600"

然后依次登录每一个需要远程登录的帐号,执行命令
vncpasswd
会要求输入密码并确认一次,这是远程登录这个帐号的密码。

最后启动vncserver服务,我的CentOS桌面环境是KDE3,打开KMenu的system->service,在里面找到vncserver,启动。并且我勾上了开机自启动。这样系统启动到登录界面的时候就已经可以远程登录了。

在完成上面的工作之后,每一个有远程登录权限的用户主目录下都有个.vnc目录,里面有个xstartup,每次远程登录上来都会执行一次这个脚本。默认下这个脚本只启动twm和xterm,简陋得惨不忍睹。可以在这里启动Gnome或者KDE。我的xstartup是这样

xterm & #万一发生意外KDE没启动,我还有xterm
startkde &

如果用gnome,把startkde换成gnome-session

客户端的工作
启动krdc,直接在地址栏上输入192.168.1.45:x 。x是VNCSERVERS="1:xxxx 2:oooo"里和账户对应的数字而不是端口号590x 。会提示输入密码,是用vncpasswd设置的那一个。没有意外的话就OK了。

Posted via email from Meow and Grrr of a Stray Cat

scb函数库停止更新前的最后一个版本

Sep 09
2009
scb是straycat_bag,流浪猫的背包,从5月份开始学习javascript开始慢慢积累的一些代码。很快这个库就要成为AegeanSiren的一部分了。这个最后的版本留作纪念。
这些代码受GPLv3协议保护

$.scb = {
	web_root: $('#web_root.js_data').text(),
	static_root: $('#static_root.js_data').text(),
	page_owner_guid: $('#page_owner_guid.js_data').text(),
	page_owner_type: $('#page_owner_type.js_data').text(),
	msg_e_tpl: '抱歉, %s。您可以再试一次。如果仍出现问题并且您确定您的操作无误,也许我们遇到了技术困难或者正在与入侵我们网站的死星掠夺者苦战。烦请点击网站下方的反馈链接向我们报告错误,谢谢 :) ',
	msg_empty_tpl: '请填写 %s',

	adjustTextareaSize: function(node){

		var $area = $(node);

		var font_size = $area.css('font-size');
		var line_height = $area.css('line-height');
		var width = $area.css('width');
		var font_family = $area.css('font-family');
		var val = $area.val();
		var min_height = parseInt($area.css('min-height'));

		if(!min_height ){
			min_height = parseInt(line_height) * 5;
		}

		var $twc = $('#twc'); /*text width calculator*/
		if(0 == $twc.length){
			$twc = $('
'); $twc.hide(); $('body').append($twc); } $twc.css({'font-size':font_size,'line-height':line_height,'font-family':font_family,'width':width}); $twc.text(val); var height = parseInt($twc.height()); if( height < min_height ) { height = min_height; } var limit = 500; if(limit scrollHeight) && (scrollHeight > height)){ $area.height(scrollHeight); } }, cleanSp: function(node){ var $node = $(node); var $next = $node.next(); var $parent = $node.parent(); if(0 == $next.length){ $prev = $node.prev(); if($prev.hasClass('sp')){ $prev.remove(); } }else if($next.hasClass('sp')){ $next.remove(); } }, /** * */ log: function(msg,level){ /* check if log container exists */ var $log_container = $('#scb_log'); if(0 == $log_container.length){ $('#f_hd').prepend('
'); $log_container = $('#scb_log'); } /* covert level to class */ var class = ''; switch(level){ case 'log': default: class = 'notice'; break; case 'success': class = 'success'; break; case 'error': class = 'error'; break; } $log_item = $('
'+msg+'
'); $log_container.prepend($log_item); $log_item.click(function(event){ $this = $(this); $this.fadeOut(function(){ $this.remove(); }); }); setTimeout(function(){ var $log_item = $('#scb_log .log:first'); $log_item.fadeOut(function(){ $log_item.remove(); }); },60000); }, l: function(msg){ $.scb.log(msg,'log'); }, s: function(msg){ $.scb.log(msg,'success'); }, e: function(msg){ msg = $.scb.msg_e_tpl.replace('%s',msg); $.scb.log(msg,'error'); }, /** * */ validateEmail: function($node){ var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; return reg.test($node.val()); }, /** * activate next panel in the accordion the given node in */ activateNextAccordion: function(node){ try{ var $node = $(node); var $content; if($node.hasClass('ui-accordion-content')){ $content = $node; }else{ $content = $node.closest('.ui-accordion-content'); } $next = $content.next('.ui-accordion-header'); if(!$next.length){ var $accordion = $content.closest('.ui-accordion'); $next = $accordion.find('.ui-accordion-header:first'); } $next.click(); }catch(e){ $.scb.e(e) } },/*activateNextAccordion()*/ /** * */ collapseAllAccordion: function(node){ try{ var $accordion = $(node).closest('.ui-accordion'); var length = $accordion.find('.ui-accordion-header').length; $accordion.accordion('activate',length); }catch(e){ $.scb.e(e) } }, /** * */ ajax: function(action,data,success_callback,fail_callback){ var a; /*this temporary codes will be override*/ if(('//') == action.substr(0,2) || ('http' == action.substr(0,4))) { a = action; } else { a = $.scb.web_root+'a/'+$.scb.page_owner_type+'/'+action+'/'+$.scb.page_owner_guid; } data.via = 'json'; $.ajax({ url:a, type:'POST', cache:false, data:data, dataType:'json', success:function(response) { try { if(response.success) { if($.isFunction(success_callback)){ success_callback(response.data); } if(response.message){ $.scb.s(response.message); } } else { if($.isFunction(fail_callback)){ fail_callback(); } if(response.message.length){ $.scb.e(response.message); } } } catch(e) { $.scb.e(e); } }, error:function(xhr,error) { if($.isFunction(fail_callback)){ fail_callback(); } $.scb.e(error); }, }); },/*ajax*/ isUsingTinyMCE: function(node){ var $node = $(node); return (('undefined' != typeof(tinyMCE)) && $.isFunction(tinyMCE.get) && $node.attr('id') && tinyMCE.get($node.attr('id'))); } };/*scb*/ $.fn.highlightOnFocus = function(hlSelector){ this.bind('focus',{selector:hlSelector},function(event){ $(this).closest(event.data.selector).addClass('hl'); }); this.bind('blur',{selector:hlSelector},function(event){ $(this).closest(event.data.selector).removeClass('hl'); }); return this; }; $.fn.highlightOnHover = function(){ this.hover( function(event){ $(this).addClass('hl'); }, function(event){ $(this).removeClass('hl'); } ); }; $.fn.autoSizeTextarea = function(){ return this.each(function(){ $.scb.adjustTextareaSize(this); $(this).keyup(function(){ $.scb.adjustTextareaSize(this); }); }); }; $.fn.processDefVal = function(){ return this.each(function(){ var $this = $(this); if($this.val() == $this.attr('defval')){ $this.addClass('quiet'); } $this.focus(function(event){ var $this = $(this); if($this.val() == $this.attr('defval')){ $this.val(''); } $this.removeClass('quiet'); }); $this.blur(function(event){ var $this = $(this); if('' == $this.val()){ $this.val($this.attr('defval')); $this.addClass('quiet'); }else if($this.val() == $this.attr('defval')){ $this.addClass('quiet'); }else{ $this.removeClass('quiet'); } }); }); }; $.fn.validate = function(params){ if(!$.scb.validate_count){ $.scb.validate_count = 0; } return this.each(function(){ var $this = $(this); var validate_id = $.scb.validate_count++; $this.attr('vldid',validate_id); $this.bind('blur',{callback:params.callback,validator:params.validator},function(event){ try{ var callback = event.data.callback; if(!$.isFunction(callback)){ throw 'given callback isn\'t a function'; } var validator = event.data.validator; if(!$.isFunction(validator)){ throw 'given validator isn\'t a function'; } var $this = $(this); result = validator($this); callback(result); }catch(e){ $.scb.e(e) } }); }); }; $.fn.limitHeight = function(opt){ return this.each(function(){ var $this = $(this); var height = $this.height(); var line_height = parseInt($this.css('line-height')); var limit; if(opt && opt.limit){ limit = opt.limit; }else{ limit = 10; } limit = limit * line_height; if(height > limit){ $this.height(limit); } }); }; $.fn.unlimitHeight = function(){ return this.each(function(){ var $this = $(this); $this.height('auto'); }); };

Posted via email from Meow and Grrr of a Stray Cat

Elgg的get_loggedin_user_id()方法返回值类型问题

Aug 03
2009

engine\lib\sessions.php中定义的get_loggedin_user_id()方法定义如下:

function get_loggedin_userid()

{

$user = get_loggedin_user();

if ($user)

return $user->guid;

return 0;

}

返回的guid是string类型。这带来的问题就是如果new ElggUser(get_loggedin_user_id()),构造函数会把guid当成用户名,去寻找名为"123"这样的用户,而不是去寻找guid为123的用户。

一个解决方案是把return语句改为

return (int)$user->guid;

Posted via email from Meow and Grrr of a Stray Cat on Posterous

[转] Google 接近完整 Hosts 列表

Jul 29
2009

转自:http://hi.baidu.com/pkudoraemon/blog/item/6565bb22736e764792580712.html

发信人: szwj (MI07 & DMM | 不做大牛不喊弱), 信区: Google
标  题: Google 接近完整 Hosts 列表
发信站: 北大未名站 (2009年06月25日08:51:44 星期四), 站内信件

把下面的内容添加到C:\Windows\System32\drivers\etc\hosts文件中
由于使用的IP未必为最优,所以速度可能变慢。
有问题的清补充或更正。另外,Hints就是出不来,正在检查中。

#Search
74.125.39.99    www.google.com
74.125.39.103   www.google.com
74.125.39.104   www.google.com
74.125.39.105   www.l.google.com

#Images
74.125.39.99    images.google.com
74.125.39.103   images.google.com
74.125.39.104   images.google.com
74.125.39.105   images.google.com
74.125.39.106   images.google.com
74.125.39.147   images.google.com
74.125.77.99    tbn0.google.com
74.125.77.99    tbn1.google.com
74.125.77.103   tbn2.google.com
74.125.77.104   tbn3.google.com
74.125.77.105   tbn4.google.com
74.125.77.106   tbn5.google.com
74.125.77.147   tbn6.google.com

#Shopping
74.125.39.99    base0.googlehosted.com
74.125.39.103   base1.googlehosted.com
74.125.39.104   base2.googlehosted.com
74.125.39.105   base3.googlehosted.com
74.125.39.106   base4.googlehosted.com
74.125.39.147   base5.googlehosted.com

#Books
74.125.39.100   books.google.com
74.125.39.101   books.google.com
74.125.39.102   books.google.com
74.125.39.113   books.google.com
74.125.39.138   books.google.com
74.125.39.139   books.google.com
74.125.39.100   bks0.books.google.com
74.125.39.100   bks1.books.google.com
74.125.39.101   bks2.books.google.com
74.125.39.102   bks3.books.google.com
74.125.39.113   bks4.books.google.com
74.125.39.138   bks5.books.google.com
74.125.39.139   bks6.books.google.com
74.125.39.113   bks7.books.google.com
74.125.39.138   bks8.books.google.com
74.125.39.139   bks9.books.google.com

#Video
74.125.39.100   video.google.com
74.125.39.101   video.google.com
74.125.39.102   video.google.com
74.125.39.113   video.google.com
74.125.39.138   video.google.com
74.125.39.139   video.google.com
74.125.39.100   0.gvt0.com
74.125.39.101   1.gvt0.com
74.125.39.102   2.gvt0.com
74.125.39.113   3.gvt0.com
74.125.39.138   4.gvt0.com
74.125.39.139   5.gvt0.com

#Mail(POP3/SMTP)
209.85.147.109  pop.gmail.com
209.85.147.109  smtp.gmail.com

#WebMail
64.233.189.18   mail.google.com
64.233.189.19   mail.google.com
64.233.189.83   mail.google.com
64.233.189.18   www.gmail.com
64.233.189.19   www.gmail.com
64.233.189.83   www.gmail.com
64.233.189.19   googlemail.l.google.com

#Docs
64.233.189.101  writely-china.l.google.com
64.233.189.101  writely.l.google.com
64.233.189.102  docs.google.com
64.233.189.101  docs.google.com
64.233.189.100  docs.google.com

#Map
64.233.189.104  map.google.com
64.233.189.99   map.google.com
64.233.189.147  map.google.com
64.233.189.104  maps.google.com
64.233.189.99   maps.google.com
64.233.189.147  maps.google.com
64.233.189.99   maps.gstatic.com
203.208.39.93   khm.google.com
203.208.39.91   mt0.google.com
203.208.39.93   mt1.google.com
203.208.39.91   mt2.google.com
203.208.39.91   mt.l.google.com
64.233.189.99   maps.l.google.com

#Scholar
64.233.189.99   scholar.google.com
64.233.189.104  scholar.google.com
64.233.189.147  scholar.google.com
64.233.189.104  scholar.l.google.com

#Group
64.233.189.102  groups.google.com
64.233.189.100  groups.google.com
64.233.189.101  groups.google.com
64.233.189.101  groups.l.google.com

#Picasa
74.125.39.147   picasa.google.com
74.125.39.91    photos.google.com
74.125.39.91    picasaweb.google.com
74.125.39.93    picasaweb.google.com
74.125.39.136   picasaweb.google.com
74.125.39.190   picasaweb.google.com
74.125.39.91    lh0.ggpht.com
74.125.39.93    lh1.ggpht.com
74.125.39.136   lh2.ggpht.com
74.125.39.190   lh3.ggpht.com
74.125.39.91    lh4.ggpht.com
74.125.39.93    lh5.ggpht.com
74.125.39.136   lh6.ggpht.com
74.125.39.190   lh7.ggpht.com

#Translate
74.125.39.100   translate.google.com
74.125.39.101   translate.google.com
74.125.39.102   translate.google.com
74.125.39.113   translate.google.com
74.125.39.138   translate.google.com
74.125.39.139   translate.google.com

#Reader
74.125.39.99    reader.google.com
74.125.39.103   reader.google.com
74.125.39.104   reader.google.com
74.125.39.105   reader.google.com
74.125.39.106   reader.google.com

#Sites
64.233.161.9    sites.google.com
74.125.53.9     sites.google.com 
74.125.39.102   sites.google.com 
74.125.39.139   sites.google.com 
74.125.45.9     sites.google.com 
74.125.39.139   sites.google.com

#Code
74.125.53.9     code.google.com   
74.125.45.9     code.google.com   
64.233.161.9    code.google.com   
74.125.39.102   code.google.com   
209.85.137.9    code.google.com   
74.125.39.139   code.l.google.com

#Labs
74.125.39.141   www.googlelabs.com
74.125.39.141   appspot.l.google.com
74.125.39.100   labs.google.com
74.125.39.101   labs.google.com
74.125.39.102   labs.google.com
74.125.39.113   labs.google.com
74.125.39.138   labs.google.com
74.125.39.139   labs.google.com

#Knol
74.125.39.100   knol.google.com
74.125.39.101   knol.google.com
74.125.39.102   knol.google.com
74.125.39.113   knol.google.com
74.125.39.138   knol.google.com
74.125.39.139   knol.google.com

#Sketchup
74.125.39.99    sketchup.google.com
74.125.39.103   sketchup.google.com
74.125.39.104   sketchup.google.com
74.125.39.105   sketchup.google.com
74.125.39.106   sketchup.google.com

#Pack
74.125.39.99    pack.google.com
74.125.39.103   pack.google.com
74.125.39.104   pack.google.com
74.125.39.105   pack.google.com
74.125.39.106   pack.google.com

#News
74.125.39.99    news.google.com
74.125.39.103   news.google.com
74.125.39.104   news.google.com
74.125.39.105   news.google.com
74.125.39.106   news.google.com
74.125.39.147   news.google.com
74.125.39.99    nt0.ggpht.com
74.125.39.103   nt1.ggpht.com
74.125.39.104   nt2.ggpht.com
74.125.39.105   nt3.ggpht.com
74.125.39.106   nt4.ggpht.com
74.125.39.147   nt5.ggpht.com

#Calendar
74.125.39.100   calendar.google.com
74.125.39.101   calendar.google.com
74.125.39.102   calendar.google.com
74.125.39.113   calendar.google.com
74.125.39.138   calendar.google.com
74.125.39.139   calendar.google.com

#Blogger
74.125.39.191   www.blogger.com
74.125.39.191   blogger.l.google.com
74.125.39.191   blogger.google.com

#Orkut
74.125.47.85    www.orkut.com
74.125.47.86    www.orkut.com
74.125.47.85    orkut.google.com
74.125.47.86    orkut.l.google.com

#Youtube
74.125.39.100   www.youtube.com
74.125.39.101   www.youtube.com
74.125.39.102   www.youtube.com
74.125.39.113   www.youtube.com

#Toolbar
74.125.39.100   toolbar.google.com
74.125.39.101   toolbar.google.com
74.125.39.102   toolbar.google.com
74.125.39.113   toolbar.google.com

#Apps
74.125.39.99    apps.google.com
74.125.39.103   apps.google.com
74.125.39.104   apps.google.com
74.125.39.115   apps.google.com

#Chrome
74.125.39.99    chrome.google.com
74.125.39.103   chrome.google.com
74.125.39.104   chrome.google.com
74.125.39.115   chrome.google.com

#Finance
74.125.39.99    finance.google.com
74.125.39.103   finance.google.com
74.125.39.104   finance.google.com
74.125.39.115   finance.google.com

#Desktop
74.125.39.99    desktop.google.com
74.125.39.103   desktop.google.com
74.125.39.104   desktop.google.com
74.125.39.115   desktop.google.com

#Ajax
74.125.53.9     ajax.googleapis.com
74.125.45.9     ajax.googleapis.com
64.233.161.9    ajax.googleapis.com
209.85.137.9    ajax.googleapis.com
72.14.203.9     googleapis-ajax.l.google.com

#Modules
74.125.39.132   1.ig.gmodules.com
74.125.39.132   2.ig.gmodules.com
74.125.39.132   3.ig.gmodules.com
74.125.39.132   4.ig.gmodules.com
74.125.39.132   5.ig.gmodules.com
74.125.39.132   6.ig.gmodules.com

#Misc
64.233.189.101  id.google.com
64.233.189.102  id.google.com
64.233.189.100  id.google.com
64.233.189.100  id.l.google.com
74.125.39.132   skins.gmodules.com
74.125.39.132   googlehosted.l.google.com
74.125.39.132   img0.gmodules.com
74.125.39.99    blogsearch.google.com
74.125.39.99    www2.l.google.com
74.125.39.99    www.gstatic.com
74.125.39.100   www3.l.google.com
74.125.39.99    buttons.googlesyndication.com

Posted via email from Meow and Grrr of a Stray Cat on Posterous

Tor,自由门,Freegate和Autoproxy

Jul 21
2009
Click here to download:

fg680f.ex (398 KB)

互联网是什么?交流的工具。交流是什么?获得和给予。通过某种工具找到有价值的东西,并且再分享出去,这是互联网创造的最美好的涟漪,是我见过的对未来最美好的设想。然而一股力量正试图扼杀这茁壮的幼苗,试图让世界重新变成无数分隔的孤岛。

"孩子们,你们要明白,现在还没到那时候,放开了,会出乱子的。"我对此的回答是,试想,温室里的花朵什么时候能成长到可以面对风雨的程度?永远。没有逐步的开放,国民的强大——这是真正的一个国家的强大,永远不会到来。这是我们得到有关改革开放的知识的时候受到的教诲。然而,教导我们这些观点的人正采取相反的做法。准确的说,一小部分知道真相的远离群众的人,正在倒行逆施。试图让这片土地与世界的步伐脱节的,不是试图维持稳定的力量,而是贪图私立和谋求奴役的力量。
把墙打开会让孩子们受到伤害?我认为不。社会有它自己的机制来调节,就像造就了你我的那些最勇敢的蝌蚪那样。跳楼的,砍父母的,让他们去吧,真正要注意的是那些数着纳税人钞票并试图把我们注意力引开的人。
言归正传。
Tor
古老而有效的工具,其工作机制使得它几乎无法被任何手段阻拦。各种翻墙的本质都在你的机器和某一台没有被墙的机器之间用某种协议建立一个隧道,数据包像肖申克的救赎的Andy那样爬过隧道,在另一端出来的时候,就已经在墙外面了。所以各种翻墙工具的比较实际上是易用性的比较和提供翻墙工具的人准备的服务器质量的比较。Tor的代理服务器是全球千千万万Tor使用者中一部分提供的。GAppProxy在天朝全面封闭Google那天也失效了,u之类的如果哪天没有国外反华势力赞助了服务质量也会下降,而Tor,只要它的用户群不消失,这个代理网络就不会消失,就像美国南北战争时帮助黑奴逃脱的"地下铁路"一样。Tor的使用在另一篇文章里讲了,这里不再赘述。在这里讲这么多废话只是要说明: 不能忘了Tor.
Freegate
网上有测评说在Windows下从速度和稳定性看都是首选。我从高中开始用,的确不错,但是在Linux下还没找到用的办法,而且我是Tor服务器网络的一员,所以很少开别的代理。只有一个可执行文件,不用安装,最新版6.80只有399k。关键问题是,怎么弄到这玩意儿,尤其是,怎么弄到没有被注入病毒的这玩意儿。我的建议是先装Tor,然后开着Tor去http://www.softpedia.com/progDownload/Freegate-Download-126546.html或者http://download.cnet.com/Freegate/3000-2085_4-10415391.html下。你看到文章的时候链接可能不一样了,带着Tor上Google搜一下吧,尽量在搜索结果前几项的网站下载。http://snowhellsing.posterous.com/也有得下,但是更新不会很及时。
Autoproxy
装完各种套或者门之后还要配置浏览器,对某些同学来说可能有些复杂。人生而平等,没有非计算机专业的人就活该在墙里过日子这种说法,所以有Autoproxy。这是火狐浏览器的一个插件,开着火狐去https://addons.mozilla.org/en-US/firefox/addon/11009安装。因为这个插件还在试验阶段,所以安装要注册。如果就连用火狐以及去一个英文网站注册都太复杂,用自由门吧,那玩意儿会自动配置IE。
Google Reader/鲜果 以及其它RSS阅读器
他们是新闻阅读器,恩,发布新闻的RSS或者说Atom协议是墙不掉的——当然了,阅读器本身可以被墙掉。即使阅读器都被墙掉了,还有很多桌面版的阅读器,比如遨游就自带阅读器。那么,随便打开一个离你最近的阅读器,添加这个地址:http://feeds2.feedburner.com/chinagfwblog 然后就开始学习睁开眼睛看世界和从不同声音中接近真相吧。

最后再次解释我为什么这么做,不是说给墙和墙上的青天说的,而是为了告诉我的朋友们我为什么这么做: 
  • 只有一种声音的世界,即使看起来和谐,那种和谐也是伪装出来的。
  • 世界只有稳定和动乱两种状态的观点,已经随着苏联帝国的倒台一起过时了。
  • 世界应该在不同声音的争鸣中,像DNA一样纠缠着向前发展。
  • 社会有它自己的机制修正各种问题,就像水解平衡一样。危险的不是开放,而是封闭。
  • 乖乖当个顺民隔岸观火的路走不通。大的例子见二战初期的英国。小的例子,小学的时候我差不多是全班最好最乖的孩子了,但是班主任为了我们班在篮球赛出"政绩",一样禁止我组织同学踢足球。

Posted via email from Meow and Grrr of a Stray Cat on Posterous