“dHTML”目录存档

Google Wonder wheel 【图】

2009年12月20日,星期日

词组联想做成了Flash。可惜不能拖拽,悬浮扩张、力学排斥和智能感知。

baidu其实有的时候也挺不河蟹的。。。

所以说Web标准就是一个joke

2009年12月19日,星期六

They know, and previously

via

那些神一样的javascript ][

2009年12月11日,星期五

1在这里

http://the389.com/works/scrollbars/
http://the389.com/works/tenori/

控件控!

via

最近发现的两款Javascript神作

2009年12月9日,星期三

http://toki-woki.net/p/scroll-clock/

http://the389.com/works/drops/

来源12

IE9的脚本引擎改进

2009年12月5日,星期六

关注IE9的技术改进。用了Direct2DDirectWrite。前者其实和Direc3D没多少关系,Direct2D是Windows 7里引入的一个代替GDI的技术,基于Direct3D绘图,也就是GPU运算。后者是Cleartype的替代,估计也是基于Direct3D的。这样IE9就是跑在GPU上了。那么说明现在浏览器费电就不仅仅是CPU了,GPU也很耗电发热的。

由于是Win7的技术,所以如果IE9要跑在XP上就必须做痛苦的backport了。否则IE9将无法支持Windows XP、2003、2000等系统。而且Direct2D只安装在Win7和Server 2008 R2上。Vista和 Server 2008需要安装Platform Update。而安装Platform Update之前又需要安装SP2。。。。

GPU硬件也有要求。Direct2D需要Direct3D 10,Direct3D 10需要显卡硬件支持(就是支持Crysis那个显卡),但是可以在Direct3D 9 的显卡上通过 10on9 来模拟。XP没有Direct 3D 10,估计Direct2D的程序会failback到GDI。只有Vista以上的Windows才能支持Direct2D

微软的Silverlight已经把.NET核心给backport了一次,这次又要backport新的图形系统。真是折腾啊。哈哈。说不定显卡不支持DX10就没法跑呢。。。囧。。。。

认真学习了一下,Channel 9的视频,讲Javascript脚本引擎的改进:

开始提到JScript is no longer,说明微软正式放弃JScript了。。。。。。

Intimidation的motivator作为双显示器桌面

JScript引擎开发人员的hotmail,大家快来人肉:

微软员工居然也用Gmail,不知道会不会被开除

IE9的新引擎跑Gmail还是很流畅的

IE9的JScript引擎性能主要测试指标依然是Webkit.org的SunSpider

COM是过去JScript的core data structure,也是interoperate的主要部分,看起来过于big不够轻量级。现在这个新model叫object pattern,是array of slot, each slot holds a property。Javascript就是store properties and reveal properties。还提到Polymorphism ???ing(没听清楚)。In a nutshell,新的engine会generate native code,优化途径就是提供两种执行渠道:fast path和slow path,大部分可预测的计算都会走fast path。最后还有一些library的改进。特别是RegExp。提到了了PRCE和Python。。

hardest part of Javascript: 评价说javascript是great mix of really use features with dark corners. 最影响performance的是arguments array。例如f.arguments。这个会影响call stack的效率

Sunspider的结果跑出来了:
IE9 Build41 986.4ms

Firefox 3.6 beta1 480.8ms

Chrome 4.0 beta 437.2ms

Javascript的效率对于Web浏览用户体验很重要,但是不是最突出的因素。对浏览速度而言,Javascript性能大概只影响1/3。DOM解析效率、渲染都是浪费时间的因素。一些重型Javascript应用才对JS引擎要求比较高

有些网站探测到IE会使用VBScript。

看来IE9还不是最终杀手。微软如果老是追赶别人的话,是没法引领时代潮流的。Google超过Yahoo并不是因为Google的搜索结果和Yahoo一样好,而是好很多倍

Google收购前员的创业公司AppJet/Etherpad

2009年12月5日,星期六

这年头有了pubsubhubbub之后刷新闻的速度越来越牛逼了。TechCrunch才报道了Source: Google Is Acquiring AppJet, The Company Behind EtherPad,刚在Google Reader里按J之后,第二则新闻 Confirmed: Google Acquires AppJet, The Maker Of EtherPad就出来了。

Etherpad是一个真正的实时协作在线写作程序。比Google Docs的多人协同创作牛逼之处在于它几乎是real-time的

Really Real-Time

Other "real-time" editors like Google Docs work by broadcasting an updated copy of the document to everyone every 15 seconds. This creates a noticeable lag that gets in the way of collaboration. You start editing something, only to find 10 seconds later that someone else deleted it.

Etherpad updates every copy of the document every half second. This 30x increase in speed changes the experience completely. Your edits hardly ever clash with other users'. So you work confidently instead of tentatively.

Why doesn't Google Docs update every half second like Etherpad does? Because it's really, really hard. We're fairly experienced programmers, and to make this work we had to solve problems that, as far as we know, no one had solved before.

反正Google Docs的多人协作是15秒刷一次,Etherpad是1秒刷2次。估计Etherpad是通过增量comet实现的(更新:Operational transformation。comet的ARQ也不好做。。。)。但是这个说起来容易操作起来的确很麻烦很hack。

AppJet是YC S07提供的种子投资,当然News.YC上少不了对这场好戏的讨论。搞笑的地方,几个老板都是前Googler:

A number of ex-Googlers are AppJet executives, including CEO Aaron Iba, CTO J.D. Zamfirescu, and COO Daniel Clemens

这次被Google又收购回去了。。。真囧。。。。。

购物狂Google扼杀了不少技术创新啊。n年前扼杀了Jotspot,做出来了个废品Google Sites,现在又把Etherpad团队收买了去填Google Wave这个坑,天知道Google Wave最终会是个什么样子。

IE是什么

2009年12月4日,星期五

IE = msHtml + WinINet + urlmon

忘记哪里看到的了。。。貌似是Technet还是MSDN的一位IE团队开发人员的博客上。。。找不到了。。。。赶紧记下来以免忘记。。。。。

网易的Flash这个跨域请求怎么还没修正啊?

2009年11月30日,星期一

crossdomain.xml 貌似也是对的?

btw 看到这则新闻,很搞。。。

XX音乐批量下载

2009年11月14日,星期六

谷歌音乐是不错,但是专辑很不全啊,而且mp3的ID3信息也不标准,所以最近一直在alibaba几个高手做那个音乐站拖歌。虽然有官方下载工具,但是需要积分。所以只有自己动手了

http://xx.com/song/playlist?id=3590936,3590937 等等等等,得到一个XML文件

mp3的URL就是 <location> 字段里的,解密用的是这个ECMAScript函数,保存下面的代码为test.js到桌面双击运行就OK了

function jiemi(sourceString)
{
    var _loc9 = Number(sourceString.charAt(0));
    var _loc7 = sourceString.substring(1);
    var _loc5 = Math.floor(_loc7.length / _loc9);
    var _loc6 = _loc7.length % _loc9;
    var _loc2 = new Array();
    for (var _loc3 = 0; _loc3 < _loc6; ++_loc3)
    {
        if (_loc2[_loc3] == undefined)
        {
            _loc2[_loc3] = "";
        } // end if
        _loc2[_loc3] = _loc7.substr((_loc5 + 1) * _loc3, _loc5 + 1);
    } // end of for
    for (var _loc3 = _loc6; _loc3 < _loc9; ++_loc3)
    {
        _loc2[_loc3] = _loc7.substr(_loc5 * (_loc3 - _loc6) + (_loc5 + 1) * _loc6, _loc5);
    } // end of for
    var _loc4 = "";
    for (var _loc3 = 0; _loc3 < _loc2[0].length; ++_loc3)
    {
        for (var _loc1 = 0; _loc1 < _loc2.length; ++_loc1)
        {
            _loc4 = _loc4 + _loc2[_loc1].charAt(_loc3);
        } // end of for
    } // end of for
    _loc4 = unescape(_loc4);
    var _loc8 = "";
    for (var _loc3 = 0; _loc3 < _loc4.length; ++_loc3)
    {
        if (_loc4.charAt(_loc3) == "^")
        {
            _loc8 = _loc8 + "0";
            continue;
        } // end if
        _loc8 = _loc8 + _loc4.charAt(_loc3);
    } // end of for
    return (_loc 8) ;
}
var x=jiemi('6hAFio3F%%53%mt%mam2355965pt2pm%52EE%_E3pF3i262%1534%%..F%52+E9732xc227F396.'); WScript.Echo(x);

inputking被搜狗云输入法取代咯

2009年11月2日,星期一

以前没装输入法,或者在别人的英文版OS上临时想输入一点中文怎么办呢?一般的方案是InputKing

这下倒好,搜狗做了个Bookmarklet直接可以网页输入了。Inputking就是提交一串英文字符得到中文字符,搜狗这个亮点是用Javascrip实现嵌入页面浮动输入框。我觉得搜狗的这个东东很牛逼

如果能把字符通过图片显示,那么没有装中文字体的机器也能实现中文输入了。呵呵。

不过呢Inputking还提供了韩文和日文的Web输入。似乎sogou只支持汉语拼音?

但是注意,云输入虽然方便,但是你输入的每一个字符都可以在服务器上看到。哼哼。。。。。

Bravo, sogou!