数字时代没有隐私
September 17, 2008 2:08 pm GMT-0700 | 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 也做进去了。
工程中的启示
September 12, 2008 3:32 pm GMT-0700 | In Life | 3 Comments | hide故事一,某仪器里有根高压电线,平时在空气中工作正常。后来需要把该仪器放入真空,发现高压电线会打电弧导致仪器失效。小陆研究了很久怎么增强高压线的绝缘性,后来突然想到,只要高压线外面套了一个空气罩就行了。这样虽然仪器被抽真空了,高压线仍旧处于空气中,圆满的解决了这个问题。
如果已经有了一个可行方案,碰到新问题可以先考虑一下怎么把新情况转化成老情况。
故事二,小胡调一个频率发生器的驱动怎么都调不对,仔细观察发现某些频率工作良好,某些频率工作不正常。然后他仔细研究了这两组频率的区别,发现二进制形式第五位是 0 的频率工作是正常的。在检查代码无数遍之后,他开始检查编程电路上的元件,发现某个电阻阵列的第五个电阻是坏的。
仔细排查每一个步骤,问题往往发生在意想不到的地方。
故事三,小葛调一个电路怎么都调不对,最后怒了,使劲把电路板往桌上摔去。神奇的事情发生了,一块芯片飞了出去。后来发现问题就出在那块芯片——没焊牢。
有的时候,发怒也是解决问题的一种方式。
Tags: lab
有关进化论
September 6, 2008 11:29 am GMT-0700 | In Study | 4 Comments | hide人眼对什么颜色的光最敏感?科学研究表明,是绿色(可见光谱中段)。这是为什么呢?大凡这类问题,包括两部分的为什么。A 部分的问题是,是什么样的生理基础导致了这样的结果?B 部分问题是,漫长的生物进化自然选择过程为什么选择了这样的生理基础?
有关人眼为什么对绿色最敏感,A 部分简单的说就是因为人眼感光细胞的光化学性质决定了人眼对绿光最容易有反应(Ref 1 2)。有关 B 部分的为什么呢,人们注意到太阳光在经过大气层选择性吸收后到达地面时是绿色光最强,所以比较流行的假说是:对绿光越敏感的生物也就越容易利用日光寻找食物躲避天敌,能够成功繁衍后代的几率也就越高,因此经过长期的进化,最高等的生物也就自然是对绿光最敏感的了。
这套理论里面,这个对绿光敏感的生理基础,必须是由基因控制的特征,这样才能通过 DNA 的完美复制机制传承下来。这样的基因,通常叫做有进化优势的基因,因为携带有这种基因的生物比较不容易在繁衍后代之前死掉,换句话说,这种基因容易在进化过程中被保留下来。
通常来说,A 部分的为什么是比较容易通过各类生理学研究获得解答的;而 B 部分则基本只能有假说,如果运气好,也有可能找到进化过程的化石证据,不过假说终究还是假说。实际上,很多时候 B 部分根本不需要解释,人的历史并不够长,生理学的特征并不一定是自然选择适者生存选择出来的,也可能纯粹是个巧合。地球生物进化史的统计样本远不够大,并不是每一种基因组合都已经出现过。人体不合理的设计太多了,进化时间太短还远没有被选择掉,智齿有啥用?盲肠有啥用?土摩托的《你以为你真的懂进化论》系列对这个有一些解释。
尽管如此,很多人体结构生理学的文章出来,还是喜欢往上面套一个进化论假说。有一个现象,同宿舍女生的生理周期会逐渐趋向同步,这个问题是有人研究过的,学名叫 McClintock effect,似乎也有生理学证据支持,姑且算是把 A 部分回答了。于是就有人开始琢磨 B 部分的为什么,有一种假说是,早期人类群居,男人们结队外出打猎往往几个星期不回,这种情况下他们一起回来能让越多的女人怀孕(这需要群居女人们生理周期基本同步),那么这个种族繁衍下去的几率也就越大,因此生理周期互相影响是有进化优势的。再来看一个问题,男人为啥喜欢丰乳肥臀呢?因为这俩特征都对繁衍后代有利,所以是有进化优势的。那么,这个事情的生理学基础呢?也确实有人研究过,比如这篇论文。同一期杂志还有文章从生理和进化角度研究女人喜欢什么样的男人的问题。
进化论好可怕……
单位是什么
August 21, 2008 11:06 am GMT-0700 | In Study | 7 Comments | hide单位是日常生活中不可或缺的要素,当我们谈论一个实际生活中的数字的时候,一般这个数字后面都是跟了一个单位的。今天气温 30 度,高速公路限速 100 公里/小时,如果科学家没有把单位定义好,那么人和人就难以交流了,秦始皇统一度量衡很伟大。
单位归根结底是一种比较。我们说一根木头长 2 米,意思是说这根木头和长度单位“米”相比较有两倍长,“2 米”的意义,实际上是说,2 乘以 长度单位米。在这个观念的指导下,单位换算也会有比较好的理解。比方火车速度 100 米/秒,换算成 公里/小时 应该是多少?有人可能记得换算关系是 1:3.6,那么到底是乘以 3.6 还是除以 3.6?我一般是用这种土鳖的办法:
首先写下基本单位的换算关系:
1000 米 = 1 公里,3600 秒 = 1 小时
所以说:
1000 米 / 1 公里 = 1(纯数,没有单位),3600 秒 / 1 小时 = 1。
任何一个东西乘以纯数 1 都是不变的,所以:
100 米/秒
= 100 米/秒 x(1 公里 / 1000 米)x(3600 秒 / 1 小时)
= 100 / 1000 x 3600 x (米/秒 x 公里/米 x 秒/小时)
= 360 公里/小时
这里计算的时候注意单位和数字是分别计算和约去的。土人我多年来都用这种办法换算,不容易出错。
单位是一套很有用的工具,量纲分析用来避免错误是很常见的。一个简单的问题:一小时 CD 音质的音乐有多少数据量?带单位的计算如下:
(16 bits/sample) x (44100 samples/second/channel) x (2 channels) x (3600 seconds / hour)
x (1 byte / 8 bits) x (1 MiB / (1024×1024 bytes)) = 605.6 MiB/hour.
(这个问题如果不带单位直接算数字:16x44100x2x3600/8/1024/1024,很容易搞晕掉)
delphij 说,一篇 Blog 不要写太长,Draft 也不要搁太久,写了啥就先发表出来。基于这个理念,我就先把上面这部分发表了吧,有空接着写 单位是什么(续)。
Facebook 真是一个怪物
August 14, 2008 7:59 am GMT-0700 | In Misc | 13 Comments | hide在 iPhone 上看我的 Facebook Profile,第一页什么有用信息都没有,就光一个大大的 “atppp is married”。这也太恶了,于是我把自己的婚姻状况改成了保密,结果这下可好了,Facebook 首页直接就显示 “atppp is no longer listed as married.” 这句话怎么看着这么别扭呢?Facebook 你咋这么八卦呢???
Convert video to iPod format
August 7, 2008 8:21 pm GMT-0700 | 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“.]
爆胎哲学
July 29, 2008 12:44 pm GMT-0700 | In Life | 7 Comments | hide昨天发现自行车胎爆了。对话 A:
我:自行车胎爆了!
mm:不用修了吧,反正你住学校
我:我要搬家了,我还指望骑车上学呢!
mm:唉,越来越多的人都搬出去了……
我:这就是生活……
mm:time flies, i don’t like changes…
我:(郁闷,好想回到过去……)
对话 B:
我:自行车胎爆了!
gg:哈哈,我告诉你气打太足了吧!
我:可是那玩意儿以前不是挺好的 50 psi 吗
gg:据说底下工人要用高压,把空气压缩机调成 120 psi 了。
我:……(跑过去一看,果然是,TMD!)小学自然老师就教过夏天自行车气不能打太足,我栽了!
gg:哈哈,这是因为加州天气好,每天阳光灿烂,把你车胎晒炸了。
我:对,对,不能什么好事都让咱们摊上不是?
gg:yeah
我:yeah (心情愉快的把自行车内胎换了)
附,我住过的地方:
> SELECT latitude,longitude FROM homes WHERE id='atppp' ORDER BY latitude;
30.2544, 120.1762
30.283, 120.148
31.8394, 117.2534
37.40484, -122.11421
37.421, -122.170
37.42432, -122.16272
37.4244, -122.1550
37.4256, -122.1799
37.42600, -122.15655
37.4270, -122.1559
39.9855, 116.3040
39.9865, 116.3000
(updated 2009.03.30)
Google and atppp’s Blog
July 27, 2008 12:03 pm GMT-0700 | 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
This weblog is licensed under a Creative Commons License.
Powered by WordPress. Theme based on Pool by Borja Fernandez.







