数字时代没有隐私
September 17, 2008 2:08 pm UTC | In Tech | 6 Comments | hide有这样一段聊天记录:
atppp: 唉,数字时代啊
atppp: 做事不留痕迹是不可能的
delphij: 数字时代没有隐私。。。
delphij: 所以这也是为什么需要有一台自己的服务器
伟大的 delphij 最后一句话逻辑似乎有点跳跃,不过不管怎么说,类似问题早在影片《手机》中就已经提到——张国立说:“还是农业社会好啊!那个时候交通通讯都不发达。你进京赶考,几年不回,回来以后啊,你说啥子都是成立的!现在……(掏出自己的手机)近,太近了,近得人都喘不过气来咯!”(1:22:00)
随便说一个问题:gmail 在一些浏览器的历史记录里会留下信件标题和 email 地址,比如我的 Firefox 3 地址栏打入 facebook 就会出现这么个情景:

(delphij 的意见:事实上邮件标题不应该带有隐私内容,因为即使邮件加密,邮件标题也是明文的,所以这个问题也可以怪罪到 facebook 头上)有人怒道:
I’m using Firefox 3.0.1
When I logout from Gmail, if I type gmail on the address bar it will show the topic of the mails in the dropdown menu.
Where is my privacy? Where is the privacy of my friends using my computer to access their gmail account?
That smart bar is awful, by the way.
Considering going back to the older version of FF.
其实这个问题以前就存在,打开历史记录就全看到了,只不过历史记录很少有人无聊去翻,而最近有一些浏览器比如 Firefox 3 和 Google Chrome 大举将地址栏改造成了历史记录检阅簿,导致这个问题直接暴露在人民大众面前。下面再举例一些数字时代容易留下痕迹(甚至不可能不留痕迹)的地方:
- 浏览器表单、cookie、history、cache。
- 聊天记录有不少默认开启,特别 gtalk 默认就在服务器上记录。
- 电脑中的 Recent files,使用程序在文件系统和注册表里留下的记录(您的视频播放器里的最近播放列表是不是一堆毛片呢?)
- email 收件人一般都可以在 email header 里查到发件人的 IP
- 浏览过别人的网站在他们服务器上留下的记录
- 蓝牙和别的无线设备所到之处会留下痕迹
- whois 可以查到大多数域名注册者的详细地址和电话
- social networking 网站稍加挖掘就可以找到很多私人资料
- router 含有 NAT 表,可以查到网内的人都在连什么样的网站之类的
- router 的 DHCP 表含有最近附近使用过的(无线和有线)设备的 mac 地址(进而可以知道设备厂家和型号)
- GPS 设备内部可能带有 track log
- 身份证号常随获奖名单之类的公布,搜索人名有时候可以查到身份证号(进而知道生日、籍贯等)
- 手机的电话记录和账单记录
- 电话重拨功能记录了前一次或前几次的电话号码,即使没有数字显示也很容易从双音频拨号声分析出来
- 银行账单有详细的明细表,比如取钱的具体时间和地点
- 如果交通违规,违规单上会有详细时间和地点
- 新闻报道难以控制,人怕出名猪怕壮
很多时候,在隐私性和方便性之间的平衡点往往因人而异,于是像 facebook 之类的网站都要搞一大堆很细节的隐私选项。Gmail 在打开信件之后为什么要在浏览器标题条显示 email 地址和信件标题呢?这个看似挺人性化的功能其实并不一定那么有用(然后还关不掉?)。不过就事论事,浏览器历史记录里存了这些个信件标题,看起来倒更像是浏览器的责任,因为那些个请求都是明确说了 no-cache 的(虽然这并不指示不要加入 history,但是不加入更合理一些)。
话说回来,浏览器里不留痕迹是很难的。可以用 Portable Firefox、Safari 的 Private Browsing 或者 Google Chrome 的 Incognito mode 之类的。这种“Porn Mode”(也有人叫 Banking Mode),似乎 Firefox 3.1 和 IE8 也做进去了。
Convert video to iPod format
August 7, 2008 8:21 pm UTC | In Tech | 1 Comment | hideBasic command:
ffmpeg -i input.avi -f mp4 -vcodec mpeg4 -b 1000kb \ -acodec aac -ab 192kb [-ac 2] output.mp4
“-ac 2” may not work if the input file is in mkv format with 5.1 aac audio (if you don’t convert 5.1 to 2.0, playing the file crashes your iPod/iPhone). Here’s a possible way to convert:
- Extract aac audio from the mkv file:
ffmpeg -i input.mkv -vn -acodec copy audio.aac
- Downmix 5.1 to 2.0:
faad -d audio.aac -o audio-2ch.wav
- Merge and convert to iPod format:
ffmpeg -i input.mkv -i audio-2ch.wav -map 0.0:0 -map 1.0:1 -f mp4 \ -vcodec mpeg4 -s 470x320 -b 1000kb -acodec aac -ab 192kb output.mp4
- The output of the last command gives a little more info of what I am doing here:
Input #0, matroska, from 'input.mkv': Duration: 01:24:42.5, start: 0.000000, bitrate: N/A Stream #0.0: Video: h264, yuv420p, 704x480, 24.39 fps(r) Stream #0.1: Audio: aac, 48000 Hz, 5:1 Input #1, wav, from 'audio-2ch.wav': Duration: 01:24:42.5, start: 0.000000, bitrate: 1536 kb/s Stream #1.0: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s Output #0, mp4, to 'output.mp4': Stream #0.0: Video: mpeg4, yuv420p, 470x320, q=2-31, 1000 kb/s, 24.39 fps(c) Stream #0.1: Audio: aac, 48000 Hz, stereo, 192 kb/s Stream mapping: Stream #0.0 -> #0.0 Stream #1.0 -> #0.1
Video conversion can certainly be way fancier than what I am doing here, and faad is obviously not the best way to downmix audio from 5.1 to 2.0. You can also find quite a few iPod converters but personally I like command line. Anyway, happy converting! (ffmpeg ref)
[Also note that on MacOS, you may have to change "-acodec aac" to "-acodec libfaac".]
Google and atppp’s Blog
July 27, 2008 12:03 pm UTC | In Tech | 10 Comments | hide据说前几天 Google 的 PageRank 又更新了。上一轮更新承蒙谷歌看得起,鄙部落格的 PageRank 上了 5(感谢各位链接我的兄弟姐妹们);这轮更新貌似维持在 5 没有变化,不过有些文章页面的 PageRank 上了 4,实在受宠若惊,心中默念,要淡定,淡定……
不光文章页面的 PageRank 高,还有一个特别的页面很诡异,那就是康神的 tag 页。这个页面上一轮更新 PageRank 就到了 3,我只当是 Google 算错了,因为我的 robots.txt 压根就不让 Google 索引这个页面,结果这一轮更新这个页面的 PageRank 直接就上了 4,让我不得不佩服神的力量,康神伟大!
说到了康神这个 tag 页,我就不得不提一下 Google Analytics 里面统计的 Pageview 了。鄙部落格去年八月开张,九月挂上了统计。根据统计,这里接近 25% 的 Pageview 是首页(很正常),接下来第二梯队 1% ~ 2% 左右的差不多有 10 个页面,别的九个都是很好理解的后面几页啊,容易被搜索到的文章啊之类的,唯独有一个不可理解的,就是康神的 tag 页居然排名第五,有右图为证。这件事情说明了什么呢?说明了什么呢?说明了什么呢?我想不明白,请各位拜康神教众前来指点迷津。
另外,根据统计,鄙部落格搜索关键词排名第一的是“atppp”(很正常),第二名就是“康神”,且领先第三名一大截。这样看来这里可以算是拜康神教的据点之一了。
有关订阅我 Blog rss 的人数,也是我等数字男感兴趣的问题。我直接用命令把 Google 扒站机汇报的订阅数整理出来画了个图如下。分析表明,某个时间段订阅数的增长和我 Blog 篇数的增长有一定的相关性,看来不常更新的 Blog 慢慢衰败是社会发展的必然规律……

P.S. 如何看自己 Blog rss 在 Google 服务里的订阅数:1. web server log,这玩意儿权限要求比较高;2. Google Webmaster Tools;3. Google Reader 添加自己 feed 之后会有 “Show details” 的链接,可以看到 subscribers 数量;4. 似乎还有很多别的方法……
cat `ls -tr access_log*`|grep “GET /feed ” |grep blog.wuxinan.net|grep “Feedfetcher-Google”|grep subscriber|cut -d ‘ ‘ -f 4,14|cut -c 2-12,22-|uniq
Tags: blog, google, kxn, pagerank, rss, seo, server, wordpress
Matlab under Ubuntu
June 27, 2008 10:17 pm UTC | In Tech | 1 Comment | hideSome tips:
- Q: Matlab desktop does not show up correctly.
A: export MATLAB_JAVA=/usr/lib/jvm/java-6-sun/jre/ (requires Sun Java 6 Runtime) - Q: Matlab windows disappear in taskbar (Window List applet).
A: minimizing all windows (show desktop button) seems to bring all windows back into taskbar. Or you can try to export AWT_TOOLKIT=MToolkit - Q: Printing in Matlab throws java exception.
A: Go set all printers > Job Options > Orientation to something other than “Automatic Rotation”.
网络能有多快?
June 10, 2008 7:22 pm UTC | In Tech | 11 Comments | hide网络到底能有多快?废话少说,先从一些基本问题说起。
A. 速度单位和测速方法
文件传输速度一般用 MB/s 表示。这个缩写 MB 涉及到 Binary Prefix 的问题,按照最正统的约定,1 MB = 106 = 1 000 000 bytes,而 1 MiB = 220 = 1 048 576 bytes,这两者只相差 5%,很多地方就常常混用。比方 dd 命令汇报的速度是正统的 MB/s,而 wget 和大部分浏览器显示的 MB/s 则实际上是 MiB/s。
网络连接速度则一般用 Mbps 表示,百兆以太网连接速度是 100 Mbps,也即 100 000 000 bits per second。一个 byte 是 8 个 bit,注意一般小写 b 表示 bit,大写 B 表示 byte。比方 USB 2.0 极限速度是 480 Mbps,实际上只不过是 60 MB/s,现代内置硬盘的速度都远高于此。
因此我们可以看到,百兆以太网 100 Mbps 数据传输的极限速度是 100 000 000 / 8 / 220 = 11.9 MiB/s。但是这些数据中大概至少有 2% 是网络包头之类的,其真正的有用数据吞吐率(throughput)极限是 11.6 MiB/s 左右。
有关测速方法,fishy 同学对此似乎很有研究。现成的可以测试和显示网络传输速度的命令有比如 dd, rsync --progress, wget, scp 等,windows 下面那就用 ftp 软件或者浏览器好了……
B. 影响速度的因素
我们平时架的家用局域网一般都是百兆以太网,通常情况下,传文件至少可以达到 11 MiB/s 的速度,但是也未必,有各种因素会减慢这个速度。
- 网络传输协议:通常在局域网里面使用的文件传输/共享协议有:afp, ftp, http, sftp, rsync, nfs, smb。大部分协议传大文件都可以不费力气的打满带宽,唯一要提一下的就是这个 smb 协议。smb 也就是平常在 windows 里面共享文件夹用的那个协议,很诡异的一点是这个协议传文件即使是两台 windows 之间也常常打不满带宽,而 Mac 下面性能尤其低,至于为什么会这样,我也不知道(请高人指点)。另外一点是如果传输大量小文件,有很多额外数据要浪费带宽,rsync 协议在这一点上稍强,但是比较通用的提速办法是在源机器把文件打包传输到目标机器再解包。
- 机器性能:通常来说,主频 500 MHz 以下的机器做路由器,或者主频 1 GHz 以下的机器用有加密/压缩的协议(比如 sftp)传文件,其本身都有可能成为性能瓶颈。即便是 Linksys,早期有些号称百兆以太网的路由器其实根本达不到 100 Mbps 交换数据,被骗的人不在少数。另外硬盘的写入性能如果达不到网络带宽,测试网络性能可以只传文件而不写磁盘,比如 wget 加
-O /dev/null,千兆以太网传文件的速度瓶颈就有可能在硬盘写入速度。 - 程序设置:通常来说程序的参数设置只要不太离谱都不会影响传文件的速度,但是也有例外。比如,Mac 下面的 dd 命令从 smb mount 的目录拖文件,如果使用默认 bs 大小速度非常之慢。另外,sftp 协议用不同的软件差别很大,但是我忘记我以前的测试结果了,所以等我有空再补上来……
- 网况:(这个词不知道谁发明的,貌似是从“路况”一次发展出来的)在局域网内一般网络结构比较容易控制,打满带宽并不是难事;但是到了大因特网上网络传输速度基本上就不由你控制了,这个问题就不在这里讨论了。
C. 关于无线网
无线网 Wi-Fi 技术日新月异,以下是三种常见的规格:
- 802.11b:频段 2.4 GHz,连接速度最高 11 Mbps,吞吐率极限大概在 0.5 MiB/s 左右。
- 802.11g:频段 2.4 GHz,连接速度最高 54 Mbps,吞吐率能达到 2.4 MiB/s。
- 802.11n:频段可选 2.4 GHz 或者 5 GHz,连接速度最快似乎可以到 300 Mbps,吞吐率极限据说高于 12 MiB/s。
不要被无线网的连接速度所迷惑,用目前最常见的 802.11g 传文件实际上只能到 2.4 MiB/s 的样子,而且现在市面上的低端 802.11g 无线路由器往往不能稳定保持这个速度。有一种 802.11g+ 技术可以把 802.11g 的性能翻倍,但是通用性不强,所以使用的地方并不多。
事实上,在 802.11b 之前还有过一个 802.11a,频段是 5 GHz,性能和 802.11g 差不多,可是因为频段选的不好,并没有流行起来。
802.11n 是目前最新的 Wi-Fi 技术,协议还没有最终定稿,但是市面上用协议草案制作的 802.11n 路由器已经不少了。也正因为协议没有最终定稿,不同公司生产的无线基站和无线网卡配合工作往往达不到最高性能。从目前的情况看,802.11n 网络连接至少可以到 130 Mbps 的连接速度,传文件可以达到 5 MiB/s 以上,所以即便是最差情况,802.11n 也已经可以超过 802.11g 的性能。(比如,苹果的 Airport Extreme 如果要兼容 802.11g 就必须工作在 2.4 GHz 频段,这样即使和自家苹果电脑的 802.11n 网卡互联,也只能达到 130 Mbps 的速度;而如果换用 5 GHz 频段,连接速度就是 300 Mbps,传文件可以保持 10 MiB/s 以上。)
无线网的性能会受到很多东西的影响,比方,信号穿的墙厚不厚、什么材料的,周围有没有同频率的干扰信号。2.4 GHz 这个频段很热门(主要是因为这个频段在大多数国家不需要许可证就可以发射),无绳电话、卫星信号、蓝牙、甚至微波炉都是这个频段,所以一般的建议是无线基站要尽量远离别的电子设备。
D. 关于 DSL 等
一般家用安装的 DSL 或者什么宽带专线的带宽数字都是虚的,只有问同类用户才能估计实际的性能。米国最近出了一个规定,至少 768 kbps 才能号称 broadband。记得以前一个小旅馆几十间房共用一个 128 kbps 的出口也好意思对外号称他们有 high speed internet access。
E. 结语
我真唐僧。
GPS 拜康神
June 4, 2008 12:24 am UTC | In Tech | 18 Comments | hide
最近似乎流行用 GPS 接收器轨迹作画,号称是把地球当画布,GPS 当画笔,气势何等磅礴。不过,行为艺术其本质就是闲得蛋疼,那个号称画了世界上最大的简笔画的家伙最后自曝是假的。另两个相关的站点:The world is my canvas,复活节大兔子。
这个想法还是蛮有趣的。不过我没有那么吃饱了撑的,我直接爬到实验室楼顶去试画了一张跪拜康神图,耗时不到六分钟,然后把 GPS tracklog 导出即可。下面有绘画过程,GPS tracklog 可下载,童叟无欺,如假包换。
GPS tracklog 每秒一个数据点,下面这张 GIF 我设置的是 25 fps,也就是说比我实际速度快 25 倍,不到 14 秒就应该完成绘画,但是似乎有些弱的浏览器不能这么快的放 GIF……据观察,Firefox 表现良好。 
Google Reader 里看新浪博客图片
April 30, 2008 11:14 pm UTC | In Tech | 5 Comments | hideGoogle Reader 里面订阅的新浪博客直接看不到图片。如果你用 Firefox,一个简单解决方法是:
- 安装 RefControl 扩展
- RefControl Options – Add Site:
- Site: photo.sina.com.cn
- Action: <Block> (send no referrer)
这个方法同样适合别的在线 RSS 阅读器。更多信息:HTTP Referer二三事、修改配置,让Firefox/Opera突破图片/文件下载“盗链保护”等外链限制~。刚才有人跟我抱怨,新浪这么搞真 SB。我想说,我虽然不赞成新浪限制图片显示,但是我对此表示理解,无论是管理还是技术上的原因。恩,不多说了。
对了五月一号是 RSS Awareness Day。有关什么是 RSS,请看 Common Craft 的视频。
(不得不唧歪一句,这个图片做的可真够难看的。)
Forward link: 盗链、反盗链、反反盗链、反反反盗链
世界是由少数人推动的
April 20, 2008 1:13 pm UTC | In Life, Tech | 21 Comments | hide很久很久以前,我有过一台电脑,CPU 是 80486SX 33MHz,这个 486SX 没有数学协处理器(floating-point unit、FPU、浮点运算单元,用硬件实现浮点数的快速运算),对现代电脑来说 FPU 已经是一个不可缺少的部件。我记得当年 486SX 上生成艺术字就特别特别的慢,比同速度但带 FPU 的 486DX 慢十多倍,真是土鳖啊。
当年英特尔设计 486DX 有一个缺陷,于是他们搞出一个销售策略是,如果测试出来某个 486DX 主电路是好的,但是 FPU 是坏的,那么就把 FPU 部分砸掉,然后把这个芯片当作 486SX 低价销售。这种销售方式很常见,比方我们实验室买的一种镜子,反射率越高价格也就越高,但是不同反射率镜子的生产工艺和成本完全相同,只不过由于生产过程中各类不确定因素导致镜子质量有好有坏,质量好的也就卖得贵一些。农民卖苹果也会分等级,大的苹果卖贵一些,虽然种苹果的时候他未必在大苹果上多花了力气;如果你跟他讲,苹果大小是一个正态分布,大于 +2σ 叫特等品,恐怕农民是听不明白的。
有不少人认为,世界是由少数人推动的。Kisstar 同学说,学术界真正有用的结果都是 top 10% 的牛校牛人搞出来的,大多数人都是陪练,跟着灌水而已。从时间纵向来看,确实有一小部分人为人类进步做出了很大的贡献。然而从横向角度来看,人类是作为一个整体在进步,个人贡献呈现一个正态分布,这样的分布下,必然会有一小部分人对人类进步的贡献极多。这是地球上这么多人的统计规律,所谓大样本出奇迹,世界是不是由少数人推动的,这纯粹就是一个统计学的解释问题。
就像前文所述的一种销售策略,我们是在出卖自己的智慧寻求人类进步。如果你潜质很牛,那么就不应该浪费这种能力,而应该积极的开发潜能尽力推动人类的进步。而大多数人往往觉得自己碌碌无为,并没有对人类进步做出直接的贡献,这种情况下也没有什么好气馁的,应该看到,我们为牛人出现的极小概率的分母贡献了一份,没有我们这些巨大的样本,奇迹也是不会出现的。通俗点说,你觉得是 100 个人的小村庄里面容易出一个牛顿,还是几亿个人的地球上容易出一个牛顿?
活着,就是对人类的贡献。

This weblog is licensed under a Creative Commons License.
Powered by WordPress. Theme based on Pool by Borja Fernandez.








