<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>工作 on Tony Bai</title><link>https://tonybai.com/tags/%E5%B7%A5%E4%BD%9C/</link><description>Recent content in 工作 on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Wed, 31 Dec 2014 00:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/%E5%B7%A5%E4%BD%9C/index.xml" rel="self" type="application/rss+xml"/><item><title>2014小结</title><link>https://tonybai.com/2014/12/31/2014-summary/</link><pubDate>Wed, 31 Dec 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/12/31/2014-summary/</guid><description>2014年的最后一个工作日，这里写下有关2014年的一份小结。 年终总结本无固定格式，但写了若干年后，便有了自己的格式。但今年不打算遵循这个格式了，跳出自己的舒适区，随意写写。 **2014年**12月底，随着亚航QZ8501航班的最后一掉，航空史上都为数不多的灾难年终于画上了句号，留给人们的是久久的惊恐不安，留给遇难者 家属们的是无法释怀的悲伤。2014年12月31日15点，随着A股上证指数最后...</description></item><item><title>探讨Docker容器中修改系统变量的方法</title><link>https://tonybai.com/2014/10/14/discussion-on-the-approach-to-modify-system-variables-in-docker/</link><pubDate>Tue, 14 Oct 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/10/14/discussion-on-the-approach-to-modify-system-variables-in-docker/</guid><description>探讨完Docker对共享内存状态持久化的支持状况后，我将遗留产品build到一个pre-production image中，测试启动是否OK。很显然，我过于乐观了，Docker之路并不平坦。我收到了shmget报出的EINVAL错误码，提示参数非法。 shmget的manual对EINVAL错误码的说明如下： EINVAL： A  new  segment  was  to  be  create...</description></item><item><title>探讨docker容器对共享内存的支持情况</title><link>https://tonybai.com/2014/10/12/discussion-on-shared-mem-support-in-docker/</link><pubDate>Sun, 12 Oct 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/10/12/discussion-on-shared-mem-support-in-docker/</guid><description>我们的遗留系统广泛使用了性能最佳的IPC方式 – 共享内存，而且用到了两种共享内存的实现方式：System V共享内存(shmget、shmat、shmdt)以及Mmap映射Regular File。System V共享内存支持一定程度上的内存数据持久化，即当程序创建共享内存对象后，如果不显式删除或物理主机重启，该IPC对象会一直保留，其中的数据也不会丢 失；mmap映射Regular File的...</description></item><item><title>docker容器内服务程序的优雅退出</title><link>https://tonybai.com/2014/10/09/gracefully-shutdown-app-running-in-docker/</link><pubDate>Thu, 09 Oct 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/10/09/gracefully-shutdown-app-running-in-docker/</guid><description>近期在试验如何将我们的产品部署到docker容器中去，这其中涉及到一个技术环节，那就是如何让docker容器退出时其内部运行的服务程序也 可以优雅的退出。所谓优雅退出，指的就是程序在退出前有清理资源（比如关闭文件描述符、关闭socket），保存必要中间状态，持久化内存数据 （比如将内存中的数据flush到文件中）的机会。docker作为目前最火的轻量级虚拟化技术，其在后台服务领域的应用是极其广泛的...</description></item><item><title>Golang Channel用法简编</title><link>https://tonybai.com/2014/09/29/a-channel-compendium-for-golang/</link><pubDate>Mon, 29 Sep 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/09/29/a-channel-compendium-for-golang/</guid><description>在进入正式内容前，我这里先顺便转发一则消息，那就是Golang 1.3.2已经正式发布了。国内的golangtc已经镜像了golang.org的安装包下载页面，国内go程序员与爱好者们可以到&amp;#34;Golang中 国&amp;#34;，即golangtc.com去下载go 1.3.2版本。 Go这门语言也许你还不甚了解，甚至是完全不知道，这也有情可原，毕竟Go在TIOBE编程语言排行榜上位列30开外。但近期使用Gola...</description></item><item><title>Ubuntu Server 14.04安装docker</title><link>https://tonybai.com/2014/09/26/install-docker-on-ubuntu-server-1404/</link><pubDate>Fri, 26 Sep 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/09/26/install-docker-on-ubuntu-server-1404/</guid><description>近期在研究docker这一轻量级容器引擎，研究docker对日常开发测试工作以及产品部署运维工作能带来哪些便利。前些时候刚刚将工作环境从 Ubuntu搬到了Mac Air上，对Mac OS X的一切均不甚熟悉，给docker研究带来了不便，于是打算在VirtualBox中安装一Ubuntu Server作为docker之承载平台。这里记录一下安装配置过程，主要为了备忘，如果能给其他人带来帮助，我会...</description></item><item><title>Cocos2d-x屏幕适配之Sprite绘制原理</title><link>https://tonybai.com/2014/05/13/sprite-draw-principles-of-cocos2dx-screen-adaptation/</link><pubDate>Tue, 13 May 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/05/13/sprite-draw-principles-of-cocos2dx-screen-adaptation/</guid><description>手机(智能终端)游戏绝大多数为全屏(Full Screen)显示，这样开发人员在制作游戏时势必要考虑不同手机(智能终端）屏幕大小、宽高比的不同给游戏画面带来的影响，并且要将这种影响降低到最 小，努力使用不同终端的游戏玩家拥有几乎相同的游戏画面体验。为此各种游戏引擎在屏幕适配方面都给出了自己的方案，Cocos2d-x也不例外。 在Cocos2d-x官网Wiki上特地撰写了一篇讲解Cocos2d-x多...</description></item><item><title>Cocos2d-x 3.0rc0集成Google AdMob SDK</title><link>https://tonybai.com/2014/05/01/integrate-cocos2dx3rc0-with-admob/</link><pubDate>Thu, 01 May 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/05/01/integrate-cocos2dx3rc0-with-admob/</guid><description>话说Cocos2d-x 3.0上一周迫不及待地发布了正式版，本是一件值得庆幸的事情。但由于不可解决的技术问题，引擎无奈将Android平台的NativeActivity 实现重新回退到了Cocos2d-x 2.2.x版本的实现方案。由于之前已经将 GameDemo移植到了Cocos2d-x 3.0rc0版，直观感受到了NativeActivity方案带来的游戏操作体验上的提升（触屏事件的响应），因...</description></item><item><title>Cocos2d-x 3.0多线程异步资源加载</title><link>https://tonybai.com/2014/04/28/multithreaded-resource-loading-in-cocos2dx-3/</link><pubDate>Mon, 28 Apr 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/04/28/multithreaded-resource-loading-in-cocos2dx-3/</guid><description>Cocos2d-x从2.x版本到上周刚刚才发布的Cocos2d-x 3.0 Final版，其引擎驱动核心依旧是一个单线程的“死循环”，一旦某一帧遇到了“大活儿”，比如Size很大的纹理资源加载或网络IO或大量计算，画面将 不可避免出现卡顿以及响应迟缓的现象。从古老的Win32 GUI编程那时起，Guru们就告诉我们：别阻塞主线程(UI线程)，让Worker线程去做那些“大活儿”吧。 手机游戏，即便...</description></item><item><title>Cocos2d-x 3.0rc2集成ShareSDK</title><link>https://tonybai.com/2014/04/25/integrate-cocos2dx3rc2-with-sharesdk/</link><pubDate>Fri, 25 Apr 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/04/25/integrate-cocos2dx3rc2-with-sharesdk/</guid><description>给自己的手机游戏增加些社交分享功能，有助于游戏宣传和提升知名度，是一种不错的社交营销手段。国内这方面的第三方插件有不少，比如ShareSDK、友 盟分享组件、Baidu分享组件等，之前在研究2.2.2版本时，集成了ShareSDK这个组件，这次迁移到Cocos2d-x 3.0rc2依旧选择集成ShareSDK，这里就来说说集成的过程，遇到的一些问题以及解决方法。这里仅以Android平台游戏集成为...</description></item><item><title>Cocos2d-x 3.0rc2针对Android平台的变动</title><link>https://tonybai.com/2014/04/23/changes-in-cocos2dx-3-rc2-for-android/</link><pubDate>Wed, 23 Apr 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/04/23/changes-in-cocos2dx-3-rc2-for-android/</guid><description>《Hello, Cocos2d-x 3.0》一文发出后没多久，我就迫不及待地将手头的一个习作尝试从2.2.2版本迁移到3.0rc0引擎上。 核心代码迁移相对顺利，大致流程如下： **\* 创建项目** 1) cd cocos2d-x-3.0rc0；     2) 执行setup.py，设置引擎依赖的环境变量，脚本会将COCOS\_CONSOLE\_ROOT和ANT\_ROOT写入到~/.bash\...</description></item><item><title>Hello, Cocos2d-x 3.0rc0</title><link>https://tonybai.com/2014/04/22/hello-cocos2dx-3-rc0/</link><pubDate>Tue, 22 Apr 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/04/22/hello-cocos2dx-3-rc0/</guid><description>Cocos2d-x 3.0版本已经发布了rc2，这让这段时间用熟了Cocos2d-x 2.2.2的我也有些蠢蠢欲动。按照触控科技主创人员在CocoaChina2014大会上的讲解，Cocos2d-x 3.0版本相比2.x版本在各方面都有不错的提升，于是乎就想把手头上的一款习作移植到3.0版本引擎下，看看运行效果如何。不过在移植之前，我先来看看 3.0与2.0相比在整体代码结构以及引擎驱动核心方面到...</description></item><item><title>说说执行力</title><link>https://tonybai.com/2014/03/05/thought-on-executive-power/</link><pubDate>Wed, 05 Mar 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/03/05/thought-on-executive-power/</guid><description>_You are never to dictate what I can and can not do. The only two words I want to hear from you when I ask you to do something are &amp;#34;Yes&amp;#34; and &amp;#34;Sir&amp;#34;。（我能做什么不能做什么，你管不着。我吩咐你做事的时候，只想听到两个词，&amp;#34;是的&amp;#34;和&amp;#34;先生&amp;#34;。）       ...</description></item><item><title>关于2014团队改善的考量</title><link>https://tonybai.com/2014/03/03/considerations-on-team-improved-in-2014/</link><pubDate>Mon, 03 Mar 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/03/03/considerations-on-team-improved-in-2014/</guid><description>_一个人的品行，不取决于这人如何享受胜利，而在于这人如何忍受失败。                                                                        — 《纸牌屋》第一季_ 团队改善，不是那种很快见到成果或者效益的活儿。 但这件事你做不做呢？坦诚的说，今年我在这方面的“热情”真的不是那么高，肯定是不如前两年了，因为是时候更多地为自己的“前...</description></item><item><title>2013小结</title><link>https://tonybai.com/2014/01/04/my-summary-of-2013/</link><pubDate>Sat, 04 Jan 2014 00:00:00 +0800</pubDate><guid>https://tonybai.com/2014/01/04/my-summary-of-2013/</guid><description>2013年的个人年终总结比以往来得晚了一些，至于原因，我也说不清楚，拖延症也罢，其他原因也罢，总之是晚了。 写年终小结已经有小几年了，风格一直如一，无非是老三样：工作得失、生活酸甜以及新年展望，今年也不利外。 **\* 工作篇** 我们部门在所在行业里已经摸爬滚打了10多年了，经 历和见证了这个行业从诞生、增长、成熟到如今的衰退的整个过程。也正是由于处于行业的衰退期，2013年部门的运营十分艰难。...</description></item><item><title>向安德学指挥</title><link>https://tonybai.com/2013/12/27/learn-how-to-command-from-ender/</link><pubDate>Fri, 27 Dec 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/12/27/learn-how-to-command-from-ender/</guid><description>_指挥官必须有良好的精神素质，必须具备果敢、坚定的性格和冷静的智慧；必须了解和 学习控制部队对于死亡和痛苦的反应。                                                                                                            — 克劳塞维茨 《战争论》_ 指挥，看起来并非是程序员的本职工作。 在...</description></item><item><title>只为那一抹释然</title><link>https://tonybai.com/2013/12/26/just-for-being-relieved/</link><pubDate>Thu, 26 Dec 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/12/26/just-for-being-relieved/</guid><description>_一切没有目标的努力，都是瞎忙活儿。_                                                     _\- Tony Bai_ 刚实施回来，就又投入到新工作中，到今天才有那么一点点时间写写这件事儿。 **\* 缘起** 我们的遗留系统性能一直不高，导致这一局面的因素有很多，比如最初设计和实现的“考虑不足”、后续维护人员的“随波逐流”甚至缺少勇气对影响性能...</description></item><item><title>团队与创造的平衡</title><link>https://tonybai.com/2013/12/21/the-balance-between-team-and-creativity/</link><pubDate>Sat, 21 Dec 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/12/21/the-balance-between-team-and-creativity/</guid><description>_“安德来了之后，我们必段保持一个巧妙的平衡。要让他保持一定程度的孤立，使他创造性不至于消失，否则他就会和这儿的整个团体融合在一起，我们会失去他的天赋。同时，我们也必须确定他有足够的能力去领导别人。”                                                                     — 《安德的游戏》作者：奥森·斯科特·卡德_ 上面的引述是《安...</description></item><item><title>再谈那些代码中的“中国式”命名</title><link>https://tonybai.com/2013/11/22/those-chinese-style-naming-in-code-again/</link><pubDate>Fri, 22 Nov 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/11/22/those-chinese-style-naming-in-code-again/</guid><description>近期博客访问量提高了不少，分析了下原因，发现是有几篇近期写的文章被某个好心网友提交到dbanotes的Startup News上了。与此同时，一些反馈也随之而来。从反馈来看，《那些代码中的“中国式”命名》一文似乎受到了更多的关注，或许是文章标题比较容易引起好奇的 缘故吧。但文章的本意仅是想阐述一些事实罢了，并没有“哗众取宠”的意思。网友的观点也促使我重新对“中国式”命名做了反思。 **\* “中国...</description></item><item><title>代码是怎么腐化的</title><link>https://tonybai.com/2013/11/12/how-code-corrupt/</link><pubDate>Tue, 12 Nov 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/11/12/how-code-corrupt/</guid><description>_新三年，旧三年，修修补补又三年。                                                              — 中国俗语。_ 上面的这句俗语用来形容很多遗留软件系统(legacy software system)的现状是再合适不过了。 今天下午做了一下午的代码评审，对象是一个运行了7年的遗留系统。会上除了几处明显的代码逻辑错误我发言指了出来外，涉及...</description></item><item><title>关于程序员的构思能力的一些体会</title><link>https://tonybai.com/2013/10/27/some-experience-about-ideation-of-programmer/</link><pubDate>Sun, 27 Oct 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/10/27/some-experience-about-ideation-of-programmer/</guid><description>_有一段时间，我完全沉迷于在脑海中**想象**机械绘图和设计新机型所带来的极致享受，这是我一生中有过的最完美的精神愉悦。创造的灵感像泉水般源 源不断 地涌出，我遇到的唯一困难就是必须设法牢牢抓住它们。对我来说，**构思**中的设备零件都绝对是真实的，所有细节都触手可及，甚至最细微的标识和磨损状态也是如 此。想象发动机在持续不断地运转，仿佛一道迷人的风景呈现在面前，令我欣喜若狂。_         ...</description></item><item><title>为阻塞型函数调用添加超时机制</title><link>https://tonybai.com/2013/10/25/add-timeout-to-blocking-function-call/</link><pubDate>Fri, 25 Oct 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/10/25/add-timeout-to-blocking-function-call/</guid><description>我们产品中的一个子模块在进行Oracle实时数据库查询时，常常因数据库性能波动或异常而被阻塞在OCI API的调用上，为此我们付出了“惨痛”的代价。说来说去还是我们的程序设计的不够完善，在此类阻塞型函数调用方面缺少微小粒度的超时机制。 调用阻塞多发生在I/O操作（磁盘、网络、低速设备）、第三方API调用等方面。对于文件/网络I/O操作，我们可利用在非阻塞文件描述符上select /poll的超时机...</description></item><item><title>关于编程语言学习的一些体会</title><link>https://tonybai.com/2013/10/22/some-experience-about-learning-programming-language/</link><pubDate>Tue, 22 Oct 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/10/22/some-experience-about-learning-programming-language/</guid><description>_Learn at least one _new language every year_.                                               — Andy Hunt and Dave Thomas_ 自己一直是“每年学习一门新语言”的忠实拥趸，曾先后认真地学习了Haskell、Common Lisp、Python、Go等语言，对Prolog、Scala、...</description></item><item><title>当Bug A遇到Bug B</title><link>https://tonybai.com/2013/10/14/when-bug-a-encounter-bug-b/</link><pubDate>Mon, 14 Oct 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/10/14/when-bug-a-encounter-bug-b/</guid><description>_2002年的Bug A与2008年的Bug B同时穿越到2013年，并在某个场合相遇了。_ 上周六，项目组本应以一个愉快的心情结束一天的工作的，但一个2002年的Bug A与另外一个2008年的Bug B同时穿越时空来到了2013年，并且恰恰在那时那刻（下班前）相遇了，于是项目组由放松变成了忙碌，由愉快变成了紧张，17：30的下班点也因此延迟到了凌晨1：30。 Bug A来源于2002年我们发布...</description></item><item><title>程序 – 程序员的avatar</title><link>https://tonybai.com/2013/10/08/program-the-avatar-of-programmers/</link><pubDate>Tue, 08 Oct 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/10/08/program-the-avatar-of-programmers/</guid><description>程序是什么？ 大师们曾给过这样的诠释：        _程序 = 数据 + 指令     程序 = 数据结构 + 算法_ 对此我也表示十分认同。但感觉这些观点更多是从机器运行模型或逻辑抽象的角度看待程序的，是左脑的产物。我的右脑告诉我：_**程序是程序员的avatar**_（化身）。这个隐喻式的诠释会让“程序”更有温度，并有些许人性的色彩。 计算机（CPU、主板、内存、磁盘、网络）为程序提供了一个...</description></item><item><title>站在更高的平台上</title><link>https://tonybai.com/2013/09/24/stand-on-a-higher-platform/</link><pubDate>Tue, 24 Sep 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/09/24/stand-on-a-higher-platform/</guid><description>中秋休假期间，在PPS上看了最新一集的龙珠Z剧场版“龙珠Z：神与神”。《七龙珠》是我最喜欢的一部日本漫画，年少时曾为之疯狂过。其对应的动画片《龙珠》以及《龙珠Z》我也是集集不落的，这部“龙珠Z：神与神”延续了龙珠Z的精彩。 片中主人公孙悟空与破坏神比鲁斯有过两次交手。第一次在界王星上，变身为超级塞亚人3的孙悟空被破坏神几乎“秒杀”；第二次是为了保护地球，孙悟空在悟饭、悟天、贝吉塔、特兰克斯的帮助下...</description></item><item><title>把所有东西都放入版本控制系统</title><link>https://tonybai.com/2013/09/04/putting-absolutely-everything-in-version-control/</link><pubDate>Wed, 04 Sep 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/09/04/putting-absolutely-everything-in-version-control/</guid><description>本文翻译自Dr. Dobb’s杂志主编Andrew Binstock的&amp;#34;Putting Absolutely Everything in Version Control&amp;#34;一文。 **持续交付(Continuous Delivery)的一个关键原则就是将所有东西都放入版本控制系统中。这解决了一些重大问题，但也引入了一些其他问题。** 持续交付是持续集成(CI)的一个自然扩展。后者旨在每次代码签入后运...</description></item><item><title>我的工作原则2</title><link>https://tonybai.com/2013/09/03/my-personal-work-principles-2/</link><pubDate>Tue, 03 Sep 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/09/03/my-personal-work-principles-2/</guid><description>_自我认知是循序渐进的，体会到了，就想将其整理出来，给自己一个交代。_                                                                             _\- Tony Bai_ 关于我的工作原则，感觉之前的那篇总结的还不够，这两天通过观察自己的所言所行，又有了些思绪，这里记录下来。 **\* 重塑标准** 简单来说就是根据组...</description></item><item><title>利用ZooKeeper服务实现分布式系统的配置数据同步</title><link>https://tonybai.com/2013/08/28/implement-config-sync-for-distributed-system-with-zookeeper-services/</link><pubDate>Wed, 28 Aug 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/08/28/implement-config-sync-for-distributed-system-with-zookeeper-services/</guid><description>_很多时候，一旦习惯了某些事情，也就习惯了它们的恶劣，习惯了它们的丑陋，习惯了它们“赋予”你的各种痛苦。                                                                                                                                                    ...</description></item><item><title>利用ZooKeeper服务实现分布式系统的Leader选举</title><link>https://tonybai.com/2013/08/23/leader-election-using-zookeeper/</link><pubDate>Fri, 23 Aug 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/08/23/leader-election-using-zookeeper/</guid><description>每次与Java组的同事们坐下来谈技术、谈理想、谈人生时，Java组的同事总会向我们投来羡慕的眼光：卧槽！又是自己开发的工具，太NB了。这时C程序 员们的脸上就会洋溢出自豪的笑容，然后内心骂道：谁让我们没有现成的呢。另一个空间里的某些“无C不欢”们或者某些“C Guru”们会骂道：靠，有了也不用，自己写！ 有时候，C程序员真的有一种下意识：不情愿使用其他语言开发的工具、框架或服务，且比其他程序员更爱...</description></item><item><title>我的工作原则</title><link>https://tonybai.com/2013/08/19/my-personal-work-principles/</link><pubDate>Mon, 19 Aug 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/08/19/my-personal-work-principles/</guid><description>想了若干种开场白，但无论哪种都不能令我满意，于是索性就这么开场了。 工作了若干年，不经意间就形成了自己的行事和决策风格，这里权且称之为工作原则吧。这些原则引导我制定工作目标、实施过程改善、作出方案决策、选择和培养团队人员以及进行自我改进等。我也相信这些原则是主观的、具有时间和环境局限性的。也许若干年后，随着我的角色和工作的变化，许多原则将 不再适用，但这不妨碍我现在将其总结和分享出来。 **\* ...</description></item><item><title>Ubuntu 12.04修复记</title><link>https://tonybai.com/2013/08/07/ubuntu-12-04-repairing-notes/</link><pubDate>Wed, 07 Aug 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/08/07/ubuntu-12-04-repairing-notes/</guid><description>今天一早发现Ubuntu 12.04坏掉了，于是用了大半天对其做了修复，修复过程十分坎坷，但结果还不错，遂记之以备忘。 **\* 毁掉Ubuntu** Ubuntu坏掉完全是由于我的错误决策。昨天一天Ubuntu桌面右上方的状态拦一直有一个红色的错误提示符，提示系统包冲突，建议执行sudo apt-get install -f解决。apt-get也提示索引冲突，无法卸载和安装任何包。于是执行了su...</description></item><item><title>再谈组织工作效率提升</title><link>https://tonybai.com/2013/08/04/more-thoughts-on-improving-efficiency/</link><pubDate>Sun, 04 Aug 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/08/04/more-thoughts-on-improving-efficiency/</guid><description>工作效率提升，是所有企业组织都追求的一个目标。高效率意味着用更少到人可以做更多的活儿，赚取更多的利润。员工收入也会有较大提升，有面子；管理层的收 入就更水长船高了。但说起来容易，做起来难。工作效率低下一直是让各个组织的管理者头疼的问题，组织无论大小，无论中外，皆如此。 从大的方面来看，提高效率的策略不会很多，万变不离其中，关键是落实，措施要与自己的组织实际情况匹配。两年前自己曾经写过一篇博文“提升...</description></item><item><title>毕业九年 – 忆我的大学同学</title><link>https://tonybai.com/2013/07/30/recall-my-college-classmates-after-graduating-9-years/</link><pubDate>Tue, 30 Jul 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/07/30/recall-my-college-classmates-after-graduating-9-years/</guid><description>又是一年毕业季。自从九年前坐车驶出母校大门，我就再也没有回过母校，确是十分怀念，但更是怀念那些一起生活了四年的大学同学们。刚毕业那会儿，与同学们 还都保持着联系。后来大家都有了自己的新圈子，渐渐的联系少了，甚至断了。最初的校友录也荒废了，QQ我早就不用了，于是乎与大家天各一方，各自发展。 上周五去北京开会，会后我的直接领导去见他的大学同学，我也被邀请同去了^\_^（要么也是无聊地等火车）。饭桌上两...</description></item><item><title>也谈代码行统计</title><link>https://tonybai.com/2013/07/24/thoughts-about-lines-of-code-statistics/</link><pubDate>Wed, 24 Jul 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/07/24/thoughts-about-lines-of-code-statistics/</guid><description>一直在纠结要不要就这个话题写点什么，之前梳理过一些思路，但感觉这个题目似乎没什么大意义。不过将东西憋在肚子里的滋味总是不好受的，最终我还是选择写出来一些，即便它真的没有什么意义^\_^。 事情缘于近期领导让我负责的一个内部任务：制定组织内的代码行统计标准并实现标准化的工具。就是这个任务促使了我对代码行统计重新做了一番考量。 **对代码行统计的理解** 代码行统计这个活动不是软件开发过程中的关键路径...</description></item><item><title>buildc 0.3.1版本发布</title><link>https://tonybai.com/2013/07/15/buildc-0-3-1-release/</link><pubDate>Mon, 15 Jul 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/07/15/buildc-0-3-1-release/</guid><description>随着buildc在内部应用的深入，buildc逐渐进入了以内部需求和问题为主要驱动力的演化模式。我们内部的C应用多是后端服务类应用，个人 觉得具有一定代表性。buildc最初就是为了针对这类C应用而设计的。因此我们内部的需求和问题应该也同样具有一定代表性，而这种演化模式在一 段时间范围内还是有意义的。 buildc 0.3.1版本修正了上一版本的若干bug，并增加了两个新功能。 **\* 提高容错...</description></item><item><title>Python脚本命令行变量的实现</title><link>https://tonybai.com/2013/07/09/an-implementation-of-python-commandline-variables/</link><pubDate>Tue, 09 Jul 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/07/09/an-implementation-of-python-commandline-variables/</guid><description>我们知道Make工具是支持命令行变量的，这种手段为我们提供了很好的灵活性，我们可以通过敲入不同的命令行参数来决定Makefile脚本的行为。 make \[variable1=value1 variable2=value2 ... ... \]。 \Makefile CMODE = 64-bit ifeq ($(CMODE), 64-bit)     CFLAGS += -m64 endif al...</description></item><item><title>代码评审，由人治过渡到“法治”</title><link>https://tonybai.com/2013/07/08/code-review-from-rule-of-man-to-rule-of-law/</link><pubDate>Mon, 08 Jul 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/07/08/code-review-from-rule-of-man-to-rule-of-law/</guid><description>事实证明：有效的代码评审(Code Review，也有叫代码审查的），对保证代码质量具有十分重要的作用。因此这两年来我一直尝试着在这块不断改进和完善，以期望能形成一套合理、规范、有 效且高效的代码评审流程，这包括引入在线代码评审系统、走查和在线评审结合、规范评审Request的规模与有效性、设立评审专员等，用心不可谓不良苦 ^\_^。大家也的确形成了及时提交Code Review Request或...</description></item><item><title>跨过BUG查找的"最后一公里"</title><link>https://tonybai.com/2013/06/18/walk-through-the-last-mile-of-bugfix/</link><pubDate>Tue, 18 Jun 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/06/18/walk-through-the-last-mile-of-bugfix/</guid><description>_如果你看到一个C程序员在通宵熬夜神情紧张地对着电脑敲代码或阅读代码，多数只有两种可能：一是为了赶进度；二就是查找内存Bug。_                                                                                                                               _— 个人感悟_ ...</description></item><item><title>《Understanding and Using C Pointers》要点先睹为快</title><link>https://tonybai.com/2013/05/28/understanding-and-using-c-pointers-keypoint-preview/</link><pubDate>Tue, 28 May 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/05/28/understanding-and-using-c-pointers-keypoint-preview/</guid><description>_如果你问十个C程序员：你觉得C语言的核心是什么？这十个程序员都会回答：指针。_ 指针具备成为C语言核心的两个关键要素：**强大**与**争议**。 \* **指针的强大**源自于其天生与机器内存模型的适配。使用指针让代码紧凑，并可获得仅次于汇编代码的执行效率；使用指针可以让C程 序员毫不费力地尽情操纵着内存中的每个byte甚至是bit；使用指针可以为C程序员提供无与伦比的操作灵活性。总之，在C语...</description></item><item><title>再谈C语言位域</title><link>https://tonybai.com/2013/05/21/talk-about-bitfield-in-c-again/</link><pubDate>Tue, 21 May 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/05/21/talk-about-bitfield-in-c-again/</guid><description>我在日常工作中使用C语言%E2%80%8E)中的位域(bit field)的场景甚少，原因大致有二： \* 一直从事于服务器后端应用的开发，现在的服务器的内存容量已经达到了数十G的水平，我们一般不需要为节省几个字节而使用内存布局更加紧凑的位域。 \* 结构体中位域的实现是平台相关或Compiler相关的，移植性较差，我们不会贸然地给自己造“坑”的。 不过近期Linux技术内核社区（www.linu...</description></item><item><title>buildc 0.3.0版本发布</title><link>https://tonybai.com/2013/05/11/buildc-0-3-0-release/</link><pubDate>Sat, 11 May 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/05/11/buildc-0-3-0-release/</guid><description>自buildc正式在项目中应用以来，我们收到了许多同事针对buildc演进的意见和建议。其中确实有些易用性的问题是在最初设计时未考虑周全的，尤其是.buildc.rc中的配置，同事们对该文件的配置已经“怨声载道”了。 .buildc.rc是用来配置某开发者在开发过程中使用的第三方库所在subversion repository信息的，例如： a\_repository = (&amp;#39;SVN库地址&amp;#39;, &amp;#39;...</description></item><item><title>也谈Commit log</title><link>https://tonybai.com/2013/05/09/also-talk-about-commit-log/</link><pubDate>Thu, 09 May 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/05/09/also-talk-about-commit-log/</guid><description>在版本控制工具大行其道的今天，作为程序员，势必要每天与各种版本控制系统（比如Subversion、Git、Mercurial等）打交道， 每天不commit几次代码都不好意思说自己是专业程序员^\_^。不过commit代码可不止敲入commit命令这么简单，对于一个专业程序员 来说，我们还要关注每次commit所携带的背景信息，这里暂且称之为“commit context”。在每次commit时，...</description></item><item><title>推动知识管理的这两年</title><link>https://tonybai.com/2013/05/03/the-past-two-years-to-promote-the-knowledge-management/</link><pubDate>Fri, 03 May 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/05/03/the-past-two-years-to-promote-the-knowledge-management/</guid><description>掐指算来，部门知识管理的推广工作已有两年了。两年时间不能算短，但对于知识管理这件事来说，只能算是热身阶段，我们依旧站在起跑线上，或者稍乐 观地讲我们只是刚刚迈出了万米长跑的第一步。 下面是这两年来部门内部知识库建设的一个Timeline： \- 2011年中旬，我所在产品线私下在一台PC上建立了基于MediaWiki的知识库。 \- 2011年末产品线在部门内部做了有关知识库与知识管理实践的分享。...</description></item><item><title>libiconv库链接问题一则</title><link>https://tonybai.com/2013/04/25/a-libiconv-linkage-problem/</link><pubDate>Thu, 25 Apr 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/04/25/a-libiconv-linkage-problem/</guid><description>与在Solaris系统上不同，Linux的libc库中包含了libiconv库中函数的定义，因此在Linux上使用libiconv库相关函数，编译时是不需要显式-liconv的。但最近我的一位同事在某redhat enterprise server 5.6机器上编译程序时却遇到了找不到iconv库函数符号的链接问题，到底是怎样一回事呢？这里分享一下问题查找过程。 **一、现场重现** 这里借用一下...</description></item><item><title>C,C++开源项目中的100个Bugs</title><link>https://tonybai.com/2013/04/10/100-bugs-in-c-cpp-opensource-projects/</link><pubDate>Wed, 10 Apr 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/04/10/100-bugs-in-c-cpp-opensource-projects/</guid><description>俄罗斯OOO Program Verification Systems公司用自己的静态源码分析产品PVS-Studio对一些知名的C/C++开源项目，诸如Apache Http Server、Chromium、Clang、CMake、MySQL等的源码进行了分析，找出了100个典型的Bugs。个人觉得这份列表对C/C++ 程序员有一定参考意义。与其说事后用静态工具分析，倒不如在编码时就提高自知自觉...</description></item><item><title>Hello，Sublime Text 2</title><link>https://tonybai.com/2013/04/01/hello-sublime-text-2/</link><pubDate>Mon, 01 Apr 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/04/01/hello-sublime-text-2/</guid><description>用惯了Vim后，也会有一种尝试新Editor的冲动，这回Sublime Text 2满足了我的这个需求。据说Sublime Text是目前最火的代码编辑器之一，我周围为数不多的几个比较Geek的同事都已经开始使用Sublime Text 2或用了很长时间了，其官方网站首页的Feature Demo也的确非常地炫。 **安装Sublime Text 2** 我的实验环境Ubuntu 12.04.1 ...</description></item><item><title>简析指针与多维数组</title><link>https://tonybai.com/2013/03/28/pointer-and-multi-dimension-array-in-c/</link><pubDate>Thu, 28 Mar 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/03/28/pointer-and-multi-dimension-array-in-c/</guid><description>上一篇文章中对多级指针做了简要分析，其实只有当指针与多维数组以及函数联合在一起使用时，麻烦才算真正到来。 **零、数组****与数组名** C语言)中的数组的一般声明形式如下： T arr\_name\[n\]; /\* T为类型，n为数组元素个数 \*/ 从**内存布局**角度来说，数组T arr\_name\[n\]就是内存中连续的内存单元，每个内存单元的长度为sizeof(T)，数组的起始内...</description></item><item><title>一种基于内存映射文件的系统运行数据提取方法</title><link>https://tonybai.com/2013/03/18/sys-running-data-extraction-method-using-mmap/</link><pubDate>Mon, 18 Mar 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/03/18/sys-running-data-extraction-method-using-mmap/</guid><description>这是我无意中想到的一个方法，估计这个方法已经不是什么新鲜的东西了，很可能在类似的问题场景中早已经被使用了。不过这里还是要说说我的思维过程。 近期在学习一些Linux性能查看和分析方面的工具，比如top、iostat、vmstat以及sar等。在学习过程中我发现这些工具有个共同的特点，那就是她们采集的Linux运行数据都是从/proc下的文件中实时获取并计算而得出的。众所周知，/proc是Linux...</description></item><item><title>谋划2013</title><link>https://tonybai.com/2013/03/11/2013-plan/</link><pubDate>Mon, 11 Mar 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/03/11/2013-plan/</guid><description>眼看2013年已经过去1/6了，这个谋划显然有些晚了。之所以晚，根本原因还是之前有些很多事情没有想清楚，即便是现在可能依旧比较朦胧。鉴于去年的目标执行情况不甚理想，尤其是工作目标方面，因此今年在谋划策略方面变得更加务实和收敛，期望能说到做到或做的尽可能的多。 **一、个人目标** \* 鉴于去年的执行情况，今年将blog定在80篇（大约每5天一篇）应该问题不大，毕竟blog已经成为我生活的一个重要...</description></item><item><title>玩转top</title><link>https://tonybai.com/2013/03/02/deep-into-top/</link><pubDate>Sat, 02 Mar 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/03/02/deep-into-top/</guid><description>相信很多人和我一样，top是自己日常使用最多的linux资源查看工具。不过仅限于一些简单的日常场景罢了：敲入top命令，看看哪些进程占用 CPU较多，然后对这些CPU占用较多的进程逐一处理一下。显然这样使用top有些大才小用了。 以前在监控工具使用方面总是浅尝辙止，并未做过多深入研究。近来愈来愈觉得有必要针对几种常用工具好好学习一下了。而top便首当其冲。top是一款 以查看进程(task)信息为...</description></item><item><title>关于Python Package下的Module import方式</title><link>https://tonybai.com/2013/01/24/the-module-import-way-under-python-package/</link><pubDate>Thu, 24 Jan 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/01/24/the-module-import-way-under-python-package/</guid><description>2012年有一个目标我没有达成，那就是深入学习和使用Python语言。这个目标被其他学习任务和工作无情的抢占了，当然最主要的原因还是我重视不够^\_^。 近期恰逢有一些Python工程的开发工作要做，就顺便略微深入地学习了一下Python：看了几本Python的英文大部头，比如《Learning Python 4th Edition》、《Python Essential Reference 4th...</description></item><item><title>buildc 0.2.2版本发布</title><link>https://tonybai.com/2013/01/15/buildc-0-2-2-release/</link><pubDate>Tue, 15 Jan 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/01/15/buildc-0-2-2-release/</guid><description>随着buildc在项目中的深入使用，开发和测试人员都提出了不少良好意见，让我们有些应接不暇了，这次的版本更新也是为了满足这些意见和建议。 由于忙于应对这些眼前的需求，原本0.3.0的改进计划也被推迟了一些。 buildc 0.2.2版本包含了两个主要修正。 \* 增加了–ignore-error命令行选项 自从buildc cache相关命令严格区分–cmode=32-bit还是64-bit后，用...</description></item><item><title>说说工作幸福感</title><link>https://tonybai.com/2013/01/04/my-opinion-on-improving-work-happiness/</link><pubDate>Fri, 04 Jan 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/01/04/my-opinion-on-improving-work-happiness/</guid><description>职场上的朋友可能经历过以下两种截然不同的状态： （一） 每天早晨起来都有一种强烈要上班工作的冲动； 一到公司，立即感觉精力充沛，并希望尽快开始做事，不能浪费一分一秒； 每天下班前回顾一天的工作时，都能感觉到收获和进步，并带着笑容下班； 每天回到家里，暂时忘记工作，与家人共度良霄，养足精力； 生活与工作保持一定距离，这始终让你与工作之间有美的感觉。 （二） 每天早晨一想到要上班，就愁云遮面，总想在床...</description></item><item><title>2012小结</title><link>https://tonybai.com/2012/12/18/my-summary-of-2012/</link><pubDate>Tue, 18 Dec 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/12/18/my-summary-of-2012/</guid><description>趁着世界末日尚未到来，赶紧将2012年总结一番，即便是末日也不能留遗憾不是^\_^。 2012年总体过得还算充实： \*《七周七语言》终于出版了； \* 写了近80篇Blog，虽离目标预期还有差距，但也给我带来了不小的精神愉悦； \* 为《程序员》杂志写了两篇文章，虽然都是短文； \* 读了30多本书，还有10多本尚未读完，不过年初制定的“扫存书”目标没能达成，因为依然不断地有大量的新书加入^\_...</description></item><item><title>关于绩效面谈的一些拙见</title><link>https://tonybai.com/2012/12/13/some-opinions-about-performance-interview/</link><pubDate>Thu, 13 Dec 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/12/13/some-opinions-about-performance-interview/</guid><description>《程序员》杂志的“一分钟先生”专栏之前曾约稿，有两个主题可供选择：制定绩效目标或如何进行绩效面谈。本打算两个主题都写写的，但碍于时间有限，最终只写了一个主题：《制定绩效目标的几个重要因素》。进入12月，想必各个公司或组织都会开展年终绩效考核，我这里也不例外。 关于绩效面谈，印象中组织里似乎没人告诉我应该如何去做。很久以前是小兵的时候没有过多考虑，成为项目负责人后也没有接受过什么系统的培训，都是按照...</description></item><item><title>buildc 0.2.1版本发布</title><link>https://tonybai.com/2012/12/06/buildc-0-2-1-release/</link><pubDate>Thu, 06 Dec 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/12/06/buildc-0-2-1-release/</guid><description>buildc 0.2.1版本是一个bugfix版本，修正了两个重要问题。 \* 修正执行buildc pack –cmode=32-bit时无法创建32位安装包的问题 之前的buildc pack命令在打包安装程序时忽略了–cmode这个选项，这样即便传入32-bit这个参数，打出的安装包中的应用程序依旧是64位编译的。这次修正了这个问题，让buildc真正支持打32位程序的安装包。 \* 修正b...</description></item><item><title>将Unity换成Gnome3</title><link>https://tonybai.com/2012/12/06/replace-unity-with-gnome3/</link><pubDate>Thu, 06 Dec 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/12/06/replace-unity-with-gnome3/</guid><description>Ubuntu 12.04已经体验一天多了，Unity还是用的不大习惯，左侧的程序启动栏感觉还是别扭，以前用windows的时候就不喜欢将任务栏放在左侧或右侧； 应用窗口的菜单栏融合到桌面顶端也没给我太多惊喜；总而言之，给自己找几个换回Gome的理由还是很容易的^\_^。况且Gnome也发生了巨变， 由传统的Gnome2更新到了全新的Gnome3，正好我也想体验一下Gnome3，于是继续折腾。 Ub...</description></item><item><title>升级到Ubuntu 12.04LTS</title><link>https://tonybai.com/2012/12/04/upgrade-ubuntu-to-1204-lts/</link><pubDate>Tue, 04 Dec 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/12/04/upgrade-ubuntu-to-1204-lts/</guid><description>Ubuntu 10.04 LTS已经伴随我两年了，经过我这么长时间的折腾，Ubuntu早已不堪重负^\_^。在未升级前，Ubuntu 10.04已经表现出诸多问题： \- 在家中连接无线路由器时间漫长，且经常掉线； \- 在公司用有线网络经常掉线； \- 由于反复安装软件，系统中残留较多垃圾数据； \- Ubuntu 10.04官方源中的软件版本都有些低，很多软件手工安装高版本比较费力； 另外原先...</description></item><item><title>谈谈如何高效地组织和实施内部会议</title><link>https://tonybai.com/2012/12/03/how-to-organize-and-hold-meetings-efficiently/</link><pubDate>Mon, 03 Dec 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/12/03/how-to-organize-and-hold-meetings-efficiently/</guid><description>我个人一直追求高效的工作，无论是在职场中的哪个环节，在我眼中总是应该有提效的空间的，我甚至感觉我在这方面似乎形成了一种偏执，有些时候一看到低效的环节，我就有些情绪激动^\_^。 如果要大家投票表决组织内部最低效地活动环节，估计大多数人会将选票投给**会议**。关于内部会议的组织和实施，有很多反模式，这里列举一二： \- 会议组织人突然发出会议通知，两个小时后举行某会议； \- 会议通知中没有会议的...</description></item><item><title>谈谈如何写好Mail</title><link>https://tonybai.com/2012/11/28/how-to-write-a-good-email/</link><pubDate>Wed, 28 Nov 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/11/28/how-to-write-a-good-email/</guid><description>Mail(在这个时代，Mail默认的含义早已变成了Email，也就是电子邮件)是我们在工作中常用的表达和沟通方式之一。与IM工具、拿起电话直接Call、会议等相比，Mail容许相关干系人用更多的时间去了解背景、理解问题和思考解决方案，而不用立即予以答复。 我们每天都会发出和收到几十封甚至上百封Mail，但这并不意味着我们写的Mail就都是合格的。一些人的Mail，无论从格式还是内容，都会让人看起来...</description></item><item><title>个人时间管理的一些实践体会</title><link>https://tonybai.com/2012/11/23/some-experience-on-personal-time-management/</link><pubDate>Fri, 23 Nov 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/11/23/some-experience-on-personal-time-management/</guid><description>时间是人类最宝贵的财富之一，我十分认同这点，因此我在个人时间管理以及工作效率上也是一直追求持续改善的，期望能在最短的时间内产出更多有价值的成果，尤其是工作时间里。 我知道的时间管理思想主要有三种： \* 四象限理论。这是我们经常谈到的传统时间管理理论，它告诉我们如何根据待办事项的重要和紧急两个属性对待办事项进行分类和优先级确定。我个人觉得这个理论是时间管理的基础，后续无论是GTD理论还是番茄时间理...</description></item><item><title>使用squid搭建http代理</title><link>https://tonybai.com/2012/11/21/setup-http-proxy-with-squid/</link><pubDate>Wed, 21 Nov 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/11/21/setup-http-proxy-with-squid/</guid><description>近期在做一些基础设施搭建的过程中，又遭遇到了公司http代理的问题。主要是很多主机上的工具只支持不带身份鉴权信息的http\_proxy设置，如只 支持诸如：export http\_proxy=&amp;#39;http://10.10.1.1:8090&amp;#39;，而不支持export http\_proxy=&amp;#39;http://tonybai:passwd@10.10.1.1:8090&amp;#39;这种形式的配置。 或是其命令行选项...</description></item><item><title>制定绩效目标的几个重要因素</title><link>https://tonybai.com/2012/11/17/several-important-factors-in-making-performance-goals/</link><pubDate>Sat, 17 Nov 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/11/17/several-important-factors-in-making-performance-goals/</guid><description>本文是笔者发表在《程序员》杂志2012年11期上的那篇“制定绩效目标的几个重要因素”文章的完整版。 软件开发是一种创造性的工作，这种工作的成果具有不确定性且很难量化，因此经理们在给员工制定绩效目标时多没有统一标准(即便有也不一定准确，而且在一定程度上还可能会扼杀创造性)，所采用的方法也是五花八门。不过即便如此，经理们也没有放弃寻找一种更为适合软件开发领域绩效目标制定的方法。笔者也是其中一份子，在这...</description></item><item><title>知识管理的几点野路子经营策略</title><link>https://tonybai.com/2012/11/04/the-amateur-way-of-knowledge-management/</link><pubDate>Sun, 04 Nov 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/11/04/the-amateur-way-of-knowledge-management/</guid><description>时间真是过得飞快，遥想一年前的这个时候我们在产品线的知识管理试水有了一点成绩，便在组织内力推知识管理。领导经过权衡后，也认同了知识管理的重要性， 并随即安排人在组织内部快速建立起了知识库。在最初的一两个月里，临时的知识管理负责人热情很高，做得还算不错，初步地将知识库是什么、如何使用以及组织 知识管理的第一版规范和大家交待清楚了。但随着热情的消逝，知识库管理也随波逐流了，知识管理开始变得名存实亡，这...</description></item><item><title>关于团队经营的若干体会</title><link>https://tonybai.com/2012/11/01/some-experience-on-team-management/</link><pubDate>Thu, 01 Nov 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/11/01/some-experience-on-team-management/</guid><description>在近两年的持续不断的投入和努力下，近期我在团队经营方面看到了一些成果，但这却引来了同僚们的“羡慕嫉妒恨”^\_^，他们希望了解到我是“如何将0变成 1的”。关于团队运营方面，我始终认为自己只是个初级选手，充其量就是个实践者而已。以前我也只是按照我的思路和直觉在做，并未有过什么细致的考量，也没 有人给我这方面系统的指导。这几天闲暇时回顾了一下这两年的经营历程，形成了些许体会，这里也和大家分享一下。 ...</description></item><item><title>改善技术布道效果的几个实践</title><link>https://tonybai.com/2012/10/26/some-practice-on-improving-tech-preach/</link><pubDate>Fri, 26 Oct 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/10/26/some-practice-on-improving-tech-preach/</guid><description>本文是笔者发表在《程序员》杂志2012年08期上的那篇“改善技术布道效果的几个实践”文章的完整版。 技术布道不易，想取得良好的效果就更难了。下面是笔者总结的几个有助于改善技术布道效果的有效实践,这里给大家分享一下。 **自我认知** 技术布道前,布道者首先要做好自我认知,这将有助于布道者确认自己是否胜任此次布道以 及采用何种布道策略以赢得更好的效果。认知的内容包括:自己是否精通这方面的技术。若 只...</description></item><item><title>由一个软件库存问题想到的</title><link>https://tonybai.com/2012/10/22/thoughts-on-software-inventory/</link><pubDate>Mon, 22 Oct 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/10/22/thoughts-on-software-inventory/</guid><description>近期产品线出现这样一个“怪现象”：许多已经完成编码并具备提交给测试组的版本没有测试人员对应。测试部那边给出的策略是：按版本优先级从高到低依次测 试。这样一来一些重要版本需要到3个月甚至更长时间之后才能开始测试。可以肯定这种现象是生产环节的一个问题，但用什么理论去解释和分析这个问题呢？我想 到了“库存” – 软件库存。 《Joel说软件》的那个Joel曾写过一篇名为《软件库存》的文章，也正是看了那篇...</description></item><item><title>项目跳票成常态，组织基因难逃干系</title><link>https://tonybai.com/2012/08/15/bouncing-check-and-organization-gene/</link><pubDate>Wed, 15 Aug 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/08/15/bouncing-check-and-organization-gene/</guid><description>上周得知今年一个重点项目跳票了！项目计划正在重新修订中，原计划今年10月末完成的项目很可能因此推迟到明年上旬了。 工作这么多年，印象中除了一些短期小项目外，50人月以上的项目就少有未跳票的，无论是我带的项目还是其他负责人带的项目，莫不如此。无论是产品负责人，还是项目负责人，高质量按期交付都是第一目标。但残酷的现实真切地摆在我们面前。问题到底出在哪里呢？ 项目成功的原因都是相似的，但项目跳票的原因却...</description></item><item><title>一场关于“何时发布版本”的论战</title><link>https://tonybai.com/2012/04/17/a-discussion-about-when-to-release/</link><pubDate>Tue, 17 Apr 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/04/17/a-discussion-about-when-to-release/</guid><description>气氛太平静，投石起波澜。 昨天下午无意中在内部发起了一场关于&amp;#34;何时发布版本&amp;#34;的论战。 论战的背景是这样的：部门内部有这样的一个项目A，它的目标是开发出可被其他项目或产品复用的组件(这里就暂称之为组件吧，我们内部称这类组件为可复用资产)。这个项目已经开发了大半年了，目前处于收尾阶段，绝大部分开发工作已经完成。测试(包括压力测试等)已经测试过至少一轮了；我们的产品线近期准备复用项目A成产出的这些组件，...</description></item><item><title>谋划2012</title><link>https://tonybai.com/2012/01/29/plan-and-design-2012/</link><pubDate>Sun, 29 Jan 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/01/29/plan-and-design-2012/</guid><description>对于我这个上班族来说，这假期真的不能太长，否则就适得其反了：不但不会得到很好的休息，反而感觉更累了。也许很多朋友和我有同样的感受^\_^。这不，这个春节在家待得就比较&amp;#34;闹心&amp;#34;，特别是后几天，想上班的冲动那叫一个此起彼伏啊，终于今天如愿了^\_^。 今天是壬辰龙年春节后的第一个工作日。如以往一样，办公室里比较冷清，很多同事还尚未结束休假。这可真是做整年谋划的黄金时间啊，我是这么想的，也是这么做的。 ...</description></item><item><title>2011·工作中的成长</title><link>https://tonybai.com/2012/01/12/my-grow-up-in-2011/</link><pubDate>Thu, 12 Jan 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/01/12/my-grow-up-in-2011/</guid><description>每至年关，回首一年工作中的成长，便有一种充实和幸福的感觉。 2011年我在工作中的成长可概括为如下几点： 1、建立并围绕原则为中心开展工作 现在想来，以前的工作有些盲从，心中没有原则，自然也就没有主线，也许这与当初的职位角色有关。2011年职位提升了，思维方式也有所了转变。我花了更多的时间对当前的工作进行考量，而且考量的过程不是过去那种仅仅从项目组或产品线的角度，而是尽量上升到组织的角度，并针对当...</description></item><item><title>由劝退一名员工所想到的</title><link>https://tonybai.com/2012/01/08/thoughts-from-persuading-somebody-to-quit/</link><pubDate>Sun, 08 Jan 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/01/08/thoughts-from-persuading-somebody-to-quit/</guid><description>这周五我做了一件&amp;#34;恶事&amp;#34; – 劝退了一名员工。这样的事情在部门成立10年的历史中发生的次数都是屈指可数的，但却真实地让我给碰到了。 我以前只是有招人的经验，但从未做过&amp;#34;开人&amp;#34;的事情，这是第一次，心里总有些不忍。原计划由这名同事的直接Leader与他谈这件事情，但这名女leader更是抹不开面子，索性我就直接上阵了。过程还算顺利，这名同事表面上也没有太多意见，但我心里清楚：他肯定很郁闷，这个周末估计...</description></item><item><title>关于组织内部建立良性提议反馈机制的一些考量</title><link>https://tonybai.com/2012/01/06/thoughts-on-establishing-a-benign-feedback-mechanisms-inside-the-organization/</link><pubDate>Fri, 06 Jan 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/01/06/thoughts-on-establishing-a-benign-feedback-mechanisms-inside-the-organization/</guid><description>近期完成了与组员的年终绩效面谈，收集上来一些意见和建议，其中有一些涉及到部门对大家反馈的意见和建议处理不妥的情况，对此我也做了认真的考量，于是就有了这篇短文。 组织的基本单元是人(即组员)，组织的运行依靠的也是组员，组员对组织的运行情况最有发言权，组织内部存在的问题他们会第一时间感知到，也许他们也是第一个尝试解决问题并作出改进的人，因此他们的意见和建议是最最宝贵的，作为一个组织的领导者首先应该认识...</description></item><item><title>2011·读过的书</title><link>https://tonybai.com/2011/12/22/book-list-i-have-read-in-2011/</link><pubDate>Thu, 22 Dec 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/12/22/book-list-i-have-read-in-2011/</guid><description>2011年我的确读了不少书，掐指算来纸版和电子版加在一起近50本，其中以技术类居多，但其他方面的也有一些。这里列出来做个简单回顾。 一、技术类 · 《你必须知道的495个C语言问题》 早在这本书出版前，其译者已经在网上完成了C FAQs的翻译(在这里)。这本书是基于最新C FAQs做了重新整理(包含C99)。虽说是最新，但因C语言近几年来变化很小，内容与之前译者在网上公开的那个免费版本相差不多。这...</description></item><item><title>2011小结</title><link>https://tonybai.com/2011/12/21/my-year-end-summary-of-2011/</link><pubDate>Wed, 21 Dec 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/12/21/my-year-end-summary-of-2011/</guid><description>2011年眼看就要接近尾声了，这里也对自己在2011年的&amp;#34;所作所为&amp;#34;做个小结^\_^。 这一年来工作之外的我过得还是比较充实的，从下面的数字也可以看出： \- 写了81篇博文 \- 开源了2个工具(CBehave和buildc) \- 合译了一本书（&amp;#34;Seven Languages in Seven Weeks&amp;#34;，不过尚未出版） \- 读了近50本书（通过豆瓣读书统计） \- 新学了一门语言 – ...</description></item><item><title>提高效率不是口号</title><link>https://tonybai.com/2011/10/31/improving-efficiency-should-not-only-be-a-slogan/</link><pubDate>Mon, 31 Oct 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/10/31/improving-efficiency-should-not-only-be-a-slogan/</guid><description>当前任何一个组织 — 无论是私企，还是国企，无论是政府还是民间组织，无论是在国内还是在国外 — 都在强调提高效率。但&amp;#34;提高效率&amp;#34;不简单是一句口号，还需要脚踏实地的真正去做。 说到&amp;#34;提高效率&amp;#34;，大家首先就会想到工作的行为主体-人！促进人员能力的提升是提升个体工作效率的一个很好的办法。在软件开发领域也有一个公认的事实，那就是一个顶尖程序员的效率可以十倍甚至百倍于一个普通程序员。为此，很多组织都投入巨资...</description></item><item><title>2011·同事对我的期望</title><link>https://tonybai.com/2011/01/26/the-expectations-of-my-colleagues-in-2011/</link><pubDate>Wed, 26 Jan 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/01/26/the-expectations-of-my-colleagues-in-2011/</guid><description>眼看就要到春节假期了，公司E-HR平台上我的账户下还有一项待处理的工作：填写一份&amp;#34;领导力发展回顾与提升计划&amp;#34;表格。表格很简单，5分钟就能填完，不过其中有一项我自己很难填写：&amp;#34;您了解或感知同事/或下属对您的期望&amp;#34;。虽说可以自我感知，不过我更想听到我的同事真实的声音。 于是乎我就在产品线内发出了一封Mail，希望能够得到大家真实的想法。 小半天，我就收到同事的十几封反馈Mail，多数Mail中大家都提...</description></item><item><title>关于年终总结</title><link>https://tonybai.com/2011/01/04/about-year-end-summary/</link><pubDate>Tue, 04 Jan 2011 00:00:00 +0800</pubDate><guid>https://tonybai.com/2011/01/04/about-year-end-summary/</guid><description>年终岁尾，又到了该做年终总结的时候了。有些人觉得年终总结很难写，于是自欺欺人的在网上到处高价找枪手；亲自动手写总结的人也是抓耳挠腮，迟迟无法下笔。其实我倒不觉得总结有这么难，自己做过的事写出来又有何难呢!也许是你的心魔在作怪罢了(什么心魔，你懂的!)。对自己负责的人肯定是会主动积极地去做总结的，总结的第一对象也一定是自己，其次它的另外一个用途才是用来提交给领导看的。你的总结无需文采飞扬，关键要言之...</description></item><item><title>工作装备更新了</title><link>https://tonybai.com/2010/03/20/upgrade-r51-to-thinkpad-x60/</link><pubDate>Sat, 20 Mar 2010 00:00:00 +0800</pubDate><guid>https://tonybai.com/2010/03/20/upgrade-r51-to-thinkpad-x60/</guid><description>这里卖了个小关子，所谓工作装备就是指我的笔记本。 本周三伴随了我三年多的R系Thinkpad终于因显卡故障再也无法正常启动了，至于它是否就此光荣退役，那还要看设备修理部门同事是否能修好它。 我这边只能重新申请装备了。公司近两年采购的办公设备都是HP的，HP的东西质量如何想必大家通过今年央视的&amp;#34;3.15&amp;#34;晚会也都有所了解了，商用采购的设备质量也好不了哪去，黑屏、蓝屏、过热、烧主板的情况我从使用HP本...</description></item><item><title>人在福州，忙！</title><link>https://tonybai.com/2010/01/29/working-busy-at-fuzhou/</link><pubDate>Fri, 29 Jan 2010 00:00:00 +0800</pubDate><guid>https://tonybai.com/2010/01/29/working-busy-at-fuzhou/</guid><description>掐指算来，这次在福州出差已有近三周多了，这期间经历了几次产品升级和测试，大家都变得疲惫不堪，最突出的表现就是精神头不再像刚来是那么足了，饭量开始减少，食欲下降，睡眠质量也下降了。 从这周开始这边的Team基本分成了两拨儿人，一拨儿人在客户现场驻守，协助解决产品运行中的问题，另一拨人则跟着我“宅”在酒店里进行新版本的开发和测试。说起来，大家在一个大屋子里办公还是很其乐融融的。由于一个新模块的开发，我...</description></item><item><title>2010·做快乐的事</title><link>https://tonybai.com/2010/01/04/wish-to-do-happy-things-in-2010/</link><pubDate>Mon, 04 Jan 2010 00:00:00 +0800</pubDate><guid>https://tonybai.com/2010/01/04/wish-to-do-happy-things-in-2010/</guid><description>“征尘未洗又出发”！2010年的这个元旦假期我依旧是在忙碌和压力下度过的。元旦三天假期本来是计划静下心来好好回顾和总结一下2009的，但事与愿违。由于年前的最后一天，我们的产品因性能问题招致客户的不满，所以这几天一直在写问题报告和改进方案。节没过好，心情自然也就低落了一些。 2009年，总体来说是五味杂陈。对我来说，最大的一件快事莫过于结婚了。虽说2008年就和老婆将证书领到了手，但毕竟中国人更看...</description></item><item><title>“找回”自己的密码</title><link>https://tonybai.com/2009/09/23/my-password-get-back/</link><pubDate>Wed, 23 Sep 2009 00:00:00 +0800</pubDate><guid>https://tonybai.com/2009/09/23/my-password-get-back/</guid><description>继续昨天的情况道来。话说昨天因瞬时“失忆”，导致将公司办公账户的密码忘记了。这给工作带来的不便是我没有想到的。今天一上班就询问秘书密码重置的进度，得到的回复是已经发给公司HR并催促多次了。但是直到近中午也未曾收到密码重置的通知，耐不住性子的我终于决定亲自跟踪这件事，电话直接打到HR部门负责此事的专员那，结果无人接听，一连多次，估计是那个同事不在Office。遂直接拨打公司IT服务部门的电话，说明了...</description></item><item><title>瞬时“失忆”，密码忘记</title><link>https://tonybai.com/2009/09/22/forget-the-password-of-mailbox/</link><pubDate>Tue, 22 Sep 2009 00:00:00 +0800</pubDate><guid>https://tonybai.com/2009/09/22/forget-the-password-of-mailbox/</guid><description>密码这东西在信息化的今天真是很重要，估计大家一张口就能说出5个以上使用密码的地方：登录网银、上淘宝、上亚马逊购书、写博客、登录Gmail等等。平时在公司，我的mail就是我的ID，公司所有内部网络服务都需要使用这个ID登录，甚至包括内部无线网络也是如此，所以在公司办公，内部mail账户和密码很重要。 公司为了加强信息安全管理，要求每位员工的密码都要符合SOX规范，而且要每隔若干个月就要对密码做一次...</description></item><item><title>对着电脑发呆</title><link>https://tonybai.com/2009/05/06/sit-in-front-of-the-pc-and-do-nothing/</link><pubDate>Wed, 06 May 2009 00:00:00 +0800</pubDate><guid>https://tonybai.com/2009/05/06/sit-in-front-of-the-pc-and-do-nothing/</guid><description>突然觉得最近自己对着电脑发呆的时间变长了，面对着笔记本屏幕，时常是大脑变得空白，不愿去想工作上的事情，上网也提不起兴趣，想写文章又不知从何下笔，旁边厚厚的一摞技术书籍也懒得去翻看，每天都觉得很累，晚饭后总想去用睡眠来麻醉自己，真怀疑自己是不是有了心理问题。回过头来再想想这应该不是一个偶然的现象，而是一种积蓄了很久的情绪的爆发。 自己工作时间也不算短了，按理说自己的发展曲线还算是不错的，但是近来我却...</description></item><item><title>2009·第一个工作日</title><link>https://tonybai.com/2009/01/04/2009-the-first-working-day/</link><pubDate>Sun, 04 Jan 2009 00:00:00 +0800</pubDate><guid>https://tonybai.com/2009/01/04/2009-the-first-working-day/</guid><description>2009年的第一个工作日，一切尽在平淡中度过。 往往大家都有这样的体会，那就是&amp;#34;长假“过后的第一个工作日身体多不在状态，假期中身体的懒散的惯性还没有彻底消除掉，也许脑子里还在回忆着与亲人朋友聚会时的那抹快意。但元旦后上班的第一天或许有些不同，毕竟这是新年后在同事面前的第一次亮相，要有蓬勃向上的气质和神态^\_^。 晨会上，组内同事围在椭圆会议桌，大家似乎都较为沉默，要不是我打开话题，各位似乎还停留...</description></item><item><title>做了一回“圣诞老人”</title><link>https://tonybai.com/2008/12/25/play-as-a-santa-claus/</link><pubDate>Thu, 25 Dec 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/12/25/play-as-a-santa-claus/</guid><description>今天是圣诞节。往年圣诞节那天部门总会举行一个庆祝活动，活动中每个人都能抽到自己心仪的礼品作为圣诞礼物，还有美味的蛋糕分享。然而今年再也没有这种“好事”了，由于经济危机的影响，公司三令五申的要求各个部门“勒紧裤腰带过穷日子”。我们的圣诞庆祝活动就这样被Cancel了。 昨天下午突然有了一个想法：部门不活动，我们项目组自己搞，不能让大家在圣诞节产生“失落感”。就这样和我们组内的&amp;#34;CCO（首席文化官^\...</description></item><item><title>曙光</title><link>https://tonybai.com/2008/12/23/the-dawn/</link><pubDate>Tue, 23 Dec 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/12/23/the-dawn/</guid><description>近一两年来我在博客少有提及公司项目的事情，除了一些技术bug引起我对问题的思考。这样一是为了“避嫌”，公司年初发生了多次因员工在个人博客泄露源代码或者客户资料的事件，公司管理层也加强了对公司“信息安全”的管理，无非是学习华为那一套-“封锁”：使用websense限制员工上外网，使用桌面监控系统监控员工电脑系统，封掉一切可能泄露机密信息的接口。还特地发挥了一下“数字课件”部门兄弟们的聪明才智，搞了一...</description></item><item><title>说说年假</title><link>https://tonybai.com/2008/11/14/thoughts-on-pay-vacation/</link><pubDate>Fri, 14 Nov 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/11/14/thoughts-on-pay-vacation/</guid><description>快到年根儿了，劳顿了一年的同事们坐在一起突然提到了年假，很多同事今年的年假还没有休呢，这里也包括我自己。去年国家新出台的劳动法非但没让我们多享受到更多的假期，反倒使我们的福利&amp;#34;缩水&amp;#34;了。今天年初公司内部还因为此事闹得很不愉快，具体情况这里就不说了。大家更关心的是如果今年不休年假是否确定拿到法定的经济补偿，因为去年很多没休年假的人也没得到什么好处。 入司已经有几个年头了，但回过头来却发现自己从来没有...</description></item><item><title>领导意志</title><link>https://tonybai.com/2008/10/11/the-leader-will/</link><pubDate>Sat, 11 Oct 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/10/11/the-leader-will/</guid><description>昨天是周五，按照工作计划，上午和组内同事做个人阶段性目标沟通。在与一位曾经在国外公司里做过项目的同事沟通时，他给我讲了这么一个故事：某一年的圣诞节前夕(圣诞节在西方人眼里是地位最高的节日了吧)他所在的那家公司的经理预感到圣诞节那天他们公司的网站的访问量激增的可能性会很大，为了保证网站在那圣诞节那天能&amp;#34;挺住&amp;#34;，他要求手下的人对网站进行一次压力测试，并决定让手下用jmeter来做这件事情。手下人没有异...</description></item><item><title>使用双显示器工作</title><link>https://tonybai.com/2008/10/08/work-with-dual-monitors/</link><pubDate>Wed, 08 Oct 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/10/08/work-with-dual-monitors/</guid><description>组内同事与公司合购了一台ThinkPad T400的本子，按照公司规定，公司分配给她的台式机是要收回的，就在没收回之前，我将其显示器借来(没办法，无奈公司在“白菜价”的硬件上也斤斤计较)，搭建我的双显示器环境。 曾经使用过部门的投影试过双显，第一感觉很爽，只是当时扩展桌面后，我的本本一直只能作为第二显示器(辅助显示器)，桌面都显示到了投影上，调试了半天也没搞懂，略有遗憾。这次搬来同事的那个17寸液...</description></item><item><title>从座位调换看文化差异</title><link>https://tonybai.com/2008/08/07/learn-culture-differences-from-seat-exchanges/</link><pubDate>Thu, 07 Aug 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/08/07/learn-culture-differences-from-seat-exchanges/</guid><description>最近我们开发部正在讨论搬家事宜，搬家后的一个重点就是要调换和安排座位，恰好上周在Google黑板报上也看到了一篇题目为“Google如何调换座位”的文章，本来很平常的一件事，但在不同的公司里却恰恰能体现出来不同的公司文化。 换座位想必大家都经历过，从小学到高中，座位一般都是老师安排好的，或是按照大小个排队，走进教室，轮到哪个座位，哪个座位就是你的，我想大多数中国的中小学调座位的方法都大同小异。工作...</description></item><item><title>年会归来</title><link>https://tonybai.com/2008/01/26/return-back-from-annual-meeting/</link><pubDate>Sat, 26 Jan 2008 00:00:00 +0800</pubDate><guid>https://tonybai.com/2008/01/26/return-back-from-annual-meeting/</guid><description>一年一度的部门年会今晚在Golden Hotel举行，这次是我入司以来参加的第四次年会，晚会和以往一样，还是很热烈、很搞笑，而我还是一如继往的’不走运’，最终抽奖连一个三等奖都和我无缘，呵呵。 记得04年参加第一次年会时，部门一共才不到七桌，那年的新员工算上我一共才8个人；而今年我们摆了20几桌，人员规模扩张了3倍多。这两年部门的效益不错，人员规模扩张的很快。考虑到人均绩效的不降低，部门今年的人才...</description></item><item><title>生活趣事两则</title><link>https://tonybai.com/2007/06/08/two-funny-things-recently/</link><pubDate>Fri, 08 Jun 2007 00:00:00 +0800</pubDate><guid>https://tonybai.com/2007/06/08/two-funny-things-recently/</guid><description>今早发生在我身上的趣事。 早晨起来睡眼朦胧，电视机旁听到国奥小将点球5:3战胜科特迪瓦进军土伦杯决赛，感觉甚是高兴，决定去公司食堂买早餐以饱餐一顿，心情愉悦中进入食堂，四处观望，见食堂某售饭口窗户上赫然写着五个大字&amp;#39;情色担担面&amp;#39;，顿心惊肉跳，也算是活了20多年了，尚未听说有&amp;#39;情色担担面&amp;#39;一说，难道是中华厨艺真的练到了第九重，出现质的飞跃了，柔柔眼睛再定睛观瞧，哦，原来是&amp;#39;特色担担面&amp;#39;，都怪写字的人...</description></item><item><title>工作中的故事-0是'TRUE'还是'FALSE'？</title><link>https://tonybai.com/2007/01/17/zero-is-true-or-false/</link><pubDate>Wed, 17 Jan 2007 00:00:00 +0800</pubDate><guid>https://tonybai.com/2007/01/17/zero-is-true-or-false/</guid><description>这个故事源于今天测试组测出的一个BUG，BUG被测试人员转给了我，故事便从这里开始了。 我们的系统是一个后台服务器程序，用C写的，运行在Solaris上，数据存储在数据库中，每次系统启动都要从数据库中读取配置数据。系统根据配置数据对输入的消息数据进行处理。今天的这个BUG现象就是对于一定的输入消息，系统根据配置数据的指导进行处理，结果得到的结果本应该是A，但是却得到了B。 首先咱抱着谨慎负责的态度...</description></item><item><title>五一节你快乐，我工作</title><link>https://tonybai.com/2006/05/01/you-happy-i-work-on-may-day/</link><pubDate>Mon, 01 May 2006 00:00:00 +0800</pubDate><guid>https://tonybai.com/2006/05/01/you-happy-i-work-on-may-day/</guid><description>刚刚看到Google黑板报的一篇短文&amp;#39;五一节快乐&amp;#39;，心想这是自己第一次五一节加班，是不是也该写点什么，不过该写些什么呢，自己心里也没个方向，那就想到哪写到哪吧！ 已经连续工作7天了，自己略感到有些疲惫，今天早上醒的很早，自己做了碗&amp;#39;蛋炒饭&amp;#39;，然后把它吃个精光，缓解肚内空虚^\_^。加班毕竟不比工作日，时间安排上有一定自主权，只要工作完成了，领导也不会说什么^\_^。到公司的时候已经9点多了。很多来...</description></item></channel></rss>