Skip to content →

Daoyuan Li Posts

基因决定公司前途定律

看完《浪潮之巅》,收获不小。这本书讲述了美国各大科技公司的沉浮历史,从科技和商业两方面讨论了它们成功的秘密和失败的根源,提出了不少我很认同的观念。

首先是基因决定定律,一个公司的创始人和早期员工决定了公司的基因,这个基因会在公司成长的过程中不断影响公司做出的决定,从一定意义上来说决定了公司能否成功和公司对员工及社会的影响。苹果是一个设计公司,所以它推出的手机在设计上没有出彩的地方的时候消费者就不会买账;Google是一个做工程的公司,所以它的Android系统做了七年也做不出好的用户体验;爱立信是一个设备提供商,所以它不可能跟最终消费者走的太近,它会更多的考虑运营商而不是最终消费者的利益;微软是卖软件的,所以它在免费在线服务上竞争不过Google跟Yahoo,因为后者提供的服务是免费的……

其次是摩尔定律,反摩尔定律和安迪比尔定律。摩尔定律大家都知道,即每18个月计算机硬件性能提升一倍或者价格下降至原先的一半;反摩尔定律说的是如果一个IT公司18个月之后的卖出产品的数量与现在一样,那么它一年半之后的营业额就会减半;安迪比尔定律说的是英特尔的硬件带来的提升会被微软软件消耗的资源抵消,软硬件产业的发展是相辅相成的。

还有一些管理公司的诀窍。如思科为了留住早期员工让他们进行内部创业,然后再将他们创立的公司收购,从而不断获得新的技术和留住最好的人才;Google初创时期为了让员工充满动力,每周都会公布一周里签下的大合同和公司的运营额以及现金数量等“商业机密”,让每个员工知道公司运营状况;Google用人采取“杀鸡用牛刀”的方式保证产品质量和工作效率;一个公司在IPO之后往往创始人的股权都小于10%;伯克希尔-哈撒韦采用双层股权,A股面值是B股的30倍,投票权是B股的200倍,A股能转为B股而B股不可能转为A股,这样来保证创始人公司的控制;Google也采用双层股权的方式,A股每股一个投票权而B股每股10个投票权,B股掌握在创始人和高管手中而不能流通。

虽然这本书的作者吴军对技术细节可能不太重视(比如他写到IPv6中地址是6个字节48位,实际为16字节128位),但他在Google的工作经验和对公司商业上的看法十分深刻,推荐此书。

Leave a Comment

《活着》的信念

之前看过电影,但对电影情节一点印象都没有了,所以现在再来看书的时候就像是新拿到一本小说一样,一口气看完之后才慢慢回忆起之前电影里面的一些场景。一个人活着,信念是最重要的,对福贵也好,对少年Pi也一样,这个信念的产生并不需要有前提诱因,也不需要有情操来支持它,它是每个人与生俱来的。活着的信念本身是卑微的,关键时刻产生的继续生存下去的动力却是其它信念无法比拟的。

Leave a Comment

Installing mod_xsendfile on OS X Lion

First download mod_xsendfile.c from https://tn123.org/mod_xsendfile/

Then compile and install it:

sudo apxs -cia mod_xsendfile.c

Add the following line to /etc/apache2/httpd.conf at the end of the first block of “Load” statements:

LoadModule xsendfile_module libexec/apache2/mod_xsendfile.so

At last, restart the apache server

sudo apachectl restart

Hi, the company I’m working for (yabroad.com) is hiring Website Backend and Frontend Developers to our platform team. We are building an open platform for youngsters to travel beyond boarders and we offer youngsters internship, language study, travel and volunteer opportunities. Please contact me if you are interested.

Leave a Comment

像孩子一样委屈

常说随着孩子越长越大,父母会越来越像孩子,这话一点都不假。回国之前母亲常在电话里缠着我给她讲我每天周遭的事情,有时候她还会小孩子般的耍耍无赖。现在回来了,跟母亲在一起,发现老人真的是越长越像孩子。

昨天母亲做了一桌丰盛的饭菜,其中有一盘鱼,结果她吃了一口就不小心被鱼刺卡住了喉咙。喝醋无效之下我陪她去了医院,医生让她张嘴放松以便检查鱼刺位置,但是她却一直很紧张。我看着她紧张而无助,医生一次次提高嗓门让她放松,却不知道怎么安慰她。

今天晚上批评她做事的方式,我说话的方式不对,说得她闷闷不乐的,让我也不知如何是好。

大人跟孩子的关系果真是马上就要颠倒了,一些东西,它怎么来就怎么走。小时候收到了关爱呵护,现在需要同样返还;彼时付出了心血,也适时回收了。

4 Comments

归国两周感受

回来半个月了,目前总体上还比较适应国内的大环境,因为之前没敢期待太高,所以没有什么心里落差。但是生活中还是有一些小小的感触,先记录在此。

首先是物价,已经远不是我三年前出国时候的水平了。到南通第一天去逛超市什么都不敢买,洗发水跟芬兰一个价,浴巾比宜家的贵质量还不好,欧莱雅的洗面奶芬兰超市卖8欧这边卖100块,进了趟超市买一袋东西两三百就出去了……终于理解到了什么叫物价赶英超美,现在英美都不在话下了,开始赶超北欧了。回来两周小心翼翼的花钱,算下来还是花了四千多,但是花在哪儿我一点印象都没有。

其次是网购,太方便了。京东一般情况下第二天就可以送货上门,还支持货到付款。不过网购的缺点却很明显,就是不知道物品质量到底如何。我在京东上买了一个床上三件套,收到后发现这个三件套是一个床单加两个枕套,太让人无语了,一不小心就上当了。

人们生活节奏都很快,在高速公路上都是不停变道,不停的鸣笛,堵车了更是挤来挤去,越堵越挤,越挤越堵。市区也是,大家经常闯红灯,各种不遵守交通规则。我最受不了的就是大家一直在不停的鸣笛,不管是什么车,卡车也好,三轮车也罢,司机手都随时按照喇叭上。在小区里面也吵个不停,晚上都一样。总体来说节奏快的结果是周围都很吵,旁边的工地一天24小时都有机器轰鸣,中秋十一八天假也是这样。我刚回来的时候早上经常五点多就被吵醒,不过适应了一段时间之后感觉也习惯了。

年轻人会说英语的还挺多的,长途汽车站的售票员基本业务上的英语都会,跟老外打交道没什么问题。另外服务行业的从业人员整体态度都还比较好,去银行柜台后面的人都知道微笑,说话也慢条斯理;公交司机也比较有礼貌;但是被服务的人素质参差不齐,插队的情况也时有发生。总体来说年轻人比中老年人素质高,受的教育愈好素质愈高。

总体来说这两周的感受偏正面,以后想到什么再加。

Leave a Comment

留学小结-敷衍版

时光如梭,一晃我已经出国三年了。 三年前我一个人拖着两个行李箱挥别母亲前往北京国际机场的一幕历历在目,转眼间我又开始收拾打包行李,准备开始新的征程了。

三年前我收到欧盟EM项目的录取通知,有幸拿到全额奖学金来瑞典皇家理工大学和芬兰阿尔托大学攻读安全与移动计算的双硕士项目。当我踏上北欧土地的那一刻起,我就爱上了这里——这里优美的环境、友善的人们、天堂般的夏天都让我如梦如痴。

三年里,我除了学习,还参加了各种活动以开阔视野。我跟同学好友一起游览欧洲、参观博物馆,一起谈天说地、谈理想、谈人生、谈未来,一起做饭、包饺子、开聚会、分享自己的厨艺……这三年中,我最大的收获反而不是学习上和技术上的,而是交了许多一辈子也不会忘记的朋友,对自己对世界有了一个更客观更深刻的认识。

三年里,我拿了两个学位,找到了一份满意的工作,还当了一把“科学家”;我还七天急行一千公里,一路风餐露宿,从赫尔辛基骑单车到拉普兰拜访圣诞老人;我跟朋友旅行至欧洲大陆的最北端,顶着北冰洋吹过来的寒风在悬崖不远处安营扎寨……这些都是我一辈子都不会忘却的记忆。

可是三年了,这里毕竟不是我的家,家里还有父母期盼的眼睛;而我也有了更远大的抱负,不安于现在安逸的生活。所以,我辞掉工作,回国跟朋友创业,实现自己更大的理想。我坚信在欧洲游学的经历一定会给我帮助、启发和灵感,而我在困境之中回忆起这些,也一定能充满激情和力量。

北欧,谢谢,再见!

6 Comments

XBMC and OS X firewall permission popups

I installed XBMC on my Mac OS X Lion and every time I open up the program, a firewall permission dialog pops up. It didn’t help even if I added the XBMC in my firewall configurations. Popups still show up. This link solves the problem neatly — You can generate a certificate and sign the program by yourself. After that the frustrating dialog should appear only once (at most). In case the link becomes invalid, here’s a screenshot of the instructions. Click to see the large picture.

Leave a Comment

Block unauthorized ssh login attempts (attacks)

My friends and I am working on a hobby project and  we need a Git server, so I set up one on my MacBook Pro. We access the repository via SSH. However when I checked the ssh log I found someone trying to get ssh access to my machine by guessing usernames. The log looks as follows:

Jun 29 21:06:52 doh1 sshd[19400]: Invalid user postgres from 190.181.132.70
Jun 29 21:06:52 doh1 sshd[19401]: input_userauth_request: invalid user postgres
Jun 29 21:06:52 doh1 sshd[19401]: Received disconnect from 190.181.132.70: 11: Bye Bye
Jun 29 21:06:54 doh1 sshd[19402]: reverse mapping checking getaddrinfo for wimax132-70.yota.com.ni [190.181.132.70] failed - POSSIBLE BREAK-IN ATTEMPT!
Jun 29 21:06:54 doh1 sshd[19403]: Received disconnect from 190.181.132.70: 11: Bye Bye
Jun 29 21:06:55 doh1 sshd[19405]: reverse mapping checking getaddrinfo for wimax132-70.yota.com.ni [190.181.132.70] failed - POSSIBLE BREAK-IN ATTEMPT!
Jun 29 21:06:55 doh1 sshd[19405]: Invalid user backup from 190.181.132.70
Jun 29 21:06:55 doh1 sshd[19406]: input_userauth_request: invalid user backup
Jun 29 21:06:56 doh1 sshd[19406]: Received disconnect from 190.181.132.70: 11: Bye Bye
Jun 29 21:06:57 doh1 sshd[19407]: reverse mapping checking getaddrinfo for wimax132-70.yota.com.ni [190.181.132.70] failed - POSSIBLE BREAK-IN ATTEMPT!

I first tried to use DenyHosts, however, there are still attempts from other IP addresses. Since there are three of us accessing the repository, I configured the hosts.allow and hosts.deny manually: deny all hosts other than the IP addresses I trust.

hosts.deny:

~$ cat /etc/hosts.deny 
sshd: ALL

hosts.allow:

~$ cat /etc/hosts.allow
sshd: [The IP addresses you allow to connect via SSH]
ALL: localhost

Now the log file should be quite…

Leave a Comment

Cycling routes around Helsinki area

If you cycle as often as I do, you may find the following tips helpful:

  • Checking cycling paths: http://pk.hsl.fi/en/ You can also export the paths to GPX or KML files.
  • You can import routes in KML to Google Maps.
  • You can use Google Maps to navigate when you’re not sure where you’re going to.
Leave a Comment

Cycling to work in the rain

Yesterday the weather forecast said it would rain at 8am today, but not before that. So last night I went to bed very early and got up at 6 o’clock. When I headed out the rain already started, but it was not raining heavily. After some time it rained harder and I got all wet — the clothes are wet both inside and outside since I was sweating heavily. I thought it would take me longer time to get to work, but when I arrived it took me only one hour and ten minutes, even less time than yesterday!

I only wish I had brought another pair of socks since it became all wet because I was wearing sandals…

Leave a Comment

Cycling back from work

Cycling to work this morning took about one hour and 20 minutes; and cycling back took one hour and 5 minutes. 😀

Speed 17.75 kph vs. 19.4 kph, quite impressive!

Leave a Comment

Cycling to work

I booked a flight to Warsaw one day after midsummer and discovered later no bus connection is available to the airport on that day. And after searching the cycling route to the airport I decided to cycle there this Saturday, since it’s just 22 km away. Last Saturday I started cycling again to get some exercise; I tried to find the airport but failed in the middle, I rode in the wrong direction for around 5 km without knowing that… Yesterday it was raining the whole day so it was not possible to cycle. To get more exercise I decided to go to work by bike — and to avoid too much exercise I chose the shorter route, for 7 km of which there’s no cycling path and I have to ride on Road/Highway 51. The road is under construction so the speed limit is around 50 kph — not too dangerous. There was not so much traffic, at least in my direction. And in 1h20m I arrived at Ericsson, saving 20 minutes compared to my previous route.

The previous weekend was also nice. On Friday I went to the best Chinese restaurant with my colleagues. The Peking Duck was quite nice and all of us loved it. I’ll probably go there again with other colleagues later on. On Saturday we had a grill party. The food was nice but the discussion was better. It seems that none of us is content with our current situation. I believe this is good, especially we are planning a change. On Sunday three of us had lunch and dinner again, again the discussion was great. It is nice to discuss with someone with the same technical background. Very fruitful weekend indeed.

Leave a Comment

Nokia: How low can you go?

I bought some Nokia shares a few months ago thinking at that time that the share price was really low, and it wouldn’t go lower than that. However, Nokia proved me wrong again and again. In April Nokia shares dropped more than 30%. And it has kept that trend ever since. Today it dropped again — around 20%. Now I’m losing more than 50%… Well, I guess there are reasons why some financial analysis institutes cut NOK as Junk… It’s just difficult for newbie investors to understand. Now I’ve witnessed how one company can screw up, and not surprised any more if it may go further down.

If Microsoft is to take over Nokia, it is certainly doing an excellent job…

Leave a Comment

People don’t remember acronyms

I created a website for the project I’m working on and also filled in relevant information for it. The project has a acronym of “CIER“, which I put on the website as “Communication Infrastructure for Emerging Regions”. After I delivered it to my colleagues, my manager, and the project partners, everyone seemed to be OK with that. However when I looked back and went unsure about it; I remembered coming up with the full name when I just wanted to put something/anything there, without looking up the project documents… And when I checked them again later on, I was wrong. The full project name is “Converged Infrastructure for Emerging Regions” instead. I corrected it, and still feeling funny about it. My manager had found one of my typos mistaking “funding agency” for “founding agency”, however he didn’t notice the acronym error I’d made, and neither did anyone else. Most people don’t remember acronyms correctly when they’re not used very often, AFAIK.

Leave a Comment