掩耳盗铃

2011年的开始便颇有些热闹,YD作秀接见上*访的P民的确很不!和%谐^,而房产税在上海重庆的试点更是吸引眼球。
房产税实在不是什么新的东西,记得经济学原理里面提到了19世纪Henry George就提出了类似的土地税的概念,原因是他认为地主从整个经济增长中得到的利益大于他们应该得到的,是基于对经济福利分配的关注。当然网络上更有人考证出咱们的祖宗更伟大,在汉武帝时候便有更彻底的财产税,根据是史记中的“各以其物自占,率缗钱二千一算千而一算。诸作有租及铸,率缗钱四千一算”。
这个东西据说出发点是好的,据说可以调节贫富差距,这也是税收的一个重要目的,很不幸的是,This is China.
首先政府当然是永远的赢家。解决价格问题无非是两个途径,增加供给或者降低需求。而当供给或者需求缺乏弹性的时候,税收的无谓损失小。很不幸的是供给是非常缺乏弹性的,因为政府垄断了土地,所以市场会以最小的代价把财富转让给政府。这里可以明显看出来政府对于土地财政的依赖,而房产税更是火上浇油,同时可以看到政府不愿意损失自己的利益,否则增加土地出让的速度,控制出让的价格是明眼人都能看出来更有效的途径。
其次,这个事情无法调节贫富差距。某些垄断了重要资源的既得利益集团在没有任何有效制约的情况下必然是无休止地聚敛财富,真的能有效统计出他们有多少房产?那样的话估计很多人民的公仆都可以直接双规了。另一方面,如果租房市场的供给不充分,房东是很容易把这个代价转移到租房者的身上,而我没有看到任何相匹配的措施比如新建大量的公共租赁房。所以结果很可能适得其反。
我觉得房产税不过是掩耳盗铃中的手罢了。顺便感慨一下,同一阳光之下没有新的东西,比如去年的恨爹不成刚,在史记货殖列传中便有“千金之子,不死于市”的谚语。我也相信小到一个家庭,大到一个国家都是”富无经业,货无常主,能者辐射,不肖者完结”,有些事情前车之鉴尤未远,却没有看到成为后事之师,也许中国还是跳不出那个循环吧。
不好,不能愤青!

Patterns of Enterprise Application Architecture Chapter 1&2

After reading several design pattern books including “Head first design pattern” and “Java and Pattern” I turned my focus to one new book named Patterns of Enterprise Application Architecture. From the comments of amazon it seems that it’s one pretty good book. Considering the limited memory now, writing down some key ideas from the book should be able to keep the reading more interesting.
The preface section defines the scope of this book which is architecture for enterprise application. The common patterns of enterprise applications include data persistence, concurrent access, huge data process, complex UI, and integration to other enterprise application.  Here the UI involves Web and traditional rich client application. Also the authors gives some points on the measurement for performance. Finally the form of pattern is given which contains name, intention, summary,  how it works, when to use it and further reading, also some examples maybe also presented for better understanding.
The first chapter talks about layering. This topic starts from the evolution from the Client/Server model to three principal layers. One problem of the traditional C/S model is that the domain logic is hard to organized. It’s a bad idea to mix the logic in client UI directly which may easily causes duplicated code and maintain issues. Alternative way is putting them to the server side which usually presented as database store procedure. Here the store procedure is limited and may causes difficulty to switch to different database.
These short comes naturally involves idea to separate the domain logic in the object oriented world. This results in the new three principle layers including Presentation, Domain and Data source. one interesting point raised by author to think about the Presentation and Data source layer is that “Presentation is an external interface for a service your system offers to someone else, whether it be a complex human or a simple remote program. Data source is the interface to things that are providing a service to you”. Also one principle here is “The domain and data source should never be dependent on the presentation” which means we should be able to easily change our presentation layer without requiring changes in domain logic layer.
The benefits of layering contains: Easy to understand separated layer, minimize dependencies between different layers, substitute layers with alternative implementations of the same basic services. One obvious drawback of layering is that performance as we need to pass data to different layers. But compare to the benefits usually the cost is worthwhile.
The chapter 2 discusses about the way to organize domain logic.  Transaction Scripts, Domain Model, and Table Module. They all have pros and cons. The recommended way is Domain Model which is good at complexity when the problems scope increase.