The Mirages

樱桃沟夹事

thinkpad最大的优势就是在linux上可以找到很多对应的驱动。无论是风扇转速,CPU温度,以及电池充电,还是最好用的HDAPS(硬盘防震)

还有一个关于thinkpad linux下的很好的wiki:http://www.thinkwiki.org

其实ubuntu已经对thinkpad支持的很好了,但是我们还是安装点附加的软件来实现上面的需求。

首先是要解决的显示风扇转速和CPU温度

 sudo aptitude install sensors-applet 
阅读全文 »

为了能够得到最新的房屋价格,虽然安居客这种网站的价格并不是很准,但是一旦有了历史数据,那分析起来还是可以得到点相关的信息的。分析的结果如下展示:

 http://beijing.anjuke.com/viewprop-act-sell-id-34033853.html 13366569581 南北 美联物业 亚运新新家园朗月园 1450万元 5室3厅 365平米 39726元 共3层 2008 http://beijing.anjuke.com/viewprop-act-sell-id-34033627.html 13161862633 南北 润万嘉 远洋·万和城 760万元 3室1厅 163平米 46626元 8/12 2005 

第一列为房子的具体链接地址,第2列为销售的手机号,第3列为房子的朝向,第4列为中介公司,第5列为楼盘名字,第6列为总价,第七列为户型,第8列为楼层,第9列为房子年代

具体的shell脚本如下,得到的最后csv文件可以用excel或者python matlab进行画图。

 #!/bin/bash cd /home/timo/house day=\`date +%F-%H:%M\` today=\`date +%F\` wget --header="Host: beijing.anjuke.com" --user-agent=Mozilla/5.0 http://203.166.162.82/v2/sale/W0QQdsmZmmQQmodeZ1QQs5Zall -O anjuke.txt grep "房龄|viewprop-act-sell-id" anjuke.txt | grep -v option > result.txt sed '{N;s/n/ /}' -i result.txt if \[ ! -f today.anjuke.$today.csv \] ; then touch today.anjuke.$today.csv fi templink=\`awk -F'"' '{print $2}' result.txt | tail -n 1\` tempid=\`grep -c "$templink" today.anjuke.$today.csv\` if \[ $tempid -le 0 \] ; then echo "$day" >> today.anjuke.$today.csv awk '{print $2,$3,$11}' result.txt | awk -F'"' '{print $2,$4,$5}' | sed 's#_|_|,|单价:|楼层:|房龄:# #g' | sort -k 5 >> today.anjuke.$today.csv fi sed -e 's#二手房# #g' -i today.anjuke.$today.csv for linenum in {1..25} do temp_phone=\`awk '{print $2}' today.anjuke.$today.csv | tail -n 25 | sed -n "$linenum"p| egrep "^\[0-9\]+" | wc -l\` if \[ $temp_phone -le 0 \] ; then for x in \`awk '{print $1}' today.anjuke.$today.csv | tail -n 25 | sed -n "$linenum"p\` do wget --user-agent=Mozilla/5.0 $x -O phone.txt phone=`egrep -e '"telphone">\[0-9\]+' phone.txt | sed -e 's#

|

|t##g'` orien=\`grep '朝向' phone.txt | grep -w li | sed -r 's#\[a-z\]||"|/|=|t|朝向:##g'\` shop=\`grep 'images.anjukestatic.com/broker' phone.txt | awk -F'"' '{print $12}' | awk '{print $1}'\` sed -e "s#$x#$x $phone $orien $shop#g" -i today.anjuke.$today.csv done fi done 

计算所有房子总价的平均价格,不算不知道,一算吓我一跳阿

阅读全文 »

puppet dashboard是一个puppet的展示模块,自身就带有了一个web服务器。 ruby on rail 嘛!

但是我们还需要安装mysql数据库

安装具体步骤如下:

1. 安装mysql5.0或者mysql5.1

2. 安装ruby,一定要1.8.7版本

阅读全文 »

说是使用autobench,其实autobench是一个Perl脚本用来调用httperf来进行测试。所以我们需要先安装httperf然后安装autobench。

安装过程简单如下

 wget http://httperf.googlecode.com/files/httperf-0.9.0.tar.gz tar xvzf httperf-0.9.0.tar.gz cd httperf-0.9.0 ./configure make && make install cd .. wget http://www.xenoclast.org/autobench/downloads/autobench-2.1.2.tar.gz tar zxvf autobench-2.1.2.tar.gz make make install 

然后我们就可以直接调用autobench进行测试了,测试结果可以直接保存为tsv格式,这个可以用excel直接打开,然后进行画图。

 autobench --single_host --host1 www.test.com --uri1 /10K.html --quiet --low_rate 20 --high_rate 200 --rate_step 20 --num_call 10 --num_conn 5000 --timeout 5 --file /tmp/results.tsv 

上面这个表示测试 http://www.test.com/10K.html
,从并发20个连接一直到并发200个连接(每个连接包含了10个请求),以20为递进。每个测试总共都会有5000个连接,如果5秒内没有响应就表示出错。最终的结果保存在/tmp/results.tsv

阅读全文 »

在来sohu之前,其实我是先面的创新工场,在一个周六的上午面的,清华科技园某座16楼,由于当天的前台跟人事没沟通好,所以还得我打给人事打手机问下具体情况,结果前台说人事正在清华校招呢。所以最后那天是直接进去喊人有没人约的我,汗一个!
虽然我看连前台都用上了google calendar,但是显然这个google calendar没有跟人事的进行同步。
应该说创新工场的人事还是很尽责,在约人之前在电话里跟我进行了详细的沟通,估计沟通了1个小时左右。我觉得这点很好,经常碰到有些人事和猎头搜索到关键字就说要让你去,到底专不专业阿? 就算来了不是浪费大家时间阿。
面我的是个看着脸膀还有点清涩的孩子,主要是关于数据库方面的DRBD这些东西。具体什么内容由于几个月都过去了,都已经健忘了,只记得当时是在kaifulee的办公室里面的。
当然没有多久我就接到了二面通知,还是之前那位人事通知的。二面是位中年人,很明显创新工场实在太挤了,我们两就在一个角落了聊了会,接着就说让人事总监跟我最后谈谈,可过会说总监不在,只能另约,这一另约就是慢慢1个多月啊。而在这个时候我也跟SOHU给确认好了。是人才在什么平台上都能发挥自己最灿烂的一面的。
总结:
一:创新工场招人很多,但是都很谨慎。
二:创新工场给钱不多
三:给不给期权未知,因为最后一轮没有谈
四:工作比较累,加班较多,周六也要上班
五:工作氛围应该不错,我面的时候看到大家都热火朝天的很努力
六:上班很挤,还要占座
七:招聘流程会很长,会一个多月
八:创新工场项目很多,得具体问清楚什么项目
九:创新工场有自己孵化项目和外来项目(可能给的待遇会不同)
十:找一个靠谱的领导比找一个靠谱的公司重要
###########################################
Best regards
Timo Seven

在squid中可以很简单的查看squid的命中率,但是在nginx需要在日志中添加$upstream_cache_status这个参数,这样就可以显示它的cache状态,有

  1. MISS

  2. EXPIRED - expired, request was passed to backend

  3. UPDATING - expired, stale response was used due to proxy/fastcgi_cache_use_stale updating

  4. STALE - expired, stale response was used due to proxy/fastcgi_cache_use_stale

  5. HIT

共这样5种状态。
我的日志文件的格式为:

 log_format cache '$remote_addr - $remote_user \[$time_local\] - $request ' 'upstream_response_time $upstream_response_time ' 'msec $msec request_time $request_time - $upstream_cache_status'; 

在我的日志文件中计算了upstream的响应时间和命中状态。

这样很容易就能从日志中计算出nginx cache的命中率了。

阅读全文 »

nginx cache现在已经在0.8以上的版本默认启用了,其实是作为proxy部分的一部分。而且现在nginx cache已经支持expires, gzip,内存cache管理等等,已经可以作为线上可以使用了。

使用nginx cache一直是有这个想法的,因为squid实在是太过臃肿了,而连接数到达400已经很吃力了,而nginx的优势恰恰是在连接数上。下面就开始试用吧。

首先是安装,我还特地下载了一个purge工具,专门用来进行推送,但是还是要单独安装squidclient。

 ./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-file-aio --add-module=/home/timo/download/ngx_cache_purge-1.2 
 make 
 make install 

下面这个是我自己的一个Nginx.conf文件,用来做最简单的cache功能

user www-data;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;

#pid logs/nginx.pid;

events {
  worker_connections 1024;
  use	epoll;
  }

http {
include mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';

access_log logs/access.log main;

sendfile on;
tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;

gzip on;
gzip_http_version 1.0;
gzip_comp_level 9;
gzip_proxied any;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
#gzip_min_length 1100;
gzip_buffers 16 8k;
#gzip_disable "MSIE [1-6]\.(?!.*SV1)";

proxy_cache_path /var/www/nginx_cache levels=1:2
keys_zone=cache_one:200m inactive=1d max_size=200m;
# proxy_temp_path /var/www/nginx_cache/temp;

server {
listen 10.1.41.81:81;
# expires 2d;

location / {
  proxy_cache cache_one;
  # proxy_cache_valid 200 301 302 304 30d;
  proxy_cache_key $host$uri;
  proxy_hide_header Vary;
  proxy_set_header Host $host;
  proxy_set_header Accept-Encoding '';
  proxy_set_header X-Forwarded-For $remote_addr; add_header X-Cache "HIT from cache_test";
  proxy_pass http://10.1.41.81;
  if ( $request_method = "PURGE" ) {
  rewrite ^(.*)$ /purge$1 last;
  }
}

location ~ /purge(/.*) {
  allow 10.0.0.0/8;
  deny all;
  error_page 405 =200 /purge$1;
  proxy_cache_purge cache_one $host$1$is_args$args;
  }
}
}
阅读全文 »

喜欢互联网,是因为互联网的快速发展,不像传统软件产业为了一个产品设计需要琢磨几个月,虽然属于精益求精,但是互联网属于快速变化,什么东西基本是在边做边完善着。

现在搜猫浏览器希望做推广,虽然教育网加速很不错,但是这个功能也就对于使用教育网的人有用,而中国大部分网民都不在教育网内,所以要在其它地方推广,必须要有其它的杀手级应用。

而新闻中心也想增加注册用户的使用率。

其实这些东西都是非常个性化的东西,为什么我看新闻一定要注册进来,为什么我一定要注册使用搜猫浏览器。

所谓个性化的东西就是跟邮件一样,每个人都不得不登录自己的帐号来查看自己的邮件。所以同理,我们一定要推动自己的个性化运动。

新闻中心,我们都喜欢大量的编辑给我们编辑好新闻主题来查看了,可这些新闻真的是我们想要看的吗? 社会新闻还好,可体育新闻呢?
有人喜欢F1,有人喜欢足球,有人喜欢巴萨,有人曼联,有人喜欢NBA,而其他新闻我基本就不看的,你说如果你不登录,服务器能知道你只喜欢NBA吗?所以定制个性化新闻其实是新闻中心必须做的?
其实这个很想RSS订阅, 但是RSS订阅的内容一般都是技术交流方面的,而新闻方面的还是喜欢通过门户来获知的。

阅读全文 »

puppet是一个类似cfengine的分发工具。主要是由ruby进行开发的。最新版本是2.6了,建议安装最新的版本,省却了很多bug的困扰。

在我的测试环境中,server是一台cent5.5的服务器,而客户端是我的ubuntu10.04。 下面简单说下安装过程。

安装前我centos5.5命名为puppet.timo.com
而ubuntu10.04命名为desktop.timo.com
这个可以在hosts或者DNS中进行指定。

由于是最新的版本,所以我们没法通过源来进行安装。

 yum install ruby rdoc ri ruby-devel ibdifflcs-ruby libdifflcs-ruby1.8 sudo apt-get install ruby rdoc ri ruby-devel libdifflcs-ruby libdifflcs-ruby1.8 

上面2个是在centos和ubuntu下安装的依赖包

阅读全文 »

周二还是周一的晚上,老张给大家开了会说要再造我们搜猫网的文化。大意是说搜猫网最好的时代是98年和01年,大家共进退。
其实这种现象很正常,这个世界上只能同甘苦,不能同富贵的事情的多了去了,就跟反过来一样。
这跟我在囚囚网是一样的,去年做日本项目,大家没日没夜的加班,但是也都没什么怨言,而且我们互相相处的还非常好,而今年项目走向正轨后,我们这些人也基本是走的走了,各奔东西。有去完美,百度,网易,YAHOO,LG等等。
回到中心来,搜猫网作为中国很早的一代门户网站,可为什么现在沦落到靠个搜猫输入法撑着。我觉得原因很简单,创新二字。
搜猫创办门户的时候国外也就YAHOO算是门户,而国内就是没有,而作为普通网民的入口,门户还是很重要的,我要看什么新闻,看邮箱都要去门户。而随着时间的推移,很多人获取资讯都是通过GOOGLE来了,而RSS和SNS的推出更是加剧了这种步骤。而搜猫网还是抱死在门户这一颗树上。
终于有一天来了个想做输入法的年轻人,他算是一股外来力量进入了搜猫网,而这款产品的划时代影响是无与伦比的。在这之前,我们用惯了紫光拼音和微软输入法。而就在之前,我们很多人也会认为输入法也就这样了。
其实很多时候,我们的创新都是在原有的基础上进行创新。在GMAIL之前,我们觉得邮箱也就126这样的,在没有GOOGLE之前,我们觉得搜索也就能达到这样的了。但是这些创新产品的出现打破了我们的认知。
于是网易推出了客户端,应该说这个客户端还是有些亮点的,比如自动添加联系人,自动将发件人和收件人名字改为联系人中的名字。当然作为用户我也为这个客户端提过意见,但是最终不了了之。一个意见是联系人无法同步到网易邮箱服务器上,二是网易的联系人无法导出。(这个应该是怕竞争对手利用)。应该说这个客户端的推出算是打破了国内FOXMAIL的垄断地位了。而自从QQ收购了FOXMAIL之后,FOXMAIL本身就没有什么大的改进了,FOXMAIL的团队都在做改造QQ邮箱去了。
为什么说邮件的问题,一个是因为邮件是INTERNET非常古老的一个产品,而居然很多人都可以在这样古老的产品做一些新的改造。这说明产品本身老不老没有关系,关键是针对产品的创新。
老张会上说,搜猫网会有评审委员会来判定这个产品行不行,能不能突破,我觉得这是一个大大的错误。下面我会说下为什么错了。
在IT公司里,创新做的最好的我觉得是CISCO和GOOGLE这2个公司,看他们每年申请的专利就知道了。原因为什么呢? CISCO的工程师可以在公司内部自己拉人成立新的开发项目,可以大家开发自己觉得有意思的东西,而一旦这个东西成型,CISCO经常会收购这些项目,而工程师们为了更多的被收购,于是就会经常对现有产品进行创新。而GOOGLE同样也是这样的,GMAIL本来就是一个GOOGLE工程师自己的产品,然后GOOGLE也是觉得不错,收购来继续大力研发。于是成了现在的GMAIL。
现在我要说为什么那个是错误的,成立评审委员会没有错,但是用它来判定产品行不行就是大大的错误了。我觉得这个委员会的唯一任务就是来扶植这些创新的项目,因为我们知道这种开发的一般都是工程师,而工程师对于市场,对于法务可能并不太了解。我们需要在这些方面来帮助工程师。
而现在虚拟机和云平台的盛行,我觉得更可以在内部进行开放,来让大家将自己新的创意和产品放到平台上来,而公司进行扶持,并将认为有前途的进行收购和推广。内部可以自由的成立各种项目组来把几个人召集起来开发新的产品。我觉得收购是一个奖励的行为,这样可以让大家看到实实在在的好处,那样很多人都学起来。
而现在搜猫网的现状是,新同事进来完全没有股票和期权。就算你做的再好也不会有的。这种行为更像是一个步入中年的老国企的行为,而不像是一个朝气蓬勃的互联网公司的行为。
CISCO和GOOGLE都是我们学习的榜样。甚至国内很多网游公司都是我们学习的榜样。
——————————————————————————
Best regards
Timo Seven

0%