修复密封罐子

装咖啡的玻璃罐子由于锁扣变形把一个玻璃边硌碎了。观察了一下感觉把这个铁丝的扣具转个角度就可以避开硌到的位置了。所以一冲动就把扣具拆开了,这个结构是很简单的,拆开很容易。

转了角度以后发现装不上。因为铁丝扣具不是服贴的符合玻璃盖子和罐体的形状,因为椭圆形的扣具在两边夹住后可以提供更好的锁紧效果。不过用手的力量几乎不可能把他们保持在可以服贴的位置,也就不能用钳子把扣环夹住固定。我尝试了几次用蛮力,不过结果当然是一失败告终。

因为时间不够去上班了,路上可能潜意识就开始研究如何解决了。回来的路上我的潜意识闪过的是用铁丝当作锁紧脚手架把它组装上的图像。

回家找了铁丝,只有很细的一小段。把两个需要锁紧的地方用铁丝套住,闭合后把接头拧成麻花,不用拧很紧保证足够多的绞合圈数吃上力就可以。用尖嘴钳子夹住铁丝的圈再拧麻花,作为脚手架的这个铁丝夹具就会把想要锁紧的玻璃罐子扣具拉紧,此时就可以比较轻松的套上扣具组装罐子并恢复原样了。

收获两点:

  • 蛮力不如思考,尤其是给R模式(右脑模式)一些酝酿时间,问题解决的会更好
  • 使用夹具而不是使用在紧张时很不可靠的肌肉,工具+脚手架是组装“复杂”系统的方法

罗斯福6号

这是一款棕色啤酒,有沉淀,比较浑浊。入口比较苦,气泡没有8和10那样浓密(持久度略为差一些),但是气泡很丰富。气泡入口香气扑鼻,但是香气中的水果味要略为淡一些。酒体比较苦,有烧烤的味道,口感浓厚(粘稠的感觉),酒退去后嘴中留有微微酸涩味(干)。闻起来有明显的酵母和酒花香气,这种味道比较象深粉象的味道。罗斯福6号不是常见的Single(其实没有这种叫法)的Blonde,而是接近一般的Double的棕色烧烤麦芽的双料啤酒的味道,它混合了丁香花香(酚)和酒花的香味,水果味(酯)略为淡一些。这款酒留在口中的味道比较厚,回酸甜的感觉。因为酒精度略低,所以喉咙没有什么刺激的感觉。我感觉这个酒的酵母和罗斯福其它两款比较接近,酵母非常好。这款应该不是使用的陈年酒花,苦味浓,而且酒花香气也非常浓郁,酒花类似杜威(Duvel)那样新鲜和明亮。


喝罗斯福6号也是一种享受,不过综合来看罗斯福的6、8、10其实有接近的基底味道,8和10的味道层次更多一些。10对温度要求比较苛刻(控制香味和甜味的平衡),8则更容易在宽一点的温度释放它的魅力。6是一款缩小版的罗斯福,不过它带来的是更苦的口感,也许它更适合和甜味的食物一起配合饮用。而经典的8和10则更适合和咸味的食品配合,或者单品。罗斯福的家族可以说的啤酒中的极品,我的最爱!

Good bye, Mr. Jobs

听到他卸任的消息就知道这一天就快要来到了。没想到在另外一个发布会的第二天,这个坏消息就真的到了,他走的时候实在是太年轻了,正值他的巅峰,令人扼腕。

我希望自己不要太情绪化,所以在techmeme.com上面仔细的寻找所有的线索,希望找到我错失的任何感动。那天晚上我也去北京的第一家Apple store感受了一下崇敬Jobs的朋友对他的悼念活动。这几日的新闻里面我的感想是:

这几日沉浸在对乔帮主的追思中,读过的追忆文章里面。MG Siegler对我们这些『其它人』的损失分析的最到位,施密特博士和Isaacson对他对孩子的爱的追忆最感人,对他安排自己最后一个月的报道最发人深省。 #iSad

“That’s the part that people couldn’t possibly know — the love and the care that he put into everything he did. He just loved his family, Laurene (Powell) and the kids. He loved them more than anyone could articulate. And he loved Apple,” Brilliant said.

“The defining character of Steve Jobs isn’t his genius, it isn’t his talent, it isn’t his success. It’s his love. That’s why crowds came to see him. You could feel that. It sounds ridiculous to talk about love when you are making a gadget. But Steve loved his work, he loved the products he produced, and it was palpable. He communicated that love through bits of steel and plastic.”

我不愿意在这个时候追忆我对苹果产品的感动,因为我不可能从苹果最早的产品开始了解这个伟大的公司和Jobs本人。并且苹果只是Jobs众多贡献中的一个。

Jobs,他是一个伟大的企业家,梦想家。早期的苹果证明他是一个非常有品位的企业家,中期他在Next和Pixar所做的一切还有后来回归苹果证明他是一个有远见的企业家。不管是『品味』还是『远见』其实都是『直觉』,他是一个拥有伟大的直觉的人。直觉是比逻辑更加神奇的魔力,他需要不断的思考和体验来磨练,是我们说大工和大师的最大区别,这也是人类最宝贵的能力(机器没有直觉),这正是为什么我们觉得他是天才。直觉是『右脑思维』的结果,是艺术家所具有的特质,天才需要这种艺术家的灵感。

我的评价是没有意义的,他从来不在意我们这些『局外人』怎么想。他在意的是他所爱的人和事,能成为他所爱的是种幸福。

在读到他关于孩子的看法的时候,我非常感动。他说孩子就是你在体外跳动的心脏,他们比你一生中其它所有的最好的事物还要好上一万倍。而且他的授权传记作者也说他写这本书是为了让他的孩子们了解他。这是他离开后令我最感动的我所不知道的Jobs,他对家人的爱让我相信他的所有企业家的直觉都来自爱,来自他对自己所做的事业、产品的无限的爱。我也要把我的生命献给爱,就像他一样,在死亡来临前释放无尽的爱。

不要给死亡蒙上太多的悲伤。死亡是最好的决策工具,所以我们说『面死而生』,知道会死才真的知道为什么要生,这是Jobs所有观点中最重要的。他真的和死亡抗争了很久,是一个真正面死而生的人。希望有一天我们能够再会,May the Force be with you

品尝马都斯10号-修道院配方三料啤酒

Maredsous 10 Abdij Tripel Ale
入口苦,酒花味不是很明显。酒比较强,口壁微麻,有水果的酯味,不过水果味不是很浓,苦味会盖过水果味。啤酒泡沫浓密,入口可以感觉到挂口,酒的口感很厚,感觉是苦味和酸味共同刺激所致。酒通过喉咙可以感觉到厚重的酸味,因为比较苦所以这种酸味很厚重。而后可以感到有一些花香的酚味道析出,不浓烈。这个酒的酒精度感觉比较高,和督威那种感觉不同,这种酒对口腔的刺激更强烈一些。总的感觉就是这酒的底下有浓烈的酸味和苦味,所以感觉在口中黏黏的,味道挥之不去,酒体的口感很丰满。整杯下去以后随着苦味退去,酸味会变得明显,然后会感觉麦香味越来越突出。麦香退去后口中就开始弥漫着Duvel的那种清新的酒花味道,我感觉可能是高酒精度和苦味很强烈让这种清新的蛇麻草香味最后散发出来,所以我对这个酒的回忆还不错。它对嘴唇的刺激还挺强烈。修士类啤酒的配方都会让酒体很厚,马都斯10号会给你这种感觉,作为加了很多冰糖的高度Tripel它不是以水果味见长的,但是感觉它的酵母和酒花和Duvel的确有些神似,留在口中的浓烈香气则像极了喝完Duvel的感觉,最后头脑晕晕的感觉在喝完这些高度啤酒后都有相似的情况。相对于它的售价我觉得它是一种不错地选择,厚重的味道单品或者配菜都可以很突出,而且它的香气绝对配得上高级啤酒的称号。但是如果浪漫一点说,它太修士了,苦味和酸味盖过了水果味道和花香,所以有些内敛了。心情美好的时候还是倾向于来个罗斯福十号或者奥威那样水果味浓烈的啤酒。

The value of reading news

Recently I found I’m addicted on reading news, including gadget news, social headlines and hacker news. Today, I’m thinking why I read so much news? What’s the value of reading news?

The news include content and context, but there are more things underneath. When we read news, we got a story of what just happend, but this is not very valuable. The content and context is history journal, we just put some sentence and images into our memory. This is no difference with a comupter, and computer is good at recording things, it never changes or forgets. We are human, we have non-linear thinking machine, which give us some outputs after thinking. I think there are 3 main elements for human, thinking, feeling and memory, reading news just give us some outputs of memory and feeling, those things construct a timeline in our brain. And when we have spare time, the brain thinks in right mode, and it may give us idea at anytime. Acctually, the most value part is making a point of view, so we determine which part we should stand for this piece of news. This judgement can be irational, I means the reason and the result may has no direct connection, we just jump to a conclution. I think we can call it taste. And I remember this quote “The only thing you can trust is your taste”. This irational process of making judgement is our taste.

We should split news into two categories. One is a report of a story, it tells us what just happend, like a statement, we just recieve it and store. Another is a comment of something, so there will be some personal judgement or ideas come from reviewer. They already stand on a side of this story, and we will recieve this comments and record the direct feeling of there comment. For example, the techmeme always tell us the breaking headline of different news source, but most of which is plain story. The other example is hacker news, it contains lots of blog post about someone’s opinion, those report is more like sharing taste of those things. I prefer the deep analysis of news, like hacker news’ style. They put non-linear reason and result together, help us organizing out thoughts in reviewer’s points of view. This thinking practice helps us make our own taste.

If we only store news, it’s a huge waste. I we just day dreaming, it’s useless too. Reading some news, and corresponding analysis is good for us. This may be the real value of reading news.

Don’t waste too much time on reading news, most of them are fast food. You should do long reads too, long articles are more nutritious. Magazines are way between long reads and online fragment reading, whe should balance the ratio of them. Keep processing langurages and images in our memory is important, it’s your privilege, it helps you find your real taste.

诚信

怪诞行为学》的第八章“性本善还是性本恶”里面说了诚信的重要性。里面有一些关于诚信的试验,大意是说诚信和道德约束有关系,当一个行为不符合某个人道德约束,并且这个人此时意识到了这个道德约束(一些因素会影响这种意识的强烈程度),那么他就会选择放弃不诚信的行为。里面写到:

诚实为什么重要?一个理由是,我们别忘记美国在当今世界上占据经济强国的位置,就是因为(起码我们认为),在企业管制标准上,它是世界上最诚实的国家之一。

今天早上听《锵锵三人行》,这一期正好也说的是诚信。诚信可以分解为两个部分,诚实和信任。因为互相诚实才会互相信任。这在我们现代的中国,是严重缺失的,社会上大量的热点事件和诚信的缺失相关。每次提到缺乏诚实,都会提到所谓的“厚黑学”对我们社会道德的影响,我们的生活圈子里面的确因此有很多人推崇“术”和“礼”,所有的事情都需要讨论一下如何“经营”。这一方面说明我们善于思考,知道如何通过一些行为来影响事情的发展,以保持自己的利益。很少有绝对诚信的团体,但是有些团体更诚信一些。我非常希望生活在更诚信的团体中。

我们朋友间经常评价某人是否“靠谱”。我想“靠谱”的朋友大部分是真诚对待我们的人。我不是说一个人对所有人真诚是“靠谱”,我指的是他对我们诚实,所以对我们这个小群体来,他/她是可信的,那么我们就把这个人归做“靠谱”的人。

要想表现的诚实,需要一个起码很小的可信的环境,也就是说如果一个最小的可信任环境都没有的情况下,诚实是做不到的。我们身上可能都发生过这样的事情,某人在路上把你拦下,说路上发上了什么意外或者迷路了,希望跟你要一些零钱回家。在第一次遇到这样的故事的时候,我们小时候学到的乐于助人的道德标准会鼓励你给他们一些钱,你给了以后心里还甜滋滋的。这里面有个条件,要钱的那个人的“表演”一定要非常的真诚,让你相信他/她,你们之间有一个很小的诚信环境,所以你的道德约束就可以起作用。但是,事实是,这种情况几乎全部都是骗局(女巫店的《机场奇谭录》),朋友亲人的教导还有再次遇见这种表演会让你知道这是不可信的。这时你在遇到这种事情的发生的时候,你和骗子之间是没法形成一个诚信环境的,此时道德约束就会变得如鸿毛一样轻了。这无数次的失望形成了我们社会中诚信的缺失。

怪诞行为学》中还提到了制度约束不如道德约束。比如迟到:以前在ThoughtWorks的时候,没有人记考勤,但是迟到行为需要向捐款箱投钱,数量不顾定,一些团队可能会要求迟到的人买冰激淋请客。现在工作的公司有严格的考勤制度,迟到1-2分钟也要用1小时的加班抵扣,否则就会扣工资,定这些制度的人会说制度是平等的,但是造成的结果确实大家藐视迟到,想办法申请更多的加班。《怪诞行为学》里面讨论“罚款对杜绝迟到有效么?”提到社会规范强于市场规范:

罚款的效果并不好,事实上它还会带来长期的负面效应。

社会规范(例如共同创业的兴奋)强于市场规范(例如薪金随晋升而增加)时,员工能为公司(特别是那些刚起步的公司)创造的价值的确令人瞩目。

实际上,他们会认识到社会规范可以简历忠诚,更重要的是,它使人们自我发展,达到如今企业的要求:实行弹性工作制,关心公司,并且积极参与公司事务。这正是社会性关系带来的。

王晓明同学讲《价值驱动的组织结构转型》的时候提到了价值驱动的可评估的组织结构转型,我听完很受启发。不过ZoomQuiet同学以前曾经用过这样一个签名“组织结构转型就是催生靠谱的人的组织”。这两个说法都强调了组织结构转型是一个制度和人的优化过程,其中制度是所谓的市场规范,制度规范的修改要放权于靠谱的人。而人的建设是整个过程中最重要的,人要靠谱,也就是说真诚的实现承诺,构建一个充分互信的环境。所以王晓明同学提到在做组织结构转型的时候要注意不要存侥幸心里,做过程改进试验的时候要通知上级和下面的团队,达到共识以后再实践。在企业内部形成信任链条,大家都诚信的工作,才可以让社会规范充分的发挥作用,达到促进企业健康发展的目的。这个过程也就呼应了ZoomQuiet同学所说的“催生靠谱的人”,有能力又诚实的人一起工作,形成诚信环境,也就形成了一个靠谱的人的集合,那样就有了靠谱的人的组织,组织结构转型就会成功。

所以我想这样定义:

靠谱
诚实,可靠(可以达成目标)

最后,说说OpenParty。和冰云聪明的猪一起聊,开始有了组织OpenParty这样一个活动的想法。原因是我们希望各个社区里面靠谱的人可以在一起真诚的交流,交流的内容不设限制。因为当时的很多公司赞助的技术活动里面有很浓的商业味道,让一些话题变成了软文的宣讲会,这样大家活动起来很不舒服,在这个角度上来说就是缺乏“真诚”。我们组织活动的方式选择了Unconference,自助会议。活动的时候个人是没法影响活动的走向的,大家在一起通过民主的方式选择要听什么、要讲什么。到现在好像快有30期了,我们发现随着活动的不断积累(口口相传),来参加活动的人越来越“靠谱”,很多社区的大腕在现场和参与者真诚交流,听话题的朋友给演讲者真诚的反馈。这样真诚的环境就形成了一个小范围的信任。Terry Zhu来我们活动的时候说美国的湾区(美国的创新发动机)有很多类似OpenParty这样的开放会议,大家都很真诚的交流,所以形成了湾区那样的环境。朋友从美国旅游回来说三藩那里充满微笑,但并非美国所有的城市都是那样。可以说,由于湾区城市大部分的人的真诚,形成了城市良好的诚信环境,这样的环境会让更多的靠谱的人聚集过去。OpenParty只是一个很小很小的活动,它只能形成一个很小很小的诚信环境,但是这是一种努力。我们希望这种努力可以把诚信带到更大一些的环境(参与者所在的公司),延长到更久的时间(朋友在活动以后的深入交流),能够聚合更多的靠谱的人。

用真诚换信任。希望我们不要总是面对艰难的囚徒困境就好。

links:

怪诞行为学
怪诞行为学
锵锵三人行
锵锵三人行
女巫店的《机场奇谭录》
女巫店的《机场奇谭录》
ThoughtWorks
ThoughtWorks
价值驱动的组织结构转型
价值驱动的组织结构转型
ZoomQuiet
ZoomQuiet
OpenParty
OpenParty
冰云
冰云
聪明的猪
聪明的猪
Terry Zhu
Terry Zhu
囚徒困境
囚徒困境

Inception

盗梦空间 Inception

道姆·柯布(莱昂纳多·迪卡普里奥 Leonardo DiCaprio 饰)与同事阿瑟(约瑟夫·戈登-莱维特 Joseph Gordon-Levitt 饰)和纳什(卢卡斯·哈斯 Lukas Haas 饰)在一次针对日本能源大亨齐藤(渡边谦 饰)的盗梦行动中失败,反被齐藤利用。齐藤威逼利诱因遭通缉而流亡海外的柯布帮他拆分他竞争对手的公司,采取极端措施在其唯一继承人罗伯特·费希尔(希里安·墨菲 Cillian Murphy 饰)的深层潜意识中种下放弃家族公司、自立门户的想法。为了重返美国,柯布偷偷求助于父亲迈尔斯(迈克尔·凯恩 Michael Caine 饰),吸收了年轻的梦境设计师艾里阿德妮(艾伦·佩吉 Ellen Page 饰)、梦境演员艾姆斯(汤姆·哈迪 Tom Hardy 饰)和药剂师约瑟夫(迪利普·劳 Dileep Rao 饰)加入行动。在一层层递进的梦境中,柯布不仅要对付费希尔潜意识的本能反抗,还必须直面已逝妻子梅尔(玛丽昂·歌迪亚 Marion Cotillard 饰)的处处破坏,实际情况远比预想危险得多…… 

我仅借上这么个引子,是说我的老婆和我的故事。

这段时间老婆睡眠不好,经常有噩梦,甚至有时半夜会哭醒。我最为丈夫当然要细心开导。我这个人很信任心理暗示的作用,所以就希望通过心里暗示的方法让老婆给自己植入一个想法,客服噩梦带来的麻烦。

老婆最近的噩梦有两种主题(这个其实是我老婆的隐私,不过说来无妨):

  • 梦到小的时候上课老师让回答问题,被刁难,或者考试有难题做不出来,非常着急和委屈。
  • 梦到长相可怕的人吓唬她

因为老婆对我总是很信任,并且觉得我很聪明,所以我就想以此作为基础让她对自己有心理暗示。主题就是这样:“无论何时Tin都会在我身边帮助我的。” 结果还真的不错,老婆后面一周的睡眠恢复了很多:

  • 第一种梦境她会梦到我告诉她如何回答,然后进很自豪了。考题的时候她会梦到我回家给她讲题。这些场景就基本上不会成为噩梦了,而是一种有压力但是最后会缓解的场景。而且这个时候她基本上会意识到自己在做梦了。
  • 第二种情况因为她基本上都能梦到我在身边,所以很少梦到遇到长相恐怖的人的梦境了。

我还满心欢喜这Inception植入的不错。但是,电影里面就说过,一个看似聪明的Inception总是会被做梦者潜意识的保护所破坏,最终的结果就是通过另外一个梦把做梦者带回原来相似的困境中,也就是噩梦。我们尝试的这个心理暗示,最后果真还是被另外一个梦弄得失效了,而且这次又把我亲爱的老婆吓醒了,对她的打击似乎比上次还要严重。所以这已经在警告我不要尝试通过暗示的方式让Inception影响你的梦,这种Lucid dream其实更真实也就更可怕。

我老婆梦到了什么呢?简单来说就是她梦到她非常信任的我出了问题。她梦见我变得非常落魄和消瘦,但是依然甜蜜的迎接她回家,这个场景让她很难受。其实这就是对我们尝试暗示给自己的东西的一个反驳,因为每次用了很强烈的意识说我是保证她的梦安全的人,但是如果我出了问题,那么这个梦就崩溃了。

我现在真的很后悔自己干预她的梦。而且也许我们要通过调节睡眠节奏的方式来减少做噩梦的情况了。现在观察的结果就是白天睡眠过多或者睡前喝水太多容易引发这种强烈的梦。所以我们准备从这方面解决问题。不能再尝试通过暗示的方式来做了,那样最后我们两个都心疼了。

这篇blog献给我亲爱的老婆

Macbook pro的DVD刻录失败,清除灰尘后修复

这两天要用我的MBP(Mid 2009 MC118)刻录一张DVD却总是失败,告诉我使用的DVD盘片不兼容,或者刻录速度太快(我试验了1, 2, 4, 8都不行),让我尝试其它品牌的盘片。但是之前我用的威宝的日产DVD-R一直没有这个问题,所以查看了一下system.log,发现报错的内容是这样的:

Disk Utility[378]: Disk Utility: Burn to DVD-R (TYG02) media in MATSHITA DVD-R   UJ-868 (KB19) via ATAPI failed with error 0x8002006D and sense (3/73/03 Medium Error, Power calibration area error).

Google到了很多信息,讨论的很复杂,大意就是光驱坏掉了,或者锁了区码。看到了这篇比较有用Can’t burn DVD’s with a MacBook Pro?,说先试试清理尘土。

然后就打开了MBP后盖在光驱的几个角和缝的地方用皮老虎吹了一下(如果你的嘴很有力且不乱喷吐沫星子,那么也可以用嘴吹,但是这样很危险……),尘土还是挺多的。而后开机刻录就好了。

ADSL被联通(北京网通)的“京城时讯”劫持!

最近发现我访问一些站点的时候(如昨晚访问www.apple.com的时候)我发现页面弹出广告,但问题是apple.com的英文网站是不可能弹出中文广告的。

网通“京城时讯”弹出广告的截图

今天我又重现了这个问题,仔细看了下出问题的原因,页面的url没有变,dns也是正常的。应该只是http请求被劫持。可恨的是它不是注入式的劫持(也就是将广告的代码插入到</body>之前,而是使用了非常简单的iframe劫持,这种初级的劫持手段会造成很多网站访问不正常。可恨的是,在这样的劫持下你的个人隐私就完全没有保证了。代码是这样的:


<html>
<meta http-equiv='Pragma' content='no-cache'><head><title></title>
<script LangUage='JavaScript'>
try{var tmp=parent.window.location.href}catch(e){window.location.reload();}
</script>
</head>
<frameset framespacing=0 border=0 rows='*,0' frameborder=0 onload="window.lxmainframe.location='http://61.172.192.88/city/index.html?url='+window.location;"><frame name='lxmainframe' src='about:blank' scrolling='auto'><frame name='lxblankframe' src='about:blank' scrolling='no'></frameset>
</html>

作为一个mac user,我显然不是中病毒了。google一下也发现很多人都遇到了“京城时讯”的绑架。我刚才给10010打电话投诉,还好虽然停机保号但是可以拨10010。先是被转到网络部,让我自己到www.jcxinxi.com自己注销,让我挂电话。我马上试验,发现根本找不到她说的登录的地方,让她们告诉我详细注销步骤,她让我等了有3分钟左右才告诉我需要点那个“会员注销”。然后我又继续让她转接专门负责投诉的“上级”,那个上级向我解释了“给我看广告是为我好,这个服务是免费赠送以后”,我只能告诉他我办包年服务的时候的单子上面没有说网通可以免费赠送给我这个服务的时候才客气的让我留下联系方式说再联系。我知道这种事情“don’t blame the people, blame the game.”,所以我接受人家的电话服务。把这倒霉的该死的差劲ADSL服务Blame到底,投诉到底!

我投诉的时候提了几个理由:

  1. 联通在没有最终用户许可的情况下私自给我绑服务。
  2. 你们嵌入网站的iframe的方式直接造成很多网站访问不了。
  3. 给我看商业广告,jcxinxi可以从后向商户收费。侵犯了我这个最终用户的利益。尤其是我是有偿使用ADSL服务且我从来没有同意接收广告。
  4. 你们窃取我的HTTP Request是严重的侵犯我的隐私。
  5. 你们影响了我访问网站的显示效果,也是对第三方利益的侵犯。

周六日重构OpenParty App中发现的一些问题

Open Party App是我们在为OpenParty开发的新网站,上面集成了会员注册报名参加活动等功能。我们把他放在Google Code上面以开源crowd sourcing的方式开发。Django我是业余水平,在这个项目里面继续磨练。上周末正好有空开发,顺便重构了一下代码,我把其中发现的一些bad smell纪录下来,给和我们一样的Django业余团队参考。

  1. {% ifequal event.is_upcoming 1%}

    这是错误的,本意是{% if event.is_upcoming %},因为它本身就是个Boolean

  2. <a class=”gray_link”>看看谁参加了活动</a>

    gray_link是一个为样式命名的css class,但是css class的名字应该是一个结构语义的东西。也就是说css class应该是What it is而不是How it looks like。可以命名为<a class=”who-participated”>看看谁参加了活动</a>

  3. views.py里面return render_to_response(‘core/topic.html’, locals(), context_instance=RequestContext(request))

    使用locals()我上次就发过邮件,这样做是不好的。因为locals会鼓励你创建很多没有意义的本地变量,将它们一股脑的传递到template。造成template里面由很多的判断逻辑,但是这些逻辑本身应该是在models层搞定的。当你从template重构这些晦涩复杂的判断逻辑的时候,你会发现问题可能就出在views.py里面那一个locals()。没错,我说的就是topics.html这个模版,看看判断是否可以投票的那部分逻辑,实在是太复杂了,我不得不给他写测试,花了不少的时间重构。在模版里面你总是会思考一些措辞和样式的问题,而忘记了分支逻辑的复杂,这种代码经常是有很多的bug的,而且它们非常难于维护和修复。一定要将这种复杂度封装在model层并进行测试才可以。

  4. 没有意义的判断

    我看到很多if model.is_accepted == True: return True; else: return False这样的代码。我是在不理解为什么可能出现这样的代码……请注意这个和错误1差不多,都属于非常坏的重复代码。

  5. 测试

    请注意,我们没有赶时间。我们不太需要临时性的代码,要随时注意代码的可维护性,因为我们是一个团队。测试就是代码的文档,请注意尽量尝试测试先行,如果不行也注意让你的model得到充分的测试。当你发现Event和Topic这两个Model的创建需要费这么多的周折的时候,你是否发现你的Model抽象有问题?你是否有重构的冲动,将它们的创建行为变得更简单。

  6. 命名

    is_arranged这样的命名可能不太容易理解,注释上面写的是”’该话题是否已经加入到活动,并且活动尚未开始”’。那么如果keep stupid的话我觉得,is_arranged_in_coming_event是不是更容易理解呢?

    is_shown,注释”’该话题所属活动是否正在进行或已经结束”’,这个就很难理解了。因为你看到“应该显示”这样一个名字的时候,知道后面的意思是活动正在进行或结束了么?is_arranged_event_started_or_closed也许更容易理解?

这都是一些重构建议,有一部分问题我已经重构过了。大家都在参加OpenParty的Coding Dojo,一起持续重构吧!