看看你的时间都花在哪里了

嗯,上次是从哪看到的这个软件来着,忘了,通过RescueTime这个软件,可以看到你一周都把时间花在哪里了,下面是我上一周的时间分布图。

这个图是一周花在每个分类上的时间(这个图中video和audio排到了第二,因为我这周的工作就是在做Video相关的,所以经常看,对应的应用程序是PPLive,在后面一张图上可以看到)。

这个图是一周花在各个应用程序或者网站上的时间,javaw是Flex和NetBeans(这周几乎没有用),dh.pplive.com是PPLive最新上线运营的一个网页游戏,最近中午都有玩这个,这个时间在这个上面也很多,汗……Comm(other)应该就是QQ和MSN之类的了,内部外部交流都是这两个工具了~

看看用在开发工具上的时间和用在其他地方的时间的比例,周三有个低谷,因为只有上午三个小时不到的时间在公司,下午去微软上海参加windows 7新特性的会议了。…

一些让你目瞪口呆的JavaScript应用

Google Chrome凭借其强大的V8引擎,让我们有机会领略异常惊人的JavaScript应用,领略JavaScript的超级魅力!点击这里进入Chrome实验网站,体验JavaScript的炫酷

注:尽管Firefox也能看,但是效果远远没有Chrome流畅,因此,如果你想看,最好装上一个Google Chrome,很好用的。Chrome的下载页面:http://www.google.com/chrome

另外,Google Chrome开始支持扩展,尽管其第一个插件仅仅只能更改Google主页的Logo,但是其意义绝远不止于此。

如果你有兴趣开发Google Chrome的插件,可以参考这里的文档。…

在AS3调用Firebug的console时被雷了

写了这么一段as3的代码,用到了E4X,Firebug是自己写的一个用来调用Firebug的console的调试类:

var x:XML = evt.message as XML;
Firebug.info(x.toString()); // 正常输出XML内容
Firebug.info(x is XML);     // true
Firebug.info(x.@status);    // 没有输出,但的确是有这个属性的

莫名奇妙,不知道啥原因,翻了手册,也Google了,还是不知道啥原因。于是想想这样一试:

var x:XML = evt.message as XML;
var status:String = x.@status;
Firebug.info(x.toString()); // 正常输出XML内容
Firebug.info(x is XML);     // true
Firebug.info(status);       // 成功输出status属性的值“success”

真让人崩溃!为什么一开始的写法就不能输出呢?不懂,有明白的人指点下吧,谢谢!…

Silverlight 3 Beta出来了

早上一开Google Reader,发现已经全部被Silverlight 3的消息占领了,基本上都来自于Silverlight官方网站上的消息。

Silverlight 3的新特性很多,其中几个比较强大的特点:

  • Silverlight终于可以脱离浏览器独立运行了
  • 终于支持GPU硬件加速了
  • 可读写的位图(Bitmap)API,意味着你可以一个像素一个像素地创建位图了,如果你足够有耐心和能力,你可以做一个真正的在线图像处理应用了,就像Photoshop一样
  • 支持自定义音视频编解码,意味着在Silverlight中播放视频不再在乎格式,你甚至可以自定义自己的流媒体格式。当然这就可以解决flash中FLV文件的互相盗链问题了,你可以对FLV加密,然后在播放器中对FLV流进行解密。别人就算拿到你的FLV文件也没关系了,因为他根本播不了。这算是除DRM(Digital Right Management)之外,一种低成本的版权保护吧。

FlashPlayer日渐“变胖”

一不小心电脑上又有这么多flashplayer的安装包了,每下载一个新版本都会清除以前的,于是就木有6、7、8了……

每个版本的flashplayer图标都在变化,总体来说是越变越“红”,除了flashplayer 8是个例外(就是这个版本第一次引入了令人惊讶的滤镜效果,很帅!)。

flashplayer的体积也随着版本的增大而增大,越来越胖了,不过相比Flash IDE的体积变化来说,这个实在是小巫见大巫,我们看看Flash IDE的变胖过程:

Flex格式化代码插件

Flex本身是没有格式化代码功能的,但是这个确实是很常用的功能,不知道为啥Adobe一直不加这个功能。只有想不到,没有做不到,这不就有个开源的Flex插件——FlexFormatter,很好用。

下载地址:http://sourceforge.net/projects/flexformatter/

安装方法:

  • 下载插件的jar文件
  • 复制到Flex安装目录中的plugins文件夹中(如果用的是Eclipse 3.4以上的版本,就是dropins目录)
  • 重启你的Flex,就可以看到图上的两个按钮了

实验品:所见即所得在线编辑器

不忙的时候,抽空写的这个,目标很远大,不过可能就要到此为止了,如果哪天我的blog想换编辑器了,可能会再弄弄,呵呵~当然,如果你有兴趣,可以继续完善。UI来源于新浪博客的编辑器,在原有的基础上增加了部分按钮。目前兼容的浏览器列表(只做了一些非常简单的测试,如有错误,请及时告诉我,谢谢^_^):

  • IE 6, IE 7, IE 8
  • Firefox 3
  • Opera 9.6
  • Safari 3
  • Chrome 0.3

编辑器测试地址:点击这里查看

先说好听的,除了支持简单的HTML标签外,目前比较特别的功能:

  • 支持插入各种形式的多媒体内容:图片、flash、各种音视频
  • 支持多种表格操作:插入删除表格、插入删除行和列
  • 支持插入多种特殊字符和表情
  • 自动排版:清除段落开头和结尾的多于空白字符,并缩进两字符(来自新浪的创意)

现在还剩下的比较严重的问题:

  • 粘贴、剪切和复制只能在IE下使用,Safari和Chrome下只支持剪切和复制,其他浏览器下这三个功能完全失效,有待寻求解决方案

使用Windows 7几天了,还不错

本本上一直装的是32位的Vista系统,用到现在越来越慢了。Vista的Cache太猛了,把我的2G内存几乎都拿来Cache了,用的时候开个程序就暴慢,实在是太难受了。于是上周换了两根2G的条子,变4G内存了,不过32位的系统用不了,于是打算换个64位的系统。正好在Microsoft工作的师兄idoloveyou最近正好老是跟我讲Windows 7很好,说他们内部早就开始建议大家迁移到Windows 7上了,已经非常稳定了,而且还非常快。于是我就这样被“怂恿”了,下了个7048的Beta版本,刻了张盘,装上。

用了几天了,总体感觉还是不错的。界面看起来比Vista要清爽很多,易用性也好很多,至少开始菜单的关机按钮就比Vista清晰明了很多,不过资源管理器地址栏还和Vista一样不爽,文件夹的名字太长的时候就没办法很快地回到上层目录了,除了点后退。兼容性貌似还有得改……开着谷歌金山词霸就会经常导致explorer.exe重启,这点颇为不爽,不得已,我至少把谷歌金山词霸给关了。另外,系统托盘图标实在是太诡异了,首先是MSN没办法最小化到托盘了,QQ倒是可以最小化到托盘,可是有消息的时候却没办法通知我了,飞信就更诡异了,貌似一直判断我处于离开状态,消息回来都是同时发送到手机和电脑上。…

为什么JavaScript中正则表达式的test方法会出错?

一段这样的JavaScript代码,猜猜结果如何?

var i = 0, m = 20, a = [], r = /^\d+$/g;
for(i = 0; i < m; i++){
    a.push('' + i);
}

m = a.length;
for(i = 0; i < m; i++){
    if(r.test(a[i])){
        document.write(a[i] + 'true<br />');
    }
    else{
        document.write(a[i] + 'false<br />');
    }
}

也许你期待的结果应该全是true,可是实际结果呢?true和false交替出现,0是true,1是false,2是true,3是false……是不是很怀疑?其实仔细看一下,那个正则表达式多了个全局选项“g”,去掉就好了。

可是为什么有“g”就会出错呢?

原因其实很简单,当一个模式具有全局选项时,和exec一样,每次test都会保留上次匹配的位置——即lastIndex。很显然,当第一次匹配之后,第二次匹配时的lastIndex已经到了字符串末尾,尽管这个时候字符串已经是一个新的字符串了,但是这个lastIndex的位置并没有重新初始化,所以会从末尾开始匹配——当然会匹配失败了。…

IE8将是IE的最后一个版本?

国外纷纷传言IE8将是Internet Explorer的最后一个版本,这个猜测来源于Microsoft的CEO Steve Ballmer对WebKit的青睐。不过鲍尔默只是说对WebKit感兴趣,当同时会继续开发浏览器,对其扩展一些私有的特性。

原话:

“There will still be a lot of proprietary innovation in the browser itself so we may need to have a rendering service.”

“Open source is interesting, Apple has embraced Webkit and we may look at that, but we will continue to build extensions for IE 8.”

不过对于IE8的继任者,大家各有猜测。有的人依据上面的话,推测下一个浏览器可能采用WebKit的核心。也有人猜测说传言采用WebKit核心只是一个幌子,实际上可能会采用…