Archive for the '技术' Category

懒人翻墙

GFW(Great FireWall)是个无所不能的家伙,它把中国的互联网变成了一个大的局域网。如果你偶尔想访问网外的东西,那么没有一个代理是不行的。由于人的欲望是无穷的,于是当我找到这样的代理的时候,我仍然不满意:我觉得手动去切换代理十分不方便。例如我要访问twitter.com,那么我得事先把代理设一下,等访问完毕再设回来。如果不这样的话,那么通过代理访问国内网站的时候就显得太慢了。要是有一个东西能够自动帮我设置代理就好了。

后来还真被我找到Firefox浏览器上的一个好东西——Foxyproxy。简单地说,当浏览器要访问一个URL的时候,它先经手一下,根据事先确定的规则来对不同的URL选择使用不同的代理。如此一来,我需要做的只是设置好规则就可以了。由于人的欲望仍然是无穷的,于是我还是觉得这样太麻烦。有些网站的URL不是那么显而易见的。比如www.youtube.com,页面里面的图片都是从ytimg.com来的,如果没有把后者加入到规则里,那么youtube的页面将丑陋不堪。即便我设好了所有的规则,但当我更换电脑的时候,我就需要把所有规则重设一遍。要是有人能帮我设置这些URL规则就好了。

这里就要隆重推出Firefox的AutoProxy这个插件了。它除了完成FoxyProxy的功能之外,还预设了一个被GFW挡在墙外的URL列表,而这个列表是在被很多人一起维护的。简单地说,如果GFW新封禁了某个网站,那么这个网站地址很快就会被志愿者加入到列表里;反之就从列表里剔除。最完美的方案终于被我找到了。

老是记不住网站密码吗?

上网时间长了,终归免不了在各个网站注册了很多账号的。有些人喜欢到哪儿都用同一个密码,方便是方便,但这样会有很大的安全问题:假如有个网站不负责任,获取了你的唯一密码,那么理论上你在其他所有网站的账号就对他门户大开了。如果你的账号已经使用多年了,那么可能的损失还是挺大的。一个解决办法是使用不同的密码登录不同的网站,但一个人很难记得住那么多密码的;即便密码是通过一定规则产生的,但规则复杂了使用有困难,规则简单了则难保不被别人猜到。

但根据所登录的网站不同来根据一定规则产生密码的这个思想是很好的,而且多年前就已经有人在制造专门的工具,并且现在这种工具也越来越多,越来越成熟了。它的思想是:你可以给定一个主密码,据此在你登录不同网站时自动生成不同的复杂密码。这样一来,用户只要记住自己的主密码就够了。这种工具的另一个好处是:即便密码和网站等信息都被人知道了,他也几乎不可能反推得到你的主密码,因而也不可能知道你是怎么登录其他网站的。

Firefox有个Password Hasher插件,安装之后它会自动在网页密码输入框旁边设一个快捷方式,输入账号名之后点击“#”就可以打开Password Hasher主窗口了。它会根据域名自动生成当前网站的一个标记(“Live”),然后等待你输入主密码,点击“OK”,生成的网站密码就自动被输入到密码框中了。它还可以定制密码长度,是否包含特殊字符,是否包含数字等等,适合绝大多数网站的密码规则要求。

Password Hasher还有Android版本,叫做“Hash It”,用Android手机上网的时候用起来很方便。如果你既不用Android也不用Firefox,那么这里还有网页版,把它加入收藏夹,这样的话只要能上网就可以使用了。

类似的优秀工具还有好几种,比如Password Maker就令人难以取舍。

让Google搜索不再抽风

Google搜索最近终于开始支持SSL访问了,也就是说当你访问Google时,无论你提交给Google的关键字还是Google返回的页面都是经过加密的。那么如果有人想在中途截获你和Google之间通信内容的话,他肯定得比现在再努力一些了。如果中途没人能够知道你和Google之间说了些什么,那么就没人能够通过过滤关键字来阻止你访问Google。当然,Google抽风也许是个好事情,因为如果它从此不再抽风的话,它就有可能从此在高墙之内消失。暂不管它,先看看怎么访问Google搜索的SSL服务吧:打开浏览器,访问https://www.google.com就可以了。但如果你想把它设成默认搜索引擎,那么还得多费一点功夫。

如果你用的是Firefox,那么可以到Firefox网站下载安装“Add to Search Bar”插件。重启Firefox之后再访问https://www.google.com,找到那个搜索框,在里面点右键,此时右键菜单里里会多出一个“Add to Search Bar”的选项。点击之后,就可以在Firefox自带的搜索框里使用加密的Google搜索服务了。

如果你使用的是IE或者是Chrome,那么这里有较完备的教程,不过是英文的,我就不翻译了。

尝试“云存储”

早就听说过Dropbox,也知道它是一个类似网络硬盘的服务,但因为没有需求,一直都没有尝试过。直到最近听说Dropbox被伟大的GFW封了,才跑去试用了一下,结果一试用就离不开了,生生地被Dropbox制造出了一个需求。

我平时备份文件用的最多的是移动硬盘,然后是GMail,Google Doc以及开心网的网络硬盘等等。所有这些方法都存在一个弊病,那就是文件的备份是手动的,并且有些还不能备份文件夹。以GMail为例,当需要备份一些文件时,我会将其打包成一个压缩文档,然后确保其大小不超过20兆,然后作为附件写一个邮件发送给自己。这个过程是全手动的,并且由于网速的限制,我必须要等一些文件上传完之后才能继续上传剩余文件。

Dropbox则从另一个角度出发,解决了上面这些问题。使用它的话需要先下载安装一个客户端,这个客户端是在后台运行的,不需要用户干预。它的唯一职责就是监视本地硬盘上的一个目录,负责维持这个目录里的内容与网络硬盘内容的同步。这样一来,当我要备份一些文件时,我需要做的就是将这些文件拷贝到硬盘的指定目录就完事了。客户端会将所有文件上传到服务器,并且这一过程完全不需要用户的干预。同理,如果此时还有一台计算机运行了Dropbox的客户端,那么这台计算机稍后会在指定目录里看到我刚刚拷贝过的那些内容。至于安全性,据Dropbox所说,数据传输的整个过程以及服务器上保存的文件都是经过加密的。

Dropbox最大的特点就是简单(以及所谓安全)。这个简单不仅体现在界面上,还体现在使用过程上:一个账号,一个几乎不需要交互的客户端,以及一个本地的同步目录。Dropbox的免费容量是2G,这对一般应用而言够用了,而且推荐其他用户使用Dropbox可以得到额外的免费容量。如果你想帮我增加免费容量,就点这个链接吧:https://www.dropbox.com/referrals/NTczNzI5MjY5

如果需要更复杂一些的功能,可以使用SugarSync。SugarSync是另一个有名的云存储服务,是Dropbox的一个大敌。SugarSync也需要安装一个客户端,但它支持本地的多个同步目录,还支持通过邮件上传文件,而且目前暂时还没有被“墙”。不过从Dropbox被墙而SugarSync没有被墙的现状来看,似乎Dropbox更好一点点。SugarSync的容量也是2G,而如果你点击https://www.sugarsync.com/referral?rf=fsk9fx3wkzobm来注册的话,你我都会得到额外的250M容量。

在Windows里通过在鼠标右键菜单打开Emacs

虽然通过使用IBuffer已经可以很方便地在Emacs里随机访问文件夹里的某个文件了,但有的时候还是想在文件夹里直接通过Windows鼠标右键菜单在Emacs里打开特定文件。网上有很多地方介绍了方法,但没有能直接试成功的,总需要自己再稍微做一些修改。由于颇花了些时间,值得在这里记录一下,免得日后忘掉,或者给后来人做参考:

首先要修改注册表,为文件和目录添加鼠标右键菜单:创建一个reg文件,双击导入注册表就可以了。我的reg文件的内容如下:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT*shell]
[HKEY_CLASSES_ROOT*shellopenwemacs]
@=”Edit with &Emacs”
[HKEY_CLASSES_ROOT*shellopenwemacscommand]
@=”c:\green\emacs-22.3\bin\emacsclientw.exe –server-file=d:\.emacs.d\server\server –alternate-editor=C:\green\emacs-22.3\bin\Emacs.bat -n “%1″”
[HKEY_CLASSES_ROOTDirectoryshellopenwemacs]
@=”Edit &with Emacs”
[HKEY_CLASSES_ROOTDirectoryshellopenwemacscommand]
@=”c:\green\emacs-22.3\bin\emacsclientw.exe –server-file=d:\.emacs.d\server\server –alternate-editor=C:\green\emacs-22.3\bin\Emacs.bat -n “%1″”

emacsclientw的意义是通知emacs服务打开指定的某个文件。它通过”–server-file”来找到后台运行的emacs服务,在连接emacs服务失败之后使用”–alternate-editor”来打开指定的文件。因此其具体效果就是当有emacs实例在运行时,在该实例里打开指定文件,否则新建一个emacs实例,然后在其中打开文件。可以通过执行

“emacsclientw.exe –help”

来查看emacsclientw命令的帮助。很显然,emacs服务在启动时应该设置一个跟”–server-file”对应的标记,以便emacsclientw稍后能够检测到它。这可以通过设置全局变量”EMACS_SERVER_FILE”来完成,这里马上就会讲到它。

其次,在emacs启动的时候,顺带启动emacs服务,以便将来emacsclientw可以与之交互。这可以通过在emacs设置文件”.emacs”里添加一句话来完成

(server-start)

最后要设置相应的环境变量。我不喜欢在系统环境变量里添加太多的东西,因此写了一个批处理文件,每次试图启动emacs时执行这个批处理文件,将环境变量的作用域局限在这个Shell中。如果你使用了别的路径或者文件,那么前面的注册表文件需要做相应的修改:

@echo off
set HOME=D:
set EMACS_SERVER_FILE=D:\.emacs.d\server
set PATH=C:\green\unixUtils;%PATH%
start c:\green\emacs-22.3\bin\runemacs.exe %1 %2 %3 %4

跟直接用runemacs打开文件不同,使用上述方法可以只在一个emacs的实例里打开多个文件,这不光使得emacs窗口更加紧凑,在某些情况下还会有额外的便利(比如使用”desktop”插件时)。上述方法的一个缺点是当emacsclientw连接emacs服务失败时,在启动一个新的emacs实例之前会跳出一个错误对话框。不过没什么影响,直接点掉就可以了。几个参考链接:

Setting up Emacs on Windows | irisquest.net
EmacsWiki: Emacs Client
How to create a right-click context shell shortcut “edit with Emacs”? – Stack Overflow

你的优盘暂时无法卸载吗?

在平时用电脑的时候,经常会碰见无法卸载优盘或者无法删除某个目录或文件的情况。这一般是因为优盘上的程序正在运行,或者是有程序正在访问这个目录或文件。这个时候比较头疼的是不知道到底是什么进程在使用它。不过幸好有一个免费工具可以帮我们得到这个信息甚至直接操作目标,这就是Unlocker

以删除目录为例。下载安装了这个小软件之后,只需要在要删除的目录上点右键,就可以看到多了一个"Unlocker"选项:

点击它,然后你就可以看到弹出一个对话框,列出了当前有哪些程序正在使用这个目录。下面你就可以手工退出程序,或者通过这个对话框来杀掉进程(Kill Process)、释放进程对目录的锁定(Unlock [All]),之后就可以对目录进行各种操作了。简单吧?

快速定位本机文件

使用电脑的人肯定会遇到过这样的问题:想找以前保存过的一个文件,但问题是不记得放在硬盘的什么地方了,而且记不清文件的确切名字,那么怎么能快速找到它呢?你当然可以用Windows自带的搜索功能,也可以用Google Desktop,但是前者搜索时太慢,后者建索引时太慢,反正都是会把机器搞得很慢。在这里我推荐一个工具:Everything

  • 软件非常小(约300K),并且是自由软件(免费)
  • 基本不需要建立索引的过程,安装完就可以使用
  • 文件定位非常快
  • 支持中文文件名
  • 支持自定义快捷键
  • 搜索时支持路径名、不完整的文件名、通配符以及正则表达式
  • 可以在本机建立http或者ftp服务,供远程机器搜索本地文件用
  • 可以排除某些目录,不索引其中的文件
  • 仅支持NTFS的文件系统 (不知道如何将文件系统转换成NTFS?点这里

下面是软件界面,简洁有效,没有一点多余的东西,用过喜欢的话别忘了顶一下:

有趣的Google SpreadSheets

原先一直以为Google的SpreadSheets只是一个网络版的Excel。近来由于某些原因去使用了一下,感觉虽然作为一个数据表格功能上跟MS的Excel差的还很远,但是也有很多MS Excel所不具备的有意思的概念。Google的SpreadSheets可以在线发布,这样别人可以看到一个只读版本的工作表,并且工作表的内容即时更新。我做了一个我们篮球俱乐部的经费清单,这样所有人都可以随时获得俱乐部的运行状况了。还抽空做了一个油耗统计工具,见这里,有人需要的话我可以免费共享啊,呵呵。

Google SpreadSheets还可以通过email分发格式化的表单,在用户填写之后自动汇总到工作表里面。这个功能也蛮有意思的,要做市场调查的人有福了。忽然想起来它还可以作为一个很简陋的留言板使用,待会儿做个试试去。

该发生的还是发生了

今天忽然发现我曾推崇备至的TOR的网站也被the Great FireWall封禁了,真是没人性啊。还好我对这个项目已经有了充足的了解,封禁的不怕。只是苦了那些象曾经的我一样到处找国外代理的人了。

Google Calendar中的腾讯

从3月20号开始,我收到的Google Calendar短信提醒的最后都附上了“[腾讯科技]”的字样。咋一开始还以为是腾讯给我的短信,后来又以为Google Calendar哪里出了问题。后来渐渐明白了,Google应该是和腾讯有某种程度的合作,或者说是用了人家腾讯的服务,才不得已在短信末尾给腾讯做上广告。不知道以前为什么没有这段文字,也不清楚以后什么时候才能去掉。
 
另外一个关于Calendar的发现:把Calendar的默认语言改成中文后,我发现Google并没有为中文设置“Quick Add”的功能。当天的时间是识别的,但日期不可以。但改成中文的一个好处是提醒短信的整个可以是中文。一条短信可以写70个汉字或者160个英文字符,但前者能携带的信息量要比后者大得多,省了动不动就收到分页短信的麻烦了。

分类