Friday, March 26

dev-club上有一个让开心就好FT的问题
其实题目的本意是希望能够方便地调试存储过程,希望能将存储过程的执行log打出来。
照我的理解
由于存储过程编译执行的,内部处理不是简单的字符串置换,是无法实时输出完整的执行SQL的。
sql server内部有一个fn_get_sql函数,可以得到当前告诉锾存里的sql文,这个sql应该只是你的调用命令,而不是解析以后的存储过程内容。

如果希望在存储过程里输出一些信息到客户端以方便了解存储过程执行了那些条件分枝,可以使用PRINT命令。PRINT出来的结果,在客户端可以通过SqlException的Errors分别得到。每一行PRINT都会形成一个SqlError存储在Errors这个集合里。
但是这些信息只有发生SQL异常的时候才能得到,如何没有发生异常也得到调试信息,我不知道。
你知道吗?

Thursday, March 11

注意SIZE
对于一个严格的项目来说,画面的大小,颜色,所用的字体等等细味的地方都是有要求的。
今天遇到一个恼火的问题:我用VB.NET开发了10几个winform,按照设计规约设置了form的属性,包括字体,ControlMenu和size。这些属性都可以在design模式的属性窗里指定,真是很方便的。而且我还使用了form的继承这一技巧,使这10几个form的外观都一致。今天遇到的问题是我的程序拿到另外一台机器上,打开项目,一查看我设置的属性。为什么size都不对了呢???这真是一个涉及个人名誉的严重问题。这么点小事情也做不好可不行啊。

调查开始了.....(省略若干字)

答案:
在VS是根据我的设定生成的代码里根本就没有size这个属性,只有ClientSize。

MSDN上说窗体工作区的大小是除边框和标题栏外窗体的大小。窗体的工作区是窗体内可放置控件的区域。当执行图形操作或调整窗体上控件的大小和位置时,可以使用此属性获取正确的尺寸。若要获取整个窗体的大小,请使用 Size 属性或使用单个属性 Height 和 Width。

而这个size是根据windows的desktop设置决定的,你的windows使用不同的theme,不同的字体大小都会影响一个form的边框大小和标题栏大小。VS的生成程序聪明地用你指定的size减去当前的边框大小和标题栏大小,只需要记住clientsize就可以了。可是用户可是只能设置size啊,这样的在不同的theme下按照同一个开发约定开发出来的form大小就可能不一致。

这是一个BUG???我认为是。
重粒子@请去朝圣的MVP们转达民情。



Thursday, March 4

动机与价值

思归总是成为引导话提的先行者。
无论是理想主义也好现实主意也好,人类最基本的生存原则都是无法违背的。
小气的神的随笔"可能性 vs. 必要性"里有几句话给我留下了深刻印象:
"
人们若不是因为可能得到某种利益而行动就是因为他不得不这么做
人们看待事情的角度若不是以对自己是否有影响作为判断依据,就是以是否会对他人造成影响作为依据
人们做决定不是为了感受快乐就是为了逃避痛苦
"
编写程序使的程序员获得了快乐,这种快乐来自于人类本性。很小的孩子就知道在沙滩上建造城堡获得这种快乐,他使人有成就感,驾御心,驱动你去学习,从而获得魔术般的力量。
free的思想倡导我们将自己获得的快乐无偿地与人共享。商业的头脑则认为这不应该仅仅是快乐,而且也是财富,别人要获得它,就要做出等价交换。

我是倾向于后者的。曾经有人通过msn向我咨询一个商业系统的设计思想,那个系统每年为他们的公司创造几百上千万的利润,可是系统越来越庞大,开发人员换来换去,没有一个坚固的程序框架,意用性,扩展性都很差。那时候,我突然意识到不能无常地告诉他。针对他个人我只能告诉他去读什么书,看什么samples。针对公司,我就应该通过讲课的形式或者某种其他形式获得应有的报酬。那是一次思想的突变。个人的交流是相互学习的过程,单向的无偿请教则是培养懒惰的途径。

ms是最好的商业思想学习榜样,gates从一开始就认识到了正确的商业模式。给无数的人带来快乐的同时,自己也获得了巨大的财富。没有免费的午餐,但是有永远的谎言。linux是另外一种商业模式,而且是一种建立在谎言基础上的模式。redhat,ibm这些公司几乎是无偿地使用了无数为linux奉献过的头脑。他们遵循协议,公开source,他们是通过读懂或者会使用别人编写的代码来来获得利润。那些写code的人是没有报酬的。这是什么样的逻辑???
open source的自由风格影响ms这样的商业公司,使的他们明白商业的目的是要满足和提供给人们快乐,无论那是通过怎样的形式,获取最大的价值是不变的主题。

我们来看看ms发动mvp活动的动机是什么?
MVP往往是某个领域的专家,他们拥有自己的个人魅力和事业,对他们的关怀,免费提供各种好处,只需要很小的代价,就可以将ms的影响通过他们扩散到他们的周围去。
这种彼此愉悦的活动真是最好的商业举动。

MVP们不断帮助人的动力是什么?
是MVP的名誉?错
是他们的内心可以从帮助人这件事获得愉悦。因为这种举动证明他是有用的人,是可以影响别人的人。
倡导open source的人们其实同样是为了获得这种感觉。只不过没有一个ms这么大的公司去鼓励他们,给他们MVP这样的名号而已。

在很久以前听到"没有永远的朋友,只有永远的利益"这句话的时候,我才知道什么是社会。

重粒子@动机决定行为,行为决定价值


评论
# 回复: 动机与价值 3/4/2004 12:16 PM saucer
呵,好像是骂我?:-) 我同意你的观点,我感觉很大程度上这有点类似资本主义与共产主义之争 其实我很讨厌跟人争论,世界上很多事情不是黑白分明的,但经常地,有人喜欢把问题极端化,上纲上线,或者get personal,肆意骂人,就是平常温尔文雅,很讲道理的人,一涉及某些问题,就会变得非常偏执,“宗教性”,所以我往往敬而远之
# 回复: 动机与价值 3/4/2004 12:39 PM rIPPER
Zealot's zealotic zealotry.
# 回复: 动机与价值 3/4/2004 12:56 PM Daily Linux User
>gates从一开始就认识到了正确的商业模式。 >linux是另外一种商业模式. IMHO 应该说 Gates认识到了软件商业模式 RMS认识到了非商业模式 RedHat/IBM认识到了利用RMS的非商业模式的产品作为工具的商业模式 It's all about choices, RMS dont want to kill all businessman and rule the world (or does him?:-P), he just want to provied another choice.
# 回复: 动机与价值 3/4/2004 1:07 PM Daily Linux User
那些写code的人是没有报酬的。这是什么样的逻辑??? 有句话咋说?有钱难买我愿意啊 首先是Linus自己愿意用GPL发布的,又不是受了某商人之欺骗,被带沟里去了,而商人们按照游戏规则以此获利,也本来就是题中应有之意,难道Linus是白痴?或者难到他对他没有挣到产品带来的利润之大头发表过什么怨言? 那么谎言又在哪里?
# 回复: 动机与价值 3/4/2004 1:47 PM rIPPER
支持free 和 open soure的也不是个个都支持rms。不如就不会出这么多licence了。 再有了IBM这帮家伙的做法也没有什么啊,人人都可以卖GPL的东西,有本事把个发行版卖到x万刀,xx万刀都可以啊。 linux没有什么商业模式,所谓商业模式总是某个公司弄出来的。 很多玩free的人,动机大概就是为了fun。
# 回复: 动机与价值 3/4/2004 1:54 PM Daily Linux User
嗯,俺最开始收藏这个站就是因为JoyCode 开心就好 这样的名字实在太对俺胃口了
# 回复: 动机与价值 3/4/2004 2:13 PM DBlue
Linux之父出了一本书:Just For Fun(只是为了好玩,或云《乐者为王》)。 Linux本来就是为了一种乐趣存在。 而微软一开始就是为了商业利益存在。 而任何东西都有两面性,你说是吗?
# 回复: 动机与价值 3/4/2004 2:22 PM Daily Linux User
《乐者为王》 这名字停上去还是太有争权夺利那意思哈. 还是 开心就好 比较^^^^
# 回复: 动机与价值 3/4/2004 2:28 PM rIPPER
让人恶心的是有人一边在linux身上“施暴”,一边指责微软把他家大老婆windows和小妾office、各类server们锁在家里,不给大家一起爽。
# 回复: 动机与价值 3/4/2004 2:45 PM 丰腴者
rIPPER搞笑,有意思
# 回复: 动机与价值 3/4/2004 4:07 PM mvm
"微软一开始就是为了商业利益存在" 没办法啊,熙熙攘攘,皆为利往。 不过我觉得微软的程序员们——甚至包括我们这些做商业软件的,都是同时为了利益和个人成就感而存在的。 邵一波(大概不是这样拼的)做eachnet,一开始的动机是觉得国内没有拍卖网站不爽。当然,也开始也想到赚钱了。 两个动机都有。 我们应该承认人有私欲——私欲包括成就感,包括通过帮助别人带来的自我价值的实现,包括通过被别人admire带来的一种愉悦,包括通过自己的聪明才智和劳动换来物质的享受。都包括。 所以我觉得大家各取所需好了。总有一部分人很不看重物质享受和财物收入,那么他们完全可以按照自己的意愿搞free、搞open。但他们应该更兼容并包,不能搞排斥,不能自己搞了open和free,就认为commercial的是魔鬼、是异端邪说。 市场经济最大的特点就是一个愿打,一个愿挨。这是市场经济运作的基础。包括“看不见的手”在内,都逃不开这个道理。open/free soft和commercial的也是,一个愿打,一个愿挨,各取所需。open/free的支持者不应该把差异上升到伦理的高度——不要去讨论“好不好”。“好不好”是个伦理问题,是一生一世争论不休的——你说堕胎好还是不好? 我就感觉open/free的一些支持者过于狂热、排斥,视commercial为异端——这里的commercial当然不止microsoft/windows。Websphere也是commercial的,Photoshop也是commercial的,Dreamweaver也是commercial的,Counter Strike也是commercial的。 那么多游戏都是commercial的。commercial soft是美好生活不可或缺的重要部分。
# 回复: 动机与价值 3/4/2004 4:57 PM rIPPER
身在中国,它们对我都是free的,唯独电信的网费是一分一厘也少不了的。 我心里怀着小小的私心:狂热者们最好去各类电信服务供应商、电信设备提供商面前跪陈情愿,好让我免费上网、打电话(我自己是万万不会去的,所以只想着有人会代我完成,人总是爱坐享其成 :)。 虽然明知道决无可能,但始终觉得这份小小的心愿和某些举民族大旗、呼啸山林、聚众水泊(blogchina? :),即free且open的“好汉”们不懈努力要求微软开源、免费的壮举或是义举暗合。 因此我仍保留着这这份心愿,每每于夜深人静之时、四下无人之处细细咀嚼、暗自YY一番。
# 回复: 动机与价值 3/4/2004 5:50 PM Daily Linux User
做Commercial的痛骂做Free/Open的也一点都不少哈, 好象微软就说过Linux是邪恶的,是产业的病毒还是什么哈,CSDN上面更加上纲而下流的辱骂更是连篇类牍哈 想信双方如果在稍微严肃一点的发言中都不会这样的哈 当然有些比较极端的人那也很自然哈 不过您也千万别把Slastdot之类上的言论当真哈 而且您在Blog上散布FUD的密度也很高哈
# 回复: 动机与价值 3/4/2004 5:52 PM Daily Linux User
忘写了 那是 To: MVM not baryon ha !
# 回复: 动机与价值 3/4/2004 6:19 PM rIPPER
嘿嘿,mvm喜欢表达自己的意见,也蛮好的。
# 回复: 动机与价值 3/4/2004 7:16 PM kaka
说句不好听的,这个是典型的有奶便是娘的思想。 当一个企业过于强大,以至于垄断的时候,对一个国家,乃至世界来说都不是一件好事情。举个最简单的例子来说,二战后,欧洲先于美国开始商业喷气飞机制造。难道是美国当时飞机制造技术没有欧洲先进?不是,绝对不是。而是因为美国当时的飞机制造也少数几家所垄断,二战中遗留下来大量的制造螺旋桨飞机的资源还没有产出足够的利润。因而垄断的结果就是当欧洲人可以享受喷气旅行,而美国人却只能为了先添饱资本家的口袋,而继续着螺旋桨时代。这个就是垄断。 ms今天这么积极,也正是有着这些free/open的东西在和他竞争,如果没有了这些东西,ms绝对会成为科技进步的最大阻力。 那为什么只有free/open的东西呢?因为不free/open的东西,全给ms给弄死了。有几家公司能顶得住ms的“三招”。 至于MVP,我可以用电影《马尔可目.X》中的一段马尔可目.X话来告诉你:南北战争中的一天,北方军队开始进攻一个地方,农厂里面的黑奴开始逃跑,一个在田里工作的黑奴跑到屋子里面,对一个在房子里面工作的黑奴说,我们快逃吧,我们终于可以自由了。那个房子里工作的黑奴说,不,这是我的家,我爱我的主人,我的主人也爱我,我吃得饱,穿得暖,所以我不跑。难道那个不跑的黑奴得到他应该有的权利吗?不,不是,他是个彻底的奴隶。不会因为他比其他奴隶待遇好,而改变这一根本点。MVP也只不过是比普通用户稍微活得好点的ms的奴隶。 最后提醒你一下,free/open中的“/”是or的意思。free的不一定open,open的也不定fee,mysql就是open,但不是free,没有人说搞open就不能赚钱。GPL,GNU,BSD等都是不一样的。别一看open,感觉就让你革命成无产阶级了。 ps:我比较认同网上一个思想,至少我们要在道义上支持free/open的东西,虽然我们不一定需要去用他。 psps:感觉我是在浪费时间,这种讨论网上也太多了,没有想到我也会参与近来。
# 回复: 动机与价值 3/4/2004 8:02 PM Daily Linux User
GNU 8是一个协议哈,GPL揍是GNU的协议哈 要其他的例子主要的有LGPL,Apache,X,Eclipse的CPL,Mozilla等等哈……大多数最著名滴Free/Open滴东东都用自己的专有协议滴。 MS滴Shared Source也算一种哈。 奇怪……我说话怎么变味儿了
# 回复: 动机与价值 3/5/2004 9:06 AM rIPPER
嘿嘿,ms的shared source协议很宽松di,我准备弄它的源码修改修改包装一下拿去卖。 说到飞机的话题我最喜欢了。欧洲在二战还没有结束的时候已经研制成功可以实用的喷气发动机了,因此比米国先行一步也挺正常,用这个例子实在说明不了问题。再说彗星的金属疲劳问题让它变成了喷气时代航空安全的先行者:) 赶早对于消费者来说也不一定是好事。
# 回复: 动机与价值 3/5/2004 9:22 AM carfield
同意Daily Linux User open 的人攻击过 MS 的东西不好,但是好像没有说过通过软件赚钱是邪恶的,他们并没有排斥软件的价值 倒是M$说过Linux是邪恶的,是产业的病毒,是因为它们碍着自己的财路了
# 回复: 动机与价值 3/5/2004 9:36 AM mvm
我就不喜欢kaka那几句话: 什么叫做MVP只不过是日子过得比较好的奴隶? kaka不应该把关于问题的讨论上升到价值判断的角度,不应该诋毁那些MVP——大家都是混饭吃的,说什么奴隶不奴隶的?大家都是同胞好不好? to carfield: M$说过Linux是邪恶的——Linux的fans也说过类似的话。也有人说过通过软件赚钱是邪恶的。在相互攻击的问题上,两个阵营都有些人说过很不好听的话——这不,上面还有人说MVP是奴隶呢。 言犹在耳。 btw, to kaka, "free的不一定open,open的也不定free"这种问题,我想在博课堂这里,是不需要你来提醒的。藏龙卧虎的人很多,大家都是IT行业混得,这些都是基本常识了。不过我倒是建议如果还有没有看过这个网站的人都仔细看一下,一个个仔细读一下:http://www.opensource.org/licenses/ 我记得有这么一句话:你的所知就像你腕上的手表,别人没来问你时间的时候,不要主动把手表给人看。
# 回复: 动机与价值 3/5/2004 10:51 AM rIPPER
这许多license,如何读得完啊? 哪个指条明路,告诉我最open最free的一个,只需所取无需付出的那个,我好拿去卖钱了。 .TEXT是BSD的,是不是说明天我就可以包装了它叫卖了呢?知道的大侠指点俺一下。 MS说Linux是病毒其实不是针对Linux,而是指GPL。如果能考虑到在计算机软件方面两者完全不同价值取向,我想也不难理解MS为什么会这么说。误用了GPL会使MS的躯体被侵蚀,源码会被要求开发,MS当然害怕。Rotor(就是CLI啦http://www.microsoft.com/downloads/details.aspx?FamilyId=3A1C93FA-7462-47D0-8E56-8DD34C6292F0&displaylang=en)支持FREEBSD,但是不敢(也许是不愿意,或者是害怕,谁知道呢)支持Linux。 MS现在也愿意开放一些源码,但是绝对不会用GPL。可能BSD更加对MS的胃口。 虽然起步比较晚,力度也不大(http://www.microsoft.com/resources/sharedsource/default.mspx),不过事情毕竟在往好的方向发展。 谁说MS不怕Linux呢? :)
# 回复: 动机与价值 3/5/2004 11:22 AM kaka
to:mvm 是的,大家都是赚钱。MVP也是一样。 但明明是在赚钱,就不要大喊为人民服务,这也太假了吧。
# 回复: 动机与价值 3/5/2004 12:14 PM mvm
to kaka: 赚钱为什么不能同时为人民服务? 所有作盈利性服务的行业,目的都是赚钱,但同时都有“顾客就是上帝”的口号,都会把“customer focused”作为自己的准则。 这两者不矛盾。 非黑即白是一种简单粗糙的方法。是不可取的。 to ripper: 我的粗浅理解是:BSD是最自由的。Kerbrose好像就是BSD的(因此也出现了很多问题,比如各种版本不兼容等)。
# 回复: 动机与价值 3/5/2004 1:12 PM rIPPER
谢谢mvm 关于矛盾,还是需要运用马克思主义的观点辨证的分析;关于ms和free/open的斗争,需要运用毛泽东同志的革命战争思想来把握;说到赚钱和为人民服务,那就用3gdb凑合着使使吧。 俺的终极目标是做一个高尚的人,一个纯粹的人,一个有道德的人,一个脱离了低级趣味的人,一个有益于人民的人(口号俺也会喊,做到嘛,下辈子再努力啦 )。 和楼上诸位共勉 :)
# 回复: 动机与价值 3/5/2004 3:53 PM mvm
今天在博客中国看到的:http://www.blogchina.com/new/display/24837.html 正文和下面的评论...
# 回复: 动机与价值 3/5/2004 4:45 PM rIPPER
嘿嘿,不知道这些跟帖算不算群众的呼声。 还是做BitTorrent的老哥好,直接要求donate。本来嘛,有钱捧个钱场,没钱的捧个人场...
# 回复: 动机与价值 3/5/2004 5:08 PM Daily Linux User
许可证来说Modified BSD最自由,但压根没有许可证的Public Domain似乎应该更自由,可惜没有多少好东东是Public Domain的. :-( 我记得很久以前有个调查,关于Free软件的Contributors主要是些什么人,结果发现大多是白天上班写商业软件或者别的职业,业余时间写自由软件的,当时这个调查主要讨论的是代码质量,说既然是同一帮人写的,代码质量应该是差不多的,呵呵.
# 回复: 动机与价值 3/5/2004 5:10 PM Daily Linux User
可惜中国没有PayPal啊,MyIE2也只好搞个注册来弄,无聊啊无聊.
# 回复: 动机与价值 3/5/2004 5:23 PM rIPPER
商业软件有进度压力、这个压力那个压力,自然要在质量方面打折。 自由软件嘛,俺开心就写,不开心就...@#%$^^不开心随便干什么都好,就是不写code。如此应该是自由软件质量高一点。 再说了既然要开源,总会更加注重代码的质量啊,代码的规范啊,设计的合理啊,因为关系面子问题嘛。商业软件就管不了这么多了。 到此为止,俺的重大发现是: 开源软件质量高是因为写软件的人怕自己的代码发布出去被人家嘲笑,所以自己review的比较多。 俺去年注册了个Paypal帐户,今年准备做一个网上乞讨的site,不知道能不能骗到老外的嘛呢。主题还没有想好,是中国持不同政见者好呢,还是饱受Outsourcing折磨的中国可怜程序员好呢?
# 回复: 动机与价值 3/5/2004 5:38 PM Daily Linux User
面子问题,今天TheRegister上正好说这个呢 http://www.theregister.co.uk/content/55/36029.html 不过,比较重要而受关注的自由项目,由其是无数人依赖你的基础库/必备应用,也会有进度压力呢,说不定还有商业软件依赖你发布,要是比自己号称的进度晚了太久会被骂的, 骗钱的话,可以弄个亚洲程序员反外包同盟,米国失业程序员会把救济金都捐给你.
# 回复: 动机与价值 6/6/2004 3:58 PM 你 好
顾客即上帝与为人民服务的关系
# re: 动机与价值 10/27/2004 7:32 PM
免费是一种运营模式,嫌钱才是目的,世界上的free是相对的!
# re: 动机与价值 10/27/2004 7:34 PM 支持
发起人,写的很好