2007年9月16日星期日

load a pic with as 3

ActionScript3看起来更像一门程序设计语言了
//load a pic
var url0:String = "http://avatar.fanfou.com/l0/00/3f/v2.jpg?1188900628";
var url:String = " http://a1vatar.fanfou.com/l0/00/3f/v2.jpg?1188900628";


LoadPic(url);

function LoadPic(url:String):void {
    var requeste:URLRequest = new URLRequest(url);
    var loader:Loader = new Loader();
    configureListeners(loader.contentLoaderInfo);
    loader.load(requeste);
}

function configureListeners(dispatcher:IEventDispatcher):void {
    dispatcher.addEventListener (Event.COMPLETE, completeHandler);
    dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
function ioErrorHandler(event:IOErrorEvent):void {
    trace("ioErrorHandler: " + event);
    LoadPic(url0);
}
function completeHandler(event:Event):void {
    trace("completeHandler: " + event);
    addChild(event.target.content);
}

2007年9月15日星期六

My Desktop

利用Windows自定义桌面的Web元素,做了一个Todolist小工具。
可能只适合我这种不用壁纸的Windows用户吧。
存储列表简单地使用了Cookie,不一定适用于所有用户。
CSS滤镜的光效还是挺有趣的,呵呵。


<style>
body{
    background:background;
}
textarea{
    background:infobackground;
    color:windowtext;
    position:absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    border:0px;    
}
</style>
<SCRIPT>
function w(txt){
    if(event.keyCode==10 ){//Ctrl + s    保存
        document.cookie = "s="+encodeURIComponent(txt)+"; expires=Fri, 31 Dec 2999 23:59:59 GMT;";
        saveit();
    }else if(event.keyCode==17){//Ctrl + q    隐藏
         t.style.display = "none";
    }
}
function saveit(){
    t.style.color = "graytext";
    setTimeout("t.style.color = \"windowtext\"",500);
    alert("保存成功");
}
function lightit(){根据鼠标位置给光
    r=Math.sqrt(Math.pow(event.clientX,2)+Math.pow(event.clientY,2));
    r=r/86;
    x=event.clientX/r;
    y=event.clientY/r;

    turnoff();
    t.filters[0].addCone(-60,-60,12*(1+r), event.clientX/2,event.clientY/2,255,255,0,10,22.5);
}
function turnoff(){//关灯
    t.filters[0].clear();
    t.filters[0].addAmbient(90,140,210,90);
}
window.onload=function(){
    t.value=decodeURIComponent (document.cookie.substr(2).replace(/;\sshowInheritedProperty\=false/mg,""));
    turnoff();
}

</SCRIPT>

<textarea onkeypress = "w(this.value)" onmouseover="this.focus();" onmousemove="lightit()" onmouseout="turnoff()" id="t"  style="filter:progid: DXImageTransform.Microsoft.Light();"></textarea>
<span>Note</span>

2007年9月9日星期日

Trackback的思考

曾经幻想过一个Blog服务统一的局面,然而没有,反而出现了越来越多的BSP。竞争的格局一定程度上促进了UE的改进,然而并没有很多本质的提升,反而在倒退。缺乏统一的规范,许多Blog的功能不互通,很影响Bloggers的交流。TrackBack Ping禁用,订阅缺乏可定制性,发布方式单一,备份和搜索的欠缺,太多基础的问题需要BSP考虑。
其中我认为TrackBack Ping作为Blog的最具革命意义的发明之一,一直以来没有受到Blog服务设计者足够的重视。我认为它重要,原因如下:
1、 Trackback符合以个人为中心的内容生产理念。Comment,只是对Topic author的贡献,这部分信息量不属于Comment author。人是自私的,他们希望占有自己生产的有价值的信息。很多Blog topic下面的comments是垃圾,正是因为发布者对自己生产的内容可以不负责任。
2、Trackback ping让Topics之间的拓扑可结构化。这对搜索引擎是个福音。这是内容挖掘,乃至关系挖掘的物理基础。网络内容的可结构化,内容之间关系的可结构化,意味着怎样的商机?
3、Trackback在学术讨论中应用,蕴含了一种学术道德――被引用者有权利获知自己生产的内容被用于何处,这是对内容生产者的尊重,更是对内容生产者的激励。
[以上部分摘抄自我的 sohu blog,以下部分是在Blogger续写的]

Trackback现在的困境主要是缺少服务商支持。这种局面好比几年前传统新闻门户不支持RSS订阅一样。慢慢地,传统新闻门户发现用户有订阅的需求,或者说发现越来越多的用户已经养成了"阅读摘要"地习惯,自然努力做好RSS的支持。有一派悲观的论点认为Trackback是被垃圾TB消息搞死的,就是说,因为TB不需要身份验证所以spam的成本非常之低。本人在本地写个html网页在用XMLHTTP就可以Trackback ping,本人以前实现过。
但是,TB的spam和comment的spam并没有本质上的差别。anti spam的障碍不再技术,而是在用户习惯,当用户养成TB的习惯后,服务商投入精力解决技术的问题不是难事。

我认为 .Text的做法很可取,根据发表文章的正文自动识别trackback ping target。不开放给用户trackback的接口。
比如只有经过认证的用户才能使用这项服务。不同的服务商之间采用IP白名单制度实现无spam互通。

2007年9月8日星期六

How to merge Gmail

需求:
用户A有两个Gmail,记做x和y,今需要merge x to y,即将x中的邮件(除Gtalk聊天记录以外的所有邮件)转发到y。
解决方案:过滤器+outlook中转
1、在x中设置过滤器,将今后x收到的邮件自动转发到y
2、将x的所有邮件转移到收件箱,用于outlook下载。
3、在选项中设置POP接收所有(包括以前的)
4、添加outlook邮件规则,将收到的x的邮件自动转发到y
5、添加outlook邮件账户,输入x的账户信息,收邮件,自动把每封邮件转发到了y
6、删除outlook邮件规则和账户信息
至此merge x to y完成!