<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>不敢流泪</title>
	<atom:link href="http://www.boluor.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.boluor.com</link>
	<description></description>
	<lastBuildDate>Fri, 07 Oct 2011 07:28:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>工作一年多了</title>
		<link>http://www.boluor.com/%e5%b7%a5%e4%bd%9c%e4%b8%80%e5%b9%b4%e5%a4%9a%e4%ba%86.html</link>
		<comments>http://www.boluor.com/%e5%b7%a5%e4%bd%9c%e4%b8%80%e5%b9%b4%e5%a4%9a%e4%ba%86.html#comments</comments>
		<pubDate>Wed, 28 Sep 2011 13:58:08 +0000</pubDate>
		<dc:creator>boluor</dc:creator>
				<category><![CDATA[日记]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[工作]]></category>

		<guid isPermaLink="false">http://www.boluor.com/?p=694</guid>
		<description><![CDATA[<p>上季度总结的时候，那个报告上大部分都是扯皮的事情，没什么成就感，估计长此以往，自己就废了。这两月总结了下这一年的笔记，记了自己零零碎碎的想法 / 计划 /项目 / 感悟，一些当时的看法，想着看来已经不在乎或者站不住脚了，但总体来看自己还是改变了不少的。</p>
<ul>
<li>
<h3><span style="text-decoration: underline;"><strong>学习习惯</strong></span></h3>
</li>
</ul><ul>
<li>
<h5>时间管理</h5>
</li>
</ul>

<p style="padding-left: 90px;">前半年的时间里，我每天感觉自己好累好累，感觉某度的工作量实在是太大了。前三个月我都是赶着回龙观的最后一班地铁回去，有时候晚了就睡公司。但是这样我感觉我很努力很尽力的工作，并没有给我带来什么多大的好处，因为我的工作还是经常延期，而且做的并不漂亮。于是，在导师磊哥和manger的帮助下，开始试用时间管理，我买了一本《时间管理-给系统管理员》，因&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>上季度总结的时候，那个报告上大部分都是扯皮的事情，没什么成就感，估计长此以往，自己就废了。这两月总结了下这一年的笔记，记了自己零零碎碎的想法 / 计划 /项目 / 感悟，一些当时的看法，想着看来已经不在乎或者站不住脚了，但总体来看自己还是改变了不少的。</p>
<ul>
<li>
<h3><span style="text-decoration: underline;"><strong>学习习惯</strong></span></h3>
</li>
<ul>
<li>
<h5>时间管理</h5>
</li>
</ul>
</ul>
<p style="padding-left: 90px;">前半年的时间里，我每天感觉自己好累好累，感觉某度的工作量实在是太大了。前三个月我都是赶着回龙观的最后一班地铁回去，有时候晚了就睡公司。但是这样我感觉我很努力很尽力的工作，并没有给我带来什么多大的好处，因为我的工作还是经常延期，而且做的并不漂亮。于是，在导师磊哥和manger的帮助下，开始试用时间管理，我买了一本《时间管理-给系统管理员》，因为OPer的工作经常被打断，跟SYS-ADMIN一样。我看到了很多非常有用的点子，比如用一款软件提前规划你明天甚至是一周的工作；在固定的时间段做例行的事情，可以给同事约好一个免打扰的时间段；早上来之后不要被邮件拖着走，一天保证两-三次看邮件就可以了；一些需要在特定时间点合作的工作，可以让软件提醒，等等。</p>
<p style="padding-left: 90px;">而且那个时候我需要写日报，每天需要交代每个时间段在干什么，原来是精确到30分钟，后来是15分钟。这个是借鉴了组里组织学习的《小强升职记》的方法。我需要知道自己每天到底忙在了哪些地方，哪些最耗费人力，哪些可以优化。</p>
<p style="padding-left: 90px;">到我转正的时候，发现已经有了不少的改变。加上对业务的了解加深，所以越来越容易区分事情的轻重缓急。每天晚上的时候，都会计划明天的事情的优先级，利用GTD的思想，最重要的事情要有持续的投入并且优先级最高，紧要的事情优先级次之（<em>其实没有那么多紧要的事情，大部分情况下是我们觉得这个事情很急，而用户并不觉得</em>）。</p>
<p style="padding-left: 90px;">不过即使到现在，我还是感觉有时候时间管理的并不好，这个就牵涉到了另外的因素，比如说兴趣，你可能感兴趣的点和你必须做的工作并不match；或者说我发现自己有个很诡异的习惯，当有段空闲的时间，我可以做任何事情的时候，我会在做工作上的事情（不是指项目开发）还是学习（比如学习下新的语言，或者看书）之间选择，但是两个如果没有一个是紧急的情况下，我会选择去玩游戏，两个选择都不选择，至今我都很难想明白为什么这个时候我选择玩游戏会特别开心（<em>最近开始看 认知心理学，貌似可以解释这个现象</em>）。</p>
<ul>
<ul>
<li>
<h5>笔记</h5>
</li>
</ul>
</ul>
<p style="padding-left: 90px;">越来越觉得现在的信息量非常大，需要关注的，需要后续深入了解的东西很多，所以记笔记就自然而然了。这种事情开始会很有激情，过一段时间就会觉得没必要写吧，都知道或者说没啥值得写的。但不停的给自己点鼓励，写一段时间变成了习惯，就想不到很累很累的时候还需要写笔记了。我遇到的另外一个问题是，过一段时间会发现笔记很散或者说很多没有写到点子上，或者说需要后续跟进的就给忘了，这个我就养成<strong>周末花1-3个小时来整理成一周纪要</strong>，看的时候一目了然。</p>
<p style="padding-left: 90px;">我习惯用两款软件，一个是One Note，在页面上随地写便签，而且支持的格式很多，可以和Outlook联动，比如在Outlook里标注的任务可以自动加到One Note中，这样一天的任务就可以在One Note中管理，也可以将一些知识点分类整理。但One Note有个缺点是缺乏移动支持，所以我选择了EverNote，手机上，ipad和电脑上都装了，这样随时可以写，而且自动同步很方便。</p>
<ul>
<ul>
<li>
<h5>思维导图</h5>
</li>
</ul>
</ul>
<p style="padding-left: 90px;">一个小项目，也是麻雀虽小五脏俱全。如果不系统的想过关节，总会出现一些让你没有防备的事情发生。内部培训上过一节课“解决问题的思路”，虽然当天有讨论会只听了一半，但也学到了重要一点就是分析问题是要讲究方法的，不是想出一出是一出。用鱼骨图等工具将自己对这个事情的背景/目的（界定问题）/收集数据（不要过早下结论）/找出可能的原因/验证/可能的解决方案/风险评估。另外一种方法是头脑风暴，其实两个方法大家都耳熟能详了，但耐心的实践一把的，至少我在一开始很不习惯。但当有个项目我担当了一个代表的角色后，我逐渐发现如果不用这些思维导图之类的工具，很难将整件事情cover住。你要考虑整个项目对你们的收益 / 可能的影响 / 需要的配合（要考虑原则） /  排期 / 折衷方案 等等，没有一个图形化的表述或许你也很难将整件事情系统给别人讲清楚。</p>
<p style="padding-left: 90px;">有句话在上“解决问题的思路”那节课的时候，记得特别清楚：“<strong>世界上最值钱的东西是方法论</strong>”。</p>
<ul>
<ul>
<li>
<h5>讲座</h5>
</li>
</ul>
</ul>
<p style="padding-left: 90px;">我参加过几次内部培训，如果认真的参与进去，发现自己收获特别大。”新人导师”还有上面那节课老师的方法给的印象非常深。我们分别扮演了导师和新人的角色，在特定的情境下进行沟通，发现我扮演导师的时候比当新人的时候还紧张。<strong>多鼓励少批评</strong>这点我学了很久，因为我不太习惯夸赞别人，如果你做的很好，我会给争取更好的锻炼的机会，但是不会当着大家的面肯定你。但是回想自己当时的心情，如果我做得比较满意，我就特别希望有人肯定我，如果没有那虽然不是特别在乎但是总会有点失望。又比如不要鸡蛋里挑骨头，以自己现在的水平要求新人，一旦新人犯个错就下结论说这个新人不靠谱。</p>
<p style="padding-left: 90px;">这些点在讲座里都有提到。别人总结出来的，让我们少走了很多弯路，所以现在特别珍惜这些非常有价值的分享。当然，听到了，记下了，不代表你会运用了。我也在慢慢的和新人磨合的过程中学习着，每个人都不一样，要了解他们是怎么想的，怎么去鼓励他们都是一个比较难的问题。</p>
<ul>
<ul>
<li>
<h5>多思考，站的高一点</h5>
</li>
</ul>
</ul>
<p style="padding-left: 90px;">第一个发言的不一定是最好的，虽然可以抢得先机。随着时间慢慢走着，你会发现，解决一个问题，大家最终总会听从那个思考的最多的人。<strong>养成一个对事情的认识的深度的追求的习惯是非常有益的</strong>，或许别人比你知道早，接触早，但不一定会比你了解深。我在这个方面感触比较深，就比如说我作为一个Hadoop　OPer，运维了大半年的时候，Sandy有个项目需要了解下，他能在很短时间内问了我很多很多问题，我可能根本就想不到要往这方面想。这个我当时想到的解释有两点：1. 是说Sandy接触的大系统很多，接触一项新的东西的时候，他会充分利用自己之前积攒的经验和对比学习的惯性，去看待这个新事物；2 . 除去第一点的没有背景，我觉得我没有一个计划或者动力去循序渐进的了解这个我所负责的系统。</p>
<p style="padding-left: 90px;">这种对比，让我总是觉得我与他们有一大截的差距。我总觉得，如果felix和sandy有兴趣，他们做OP一定能运维的有声有色。有时候分析这种心理，认识到如果反过来看，是什么让我对他们如此有信心？我觉得不是他们做过RD，或者他们接触电脑比我早（没记错的话linux下程序我比sandy早点），我觉得是因为他们对待很多很多事情都有那么一种习惯，去深入，并且有输出，一次一次的让我相信他们。如果是这样，我如果想得到大家的肯定，那我为什么不这么做呢？</p>
<p style="padding-left: 90px;">犹记得一个同学给我说的，总觉得OPer要比任何人都要了解系统，拿到是的第一手的资料，最了解这些用户和需求，所以要站的高，看待问题要深，解决方案要系统，但是你们天天忙着扯皮，开会，我们只好帮你们做了，真是很羞愧。</p>
<ul>
<li>
<h3><span style="text-decoration: underline;"><strong>工作方式</strong></span></h3>
</li>
<ul>
<li><strong>要养成一套习惯，比如说什么时候处理什么事情，有固定的免打扰时间等</strong>。要不然过一个季度，你会发现自己天天在忙，忙的事情又不值得说，就是时间被打散的太开了，不能集中处理一些事情，效率低。比如之前做部门的HELP支持工作，开始的时候开着邮件从不关闭，来一个邮件我就处理一个，但是发现只要一个工作需要的时间较多时，我就会在几件事情间忙来忙去，最终问题都得不到有效解决，很有挫败感。把大部分精力放在了上下文切换中，中断次数太多，请求的响应自然变慢了。我们组内也讨论过这个问题，<strong>大家约定由个共同遵守的免打扰时间</strong>，并且把时间切分的细一些，比如说这两个小时我就不看邮件，专心解决一个问题。下1个小时我看看邮件，挑选优先级比较高的再专门处理。</li>
</ul>
</ul>
<ul>
<ul>
<li>
<h5>优先级很重要</h5>
</li>
</ul>
</ul>
<p style="padding-left: 90px;">作为一个OPer，这一年来感觉自己非常忙。可以说忙是一种常态，每周会有例行的很多会议讨论，还有临时插入的工作。如果不能合理的安排，仅凭自己的兴趣，或者FIFO或者FILO，结果都不好。需要将那些重要性高且紧急程度高的问题先集中精力解决了，再来次重要的。这样也可以在完成一项高优先级任务的时候降低自己的心理压力。</p>
<p style="padding-left: 90px;">我在这里遇到的问题一个问题，我有时候会就着自己的兴趣来。比如说要完成一个项目而且这个项目到了周四必须上线的情况，我会无限放大这个任务的难度，觉得这个项目必须要待会集中精力做，现在可以做其他的。最后把一个需要花10个小时的任务推迟到了只有5个小时必须完成，所以自己只能加班  / 熬夜，然后跟着别人说工作量好大啊，贵厂加班的风气很不好啊，其实很多时候我可以不加班。</p>
<ul>
<ul>
<li>
<h5>项目要有checkpoint，要有输出</h5>
</li>
</ul>
</ul>
<p style="padding-left: 90px;">这个点是因为我有两个项目都有延期，他们的共同点是时间跨度比较大。我在一开始的时候满怀热情，但是这种项目总会遇到钉子，一些需要时间才能给出解决方案或者验证的情况。在这种项目上，我跌过几次，因为没有明确的checkpoint，所以会觉得项目时间还是不少的，不用着急，但是下次关注或者有一些突破性的进展就是在结项前一段时间了。</p>
<p style="padding-left: 90px;">另一个问题是，当出现一个衍生的新问题时，我会跟着这个新问题走，而忘了这个项目最初要干嘛，或者最基本的要完成哪些点。比如说在做一个硬盘自动化修复的问题时，跟着跟着就去和合作的同学去研究出现的盘符漂移了，结果那个项目现在还没有结项。。。其实那个项目最初不过是想把修复自动化而已，出现的问题可以做一致性处理，不影响整个项目的主要指标。</p>
<p style="padding-left: 90px;">和导师磊哥，还有Manager一起分析过，他们都说一个原因是因为我没有制定明确的checkpoint。导致自己对整个项目的进度的评估不足，把握程度不够。试用了内部的一些项目管理软件，在项目初期和合作的同学制定了计划图和明确的checkpoint，并且备了预案，最近的几个项目虽不算大，但都按着步骤在进行着，这个方法确实很nice。</p>
<p style="padding-left: 90px;">当然，项目就是要有输出的，如果你做完了大家都不知道，或者说没有任何总结的文字或者将来可以参考的东西，那这个项目对团队有什么益处呢？话说我还真做过几个项目没啥输出的，最近一段时间在补，不然那段时间就当时浪费了。</p>
<ul>
<ul>
<li>
<h5>时间只能是挤出来了</h5>
</li>
</ul>
</ul>
<p style="padding-left: 90px;">工作后发现，如果你想学习，时间就只能挤了。工作上的事情忙完今天的会有明天的，而且这里的工作很大一部分不是老大指派而是自己要主动去想，去发现，最后自己去主导的。如果你想像传说中google员工每天有20%的时间用于自己学习，那就只能挤了。（<em>关于20%的时间的重要性不必赘述了吧，这个到处都是</em>）</p>
<p style="padding-left: 90px;">我 这一年，这一点做的很差很差。学如逆水行舟，不进则退，正是我Blog的Banner图片的 背景文字，大二的时候为了激励自己设计的。三年过去了，我在这方面还是做的不好，我最近在试着把晚上9：00 &#8211; 11点这段时间空下来，专心学一些东西，比如说这周安排的是JQuery的入门和实践，也是因为最近写了个系统希望界面友好些，但是项目并不会考虑你的学 习时间的，只好安排在晚上了。希望过段时间能感觉到方法能work。</p>
<ul>
<ul>
<li>
<h5>写文档的能力</h5>
</li>
</ul>
</ul>
<p style="padding-left: 90px;">写文档我现在越来越觉得很重要，一个收益是是梳理你所学的东西，写的过程就是整理的过程，往往能在写的过程中发现自己原来有很多店没有弄清楚；二个是锻炼自己的思考能力和表述能力，让别人能通过你的文字知道你想表达什么，并能学到东西是比说还要技术的活。三个就显而易见了，你看很多系统都有FAQ就知道，如果没有文档，你会被各种问题喷死的，文档可以大大减少沟通的时间。刘未鹏的Blog上有一篇文章提到《<a href="http://mindhacks.cn/2009/02/09/writing-is-better-thinking/">书写是为了更好的思考</a>》，可以移步看看。</p>
<p style="padding-left: 90px;">不得不承认，有些文档，我写的满满的，但是很不耐看（或许某同学会说就比如说你这篇总结，^_^）。让我想起了一个笑话，“你在飞机上”（百度下？），就是说你说的一点都不错，但是对读文档的人来说基本没有啥用处。我感觉自己在这方面有两个问题：1. 不想写，这个想法我现在随时都有，一个工具如果是自己开发的，自己很了解，觉得没啥可写的，不就是用了什么实现了什么功能吗。2. 怕写不好。这个我仔细分析过自己的心理，发现非常吻合《拖延心理学》中的追求“完美”导致的拖延症的心理路线。我希望写出来就能一鸣惊人，希望大家看后就都能明白并肯定，但是一旦下笔开始写就会觉得可能很多点要考虑，写的是不是不够吸引人，是不是没有交代清楚，是不是缺少了内容，结果就是一个字都没有开始。</p>
<ul>
<li>
<h3><span style="text-decoration: underline;">几点认识</span></h3>
</li>
<ul>
<li><strong>要能发现并调整自己的情绪</strong>，不要被消极的阴影笼罩着，你要做到优秀，就必须一刻不停的向前走。有很多比你优秀的人在前面等着你去超越，你可能已经失掉了起点，但至少现在都还不到终点。</li>
<li><strong>基础非常重要</strong>，是拔高和拉差距的地方。你需要厚积薄发，慢慢会思如泉涌。最终你会慢慢发现，基础才是面对面一起工作的两个人实力有差距的重大因素。举个例子，比如说我都搞不懂TCP/IP三次握手(hard knowledge)，在遇到网络问题时，我根本就想不到是哪一块的问题。当Doctor说这个是超时时间设置太短了或者说是丢包导致的，我试了试，发现真的有效，但是心理落差更大了。这个东西我不是没听说啊，但是我为什么不能第一个站出来解决？所以现在我觉得，基础如果不夯实，遇到问题不是别人给路你走不下去，而是说你根本想不到该走哪一条，你的知识体系根本串不起来。</li>
<li>不要一味的抱怨，要给团队<strong>解决方案</strong>，而不是一味的将责任归咎于制度和某个人。</li>
<li><strong>有舍才有得，要有重点</strong>。才开始工作的时候，felix分享过一篇文章，叫做《我们不是不够skill，we just have no time》，文章分析了在公司工作的时候，大部分时间花在了开会（准备/组织）等沟通上。我那段时间觉得什么都要学，什么都很重要，不了解可能就会失去一些认识。但是看过后淡定了许多，搞明白哪些是自己最需要的，需求在一定程度上决定了学习的方向和重要程度。</li>
<li>有些事情，不是不做，而是时机不对。</li>
<li><strong>优秀是一种习惯，要将这种习惯培养成自然而然的</strong>。好的习惯要养成都比较慢比较考验人，但是要想一些小习惯，其实你想都不想就做了，也感觉不到有费劲儿或者其他感受，所以如果是一个好习惯，就花时间培养，当你不经过大脑就有了习惯性的反应，你就前进了一大步。如果科比在跳起来投篮的时候还要想着手臂与手肘要尽量垂直等等，估计脚落地了都投不出去。</li>
<li><strong>加大对大块的投资</strong>，比如健康，这个用我的工资是吃不起药的，而且我还需要养家。再必须说现在没有自己组家庭的压力的时候，可以花一些钱到一些对之后有收益的事情上，比如学车 / 英语口语。</li>
<li>如果有idea很好，但是如果想主导去做，一定不要忘了评估两件事情，<strong>一个是收益，二个是成本</strong>。</li>
<li>这一年读书很少，但是却比在学校多（不包括教科书）。其实大部分情况，别人都遇到过，总结的经验如果能流传到今天，自是有很多道理的。为什么不早点去学习和感受呢？最近在看《深入理解计算机系统》，一定要改掉自己一看书就瞌睡的习惯~</li>
</ul>
</ul>
<p>&nbsp;</p>
<p style="padding-left: 30px;">离开学校这么多个月了，还是很希望有机会再回去看看，趁好多同学研究生还没有毕业。这是毕业后我跟武汉很少联系了，也不知道为什么不再习惯像以前那样跟同学打电话聊一通。但看群聊天看大家都还很开心，开心就好。</p>
<p style="padding-left: 30px;">草草的写了这些，希望我下次看到的时候能把提到的缺点改善不少，在北京的朋友们能多聚几次，希望niubility的各位兄弟们能越来越好，希望我能跟Snoopy多学几道菜~</p>
<p style="padding-left: 30px;">To 想哥，这个也算完成了是毕业一年多的总结的作业吧，虽然是晚点了不少~</p>
]]></content:encoded>
			<wfw:commentRss>http://www.boluor.com/%e5%b7%a5%e4%bd%9c%e4%b8%80%e5%b9%b4%e5%a4%9a%e4%ba%86.html/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Little Miss Sunshine 经典独白</title>
		<link>http://www.boluor.com/little-miss-sunshine-%e7%bb%8f%e5%85%b8%e7%8b%ac%e7%99%bd.html</link>
		<comments>http://www.boluor.com/little-miss-sunshine-%e7%bb%8f%e5%85%b8%e7%8b%ac%e7%99%bd.html#comments</comments>
		<pubDate>Sun, 31 Oct 2010 14:13:44 +0000</pubDate>
		<dc:creator>boluor</dc:creator>
				<category><![CDATA[日记]]></category>

		<guid isPermaLink="false">http://www.boluor.com/?p=663</guid>
		<description><![CDATA[<p>今晚把《Little Miss Sunshine》看完了，我记得很久之前看到就准备看，一看到Frank自杀未遂的镜头，就猜是讲精神病的话题，话题太重就关了。</p>
<p>故事虽然很平淡，但是生活场景却很细腻，一家六个人问题各异，其中的争吵非常贴近生活，因为他们都不愿意花时间去倾听别人的问题。这种现象在现实中很普遍，而且很难以自我发现。片子还是属于喜剧的，一家人因着对小女孩Olive的爱，在帮助她实现梦想的过程中，学会了去了解，理解，支持和鼓励他人。</p>
<p>留下深刻印象的是几句经典的台词：</p>
<p>1 .  You Know what a loser is ? A real loser is somebody that is so afraid of not winnin&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>今晚把《Little Miss Sunshine》看完了，我记得很久之前看到就准备看，一看到Frank自杀未遂的镜头，就猜是讲精神病的话题，话题太重就关了。</p>
<p>故事虽然很平淡，但是生活场景却很细腻，一家六个人问题各异，其中的争吵非常贴近生活，因为他们都不愿意花时间去倾听别人的问题。这种现象在现实中很普遍，而且很难以自我发现。片子还是属于喜剧的，一家人因着对小女孩Olive的爱，在帮助她实现梦想的过程中，学会了去了解，理解，支持和鼓励他人。</p>
<p>留下深刻印象的是几句经典的台词：</p>
<p>1 .  You Know what a loser is ? A real loser is somebody that is so afraid of not winning that they don&#8217;t even try.</p>
<p>2 .  There is two kinds of people in this world  . There&#8217;s winners and there&#8217;s losers . Okay ? You know what the difference is ? Winners don&#8217;t give up.</p>
<p>3 .  If I want to fly , i will find the way to fly.</p>
<p>4 .  A conversation : </p>
<p>&#8211;You Know Marcel Proust ?<br />
&#8211;He&#8217;s the guy you teach  -Yeah<br />
&#8211;French writer . Total loser , Never had a real job , Unrequited love affairs , Gay . Spent 20 years writing a book almost no one reads. But he&#8217;s also probably the greatest writer since Shakespeare. Anyway , he,uh&#8230; he get down to the end of his life &#8230; and he looks back and decides that all those years he suffered&#8230; Those were the best years of his life , cause they made him who he was. Any the years he was happy  ? You know , total waste. Didn&#8217;t learn a thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.boluor.com/little-miss-sunshine-%e7%bb%8f%e5%85%b8%e7%8b%ac%e7%99%bd.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>成为高级领导者的诀窍</title>
		<link>http://www.boluor.com/%e6%88%90%e4%b8%ba%e9%ab%98%e7%ba%a7%e9%a2%86%e5%af%bc%e8%80%85%e7%9a%84%e8%af%80%e7%aa%8d.html</link>
		<comments>http://www.boluor.com/%e6%88%90%e4%b8%ba%e9%ab%98%e7%ba%a7%e9%a2%86%e5%af%bc%e8%80%85%e7%9a%84%e8%af%80%e7%aa%8d.html#comments</comments>
		<pubDate>Sun, 17 Oct 2010 03:14:21 +0000</pubDate>
		<dc:creator>boluor</dc:creator>
				<category><![CDATA[自我管理]]></category>

		<guid isPermaLink="false">http://www.boluor.com/?p=657</guid>
		<description><![CDATA[<p>看到有推荐阅读这篇文章，确实不错，好文共享。</p>
<p>zz : <a href="http://www.ebusinessreview.cn/c/oversea_article-layoutId-26-id-8045.html" class="broken_link">http://www.ebusinessreview.cn/c/oversea_article-layoutId-26-id-8045.html</a> </p>
<p>那天我正走在曼哈顿中城区的四十八大街上，旁边匆匆闪过一个男人，他衣冠楚楚，皮鞋蹭亮，头发一丝不乱，手拎皮革公文包，只见他一扭头吐出了口香糖。<br />
我一直盯着那团口香糖，生怕一不小心踩上去。它从我前面大约三英尺处掠过，又从一棵树上弹回到人行道上，不偏不移地滚到了它主人的脚下，那人自顾自走着，丝毫没有觉察他自己吐出来的那块蓝色口香糖现在粘在了他的鞋底上。</p>
<p>我大笑起来。</p>
<p>由此我不禁思绪翩翩。多少次我们都做了同样的蠢事？&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>看到有推荐阅读这篇文章，确实不错，好文共享。</p>
<p>zz : <a href="http://www.ebusinessreview.cn/c/oversea_article-layoutId-26-id-8045.html" class="broken_link">http://www.ebusinessreview.cn/c/oversea_article-layoutId-26-id-8045.html</a> </p>
<p>那天我正走在曼哈顿中城区的四十八大街上，旁边匆匆闪过一个男人，他衣冠楚楚，皮鞋蹭亮，头发一丝不乱，手拎皮革公文包，只见他一扭头吐出了口香糖。<br />
我一直盯着那团口香糖，生怕一不小心踩上去。它从我前面大约三英尺处掠过，又从一棵树上弹回到人行道上，不偏不移地滚到了它主人的脚下，那人自顾自走着，丝毫没有觉察他自己吐出来的那块蓝色口香糖现在粘在了他的鞋底上。</p>
<p>我大笑起来。</p>
<p>由此我不禁思绪翩翩。多少次我们都做了同样的蠢事？多少次我们按照我们认为对自己有利的方式采取行动，但结果却像粘上我们鞋底的口香糖？</p>
<p>有时候，这种情形是显而易见的。我刚刚听到一个故事，说的是一位华尔街银行高级主管的糗事。和他任职的银行一样，这位主管也是债台高筑，他买下了一套远超他实际购买能力的公寓。所以，当他听说下次奖金没有预料的那么多时，不禁破口大骂，并在公司其他人面前大肆诋毁上司。结果是，他现在落得个既没了奖金，又丢了饭碗。</p>
<p>但更多的时候是很微妙的。</p>
<p>我有一位客户名叫芭芭拉（文中人物都使用化名），她供职于一家金融服务公司，是一位很有成就的技术专家，她管理着一个大部门，颇受敬重。她之所以成了我的客户，是因为她数次有望升任总经理而功亏一篑，理由是她还需要把自己的行为修炼得“更资深”（more senior）。</p>
<p>从我们的交谈中我听出芭芭拉显然不明白什么叫“更资深”，但她自己认为是应该有更多的曝光，好让别人看得到她的努力和成功。</p>
<p>于是她开始全方位地展示自己，她要确保同事们都知道她正着手的项目，她要自己团队里的上上下下都保持紧密联系，她发更多的邮件向别人介绍自己的最新成就，她不再独自在办公室里吃午饭，而是尽可能和高级领导者们共进午餐。所有这一切她并没有做得太过分，她只是有意识地展示自己和自己的部门。</p>
<p>她的做法不无道理，但收到的效果却和她的初衷南辕北辙。她没有想到的是，她的行为恰恰告诉别人她的资历还很浅。</p>
<p>资深人士不用为自己的曝光度努力，他会为他人创造曝光度，因为他们自己已经不需要曝光了；他们已经拥有了曝光度，他们就是资深人士，谁人不知。</p>
<p>一次坐飞机时我很惨地坐在中间位置，一侧是一位体态匀称的男人，正在吃色拉，另一侧是一位严重超重的男人，嚼着South Beach牌子的减肥棒，这根减肥棒就把他的问题暴露无遗了，吃着它的人自己把自己归入了失败者行列。如果你想要健美的话，就不要去吃那些肥胖人为了减肥而吃的东西，相反，应该去做使健美的人保持健美体态的事。从现在开始就把自己当做是一个健美的人，吃色拉，而不是减肥棒。</p>
<p>同理，成为高级领导者的秘诀就是做那些已经成为高级领导者的人所做的事，举手投足如同已经是一位高级领导者，而不是做那些你自以为能使你成为高级领导者的事情。</p>
<p>芭芭拉把这个区别搞清楚后就改变了自己的策略，她开始抬高他人，更加认可他人，努力让他人得到升迁机会。</p>
<p>她还把注意力从自己的部门扩展到企业的范围，因为卓有成效的高级领导者不会厚己薄人，把自己的部门放在首要位置，相反，他们会把企业的整体利益放在心里。</p>
<p>我在一家客户企业里看到，有人在整个企业工资冻结的时候还为自己的团队争取涨工资，他会认为此举是为他手下的人谋福利，但是，在他的上司眼里，他却没有全局观念，他会因此而被看低，更糟糕的是，他不再被认为是一名优秀的团队合作者。</p>
<p>在另一家客户企业，一名地区新主管不断为自己的部门争取利益，甚至不惜让整个企业为此付出代价。这一切看上去也无可厚非，毕竟，作为地区主管，他当然要为自己的部门争取，但最终他落得个失败下场。</p>
<p>如果你也想坐最高领导者们坐的那张圆桌，那就不要光顾了自己的部门。要对自己的部门有更深的了解，但行动要从企业的整体利益出发，即使这将意味着伤害到自己部门的利益。这才是高级领导者的作为。</p>
<p>作为一位领导者，最有利于自己个人的做法其实是考虑大局。芭芭拉不再把自己局限于团队的头头后，她开始意识到自己是对整个企业都负有责任的。</p>
<p>过去，她拼命把那些出色的员工留在自己的团队里为自己工作，即使他们的能力已经超越了职务，甚至于对自己的工作已经厌倦，她也不放手。如今，她会在别的部门寻找机遇，把自己手下的优秀人才推荐出去，让他们有更多的发展空间。过去，她会花大量的时间表达自己的看法和意见，以为这样才能显出她的才能。如今，她会更多地提出问题，征询他人的看法，其实这样做更显出她的聪慧和开明。</p>
<p>这里的秘诀就是，聪明的行为事实上造就了芭芭拉的聪明，她不再仅仅是显得资深了，她是真的变得资深了，而这也为她的企业增添了真正的价值。</p>
<p>柯特•冯格尼特（Kurt Vonnegut）有句名言：“我们就是我们假装成为的那种人。所以我们必须对想假装成为怎样的人多加小心。”他把这句话当作一个警告，但作为建议也同样不无裨益。</p>
<p>芭芭拉在下一回合中如愿当上了总经理。</p>
<p>至于那位鞋底粘着口香糖的先生呢，我只能假设，他还没有发现。不过，他一路走过，很可能在他身后留下一串蓝色的黏糊糊的印迹。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.boluor.com/%e6%88%90%e4%b8%ba%e9%ab%98%e7%ba%a7%e9%a2%86%e5%af%bc%e8%80%85%e7%9a%84%e8%af%80%e7%aa%8d.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>云输入法chrome扩展</title>
		<link>http://www.boluor.com/%e4%ba%91%e8%be%93%e5%85%a5%e6%b3%95chrome%e6%89%a9%e5%b1%95.html</link>
		<comments>http://www.boluor.com/%e4%ba%91%e8%be%93%e5%85%a5%e6%b3%95chrome%e6%89%a9%e5%b1%95.html#comments</comments>
		<pubDate>Thu, 17 Jun 2010 18:37:48 +0000</pubDate>
		<dc:creator>boluor</dc:creator>
				<category><![CDATA[程序设计]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.boluor.com/?p=644</guid>
		<description><![CDATA[<p>在linux下，我在google chrome dev下用ibus输入法，经常出现输入焦点莫名丢失，而且webqq聊天时，用enter和ctrl+enter发送消息经常没效果，偶尔可以。这个时候用qq云输入法或者sougou云输入法就很不错。sougou云输入法已有firefox插件，不必要每次都点击书签中的“启动sougou云输入法”来开启。于是想写个chrome下的扩展，每个页面载入完成后开启qq云输入法(qq的比souguo的快点，不过扩展的写法一样)。</p>
<p>看了一晚上Google Chrome Extensions的文档，发现实现基本的功能还是蛮简单的。利用manifest.json中的conte&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>在linux下，我在google chrome dev下用ibus输入法，经常出现输入焦点莫名丢失，而且webqq聊天时，用enter和ctrl+enter发送消息经常没效果，偶尔可以。这个时候用qq云输入法或者sougou云输入法就很不错。sougou云输入法已有firefox插件，不必要每次都点击书签中的“启动sougou云输入法”来开启。于是想写个chrome下的扩展，每个页面载入完成后开启qq云输入法(qq的比souguo的快点，不过扩展的写法一样)。</p>
<p>看了一晚上Google Chrome Extensions的文档，发现实现基本的功能还是蛮简单的。利用manifest.json中的content_scripts，可以设置每个页面都包含的javascript。示意如下：</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:Courier new,verdana;"><span style="color: #009900;">&#123;</span>
<span style="color: #3366CC;">&quot;name&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;qqCloudIMEforchrome&quot;</span><span style="color: #339933;">,</span>
<span style="color: #3366CC;">&quot;version&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;1.0&quot;</span><span style="color: #339933;">,</span>
<span style="color: #3366CC;">&quot;description&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;a chrome extension that Automatically open qq Colud IME&quot;</span><span style="color: #339933;">,</span>
<span style="color: #3366CC;">&quot;browser_action&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#123;</span>
	<span style="color: #3366CC;">&quot;default_icon&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;icon.png&quot;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
<span style="color: #3366CC;">&quot;content_scripts&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>
	<span style="color: #009900;">&#123;</span>
	<span style="color: #3366CC;">&quot;matches&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;http://*/*&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
	<span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span><span style="color: #3366CC;">&quot;qqime.js&quot;</span><span style="color: #009900;">&#93;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>开启QQ的云输入法的一段js代码，也就是qqime.js的内容：</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:Courier new,verdana;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>q<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #339933;">!!</span> q <span style="color: #339933;">?</span> q.<span style="color: #660066;">toggle</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>d<span style="color: #339933;">,</span> j<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        j <span style="color: #339933;">=</span> d.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        j.<span style="color: #660066;">src</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'http://ime.qq.com/fcgi-bin/getjs'</span><span style="color: #339933;">;</span>
        j.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'ime-cfg'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'lt=2'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        d.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'head'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">QQWebIME</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>如图：<br />
<div id="attachment_647" class="wp-caption alignnone" style="width: 599px"><a href="http://www.boluor.com/wp-content/uploads/2010/06/doodle.png"><img class="size-full wp-image-647" title="qqCloudIME extension" src="http://www.boluor.com/wp-content/uploads/2010/06/doodle.png" alt="qqCloudIME extension" width="589" height="116" /></a><p class="wp-caption-text">qqCloudIME extension</p></div></p>
<p>想试用，可以打开google chrome的开发人员扩展模式。建个文件夹，然后将上述两个文件放置进去，再找个最大19*19像素的icon。打个包提供下载，解压后，选择用chrome打开安装即可。<a href="http://www.boluor.com/wp-content/uploads/2010/06/ChromeExtqqCloudIME.crx_.zip">ChromeExtqqCloudIME.crx</a></p>
<p>现在测试可用，在每次打开一个新页面时会自动打开qq云输入法。不过还有些问题没有解决，比如这个扩展没有提供在当前页面关闭和开启输入法的功能，待完善。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.boluor.com/%e4%ba%91%e8%be%93%e5%85%a5%e6%b3%95chrome%e6%89%a9%e5%b1%95.html/feed</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>推荐视频 &#8211; 《我只知道这样一件事》</title>
		<link>http://www.boluor.com/one-thing-i-know.html</link>
		<comments>http://www.boluor.com/one-thing-i-know.html#comments</comments>
		<pubDate>Tue, 08 Jun 2010 06:25:06 +0000</pubDate>
		<dc:creator>boluor</dc:creator>
				<category><![CDATA[休闲]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.boluor.com/?p=641</guid>
		<description><![CDATA[<object width="480" height="400"><param name="movie" value="http://player.youku.com/player.php/sid/XMTc4MDY0NDAw/v.swf"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="never"></param><param name="allownetworking" value="internal"></param><param name="flashvars" value="isShowRelatedVideo=false&#038;showAd=0&#038;show_pre=1&#038;show_next=1&#038;isAutoPlay=false&#038;isDebug=false&#038;UserID=&#038;winType=interior&#038;playMovie=true&#038;MMControl=false&#038;MMout=false&#038;RecordCode=1001,1002,1003,1004,1005,1006,2001,3001,3002,3003,3004,3005,3007,3008,9999" /></object>
]]></description>
			<content:encoded><![CDATA[<object width="480" height="400"><param name="movie" value="http://player.youku.com/player.php/sid/XMTc4MDY0NDAw/v.swf"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="never"></param><param name="allownetworking" value="internal"></param><param name="flashvars" value="isShowRelatedVideo=false&showAd=0&show_pre=1&show_next=1&isAutoPlay=false&isDebug=false&UserID=&winType=interior&playMovie=true&MMControl=false&MMout=false&RecordCode=1001,1002,1003,1004,1005,1006,2001,3001,3002,3003,3004,3005,3007,3008,9999" /><embed src="http://player.youku.com/player.php/sid/XMTc4MDY0NDAw/v.swf" type="application/x-shockwave-flash" allowscriptaccess="never" allownetworking="internal" allowfullscreen="true" width="480" height="400" flashvars="isShowRelatedVideo=false&showAd=0&show_pre=1&show_next=1&isAutoPlay=false&isDebug=false&UserID=&winType=interior&playMovie=true&MMControl=false&MMout=false&RecordCode=1001,1002,1003,1004,1005,1006,2001,3001,3002,3003,3004,3005,3007,3008,9999"></embed></object>
]]></content:encoded>
			<wfw:commentRss>http://www.boluor.com/one-thing-i-know.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>某一天是星期几 &amp;&amp; php的整除</title>
		<link>http://www.boluor.com/weekday-of-oneday-and-exact-division-in-php.html</link>
		<comments>http://www.boluor.com/weekday-of-oneday-and-exact-division-in-php.html#comments</comments>
		<pubDate>Mon, 17 May 2010 15:24:27 +0000</pubDate>
		<dc:creator>boluor</dc:creator>
				<category><![CDATA[程序设计]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">http://www.boluor.com/?p=635</guid>
		<description><![CDATA[<p>最近在写日程管理系统，其中有个蛮有趣的问题，如何知道某一天是星期几？</p>
<p>假设日期是2010-5-17，php中用date函数可以轻松得得到。date函数的用法：<br />
string date ( string $format [, int $timestamp ] )<br />
$format为”w”时，可以获取timestamp对应的星期的数字编号，0代表Sunday,1代表Monday&#8230;6表示Saturday。date(“w”,mktime(1,1,1,5,17,2010))就可以获取2010-5-17所对应的星期了。</p>
<p>记得之前sandy推荐给我看的linux下mktime实现的源码分析中，提到了一个magic numbe&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>最近在写日程管理系统，其中有个蛮有趣的问题，如何知道某一天是星期几？</p>
<p>假设日期是2010-5-17，php中用date函数可以轻松得得到。date函数的用法：<br />
string date ( string $format [, int $timestamp ] )<br />
$format为”w”时，可以获取timestamp对应的星期的数字编号，0代表Sunday,1代表Monday&#8230;6表示Saturday。date(“w”,mktime(1,1,1,5,17,2010))就可以获取2010-5-17所对应的星期了。</p>
<p>记得之前sandy推荐给我看的linux下mktime实现的源码分析中，提到了一个magic number，还有神奇的Gauss算法。温习时发现了很多讨论某一天是星期几的算法。其中比较著名的有基姆拉尔森计算公式和蔡勒公式。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;以下摘自百度百科&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
基姆拉尔森计算公式：<br />
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7<br />
在公式中d表示日期中的日数，m表示月份数，y表示年数。在公式中有个与其他公式不同的地方：把一月和二月看成是上一年的十三月和十四月，例：如果是2004-1-10则换算成：2003-13-10来代入公式计算。结果中0表示Monday , 1 表示 Tuesday &#8230; 6表示Sunday，跟date函数的不同。</p>
<p>蔡勒公式如下：<br />
　　W = [C/4] &#8211; 2C + y + [y/4] + [13 * (M+1) / 5] + d &#8211; 1<br />
　　或者是:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1<br />
　　公式中的符号含义如下：<br />
　　w：星期； w对7取模得：0-星期日，1-星期一，2-星期二，3-星期三，4-星期四，5-星期五，6-星期六<br />
　　c：世纪-1（前两位数）<br />
　　y：年（后两位数）<br />
　　m：月（m大于等于3，小于等于14，即在蔡勒公式中，某年的1、2月要看作上一年的13、14月来计算，比如2003年1月1日要看作2002年的13月1日来计算）<br />
　　d：日<br />
　　[ ]代表取整，即只要整数部分。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;以上摘自百度百科&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>用php实现了下：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:Courier new,verdana;"><span style="color: #000000; font-weight: bold;">function</span> day2week<span style="color: #009900;">&#40;</span><span style="color: #000088;">$year</span><span style="color: #339933;">,</span><span style="color: #000088;">$month</span><span style="color: #339933;">,</span><span style="color: #000088;">$day</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$month</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$year</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$year</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$month</span> <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">12</span> <span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #000088;">$w</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$day</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span><span style="color: #000088;">$month</span> <span style="color: #339933;">+</span><span style="color: #cc66cc;">3</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$month</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">5</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$year</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span><span style="color: #000088;">$year</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">4</span> <span style="color: #339933;">-</span>
 <span style="color: #000088;">$year</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">100</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$year</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span>  <span style="color: #cc66cc;">7</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$w</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<p>但测试时发现结果不对头。跟sandy讨论了会儿，发现用C语言实现的程序运行结果是正确的，才想到是php的整除的问题，php的动态类型的机制，“/”之类的结果是浮点类型的。要想得到和C语言一样的整除的效果，就要配合floor和ceil两个取整函数了。C中取整都是向0靠拢，也就是说如果结果是负数，就取大于等于结果的最小整数；结果是正数，就取小于等于结果的最大整数。一个php中的类似实现：</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:Courier new,verdana;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
    <span style="color: #000000; font-weight: bold;">function</span> rst2int<span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span> <span style="color: #339933;">,</span><span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$b</span> <span style="color: #339933;">&lt;</span> <span style="color:#800080;">1e-9</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;error&quot;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$rst</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$a</span><span style="color: #339933;">/</span><span style="color: #000088;">$b</span> <span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$rst</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> ? <span style="color: #990000;">floor</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rst</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #990000;">ceil</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$rst</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">echo</span> rst2int<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> rst2int<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> rst2int<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>写脚本的时候还是要特别注意才好啊~</p>
]]></content:encoded>
			<wfw:commentRss>http://www.boluor.com/weekday-of-oneday-and-exact-division-in-php.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>windows下利用CDO发送邮件</title>
		<link>http://www.boluor.com/vbscript-to-send-email-using-cdo-under-windows.html</link>
		<comments>http://www.boluor.com/vbscript-to-send-email-using-cdo-under-windows.html#comments</comments>
		<pubDate>Fri, 14 May 2010 10:02:21 +0000</pubDate>
		<dc:creator>boluor</dc:creator>
				<category><![CDATA[程序设计]]></category>
		<category><![CDATA[VBS]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.boluor.com/?p=634</guid>
		<description><![CDATA[<p>前几天同学丢了本子后，毕业论文一个字不剩。要是临到答辩前我也遭遇这么一出可就傻眼了，所以想每天备份下毕业论文。备份的最好的地方就是发到邮箱了，空间大而且方便，不过每次都手动发送邮件是件挺麻烦的事情，搜了下发现用CDO蛮方便的，而且是内建在windows内核中的，不用安装七七八八的组件。</p>
<p>下面的代码实现了一键备份，将当前的系统时间当作Subject的一部分，方便区别。(VBS实现)</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:Courier new,verdana;">NameSpace = <span style="color: #800000;">&#34;http://schemas.microsoft.com/cdo/configuration/&#34;</span>
<span style="color: #000080;">Set</span> Email = CreateObject(<span style="color: #800000;">&#34;CDO.Message&#038;q</span></pre></div></div><p>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>前几天同学丢了本子后，毕业论文一个字不剩。要是临到答辩前我也遭遇这么一出可就傻眼了，所以想每天备份下毕业论文。备份的最好的地方就是发到邮箱了，空间大而且方便，不过每次都手动发送邮件是件挺麻烦的事情，搜了下发现用CDO蛮方便的，而且是内建在windows内核中的，不用安装七七八八的组件。</p>
<p>下面的代码实现了一键备份，将当前的系统时间当作Subject的一部分，方便区别。(VBS实现)</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:Courier new,verdana;">NameSpace = <span style="color: #800000;">&quot;http://schemas.microsoft.com/cdo/configuration/&quot;</span>
<span style="color: #000080;">Set</span> Email = CreateObject(<span style="color: #800000;">&quot;CDO.Message&quot;</span>)
Email.From = <span style="color: #800000;">&quot;aaa@sina.com&quot;</span>
Email.<span style="color: #000080;">To</span> = <span style="color: #800000;">&quot;bbb@gmail.com&quot;</span>
Email.Subject = <span style="color: #800000;">&quot;毕业论文备份 &quot;</span> + <span style="color: #000080;">cstr</span>(now())
Email.Textbody = <span style="color: #800000;">&quot;OK!&quot;</span>
Email.AddAttachment <span style="color: #800000;">&quot;E:\毕设文档\毕业论文.docx&quot;</span>
<span style="color: #000080;">With</span> Email.Configuration.Fields
.Item(NameSpace&amp;<span style="color: #800000;">&quot;sendusing&quot;</span>) = 2
.Item(NameSpace&amp;<span style="color: #800000;">&quot;smtpserver&quot;</span>) = <span style="color: #800000;">&quot;smtp.sina.com&quot;</span> 
.Item(NameSpace&amp;<span style="color: #800000;">&quot;smtpserverport&quot;</span>) = 25
.Item(NameSpace&amp;<span style="color: #800000;">&quot;smtpauthenticate&quot;</span>) = 1
.Item(NameSpace&amp;<span style="color: #800000;">&quot;sendusername&quot;</span>) = <span style="color: #800000;">&quot;aaa@sina.com&quot;</span>
.Item(NameSpace&amp;<span style="color: #800000;">&quot;sendpassword&quot;</span>) = <span style="color: #800000;">&quot;yourpasswd&quot;</span>
.Update
<span style="color: #000080;">End</span> <span style="color: #000080;">With</span>
Email.Send</pre></div></div>

<p>以上参考：<br />
<a href="http://www.paulsadowski.com/wsh/cdo.htm">VBScript To Send Email Using CDO</a><br />
<a href="http://hi.baidu.com/tbxwz/blog/item/f7daff1637509b57f2de3216.html">一个用Windows脚本发邮件的例子</a><br />
CDO相关参考见：<br />
<a href="http://www.teamits.com/internet/support/nt/cdo.html">CDO (Collaboration Data Objects)</a><br />
MSDN中也有相关的介绍。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.boluor.com/vbscript-to-send-email-using-cdo-under-windows.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[virtualbox]windows宿主机访问linux客户机</title>
		<link>http://www.boluor.com/virtualbox-windows-host-connect-linux-guest.html</link>
		<comments>http://www.boluor.com/virtualbox-windows-host-connect-linux-guest.html#comments</comments>
		<pubDate>Wed, 05 May 2010 15:40:57 +0000</pubDate>
		<dc:creator>boluor</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://www.boluor.com/?p=630</guid>
		<description><![CDATA[<p>　　今天felix建议，可以虚拟机里跑个ubuntu server，就没必要跑ubuntu下开发，再回到windows下写论文了。之前有考虑过，但是1G的内存，跑了个win7还开了Aero，担心内存不够。回来把Aero给关了，装了试试，有点卡，不过将就着能用，早该加内存了。</p>
<p>　　客户机跑ubuntu 10.04 server，NAT连接的网络。NAT engine将宿主机当作了路由器，所有流出和流进虚拟机的数据包都由这个engine转发，但是这样，客户机隐藏在幕后，包括宿主机在内的其他主机都访问不到客户机了。VirtualBox的帮助文件中提到，如果想在客户机上跑一些服务，就需要用NAT端口映射。使用V&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>　　今天felix建议，可以虚拟机里跑个ubuntu server，就没必要跑ubuntu下开发，再回到windows下写论文了。之前有考虑过，但是1G的内存，跑了个win7还开了Aero，担心内存不够。回来把Aero给关了，装了试试，有点卡，不过将就着能用，早该加内存了。</p>
<p>　　客户机跑ubuntu 10.04 server，NAT连接的网络。NAT engine将宿主机当作了路由器，所有流出和流进虚拟机的数据包都由这个engine转发，但是这样，客户机隐藏在幕后，包括宿主机在内的其他主机都访问不到客户机了。VirtualBox的帮助文件中提到，如果想在客户机上跑一些服务，就需要用NAT端口映射。使用VBoxManage.exe可以满足需求。如果要想开启ssh server，好使宿主机可以用putty或者SecureCRT等等连上去开发，可以用下面的命令(cmd下并切换到virtualbox的安装目录即VBoxManage所在的目录下)：</p>
<p>(1)　　VBoxManage setextradata [GuestHostName] “VBoxInternal/Devices/[vcard]/0/LUN#0/Config/[servicename]/Protocol” TCP<br />
(2)　　VBoxManage setextradata [GuestHostName] “VBoxInternal/Devices/[vcard]/0/LUN#0/Config/[servicename]/GuestPort” 22<br />
(3)　　VBoxManage setextradata [GuestHostName] “VBoxInternal/Devices/[vcard]/0/LUN#0/Config/[servicename]/HostPort” [specifiededport]</p>
<p>其中：<br />
[GuestHostName]为客户机的名称，比如ubuntuserver，如果有空格的话用”"括起来<br />
[vcard]需要根据客户机的网卡芯片改变。PCNet -> pcnet；Intel PRO/1000 -> e1000；<br />
[servicename]就是为这个转发设置起个名字，随便就可以~别跟其他转发设置起冲突<br />
[specifiededport]是将客户机22端口映射到主机的哪个端口，这个端口号最好>1024.</p>
<p>注意设置的时候关闭虚拟机或者是保存状态.</p>
<p>如果要开启其他服务的话，就按照这种格式。比如换成http，mysql时，Protocol不变，只需设置GuestPort为对应的端口号.(ssh -> 22,mysql -> 3306,etc)</p>
<p>在windows宿主机中打开localhost，客户机的Http服务器就会响应了。在SecureCRT用ssh连接localhost时，别忘了将端口号设置为你定义的端口号^/^</p>
<p>不过每次系统启动的时候就需要重新设置下，可以扔到一个bat文件中，开机启动或者virtualbox启动时执行。</p>
<p>由于安装的是ubuntu server ,VBoxGuestAdditions安装不上，从宿主机到客户机传送文件可用rz/sz。</p>
<p>用ubuntu server硬盘很吃紧，考虑用puppy linux with lamp。如果跑ubuntu server的话，分配64M内存就够用了。</p>
<p>有个问题没解决，宿主机怎么ping通客户机？有没有种方式将ICMP包也转发到客户机上？虽然这样并没有实际的用处。</p>
<p>另可参考felix的解决方案：</p>
<p><a href="http://www.felix021.com/blog/read.php?1873" class="broken_link">用VirtualBox在Windows上搭建一个Ubuntu工作站</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.boluor.com/virtualbox-windows-host-connect-linux-guest.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>BadApple CMD半完美版。。</title>
		<link>http://www.boluor.com/badapple-cmd-semi-perfect-version.html</link>
		<comments>http://www.boluor.com/badapple-cmd-semi-perfect-version.html#comments</comments>
		<pubDate>Mon, 22 Feb 2010 12:56:17 +0000</pubDate>
		<dc:creator>Sandy</dc:creator>
				<category><![CDATA[程序设计]]></category>

		<guid isPermaLink="false">http://www.boluor.com/?p=586</guid>
		<description><![CDATA[<p>又借boluor地方丢东西了，给boluor填添麻烦了~~</p>
<p>在网上看到BadApple的若干个CMD控制台版本，感觉都不是很完美，同步有问题，还闪屏，而且有些体积巨大。。于是自己抽空重头写了一个，感觉效果还可以，解决了30FPS同步和闪屏的问题，在此丢出来献丑与大家同乐~~</p>
<p>之所以说半完美版，是因为还没有应用之前确定的即时压缩算法也没有添加背景音乐（太偷懒了，以后抽空做吧）</p>
<p>GCC编译的，没开优化貌似exe体积比较大，用VC Release编译只有50k左右。。</p>
<p>附件：<br />
（WP不会上传，Boluor能否帮忙整上来？）<br />
<br />
下载：<a href='http://www.boluor.com/wp-content/uploads/2010/02/BadApple_Release.zip'>BadApple_Release</a><br />
(这个是VC的Release编译版，500多k，谢谢&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>又借boluor地方丢东西了，给boluor填添麻烦了~~</p>
<p>在网上看到BadApple的若干个CMD控制台版本，感觉都不是很完美，同步有问题，还闪屏，而且有些体积巨大。。于是自己抽空重头写了一个，感觉效果还可以，解决了30FPS同步和闪屏的问题，在此丢出来献丑与大家同乐~~</p>
<p>之所以说半完美版，是因为还没有应用之前确定的即时压缩算法也没有添加背景音乐（太偷懒了，以后抽空做吧）</p>
<p>GCC编译的，没开优化貌似exe体积比较大，用VC Release编译只有50k左右。。</p>
<p>附件：<br />
（WP不会上传，Boluor能否帮忙整上来？）<br />
<附件来啦~~><br />
下载：<a href='http://www.boluor.com/wp-content/uploads/2010/02/BadApple_Release.zip'>BadApple_Release</a><br />
(这个是VC的Release编译版，500多k，谢谢boluor帮忙上传~~)</p>
<p>有图有真相：</p>
<p><a href="http://www.boluor.com/badapple-cmd-semi-perfect-version.html/ba3-2" rel="attachment wp-att-591"><img src="http://www.boluor.com/wp-content/uploads/2010/02/ba31.gif" alt="BadApple截图" title="ba3" width="409" height="324" class="size-full wp-image-591" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.boluor.com/badapple-cmd-semi-perfect-version.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>实习满月小结</title>
		<link>http://www.boluor.com/a-month-intership-at-opi.html</link>
		<comments>http://www.boluor.com/a-month-intership-at-opi.html#comments</comments>
		<pubDate>Mon, 01 Feb 2010 03:26:20 +0000</pubDate>
		<dc:creator>boluor</dc:creator>
				<category><![CDATA[日记]]></category>

		<guid isPermaLink="false">http://www.boluor.com/?p=583</guid>
		<description><![CDATA[<p>　　来OPI实习一个月了。一个月前我放弃了考研，虽然已经报了名。</p>
<p>　　半个多月前，研究生入学考试的时候，我发现自己其实没有多大的遗憾。</p>
<p>　　在学校的时候，对未来方向有莫名的恐惧，怕选错了方向，怕走错一步。每天在读还是不读研，工作去哪个公司，作哪个方向的工作之间反复地考虑。以我当时的想法，如果是baidu和tencent，那就绝对应该去。felix到了baidu实习，sandy去了tencent，BFS只剩下我还在徘徊，而我发现我的徘徊并没有意义。因为我对外面并不了解，所以一些想法很天真，很偏颇。比如我之前以为系统运维就是那种困在机房，哪个硬件坏了换哪个，一周七天一天二十四小时随叫随到的，来了这里一&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>　　来OPI实习一个月了。一个月前我放弃了考研，虽然已经报了名。</p>
<p>　　半个多月前，研究生入学考试的时候，我发现自己其实没有多大的遗憾。</p>
<p>　　在学校的时候，对未来方向有莫名的恐惧，怕选错了方向，怕走错一步。每天在读还是不读研，工作去哪个公司，作哪个方向的工作之间反复地考虑。以我当时的想法，如果是baidu和tencent，那就绝对应该去。felix到了baidu实习，sandy去了tencent，BFS只剩下我还在徘徊，而我发现我的徘徊并没有意义。因为我对外面并不了解，所以一些想法很天真，很偏颇。比如我之前以为系统运维就是那种困在机房，哪个硬件坏了换哪个，一周七天一天二十四小时随叫随到的，来了这里一个月，发现绝大部分工作并不是我想象中的，更多的是自动化监控和维护，系统和网络的性能优化。</p>
<p>　　来这里实习的一个月，我在自己的小地盘看看书，写写程序，中午睡会儿，周末出去转悠。对所做的工作有了初步的了解后，就没有那么担心方向了，所以之前的恐惧只是因为对于所要走的路没有一丁点的了解所致，这就跟有些人怕鬼一样，因为不了解，所以担心某一天一个人坐电梯的时候，身边会多出一个影子来。所以，现在很感谢felix，在我第一次来BJ的时候，畅谈了很久，坚定了我来实习的决心。</p>
<p>　　在这里的一个月，认识了很多同事，不过这里都喊同学。开始觉得直接喊名字不好意思，到现在已经习惯了。这种朋友间的称呼方式让我没有上级下级的区分，没有那么多的顾虑，我们只对我们所做的工作关心。所以休息的时候，我们一起讨论游戏，讨论某本书，讨论我们所做的工作。工作学习让每一天都很充实，闲下来就和同组的同学们，打桌球网球玩游戏，也忙的不亦乐乎。</p>
<p>　　知识的积累当然也是我最大的收获之一。最开始，了解了我们常用的工具，ganglia，nagios监控系统状态，rrdtool管理rrd数据库；紧接着BOSS给任务是能根据图形趋势自动报警，而不仅仅是阈值，所以，学了一次移动平滑法，一次移动平均，曲线拟合，使用octave和gnuplot，而gnuplot目前并没有好的接口，最后用管道实现，最后结合SMS，EMAIL，MSN报警。目前还没有结束的任务，模拟实际网络，对测试网络延时，抖动，丢包率等等对用户体验的影响。要考虑的因素很多，牵涉的知识更多。网卡转发的性能，服务器(Apache/Nginx)，动态数据还是静态数据，压缩和非压缩，压力测试中并发连接数和服务器的配置。最让我记忆深刻的，是当时网络数据发送速率的问题，原则上千兆网卡发送数据包，64B的小包的PPS应该在1488100。但是怎么测试都没达到，最后wn看了网卡说明书，调整了网卡允许的中断数，才差不多符合理论值。当我们都卡在发送数据包大小的设置时，他却能去找到这个网卡驱动的源码，看了说明，才知道加载的时候有这么个参数，或许他会这么想跟他在IBM实习的经历有关吧。</p>
<p>　　还要继续再提的是，我很感谢现在的BOSS。我们在测试的时候，他能时常给提示，每晚的结果都给我们点建议，不是那种硬性的只要结果。而最让我觉得他非常值得感谢的地方在于，明明这个试验，如果他带头，很快就可以有结果，但他却让我们三个人讨论着做。而在一次聊天中，他不经意间说，让我们去摸索，去碰壁，去失败，比直接给我们结果要好得多，能锻炼人，思考问题的过程比直接得到一些TIPS要珍贵的多。要说我最开始觉得他很值得尊重，是因为觉得他是linux内核源码贡献者之一，平时很多人来问他问题，那么这个月下来，我再加一条理由，就是他这么努力的锻炼我们，给我们学习的时间和机会。我会特别提这点，其实是因为这么一个大环境，学习，工作，休息，让我不平静的心终能平静一段时间。在这一段时间，公司在选择我，我也在选择公司，双向选择的过程中，发现身边不仅有好的同事同学，更有好的BOSS，这种感觉很好。</p>
<p>　　到现在实习虽才一个月，不过也有些感触，希望给自己，给朋友们看看。</p>
<p>　　１。培养自己的学习方法，培养一些好的习惯。工作开始后，可能牵涉的知识很多很多，要考虑的问题更多。如何在有限的时间内，给出一步步的安排，如何能够快速了解一门语言(比如说你了解过一些面向对象和脚本的话，初步熟悉python就是一两天的事情)，比如说要学php，为那些自己记住的几个函数沾沾自喜，而不去作几个项目，用用framework，这种学习方法只能让你停留在最浅显的层次。培养好的习惯，举个例子，不要张口就问问题，不要轻易承诺任务，不要在遇到困难的时候就放弃或者有意拖延或者给BOSS报告夸大难度。还有很重要的一点，就是要学着时间管理，不要做事不分轻重缓急，虽然努力，效果却不一定好。</p>
<p>　　２。尽量将安排的课程认真学好，尤其是数学，经常梳理自己所学的知识。其实，这话是我最应该去听去做的，只可惜没机会了。在学校的时候，逃课太多，虽然大多数逃课的时候，都是在写代码。但是缺乏了系列的课程学习，让我的知识很难梳理，系统的掌握，联想更困难。当然，不去上课或者不认真听讲，有可能是因为学的东西很空泛，比如网络课上分析网络源代码，当时的情况就是那老师讲得越生动，我就越容易睡着。而唯一的几次没有睡着听到的内容，在实习的时候都遇到了，比如设置网络转发时，可以将proc中的接口ip_forward设置为1。我觉得我上课的失误，在于努力记住一些tips，而不是努力将所学的知识都串起来，总觉得学得零零散散的。如果可以的话，还是努力得听课吧，努力把握实习的机会，找到适合的工作，你应该很快发现课堂的东西多么珍贵。特别提到数学，是因为很多工作都跟数学有关系，我们系统运维要作数学分析，产品的也要做。即使你的工作跟数学挂不上钩，但是思考数学问题的过程可以很锻炼逻辑思维。顺便推荐一个我经常看的网站：Matrix67（http://www.matrix67.com/blog/）。</p>
<p>　　３。多关注一些行业的信息，眼光要向前，看得长远。这条不多解释，一心只读圣贤书的时代早已不再，在瞬息万变的环境中，找到方向，少些彷徨，少些迷茫，多做事。</p>
<p>　　４。不要对硬件不闻不问。这条其实是针对我的。我之前对硬件很不关心，所以当sandy和felix讨论微机，讨论南桥北桥，讨论参数和配置的时候，我只能一边听一边记，但过后就忘记十之八九了。来了实习之后，发现没有谁是真正的完全脱离硬件工作的。我在上面提到实习期间的任务时，就提到了网卡网络驱动，可能大家更知道的是路由器，交换机，这里我仅仅用了“知道”，而不是熟悉，是有原因的。我在之前就仅仅停留在“知道”的层次上。这就引出了我下面要说的一点。</p>
<p>　　５。看待问题要多去从底层去找原因，刨根问底。好的程序员绝对不少，但真正优秀的程序员并不多，这是在Linux SA Notes上看到的一句话。理由并没有必要解释，大家都有感触应该。因此，应该庆幸我们的第一语言是C语言，还接触了汇编。当“知道”了路由器，交换机是干什么的，还应该去了解他们的工作原理；当中了一次ARP攻击的时候，应该去了解ARP协议，为什么会受ARP攻击；而你天天在用浏览器，有没有去了解过HTTP协议，浏览器的一些设置比如并发连接数，最大连接数等等是什么。</p>
<p>　　前天和BOSS讨论，要不要建立团队BLOG的时候，BOSS说BLOGS如果没有更新就没必要，而如果仅仅写成流水帐，或者很多TIPS，也没有必要，这种需求wiki足够了。如果要建立BLOG，希望文章大多数是从根本上找原因，把一些看似神秘的东西，从底层去分析认识它，让它变得不神秘。这种BLOG才有对外部公开的必要。在考虑网卡转发包的时候，我终于把一个包从发出，经由内核缓冲区，(排队，优先级，调度)，网卡缓冲区，发包，TCP/UDP控制(滑动窗口，同步，丢包重发)，到最后另一终端接受的过程，有个整体的认识。这种认识是很有必要的，再考虑这些问题的时候，就可以比较容易的判断出可能是那些地方的问题。</p>
<p>　　下面是关于人人网的。人人的用户量在提升，服务器的压力肯定越来越大，而用户量需求的持续提升，一定需要在一段时间后，架构上能变革，服务器性能随之提升，当然成本也要加大，希望能尽早提升整个服务质量。还有一些我的看法，当然仅仅是自己以为的，如果站在其他人的角度，比如管理者可能就不这么看了。</p>
<p>　　１。提升用户体验，WEB服务器的改善和架构的改善是需要慢慢来的，但是有些却可以很快改善。比如界面可以更友好，更简洁。那个搜索框，明明可以通过ID，通过拼音，搜索好友，搜索PAGE，但是一点提示都没有，点开“高级搜索”，只能看到“名字”等输入框。之前抱怨说这个搜索框功能好简单阿，为什么连个通过ID搜人的功能都没有，现在才知道功能是有，只是没让大家知道。再说第三方的应用，开放平台，是非常好的决定，截至目前看来，效果也非常好，为人人网开发的应用具体数目我不知道，不过前天人人网最佳应用评选中，看到报道说有上万。但是，我觉得要注意一点，大多数人会把这些应用有些不好的地方归咎于人人网。如果一锅汤里有好几个坏鸡蛋，足以将一锅汤坏掉。所以，要对第三方服务的质量严格把关，金牌认证应用的做法很不错。但还有一些应用，比如“好读书，读好书”，积累了那么多用户后，却没有人维护了。最后一次管理员发言是09年7月，讨论区好多人问，是不是管理员停止维护了，都得不到响应。这种应用，我觉得第三方就应该承担责任，我们提供了平台，钱也放在桌子上，一起分享，但他们得到一部分用户后，却不能长久负责任。这种做法很严重损害人人网的形象。还有广告商，那种明显会引起反感，侵犯隐私的敏感做法，当然会给人人网带来很负面的影响。今天就看到专挑刺的楚天都市报，报道说 <a href="http://www.cnbeta.com/articles/103342.htm">人人网鼓励举报汗臭5万人上榜 涉侵犯隐私</a>。稍微了解下，应该是广告商为了推广产品，推出的行动，但是，SNS的劣势也在这里，太真实，很容易触犯大家的隐私和底线。</p>
<p>　　２。在提升服务质量的时候，一定会积累一些经验，做好记录，最好总结，最好能够共享这些经验。简单的说，就是要有[大家风范]，成为大家心目中的“大家”，而不仅仅是一个赚钱的公司。就我个人而言，我喜欢那些知识共享的公司，比如Google，YAHOO(网络优化的那几条军规，应该是绝大多数网站优化的标准了)。这种大家风范一旦深入人心，自然会吸引最优秀的人才，在这里的工作的每一个人，将自己的青春和事业寄托的我们，自然会有责任感，荣誉感。</p>
<p>　　３。SNS有其独到的优势，所以应该尽早发掘商机，要能够一直领跑。国内的SNS竞争可谓激烈，我们虽然暂时领先，但是谁知道哪些大的软件公司，比如tencent会使出什么杀手锏。他们都有相当强大的开发队伍，这点决不可轻视。我们可以在服务质量上，不断提升档次。虽说很多评论说，tencent一直在模仿，但是tencent的软件，用户体验的确很好，这才是能吸引住大量用户最大的原因。</p>
<p>　　４。现在应用的定位大部分是网页游戏，但我认为，这股网游热不会长久。居安思危，如果从某段时间开始，网游不能带来很大的收益，我们将何以应对？多关注实用的服务，作真正惠及人心的服务，才能将用户抓牢。</p>
<p>　　我想站在管理者的角度看，上面提到的应该都想到了。说出来这些一孔之见，只是与好友分享我的想法，有些可能认识不够，了解不多，冒然下了结论。</p>
<p>　　对于将来，我会在摸索中前进。felix和sandy，还有我，BFS的明天会更好！ 同时也祝所有的朋友们，能够心想事成^/^</p>
]]></content:encoded>
			<wfw:commentRss>http://www.boluor.com/a-month-intership-at-opi.html/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

