Digest on the book of ‘Facebook Effect’

周末下午,读完了《Facebook Effect》,一本讲述Facebook如何由Harvard宿舍几个20岁的年轻人开发的校内花名册的网站,一步步的成长为如今的社交巨头的书。短短七年时间,Facebook由常春藤高校,扩展到大学校园,然后到高中群体,进一步扩展到全球大部分地区的成年人,成为了如今拥有7.5亿注册用户,而且用户停留时间超过google的互联网巨头,其创始人兼CEO,如今27岁的马科-扎克伯格亦成为最年轻的亿万富翁。这样的发展无疑是硅谷的一个传奇,该书通过采访扎克伯格以及众多在Facebook的发展历程中产生了举足轻重作用的人,如Peter Thiel,Marc Anderson,Don Grauham 等等,以详尽的视角再现了这个社交帝国的成长历程,读来收益匪浅。

关于如今的互联网创业,有了一下一些启示:

1. 创业的时机非常重要

Facebook不是第一个提出社交网络概念的公司,之前的六维网就基于人际之间的六度分离理论创建了类似的公司,但由于当时的互联网技术和PC等其他数码支持设备不够先进,导致公司的发展在短暂的轰动之后趋于平淡。比如,后来在facebook上产生轰动的照片tagging功能就由于当时数码摄像设备的缺乏在六维网上就很难起到太大的作用。所以说,真正的创新,不一定要史无前例,而是在最适合的时机,以最好的方式开发出了迎合了时代的需求的产品。

2.如何在公司的快速发展阶段保证公司的有效运转

   Facebook发展初期,由于注册人数的急剧上升,服务器经常出于超负荷状态。为了防止因服务器宕机导致的产品服务质量下降,Facebook采取了非常稳健的阶梯式发展策略:每隔一段时间,增加开放学校的许可请求,同时加紧升级服务器和数据中心等设施。然后在候选学校中调查,确保每次新增的开放学校都是waiting list上需求最迫切的学校,如此,facebook能确保每次跨上一个新的阶梯后能带来数量可观的用户增长预期。

3.如何处理风投VC或者其他投资资金的关系

随着用户的快速发展,维护整个网站运行的成本也将会飞速发展,加之由于扎克伯格对于用户体验的狂热执着,任何影响用户体验的方式,不管有多少的盈利能力,都是和其长期目标相违背的。因此,如何寻找有效的资金支持成为了其面临的重要问题。但是由于其早期总裁CEO曾有被VC夺取公司控制权的经历,对于VC,Faceboo一一直特别谨慎。为此Sean Parker为扎克伯格设计的董事会结构确保了扎克伯格对于facebook的牢固控制不受来自VC的董事会成员的过分左右,从而使得扎克伯格能继续专注于公司的增长和产品的提升,而不会背负太多和公司长期愿景相违背的盈利压力。

 4.增长和盈利之间的平衡

如何在快速增长和盈利之间实现平衡,是任何一个快速发展中的公司所面临的重大问题。作为商业公司,盈利以维持其运转是必须的,但是在公司的快速发展阶段,主要侧重点仍然应该放在公司的核心价值,对于facebook这样的社交网络公司来说,那就是用户增长。因为社交网络有着很强的用户粘性,是一个很明显的winner-take-all的市场。假设你的朋友都在facebook上,你还会选择其他的网络服务么?

  5. 和用户产生良性的互动,即时迭代调整

在facebook的历程中,每次对网站架构的重大改进,都面临着很多忠实用户的反对, 以诚恳的态度和用户对话,成为了facebook最宝贵的危机公关经验。如news feeds的引进,使得用户感觉其隐私受到了莫大的侵害。于是,扎克伯格迅速的召开发布会,向用户解释其用意是符合facebook的长期发展目标,即使人们能以真实的身份更便捷的分享信息,从而使整个世界透明化。就像在一个小镇上,任何居民都能知道镇上其他居民发生的事。同时,facebook迅速开发出了一套有效的隐私控制功能,使得用户得以自由选择分享的权限。之后,news feeds为facebook带来了巨大的流量增加则是其公关策略的正面回馈。还有后来邀请用户设计不同语言的翻译版本和新的隐私保护条例等等都属于此类成功的例子。

6. 如何创造新的盈利模式:满足需求 vs 创造需求 

广告市场这个有着上千亿美元的诱人蛋糕,已经大有从传统媒体往在线载体转移的趋势。位于google右边栏的相关性广告每年为google带来数百亿的收入,那么对于手握几亿用户的真实信息,包括其朋友,喜好等等私人信息的facebook如何从中分一杯羹呢?Google的广告策略是基于用户的搜索关键字来找到相关的广告推荐,基本上是一种在用户确定了其需求后以海量的搜索计算资源在线推荐来满足其需求的广告投放策略;于此相反,facebook则是利用用户的真实身份和喜好来创造这种需求,以更加精准的方式来投放广告。因为,来自朋友的推荐比单纯由page rank算法的推荐更愿意让人相信。

7.平台称霸,渠道为王

单纯的依靠创造需求增加广告收入只是能成就一个盈利强劲的商业公司而已,而把facebook创造成一个互联网的信息平台则使得facebook成为新兴霸主。就像Microsoft的windows平台,苹果的itunes和app store平台,以及google的android和作为互联网信息的门户的搜索引等等都是平台称霸,渠道为王的典范。facebook当然也不落人后,通过和外在网站的链接和无处不在的like分享按钮,facebook变成了互联网上另一个信息中心,一个读google的搜索引擎绝对屏蔽的信息中心。这个中心拥有7亿用户和数万相互链接的外部网站,facebook的账户成了互联网的一个passport,大有一统互联网的态势。同时,通过开放一定的API,鼓励其他软件公司为其开发各式的app,就像后来的app store和android app一样,在大大的增强了facebook和广大互联网开发者联系的同时,巩固了其作为平台和中枢的重要地位,还能从中收取部分的提成。

当一个产品成为行业的平台时,它想不赚钱那都是困难的。

  最后一点,创业者一定要有一个远大的愿景,及你创业不是单纯了为了一家盈利的商业公司,一个可以让你做大后转手卖掉或者吸引vc一夜暴富的踏板,而应该是一件你坚信可以改变世界的伟大修行。微软的愿景是让每人的桌子上都有一台pc;google是让所有人都可以自由找到他想要的信息;facebook是让所有人可以更有效,更便捷的分享信息,使世界更透明!你的呢?

  Dream big! Do from small!

Posted in Technology and Entrepreneurship | Tagged , | Leave a comment

Digest on《Havard Happiness》 –1

Preface

    During my undergraduate years, one of my friends recommended me a book named ”How to be happier?” by Prof. Ben Tal-Shahar, Harvard University. The book provideded a brand new perspecitive towards our knowledge of well-being and happiness, from which I gained a lot a inspiration . Luckily enough, a few weeks ago, I came across the online open course presented by Prof. Tal-Shahar. After watching several lectures and combining with the materials from the book that I have read before, I tended to come up with some thoughts toward these abstract concepts, which indeed are intrinsically correlated with our lives. Therefore, I decided to write down those occationally shining sparks within our minds.

Chapter 1. Introduction of Positive Psychology and Happiness

  Currently popular self-help movement are always over promising and under delivering, while acdemic research are rigrous and systematic, yet sometimes too professional and not well received. On average, a journal artical is only read by 7 people.

  The goal of Positive Psychology is to build a bridge between academia and self-help movements, to deliver science that works.

 

   Some study tips to gain better understanding of happiness:

  •  Take active notes and engage in the material
  • Time-ins to introspect into your inner mind, cause silence and reflection can help to retain the memory and gain the deepest thoughts.

  

  Positive Psychology is descendented from humanistic psychology and psychoanalysis, related more to humanistic view, which focus on spirit and soul that assign more dignity and value to human, than behavoristic view which studies the response of human to outside simulation.  It’s more about kindness, goodness, and optimism, focus on health and salutogenesis (the origin of health).

 

5 essential elements of being happy:

  • Physically and mentally healthy
  • Loving social relationships
  • A self-concordant life goal
  • Grateful attitude to the take-for-granted, resillience to unavoidable negative emotions
  • External material conditions to cover basic needs, like food and shetlter 

  Happiness is more concerned with our state of mind, instead of the status of bank account. It’s diffcult to decide whether you are happy or not right now, but it’s possible your level of happiness increases gradually through the time. That’s why we are asking “how to become happier”.

    Concerned with cultural difference in pursuing happiness, we were focusing too much on difference, while ignoring the more similarity between them, there are much in common across cultures.

   Our brain is just like a container, when information is drawn from outside and filled in, the form of our brain decides the shape of the world we perceive. To different minds, the same information can have different interpretations, such interpretation is in fact a kind of transformation of our minds. So in order to change the perceived world, we need to reshape the form of our brain.

    The sole grows more by subtraction than addition. Chip away the limitations, and our potentials emerge.

    The biggest mistakes in the process of pursuing happiness is not asking the right questions, but always seeking the right answers.

    Charateristic of successful and happy people:

  • Deep faith in themselves
  • Always asking new questions, strong curiosity
Posted in Life Retrospect | Leave a comment

Online Reresourses for Pattern Recognition

Standard/Open databases for performance benchmarking of algorithms ans systems

–Face Recognition: http://www.face-rec.org/

– Yale Face Database: http://vision.ucsd.edu/~leekc/ExtYaleDatabase/

–Handwritten Digits: http://yann.lecun.com/exdb/mnist/
–Objects and Scenes: http://web.mit.edu/torralba/www/database.html

–Content-based Image Retrieval: http://www.cs.washington.edu/research/imagedatabase/

–Cross Language Image Retrieval: http://imageclef.org/
–UC Irvine Machine Learning Repository:http://archive.ics.uci.edu/ml/

Posted in Research Links | Leave a comment

Project-Lazy Snapping

1.     Introduction

“Lazy snapping” is an interactive image segmentation technique. It separates coarse and fine scale processing, making object specification and detailed adjustment easy. Moreover, Lazy Snapping provides instant visual feedback, snapping the cutout contour to the true object boundary efficiently despite the presence of ambiguous or low contrast edges. Instant feedback is made possible by a novel image segmentation algorithm which combines graph cut with pre-computed over-segmentation. In this project, we will implement this algorithm and evaluate its performance.

2.     Project Objective

Understand the graph cut algorithm as an efficient minimization tool.

Be able to segment the foreground of an image through Lazy Snapping technique.

In this project, we are provided with several example pictures each with some given foreground pixels (marked in red) and background pixels (marked in blue). Our program is required to compute the precise segmentation boundary of the foreground object.

3.    Algorithm and Implementation Details

In the Lazy Snapping paper, the image is initially segmented using a watershed algorithm. In my implementation, I’ve simplified this by merely downsampling the image using Matlab’s imresize function. After scaling down the image (I settled on a scale of 1/8), it is passed into the following graph cutting algorithm.

We use the max-flow min-cut algorithm, like in the previous graph cut project. However, the values plugged in are changed significantly. Ultimately, we are trying to solve the following minimization problem:

 

E(X)=\sum_{i\in V}E_1(x_i)+\lambda \sum_{(i,j)\in E}E_2(x_i,x_j)

In this project, we used the MATLAB wrapper of the GMEX graph cut library, and implement our algorithm by MATLAB.

Our algorithm is as follows:

1)      Extract the marked foreground and background pixels

2)      Cluster the foreground and background into several clusters by K-Mean algorithm

3)      Use a Gaussian model to fit every cluster, and build a Gaussian Mixture model to represent the foreground and background, respectively.

4)      Calculate the probability of the pixels belonging to foreground and background.

5)      Calculate the parameters of  data cost and smooth cost, which are ‘class’, ‘unary’,’pairwise’ and ‘labelcost’.

6)      Segment the graph using graph cut function

7)      [labels , E, Eafter] = GCMex(double(class’), single(unary), pairwise, single(labelcost),0)

CLASS: An 1xN vector which specifies the initial labels of each of the N nodes in the graph

UNARY: A CxN matrix specifying the potentials (data term) for each of the C possible classes at each of the N nodes.

PAIRWISE:: An NxN sparse matrix specifying the graph structure and cost

for each link between nodes in the graph.

LABELCOST:: A CxC matrix specifying the fixed label cost for the labels of each adjacent node in the graph.

EXPANSION:: A 0-1 flag which determines if the swap or expansion method is used to solve the minimization. 0 == swap, 1 == expansion. If omitted, defaults to swap.

8)      Segment the image according to the labels. Label  is 0 for the foreground and 1 for the background.

4.    Experiments

 

The following figures are the results of our implementation. For each example set, in the first column are the original images with corresponding stokes on them, in the second column are the results.

From the figures we could see that our algorithm works best for dog and dance and relatively worse for Van Gogh and Mona Lisa, while medium for the lady set, since for the first two sets, the difference between the foreground and background is relatively larger than the latter two.

In the dance, lady and Mona Lisa sets, the results of the first row are much better than the second row, since the first row has more strokes for both the foreground and background, than those of the second row, which as a consequence leading to a more accurate Gaussian mixture model to approximate the probability of the image pixels belonging to foreground and background.

In the dog set, the hair of a person at the upper right corner of the image is mistakenly segmented as the foreground, because it’s great similarity in color and texture with the dog region. It can also be observed in other sets that background regions that are similar to the foreground in color and texture are quite possible classified as foreground.

The performance on Mona Lisa and Van Gogh sets are much worse, since the great similarity between much of the background regions and the foreground, especially the lower part.

In conclusion, what really matter in the lazy snapping procedures is the size of the samples and the distinction of foreground in both color and textures. In order to get good  performance, we must make sure that our strokes are rich enough, inclusive of different color patches in foreground and background. For those images with low contrast between foreground and background, we need to draw more strokes.

Since the initial node weights are based on color, segmentation is very easy on subjects that are a very different color from the background, like the dog picture. It is also helpful when the fore- or background is a solid color. When there is a lot of discontinuous color, it means more lines will be needed to correctly segment the image.

In addition, in the MATLAB implementation, the pairwise matrix, denoting the graph structure of the image with corresponding link or edge costs, is an N by N sparse matrix, where N is the number of pixels in the images, usually thousands of thousands. The calculation of this matrix slows down the whole lazy snapping process, taking about two minutes on average for each segmentation task, which is far away from the real time segmentation proposed by Microsoft. 

5.    Conclusions and Possible Improvements

 In this project, we learnt how to segment a picture using lazy snapping, a very efficient and interesting technique. However, based on the implementation, I think there are several parts need to be improved.

Since our algorithm is sensitive to the color discontinuity, while the edge cost is based on the color difference. This leads to many noisy discontinuity and noise holes in the result. Therefore, in the future, we could add some spatial distance in the distance vector only based on color, because the further a pixel is to a marked foreground or background, the less likely they belong to the same group. By combining the color and space distance, we could get better results.

The segmentation in our algorithm is coarse, so in order to get smooth boundary, we may do some edge editing after lazy snapping.

As for the speed, we should come up with some more efficient ways to calculate that huge sparse matrix, or simply re-implement the whole algorithm with C\C++, directly calling the library functions rather than the MATLAB wrappers.

 



 

Posted in My research | 6 Comments

Matrix decomposition and Compressive sensing

Here is a nice portal for the matrix decomposition problem: http://perception.csl.uiuc.edu/matrix-rank/home.html

In particular, if you click on the “Sample Code” link, you will see Matlab implementation of 4 algorithms that do the decomposition. As you can see, all you have to do is to pass in the data matrix, and a weighting factor. These functions will return you the low rank and sparse matrices. We can discuss more about the weighting factor when we meet up next time.

As part of your education in optimization, you can refer to Boyd’s lecture, slides and pdf book on optimization. These resources are useful for you to learn CVX, as a handy tool for solving small optimization problems.

http://www.stanford.edu/class/ee364a/

As part of your background reading on compressive sensing, the following papers are nice, gentle introductions:

http://dsp.rice.edu/files/cs/baraniukCSlecture07.pdf

http://dsp.rice.edu/files/cs/CSintro.pdf

Even though we are looking at rank minimization, there are many shared concepts with L1 minimization. You can get a good intuition of rank minimization by first looking at L1 minimization.

Posted in Research Links | 1 Comment

Resourse links

Video talks on mathematical background & general vision topics

 

Stephen Boyd, Lieven Vandenberghe: Convex Optimization, Cambridge University Press, Cambridge, 2004.  (you can view the video lecture from YouTube)

 

If you need some background for graph cut and level set, the following website may be of help

http://www.cs.washington.edu/education/courses/577/04sp/contents.html#BP containing videos of talks by:

1.        R. Zabih : A Selective Overview of Graph Cut Energy Minimization Algorithms

2.        G Sapiro; Level Sets and Partial Differential Equations in Image Sciences

 

If you want to know more about BP (belief propagation):

  1. Chapter 8 Graphical Models from Bishop’s Book: Machine Learning and Pattern Recognition http://research.microsoft.com/en-us/um/people/cmbishop/PRML/Bishop-PRML-sample.pdf (more detailed coverage of the basics)
  2. Understanding Belief Propagation and its. Generalizations. Jonathan S. Yedidia, William T. Freeman, and Yair Weiss. MERL TR-2001-22. www.merl.com/papers/docs/TR2001-22.pdf
  3. Efficient belief propagation for higher-order cliques using linear constraint nodes, CVIU(112), No. 1, October 2008, pp. 39-54.

 

If you want to know more about spectral clustering (upon which the Normalized-Cut technique is based):

  1. A tutorial on spectral clustering, Statistics and Computing. Volume 17, Issue 4 (December 2007). Pages: 395 – 416

 

Finally, this website at Mathematical Sciences Research Institute hosts many video talks by experts in the field of computer vision:

http://www.msri.org/calendar/workshops/WorkshopInfo/298/show_workshop

http://www.msri.org/calendar/workshops/WorkshopInfo/270/show_workshop

http://www.msri.org/calendar/workshops/WorkshopInfo/273/show_workshop

 

Maths & SoC Seminars

http://ww1.math.nus.edu.sg/seminars.aspx 

http://www.comp.nus.edu.sg/cs/csseminar.html

 

Resources

 

Gary Bradski, Adrian Kaehler. Learning OpenCV: Computer Vision with the OpenCV Library. 2008.

This book would be most useful to someone who already has a fundamental understanding of computer vision and image processing and wants to see how the open source OpenCV will make their programming tasks easier.

 

OpenCV Library (General purpose and opensource, currently actively maintained and provides C, C++, Python, and Octave interfaces)

Piotr’s Image and Video Toolbox for Matlab

Peter’s Matlab Functions for Computer Vision

 

There is matlab code available for computing optical flow:

http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=17500&objectType=File

 

It is based on the work of Weickert’s group: High Accuracy Optical Flow Estimation Based on a Theory for Warping 

Thomas Brox, Andres Bruhn, Nils Papenberg, and Joachim Weickert

Which is essentially the same as the IJCV2005 paper (When Lucas & Kanade meets Horn &Schunck)

 

The optical flow codes from MIT is also available:

Peter Sand, Seth Teller, “Particle Video: Long-Range Motion Estimation using Point Trajectories,” cvpr, pp. 2195-2202, 2006

http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=17500&objectType=File

 

http://phototour.cs.washington.edu/bundler/

Bundler takes a set of images, image features, and image matches as input, and produces a 3D reconstruction of camera and (sparse) scene geometry as output. The system reconstructs the scene incrementally, a few images at a time, using a modified version of the Sparse Bundle Adjustment package of Lourakis and Argyros as the underlying optimization engine. Bundler has been successfully run on many Internet photo collections, as well as more structured collections.

 

Here are the links that provide numerous motion sequences, some of which have ground truth.

 

http://vasc.ri.cmu.edu/idb/html/motion/index.html

http://www.robots.ox.ac.uk/~vgg/data.html

http://www-cvr.ai.uiuc.edu/ponce_grp/data/

http://vis-www.cs.umass.edu/~vislib/Motion/

http://research.microsoft.com/en-us/um/people/zhang/Calib/

 

CODES

 

For region segmentation:

http://www.cis.upenn.edu/~jshi/software/ Normalized cut using intervening contours (earliest version as well as a multiscale CVPR2005 version)

http://www.cs.berkeley.edu/~fowlkes/BSE/BSE-1.2/ & http://www.cs.berkeley.edu/~fowlkes/BSE/BSE-1.2/util/  codes for PAMI 2004 paper: D. Martin, C. Fowlkes, J. Malik. “Learning to Detect Natural Image Boundaries Using Local Brightness, Color and Texture Cues”, TPAMI 26 (5) p.530-549

http://www.eecs.berkeley.edu/Research/Projects/CS/vision/stellayu/code.html various normalized codes from the same group (including constrained ncut)

http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/ edge detection based on brightness/color/texture .

 

http://www.caip.rutgers.edu/riul/research/code.html mean-shift segmentation

 

For C/C++ codes on sparse bundle adjustment, refer to http://www.ics.forth.gr/~lourakis/sba/ by Manolis Lourakis and Antonis Argyros

 

Graph cut optimization: http://www.csd.uwo.ca/faculty/olga/code.html

 

Various Computer vision codes:

http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/

Andrew Zisserman’s MATLAB Functions for Multiple View Geometry

Jean-Yves Bouguet’s MATLAB Calibration Software

Peter Corke’s Machine Vision Toolbox he also has a well regarded Robotics Toolbox.

Libor Masek’s Iris Recognition Code

Epipolar Geometry Toolbox by Gian Luca Mariottini and Domenico Prattichizzo.

MathWorks’ links to sites containing MATLAB vision functions

 

Feature Extraction

  • VLFeat (SIFT, MSER, plus fast kmeans, hierarchical kmeans … )
  • SIFT Demo by David Lowe (closed-source)
  • SURF (Speeded Up Robust Features, original implementation, closed-source)
  • OpenSURF (An opensource implementation of SURF)

Machine Learning Algorithms

  • LIBSVM (A Library for Support Vector Machines)
  • SVMlight (Another popular implementation of SVM)
  • shogun (A large-scale ML toolbox, specialized in SVM. It provides unified interface for several popular SVM implementations, and features supports for Multiple Kernel Learning. )

Sparse Coding / Representation

  • Sparse modeling software package (General-purpose package for various sparsity-related problems, include Lasso, elastic-net, and sparse dictionary learning. Closed-source)

 

 

Posted in Research Links | Leave a comment

Some theoretic links

Dedicated research websites of interest

Events/Workshops/Tutorials of interest

Wonderful reference books that are online

Posted in Research Links | Leave a comment

Useful Softwares

CV Software

This page collects wonderful resource for computer vision research (mostly software packages/tools) and technical references.  Closed-source software tools are explicitly noted, otherwise opensource. (Update: June 11 2010)

General Purpose

  • OpenCV Library (General purpose and opensource, currently actively maintained and provides C, C++, Python, and Octave interfaces)

Specialized

Classic Vision Algorithms and Related

Feature Extraction

  • VLFeat (SIFT, MSER, plus fast kmeans, hierarchical kmeans … )
  • SIFT Demo by David Lowe (closed-source)
  • SURF (Speeded Up Robust Features, original implementation, closed-source)
  • OpenSURF (An opensource implementation of SURF)

Support Vector Machines (SVM)

  • LIBSVM (A Library for Support Vector Machines)
  • SVMlight (Another popular implementation of SVM)
  • shogun (A large-scale ML toolbox, specialized in SVM. It provides unified interface for several popular SVM implementations, and features supports for Multiple Kernel Learning. )

Graphical Models and Inference Algorithms

Nearest Neighbor Search in High-Dimensions

Nonlinear Dimensionality Reduction

Optimization Packages

Sparse Coding / Representation

  • Sparse modeling software package (General-purpose package for various sparsity-related problems, include Lasso, elastic-net, and sparse dictionary learning. Closed-source)

GPU Programming for CV (Don’t have a GPU on your PC? You’re out …)

Posted in Software Package | Leave a comment

什么才是真正的奇迹!~由新西兰地震想到的~~

 听说新西兰遭遇7.2级地震,想到Tim Bell 教授就在重灾区Christchurch,赶紧发了email去询问状况,本以为那边由于地震,通讯会受到影响,结果半个小时后就收到回复:

   “We’re fine thanks. We spent the morning yesterday cleaning up a huge amount of sand that appeared in our back yard due to liquefaction! In the evening our band played for a wedding that was to be in a building in town that has been damaged, so it was moved to a small winery in the country with no power or water!

Our house has a few cracks, books and ornaments all over the place, and the odd thing: a bell stuck in the wall! (A metal bell, not one of the family 🙂 We’ve now got water and power back on.

The university is closed for the next week while they check everything.

So it’s having a big impact, but thankfully no loss of life, and many people like us with relatively minor damage.”

   一个四十万人的城市,遭遇如此强震,能如此快的恢复水电,并且零死亡!!这才是真正的奇迹!再想想国内的汶川,玉树,人们丝毫没有逃生的时间就被瞬间倒塌的房子压死,我们还有脸整天吹嘘某某又创造了救援史上的奇迹么?真的该反思了,不要每次都把丧事变成喜事。天灾不可避免,但是人祸可以,想想我们的损失到底是由于天灾呢还是人祸,如果是天灾,能把灾民从鬼门关里救出来,那当然是奇迹。但为什么同样是7.2级地震,人家震不死,咱死上万人!自己建筑质量不过关,豆腐渣横行,就别拿百年一遇,千年一遇说事!

   还有,教授说他老婆的乐队还能去给一个婚礼演奏,可见生活并没有受到太大影响。他们也没有先谢国家再谢党最后谢领导,到有不少人说总理过来视察有做秀嫌疑,因为可能在他们的思维里,这是政府的职责,做的好不一定有表扬,但做的不好肯定有批评,这点比我们这些整天被感谢,被哀悼,被情绪稳定的屁民还是要好上好多~~

   有一首被禁的歌说的好:“GDP他蹭蹭的涨啊,可是四万亿和我有蛋关系啊,能换来几包尿不湿不?”老百姓只是需要生存的权利和尊严,不是不明真相的一小撮别有用心分子!身在海外,诸多比较,确实能发现国内的不少问题,而且很多都很严重,到了该改变的时候了,不然前途堪忧。

   祖国的富强是我们每个学子的梦想,我们的政府不能再掩耳盗铃自欺欺人了,正式自己的问题,然后努力去解决它,这样,中国终会向好的方向发展的!

   PS:哀悼所有在汶川地震和玉树地震中去世的同胞,愿你们下辈子投胎在一个房子不会一震就倒,没有各种奇迹只有理所当然的中国!

Posted in 时事杂谈 | Leave a comment

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

Posted in Uncategorized | 1 Comment