必威体育下载基督教Heilmann

您目前正在浏览黑客类别的存档。必威体育简介

“黑客”类别的存档

小成本的货币转换API

星期六,6月21日,2008

有人刚刚来到我们在Mashed08的桌子前,问我们Yahoo!提供货币转换API。我们不,但是有几行PHP允许您从雅虎财经网站获取信息:


函数转换(从美元,美元){
url = ' http://finance.yahoo.com/currency/convert?amt=1&from= '。。美元的服务= '。美元。“提交=转换”;
$ ch = curl_init ();
curl_setopt (ch,美元CURLOPT_URL,$ url);
curl_setopt (ch,美元CURLOPT_RETURNTRANSFER,1);
(喂= curl_exec美元ch);
curl_close (ch);
preg_match_all (" / tabledata1 " > ([^ <] +)喂,美元/”,细胞);
返回$细胞[1][1];
}

回声转换(“美元”,“英镑”);

有一个完整的货币代码列表在oanda

再多几行就变成了AJSON API:


头('的content - type: text / javascript ');
从美元= $ _GET['从'];
$ = $ _GET[','];
美元调= $ _GET(“回调”);
如果(preg_match(“[a - z | a - z]{ 3 } / ",$)& & preg_match(" /[a - z | a - z]{ 3 } /”,从美元)){
美元= strToUpper(美元);
从美元= strToUpper(美元);
$url='http://finance.yahoo.com/currency/convert?'.
“amt = 1只限=”。从“服务=”。美元。“提交=转换”;
$ ch = curl_init ();
curl_setopt (ch,美元CURLOPT_URL,$ url);
curl_setopt (ch,美元CURLOPT_RETURNTRANSFER,1);
(喂= curl_exec美元ch);
curl_close (ch);
preg_match_all (" / tabledata1 " > ([^ <] +)喂,美元/”,细胞);
如果(is_numeric(细胞[1][1]美元)){
出美元={”从“:”,从美元。”,“”:“。美元。”,“因素”:“’。美元细胞[1][1]。”“}”;
其他}{
$ =“{错误不转换货币,你确定这些名字吗?
}

其他}{
$ =“{错误货币格式,必须是三个字母“}”;
}

如果收取(回调)美元){
如果(preg_match(" /[a - z | a - z | _ | - | | 0 - 9 |美元。]/”,回调美元)){
$ = $回调。'('。美元。');
其他}{
$ =“{错误回调方法名称"};
}

}
echo $;

你有几个参数:

  • from (mandatory):三个字母的货币代码(大写或小写)
  • 至(强制):三个字母的货币代码(大写或小写)
  • 回调(可选):回调方法的名称,该方法应该包装在结果对象周围

如果出了问题,的API将返回一个带有错误属性的对象,否则你会得到一个具有三个属性的对象:

  • 出处:原始货币
  • 收件人:目标货币
  • 因子:转换因子

假设你把它存储为convert。php,然后你可以这样做:




这是一个可怕的肮脏黑客,如果雅虎财经曾经改变他们HTML(和他们),这将停止工作。

逐步构建简单的Flickr

周一,6月16日,2008

有几个人问我怎么样更简单的Flickr界面,我写了一些按部就班的说明,分析问题,然后采取API在他们周围工作。

Flickr的一个更简单的界面

看看如何创建一个可供选择的Flickr界面-一步一步

这是提供一个好的例子API可以帮助开发人员消除您可能没有意识到的障碍。我希望以后能向你们展示更多。

代码示例是可用的,并得到了许可BSD,所以请随意重用它们。

是时候使用mashup来解决实际问题了吗?

周一,6月2日,2008

这是我在伦敦Gcap BarCamp4的演讲,谈谈我最近又开始做更多mashup的举动,以及导致它的原因。

我的mashup和可访问性疲劳

简而言之,我不得不说我已经厌倦了道德黑客和mashup。太多的人只是为了把一些信息放在一起或者证明一个技术概念而创建mashup,但是我就是看不到所生成的东西的用途。我们创造了很多想法,原型,证据的概念,赞美他们是很酷的,然后永远不要再访问他们或把他们变成项目。

我也厌倦了网络上的无障碍运动。我们不是专注于为人们提供解决方案,而是在要求技术解决方案或实现在现实世界中没有多大意义的标准的圈子里跑来跑去。与真正为那些需要我们为他们消除障碍的人提供服务相比,遵从某些东西要重要得多。这都是要求事情去做,而不是去做。我觉得我浪费了我的时间试图在这周围完成一些事情。

推进第一:社会创新阵营

当我还是一名法官的时候,情况发生了巨大的变化社会创新营。这个夏令营的理念非常棒:让那些在现实世界中遇到问题的人来设想现代技术,比如网站和社交网络,如何帮助解决这些问题,或者至少让这些问题变得更小。这些条目数量庞大,从简单的分享网站(租用钻头而不是购买钻头,然后让它收集灰尘)到个人成长/学习监控系统,无所不包。必威体育下载

Boost 2:由设计启用

对我来说最突出的项目是通过设计这是一个展示残疾人士的网站,向世界展示他们在日常工作中遇到的问题(例如切割食物),以及有什么工具可以克服这些问题。

第二个被设计激活的想法是,它应该成为一个地方,产品设计师和生产公司可以得到什么产品需要的信息,然后可以开始设计和生产那些更有吸引力的方式。大多数辅助技术和产品都很难看,事实上,这让那些不得不开始使用它们来轻松完成任务的人感觉更糟。人们对产品设计的热情不亚于我们对api的热情和对事物的热情——这两种巨大的能量都可以用来解决现实生活中人们的需求。

能力2.0会议和访问黑客YouTube

我的想法是给无障碍世界一个快速的发展空间,我做了我的演讲篱墙的栖息地在Accessibility2.0会议上,我们指出了我们在为满足自己而构建的技术解决方案上所浪费的无用能量,而不是为最终用户带来不同。

那天的另一个演讲是Antonia Hyde谈论了有学习障碍的用户在网络上面临的问题,必威体育下载尤其是在线视频。好吧,我想,YouTube有一个API,我已经试过了,为什么不试试一个可以访问的YouTube播放器呢?我已经创建了一个原型,并将其发送给Antonia和其他一些可访问的联系人,反馈非常棒。

最让我困惑的是,我得到了学校和盲人的反馈,他们感谢我的播放器,并最终能够使用YouTube。我很喜欢这样——意识到我帮助的人比我想的要多,通过解决一些我以前从未尝试过的事情——仔细思考学习障碍人群的需求!必威体育下载

玩家越来越强大,我现在正在为2.0版本编写文档,它将提供搜索功能,在del.icio.us中通过书签创建的播放列表,以及缩放等更多功能。

问:那未来呢?

我是不是很奇怪(别断章取义地回答这个问题),还是里面有什么东西?是否有更多的开发人员陷入了一种墨守成规,胡乱拼凑数据,却从未真正改变数据,还是仅仅因为我接触了这个世界就想去那里?

我正在想象(并且已经开始)为这一目标策划一场活动——对当前使用的互联网服务进行社交和可访问的黑客攻击。我们可以有一个黑客日周末,来自不同机构的发言人解释残疾人必须使用的问题,例如flickr,youtube,最后FM和一群黑客尝试建立基于这些公司api的替代接口。我也想让这些公司的人了解黑客行为,也许还能从中学到一些东西,并把它们放到实时系统中。必威体育下载

问题是:这是你想要的吗?

利用谷歌翻译API实现twitter多语言

周一,3月31日,2008

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

然后我偶然发现谷歌的Ajax翻译API并认为它应该很容易与它结婚,例如JSON的输出推特API动态添加正确的lang属性。

唉,这并不像我想的那么容易。从表面上看它很容易使用谷歌API告诉我一篇文章是什么语言可能是:


var text = "¿Donde esta el bano ?"
google.language.detect(文本、函数(结果){
如果(! result.error) {
var语言= ' unknown';
for (l in google.language.Languages) {
if(google.language.languages[l]结果.language){
语言= l;
打破;
}

}
var container = document.getElementById("detection");
container.innerhtml=text+“是:”+language+“”;
}

});

然而,如果你想在循环中使用它,那你就不走运了。的google.language.detect方法触发内部XHR调用,结果集只给你一个错误代码,信心水平,一个可靠的布尔值和语言代码。这是很多,但是没有办法告诉得到结果的函数分析了哪些文本。如果……那就太好了API重复文本,或者至少允许您为当前设置唯一的IDXHR请求。

当Ajax请求以随机顺序返回时,无法判断哪个结果对哪个文本有效,所以我被困住了。

输入Firebug。分析通过的请求,我意识到有一个REST URL被google.language的内部方法调用。就翻译而言,这是:


http://www.google.com/uds/GlangDetect?callback= {CALLBACK_METHOD}上下文={}数量q = {URL_ENCODED_TEXT}关键= notsupplied&v = 1.0

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


CALLBACK_METHOD(' NUMBER',{"language": "es"," isreliability ": true,"confidence": 0.24716422},200,null,200)

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


    //卷曲twitter提要
    $ url = ' http://twitter.com/statuses/public_timeline.rss ';
    $ ch = curl_init ();
    curl_setopt (ch,美元CURLOPT_URL,$ url);
    curl_setopt (ch,美元CURLOPT_RETURNTRANSFER,1);
    (twitterdata = curl_exec美元ch);
    curl_close (ch);
    //获取所有的描述
    preg_match_all (" / ([^ <]+) / msi”,twitterdata美元,美元desc);
    //跳过主要的提要描述
    foreach (desc美元[1]键= > d美元){
    如果(关键= 0美元){
    继续;
    }

    / /组装休息调用并卷曲结果
    $url='http://www.google.com/uds/glangdetect?回调=
    “feedresult&context =”。美元的关键。q =。urlencode ($ d)。
    “关键= notsupplied&v = 1.0”;
    $ ch = curl_init ();
    curl_setopt (ch,美元CURLOPT_URL,$ url);
    curl_setopt (ch,美元CURLOPT_RETURNTRANSFER,1);
    (langcode = curl_exec美元ch);
    curl_close (ch);
    //掌握语言
    preg_match(“/“语言”:“([^]+)/“langcode美元,美元res);
    //写出列表项
    回声的

  • ”。$ d。’
  • ”;
    }

    ? >

检查结果:支持自然语言的公共twitter提要

我很快会做一些纯JavaScript的解决方案,了。这可能是一个很好的机会用户原创内容更容易理解。

感谢马克·托马斯和蒂姆·休顿提出了如何解决这个问题的想法XHR问题。