必威体育下载克里斯蒂安·海尔曼

您当前正在浏览必威体育下载克里斯蒂安·海尔曼三月份的博必威体育简介客档案,2008。

三月份存档,2008年

通过对谷歌翻译API的黑客攻击使Twitter多语言化

星期一,3月31日,2008年

在帮助使用正确的语言属性修复雅虎搜索结果页为了让屏幕阅读器用户能够访问它们,我想知道如何使用用户生成的内容来实现这一点。当然,最简单的选择是要求用户在配置文件中提供正确的语言,但如果你像我一样会说两种语言,你实际上会用不同的语言写作。另一种选择是,当我输入语言时,提供我作为用户选择语言,这很烦人。

然后我偶然发现谷歌的Ajax翻译美国石油学会并且认为它应该很容易与之结合,例如JSON公司产量推特美国石油学会动态添加正确的语言属性。

唉,这不像我想的那么容易。表面上使用谷歌很容易美国石油学会告诉我某个文本是什么语言可能是:


var text=“?d_nde est_el ba_o?”;
google.language.detect(文本,功能(结果){
如果(!)结果.错误){
var language='未知';
对于(l在google.language.languages中){
if(google.language.languages[l]结果.language){
语言=L;
休息;
}

}
var container=document.getElementByID(“检测”);
container.innerhtml=text+“是:”+language+“”;
}

(});

然而,如果你想在一个循环中使用这个,你就走运了。这个google.language.detect检测方法触发内部XHR调用,结果集只提供一个错误代码,信心水平,一个可交付的布尔值和语言代码。这是很多,但没有办法告诉函数得到的结果,哪些文本被分析。如果美国石油学会重复文本或至少允许您为当前XHR请求。

当Ajax请求以随机顺序返回时,无法判断哪种结果适用于哪种文本,所以我被卡住了。

输入萤火虫。分析正在处理的请求时,我意识到搁置网址由google.language的内部方法调用。在翻译的情况下,这是:


http://www.google.com/uds/glangdetect?callback=callback_method&context=number&q=url_encoded_text&key=notsupplied&v=1.0

可以使用数字和自己的回调方法创建脚本获取这些结果的文档中的节点。回电是:


callback_method('number',“language”:“es”,“isreliable”:true,“confidence”:0.24716422,200,null,200)

然而,因为我已经在使用PHP从其他服务中获取信息,最后我用curl作为整个概念证明,让twitter用自然语言说话:


    //卷曲Twitter订阅源
    $url='http://twitter.com/status/public_timeline.rss';
    $ch=curl_init();
    卷发($ch,科洛普网址$URL);
    卷发($ch,科洛普_返回传输,1);
    $twitterdata=curl_exec($ch);
    卷曲关闭($ch);
    //获取所有描述
    preg_match_all(“全部匹配”)。/ ([^<]) /MSI“,$twitterdata,$descs);
    //跳过主源描述
    foreach($descs[1]作为$key=>d){
    如果($ key=0){
    继续;
    }

    /组装休息调用并卷曲结果
    $url='http://www.google.com/uds/glangdetect?回调=
    'FeedResult&Context='。$KEY。“& Q=”。URLNECODE($D)。
    '&key=notsupplied&v=1.0';
    $ch=curl_init();
    卷发($ch,科洛普网址$URL);
    卷发($ch,科洛普_返回传输,1);
    $langcode=curl_exec($ch);
    卷曲关闭($ch);
    //获取语言
    preg_match(“/”language“:”([^”]+)“/”,$langcode,$res);
    //写出列表项
    回声

  • ‘D元’。
  • ';
    }

    是吗?>

查看结果:支持自然语言的公共Twitter订阅源

我将很快做一些纯javascript解决方案,也是。这可能是一个很好的机会UGC更容易接近。

感谢马克·托马斯和蒂姆·休格登对如何在XHR问题。

AjaxWorld东-寒冷天气,北极雪巡洋舰和感知的转变

星期四,3月27日,2008年

我只是坐在蒙特利尔机场,等待延误的航班到达,然后送我回纽约,回到伦敦。最近几天我第一次在纽约阿贾克斯世界东部会议,然后去蒙特利尔,加拿大在编码员星期六在努伦开一个两个讲习班。可以说,我被炸得精疲力尽,但这是一个很好的机会,可以记录下我在这次旅行中的经历。让我们从AjaxWorld开始。

观众

AjaxWorld会议让我有点惊讶。从门票的价格和网站上解释所有其他演示文稿来看,我鼓足勇气站在一个大房间前,房间里满是出席会议所需的西服,而不是想去。结果我错了。观众是一群公司老板,项目经理,设计师和开发人员以及每个人都非常参与和感兴趣。我见过很多销售开发工具的公司,比如框架和IDE,一些执行公司(包括来自食品网络是谁带我出去吃真正的意大利菜的?纽约市风格)和真正令人惊讶的边缘开发人员,比如运行控制地球同步卫星的软件的人!我有很多有趣的问题和反馈,我很高兴在那里见到了所有人。

位置

会议在罗斯福酒店,位于离纽约中央车站一个街区的地方。这家酒店是20世纪20年代的一家充满魅力和宏伟的大酒店。你进入了这个地方,感觉自己像是置身于一个大力神波洛的插曲中。然而,对于这种规模的技术会议来说,这不是一个很好的选择。对于初学者来说,没有价格合理或稳定的互联网连接。即使是24美元/天的客房连接也像过山车一样上下起伏。这意味着我被开车到了街的另一边的百吉饼店(cosi),因为他们有免费的Wi-Fi(我相信这几天他们一定会杀人)。

至于演讲设施,主要的演讲厅是一个有很高天花板的舞厅,专门为赞助商的演讲和主题演讲预留。这个很容易让所有与会者都能适应,但是非常冷。所有其他的演讲都在较小的会议室进行,会议室的大小不足以容纳所有感兴趣的代表。投影仪被放在几排椅子中间,这使得你很难接触到屏幕,而且与会者不时会撞到它们。

酒店本身对于客房提供的舒适度也非常昂贵。我在蒙特利尔的酒店大约是每晚每间客房价格的三分之一,超现代,免费连接,每个房间都有一份传真和一个保险箱,并提供免费早餐。好啊,它是纽约市,罗斯福建于20年代,但逃跑就是逃跑,不管你怎么打扮。

组织和覆盖范围

除此之外,酒店在酒吧里有一个舒适的氛围,组织者尽最大努力控制一切。他们出色地完成了整个活动的拍摄和部分直播。当你需要帮助时,他们马上就来帮你了,一件非常不寻常的事情纽约市.目前的日程安排有足够多的讲义,你需要的地方到处都张贴着标语,每个代表都有一本关于Ajax的免费书,上面有一个巨大的徽章,告诉别人那个人是谁,他或她做了什么。我觉得自己得到了很好的照顾,很容易就被说服去做一个额外的演讲来代替另一个错过航班的演讲者。

唯一我不太喜欢的是并行演示的数量。我错过了很多我想看的东西,但不能,因为我不能把自己一分为二。聪明的公司确保他们派了几个人到那里,以便进行全面覆盖。

我的演示文稿

我的第一个演讲是一个没有出现的演讲者的空白填充物,我在前一天写了它。我谈到了我们现在有机会使用flash在网站上提供丰富的媒体内容,并在获得适当的美国石油学会.我最近对这个很感兴趣,和伟大的人一起工作阿拉尔巴尔干尼奎史蒂夫·韦伯斯特.作为例子,我展示了SWF对象允许您逐步增强HTML要包含闪光灯,如何悠悠图像上传器允许您使用flash批量上传文件,以及如何YouTube网站美国石油学会允许您用javascript控制在线视频.

我的主要和计划中的演示是使用事件驱动的设计为大型应用程序设计JavaScript,以展示雅虎地图和欧洲体育为例。这次演讲出人意料的一点是,我用南极巡洋舰作为类比来解释它。

南极雪巡洋舰是1937年为探索南极洲而建造的大型运载工具。巡洋舰必须完成的任务是一个令人惊讶的问题-它是要接待5名船员,并让他们在一年内免受可怕的寒冷,穿越5000英里的恶劣环境。这艘巡洋舰绝对是一个技术奇迹,它的发明者们想出了一个惊人的聪明的解决方案来解决他们所预期的问题,包括将轮子收回巡洋舰的机身,以克服裂缝,并重新利用发动机的热量,防止船员冻死。他们唯一忘记计划的是牵引力,当巡洋舰到达南极洲时,它的轮子空转,发动机几乎立刻过热。这艘巡洋舰被遗弃,20年后被发现被埋在冰中。现在还不知道它去了哪里,因为最后一次看到它的那块冰断了,被拖到了海里。

这就是我们如何构建应用程序的例子——我们假设在服务器端进行大量的过度工程,而没有意识到大部分应用程序工作将由浏览器在一个对我们未知的环境中完成。我想激励人们在假设一切都能正常工作以及我们可以预测我们的应用程序运行环境之前,先考虑Web应用程序的可用性和限制。

两次演讲都很充实,我得到了很好的反馈,我会对去那里的人感兴趣,我期待着看到这些视频。

其他演示文稿

我没有看到其他的演讲,但我得到的是:道格拉斯·克罗克福德的主题演讲是一个鲜明的提醒,我们用来创建Web应用程序的技术是多么的破碎,显示了安全缺陷和如何解决这些问题的想法。卡贾和ADSAFE一起被提到,道格拉斯解释了他关于Vats保护网络的想法。在过去的几天里,他的博客上发表了越来越多的细节,所以一定要检查那里。

在安全方面,有一个关于攻击向量的完整谈话
WatchFire的丹尼·艾伦(DannyAllan)精确地展示了无限制脚本注入对攻击者的影响。很容易忽视XSS这是对你的网站的一个普通的渗透,但是本演示文稿展示了一个完全补丁的新的火狐如何运行在一个有防火墙和最新的病毒软件的Windows机器上,可以通过恶意的javascript访问,并通过网络钓鱼和社会工程的混合获得各种密码和更深入的访问。

这个国际商用机器公司参与Dojo框架在一次联合演示中展示了Dojo的国际化和可访问性选项,我对该框架所涵盖的范围印象深刻。咏叹调关于如何使用i18n和a10y,我们给出了多少信息。伟大的工作!

我花了很多时间和那些恶作剧,专门用JavaScript编写的小部件框架。他们的演示展示了框架是什么以及它如何跨浏览器工作。它们还展示了小部件的令人印象深刻的性能,以及如何剥皮。不过,QooxDoo真正酷的东西还在酝酿之中,我会确保我们更仔细地观察这些家伙,并展示他们使用的一些巧妙技巧,以提高性能,并使用python构建脚本巧妙地构建应用程序代码。

我看到的最后一个演示是介绍如何构建具有本机外观和感觉的iPhone应用程序,这或多或少是对苹果给出的开发者指南混合介绍宫内节育器.我一点也没有受到这场演讲的启发,因为iPhone是一个非常好的平台,目前非常有趣。

总结和学习必威体育下载

总之,参加会议是值得的。所涉及的演示和主题的组合做得很好,我自己也意识到,现在是我们停止提倡将Web标准作为技术解决方案的时候了。Web标准的存在是为了确保可维护性和可预测性,但在企业界,我们已经迈出了更进一步的一步,而且像flex这样的技术,Silverlight和Comet需要我们密切关注,以确保我们在其中也有可预测和可维护的解决方案。道格拉斯作为浏览器模型被破坏的观点被认为是一条信息太强烈了,但我意识到现在终端用户所期望的很多事情都是不可能实现的。HTML/我们一直在宣扬的CSS/JS三位一体。这并不意味着标准不重要——它们是实现方面的最佳实践。从技术上讲,我们必须振作起来对明年的变化感到惊讶。

网络标准之争——我在蒙特利尔为《编码者周六》做的演讲

星期六,3月22日,2008年

这是我刚刚在蒙特利尔的编码员星期六做的演讲,加拿大。这个主题围绕着标准的采用,以及为什么这不仅在技术上很重要,而且对于作为一个专业的开发人员显得更为必要。我们讨论的大多数标准都是真正的建议,我们需要找到令人信服的论据,为什么人们应该遵循它们,甚至为什么它们对我们很重要。

访问在线视频–我为布莱顿巴坎普的演讲

星期六,3月15日,2008年

我刚刚在布莱顿的巴坎普完成了我的评估,让在线视频更容易被理解,基于时间的评论,可能在第二阶段变成一个穷人的字幕。一般来说,它只是在展示我对youtube播放器的使用美国石油学会.

使用YouTube JavaScript API轻松设置视频字幕

星期三,3月12日,2008年

有一件事让我恼火了很久,那就是网络上没有视频播放器允许你在视频中以纯文本形式显示特定时间的评论。Viddler可以让你在某个时间发表评论,它会出现在视频中,但是基于时间的字幕在可访问性和搜索引擎优化还没有出现在任何视频网站维护人员身上。编辑:该死,我很久没看维德勒了,它现在真的做到了,做得好!

谷歌刚刚发布了一个javascript美国石油学会YouTube这使得用javascript控制视频变得非常容易。你可以开始,停止并跳到视频的某个特定时间,但更重要的是,当播放器发生问题时,事件会触发。这使我很容易找到一个概念证明,基于时间的字幕可能作为一个接口工作。单击屏幕截图以查看它的实际效果。

使用小的javascript创建带有定时字幕的视频的屏幕截图

启动视频并点击暂停按钮以添加新标题。您可以通过点击x链接删除字幕,也可以通过点击时间戳跳回到视频的部分。

检查源代码以了解它是如何完成的。为了使这成为一项服务,您所需要做的就是拥有一个后端脚本,该脚本获取所有表单字段并将其存储在数据库中。