分类 生活 下的文章

问:
你是自满的人吗
答:不是
问:
你大部分时间都足够谦虚吗
答: 不是
那你就还是一个自满的人

问:
你一事差不多就这样吗
答:嗯
问:
这就是最后的本质吗
答: 不是

我在今年上半年花了一点时间看论语等古文,最近一直看Senven Habits Of Effective People。
表达类似的观点中华文明喜欢精辟总结,画龙点睛,意犹未尽,西方文明则喜欢演绎,归纳,比喻并把细节描述的形象生动,并成一定体系。
我个人感觉后者比较有效果。

小学中学老师经常这么说,并且更生动的话是这么说的:自以为是的人感觉自己轻飘飘的,骨头轻了,尾巴翘起来了。
我当时想我没感觉轻飘飘啊,肯定不是说我。

最近看 Seven Habits of Effective People
前面的章节提到The Production/Production Capability (P/PC)  Balance。
想想在工作和生活中,没有吧P/PC Balance的地方很多(做事偏向P的多,学习偏向PC的多),主要问题都是人总是看不了这么远。
同时眼前具备表象和感性认识的东西总更有诱惑力,尽管多认真一下,不难达到正确点。
比如说 开发和测试, 设计和实现,调研和行动,磨刀和砍材。

待续(洗澡睡觉)

---
爱体(理疗)健康的经营情况
作者: onebird
发布时间: 2008-08-23 14:43
分类: 生活

不少朋友关心询问 - 贴一段对话 与大家分享

China-吕威  说:
不和朋友合作开店了
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
没有啊
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
一直正常进行 现在用户已经多了一些了
  China-吕威  说:
哦,那可能我听错了,
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
嗯 没有出过问题 进展还比较顺利 你有空可以过去看看
  China-吕威  说:
好的,具体地点是/
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
www.it-care.cn/communication
  China-吕威  说:
好的,你平时去店里多吗?
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
一周2-3次
  China-吕威  说:
哦,还挺多的,现在盈利了吗
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
还不行 按计划是3-4个月,现在进展还行
  China-吕威  说:
哦,那就好
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
也有给自己定义KPI的 呵呵  还比较清楚
  China-吕威  说:
呵呵,这也定KPI
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
其实和做网站一样 : 推广的流量 回头率 好评率  板卡率  推荐率, 平均用户数,高峰用户数
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
不同推广渠道的召回率
  China-吕威  说:
是呀,还是有学问的,哪些效果比较好呀?
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
把握基础的指标之后  确实可以比较好估计
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
推广做的很少(朋友推荐/传单/通过一些公司的hr),所以增长不算快。不过由于回头率还不错,所以还不断增长
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
到了一定人数,如果满意率高 那么推荐率就高 那么就不要推广了
  China-吕威  说:
哦,是呀,要么是良性循环,要么是恶性循环,所以我觉得重要的还是服务质量和特色呀
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
是的
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
不过这期间有不少细节要做好和耐心
  China-吕威  说:
那是,只能是一个循序渐进的过程,一下用户上升太快,也不稳定呀
  China-吕威  说:
你工作怎样/
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
一般
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
轻松 但不是很有意思
  China-吕威  说:
不过也好,你可以花更多的心思在店上
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
我不花很多时间 我只是自己过去理疗的时候 看一下数据总结和提要求。
  China-吕威  说:

ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
开始选择和定位的时候花了比较多心思
  China-吕威  说:
那是,现在怎么定位/
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
白领和IT界人员  中档以上环境 招聘人员专业医学院校毕业医院理疗科工作经验
  China-吕威  说:
哦,现在多少员工了/
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
6
  China-吕威  说:
都是学医的?
ym~张一鸣 |谁iphone gprs上网| www.it-care.cn 说:
除了前台
  China-吕威  说:
哦,那倒是

这个话题在不同的场合和不同的创业或想创业的人聊起。
有一种说法是不要招一流学校的人,他们的期望值太高。
其实,很多时候,对公司期望值高的人对自己的期望值也高,如果企业确实需要高成长高挑战,为何不招期望值高的人呢

不论在公司还是个人我做过不少网站,也关注SEO,根据我的体验。
Google一流
微软 百度  二流
搜狗,有道,雅虎 其它三流

举个例子
比如www.it-care.cn 这个网站
我搜爱体理疗这个相对生僻的词,google在网站上线不到两天就索引到并且排在第一(因为是特殊名称招牌所以牌第一是正确的)
微软隔了一周后正确索引排序到。
百度索引到一些k68上相关的内容,不过两周了还没有索引到it-care.cn
其它搜索引擎更差。
yahoo美国完全没有相关内容,雅虎中国还不错。

这样的例子在几乎,每次都是类似的情况 。
我觉得google能坚持不松懈的话,久而久之就可以从百度手上拿下更多一些市场份额。
据了解和接触,感觉百度在遗留系统上修修补补,并无大的突破和平台级的改进。
一般来讲(不针对以上任何公司,只是一种体会),有的事情不是靠人多而是靠人精和投入地全部发挥, 常常需要get deep into it。10个人以2倍的勤奋认真干半年,可能比50个人一般效率的干一年效果更好

这两天算了一下在ms工作回报,近2个月,不低于100rmb一行代码。我都不好意思说我干了什么,可想而知有多无聊。 不过还好自知这种无聊,也希望在无聊中学习有聊的部分,ms作为顶级IT公司本身还是做的非常让人赞叹,但主要体现在总部,以及制度的设计和创立。最近都在看书,自己也写点东西,不要松弛之后就紧张不起来了。

中关村科技园爱体理疗开业了!
作者: onebird
发布时间: 2008-07-06 17:43
分类: 生活

由于工作的关系,长久以来腰椎不好(L5-S1轻度膨出),后来再广东由爸爸推荐的薛医生给理疗了两个星期好了有很大好转。

今年年初和薛医生讨论是否可以在科技园区开一个专门的理疗店,结果一拍即合。于是我就把最近做IT民工积攒的“血汗钱”投入到开办了一个专业的爱体理疗。经过2个月的准备,薛医生面试了60多个理疗师后,开业了(试营业,职照审核中)。

地点在中关村天创科技大厦(离第三极,理想大厦很近,在中关村购物广场旁)。
试业期间六折优惠,认识我的人可以找我要体验卡。
网站
http://www.it-care.cn

找出字符串中最长连续重复字符串,重复次数一样情况下,重复单元长的优先,重复单元长度一样情况下排在前面的优先,举例如下
null->null
“”  -> ""
ab -> ab
aab -> a
aabbbc->b
aabbc->a
aa1212bc->12
我的代码如下,有点抽象哦
主函数入口 public string FindMostContinuouslyRepeatedString(string s)
using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;

using PuzzleInterface;

namespace PuzzleSolution
{
    class CharPosInfo
    {
        public LinkedList PosList;
        public LinkedListNode CurBegNode;
        public CharPosInfo()
        {
            PosList = new LinkedList();
            CurBegNode = null; ;
        }

    };
    class CharPosTable
    {
        public CharPosInfo[] table;
        public int Count;
        public CharPosTable(string s)
        {
            table = new CharPosInfo[256];
            Count = s.Length;
            for (int i = 0; i < 256; i++)
            {
                table[(char)i] = new CharPosInfo();
            }
            char curCh;
            for (int i = 0; i < Count; i++)
            {
                curCh = s[i];
                table[curCh].PosList.AddLast(i);
            }
            for (int i = 0; i < 256; i++)
            {
                table[(char)i].CurBegNode = table[(char)i].PosList.First;
            }
        }
        public void SetRepeat(string s, ref Repeat rp,int begPos)
        {
            int startPos; int posOver,posStart;
            char ch; int v;
            LinkedListNode node;
            LinkedListNode rmNode;

            for (int k = 0; k < rp.ItemLen; k++)
            {
                 startPos = rp.PosInSrc + k;
                 ch = s[startPos];
                 CharPosInfo cpInfo = table[ch];
                 LinkedList tList = cpInfo.PosList;
     
                node = cpInfo.CurBegNode.Next.Next;
                posOver = (startPos) + rp.ItemLen * (rp.Times - 1);
                posStart=startPos + rp.ItemLen;
                while (node != null)
                {
                     v = node.Value;
                    if (v >= posOver)
                    {
                        break;
                    }
   
                    {
                        if ( v<= begPos )
                        {
                            cpInfo.CurBegNode = node;

                        }
                        if (v <= posStart)
                        {
                            node = node.Next;
                            continue;
                        }
                        rmNode = node;
                        node = node.Next;
                        tList.Remove(rmNode);

                    }

                };
            }

        }
        public int FindNextCharPos(char c, ref LinkedListNode cNode, int curPos ,int leastPos)
        {
 
            while (true)
            {
                if (cNode.Next != null)
                {
         
                    if (cNode.Next.Value <= curPos)
                    {
                        cNode = cNode.Next;
                        continue;
                    }
                    if (curPos  >leastPos)
                    {      
                        return -2;
                    }

                    return cNode.Next.Value;
                }
                else
                {
                    cNode = cNode.Next;
                    return -1;
                }
            }
        }

    }
   public  struct Repeat
    {
       public int Times;
       public int ItemLen;
       public int PosInSrc;
       public void Clear(){
           Times = 0;
           ItemLen = 0;
           PosInSrc = -1;
       }
    }

    public class Solution : IPatternRepetition
    {
        public static bool  StrEqual(string sA, int oA, string sB, int oB, int len)
        {
      
            for (int i=0; i < len; i++)
            {
                if (sA[oA + i] != sB[oB + i])
                {
                    return false;
                }
            }
            return true;

        }

        public static void GetRepeat(string s ,int sOffset, int nextOffset,ref Repeat rp)
        {
        //    Repeat rp = new Repeat();
            rp.Times = 1;
            rp.ItemLen = nextOffset - sOffset;
            rp.PosInSrc = sOffset;
            int slen = s.Length;
            int step = nextOffset;
            int stepOver =slen -rp.ItemLen;
            while (step <= stepOver)
            {
                if (StrEqual(s, sOffset, s, step, rp.ItemLen))
                {
                    rp.Times++;
                    step += rp.ItemLen;
                }
                else
                {
                    break;
                }
            }
        }
        public string FindMostContinuouslyRepeatedString(string s)
        {
            if (s == null ) return s;
            CharPosTable posTable = new CharPosTable(s);
            int slen = s.Length;
            if (slen < 2) return s;
            Repeat maxRepeat = new Repeat();
            maxRepeat.ItemLen = 1;  maxRepeat.PosInSrc = 0;  maxRepeat.Times = 1;
            char ch;
            Repeat rp = new Repeat();
            LinkedListNode cNode;
            for (int i=0; i < slen; i++)
            {
                ch = s[i];
                int curPos = i;
                cNode = posTable.table[ch].CurBegNode;
                while (cNode!=null)
                {
                    curPos = posTable.FindNextCharPos(ch, ref cNode, curPos,
                        ((slen - i) / maxRepeat.Times  + i));
                    if (curPos == -2) {
                        break;
                    }
                    rp.Clear();
                    if (curPos == -1)
                    {
                        rp.Times=1;
                        rp.ItemLen = s.Length - i;
                        rp.PosInSrc = i;
                    }
                    else
                    {
                        GetRepeat(s, i, curPos, ref rp);
                    }
                    if(rp.Times>2)  posTable.SetRepeat(s, ref rp,i);
                    if (rp.Times > maxRepeat.Times)
                    {
                        maxRepeat = rp;
                        continue;
                    }
                    if ((rp.Times == maxRepeat.Times) && (rp.ItemLen > maxRepeat.ItemLen))
                    {
                        maxRepeat = rp;
                    }
                   
                }
            }
            if (maxRepeat.PosInSrc >= 0)
            {    //    System.Console.WriteLine("Real:"+maxRepeat.Times + " " + s.Substring(maxRepeat.PosInSrc, maxRepeat.ItemLen /* maxRepeat.Times*/));
                return s.Substring(maxRepeat.PosInSrc, maxRepeat.ItemLen /* maxRepeat.Times*/);
            }
            return null;

        }
    }
}
公司内部的Puzzle活动,我提交的代码(原代码速度第二,这个是事后修改了一点,比第一快乐一点)

每周都有2,3个真实的朋友增加。今天一个出国的小妹妹也增加了(上次见她还是初中)
QQ就没这个效果,除非交换QQ号码(很久没告诉人QQ号码了)
不过MSN还是经常有人加(可能和名片 工作有关) 。

其实SNS对社会还是有贡献的 很多信息在朋友之间需要分享 。目前都是写邮件,博客和msn昵称分享。
不过封闭的一定社区是出路吗,email开放的特点目前还是用的最广的联系方式。