PyCon US 2012 演讲推荐

PyCon US 2012 刚刚在3月15结束。前几天看了不少相关的视频,有不少有趣和有启发意义的演讲。在这里分享一下。 从各个领域的演讲的数目可以看到Python 在科学计算,数据分析,机器人,Web开发等应用很多,当然关于Python 语言实现,特性,社区建设等内容也很大一部分。

下面推荐几个我感兴趣的演讲.

  1. Keynote: Paul Graham, YCombinator

    Paul Graham 讲 7 Biggest Startup Ideas, 非常有启发。 Paul 的演讲风格也风趣。

    链接: http://pyvideo.org/video/626/keynote-paul-graham-ycombinator

  2. David Beazley 的关于PyPy 的KeyNote

    非PyPy 开发者介绍PyPy的KeyNote

    链接: http://pyvideo.org/video/659/keynote-david-beazley

  3. Build reliable, traceable, distributed systems with ZeroMQ

    这是一个DotCloud 的工程师做的关于ZeroRPC的演讲. DotCloud 的产品我很喜欢。ZeroMQ 也是我最近专注的一个技术。 这个演讲介绍了ZeroRPC (ZeroMQ based RPC) ,他们整个服务的基础架构。

    链接: http://pyvideo.org/video/639/build-reliable-traceable-distributed-systems-wi

  4. 玩Angry Birds 的机器人

    演讲者是Selenium 这个Web测试工具的作者和一个域名收集控。

    链接: http://pyvideo.org/video/737/37-building-a-robot-that-can-play-angry-birds-on

    这个PyCon 还有不少关于机器人的演讲,都值得一看,涉及OpenCV, Arduino, Lego, Kinect 等关键词。

  5. Decorators and Context Managers

    非常简单易懂的一个演讲,不过正好填补我对Context Managers 的理解。

    链接: http://pyvideo.org/video/883/decorators-and-context-managers

  6. Data, Design, Meaning

    演讲者是Idan Gazit, 似乎是Django 的核心开发者和设计师。 讲设计的一个演讲,耳目一新。

    链接: http://pyvideo.org/video/637/data-design-meaning

  7. Sketching a Better Product

    又是Idan Gazit 做的一个演讲,关于 Sketch 的.

    链接: http://pyvideo.org/video/957/sketching-a-better-product

最后给出几个辅助工具。

所有的视频都可以在下面 pyvidoe.org 这个网站找到,每个视频都有介绍和Youtube 链接。

然后你可以利用下面Gist 去下载所有的视频 download_py2012_video.gist

Email 发送服务

发送Email是几乎每一个Web应用都要考虑的问题。 传统的方案都是在自己的服务器上搭建邮件服务器,但是这种方案经常会碰到发出的邮件被当成垃圾邮件的问题。 特别是如果你在使用类似Amazon EC2 这样的云服务器,邮件接收方甚至可能直接拒绝接受你的邮件。连进用户的垃圾邮件箱的机会都没有.

解决这个问题最简单的一个方案是使用第三方的邮件发送服务器,他们的IP地址一般各个ISP/邮件服务商等的白名单中,能有比较高的到达率. (当然到达率不只和发送者的IP地址有关,这些服务还做了很多其他的努力来保证到达率。)

邮件发送服务不完全列表

服务 支持SMTP 支持API 支持附件 免费额度
Amazon SES [1] 部分支持 [2]  
SendGrid 支持 200封/天
Elastic Email 支持 1000封
PostmarkApp 支持 1000封
CritSend 支持 1000封
MailGun 支持 200封/天
MailJet 支持 200封/天
SocketLabs 支持 500封/月
Dyn Email 支持  
[1]Amazon SES 从2011年12月16日开始支持SMTP协议.
[2]Amazon SES 只支持一些 特定类型 的文件作为附件.

你的应用可以通过连接它们的SMTP Relay 或者HTTP API的方式,通过他们的平台发送邮件.

这些服务都提供了SMTP 接口, 现有的应用程序一般都不用修改,只需将邮件服务器地址改成他们提供的服务器就可以了.

这些服务,我实际使用的有 Amazon SES 和 SendGrid. 从我的经验来看,使用都不复杂, 价格也不贵, 比维护自己的SMTP服务器成本低多了.

参考资料:

Incoming Email Automation

Jamie Zawinski 说:

>> Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.

互联网上, 大家都会 Write Email (注册邮件,找回密码邮件,广告邮件), 但是能够 Read 邮件的应用就少多了。

当然我们还是可以找到不少支持 Read 邮件的应用的:

  • 邮件列表 - 通过发送邮件来订阅或退订
  • Ticket系统 - 通过发送邮件来回复Ticket, 关闭Ticket等.
  • Kindle - 通过附件方式发送文件的方式传输文件到Kindle
  • Google Doc / Evernote 等 - 通过发送内容到特定到邮件地址来保存文件或笔记

但是相对于编写处理HTTP请求的脚本,要编写一个可以 Read Email 的Web应用并不轻松。

  • 架设一个Email服务器要比架设一个Web服务器复杂多了
  • 解析Email 并不容易

我们是如此的乐于和善于使用HTTP, 解决这个问题最佳的方案当然是将Email转换成HTTP协议。

比如说下面这些服务:

这三个服务都支持接受和解析Email然后通过HTTP 协议将邮件的内容POST到你的Web应用中。

User Send Email --> Email Server --> Your Web App

这三个服务我首先发现的是cloudmailin, 之后看见dotcloud 在推荐mailgun, 而Email Yak 是前几天在 Hacker News 看到的.

有了这些服务,我们不需要架设Email服务器就让应用可以支持 Read Email了.

比如说我们就可以:

  • 通过Email接受报表数据, 解析后保存到数据库就可以做历史趋势的统计了
  • 通过Email来完成注册,找回密码等等常见操作。
  • 更多...

最后如果你对这些第三方服务不信任,一定要在自己的服务器上接受并解析Email, lamsonproject 可能是一个不错的选择.

新的开始

对信息的消费太多,创造太少 - 这是我现在的状态。 这个站点 http://explore.ftao.org 是我为了改变这个状态而做的一个尝试。

我会在这里分享:

  • 有趣/有用的网络服务
  • 有趣的开源项目
  • 有价值的书籍和资料
  • 其他我所关心的东西

Let's Start !