I'm Joining Craigslist in JulyJeremy Zawodny's blog » Che, Dong's shared items in Google Reader

I wasn't really looking for a new job a few months ago when I received an email from Eric Scheide (see Team Bios), the CTO at craigslist. He mentioned that they were looking for someone with MySQL experience and asked if I knew anyone. This sort of thing happens all the time.

craigslist

But this time it was different. Over the course of about three seconds, something clicked in my little brain and I realized that craigslist is a pretty unique combination of things: a small company with a solid financial base, a great service that I use myself, a focused groups of people who really care about doing things well, and an open-source friendly environment.

I replied that I might be interested myself and things kind of took on a life of their own from there. In the weeks that followed, I got the chance to meet much of the team (including CEO Jim Bukmaster and Craig himself). Each time I came away liking more and more about the team. I've also been impressed at how well the company takes care of its people and how thoughtful they are about making important decisions.

So after taking a few weeks off for some planned travel and unplanned relaxation, I'll start assimilating myself into the craigslist engineering culture and lending a hand wherever I can. Yes, some of that will entail going back to my MySQL roots.

The site is growing like a weed (still!), the people are great, and the focus is on providing a great service that anyone can use. At the same time, there are a lot of technical challenges (they get a ton of page views) and great opportunities to grow the site and give back to both the open source community and all the communities around the world that craigslist serves--a list that's growing all the time.

Not that I really care much what other people think, but the reactions I've had so far when telling people have been universally positive. Very positive. That tells me I'm on the right track.

The only real downside is that crigslist is in San Francisco and I'm in San Jose. So if you have thoughts on getting to the vicinity of 9th and Judah using public transit, let me know. I won't be commuting up every day, but I suspect I'll be trying a few options before settling on what works best.

Previously: Leaving Yahoo!, and The Aftermath.

Related

(comments)

20:33 讨论:夏天来了,您可以不开或少开空调吗? » 中外对话新鲜出炉

张海迪在谈到欧洲人用各种绿色方法避暑的时候说,如果中国居民做出一点小的牺牲,在出门前3分钟关空调,那中国可极大地减少碳排放。

鲜花与空调

Bamberg位于德国巴伐利亚州,是个美丽而古朴的小城,那里漂亮的小街让人流连忘返。我更喜欢Bamberg楼房的窗户,因为很多窗台上都摆放着美丽的花。那些花姹紫嫣红,千姿百态,美得让人感动。

此时想起自己的家――济南,我生活了很多年的一个中国中部城市。这些年,我们中国的城市汽车越来越多,道路越来越拥挤。路旁的楼房也越来越高,越来越密集了,但楼房的窗台上很少摆放鲜花,每一个窗下几乎都挂着大大小小的空调。每当酷暑来临,我们的各种媒体上都会有商家销售空调的报道,比如一天售出几百台,或是一个月售出几千台。但是却没有人去计算这么多氟利昂制冷会产生多少有害气体,这么多空调又会消耗多少能源,排放多少二氧化碳?夏天,我去开会,一些会议室的空调开得很大,温度低得让人发冷,还有的办公室甚至开着窗子吹空调。

尽管Bamberg的夏天也有很炎热的日子,但居民楼房都没有装空调,大多数商店和公共汽车上也没有空调。我曾想人们怎么度过夏天呢?那里的朋友告诉我,即使最高温度达到摄氏42度的日子,人们也只是用各种其它方法避暑。比如,他们到河边去,到树林里去,或是吹电扇,喝冷饮,但就是不装空调。他们说,空调是造成温室气体的原因之一,要保护环境,就要减少这些气体的排放。这话让我很感动――为了保护环境,人就要作出牺牲。但有多少人能够这样自觉地去实践呢?

人类是从远古走来的,不同的人种都有过与风霜雨雪、酷暑严冬的搏斗经历。正是因为这些锻炼和忍耐,人类才进化了,有了健壮的体魄和聪明的头脑。而现代文明却让人对工业产品有了越来越多的依赖,人们的耐受力正在下降。夏天,一些人吹电扇已经不能满足散热的需要了,他们白天要开着空调工作,晚上还要开着空调睡觉。尤其是一些孩子,已经成为“空调一代”,冬天不冷,夏天不热,变得经不起风吹日晒……  

Bamberg的朋友们说,自然环境是人类生命延续的保障,有了良好的自然环境,人们才能有更好的生活质量。这里山青水绿,鸟鸣花香,令人心旷神怡。而且绿色多了,也能调节气温。 

中国科技部发布的《全民节能减排手册》指出,即使只是出门前3分钟关空调,按每台每年可节电约5度的保守估计, 相应减排4.8千克。如果对中国1.5亿台空调都采取这一措施, 那么每年可节电约7.5亿度, 减排72万吨。

夏天你可以不用空调吗,或者至少是可减少它的使用?你是希望看到楼房窗台上摆放着鲜花呢还是更愿意看到窗下挂着嗡嗡作响的空调?

把你的想法在论坛上和我们大家分享吧!

作者简介:张海迪,中国著名作家和翻译家。她5岁就高位截瘫, 但身残志坚,自学成才,成为轰动全中国的英雄人物。

Analytics Spam - Coming To An Internet Near You!SEOmoz Daily SEO Blog » Che, Dong's shared items in Google Reader

Posted by Tom_C

Before I launch into my inagural moz blog post let me make one thing clear. I'm not a blackhat. We don't do blackhat work for clients and frankly I don't do that much of it in my free time either. Just thought I'd like to clear that up before I launch into talking about the shadier things online.... Again!

Before I launch into what analytics spam is, first I'll give you a really quick run-down of how a Javascript-based analytics system works.

Overview of Javascript-Based Analytics

Javascript-based anayltics is a very common method of tracking visitors to a website, it's how Google Analytics works

To install Google Analytics all you need to do is place a small snippet of code on each page of your site that you want to track. The code is javascript, hosted by Google. This code drops a cookie onto the visitor and through a mix of javascript, voodoo and the cookie the visitor is then tracked as they navigate around your site.

(Note: I wanted to insert a handy little flow chart of how javascript analytics works but couldn't find one! If anyone knows of one please drop a link in the comments and I'll add it into the post. There's a bit more in-depth explanation of how it works here though)

So, what do we mean exactly by 'tracked'? Well each time a visitor comes to your site the following kind of information is logged:

Along with a bunch of other stuff.

I'm sure I'm preaching to the converted here - you all know what Google Analytics is and how it works so I'll shut up about that now.

It's important to highlight, however, one of the differences between JS analytics and log-file-based analytics is that JS analytics won't track visits from search engine robots. Log-file analytics do typically show up these visits (which can really skew your data if you're not careful!). The reason is that these robots don't execute javascript. We all know this from SEO-101 right? Don't put your navigation in javascript is one of the basics. And it's because the search engine robots don't execute javascript and hence can't see those links (note that in some cases search engine robots can execute limited javascript but they certainly don't execute analytics scripts) and hence don't show up in your analytics either.

Introducing Analytics Spam

So now you're up to speed and in the right frame of mind, let me tell you two things:

  1. The information that analytics picks up about a visitor can be faked.
  2. It is possible to build robots that index websites which DO execute javascript.
So in theory there's nothing to stop you building a robot to visit people's sites, executing javascript and looking just like real visitors. You can even make it blend in with their other traffic by faking browser, OS, language etc in the appropriate percentages based on traffic to your own sites. You can even make the time on site accurate and crawl around the site to avoid a 100% bounce rate too. All in all this would be incredibly difficult to detect.

Why would you want to do this? Here's just a few uses:

The hardest part to fake would be the IP address. Though even this isn't impossible by any means.

An Example of Analytics Spam In Action

For anyone that thinks this is never going to happen or thinks it doesn't work, check out this traffic to my personal blog:

analytics spam in action

The site in question is: http://iamready4u.synthasite.com/

If you visit the site you'll see it has auto-generated content and what looks like an auto-generated link to my site. I have a hard time believing that this is genuine traffic (though I'm not 100% sure either way - which is what makes the whole prospect even more troubling)

Is This The Future Of Web Spam?

Analytics spam has existed for a while for log-file based analytics due to the fact that some analytics packages link to their top referrers from a public, indexable page which means you can spam for links but being able to spam javascript-based analytics too opens up a whole new world. Particularly with the prevalence of google anlaytics.

Could this be the next phase of spam? Will we be seeing Google taking preventative measures against 'spam traffic'? Are Google already taking preventative measures? Personally I doubt anything much is being done about it as it's probably a very minor problem but it wouldn't surprise me if this became a bigger issue in the next 12 months.

As a closing thought - there's not really a lot you can do to protect yourself from this. The best tactic I've come up with is running two types of analytics side by side (preferably logging traffic via different methods - i.e. one javascript based and one log file based) and compare the results for anything funky. Done well the fake traffic will be hard to detect but in reality most spammers will be lazy and won't randomise their traffic enough so if you look closely it'll stand out.

Do you like this post? Yes No

11:15 Google AdSense 申请问题已解决 » Inside AdSense-中文


大家好,上周通知的 Google AdSense 申请城市地址问题已经解决,现在可以顺利地提交申请了。希望更多的优秀站长能够加入 AdSense 成为我们的合作伙伴!
07:55 CPU和GPU擅长和不擅长的方面 » 博客@英特尔中国

今天讨论的论题是CPU和GPU“擅长和不擅长”的各个方面,而不是谁取代谁的问题。我试着从它们执行运算的速度与效率的方面来探讨这个论题。

CPU和GPU都是具有运算能力的芯片,CPU更像“通才”——指令运算(执行)为重+ 数值运算,GPU更像“专才”——图形类数值计算为核心。在不同类型的运算方面的速度也就决定了它们的能力——“擅长和不擅长”。芯片的速度主要取决于三个方面:微架构,主频和IPC(每个时钟周期执行的指令数)。

1.微架构

从微架构上看,CPU和GPU看起来完全不是按照相同的设计思路设计的,当代CPU的微架构是按照兼顾“指令并行执行”和“数据并行运算”的思路而设计,就是要兼顾程序执行和数据运算的并行性、通用性以及它们的平衡性。CPU的微架构偏重于程序执行的效率,不会一味追求某种运算极致速度而牺牲程序执行的效率。

CPU微架构的设计是面向指令执行高效率而设计的,因而CPU是计算机中设计最复杂的芯片。和GPU相比,CPU核心的重复设计部分不多,这种复杂性不能仅以晶体管的多寡来衡量,这种复杂性来自于实现:如程序分支预测,推测执行,多重嵌套分支执行,并行执行时候的指令相关性和数据相关性,多核协同处理时候的数据一致性等等复杂逻辑。

GPU其实是由硬件实现的一组图形函数的集合,这些函数主要用于绘制各种图形所需要的运算。这些和像素,光影处理,3D 坐标变换等相关的运算由GPU硬件加速来实现。图形运算的特点是大量同类型数据的密集运算——如图形数据的矩阵运算,GPU的微架构就是面向适合于矩阵类型的数值计算而设计的,大量重复设计的计算单元,这类计算可以分成众多独立的数值计算——大量数值运算的线程,而且数据之间没有像程序执行的那种逻辑关联性。

GPU微架构复杂度不高,尽管晶体管的数量不少。从应用的角度看,如何运用好GPU的并行计算能力主要的工作是开发好它的驱动程序。GPU驱动程序的优劣很大程度左右了GPU实际性能的发挥。

因此从微架构上看,CPU擅长的是像操作系统、系统软件和通用应用程序这类拥有复杂指令调度、循环、分支、逻辑判断以及执行等的程序任务。它的并行优势是程序执行层面的,程序逻辑的复杂度也限定了程序执行的指令并行性,上百个并行程序执行的线程基本看不到。GPU擅长的是图形类的或者是非图形类的高度并行数值计算,GPU可以容纳上千个没有逻辑关系的数值计算线程,它的优势是无逻辑关系数据的并行计算。

2.主频

另外,GPU执行每个数值计算的速度并没有比CPU快,从目前主流CPU和GPU的主频就可以看出了,CPU的主频都超过了1GHz,2GHz,甚至3GHz,而GPU的主频最高还不到1GHz,主流的也就500~600MHz。要知道1GHz = 1000MHz。所以GPU在执行少量线程的数值计算时并不能超过CPU。

目前GPU数值计算的优势主要是浮点运算,它执行浮点运算快是靠大量并行,但是这种数值运算的并行性在面对程序的逻辑执行时毫无用处。

3.IPC(每个时钟周期执行的指令数)

这个方面,CPU和GPU无法比较,因为GPU大多数指令都是面向数值计算的,少量的控制指令也无法被操作系统和软件直接使用。如果比较数据指令的IPC,GPU显然要高过CPU,因为并行的原因。但是,如果比较控制指令的IPC,自然是CPU的要高的多。原因很简单,CPU着重的是指令执行的并行性。

另外,目前有些GPU也能够支持比较复杂的控制指令,比如条件转移、分支、循环和子程序调用等,但是GPU程序控制这方面的增加,和支持操作系统所需要的能力CPU相比还是天壤之别,而且指令执行的效率也无法和CPU相提并论。

最后总结一下:

CPU擅长的:操作系统,系统软件,应用程序,通用计算,系统控制等等;游戏中人工智能,物理模拟等等;3D建模-光线追踪渲染;虚拟化技术——抽象硬件,同时运行多个操作系统或者一个操作系统的多个副本等等。

GPU擅长的:图形类矩阵运算,非图形类并行数值计算,高端3D游戏。

综上所述,在一台均衡计算的计算机系统中,CPU和GPU还是各司其职,除了图形运算,GPU将来可能主要集中在高效率低成本的高性能并行数值计算,帮助CPU分担这种类型的计算,提高系统这方面的性能。而当前的典型应用还是高端3D游戏,一个高效的GPU配合一个高效的CPU,3D游戏的整体效率才能得到保证。“高端3D游戏只需要高端显卡”或者“高端3D游戏只需要CPU”都是无稽之谈。

Comments (0)
搜索引擎统一Robots文件标准搜索引擎优化SEO每天一贴 » Che, Dong's shared items in Google Reader

搜索引擎三巨头打的不亦乐乎,但偶尔也合作一下。去年Google,雅虎,微软就合作,共同遵守统一的Sitemaps标准。前两天三巨头又同时宣布,共同遵守的robots.txt文件标准。Google雅虎微软各自在自己的官方博客上发了一篇帖子,公布三家都支持的robots.txt文件及Meta标签的标准,以及一些各自特有的标准。下面做一个总结。

三家都支持的robots文件记录包括:

Disallow - 告诉蜘蛛不要抓取某些文件或目录。如下面代码将阻止蜘蛛抓取所有的网站文件:

User-agent: *
Disallow: /

Allow - 告诉蜘蛛应该抓取某些文件。Allow和Disallow配合使用,可以告诉蜘蛛某个目录下,大部分都不抓取,只抓取一部分。如下面代码将使蜘蛛不抓取ab目录下其他文件,而只抓取其中cd下的文件:

User-agent: *
Disallow: /ab/
Allow: /ab/cd

$通配符 - 匹配URL结尾的字符。如下面代码将允许蜘蛛访问以.htm为后缀的URL:

User-agent: *
Allow: .htm$

*通配符 - 告诉蜘蛛匹配任意一段字符。如下面一段代码将禁止蜘蛛抓取所有htm文件:

User-agent: *
Disallow: /*.htm

Sitemaps位置 - 告诉蜘蛛你的网站地图在哪里,格式为:

Sitemap: <sitemap_location>

三家都支持的Meta标签包括:

NOINDEX - 告诉蜘蛛不要索引某个网页。

NOFOLLOW - 告诉蜘蛛不要跟踪网页上的链接。

NOSNIPPET - 告诉蜘蛛不要在搜索结果中显示说明文字。

NOARCHIVE - 告诉蜘蛛不要显示快照。

NOODP - 告诉蜘蛛不要使用开放目录中的标题和说明。

上面这些记录或标签,现在三家都共同支持。其中通配符好像以前雅虎微软并不支持。百度现在也支持Disallow,Allow及两种通配符。Meta标签我没有找到百度是否支持的官方说明。

只有Google支持的Meta标签有:

UNAVAILABLE_AFTER - 告诉蜘蛛网页什么时候过期。在这个日期之后,不应该再出现在搜索结果中。

NOIMAGEINDEX - 告诉蜘蛛不要索引页面上的图片。

NOTRANSLATE - 告诉蜘蛛不要翻译页面内容。

雅虎还支持Meta标签:

Crawl-Delay - 允许蜘蛛延时抓取的频率。

NOYDIR - 和NOODP标签相似,但是指雅虎目录,而不是开放目录。

Robots-nocontent - 告诉蜘蛛被标注的部分html不是网页内容的一部分,或者换个角度,告诉蜘蛛哪些部分是页面的主要内容(想被检索的内容)。

MSN还支持Meta标签:

Crawl-Delay

另外提醒大家注意的是,robots.txt文件可以不存在,返回404错误,意味着允许蜘蛛抓取所有内容。但抓取robots.txt文件时却发生超时之类的错误,可能导致搜索引擎不收录网站,因为蜘蛛不知道robots.txt文件是否存在或者里面有什么内容,这与确认文件不存在是不一样的。

01:43 个体、群体与即时通讯IM之三:IM工具上的距离感 » 大学小容>善用网络,助益成长!

这篇贴子是《成群结队》第四部分“个体、群体与即时通讯”的内容。这个系列的第三部分讨论的是“电子邮件讨论组”,第二部分讨论的是“群体电子邮件地址”。

小容在上篇《个体、群体与即时通讯之二:IM工具上的身边人》里提到在线交际和现实交际遵循同样的原则:

• 人们倾向于更频繁地和熟悉的人联络;
• 陌生人在经过“破冰阶段”之后,才有可能真正交流起来;
• 久未联络的朋友,也需要重新激活联络线索,寒暄不不仅仅指陌生人之间。

小容说,我们和至亲好友的关系,不是决定于联系的频率这一个维度,而是取决于多个维度。同时,提出一个问题:

在网络世界中,我们如何定义“身边”,如何确定哪些人才是我们真正的“身边的人”?

这个问题的答案探讨了网络工具界面显示用户名单和头像,增加了联系人的可见性,促进了用户沟通的频率。

1、在触手可及的网络工具上,我们的联系人距离我们有多近?

这篇的贴子实际是上篇的继续,接下去请看2和3:

2、当下的生活有没有交集,才是距离感的真正所在!

从另外一个角度来看看Mr. 6在《MSN让人际关系「倒退鲁」的3种尴尬情况》的第一种尴尬情况:

至亲好友:哪个至亲好友有MSN,我们知道的话,肯定都会在我们的MSN上面了,不是吗?但,不放则已,一放麻烦,因为,MSN竟然会让最隽永的友情,也会发生「倒退鲁」的现象!

如果有些至亲好友不在我们的MSN上,而且他们住在我们的千里之外。那么,我们如何每天和他们保持联系呢?而且,我们真的要每天都和他们保持联系吗?

另外,我们没有办法很便利地联络他们,是不是会逐渐减少和他们的联系呢,和他们的关系会不会逐渐生疏起来了呢?……

答案是肯定的。

正如人们谈论起同学聚会的场景。几十年的老同学聚会时,当下生活没有交集的同学,显然他们的共同话题大部分局限于唏嘘、感叹和缅怀。我们不否认同学情谊是宝贵而真挚的情感,但是很遗憾,关系科学家们也告诉我们,关系并不会建立之后就一劳永逸,它也会衰减,也会中断。

网络工具界面虽然可以增加联系人之间的可见性,为人们提供更多机会,提高人们的沟通频率。但是,并不是每个人眼中的三十厘米都真的很近。

如同张家政在他的blog“rengised2”里回应Mr.6时写的《MSN的人际关系只有会不会管理,而不会有倒退鲁》提到的一样:

当MSN提供了我们一个方便与亲友们联络的管道,并不代表我们必须时常的注意他们的动向。将生活的重心摆在当下身边的奋斗伙伴、朋友、同事或是每日相处在一起的至亲,这才是一种正常值。

人们不是应该这么做,实际上,人们就是这么做的。

当下生活的场景,会映射在我们与周遭联系人沟通的情境中。举凡居住城市、职业属性、家庭角色、专业方向、兴趣爱好、社交情况,都会点点滴滴潜移默化地镶嵌在我们的日常沟通中。如果我们与至亲好友在这些方面没有交集,那么,我们就很难频繁地和他们沟通,否则,那样的沟通对双方都是一种负担。相反,如果我们和至亲好友在这些方面曾经有交集,而当下也继续有交集,那么想必在MSN上,我们和他们沟通的频率不会输于和新朋友沟通的频率。

随着我们的当下生活发生变化,我们的联系人结构也会随着发生变化。重要的是,我们要让网络工具来帮助我们更好地适应和管理这种变化,而不是让它阻碍这种变化。

从这样的角度来说,很多网站在推出类似Facebook的news feed功能时,一定要考虑仔细用户的接受程度。随着时间的推移,当联系人的当下生活已经和我们的交集越来越少时,news feed每天还把他们的生活琐碎推给我们,这是否会进一步带来另外的尴尬,甚至恶化我们和他们之间的关系呢?!

显然,当网站推出news feed的时候,最好要让用户可选是否屏蔽个别用户的news feed,或者应该在最初确认朋友关系时,就可选是否订阅朋友的news feed,以后也可以更改这个选项。

换句话说,对于和我们当下生活交集逐渐减少的联系人,应该减低可见性,而保持可寻性。确保关系联而不断,却不是络绎不绝。小容相信,这种模式对于双方都是舒服的模式。

3、网络上,人们之间的物理距离真的不见了吗?

在网络上,人们之间的物理距离不是忽略不见了,而是发挥着另外的奇妙作用。

在这个系列的第二部分《邮件讨论组之二:几个关键影响因素》中,小容曾经写到:

• 确定性的物理位置

人们明确地知道邮件讨论组成员来自固定的几个点(例如一间公司的几个办公室),和人们无法知道讨论组成员来自地球上哪个角落(例如网络组织的成员来 自五湖四海),这两种情境会给参与讨论的每个人带来不同的心理感受。越是确定性的物理位置,人们的信任感越强,因为人们可以明确地感受到这是一个很实在的团体。而越是不确定性的物理位置,人们的信任感就越弱,人们会认为这是个松散的群体。

• 成员间的物理距离

即使人们明确地感知到邮件讨论组的成员来自于已知的几个固定物理位置,人们的感受还会进一步受到物理距离的影响。随着物理距离的扩大,人们的沟通工具越来越虚拟化,当沟通中出现问题时,人们对沟通工具的无奈也渐次加强。邮件讨论组是人们日常工具中的组成部分,它要和其他沟通工具配合起来使用。如果它成为唯一的沟通工具,那么,它的弱点就会暴露出来。

人们在同一个办公室里,邮件讨论出现问题,可以跑到对方办公室去面对面探讨。人们在同一个城市里,邮件讨论出现问题,可以直接抓起桌面的电话来沟 通;人们在同一个国家里,可以多发发短信息,适当挂挂长途电话;当人们在不同国家的时候,很多时候就只能依赖Skype之类的语音网络工具来配合邮件讨论组解决问题了。

同时,由于物理距离伴随着时差因素,而这导致沟通效率直线下降。24*7的工作绩效是建立在沟通良好的前提之上,可惜的是,人们总是把时间浪费上信息沟通本身。

上面谈到的是互相认识的联系人,在IM工具上发生的事情。实际上,小容相信,在IM工具上发生的很多故事,实际上发生在互相并不认识的联系人之间。

例如,在MSN等即时通讯工具上,有时候,有些人更愿意和物理距离遥远的人聊天。因为人们明确地认知到在电脑对面的那个人几乎不可能真的出现在自己的当下生活中,涉入到当下的真实生活世界。这时候,网络去抑制性(disinhibition)就发挥作用了。

而在QQ上,和陌生人聊天已是司空见惯的情况。当然,是否要按照真实身份在网络活动,这已经涉及到了另外一个话题:人们如何看待网络世界,以及如何使用网络工具。社会化网络和社交软件是否为人们所使用,取决于人们自我主观的决定。

系列回顾:

· 《成群结对:形形色色的网络、群体和个体

前文回顾:

· 《个体、群体与即时通讯IM之一:电子邮件里的即时通讯

· 《个体、群体与即时通讯IM之二:IM工具上的身边人


^==Back Home: www.chedong.com

^==Back Digest Home: www.chedong.com/digest/

<== 2008-06-18
  六月 2008  
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
==> 2008-06-20