2011/04/24

500 Days of Summer 中的长椅

在reddit上看到了这篇帖子,作者的朋友发现了500 days of summer 中的长椅。
然后有人贴出了各个场景在google map上的位置,不过这个地址更能快速的定位那个长椅的位置。

如果你没有看过这部电影的话,可以看看它的预告片: 

其实我更喜欢这个版本的预告片,背景音乐The Temper Trap的Sweet Disposition很赞

2011/04/03

对DIY装机的新想法

NICO:我来看看你的机箱出了什么问题
最近一直没有更新博客,除了家里有点事,自己肚子里没有货之外,还有一个原因是我打GTA4打得台式机电源烧坏了。我的一个朋友对此的评论是:你让孤岛危机2情何以堪。
事情是这样的,那天晚上我一边闻着机箱里弥散的焦味一边打通了GTA4最后一关,然后开始欣赏起长长的制作人表,突然,“破”的一声,电脑停止运行了。
GTA4的结局是主角Niko失去了自己最重要的人,而我在游戏外把电脑烧坏也让我有种痛失好友的感觉。
因为主板上没有什么烧坏的痕迹,但是开机完全开不了,所以我推测是电脑城奸商帮忙搞定的电源出了问题。果然,一位高手帮我拆开电源后发现,电源烧的里面的铜线都暴露出来了,包裹铜线的塑料早已在其他元件上面融成一团了。
后来去临近的电脑城买了一个新电源,花了260块。网上一查,同样的产品在电子商务网站上只要200块。

三大件之外其他配件的重要性,我在之前的文章里已经反思过了。这里,我得出了一些新的教训:
1.    机箱里传出焦味总归不是好现象。
2.    去电脑城装机还不如去网上买配件。明码标价,还带发票。

另外,我准备升级一下家里另一台老电脑。那台电脑是六年配的,CRT屏幕,很老的CPU和主板(nForce平台,那时AMD和NVIDIA关系还不错)。所以我准备升级一下屏幕,换一下主板和CPU。现在DDR3 2G的内存一条只要150,1T的硬盘也只要500,真是白菜价啊。这些配件我准备都从网上买了。

2011/02/25

革命为时过早

从过年前突尼斯革命开始,多个国家的人民走向街头,进行示威游行。一时间,仿佛是这个世界启动了独裁者删除程序似地,一个个集权的、腐败的政府被推翻了。爱凑热闹的中国人当然不会放过这个机会,有人在twitter上喊了一声要走上街头,结果“今天”和“明天”就成了敏感词,有一首歌也变成了“好一朵美丽的敏感词”。

现如今,第一轮的上街活动已经结束,第二轮的上街活动又在酝酿之中。但我并不支持这种革命,因为我有三个问题。
1.中国当前真实的国情如何?
2.革命后我们应当建立怎么样的体制?
3.如果要革命,如何以最小的代价完成国家体制的转变?

以软件工程的术语来比喻的话,这三个问题分别对应了需求分析,设计和构建三个阶段。我们可以把当今的中国看做一个已经运行的系统,但是这个系统有大量的问题,需要重构。我们期待一个新的系统能够解决这些问题。如果你要移植这个系统会怎么做?我觉得,弄清有哪些问题,问题的根源是第一步。第二步,就要考虑问题的解决方法。第三步,则是在适当的时机,使用适当的手段,平稳的将旧系统过度到新系统。
然而,现在走上街头,将事态扩大,并没有分析出问题,也没有对未来深思熟虑的考量。这种做法,最坏的情况,就是将现有的系统瘫痪,而无助于问题的解决。

我建议,可以建立一个维基百科一样的网站,显然,这个网站必须在墙外。这个网站的作用是让大家清楚的认识当前中国。另外,可以建立另一个网站讨论未来中国的政治体制。或许,现在已经有这样的网站或者组织,但是,他们离普通的群众太远。既然是革命,必定是以全国人民的幸福为考虑的重点,既然要民主,必定要人民都能理解什么是民主。如果只是一小部分人掀起的革命,最终只是一小部分人代替一小部分人统治剩下的人罢了。

要清楚的了解中国,给出一系列对症下药的解决方法,绝对不是我们这些初出茅庐的人现在所能做到的。要培养国民的法律,思维观念,也不是一朝一夕能够完成的。所以,革命,还是缓一缓吧。缓到什么时候?我是菜鸟,我不知道啊。

2011/02/07

BBC 统计学的快乐

终于把《统计学的快乐》看完了。这个视频是BBC拍的记录片,主讲人是曾经在TED演讲过的Hans Rosling教授,下面是整个视频的一些keynotes。
1.       通过统计学,可以分析数据,探寻这个世界中的规律,让我们的生活更美好。
2.       美国的旧金山将各种数据公布给大众,例如,他们公开了旧金山各个地区发生过的犯罪事件,让人们知道哪些地方安全,哪些地方比较危险。旧金山的CIO已经公布了163个公共数据库,他们的下一步目标把即时的数据推送给公众。
[BBC:统计学的快乐].BBC.The.Joy.of.Stats.WS.PDTV.XviD.avi_snapshot_08.53_[2011.02.07_21.12.44]
3.       第一份统计资料诞生在瑞典1749。当时的政府通过人口统计发现了本国的人口数量正在减少,于是瑞典政府采取措施以提高国民的健康水平。
4.       光有数据没有用,数据经过分析才有价值。一个最简单的方法是取平均值。
每年死于车祸的人数基本维持在一个相同的数字,像这样的数字可以总结出社会现象,也就是隐藏在数据中的模式。
5.       数据的分布可以使用图形来表示,优美的清晰的图形可以让大众都明白数据隐含的信息。
Florence Nightingale(护士职业创始人)在战争期间,她收集了两年的士兵伤亡数据,并发明了Polar area diagram (日本人译作鸡头图,中文貌似没有什么好的译名)来说明士兵伤亡的原因。
6.       数据的可视化(virtualization)已经成为了一门学问,还有Data Designer这种专门设计数据展示的职业。片中的designer展示了伊拉克战争的预算和实际支出,两个方块的大小对比确实让人惊讶。
7.       Rosling教授又做了一遍他在TED演讲中那个世界人均收入和寿命变化的演示。最后,他专门提了一下中国:上海的生活水平跟意大利相当,而贵州和巴基斯坦差不多。
[BBC:统计学的快乐].BBC.The.Joy.of.Stats.WS.PDTV.XviD.avi_snapshot_32.12_[2011.02.07_21.58.47]
8.       关于GOOGLE的机器翻译
Franz Och (Google的机器翻译项目的老大)说:“创造这个系统的人不需要懂中文,但是要懂统计学,计算机科学和其他大规模计算的基础科学。”
Google的人下一步要把语音识别和机器翻译结合起来。
Wow,巴别塔要造起来了。
9.       天文学家使用计算机,互联网等新科技探索星云形成的规律,片中的天文学家在写sql。
10.   因为计算机可以模拟各种各样的情况,未来的科学研究因为计算机科学的发展可能会从以数据为中心,由数据驱动转变为由假说驱动,然后由计算机去验证。
11.   Stanford大学的Sep Kamvar从微博等收集人们的情绪,并从不同的维度来分析比较,例如:男人比女人快乐吗?。他在片中说:年轻人更容易将快乐和刺激联系在一起,而老年人更容易将快乐和平静联系在一起。
12.   Kamvar教授最后说:因为人们越来越容易将自我的信息以数字化的形式放在互联网上,所以我们可以从互联网上大量的数据中理解人活着是为了什么。

最后一个观点让我想起了这篇文章:通过互联网认识自己:
Zach(Zachary M. Seward)是《华尔街日报》的外联编辑,主要负责《华尔街日报》与 Twitter、Foursquare 这类公司之间的关系。Zach 今天在《华尔街日报》Digits 博客分享了自己通过互联网对过去一年个人生活的总结,以下是主要内容的摘录。

幸好,这个只是纪录片。

2011/01/08

数据仓库入门

最近我开始在某公司的BI部门实习,BI的全称是Business Intelligence,商务智能,个人感觉这个名字比较忽悠,就像云计算一样。我在实习的过程中主要是做数据仓库的项目。在这里记录一下自己的学习和实践。

数据仓库诞生的原因

随着时代的进步,许多企业都将信息技术运用于自身的生产、运营、销售等活动中。在这个过程中,企业积累了大量的历史数据,这些数据显然具有重要的价值。但是,由于数据的类型繁多,业务逻辑复杂,甚至各个部门采用不同的数据库管理系统,导致数据无法有效整合,无法为进一步的分析提供支持。另外,数据量的不断增长有可能导致数据库系统的性能下降。
所以,业界产生了数据仓库这种专门的技术来解决这一些列的问题。


数据仓库的定义

现在让我们来整理一下,数据仓库的输入是企业的各种数据。
我们希望通过数据仓库获取整个企业的信息,并且数据仓库能够确保数据的一致性,能够为决策提供支持。

Bill Inmon (数据仓库之父 http://en.wikipedia.org/wiki/Bill_Inmon ) 在1980年代提出了数据仓库的概念:"a subject-oriented, integrated, time variant and non-volatile collection of data used in strategic decision making".

我个人对数据仓库的理解是:一个旨在整合企业所有数据,为企业的决策提供可信数据的系统。


数据仓库的组成

一般来说,数据仓库有以下几个组成部分

操作源系统(Operational Source System)
这个部分相当于数据仓库的输入端,也就是企业在生产过程捕捉数据的区域,通常是一个在线事务处理系统OLTP(Online Transaction Processing),它会记录每一个事务的记录(Transaction Record)。

数据准备区域(Data Staging Area)
在操作源系统存储的数据每隔一段时间会送到数据准备区进行处理,这里是整个数据仓库的核心部分,里面的操作通常我们称之为ETL(Extract-Transformation-Load)抽取,变形和载入。
抽取是将数据源的数据载入到数据仓库。
变形有很多种,有数据清洗(将不合格的数据去除),装换格式,进行计算等等。最最重要的是,变形后,原本紧凑的,符合各种范式的数据将变成维度化(Dimensional)的数据。
数据仓库一般使用维度模型,这种模型是比起我们通常的数据库建模更强调数据模型的简单,易于理解,以后我会深入介绍。
载入是将变形好的数据存储到数据仓库的下一个部分。

数据展现区(Data Presentation)
经过ETL处理过的数据被存放在这个区域。这个区域是为各种查询,报表和分析提供支持。

数据获取工具(Data Access Tools)
用户通过这个工具来设计查询,报表并获取最终的数据。


数据仓库的特征

在这里简单罗列一些数据仓库(DW)和一般数据库应用OLTP的差别

OLTPDW
使命记录业务信息查询,分析历史数据
数据库操作增删改查都有对大规模数据的查询和分析为主,定期的插入、更新
数据库建模方式标准化模型

尽量遵守范式
维度建模
时间在保证事务acid的情况下尽快能的快尽可能的快
空间空间资源有限。

使用范式减少冗余。

OLTP的数据通常只存贮几个周到几个月
可以认为有无限空间。

为了快速查询,存在很多冗余。

专门存放历史数据。
复杂度数据库表结构复杂经过ETL后的数据一般是星型模型,更容易理解
数据操作简单源数据要经过ETL后才能进入数据仓库。复杂度被包含到了ETL中。

学习资源 参考资料

我的学习资料主要是Ralph Kimball (http://en.wikipedia.org/wiki/Ralph_Kimball )等著的《数据仓库工具箱》(Kimball's Data Warehouse Toolkit Classics)这套书:

http://www.kimballgroup.com/html/booksKimballClassics.html

这套书中总共有三本,第一本是《维度建模完全指南》,第二本是《ETL实践技巧》,第三本是《数据仓库生命周期》。
第一本有中译本,不过网上书店都没有卖了,貌似绝版了,计算机的好书好多都绝版了。
第二本网上有中文的pdf文档,不过翻译的质量不是很好。
第三本现在还能买到,是清华大学出版社出版的。

第一本书是了解数据仓库和维度建模的入门书籍,我现在就在看。
第二本书是讲ETL的,其中关于审计维,维度表和事实表数据推送的章节是重点。
第三本主要讲数据仓库项目管理的,内容比较泛,而且新手也不可能去管理项目吧,所以不推荐。


下集预告

下一篇文章会简单介绍一下维度建模,维度表和事实表。




完