2008年12月26日星期五

蒙代尔的建言

对于如何刺激消费,蒙代尔似乎是语出惊人:中国发放1万亿元消费劵应对经济危机。文中提出两个建议:发放消费券和减税。

对于发消费券这个问题见仁见智,按照中国的储蓄习惯,估计政府发出1万亿消费券,消费券花完之后,银行储蓄账户余额也会增加超过6千亿甚至更多。对于有效需求的刺激应该没有蒙代尔那么乐观!

那么这个1万亿该不该发呢?该,但我给出的原因是:把多收的税还回来。08上半年税收收入已经和06年全年持平,财政盈余高达1.2万亿。国家收税天经地义,但是国家不收税更是天经地义。中国现在的经济形势要一个巨大的财政盈余余额有何作用,我是想破脑袋都还没有弄明白的。中国的货币注入是通过贸易顺差下的美元结售汇来进行的,不像Fed可以随意的印发钞票,人民币M2更像是外生变量,不是央行完全控制的。挖空心思收上来的税,最后又要千辛万苦通过财政政策花出去。无非是心理有种安全感!

而蒙代尔说的降低企业税率,我是举双手双脚赞成的。出口退税都是利益集团的事,普降税率才是真正减了税。

再说,花大力气扶持出口值得吗?国际市场上,中国出口什么价格两年内降1/3,而中国买什么什么就涨!中国劳动力成本优势能走30年,但是能走60年啊吗?
趁早把注意力放在内需上才是正经事,所以全民加工资吧,至少我非常高兴!

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年12月25日星期四

谈谈网上购物

首先要说的就是买书,卓越和当当是我的首选;China-Pub,蔚蓝,dearbook什么之类的一般无视之——毕竟免运费更加吸引人。买书之前最好还用豆瓣搜一搜才行动,货比三家嘛!
卓越尽管有亚马逊的先进系统,不过当当处理订单的速度也不慢,以往DD不免运费的时候喜欢卓越些,现在就反过来了,卓越不免运费就首先考虑DD。。。而且最近卓越书涨价蛮厉害,同质化的竞争就要以价格取胜,卓越不会忘了吧!!!另外,DD还能够网购杂志,我的风度全是DD上买的,武汉书报摊上大多只卖男人装,价格也要优惠很多——原价20,DD一般是15不到!
二者的物流,没有太大区别,一般订单确认后2-3天就到了(我在武汉),ms现在卓越订单配送时间比以前长一些

其次是3C商品,我一般不会选择京东(似乎很鄙视湖北,运费那么高),二话不说直接pass。其他的B2C的价格比较没有吸引力(新蛋之类的,加上运费比较贵。。。),倒是偶尔可以在卓越上遇到特价的商品,我的MP3小石头就是卓越上买的。不过3C的大件商品,因为售后的原因,我还是只在网上询价,本地商场再去砍价。

再来说说淘宝吧。现在在TB上买的东西渐渐少了,因为以前对本地商城不太熟悉,现在买的东西多了自然变得一回生两回熟了。TB现在俨然成了我的购物顾问。想买什么,输入关键字搜索,按价格或信用对结果排序一下,地点用武汉来过滤,旺旺上基本了解+询价,然后找实体店上门看吧。。。我的笔记本和手机还有很多东西都是这样来从实体店拍的。

最后,在网上买衣服不太明智,尤其是淘宝商城。很多朋友抱怨实际收到的衣服在色差、大小、款式上和网上照片相去甚远。奉劝一句,买服装还是多逛逛街吧,网上基本是A货、高仿、低仿的,毕竟一分钱一分货,TB开店赚钱比实体店不会差,你想想利润从哪里来!光鲜、好看的广告照片,并不是实物。切忌!
至于在VANCL上买衣服,我只说一句话,还真不如TB呢,TB上淘一淘,选一个可以先行赔付的店铺的衣服要好很多!!!不止一次看见同学炫网购的裤子,我也好奇的去看一看、摸一摸,最后实在不忍心打击他们的兴奋之情。

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年12月22日星期一

风度和男人装

一直以来都更喜欢男人装一点,因为美女愿意多一点展露自己的body,但是最近几期的确让人提不起兴趣了,尽管纸张质量、手感优秀,而是上面的文字和内容令人乏味,除却图片还能吸引人。。。明年看看再买吧,最近两期让我实在倒胃口。。。

编辑似乎变得越来越不会做男性杂志了,里面很多奇怪的访谈内容,显得异常突兀。我都怀疑手上捧着的是外星文明杂志

风度有点令人不解,质量时好时坏(就是封面女性的火辣程度),今年白歆惠、阿朵和周奇奇的三期不错,其他可以忽略了,要说原因,勉强归结为摄影师把model拍得丑了点了吧,免得招来其他封面女郎fans的不满。。。

男性杂志的成功与否,说到底都是美女的眼球经济学的实践检验。封面决定了销量,不会因为FHM从英国来到本土更名叫男人装而变化,这一点风度,作为中国本土版的Maxim依旧维持着原来的美式风格,做得比胡乱创新的本土FHM好不少

果然降息了

才周一央行就已经下调利率了:
存贷款利率整体下调27个基点,而贷款方面一年以下和三年以上的利率调整幅度是18个基点。

值得庆幸的是活期利率没有变化,本来就只有0.36%,即使以最低标准18个基点来下调也是腰斩一半,要知道前不久才从0.72%腰斩到0.36%完毕,要是再来一次斩到0.18%;而美国经济比预期还要糟糕,fed说不定学欧央行搞个0利率政策,人民银行拿什么调整,岂不是要弄“无米之炊”——这次收敛着点。

不过管他降多少,对于我等学生群体,作为银行的小额账户对象,从来就没有奢望过从银行账户里领到利息钱,你少收一点年费,我就谢天谢地;学生钱没有多少,办的基本是借记卡,还居然收管理费——别人股份制银行这么办情有可原,四大行收管理费,我就不妄作评论了。

PS:之前想不通为什么央行利率政策每次出手必然是27个基点开始起跳,后来恍然大悟:原来是3和9的数字崇拜,三九二十七!

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年12月21日星期日

新的降息预期

尽管前不久央行才大降息了一次,可是本周的Fed降息玩得太厉害了,其实就是0利率,那个25基点的利率通道上限反正也不是存款利息。

我只在想一个问题:在美国流动性陷阱会什么时候出现?反正0利率了,下一步呢?

中国这周还没有降息的动作,可是降息预期一旦形成,央行就是真要降息了——这对于准备搞地方政府发债可是个好消息,有钱的省份自然不关心这个问题只要能让我发债就行;缺钱的省份呢,融资成本变低是件大好事,本来买债券的人担心你还不起利息钱,现在别人只担心你还不还得起本钱了!

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年12月7日星期日

ubuntu的sh连接到了dash

前几天把ubuntu在自己的笔记本装上之后,开始学习写脚本。

开始一些简单脚本还很顺利,后来写流程控制的脚本时却发现sh *.sh怎么都运行不了,总是报错。结果郁闷了大概半个周末加一个晚上的时间,不停地调试修改,不停地抓狂

今天直接用执行的方式:
chmod u+x *.sh; ./*.sh
居然执行成功。于是考虑是否是ubuntu的问题,google “ubuntu bash”出了结果:
Debian采用了dash这个更加小巧快捷的默认shell,不支持脚本中诸如(())、[[]]的类似c语言的结构。

修正方法,在终端中输入以下命令:
dpkg-reconfigure dash然后选择no #需要root权限
或者
sudo dpkg-reconfigure dash 后选择no #需要输入自身密码,且必须是sudoer

2008年11月23日星期日

通货膨胀从来就只是一个货币现象

2007年,我国经历了一个较高通货膨胀的时期,绝大多数学者认为是食品和国际能源价格上涨引起的,并把这次通货膨胀认为是成本推动的通货膨胀。
可能是货币主义对我的影响太深,有一个观点是我始终认为正确的:通货膨胀从来都只是货币现象。现钞发多了就形成通胀,现钞少于流通必需就会是通缩。货币的过量发行才是导致这次通胀的根本原因,食品价格为什么上升——过多的货币追逐较少的商品,道理很简单。只是大多数时候专家喜欢把问题弄得很复杂。

从上面的数据表和后文的图1可以明显的看出,2007年6月和2008年1月两个时间点以后,央行发行的货币量增速显著加快,也就是从这两个时间点,CPI分别上涨了3和2.5个百分点(见图2),达到106和108的高位;而一旦央行开始控制M2,今年6月开始,CPI跟随M2同步下降。
从图2也可以很清晰的验证一个最为浅显的公式:△M=△P+△Y。其中△Y就是GDP增长率。在图2中,△M和△P之差相对稳定,且2007年两者之差要大于2008年。
另外图2也能看出CPI的变动略微滞后与M2的变动。


图1

图2

2008年11月22日星期六

旧话重提:不要问国家为你做了些什么,要问你能为国家做什么

肯尼迪的就职演说中有这样一句——Ask not what your country can do for you, ask what you can do for your country.(不要问你的国家能为你做些什么,而要问一下你能为你的国家做些什么。)

每天在我浏览新闻,灌水BBS时,总能看见愤青们的言论,其中充满了对于现实社会的不满、对于政府公职人员能力的质疑、对于“中国制造”的鄙视。。。

带着批判的眼光看世界没有什么错误,但是这不应该成为年轻一代的某种主流价值观。这个世界不存在过去如果怎么样,而只是存在现在是怎么样,未来会怎么样?

过去如果怎么样,这种毫无营养的评论谁都会说,谁都说的冠冕堂皇——但永远只是说的比做的好听。经济、社会的发展是国家之间的博弈,没有谁是绝对的傻瓜。要想有资格评论政府行为,首先你得是圈子里的人,否则别人不屑一顾。因此旧话重提:不要问国家为你做了些什么,要问你能为国家做什么。希望国人眼中不再只有昨天,而是今天和明天。

但是切记一点:这句话只能是由我们这些平头小百姓来说!政府可不能以此做借口事事都玩高高挂起
——否则借用弗里德曼的话,政府应该把这句甚是蛊惑人心的话倒过来扪心自问:不要问你能为国家做些什么,而要问一下国家能为你做些什么。

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年11月21日星期五

千万不要“强奸”别人使用的软件

自认为电脑软件玩得还算比较溜的,所以平时喜欢和朋友交流一下经验。可是经常发现有些朋友太过热心,总是试图纠正其他人的使用习惯。

比如,看见别人正在用IE,就推荐firefox,并强行给别人安装;看见别人用Webmail,就强行推荐客户端类软件foxmail;看见别人用暴风播放器,就评论说那是垃圾,赶紧换kmplayer。。。更厉害的,看见别人用百度,就叫嚷着快换google,谷歌都不要用!

这多少有一点矫枉过正,向他人推荐自认为优秀的软件无可厚非,但是将自己的习惯和想法强加在别人身上是否正确?我更加愿意将这些人看做是偏激狂。

按照经济学观点,每个人的偏好是非理性的——反映在软件使用上,主要是看个人喜好、习惯和需求层次。最浅显的例子就是浏览器之争:有人喜欢IE,因为桌面就有;有人喜欢firefox,因为firebug和其他插件;有人喜欢opera,因为从6.0就一直在用了,更因为op原生支持IRC。。。

网上总是能够看见firefox或opera比IE优秀的言论(各种论坛里常见),可是并不是所有人都需要firebug、IRC,绝大多数人乐此不疲的Ctrl+Tab切换IE窗口并已经习惯了,而且似乎很多人下载安装了fx后第一时间就卸载了!

或许在你好心地“强奸”完别人的各种软件后,等你转身离开,你乐于帮助的对象马上就会换回自己的软件。
所以请平静的对待vista和xp、ie和fx、maxthon和tw、暴风和kmp、百度和google

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年11月17日星期一

放开油价管制还是适当放开市场?抑或同步进行?

关心国际金融或是能源的朋友可能发现,国际市场上现在的原油价格已经快只有最高时(147.27美元/桶)的1/3了,加上对未来需求的预期减少,回到50美元/桶以下指日可待。对比而言,国内油价严重滞后,几大垄断商还继续维持高位价格,令得中国油价在国际上“鹤立鸡群”!

以美国为例,现在油价为1.89-2.13美元/加仑(最低甚至有1.79美元/加仑的),以平均数值2美元/加仑计算,折合成人民币是3.6元/升,这个价格还包含了直接对消费者征纳的30%的燃油税(中美税制不同),所以实际价格2.52元/升,别忘了,美国人还不用交养路费等。而国内油价依然坚挺,具有可比性的是海南的油价(只是因为海南同样不交养路费,并非刻意取最高价格):93#汽油7.56元/升(97#是7.99元/升),是米国的300%。

再看看台湾,其进口石油约占98%的比重,本月初(11月1日)的油价是23新台币/升,折合人民币4.76元/升,比大陆低很多。而台湾的油价实行每周5调价,次日执行,与国际挂钩,现在距离月初已有2周时间,估计价格会更加实惠!

所以应该放开油价管制了。国际油价高,如果国内价格时时浮动跟着高涨,需求减少,自然价格会回落,这是市场基本规律。若是强行价格管制,自然有人觉得便宜,当价格偏离市场,尤其是低于市场较多时,会引来更多的追逐,只要一天不放开价格,需求永远虚增,反映到世界市场上,价格越高,需求越多——价格就越来越高。(要是中国是世界最大的石油进口国,看看你敢不敢价格管制!)石油垄断企业越亏得厉害,自然哭得越凶,最后政府要不要表示一下?

国际油价低的时候的情况,不放开管制,任凭垄断企业赚取差价,吃亏的还是群众。现在油价跌了这么多,之前中石油中石化亏的也早就赚回来了,就算政府表示了一下,也有点过了。现在是赚取200%多的超额利润,按照马克思主义经济学原理,这比卖毒品还赚得多!

当然要是只单单放开价格管制,而不引进新的市场竞争机制,几个寡头一商量,继续抬高油价,大家也得照买啊。
放开油价管制要和开放市场同步进行,至于程度的多少由政府来掌控吧。

决定要做比如何去做还要难吗?金融业可以适度放开,能源领域也应该更早应该适当放开!

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年11月16日星期日

”女白领突击怀孕 躲避金融危机裁员“新闻我的看法

网上看到一则新闻——”女白领突击怀孕 躲避金融危机裁员“,链接:在新窗口中查看

我只能感叹,做这个选择都是非常不智的。公司要裁员,你怀孕与否并不重要:
  1. 公司打算裁掉你,怀孕只是拖了一点时间,假期过完该炒就炒——等到你生完孩子发现自己马上失业,就欲哭无泪了,耍小聪明是损人更害己
  2. 要是公司到了生死存亡之际,管你怀孕不怀孕,现在就直接炒掉!赔钱赔名声还管得着吗,在窘迫的时候宁愿赔钱也要送走孕妇,不然债务更多。。。
  3. 要是公司原本不打算裁掉你,结果你专门在困难时期怀孕,不干事还要拿薪水,主管怎么想,办公室和同事的人际关系以后怎么处理?
这时候换一个做法,别人都怀孕了,你却加倍在认真做事——冷暖自知。有时候自作聪明往往干的都是傻事。人在职场,若只顾及利益而忘却人性,会输得一败涂地。无论是外企还是国企都是一样,人性总是不变的。加强人际协调有时候不比提高自我竞争力来的差

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年11月14日星期五

完达山退出并购三鹿

之前看到三元和完达山要并购三鹿的消息,第一反应就是这两家公司找死。后来一想,别人是真高明:打着并购的幌子,干着并购的行动,但就是不签并购协议。

三鹿到现在这个份上,明眼人都知道是活不了了。存货卖不出,银行不给贷,企业赖以生存的现金流已经是“皇帝的新装”了;而且还背着不知道的负债——死了三个baby,几千个住院等着打官司(前不久赔了一个几百万,接下来的几千个几百万还逃的掉吗?别说后遗症的赔款呢,那是无底洞啊!)——谁敢并购您老人家?光是未来未知的负债就让人退步三舍。。。

现在三鹿唯一还有价值的只剩下有形资产了:员工、厂房、生产线等。估计完达山和三元协商好,拿到自己想要的,拍拍屁股走人了。至于三鹿的历史遗留问题,就看三元吃不吃得住了,聪明一点的买完有形资产走人,也算解决了一大部分人下岗失业的问题,留下三鹿清算破产,让政府解决后续问题;不太灵光的,被政府允诺的贷款牵着鼻子走,最后“成功”并购三鹿。。。

再说国内的奶制品行业——消费者失去了信心,就意味着产品卖不出好价钱,冒着大的风险来成本扩张——高风险高收益啊,为了避险还是量力而行,不要从银行贷款来做并购。否则资金链一断,实业很难翻身。

话说回来,要是有政府明确支持,倒有可能是双赢——在经济不景气的时候,企业融了资,银行放了贷。关键还是那些婴儿怎么解决医药费问题,企业来掏钱就是双输,政府来掏钱皆大欢喜——本来就是政府监管惹出来的问题,自己给自己搽屁股天经地义

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年11月13日星期四

真有4万亿吗?

上周日,政府工作会议就提出4万亿的经济刺激政策。可是联系最近的货币政策和财政政策——“积极的财政政策和较宽松的货币政策”,再加上今年的财政预算和上半年的实际财政盈余数字,不难得出一个结论,4万亿恐怕最多是1万亿。

上半年财政盈余11926.17亿,根据往年的经验和规律——下半年财政收入减少而大部分的财政支出会发生在下半年——用于此次挽救信心的财政支出所谓4万亿可能更多旧的预算支出,完全新的绝对不会超过1万亿,因为我国从来好像从来没有预算出较大的财政赤字过,这次也不例外。

积极地财政政策是比较而言,政府因为财政大量盈余,有了积极财政政策的资本,但救市的资本不会超过财政盈余,除非央行愿意发债,可是这又被宽松的货币政策限制住了。

首先强调的是,政府要执行较为宽松的货币政策是在需求下挫的情况下而言的(从绝对数字来看,M2增长同比放慢),对总需求的影响会高于预期,理性的通货膨胀压力强于通货紧缩。央行最近的国债、票据收益率下行80多基点,这就意味着可能会有不少资金进入商品市场,而国内、外需求减弱,容易导致稍多的通货追逐稍少的产品,但是国际原油及原材料成本的巨额下行应该影响更大。国内近期金银、部分期货价格会回暖,但是长期的看,整个世界贸易的萧条会导致价格最后走低把?唯一能肯定的,接下来几个月CPI绝对稳定降下来。

还是老话重提,既然都愿意高调地4万亿刺激市场以及增加出口退税,何不直接大规模减税来的面广?现在是11月中旬,约还有一个季度就清缴税收了。。。

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年11月6日星期四

多级CTE快速获得数字表的效率分析

/*
读SQL05技术内幕的时候看到一段迅速取得连续数的代码,如1-1亿
对源代码有改动
*/
with
L0 as
(select 1 as c
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1
union all select 1),
L1 as (select 1 as c from L0 as a,L0 as b),
L2 as (select 1 as c from L1 as a,L1 as b),
L3 as (select 1 as c from L2 as a,L2 as b),
nums as (select row_number() over(order by c) as n from L3)
select count(*) from nums
/* 当然也可用下面的查询语句,但请务必记得选上丢弃结果选项,否则太耗时间
select n from nums
End 截至此处代码完毕*/

在自己的机器上大概2s中就能完成上述过程,之后就想这里用了三级CTE才做到,要是在一个CTE中对上一级CTE做多级交叉连接,就可以减少级数,那么随之带来的效率呢?

经过对查询计划的分析和验证,得出以下结论:
在上述代码中,L0中有10行,每个CTE做一次交叉连接,共有三级CTE,那么最后的max(n)=10*exp(2*exp3),在查询中进行了15次交叉连接;
更一般的:
对于L0中有M行数据,每个CTE中有N个表,共k级CTE,那么最后的max(n)=M*exp(N*expk),查询中共进行k*exp(N+1)-1次交叉连接。

所以,要更加快速的更大的n,可以把M取大一些(这不是一个好提议,会有大量的重复代码),N取小一些,K视需要来定。
比如同样要得到最大为10*exp64的数字表,有至少如下两种方案:
1 N取4,k取3,交叉连接255次
2 N取2,k取6,交叉连接127次
--也可以令M=100,N=2,k=3,不过代码会大量重复
显然后者更加优秀

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年11月4日星期二

另一个角度看中国的税负

金融危机到来让我更加肯定自己原来的观念,那就是中国的税负太重。

美元的持续走低,在一定程度上会变相的促使人民币升值从而推动通胀,但是中国一直以来的巨大外汇储备,带来的直接后果:

首先是国内财富净流出。美国人喜欢消费,储蓄率甚至小于0,他们更加偏爱从银行贷款提前消费,于是美联储将他们的借款打包成国债(当然也有财政赤字的原因)。与此对应的是,我国央行一直以来的对美国债的巨量持有和贸易顺差,再加上国内高达50-60%的惊人储蓄率,使得国人的储蓄实际上成了米国人的负债。这种情况似乎应该反过来才正常,不然就好像一个穷人不断的借钱给富人,而且钱的数量越来越多。有些滑稽。。。

1.5万亿的外汇储备还在增长,央行要定期对冲外汇占款,或增发国债或发行央行票据。先来分析一下两种方式,国债的融资对象是个人,而票据的对象是各大商业银行和金融机构。发行票据等于从各商业银行吸纳货币,在经济不景气时必然导致放贷困难,资金紧缩,市场流动性减弱。对个人而言,购买国债可以算作投资,虽然市场上通货会减少,可是不会像银行同业间通货减少的危害大。

再来看看央行近年来的政策,两者都有发行,但规模就不可同日而语。国债市场规模在个位数上徘徊,央行票据倒是稍大一点,但是远远不能达到对冲外汇占款的程度。

为何央行不愿发国债或多发票据?
答案可能很简单:税收收的太多
  1. 我国近两年来财政大量盈余,今年上半年更是不可思议的巨额财政盈余,导致了想发国债却发不了窘境。国债能够大规模发行的首要条件是财政赤字,这样才能把负债打包出卖,财政盈余怎么打包债务!
  2. 那么为何不愿意多发央行票据?发票据相当于自己创造负债,夸张的说的就是赚了钱还要去借高利贷,那是要还利息的。央行每年要为票据支付的利息约是2、300亿。央行又不傻,为何多发

当然,说中国现在税负重,缺少详实的的数据和严密的论证,多少有些武断。到底重不重,见仁见智,欢迎讨论。

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年11月2日星期日

SQL中生成随机数

SQL开发中会有生成随机数的需求,下面说几种常用的需求和解决办法,最后总结出通用的办法:

1、0-9间的随机整数,包括0和9本身:
abs(checksum(newid()))%10

扩展从a-b间的随机整数(a,b本身也是整数):
a+abs(checksum(newid()))%(b-a+1)

2、0-1间的随机实数:
rand() --或是
rand(checksum(newid())) --推荐使用后一种。

由此扩展从a-b间的随机实数:
a+rand(checksum(newid()))*(b-a)
注意上面的取法使得取值范围(a,b],若是想要取得(a,b),可以采用下面的表达式
a+rand(checksum(newid()))*(b-a)*0.99999 -- 此处0.99999可以更换为0.999999999,精度根据需要来取

PS:其中的rand() checksum() newid() abs()等函数请自行查阅联机丛书或google


原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年11月1日星期六

牛逼的GFW,深深的敬意

一如既往的打开blogger,发完帖子查看blog时却出现了访问不能的错误。第一反应是网速太慢,刷新多次还是不能访问,脑子里突然就闪过一个念头:

blogspot再次被和谐了?离上次被封的时间还算蛮长,已经习惯了能够随意浏览blogspot的页面;不过之前就习惯了被封来封去的BS,可是这次被封毫无征兆,似乎最近没有大的事件啊,反正我很诧异就是了!不知道下一次解封会是什么时候——google与政府部门交涉的公关能力不够啊

好在俺的翻墙功夫一流,早在校园网时代就天天如吃饭般地绕过GFW;墙外的blog一切正常
——郁闷了。不过,对于我的大部分朋友,他们算是暂时告别了我的部落格。囧

:( 没有心情,就暂时写到这里

2008年10月31日星期五

令人无语、恶心的迅雷

我试图不带任何感情色彩去写下这篇日志,但发现是多么的困难——迅雷,你真的让我无语了。按照鲁迅先生的原话“已经出离愤怒了”

以前下载一直使用经典的flashget1.73版本(之后的版本那个广告也太多了,多到我刚装上就卸载掉),最近想换换口味,装上了ayu去广告的迅雷。结果今天开机后发现CPU始终占用率99%,我就纳闷难道我也会中毒或是木马?

打开任务管理器一看,nod32的进程独占99%,估计是扫描硬盘的定期计划任务吧,就没太在意了;原以为半个小时能够扫描完,结果上网浏览非常困难,实在受不了于是打开nod32的监控,发现不停地在扫描一个exe文件;打开outpost也发现迅雷打开了500多条连接——迅雷已经完成下载任务,现在空闲啊。

仔细查看那个exe文件的信息,是前段时间下载的游戏安装文件约570M。难道就是传说中的迅雷的偷偷上传——把迅雷彻底关掉再用outpost一查,果然500多条连接没有了,nod32也马上变为0%的CPU占用。

神啊,原来以为迅雷只是偷偷上传BT任务!原来这仅是我的一厢情愿,原谅我的天真,阿门!你不仁,我不义,网上下载一个迅雷喊疼工具xldiy,把迅雷阉割掉。你偷传得也太WS+YD了,迅雷大叔!你偷偷上传就算了,还上传得这么嚣张;嚣张就算了,还害得我差点以为中招。

若迅雷在安装协议里面涉及了相关条款,我就认了是我粗心,迅雷你狠!要是没有,我要对迅雷开发者和市场运营者说一句:代我问候你全家人!你们生的XX没有排泄器官!

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年10月28日星期二

温家宝:多项措施保国内经济增长(讲话全文)

注:红字部分为笔者标注,但是扩大内需还是没有有效的政策工具,情况依旧
国务院的总理温家宝,星期一晚间抵达俄罗斯之后,对中国驻俄使馆人员发表讲话,他指出应对全球金融危机,中国适时调整了宏观经济政策,并且将坚决贯彻扩大内需的方针。

温家宝:大约在今年6月份,我们就调整了宏观经济政策,实行了(领导)经济政策以应对世界出现的金融危机,例如我们两次降低利率和下调准备金率,我们适时的两次提高出口退税率,特别是最近这一次,我们提高的出口退税率,达到3400多项,占整个对外出口商品的25%。

我们还提出了大约十项扩大内需的措施,包括增加低收入者的收入,提高最低保障费的水平。大家可能不一定注意的一件事情,就是我们把农村的发展和农民生活的提高摆在了突出的位置。
大家知道我们粮食五年连续丰收,今年还可以创历史最高水平,也就是超过就是1.03万亿斤,我们历史最高的水平,这样我们一方面把人们吃的问题解决了,通货膨胀占有较大比重的食品价格连续几个月下降,到九月份我们的消费物价指数已经降到4.6%了

另一方面,我们又提高农民的粮食的最低保护价,因为我们粮食市场是放开的,说起来也怪,前一段世界粮食紧缺价格上涨,这一段粮食又下跌,在这种情况下,我们必须把粮价扶起来,大约最低把物价提高10%到15%。一方面稳定了农业的基础;另一方面提高了农民的收入。手中有粮,心中不慌,13亿人口的吃饭问题和基本生活问题,就可以得到解决。

第二我们一月份到九月份,这三个季度,虽然外贸出口有所减少,就是增长幅度有所减少,但是我们的企业韧性很大,在极端困难的情况下,外贸的增长还是达到20%以上,说起来也是个负担,9月份的外贸顺差又创历史新高,10月份前20天,我把数字从外关又调出来,前20天顺差已经达到291亿。

我昨天看了一篇《新华社》的内参,那篇内参就写,浙江省绍兴市纺织城纺织服装行业如何应对金融危机,我看后,非常的受鼓舞我就写了一段话,我说在世界金融危机这种寒冷的侵袭下,这则消息给我们带来了温暖的气息,我说中国的纺织服装业是支柱产业,国家应该给予支持,我们的企业也一定能够克服困难,渡过难关,得到更大的发展和提高当然这就需要创新,来提高竞争能力,今天《人民日报》把这篇报导登了。

其实像这样有韧性的企业很多、很多,我们准备认真贯彻扩大内需的方针,外部需求减少了,你比如说我们的汽车很好,物美价廉,像新锐牌子,但有些国家就不让你进,那么我们自己就想法扩大内需吧,是坚决贯彻扩大内需的方针,特别是扩大消费需求。

我可以跟同志们讲,我们具备这个条件,很多国家不具备这个条件。为什么呢?因为中国有13亿人口,收入分配不均衡、地区发展不均衡、城乡发展不均衡,我们广大的农村还有很大的发展潜力、还有很广阔的市场,包括我们的中西部地区,我们可以很快的推出医疗医药卫生体制改革,跟大家说一声,我们没有宣传的太好,其实我们方案做的不错,我们有五个具体方案,而且财政已经留了700亿在那儿放着,就是要解除群众的后顾之忧,使大家敢于花钱继续消费,这是时候了。我们还有不少矿山的工人,住在(蓬户)区,我们可以实行大规模的(蓬户)区的改造,我们应该很好的落实保障用房建设的制度,(租建)廉租房、经济适用房,满足群众的要求。

我想我们想做的事情很多,包括我们的铁路,新开通的京沪线在保证质量的前提下可以加快进度,最近我们在新疆又开了几条铁路新线,我们的南水北调工程,最近国务院决定要加快进度,我们原定三年要基本实现的灾区重建目标,要花一万亿,我们可以推进让它提前实现,这些都是中国的内需,是外国不具备的,因此我常讲,我说我们的回旋余地大。

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

三张图片:很黄很暴力,很好很强大,很傻很天真

第一幅图:很黄很暴力

第二幅图:很好很强大
很好很强大
第三幅图:很傻很天真
很傻很天真

让我感叹的一则新闻

今天看到一则新闻,让我震惊了一会。新闻标题及链接如下:
浙江明年底前取消暂住证制度 实行居住证
如果政策能够实施到位的话,那么意味着在浙江的外省打工人员将减轻很大的负担。
  1. 首先是医疗和社保。在有正式合同的前提下,打工者不会再被区别、歧视对待;
  2. 子女读书问题。中国是非常奇怪的,越穷读书反而越贵!很多夫妇把孩子带在身边,方便在打工的时候照顾,往往孩子读书就成了大难题:户口问题,择校金问题,赞助费问题——外来人员子女的读书基本支出是相当庞大的开支。
不过中国往往“上有政策,下有对策”,再说这项政策实行起来不需要到明年底吧,效率可以提高一些。不过这样一则新闻还是让人非常感叹和振奋,值得拭目以待,希望到2010年不会忘记此时写过的这篇博文。

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

2008年10月27日星期一

游标的效率以及case的妙用

此文章并非原创,但是注释部分是笔者自行添加的.

CREATE TABLE [#tmp](px int IDENTITY(1,1),value int)

大约有10000条记录,value 字段是一个随机的值,现要求是输入的一个值M,要找出前N条记录,且N条记录value的总和刚好不大M(意思是再多一条记录都会大于M)。

要求:语句运行时间要求在1秒种内完成
/*最后实验的时候我自己使用的50W条数据的记录,M值也取得很大*/

示例数据为:
px value
----------
5 5
4 12
7 9
1 3
3 6
6 23
2 15
则,录入20,找出:
px value
----------
1 3
2 15

1、
select a.* from #tmp a where (select sum(value) from #tmp where px<=a.px)<=@m --此法选数据其实很快,但却是流水作业,因此效率不高.结果在50W条测试数据的压力测试下,整个查询历时2m41s,与效率要求相去甚远 2、 于是,转而通过遍历表的方式实现查询: declare @px int,@s bigint,@m int set @s=0 set @m=20 update a set @px=case when @s<=@m then px else @px end, @s =@s+value from #t1 a select * from #t1 where px<@px order by px --此法对log有很大影响.虽然在50W条测试数据的情况下,效率基本满意,但是又出现了新的问题,一旦px字段不是按升序排列,查询的结果就不正确 3、 declare @px int,@value int,@sum int,@m int,@px1 int set @sum=0 set @m=20 declare t_cursor cursor for select px,value from #tmp order by px open t_cursor fetch next from t_cursor into @px,@value while @@fetch_status=0 begin if(@sum>@m)
break
set @sum=@sum+@value
set @px1=@px
fetch next from t_cursor into @px,@value
end
close t_cursor
deallocate t_cursor;
select * from #tmp where px<@px1 order by px;
--此法效率很高,但是看执行计划是非常非常慢的.起码说明了游标在特定情况下是有效率的,除了select * from tb

4、
declare @px int,@s int,@m int
set @s=0
set @m=20
select
@px=case when @s<=@m then px else @px end,
@s =@s+case when @s<=@m then value else 0 end
from
(select top 100 percent * from #tmp order by px) a
select * from #tmp where px<@px order by px
--效率很不错,其实是对方法2的改进
--利用case语句将update巧妙地换成select:@px=case when @s<=@m then px else @px end这句,select @px=@px其实是结束

2008年10月26日星期日

单一记录表的主从记录查询

/*数据库的需求真是千差万别,今天遇到的要求比较奇怪,客户数据库是2k版本*/

--测试数据,从数据来看是原来设计者没有考虑周全,主从关系最好设置两个字段sid(SelfID)和pid(ParentID)

if not object_id('tempdb..#T') is null
drop table #T
if not object_id('tempdb..#') is null
drop table #
create table #T(id int identity(1,1),name char(3),state char(4),time char(8),value decimal(5,2))
insert into #T
select 'AAA' as name,'PASS' as state,'20081023' as time,null as value union all
select 'FGH','FAIL',null,88.9 union all
select 'GHE','PASS',null,32 union all
select 'ABC','FAIL','20080930',null union all
select 'WRH','FAIL',null,2 union all
select 'BBB','PASS','20080101',null union all
select 'CCC','PASS','20080101',null union all
select 'ERT','PASS',null,33
go

--将初步的数据插入临时表#
select a.id,a.name,a.state,a.time,b.id as subid,b.name as subname,b.state as substate,b.value into #
from #T a left join #T b on a.value is null and b.time is null and a.idtb.id)

--results
AAA PASS 20081023 FGH FAIL 88.90
AAA PASS 20081023 GHE PASS 32.00
ABC FAIL 20080930 WRH FAIL 2.00
CCC PASS 20080101 ERT PASS 33.00

/*上述部分是老需求,现在要把没有子节点的父节点选出来
试验了很久,最终还是只有用cursor,以后有好方法了再更新吧 */

if not object_id('tempdb..#T') is null
drop table #T
go
if not object_id('tempdb..#') is null
drop table #
go
create table #T(id int identity(1,1),name char(3),state char(4),time char(8),value decimal(5,2))
go
create table #(name char(3),state char(4),time char(8),subname char(3),substate char(4),value decimal(5,2))
go
insert into #T
select 'AAA' as name,'PASS' as state,'20081023' as time,null as value union all
select 'FGH','FAIL',null,88.9 union all
select 'GHE','PASS',null,32 union all
select 'ABC','FAIL','20080930',null union all
select 'WRH','FAIL',null,2 union all
select 'BBB','PASS','20080101',null union all
select 'CCC','PASS','20080101',null union all
select 'ERT','PASS',null,33
go
--select * from #T

declare @id int,@time char(8),@name char(3),@state char(4),@value decimal(5,2),@px int;
set @px=1;
declare tb_cursor cursor LOCAL FORWARD_ONLY KEYSET READ_ONLY for
select id,time,name,state,value from #T
OPEN tb_cursor
FETCH tb_cursor into @id,@time,@name,@state,@value

WHILE @@FETCH_STATUS = 0
BEGIN
--是父节点,而且与上一父节点不相连
if(@time is not null and @id-@px<>1)
begin
set @px=@id
end
--是父节点,与上一父节点相连
else if (@time is not null and @id-@px=1)
begin
insert into # select name,state,time,null,null,null from #T where id=@px
set @px=@id
end
--子节点
else
begin
insert into # select a.name,a.state,a.time,subname=@name,substate=@state,value=@value from #T a where id=@px
end

FETCH tb_cursor into @id,@time,@name,@state,@value
END

--关闭并删除cursor
CLOSE tb_cursor
DEALLOCATE tb_cursor

--查询语句
select * from #

--result
AAA PASS 20081023 FGH FAIL 88.90
AAA PASS 20081023 GHE PASS 32.00
ABC FAIL 20080930 WRH FAIL 2.00
BBB PASS 20080101 NULL NULL NULL
CCC PASS 20080101 ERT PASS 33.00

/*终于有了BBB这条记录*/
BBB PASS 20080101 NULL NULL NULL

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

XP开关机速度慢的原因及解决办法

电脑用久了自然变得越来越慢。尤其开关机时要花费5-6分钟甚至更多,这是无法让人忍受。

开机速度的问题。

主要是加载的程序及服务多少引起的问题,可以分别通过msconfig工具和net start命令行来修改,不再赘述。还有一些情况明明开机没有几个程序和服务偏偏慢的要死,这就是user profile的问题,MS有开机预读的技术,随着时间的推移,user profile越来越大,冗余或无效(卸载后有残留信息)文件多,需要用到ccleaner/优化大师/超级兔子等第三方工具来删除,然后再借用Bootvis这个MS官方工具来追踪并优化开机速度,具体的软件、工具请自行google

关机速度的问题。

由于关机是windows需要保存程序及服务信息以及整理页面文件,可以人工干预的不多,可以尝试手动关闭所有程序然后关机(一些非核心服务或程序拥有自我保护机制的可以采用命令行ntsd -c q -p PID强行结束)。

或是借用任务管理器+Ctrl来瞬间关机。不过MS出过一个官方的关机补丁UPHClean,作为服务常驻内存,能大为缩短关机时间。笔者原来关机需要接近一分钟在出现注销画面,使用该补丁后仅需4s。

原创文章若转载请注明:转载自imac的博文@http://imac-macheng.blogspot.com/

SQL日志清理总结

先是一种复杂的方法压缩日志及数据库文件如下:

1.清空日志
  DUMP TRANSACTION 库名 WITH NO_LOG (在2000以后的版本直接进入第2步,即可清空事务日志)

2.截断事务日志:
  BACKUP LOG 数据库名 WITH NO_LOG

3.收缩数据库文件(如果不压缩,数据库的文件不会减小
  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
  --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  也可以用SQL语句来完成
  --收缩数据库
  DBCC SHRINKDATABASE(客户资料)
  --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
  DBCC SHRINKFILE(1)

4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
  a.分离数据库:
  企业管理器--服务器--数据库--右键--分离数据库
  b.在我的电脑中删除LOG文件
  c.附加数据库:
  企业管理器--服务器--数据库--右键--附加数据库
  此法将生成新的LOG,大小只有500多K
  或用代码:
  下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
  a.分离
  E X E C sp_detach_db @dbname = 'pubs'
  b.删除日志文件
  c.再附加
  E X E C sp_attach_single_file_db @dbname = 'pubs',
  @physname = 'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs.mdf'

5.为了以后能自动收缩,做如下设置:
  企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
  --SQL语句设置方式:
  E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE'

6.如果想以后不让它日志增长得太大
  企业管理器--服务器--右键数据库--属性--事务日志
  --将文件增长限制为xM(x是你允许的最大数据文件大小)
  --SQL语句的设置方式:
  alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)

特别注意:
  请按步骤进行,未进行前面的步骤,请不要做后面的步骤
  否则可能损坏你的数据库.
  一般不建议做第4,6两步
  第4步不安全,有可能损坏数据库或丢失数据
  第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.

另外一种更简单的方法,本人屡试不爽,建议大家使用。
更简单的方法:
  1. 右建数据库属性窗口--故障还原模型--设为简单
  2. 右建数据库所有任务--收缩数据库
  3. 右建数据库属性窗口--故障还原模型--设为大容量日志记录
最后一种方法,定期备份日志,定期删除