windows下那些好用的免费程序

    大部分开源,不开源的特别注明。

firefox或者chrom替换掉IE。

    不解释了。本公司UED坚持认为在windows下使用IE是一类人格缺陷,有这种缺陷的人应当被自然淘汰。我当然不支持他人格缺陷的论点,我认为是智力缺陷。
Everything(不开放源码)
    文件搜索工具,肯定要装,平时不消耗资源,需要的时候闪电一般的把你需要的东西找出来。这个东西会彻底的改变你文件管理的习惯。
klite codec
    还在用腾讯/暴风影音?我推荐klite codec。这个玩意里面内置了Media Player Classic – Home Cinema作为播放器,并且把常用的解码器组件都装上了。基本好用。当然,所谓基本,和商用播放器的一堆花哨功能不同。klite的功能还是略差的,比较偏向基本功能的稳定。不过好在,有的地方klite更强一点——例如没有烦人的广告和插件,性能和稳定性都很不错,而且有些生僻格式也做了支持。实际上,我觉得出问题最多的还是这些生僻格式和wmv。
mplayer
    比klite还强的播放器,和vlc并称最强播放器之二。就是太难玩了。
    另外,我不推荐在windows下用vlc,不太稳定。
MediaCoder
    转编码不错,除了rmvb格式外都很好转。压个片给手机的时候很方便。
putty(英文版!)
    远程命令行工具,基本是做linux开发的不二选择。即使我没事用windows也习惯装个虚拟机,跑个linux,然后用putty连上去。当然,putty肯定是要用英文版的,具体自己google吧,不要baidu。
foobar2000(不开放源码)
    音乐播放器,替换千千静听和酷狗的。确实是超级强的定制工具,居然支持从zip/7z中加载音乐。这样我下的音乐包都可以直接用了,不用解压。
launchy
    启动工具。有更好的启动程序可以给我介绍一下,我现在用的是launchy。按热键,敲几个字母,就可以启动程序了。而且这个是linux/windows支持的,两者习惯完全一致。当然,如果你stick在某个系统上,可以找找更适合的软件。
honeyview(不开放源码)
    漫画工具,主要是还在维护。能用的漫画工具也没几个了,comicviewer不维护了,acdsee根本是个庞然大物。
peazip
    压缩工具,挺不错的。现在大多数都用winrar了吧?一个是这玩意需要破解,不然就乱弹窗。作为一个程序员,我实在不好意思破解。另一方面,这个东西对samba的支持不好,在win7下,他没法打开samba共享出来的文件,而且某些文件会乱码。peazip可以解压我要用的全部格式,包括rar。并且可以生成我要的大部分格式,包括linux格式,不包括rar。这个主要受限于copyright问题。
    不过peazip对某些比较奇怪的字符支持不如winrar,有时会不认识一些日文压缩包。这个问题对honeyview等程序都存在,我认为是这些压缩包自己的问题。
Foxit(不开放源码)
    pdf阅读工具,国产软件,比adobe的强。不过细节总是做的不是很好。例如书签不够强大,注记功能不足,不支持zip文件读取等。不过要不用foxit,就要用回adobe,你自己看着办。

千千静听被百度收购了,WTF

    我挺喜欢千千静听的,这玩意被我调整到习惯和winamp差不多。自从winamp变成一个庞大的怪物以来,我一直用的这个。

    不过在win7上,我一直删除不掉百度插件。每次我请他们出去,他们又会装上。后来我启用了严格的UAC,并蓄意把目标文件夹标记为没有人拥有权限,发现了问题——千千每次启动都查找并试图重装baidu插件。我开始以为是我下载的版本不对,被捆绑了其他组件。然后我去他们官网,下载了一个最新版本。安装的时候,我留意到发行者是baidu online…。OK,问题看来不是我下载的版本被恶意捆绑,而是原始版本就写入了这个代码。
    用过firefox或者比较正规的软件(包括微软那个IE)的人都可以留心到,在关于页面中,可以看到这个软件使用了哪些开源组件。这个大部分是因为这个库的版权限定要求使用者必须列出库的名称。不过这点在中文软件上就做的比较差,也许是根本不拿授权当回事吧。
    但是,在软件内打入和软件功能无关的其他组件,那是另一回事情。个人认为,一个程序如果在安装包内捆绑插件,让用户选择安装,我还能接受。毕竟很多软件作者也要吃饭,做插件推广是一条路。如果捆绑强制安装,那就有流氓之嫌了。如果捆绑完了不算,还在每次启动的时候都检查插件是否还在,那就是确定无疑的流氓。
    当然,千千的行为比这个更糟糕(我不选择说更流氓)。千千主页上没有任何地方说明千千归属了百度旗下,只有最下方有一条<千千静听联手百度娱乐推出“百度新歌汇”>的新闻,以及最下方有百度软件世界的连接。我也是从UAC的警告中发现,千千的软件包是用winrar打的(不知道是否是正版),而签名则是Baidu。至于选择,软件安装的时候的却有选择,不过即使选择了“不安装百度工具栏”,“不将hao123设为主页”也没用。还是会有一个叫做BaiduMusicCtrl的东西伴生安装进去,每次ttplayer启动时伴生启动的就是这个。说是和音乐有关的东西么,我在IE的插件和系统启动项中都找不到这个东西的影子,不知道是干吗的。千千删除的时候也不会跟随删除,不过可以找到独立的“百度音乐控件”项目,并且手工删除。更神奇的是,我在主页上找不到任何关于此事的说明还不算,连软件的发行授权都没有。没有发行授权,这软件我们用着算怎么回事呢?
    我又安装了一遍千千,找到了软件使用协议“版权归属所有者所有”。这不是TM废话么。
    OK,很多人在我说,中国人不大在意版权,这句话的时候,要我拿出证据。现在就是一个明证。从整个过程中,我感觉到的并不单是恶意捆绑这么个事情,而是对版权和授权的一个漠视:
1.没问你要不要,总之给你捆绑安装百度音乐控件,每次千千启动时自动启动更新。
2.被百度买了,页面上什么关联都没写。
3.关于授权,这个软件什么都没写。(另外,写授权的时候不要写“保留一切权利”,这是句屁话。你最起码得度让使用权,否则发行软件给别人就是故意诱使别人犯罪。千千的“保留知识产权”还是正确的。)因此,不要问我如果你把千千放到你的主页上会如何——这算再发行,合法不合法就看作者定义了——虽然我觉得他自己都不一定觉的出区别。
    现在改用了foobar2000,很满意。这个东西可以接受samba共享系统,并且支持从zip/7z中读取文件。我很多下载的zip音乐包就可以直接使用了。虽然界面简陋很多,不过用起来更顺手。千千还是留给度娘控吧。

NSIS在64位下安装时无法写入注册表的问题

    最近公司碰到一个问题,NSIS在64位下安装时无法写入注册表。

    首先,这个问题不是UAC没有权限的问题,因为我使用administrator安装依然有问题。其次,问题和win2008没关系,只出现在64位上。

    问题在哪里呢?在写入注册表前,SetRegView 64,写入后换回32,问题解决。
    真TMD的。

论不同系统和客户端的证书管理

    上面刚说完x509证书链系统,现在我们说说各种系统和客户端下的证书管理吧。理论上说,系统只要保留一份根证书系统,其余的会自动进行计算。但是杯具的是,不同系统的不同应用,使用的是不同的数据库。这导致你的根证书导入之路漫漫而修远。

windows系统:
1.系统证书管理
    在运行中输入certmgr.msc,就可以看到证书管理系统了。根证书管理在“受信任的根证书颁发机构->证书”下面。对证书文件进行查看,导入,然后导入到这个区域,就可以变成根证书了。要吊销一份证书,删除是不行的,因为会自动加回来。加入“不受信任的证书”好像也无效。我找到的比较实用的方法是右击看属性,“停用这个证书的所有目地”。再试试看?证书应当无效了。

2.firefox
    火狐的证书系统是独立于系统证书的,因此在windows中做的修改对firefox无效。需要到“选项->高级->加密->查看证书”中(windows下在工具菜单下),在“证书机构”选项卡,导入证书,而后启用所有用途,让证书生效。如果要吊销,跑到同一个地方,删除证书,或者编辑,取消所有用途。需要注意的是,当你删除证书后,再次查看证书列表时,证书会回来。但是此时编辑证书,可以看到,所有用途都被取消了。

3.chrome
    chrome在windows下使用系统证书,因此不要用chrome自身的证书管理系统,直接修改系统证书就可以。

linux系统(debian):
1.系统证书管理
    运行dpkg-reconfigure ca-certificates,会出现让你配置系统证书的界面。这是系统的证书数据库,自动配置的话好像不能添加,只能取消。你反选某个选项后,/etc/ca-certificates.conf中,对应这个选项的行在行首就会出现!。此时系统内就不再认可这份证书。因此推测,如果你需要自己加入一份证书,需要将证书添加到合适位置,编辑/etc/ca-certificates.conf,加入路径,再执行dpkg-reconfigure ca-certificates或者update-ca-certificates进行更新,此时程序会更新/etc/ssl的某些内容,证书就安装上去了。

2.firefox
    同样是独立于系统的配置,基本操作和windows差不多,不过linux下面“选项”在“编辑”下面。
3.chrome
    linux下面的chrome可以在“首选项->高级->证书管理器”中,选择“授权中心”。导入后修改权限即加入。注意需要使用禁用,而非删除对应证书,来阻止某些证书。

    这里面说的加入证书,基本是加入自己的证书。至于移除,基本说的是cnnic。cnnic证书有什么危害?目前没有。如果你相信中国的互联网是世界上最开放的互联网,那么下面一堆不看也罢。不过,如果你不相信中国政府颁发出的证书,还是移除的好。在系统内保留一个不受信任的根证书,可能受到证书替换钓鱼。简单来说,你访问一个安全网站的时候,这个网站的证书是如何颁发的,你留心过么?在地址栏网站logo那里右击,查看证书,再找到证书链,你就可以看到,这个证书属于谁,是谁颁发的,这样一个链条。想象一下,你在用gmail的时候,心血来潮看了看域名证书,发现颁发者是CNNIC SSL(google的颁发者是Thawte)。很明显,你访问的网站不是真的gmail,而是一个伪装的网站,将你的请求再转到gmail服务器上。这个网站没有gmail的证书,不过用CNNIC签了一个。于是你的所有请求,收到的邮件内容,发出去的内容,全部被公开了。你也不知道这个替换什么时候进行的,由于安全验证可以通过,系统也没有警告你。是不是有种看到日本恐怖片里面,贞子爬出屏幕的感觉?

    当然,这个是一个特例,有点危言耸听。因为对于某些国外CA,证书也是乱发的。基本只要交钱,给一份材料复印件,一样可以通过审查,得到一本CA证书。然而,这种证书通常比较容易被发现,CA也会很快吊销这些证书。如果不是这样,这些CA往往也会被各种系统加入吊销名单。不过对于蓄意产生的CA证书么,就难说的很了。附上一个用于检测CNNIC证书的网站,https://www.enum.cn/

    另一个风险证书则是comodo,早些时候,这个公司被黑客入侵,导致黑客给自己签发了一堆证书。虽然目前这些证书已经被吊销,不过这种安全公司让人一点信任感都没有。最好果断删除。

hack comix for windows use gbk as filename code

    Comix is a python application to view comic. it use pygtk as GUI library, so technically, it can be used under windows. But unfortunately, it has code problem under windows. OK, 2 fix it, open src/filechooser.py:214.
            gbkpath = paths[0].decode('utf-8').encode('gbk')
            self._window.file_handler.open_file(gbkpath)
    done.