局域网可以上,但是无法ping通网关的问题

公司再次出现一台电脑无法上网的问题。电脑为固定IP,指向固定网关和固定DNS。问题是突然出现的,但是局域网内部电脑和内部网站都可以正常访问。ping网关显示timeout,其他都正常。很怪异的现象,可疑的操作只有用过U盘。

Windows事件有如下错误:
Time Provider NtpClient: An error occurred during DNS lookup of the manually configured peer ‘time.windows.com,0x1’. NtpClient will try the DNS lookup again in 15 minutes. The error was: A socket operation was attempted to an unreachable host. (0x80072751)

试了很多办法都不行,杀毒,打开360的arp防火墙,arp -d,重设IP,绑定static MAC地址,winsocket fix,删除注册表winsock和winsock2,重装TCP/IP,甚至重装系统。

最终买了块新的网卡,问题解决。

Google宣布停止研发Google Wave平台

(翻译自Google Operating System)
Google宣布停止研发创新的交流平台Google Wave,原因是Wave没有受到Google期望的那么受欢迎。他们也表示不再继续把Wave平台开发成独立平台,但是平台的维护将会维持到今年年底,并将把Wave使用的技术应用到其它平台。Wave的核心代码已经公开,欢迎大家继续把它发扬光大。

Google Wave有很多有趣的功能,但是它的接口太让人迷惑和难以使用。许多人也认为Wave是Email的另外一个版本,它是一个结合了在线的文档编辑器的实时聊天工具。Wave允许你创建实时的文档,同时可以多人实时协作编辑,可以说是沟通版的Google Docs。Wave的开发基于公开的协议,所以可以把Wave集成到多种应用服务中。而且它是可扩展的,你可以创建子自己的小应用和机器人。

Google Wave有很多潜能,但是Google却没能够使它产生令人瞩目的用户体验,也没有开发出一些具体的应用实例。而仅仅是推出了一个公共接口,并把它新版的Google Chat和Google Docs。很明显Google并不准备在这个小应用上继续投入,按照Eric Schmidt的话说就是:“我们想做能够影响大多数人的事情”。

阅读分享 - 20100803

如何屏蔽不喜欢的Adsense的Flash版广告

比如王通的SEO广告-Flash版每次都看见有点视觉疲劳,但是Flash广告上看不到广告网址,我又不想点击广告进去送钱给他。那我该如何屏蔽这种广告呢?

我记得Google使用doubleclick之前的flash广告是可以看到广告商的网址的。但是新版已经没有了。

分析Flash广告的代码:

iframe allowtransparency=”true” hspace=”0” id=”google_ads_frame3” marginheight=”0” marginwidth=”0” name=”google_ads_frame” src=”http://googleads.g.doubleclick.net……
我们可以看到当前网页的URL,但是却没有广告商的网址。

我们再仔细看广告的右下角,有一个感叹号,鼠标移过去出现“Google提供的广告”。用fireFox浏览器点击鼠标右键复制目标网址可以看到:

http://www.google.com/url?ct=abg&q=https://www.google.com/adsense/support/bin/request.py%3Fcontact%3Dabg_afc%26url%3Dhttp://......%3Dwww.boloni.cn%26…..
www.boloni.cn这个就是广告商的网址。登录Adsense帐号,在帐号设置里面的广告过滤加入这个网址,就可以屏蔽它的Flash广告啦。

Javascript错误:Expected identifier, string or number

一段Jquery调用
$.get(“tag.php”,{act:’list’,class:’id’},function{});
在IE8下出现如下错误:
Error Message: Expected identifier, string or number
原因是class被看作是IE的保留字,修改一下即可。

另外一个问题:
安装Zenmap扫外网时电脑突然断线无法上网,并且无法访问网关192.168.1.1,不过内网一切正常,症状很像arp病毒,但是在网关重新绑定静态mac地址后,一切正常。

Google Chrome下字体模糊的问题

今天用Google Chrome5.0看了一下自己的博客,发现很是难看:

我用FireFox,IE8,Safrari和Opera看过,只有Google Chrome的字体最难看,很是模糊。
起初以为是字体的问题,换成宋体、雅黑都没反应。后来分析CSS样式表文件,发现是text-shadow文字阴影效果的问题。

text-shadow: 0px 1px 1px #000;
FILTER: Shadow(Color=#000000, strength=1, Direction=135);
考虑到只是针对Chrome的问题,现在还找不到满意的排除Chrome的CSS Hack,只有先放弃字体阴影的效果。
取消阴影效果以后,Chrome页面中文字体显示正常。

解决办法:
试过
text-shadow: 0px 1px 1px #000;

text-shadow:rgba(0,0,0,0.01) 0 0 1px;
都不行,
最后
text-shadow: #000 0 1px 0;
问题解决。

我对Lost迷失结局的理解

今天终于有空看完《Lost》的大结局,满头疑惑。为什么在教堂Jack的父亲会出现?难道他们都死了?可之前Jack不是刚刚做完手术吗?Jack躺在竹林里离开,飞机上的Kate,Sawyer等人又如何了呢?Miles和Richard又如何了呢?但是细细想来,主线终于有些清晰。

回想过去的片段,觉得剧情的关键处在于氢弹爆炸以后,氢弹爆炸到底有没有成功?氢弹爆炸以后有两条线,一条A线似乎是爆炸起作用了,815航班继续飞行到目的地,815航班上的人们也继续着自己的生活;另一条B线是爆炸失败,直到最后Jack除掉黑烟Locke,牺牲自己保护海岛。从故事的结局我们可以得出这样的结论,A线实际上是B线的继续,只不过提前得太早,让人搭不上线。

那我们顺着时间顺序从B线接着讲,氢弹爆炸并不成功,黑烟利用Locke的身体进行自己的阴谋……Jack躺在竹林,看着飞机掠过最后一眼牺牲后,Kate、Sawyer、Hurly等人的生活已被略过。直到他们经历各自的命运,回归死亡。人死不能复生,但是他们在岛上的经历,在岛上的伙伴一直令他们难以忘怀,难以释怀,也可以说是心愿未了。接着新的世界出现了,这群心愿不了的人们在这个虚幻的新世界试图让815航班的事故没有出现过,尝试在这迷失的世界中找回自己,虽然常常有些似曾相识的感觉。这就是A线,死后的人们在的一个迷失的世界里,找不到自己。但是Desmond是例外,他尽力去帮助迷失的人们解除心咒,找回前世的记忆。所以我们也不难理解结局Jack的父亲和大家在教堂的一幕。大家的心结已经解开,可以放心踏上天堂的道路,但是Ben做过一些坏事,但是被送往地域,所以自己独坐教堂之外。如此看来,这个神秘的岛屿只是介于人间和天堂地狱之间的过渡地带,属于人鬼共存的地带,人类发现了这个地方,和岛屿的保护神以及怪物发生了冲突。被命运安排的人们来到这里接受考验,最终也解开了自己心中的魔咒,不再迷失。

分享阅读

收到陌生人套近乎的电话

今天接了一个陌生男人套近乎的电话,年纪大约30到40岁,操一口蹩脚的普通话,自称是我的好友,让我猜猜他是谁。我TMD就想不出我的那个朋友的普通话那么操蛋,恨不得踹他两脚。老婆手机刚掉没几天,骗子马上沉不住气了,急着要和我”套近乎”,这是什么世道啊。恨不得立刻把他挖出来看够通透,在这个骗子横行的时代,应该找点什么可以治治它。号码(13828472929 )我查过了,是广州本地的。去官方是没法查询这些骗子的底细的,那么有没有别的办法可以查询,或者搞一个民间的手机黑名单来方便大家查询,把大家在网上发布的与手机骗子的遭遇收集起来,这也算做是一个Idea吧。不知道国内现在有没有这样的一个民间的手机黑名单网站?

影响网站排名的因素

今天在8gdns的博客上看到CDN(一种分布式网络缓存结构,提高用户访问网站的速度)让网站百度排名降低甚至被百度清除的原因很是惊讶。原来百度爬虫只是固定的缓存DNS记录1天,没有根据DNS的时间来更新缓存,导致网站IP发生变化后,DNS记录没有更新,从而爬虫会找不到新IP的网站。

没想到Baidu爬虫这么不专业,但是话又说回来,确实自己忽略了网络因素对网站排名的影响,要在Baidu做好排名,还是得了解百度爬虫的脾性,谁叫人家是国内搜索的老大呢。总结一下自己对网站排名因素的看法,我想主要包括以下几个方面:

  • 关键字、网页、网站的相关性
  • 网站、域名的权重
  • 网站内容的更新频率
  • 外部链接的数量、质量
  • 网站的访问速度及稳定性
  • 网页主题的地域性、时效性和语言因素
  • 搜索引擎对网站的内部评分
    以前很少认真关注过百度,仅仅因为个人喜好而排斥了一些东西,最近也越来越发现自己错过了一些东西。学会去接纳、去了解才是正道。

WordPress3升级导致博客scheduled maintenance

今天升级WordPress3的一个插件,其间升级到一半网页就没有响应,刷新一下,网页变成了下面的提示:

Briefly unavailable for scheduled maintenance. Check back in a minute.

根据WP的解决办法,问题出在插件更新没有完成,程序自动在根目录下生成.maintenance而没被删除,所以导致wp-settings.php里面的

// Check if we’re in maintenance mode.
wp_maintenance();

生效,整个博客都无法打开,出现维护中的字样。

解决办法是直接删除.maintenance文件或者注释掉wp-settings.php里面的wp_maintenance();

神州行手机丢了怎么办?

昨天老婆的神州行手机不留神地掉了,一两个小时后赶紧打回老婆的电话,发现手机已关机。应该是被哪个SB捡到了,现在的社会风气啊……拾金不昧的年代里我们越来越远,可惜了手机里积累的儿子半年来的照片。

由于服务密码也忘记,只有去移动营业厅问了问,说只要填一张表,填写至少三个找回条件,加上身份证原件就可以找回原来的神州行手机号码。
我看了看表,发现里面大部分条件是需要原件实物证明的,只需要记忆的只有这几项:

  • 提供三个五天前三个月内手机主叫号码,包括短信、彩信等。
  • 神州行手机号码第一次激活的时间以及充值数。
  • 五天前两个月内手机充值的时间和充值数。
    其他就是什么SIM卡卡号等证明,看来如果是用的神州行手机号码,保留那张手机卡是很有必要的。

用OAuth协议测试Twitter API

去年用Basic Auth做的Twitter API测试已经无法使用,早就看到Twitter推荐OAuth的提示,今天有空用OAuth重写了一下

OAuth的主要目的是尽量减少用户密码在第三方授权过程中的暴露,增强第三方授权的安全性。我使用的是Twitter推荐的twitteroauth,也看了看oauth-php,觉得太复杂。twitteroauth内容少一些,代码看得不会太晕。由于之前写过Blogger的OAuth,所以改起来不是太难;但是不太理解的是user_timeline调用起来太过复杂,本来简单一个网址的调用,现在还要KEY和SECRET,加上用户名和密码才能获取。我的测试只是简单获取Tweets列表以及获取相关的followers,来来去去的token验证显得多此一举。

于是我又索性把connect, redirect和callback集成到了一起,方便我进行简单调用。有意思的是旧的Basic Auth还可以用来更新Twitter,虽然返回的是403。不过,话又说回来,OAuth的应用在越来越多的地方可以看到,掌握它还是很有必要的。

终于把Blogger的日志导入Wordpress

从08年12月到09年八月,由于zhaiduo.com所在的空间问题,我使用了一段时间的Google blogger提供的blogspot博客空间,利用它可以FTP发布到zhaiduo.com的功能,我依然保持了zhaiduo.com的更新。后来空间恢复正常,考虑到FTP速度太慢的问题,我还是用回了Wordpress作为我的博客程序。因此,网站上保留了两种不同风格的日志,一段是blogger风格,一段是WP的风格。虽然从内容上讲没有什么问题,但是从整个网站的内容的连贯性来讲,还是有些不连贯,不太符合网站整体风格的一致性。从SEO的角度看,也是不太合理的。这也导致了旧的blogger页面里面访问不是太多的问题,和Wordpress的页面显得有些脱节。

随着2010年Google blogger宣布停止FTP发布博客的服务,同时我也决定好好优化一下我的博客,于是备份下载了blogspot里面的日志内容,利用Wordpress自带的blogger导入功能,终于把blogspot的内容恢复到了wordpress里面。

现在博客看起来更加像一个完整的博客了,剩下的工作就是清理模板里面以前指向blogger页面的链接,以防止spider以为我有重复内容。接下来一段时间,我也会留意blogger旧日志访问统计的变化,希望可以从中看到一些搜索引擎的喜好。

如何用Windows7防火墙屏蔽中国电信广告

用中国电信的ADSL上网,我们常常能看到网页里莫名其妙的出现中国电信的广告。
这种下三滥插入广告的手段让人鄙视、唾弃,对于只会上网的朋友,要想解除这个烦恼还是挺头痛的。

下面介绍一下在Windows 7中如何通过防火墙的设置屏蔽中国电信广告。

首先选择控制面板->系统和安全->Windows防火墙

然后点击高级设置->入站规则->新建规则->自定义

然后选择 作用域,本地选择任何IP,远程选择你想要屏蔽的IP,IP可以查看有电信广告的网页源代码获得。例如上面的图片中的源代码:
http://121.32.136.21
var base_url=”http://218.16.103.69:1010/“;
var stat_path=”http://121.32.136.11:81
121.32.136.21,218.16.103.69和121.32.136.11就是我们要屏蔽的IP。或者屏蔽121.32.136.*这个IP段。

接着选择的操作是阻止连接。

配置文件全选。

然后给规则加个名字。

一切OK,可以和垃圾广告说拜拜啦~

最后,总结一下屏蔽中国电信垃圾广告的办法:

方法一、通过带有防火墙功能的ADSL Modem设置防火墙IP、域名过滤。

方法二、使用防火墙软件过滤,如天网防火墙个人版、Norton个人防火墙。

方法三、Windows自带防火墙过滤,如Window 7下通过防火墙屏蔽中国电信广告。

preg-replace error: regular expression is too large

进行模板替换的时候出现如下错误:

Error msg: preg_replace() [function.preg-replace]: Compilation failed: regular expression is too large at offset 62894
根据PHP.net的解释:
这个错误是由PCRE的倒带(backtracking)和递归(recursion)限制造成,可以通过修改ini解决。
print_r(ini_get_all(“pcre”));
[pcre.backtrack_limit] => Array
(
[global_value] => 100000
[local_value] => 100000
[access] => 7
)
[pcre.recursion_limit] => Array
(
[global_value] => 100000
[local_value] => 100000
[access] => 7
)
ini_set(‘pcre.backtrack_limit’, ‘300000’);
如果使用的虚拟主机,也只有重新修改程序,换一种替换方式了。

究其原因在于我用的模板里面把loop嵌套在if里面,导致if语块的字符串太长造成的,所以应该尽量避免把loop嵌套在if里面。

另外一种常见的错误是:fopen() [function.fopen]: URL file-access is disabled in the server configuration
虚拟主机禁止了fopen非本地文件的访问,解决办法可以用:fsockopen

给Discuz7增加修改用户名的功能

有朋友的discuz论坛升级到7后,发现修改用户名的功能没有了,很是头痛。我写了一个php脚本可以来解决这个问题。主要原理是查询所有数据表是否包含username和author字段,然后将其匹配的用户名修改成新用户名,这个脚本经测试对discuz论坛和UCenter有效。

主要包含上述字段的数据表有:
bbs_activityapplies -> username
bbs_announcements -> author
bbs_forumrecommend -> author
bbs_magicmarket -> username
bbs_members -> username
bbs_mytasks -> username
bbs_posts -> author
bbs_promotions -> username
bbs_ratelog -> username
bbs_reportlog -> username
bbs_rsscaches -> author
bbs_sessions -> username
bbs_threads -> author
bbs_threadsmod -> username
bbs_uc_admins -> username
bbs_uc_feeds -> username
bbs_uc_members -> username
bbs_uc_mergemembers -> username
bbs_uc_protectedmembers -> username
bbs_warnings -> author

需要的朋友也可以在这里下载discuz7_utf8_update_username.php,需要注意的是:

本脚本用于UTF8版discuz7论坛用户名的修改,运行需要管理员登录,用户自己承担使用后果,作者不承担任何责任,请使用者慎重。

分享几个HTML5、canvas相关链接

  • http://jsdo.it/ WonderFL.net的姐妹站,一个HTML5的在线测试和分享平台,一个学习HTML5的好地方。WonderFL则是在线测试分享Flash的网站。
  • GLGE with jigLib Demo
    碰撞物理引擎JigLib的WebGL版本,基于GLGE开发。Javascript版本的看这里,Flash PV3D版本看这里
  • MeshLab
    开源三维文件格式的转换工具(3DS, OBJ, 3DS, COLLADA等),WebGL和Flash 3D的好帮手。

Digital Point的Adsense帐户被停用

很喜欢去Digital Point论坛了解Google和Adsense的信息,而且用户发帖可以分享上面摆放的Adsense广告提成。虽然我从DP没有得到过多少提成,但是我从DP得到的知识绝对是超值的。

那么为什么DP(Digital Point论坛)的Adsense帐号为什么被停用呢?我们可以从中了解到一些Adsense被封的原因。根据DP blog的解释,这么多年来DP的Adense展示量已经超过十亿次,可以说是非常活跃和大型的Adsense论坛社区,很多Adword广告商也愿意在DP上投放指定网站的Adsense广告,但是上个月他们受到Google的警告,被指自己帐号的广告被展示在Google禁止的赌博网站上,DP予以否认,并强调自己和赌博网站无关,并已经使用了White List功能防止别人随便调用自己的Adsense代码。Google Adsense小组也回复了DP,确认网站不在列表中,不用采取任何措施。然而几天前DP却收到Adsense帐号被停用的通知。原因是Adsense广告不能展示在赌博或赌场相关内容的网站上。

DP在此事情上一再强调自己和赌博网站无关,但是面对帐号被封,也只有一声叹息。看来要陷害别人的Adsense帐号,还是有可能的。

Google加大对关键字的相关性研究

随着Metaweb加入Google的消息放出,我们可以意识到Google更加重视关键字的相关性研究。根据Metaweb官方的自我介绍和FAQ,我们可以大概了解Metaweb拥有非语义上的关键字相关性筛选技术,简单的说就是不同人物,地点和事物背后所隐藏的一些共性,例如:我们搜索“斯瓦辛格”,这个对搜索引擎来说很好理解,但是如果我们搜索“加利福尼亚州州长,终结者,宇宙先生”,搜索引擎未必能很准确的判断我们的意图。

可以说,如果这种非语义的相关性搜索技术一旦成熟,这无疑又是搜索引擎的一大进步。另外,根据美国专利商标局的记录,Metaweb还拥有多项和搜索有关的专利技术,也许对我们猜测Google的新的发展方向有所帮助。(消息来源:SEO by the sea,中文翻译纯属个人理解,小心误导)

Automated online purchasing system 网上购物自动化系统
发明人: W. Daniel Hillis, Bran Ferren
专利号: 20030195834
通过时间: October 16, 2003

Meta-Web 介员网络?
Invented by W. Daniel Hillis, Bran Ferren
US Patent Application 20040210602
Published October 21, 2004

Personalized profile for evaluating content 用于内容评估的个人档案
Invented by W. Daniel Hillis and Bran Ferren
US Patent Application 20050131918
Published June 16, 2005

Delegated authority evaluation system 可以委派权力的评估系统
Invented by W. Daniel Hillis and Bran Ferren
US Patent Application 20050131722
Published June 16, 2005

System and method to facilitate importation of user profile data over a network 方便在网上录入个人档案的系统和方法
Invented by W. Daniel Hillis and Bran Ferren
US Patent Application 20060095780
Published May 4, 2006

User Contributed Knowledge Database 用户贡献知识库
Invented by Timothy Sturge, Kurt Bollacker, Robert Cook, John Giannandrea, Nicholas Thompson, Edwin Taylor
US Patent Application 20090024590
Published January 22, 2009

Graph Store 图形商店?
Invented by Scott Meyer, Jutta Degener, Barak Michener, John Giannandrea
US Patent Application 20100174692
Published July 8, 2010

Database Replication 数据库复制?
Invented by Scott Meyer, Jutta Degener, Barak Michener, John Giannandrea
US Patent Application 20100121817
Published May 13, 2010

Query Optimization 查询优化
Invented by Scott Meyer, Jutta Degener, Barak Michener, John Giannandrea
US Patent Application 20100121839
Published May 13, 2010

Knowledge Web 知识网络?
Invented by W. Daniel Hillis and Bran Ferren
Assigned to Metaweb Technologies, Inc.
US Patent 7,502,770
Granted March 10, 2009

我看网站的优质链接

Google中文站长博客向大家翻译了一篇名为“网站如何获得优质链接”文章,感觉很有启发,总结了一下,可以分为以下几点来获得优质的链接:

  • 在主题相关的社区积极与相关论坛和博客互动,并发表自己的观点
  • 发表了简明教程或某种解决方法的视频,抑或是实用工具
  • 娱乐性内容的病毒营销
  • 提交网站到优质目录
  • 给网站添加书签、收藏这样的链接分享工具
  • 参考相似网站的成功和独特之处
    最不提倡的是:购买网页链接或随机交换链接。

另外,我觉得做免费开源的资源也是一个很好的路子。不明白的是,优质的链接的灰色地带。Google如何看待灰链,政府的链接可谓是优质链接了吧,但是被别有用心的人利用就成了灰链。不知道Google有何机制来审查灰链,目前看来,这种链接正大行其道,效果也是有目共睹的。难道这是链接排名机制的致命弱点?也许是我太不淡定了,我观察的案例才几个月,也许对眼光长远的business,这几个月只是昙花一现,不用太过计较。但是,我们又不得不承认,获得优质链接已经变得近乎变态,从link farmer到content farmer,Google面临着一场持久战,而对于我们这些网站的站长来说,更多面临的是黑与白之间的内心较量。面对利益的诱惑,有多少站长可以坚持原则,保持自己内心的一片净土?

英文Google无法搜索怎么办?

随着Google退出中国,很多朋友感觉到访问英文的Google变得很不稳定,同事也常常向我抱怨无法打开google.com。这里有一些办法,可以一个个去试试,但是不保证都有效,因为情况复杂,变数太多,大家还是要习惯随机应变啊。

  • 通过 google.com/ncr 打开
  • 更改DNS
    网上邻居-》右键属性-》本地连接-》TCP/IP属性里面修改DNS
    Google的DNS:8点8点8点8 或者 8点8点4点4
    OpenDNS的DNS:208点67点222点222 或者 208点67点220点220
  • 通过SSL访问 https://google.com
  • 通过IP访问 http://72.14.204.103, 74.125.159.104, 66.102.13.147
    或者修改C:WINDOWSsystem32driversetc hosts文件,添加:72.14.204.103 google.com
  • 通过代理访问 http://anonymouse.org/anonwww.html
    还有其他更复杂甚至收费的办法,例如使用翻墙工具访问,或者购买VPN专用通道访问。这里就不再详述,有兴趣可以搜索一下。

压缩网页

前面Google统计信息对 网页优化的建议提到网页压缩技术,有朋友mimicangel不是很明白,下面我就对网页压缩技术进行一下详细的介绍。

网页压缩指的是网页以及网页包含的所有文本文件及二进制文件的压缩,文本文件主要包括网页本身、CSS、Javascript、XML等文件,而二进制文件主要包括图片文件、图标文件、Flash等视频文件。根据压缩方法不同,我们可以把网页压缩分为三类:

  1. 图片等二进制文件的压缩
    图片的压缩一般可以通过Photoshop等图片处理工具进行压缩,视频的压缩可以可以根据不同的视频格式搜索视频压缩工具,例如大部分视频网站使用的FLV格式可以用Adobe Flash Media Encoder 来进行压缩生成,这些都是属于软件的使用问题,就不再详述。
  2. HTML、XML、CSS、JS文件的Gzip压缩
    我们浏览器看到的网页等其它文本文件都是通过服务器生成的,有些服务器是直接保存的服务器上面的,服务器只需要读给我们,我们就可以称之为静态页面;相反文件在服务器上不存在,而是经过程序生成的网页,我们称之为动态网页。不管是静态还是动态,这些文本的网页文件都可以用Gzip这种技术来压缩,如果我们的浏览器同时支持Gzip压缩的格式,那么我的访问网页的速度将得到较大提升。可以放心的是目前的主流浏览器均支持这种压缩技术,为了更加保险,我们可以用程序检测浏览器是否支持Gzip压缩,然后根据结果判断是否压缩网页、CSS以及JS等文件。
  3. CSS和Javascript等语法的压缩
    熟悉CSS和Javascript的朋友应该知道,在语法上,我们是有很大余地去简化语法和删除多余的空格和换行符的。例如:
    font-size:12px; line-height:17px; font-family: Arial, Helvetica, sans-serif;
    我们可以简化为:
    font:12px/17px Arial, Helvetica, sans-serif;
    这样我们可以通过精简文字达到压缩文本文件的目的。所以说Web2.0推崇的DIV+CSS的网页设计模式也可以理解为一种压缩网页的方法。
    方法说完了,下面我推荐一些CSS和Javascript文件压缩工具给不熟悉HTML和程序的朋友,需要说明的是:压缩工具主要适用于CSS和Javascript文件,HTML网页的简化和压缩还是需要专业人士的参与。

CSS

WebGL Resources

I’m not a C++ programmer, but I am very interested in WebGL technology. It’s a long way to go, first I plan to learn some basics about OpenGL 3.0 and OpenGL ES, because my video card only supports version 3.0 mostly, then start to learn and test WebGL with MineField.

Here’s my favorite WebGL learning resources during the past half of the year, except the famous LearningWebGL.com, there’re many WebGL frameworks and resourses we can choose.

  • GLGE is a javascript library intended to ease the use of WebGL
  • SceneJS is a JavaScript framework by Lindsay Kay that provides a terse yet expressive API through which you can easily create interactive 3D scenes on the WebGL canvas element.
  • WebGL implementation of O3D - an open-source JavaScript API for creating rich, interactive 3D applications in the browser.
  • CubicVR 3D Engine has been partially ported to the web using the new HTML5 standard WebGL (OpenGL ES 2.0) API.
  • X3DOM (pronounced X-Freedom) is an experimental open source framework and runtime to support the ongoing discussion in the Web3D and W3C communities how an integration of HTML5 and declarative 3D content could look like.
  • The Canvas 3D JS Libary (C3DL) is a JavaScript library that will make it easier to write 3D applications using WebGL.
  • CopperLicht - fast WebGL JavaScript 3D Engine
  • EnergizeGL (WebGL)
  • SpiderGL is a JavaScript 3D Graphics library which relies on WebGL for realtime rendering.
    ** PlayWebGL.com is dedicated to WebGL technology.
  • Planet WebGL
    ** HTML5 Canvas
  • The Nihilogic Labs feature experiments in the world of JavaScript games, HTML5 Canvas, Ajax and exotic web development in general.
  • WebGL Cheat Sheet
  • Jonas Wagner’s blog - Software Engineer Zürich, Switzerland
  • The Biomotion Lab
  • Andor Salga is working on C3DL as well as Processing.js.
  • P5Sunflow is an easy way to make your Processing sketches look sexy as hell.
    ** emanuele ruffaldi website (v3)
  • blog.intubo.com WebGL
  • Paul Brunt - Web, Technical, all thing 3D

推荐几个我常用的网站工具

好的网站工具有助于帮助站长了解自己的网站,了解自己的竞争对手,有助于站长对自己网站的策划和进行更新,当然对SEO网站优化也是很有帮助的。在这里我向大家分享我常用的几个网站工具,希望对大家建设网站、规划网站和优化网站内容有所帮助。

  1. keyrow.com - 很不错的Google的网站热门关键字查询工具(前一百位),不管是你自己网站的还是别人的,也不管是英文关键字还是中文关键字。
  2. r-domain.net - 很全面的网站分析工具,帮助你从内容、关键字、外链以及SEO评分的角度来分析你的网站。
  3. domaintools.com/reverse-ip - 可以免费查询同一个IP下最多两千个网站的域名。与助于我们选择合适的虚拟主机和了解网站来源。当然domaintools的强大功能远不止这些,大家可以免费注册个帐号慢慢了解。

Google统计信息对网页优化的建议

Google Spider每天都在读取不计其数的网页,互联网上的网页有什么特点,有什么问题,当然是Google最清楚了。这里Google公布了一些对Spider抓取的网页各项数据的统计结果,其中比较有意思的是:

  • 平均网页大小是320KB
  • 三分之一的网页没有使用压缩技术
  • 80%的网页包含10种以上的来自同一个主机的资源,例如:image, css, javascript,video等等。
  • 访问人气高的网站,每打开一个网页,平均会消耗8次HTTP请求,前提是网页脚本和样式表都放在同一个主机。
  • 网页的内容都是通过Googlebot抓取,有的网站使用robots.txt阻止了Googlebot抓取CSS和Javascript文件。所以建议不要这样做。
  • Google建议网页内增加专门给Googlebot提供的内容,例如Google自己的服务器就是提供给Googlebot未经压缩过的CSS和Javascript文件的内容,方便他们读取,而提供给访客浏览器的则是压缩过的,以提高访问速度。
  • 网页内容的兼容性要强,如果这是针对IE或者FIreFox浏览器的内容,或者说是和WebKit(WebKit是一种开源的浏览器内核引擎)不兼容的网页内容,Google只会把它当作看不见。
  • 网页取样并不是随机的,而是有侧重点的,例如PageRank高的网页拥有更多的机会获得取样。
    结果后面还列举了排名高的网站和所有网站的平均数据间的对比,这有助于我们了解什么样的特性帮助网站获得高的排名。

从SEO,网页优化的角度来看,上面这些结果和建议对于我们设计搜索引擎喜欢的网页来说是很有启发的,对我们设计网页、了解搜索引擎、了解Googlebot很有帮助。可以总结为以下几点:

  1. 网页文件大小最好不要超过320KB
  2. 尽量压缩让除了二进制格式以外的所有网页元素
  3. 不要随便阻止Googlebot对网站的抓取
  4. 提高网站的多浏览器兼容性,标准可以向WebKit内核看齐
  5. 尽量提高网站的Pagerank,以增加网站内容被抓取的机会

Twitter月搜索量达240亿,堪称Google第二

Twitter创始人Biz Stone称:Twitter每天的搜索量达到8亿之多,远超去年12月bing(41亿/月)和yahoo的流量(94亿/月)。可以说Twitter是Google第二。

换句话,我们可以这样认为,Twitter正是未来的搜索引擎雏形,最终Twitter将成为Google的强大竞争对手。为什么这么说?首先,用户为什么用Google?当然是为了搜索相关资讯,但是Google给我们的搜索结果已经很完美了吗?明显不是,Google搜索结果的准确性、时效性离我们的要求还有很大距离。再来看看Twitter,时效性肯定是没有问题的,准确性呢?用户提交Twitter有140个字符的限制,所以这140个字符的精确性是不庸置疑的,根据我自己使用经验也证实了,Twitter搜索更加有效,结果更加有针对性。

当然Twitter搜索和Google比还是显得很单一的,没有Google的多样性和富媒体性。不过有一点可以肯定,twitter已经给搜索带来了一次全新的革命,我已经看到未来。

Corrupt JPEG Error: extraneous bytes before marker 0xd9

一个Flash项目,一直以来被一个PHP GD模块的问题所困扰,遭到很多用户投诉,无法通过Flash上传图片。我研究过,发现有些图片在Windows下,Photoshop下都可以看见,但是一通过PHP的GD模块来处理,就出现如下错误(例如这张图片):

imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 91 extraneous bytes before marker 0xd9
其中91和0xd9会因为图片的不同而不同,例如Corrupt JPEG data: 4 extraneous bytes before marker 0xd9。

寻找解决方法:

  1. 究其原因应该是gd-jpeg, libjpeg有问题,最快的解决办法就是重新编译libjpeg,但是这对使用虚拟主机的网站来说不太靠谱。
  2. 通过PHP分析有问题的图片头,标记0xd9的错误,但是每张图片的错误标记不同,所以不成立。
    具体原因是由于JPG图片头中EOI marker (0xFF 0xD9) 前的自定义数据部分,PHP GD2无法识别.
  3. 由于虚拟主机的限制,这个也不靠谱
    ini_set(‘gd.jpeg_ignore_warning’, 1);
    imagecreatefromjpeg($file);
  4. 替代工具:ImageMagick,但是空间限制,也只有放弃。
    目前暂时没有针对PHP自身的解决方案,另外建议不要使用ImageCreateFromString,也会有这个问题,可以用getimagesize。

困扰的是:老板不管这个是否是BUG,他只要完美,而我却没有答案。

网页设计常用规则

什么是网页设计?根据我的经验来看,网页设计就是把设计好的网页图片转化成网页HTML格式的过程,这个过程分为两大部分,一个是网页的图形设计部分,另一个是HTML化的部分。对于很多网页设计的初学者,他们太过于依赖Dreamweaver、FrontPage这样的网页设计软件,从而忽略网页HTML化的重要性,忽略了手写HTML的重要性。一个干净、简洁的网页,对于提倡Web2.0和SEO的互联网来说,这无疑是给网站打下了一个先天的优良基础。

所以在把设计好的网页转成CMS可以用的模板之前,我们需要准备一个静态的干净的HTML网页。在Web2.0和SEO的共同原则下,我们应该遵循以下几点来coding网页:

  • 内部包含图片的DIV尽量包含说明文字,然后在CSS文件中利用CSS技巧定义DIV内部图片,例如定义图片为背景,并且偏移隐藏说明文字。
  • 尽量减少页面内的Javascript脚本和CSS样式,把它们外包到各自的文件中。网页引用的Javascript脚本和CSS样式表文件不宜太多太杂。
  • 网页结构的设计应该充分考虑到网页内容的变化和可扩展性,比如固定背景的DIV不太适合长度不固定的文字。
  • 重要的网页部分尽量放在HTML代码的前部。
  • 一个网页有且只有一个H1标签。
  • 网页编码Meta标签最好放在Title标签之前。
  • 网页内部链接、图片地址最好使用斜线开头的绝对路径。
  • 为了减少不同浏览下网页CSS的差异性,推荐使用RESET CSS
  • 尽量使用em和百分比定义文字的相对大小,而不是px固定文字大小。
  • 检测网页兼容性的浏览器包括:IE, Firefox, Opera, Google Chrome, safari。

Ucenter的外链漏洞?

最近常在zaccode晃悠,zaccode用的是Discuz开发的Ucenter社区程序,在Ucenter里面发布日志话题的时候,在里面的链接,如果是链向外部网站的,通常都会加上转向功能:

http://www.zhaiduo.com => /link.php?url=http://www.zhaiduo.com
但是在无意间,我注意到某些日志的外部链接并没有被转向,而是直链的。经过自己的测试证实Ucenter确实有这个问题,可以通过某些手段绕过URL转向。
这是我在zaccode的测试页面:Ucenter外链测试

根据测试结果,在Ucenter里面添加链接的时候,只要使用类似这种格式(注意href前面的title):
<a title=”” href=”http://www.zhaiduo.com/“ target=”_blank”> zhaiduo.com </a>
都可以添加成直链。估计是Ucenter在preg_replace的时候,匹配规则的漏洞所至。

至于有URL转向的链接和直链有什么区别,我就不用废话了。嘿嘿~