LingKai's profileRomance Dawn 冒险开始的地方PhotosBlogLists Tools Help

LingKai Kong

Occupation

Romance Dawn 冒险开始的地方

June 25

无题

快三年以前的事情了。那个时候组里只有我和一个老板,当时我report给他。
 
老板: "Lingkai, how are you doing?"
我: 啊,我做得怎么样?哎呀昨天我可干了很多活啊,可得好好说一说。。于是5分钟的satus report开始。。。。
 
每天早晨的status report于是持续了三个月,我心里琢磨着,这老板可真勤快,每天检查进度。直到一天有个新同事过来。
 
老板:"XXX, how are you doing?"
XXX: "Good, yourself?"
我:哦。。原来how are you doing是这个意思啊。。。。。。
 
第二天:
 
我:"Hey, how are you doing?"
老板:"Yesterday morning I had a partner meeting, ........ (5 minutes status report)"
May 25

Talking about 婚纱照抢先看(非专业版)

 

Quote

婚纱照抢先看(非专业版)
     2008.5.17,我们到交大出外景拍婚纱照,为什么特别提这个日子,因为这也是我们明年举办婚礼的日子,本来不想这么早说,可是巧的是,在这一天,我们的姜芙蓉同学喜得千金,这可真是个好日子啊!
     在此,还要特别恭喜丁丁同学新婚快乐!我本来以为我肯定是大学同学中第二个结婚的,现在看来不知道要排到底几个了,祝大家都幸福~
然后特别感谢童佳奇同学,在三十度高温下为我们拍摄花絮,辛苦辛苦。目前相册中皆为小童同学拍摄的非专业版。由于出外景那天太热,无论摄影师还是我们都太累了,拍不动内景了,故专业版至少还有一个月出炉,请大家耐心等待:)
上片片
我们结婚啦!其实不是,只是拍婚纱照。大头清晰照,眼妆真浓
 
我总是假装生气,而你总是担心地手足无措,亲爱的,你真可爱
 绿色的草地,蓝蓝的天,远处是紫竹大楼,这片土地拥有我们好多回忆
仰望天空,远处是美好的未来
你在看啥呢,我只是研究一下裙子有没有脏
最后一张,鱼尾裙真麻烦,化妆师拿鱼尾,哈哈
May 13

挨踢也自强

最近时常有这种想法,哪一天我或许会选择离开公司,去“为中华民族的崛起而编程”。
 
我经常问自己,我到底为了什么而工作?
 
我要做一个伟大的工程师,我要选择产业报国的路。我不要做一个牛人,但我要做一个可以帮助别人的人,做一个可以传播热情的人。
 
祖国的崛起,不能只靠说,更要靠实干。
 
或许每天上班说个小英语,天天开个小会,聊个小天,帮老美编个小程修个小bug做个小工具,偶尔还开开日本小破车,顺便做个小房奴的我,根本没有资格说这些
 
或许身在职场,做事不应该有太多的民族情结
 
或许立身于社会,每个人都不得不面对赤裸裸的现实
 
但活在世上要堂堂正正,潇潇洒洒,我们是中国人,我们不只是为了帮老美赚钱而奋斗,不只是为了爬职业阶梯而奋斗。IT也要自强不息,也要产业报国。
February 29

2月29日

某种意义上说,今天是个特殊的日子。凡是今天购买windows home server的用户,都无法安装。只要过了今天,问题自动消除。
 
原因是安装的时候暂存了一个日期,设计时是为了避开license的问题,所以设在安装日期的两年以前。
 
2006年是没有2月29日的。
 
所以今天HP(我们OEM)的电话被打爆了。
 
 
January 29

[技术帖]随便写点什么吧 1

承认我是比较无聊。。。。
 
开个头吧
 
一个被人鄙视的小问题 -- C#中,如何判断字符串是空字符串呢。。。。?
 
string.IsNullOrEmpty?
string.Compare / string.CompareTo ?
string.Equals / string == "" ?
 
各有什么区别?
================================================================================
以下是CLR中的实现
 
        public static int CompareTo(string s1, string s2)
        {
            return System.Globalization.CultureInfo.CurrentCulture.CompareInfo.Compare(s1, s2, System.Globalization.CompareOptions.None);
        }
        public static bool IsNullOrEmpty(string value)
        {
            if (value != null)
            {
                return (value.Length == 0);
            }
            return true;
        }
 
        [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
        private static unsafe bool EqualsHelper(string strA, string strB)
        {
            int length = strA.Length;
            if (length != strB.Length)
            {
                return false;
            }
            fixed (char* str = strA)
            {
                char* chPtr = str;
                fixed (char* str2 = strB)
                {
                    char* chPtr2 = str2;
                    char* chPtr3 = chPtr;
                    char* chPtr4 = chPtr2;
                    while (length >= 10)
                    {
                        if ((((*(((int*)chPtr3)) != *(((int*)chPtr4))) || (*(((int*)(chPtr3 + 2))) != *(((int*)(chPtr4 + 2))))) || ((*(((int*)(chPtr3 + 4))) != *(((int*)(chPtr4 + 4)))) || (*(((int*)(chPtr3 + 6))) != *(((int*)(chPtr4 + 6)))))) || (*(((int*)(chPtr3 + 8))) != *(((int*)(chPtr4 + 8)))))
                        {
                            break;
                        }
                        chPtr3 += 10;
                        chPtr4 += 10;
                        length -= 10;
                    }
                    while (length > 0)
                    {
                        if (*(((int*)chPtr3)) != *(((int*)chPtr4)))
                        {
                            break;
                        }
                        chPtr3 += 2;
                        chPtr4 += 2;
                        length -= 2;
                    }
                    return (length <= 0);
                }
            }
        }
====================================================================
IsNullOrEmpty是最直接的
==相当于调用重载了的Equals, 对于string来说是Equals(string)。从上面reflection出来的片断可以理解成以10字节为一大步,2字节为一小步的比较。(为什么这个组合performance最好?)
 
最本质的区别在于,CompareTo是culture sensitive的。它会根据当前的culture info,对字符串中的字符取权值,然后计算比较。(非顺序比较)
December 26

Issue Owner V.S. Code Writer

曾经我的一个老师告诉我,try not to be an issue owner but a code writer。当时刚工作也没什么想法,觉得是自然而然就好了,每天开开心心的写code, 做技术的没有这种烦恼。但实际上我现在有点明白这句话的意思了。随着经验的积累,有些领域的新鲜感已经消失,更多的时间变成开始处理issue,也就不知不觉地必须面对如此的抉择。
 
对于自身发展来说,去drive和own issue有点小作用,但是做得太多太重复并没有好处。但是对于career, issue干掉得越多,一般来说performance就越好,往leadership发展的可能性就越大。光写code不own issue可能没有promotion, 而光own issue不写code,过了若干年可能再也无法和刚毕业的学生们一起比了。之所以说程序员是青春饭,并不是因为技术更新太快,而是有经验的人都要去处理事情了,自然catch up技术的机会就少了。。。。也就是所谓的“程序员的未来就是剥削程序员”吧。。。。
 
很多Issue都是存在公司粘性的,换句话说,在别的地方就失去了竞争力。五年以后,我希望自己成为怎样的人呢?执著于表面的光鲜有时会让人迷失内心的渴望,我想我更喜欢是做成伟大的产品,让自己写的东西使用在无数人的生活中。
 
似乎有点跑题了。我面临着很多类似标题的选择,其实本没有对和错。顺其自然就行了,珍惜已经有的,追求自己想要的,大不了回到原点重来。
 
 
 
P.S - 准备讨论一些技术专题。。。虽然我自己学得也很浅,但是也随手写点吧。。
 
 
 
 
Photo 1 of 5
No list items have been added yet.