<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
  <title>网络寻租</title>
  <link>http://blog.linjunhalida.com/</link>
  <description><![CDATA[网络寻租]]></description>
  <language>zh-cn</language>
  <copyright>&amp;copy; 2010, linjunhalida.</copyright>
  <pubDate>2012-05-07T15:01:00+00:00</pubDate>
  <item>
    <title>黑客马拉松活动小记</title>
    <link>http://blog.linjunhalida.com/article/黑客马拉松活动小记</link>
    <content:encoded>
    <div class="document">
    <img alt="http://topgeek.org/wp-content/uploads/2012/04/hackson.jpg" class="align-center" src="http://topgeek.org/wp-content/uploads/2012/04/hackson.jpg" />
    <div class="section" id="id1">
    <h1>活动</h1>
    <p>上周的周末（5/5-5/6）， 我们参加了 <a class="reference external" href="http://topgeek.org/?p=399">黑客马拉松</a> 活动，
    简单点的介绍， 就是一群程序员/美工/产品经理， 花费1整天的时间， 鼓捣出一个酷的东西。
    黑客的文化在于创造， 分享， 进步， hackathon的活动是黑客文化的一个体现。</p>
    </div>
    <div class="section" id="id3">
    <h1>过程</h1>
    <p>参与活动可以考虑预先组队和现场组队， 我们是预先组好的， 4个人： 我(GuruDigger)， 蔡金(GuruDiggger)， 吴杰蔚(住隔壁， 交大硕士)， 周航(EMC云存储),
    准备做的产品， 是我的一个Idea: <a class="reference external" href="http://gurudigger.com/balloons/164">豆瓣match</a> ， 通过豆瓣上面的喜好资料， 来寻找志同道合的对象。</p>
    <p>一天时间非常的紧张， 我们提前一天的晚上， 小聚了一下， 讨论了一下产品， 以及具体的分工。 我负责web前端和数据挖掘算法， 吴杰蔚考虑推荐算法，
    周航负责爬豆瓣数据， 蔡金负责页面设计。</p>
    <p>黑客马拉松举办的场地是在江湾体育场的创智天地， 我们早上9点开始， 到了现场， 我们抢了一个靠近门的位置， 没有理会现场的举办方， 直接开工了。</p>
    <p>我把网站的架子弄起来（rails）， 我们在如何让ubuntu默认安装的mysql可以让其他机器访问到这点上花费了比较多的时间， 然后上午的时间就结束了。</p>
    <p>中午在现场吃饭， 也是社交的时间， 到处找人聊天， 以及认识新朋友。 平时很少有机会聊的一些话题。</p>
    <p>下午的时候， 我遇到了技术问题： 基本上的时间都花费在了如何让豆瓣用户登录这一块上面。 我本来采用的是 <a class="reference external" href="https://github.com/ballantyne/omniauth-douban">omniauth-douban</a> ， 花费了大量时间， 流程还是没有走通顺， 后来换了道哥的 <a class="reference external" href="https://github.com/lidaobing/douban-ruby">douban-ruby</a> , 看懂了豆瓣oauth的逻辑, 总算实现了登录和替用户发豆邮的功能。 周航这边导数据也遇到了一些问题， 不过总算都搞定了。</p>
    <p>开发期间， 抽空去看了一下其他团队。 团队采用的技术区别还是比较大，
    ruby, python, java, node.js, objective-C, 还有一组是用.net的， 现场学习新的技术。。
    采用的开发工具也百花齐放， eclipse, Xcode, emacs, vim, sublime, textmate...
    如果是非技术的人过来， 看大家的电脑屏幕， 是搞不清楚大家在做什么的。</p>
    <p>就做的东西而言， 大多数还是以做产品为导向， 有做团购搜索的， 有做青年旅社查找应用的， 有做平台的， 都是大东西啊。
    让我眼前一亮的只有一个： 基于js+webgl的3D小游戏。 引擎是组里面一个做游戏的牛人现场写的。 我觉得这个产品算是最符合黑客精神的了。</p>
    <p>晚上我的精力不足， 效率低下， 不过把网站的整体流程跑出来了。 10点钟我们离开场地回去， 我和蔡金整理好UI， 然后我把整体流程跑顺， 处理bug， 我弄到了4点才去睡觉。 不过， 产品的完成度总算是能够应付第二天的展示了。</p>
    <p>第二天7点半我起床， 和蔡金一起去场地。 这一天都是展示日， 没有我什么事情， 就在下面休息。
    最后的结果是， 我们的产品得到了三等奖， 应该算是理所应当的吧。 第一名是Chop, 一个聊天的产品。</p>
    <img alt="http://image20.it168.com/201205_500x375/1041/349bd5185b1d5905.jpg" class="align-center" src="http://image20.it168.com/201205_500x375/1041/349bd5185b1d5905.jpg" />
    </div>
    <div class="section" id="id4">
    <h1>小结</h1>
    <p>就开发而言。 我觉得有些可以总结的：</p>
    <ul class="simple">
    <li>Hackathon活动一天都应该处于一个集中精神做事情的状态， 我前一天没有休息好， 造成这一天精力不充沛， 时间效率不高。</li>
    <li>为了更好的产能， 可以做的是提前把技术细节都准备好， 现场做的只是拼装， 但是我觉得这样就太作弊了， 不算是好的行为。 毕竟现场搞定问题才是意义所在。</li>
    <li>开发的时候， 因为分工做好了， 沟通链减少很多， 基本上都在全力开发中。</li>
    <li>一天的时间非常紧张， 项目计划需要弄好。 我们还是错误预估了工作量， 预期要做的根据喜好推荐用户的功能没有做出来， 只能通过部分的随机来模拟一个效果。如果还有下次的活动， 一定要考虑清楚工作量。</li>
    <li>成功的很大因素靠产品设计， 在这点上面蔡金考虑产品考虑得很好。 直截了当地解决问题。</li>
    </ul>
    <p>然后就是本次活动：</p>
    <ul class="simple">
    <li>黑客精神应该是用技术的方式巧妙解决问题。 参与者做的大都是产品导向， 解决问题的方式也不是很开创性质的。 只能算是做出来一个东西吧。</li>
    <li>奇怪的评委， VC或者公司大员， 有人还提问“你们的盈利模式是什么”（我把这个当成一个笑话来看）， 如果这个活动是以产品开发为主题还差不多。 但是不符合“黑客马拉松”的气氛。</li>
    <li>和硅谷双线举办的效果不好， 基本上是双方分开做自己的事情。 这样就没有太多的意义了。</li>
    <li>我觉得应该得到第一名的那个3D游戏连第二轮都没有进入， 在这样的评委组成下， 意料以外情理之中。</li>
    </ul>
    <p>我觉得让开发者们时不时地聚在一起， 花费一天两天的时间做一个小原型的活动很有意义，
    但是不应该像本次活动一样办成一个大会形式了。 如果下次还有类似的活动， 我还是会去的。
    然后我会考虑做一个更有黑客精神的东西。</p>
    </div>
    </div>
    </content:encoded>
    <dc:creator>机械唯物主义</dc:creator>
    <pubDate>2012-05-07T15:01:00+00:00</pubDate>
  </item>
  <item>
    <title>旧_TDD_测试驱动开发</title>
    <link>http://blog.linjunhalida.com/article/旧_TDD_测试驱动开发</link>
    <content:encoded>
    <div class="document">
    <p>TDD是这样一种开发方式，引用至wikipedia，以及中文：</p>
    <p>利用测试来驱动软件程序的设计和实现。</p>
    <img alt="http://dl.dropbox.com/u/1167873/images/tdd.png" class="align-center" src="http://dl.dropbox.com/u/1167873/images/tdd.png" />
    <p>具体内容我就不多说了，网络上面的资料很多。</p>
    <p>我没有试过TDD，比较像样的测试也没有做过，所以没有什么权力来评价TDD，</p>
    <p>考虑到我们公司现有的开发流程－－谈需求，开发代码，测试，验收，</p>
    <p>以及我们公司经常出现需求变更的状况，TDD可能可用，下次开发时要实际应用一下。</p>
    </div>
    </content:encoded>
    <dc:creator>机械唯物主义</dc:creator>
    <pubDate>2012-05-01T22:08:00+00:00</pubDate>
  </item>
  <item>
    <title>旧_unix的哲學</title>
    <link>http://blog.linjunhalida.com/article/旧_unix的哲學</link>
    <content:encoded>
    <div class="document">
    <p>-- 发布时间: 2009-06-08</p>
    <p>以前看過UNIX編程藝術一書，里面提到了unix的哲學，以及對應能夠帶來的好處：</p>
    <p>問題分解為子問題：</p>
    <p>好處在于解決方案可重用，針對單一問題的解決方案可以得到改進的機會。</p>
    <p>統一接口（文本方式，采用輸入流，輸出流，錯誤流），UNIX強大的管道功能：</p>
    <p>好處在于使得多程序間通信成為可能，人也能在這個過程中觀察程序的運作方式。</p>
    <p>開放源碼：</p>
    <p>邀請用戶參與改進源代碼，以程序提升為目標，使得程序能夠傳世。</p>
    <p>可配置，可自動化：</p>
    <p>程序的配置可以通過寫配置文檔和調節參數來完成，而程序執行也可以完全交由計算機來做，完全解放了電腦使用人員的人力。</p>
    <p>雖然有些點在實際的應用中會有些限制（因為市場，政治，成本等原因），但是這些精神可以指導我們在軟件，甚至生活方式上面得到進步。</p>
    </div>
    </content:encoded>
    <dc:creator>机械唯物主义</dc:creator>
    <pubDate>2012-05-01T22:08:00+00:00</pubDate>
  </item>
  <item>
    <title>旧_为什么不要使用linux</title>
    <link>http://blog.linjunhalida.com/article/旧_为什么不要使用linux</link>
    <content:encoded>
    <div class="document">
    <p>因为一个朋友的博客更新， 我重新登录了博客大巴， 偶然发现自己的旧博客， 就补救了几篇博客回来
    年岁已久， 重新整理在这里。也算是一份历史资料吧。</p>
    <p>-- 发布时间： 2008-02-15</p>
    <p>我从大三开始，使用linux（主要是ubuntu）已经有快4年了，linux操作系统已经成为我生命的一部分，即使在工作中，我不得不使用windows（我是一个delphi程序员），我还是带着自己的笔记本，装上linux，来远程登录到工作机上面。</p>
    <p>但是我很不建议其他人投入到使用linux上面来，这是因为每个人都有不同的需要，以及在不同事物上面需要付出的成本。选择操作系统，还是要依靠自己的判断。</p>
    <p>我使用linux，主要是因为我对于编程上面的兴趣。linux主要是一个学习的工具。linux的优势很多，操作系统设计的优良，不用担心病毒与 木马，免费的价格，优秀的软件和社区支持。。。但是，这些都无法改变linux本身功能上面的希求：它从根本上面来说，是黑客的操作系统，而不是普通人的 操作系统。黑客们没有足够的动力和精力来为普通用户设计一套用户友好的操作系统。</p>
    <p>于是微软出现了。它的努力，让普通人有使用计算机来提升效率的可能。即使它的操作系统容易死机，不稳定，低效率，有种种东西来破坏我们的数据，但 是，至少比一个需要花费相当多时间来学习的黑屏命令行世界要好的多。而windows的高价格， 和由此支撑起来的微软帝国，则是普通用户对他们的肯定。</p>
    <p>如果你能够忍受操作系统需要自己手动输入语句来设置，如果你能够忍受在遇到问题的时候只能登录到外文社区上面去寻求帮助，而不是身边的同学，同事， 如果你决心学习操作系统的各个方面，从文件系统格式，各个复杂拗口又没有什么索引帮助的设置系统，还有包括alsa,oss,X,acpi等技术性的底 层，而这些又只能给专业的计算机行业人士带来利润的知识，最重要的是，你在这一切之后还是本能地使用linux作为第一选择的操作系统， 那么你就大胆使用吧──估计世界上也没有什么困难能够阻止你了。</p>
    <p>ps:</p>
    <p>说微软垄断的，想想，是不是所有人都有权利开发操作系统获利？垄断只于市场的约束条件有关，即使市面上只有一家公司的产品，那也是市场自动优化的产物。以后我会写一篇文章来论述这一观点（其实是个合格的经济学家都知道，只有行政垄断才是真正的垄断）</p>
    </div>
    </content:encoded>
    <dc:creator>机械唯物主义</dc:creator>
    <pubDate>2012-05-01T22:08:00+00:00</pubDate>
  </item>
  <item>
    <title>旧_为什么不要帮助穷人</title>
    <link>http://blog.linjunhalida.com/article/旧_为什么不要帮助穷人</link>
    <content:encoded>
    <div class="document">
    <p>因为一个朋友的博客更新， 我重新登录了博客大巴， 偶然发现自己的旧博客， 就补救了几篇博客回来
    年岁已久， 重新整理在这里。也算是一份历史资料吧。</p>
    <p>--
    发布时间： 2008-02-15</p>
    <p>帮助穷人就是断绝他们自力更生的路。</p>
    <p>帮助穷人就是养懒人，养没用的人。</p>
    <p>帮助穷人就是给穷人找拒绝变富的借口。</p>
    <p>帮助穷人侵犯他们的人格。</p>
    <p>帮助穷人就是对所有其他人说：我希望世界上的穷人更多。</p>
    <p>帮助穷人就是共产主义──这就是为什么共产主义搞不好的原因。</p>
    <p>帮助穷人就是让自己和穷人交朋友。</p>
    <p>帮助穷人就是让自己和穷人混在一起。</p>
    <p>帮助穷人就是让自己象穷人一样思考。</p>
    <p>帮助穷人就是让自己变穷。</p>
    </div>
    </content:encoded>
    <dc:creator>机械唯物主义</dc:creator>
    <pubDate>2012-05-01T22:08:00+00:00</pubDate>
  </item>
  <item>
    <title>旧_为什么共产社会有等级划分</title>
    <link>http://blog.linjunhalida.com/article/旧_为什么共产社会有等级划分</link>
    <content:encoded>
    <div class="document">
    <p>因为一个朋友的博客更新， 我重新登录了博客大巴， 偶然发现自己的旧博客， 就补救了几篇博客回来
    年岁已久， 重新整理在这里。也算是一份历史资料吧。</p>
    <p>--
    发布时间： 2008-02-15</p>
    <p>人类社会内部结构，从经济学上看，只有以下三种情况：</p>
    <p>1等级制度。</p>
    <p>2管制制度。</p>
    <p>3私有制。</p>
    <p>等级制度。社会内部成员划分等级，不同的等级拥有不同的权利。</p>
    <p>管制制度。满足特定要求的社会成员拥有不满足者没有的一些权利。</p>
    <p>私有制。社会成员拥有私产，私产权利完全由个人拥有。</p>
    <p>现实中的社会，是上面三种情况的混合，不同成分或多或少而已。</p>
    <p>—不是我说的，张五常说的。</p>
    <p>作为共产主义社会，因为共产的特性，资源的产权没有界定。因为阻值消散──简单点说，世界上没有免费的午餐──为了防止资源最后真的变成免费的（全部被浪费掉），必然会产生某种机制来防止这样的现象发生。</p>
    <p>那么共产社会盛行管制和等级森严就很合理了。</p>
    <p>──不是我说的，还是张五常的意思。我不是理解得很透彻，还要想想。</p>
    </div>
    </content:encoded>
    <dc:creator>机械唯物主义</dc:creator>
    <pubDate>2012-05-01T22:08:00+00:00</pubDate>
  </item>
  <item>
    <title>旧_为什么我不能放弃Windows</title>
    <link>http://blog.linjunhalida.com/article/旧_为什么我不能放弃Windows</link>
    <content:encoded>
    <div class="document">
    <p>--
    发布时间: 2009-02-02</p>
    <p>因为我要玩很多很多的游戏。</p>
    <p>因为很多必要的软件，比如迅雷，谷歌拼音，网上银行</p>
    <p>因为我是一个delphi程序员。</p>
    <p>如何完全拥抱linux？</p>
    <p>可以这样：</p>
    <p>放弃玩游戏（对我来说真的很难。。是时候选择一个现实中的游戏了，比如羽毛球？）</p>
    <p>用小企鹅输入法，用BT,电驴,让别人帮忙在网上买东西。</p>
    <p>找个其他不用delphi的工作，比如网站，跨平台软件。</p>
    </div>
    </content:encoded>
    <dc:creator>机械唯物主义</dc:creator>
    <pubDate>2012-05-01T22:08:00+00:00</pubDate>
  </item>
  <item>
    <title>旧_为什么我们要用命令行工具</title>
    <link>http://blog.linjunhalida.com/article/旧_为什么我们要用命令行工具</link>
    <content:encoded>
    <div class="document">
    <p>因为一个朋友的博客更新， 我重新登录了博客大巴， 偶然发现自己的旧博客， 就补救了几篇博客回来
    年岁已久， 重新整理在这里。也算是一份历史资料吧。</p>
    <p>--
    发布时间： 2008-02-15</p>
    <p>大多数电脑的使用者，对电脑软件的印象就是：一个屏幕中的窗口，里面有许多的工具栏，如果要做什么事情，就用鼠标来点点。很多人不知道有些电脑软件，是要通过敲键盘，输入一些奇怪的英文字符来实现的。</p>
    <p>对于很少以及不使用这些软件的人而言，这些软件很奇怪也很不好用。对于非英语国家的人们来说，记忆英文命令，简直就是一种折磨，哪里有鼠标点来点去快捷呢。 这造成了很多人本能上就拒绝这些工具。</p>
    <p>的确，命令行工具很难学，没有图形界面来得容易和简便──一开始。但是如果你接触到一些复杂的情况，比如重复性的劳动，你会觉得很累，比如很复杂的功能，根本没有你想要的图形界面的工具，这个时候，你就要尝试使用命令行工具。</p>
    <p>本质上来说，命令行工具就是编程，与人工手动执行相比，命令行工具能够被自动化地执行，，抛去了直观的界面，剩下的就是纯粹的功能。对于追求效率的人而言，界面显得华而不实──无法满足自己的需要。</p>
    <p>即便如此，命令行和图形界面也不是对立的关系。它们各有所司。工具都是拿来给人用的。什么好用就用什么。</p>
    </div>
    </content:encoded>
    <dc:creator>机械唯物主义</dc:creator>
    <pubDate>2012-05-01T22:08:00+00:00</pubDate>
  </item>
  <item>
    <title>旧_为什么我要用linux</title>
    <link>http://blog.linjunhalida.com/article/旧_为什么我要用linux</link>
    <content:encoded>
    <div class="document">
    <p>--
    发布时间： 2009-02-02</p>
    <p>因为我要学习编程。</p>
    <p>因为emacs。</p>
    <p>因为我喜欢不装杀毒软件裸奔。</p>
    <p>因为我喜欢用命令行来装B（实际真的很好用）</p>
    <p>因为装软件方便（尤其是编程，相关的依赖库很容易就装起了。）</p>
    <p>因为稳定（崩溃和老问题也很稳定地出现）</p>
    <p>因为免费（得了，都工作的人了，在乎这点钱吗？）</p>
    </div>
    </content:encoded>
    <dc:creator>机械唯物主义</dc:creator>
    <pubDate>2012-05-01T22:08:00+00:00</pubDate>
  </item>
  <item>
    <title>旧_为什么政府没有效率</title>
    <link>http://blog.linjunhalida.com/article/旧_为什么政府没有效率</link>
    <content:encoded>
    <div class="document">
    <p>因为一个朋友的博客更新， 我重新登录了博客大巴， 偶然发现自己的旧博客， 就补救了几篇博客回来
    年岁已久， 重新整理在这里。也算是一份历史资料吧。</p>
    <p>--
    发布时间： 2008-02-15</p>
    <p>政府是垄断</p>
    <p>垄断有垄断利益</p>
    <p>为了垄断利益，更多的人要加入政府机构</p>
    <p>加入政府机构要付出代价──大多数不是钱。</p>
    <p>付出的代价绝大多数被浪费掉了──比如考核，年资，政治背景。</p>
    <p>这些代价都要计算在政府的成本里面</p>
    <p>而企业是没有加入这些代价的，成本比政府低。</p>
    <p>所以政府没有效率</p>
    </div>
    </content:encoded>
    <dc:creator>机械唯物主义</dc:creator>
    <pubDate>2012-05-01T22:08:00+00:00</pubDate>
  </item>
</channel>
</rss>

