Blog

  • 我从来都不是 SOAP 的拥护着。甚至,我对 xml 都会有一种天生的恐惧。别问我为啥,我也不知道。性情如此吧。 这个故事是我看过的最搞笑,也最命中 SOAP 的要害的段子。看完之后,我突然明白我为啥不那么喜欢 SOAP、WSDL、UDDI之类的了。 翻译至此,大家一起乐乐。 原文在此:http://harmful.cat-v.org/software/xml/soap/simple ———-翻译分割线———- S意味着Simple Pete Lacey 编撰 在 Burton 团体的应用平台服务组内,支持 REST 的人和支持 SOAP 的人已经进行了很久的论战。在大多数情况下这只是外部论战的一个缩影。在最近的一次交锋中,当讨论到 SOAP 和 web 服务的复杂性时,SOAP 的一方这样说到“在之前的 WS 情形下,SOAP 确实是简单的。这也就是 S 所代表的东西。” 那么现在是历史课时间。这是 2000 年,一个倍受折磨的开发者遇到了一个问题……

  • 前两天在某 golang 的 QQ 群里,有人对 channel 批判了一番。当时我就很想送他一副图,两句话。 When in Rome, do as the Romans do. When in Golang, do as the Gophers do. 这本是为了参加 ECUG 2011 Con. 的幻灯片里制作的一副图。 自己感觉很满意。能体现使用 golang 的方法的核心思想。 分享出来,大家开心一下吧。

  • 原文来自:http://www.wired.com/wiredenterprise/2011/10/thedennisritchieeffect/。 Jobs 和 dmr 老爹前后离开,让很多人不能不将其放在一起谈论。无论如何,他们都是伟大的人。有的时候在很短的时间里,这个世界同时失去两个伟大的人,是一件很难言语的事情。 “If I have seen further it is only by standing on the shoulders of giants.”- Isaac Newton. 仅以此向 dmr 老爹致敬。 ———————翻译分割线——————— Dennis Ritchie:Steve Jobs 的巨人肩膀 Cade Metz撰写 2011十月13日 7:14 pm 对 Dennis Ritchie 的悼念完全不能同 Steve Jobs 去世后在 Web 上纷飞的如潮水般的赞美相提并论。但是他们确实如此。 甚至更夸张一些。 “当 Steve Jobs 上周去世后,产生了声势浩大的哀悼活动,而这是另人感动和恰当的。虽然 Dennis 有着更大的成就,但是公众甚至不知道他是谁。”另一个程序界的传奇,现在是一名 Google 人,在著名的贝尔实验室工作的20年里同 Ritchie 每日穿过同一个门廊的…

  • 在 Google Plus 上看到这个消息,淡淡的,有一些悲伤。上帝难道要学习C语言,并将天堂的系统换成UNIX的了么? 本想写点什么纪念一下,但是突然觉得对于这位神来说任何文字都显得苍白无力。 虽然他说“I am not now, nor have I ever been, a member of the demigodic party.”但真的神终究是真的神。 R.I.P. dmr! We will miss you, Dennis Ritchie.

  • golang 本身在代码的 misc/vim 中提供了相应脚本,用来集成 golang 的 vim 环境。而第三方项目 gocode 则更是一个强大的工具。我在《gocode——VIM 和 Emacs 的 golang 代码自动补全》中已经介绍过了。 这两个项目都很活跃,而社区活跃带来的最大麻烦就是频繁更新。为了能方便的升级 vim 环境的 golang 脚本,所以写了这个 shell。 可以 step by step 的协助集成 golang 相关脚本到 vim 中。 下载地址:https://bitbucket.org/mikespook/learning_go_chinese/downloads/vim.sh。 虽然脚本会检测相关环境变量和依赖程序,不过还是最好提前设置好,免得麻烦。当然也可以将脚本到某个目录,让脚本自动下载 go 代码和 gocode 代码。 现在唯一没在这个脚本中集成的就是环境变量的设置和 .vimrc 中关于 syntax 之类的通用设置的开启。这些内容,DIY吧。

  • 第一次知道反射的时候还是许多年前在学校里玩 C# 的时候。那时总是弄不清楚这个复杂的玩意能有什么实际用途……然后发现 Java 有这个,后来发现 PHP 也有了,再后来 Objective-C、Python 什么的也都有……甚至连 Delphi 也有 TRttiContext……反射无处不在!!! Go 作为一个集大成的现代系统级语言,当然也需要有,必须的! 大牛 Rob Pike 的这篇文章相对全面的介绍了 Go 语言中的反射的机制已经使用。觉得值得研读,于是翻译于此。 ———-翻译分割线———- 反射的规则 在运行时反射是程序检查其所拥有的结构,尤其是类型的一种能力;这是元编程的一种形式。它同时也是造成混淆的重要来源。 在这篇文章中将试图明确解释在 Go 中的反射是如何工作的。每个语言的反射模型都不同(同时许多语言根本不支持反射)。不过这篇文章是关于 Go 的,因此接下来的内容“反射”这一词表示“在 Go 中的反射”。

  • 鱼哥(https://twitter.com/#!/smallfishxy)上个月勒令我要完成 0.4 版的翻译。之前公司重组的时候,没顾上看英文版本的更新,结果这老外不声不响的做了如此之多的改动…… 于是只好人工 diff,一条一条的对比 commit 内容。 总算是跟进到了 0.4 这个 tag。 发布一个可看的中文版吧:http://www.mikespook.com/learning-go/ (20110904) 未校对,未调整,未优化。你们懂的!

  • Golang 错误处理的 Panic – Recover 模型确实不太一样,Go 团队的博客上写了一篇相对完整的介绍这个模型使用的文章“Error handling and Go”。我觉得挺好,故翻译于此。本应早就完成这个翻译了,不过由于公司重组等等原因,一直留了首尾没能处理完整。所以拖到了今天,真是不应该啊! ————————翻译分割线————————– 错误处理和Go 如果你已经编写过 Go 代码,可能已经遇到过 os.Error 类型了。Go 代码使用 os.Error 值来标示异常状态。例如,当 os.Open 函数打开文件失败时,返回一个非 nil 的 os.Error 值。 下面的函数使用 os.Open 打开一个文件。如果产生了错误,它会调用 log.Fatal 打印错误信息并且中断运行。

  • ifttt 是 IfThisThenThat 的缩写,中文大体上说就是“如果这个,就那个”。说白了,就是一个消息分发网络,将用户所拥有的若干网上的资源相互整合。有点去中心化的节点通讯通道的味道,又有点SOA的消息总线的味道。 前天在 ifttt 上填写了邮箱申请邀请测试,昨天居然就收到了邀请。于是顺利注册之……现在又有了 4 个邀请,有谁需要的跟 comments 留邮箱吧。 2011-7-7:诸位不用再留邮箱了,邀请码我真得是一个都没有了。

  • Ubuntu 一向都很高效,firefox 5 出来没几天就将 11.04 的浏览器升级到了版本 5。于是,有点小杯具了。其他不兼容差价都是平常不怎么用的,不用也罢。结果 google toolbar 居然不兼容。上个邮箱、书签,搜个资料,一直都用的是这个。于是,过了数天没有 google toolbar 的日子…… 忍不下去了!!! 上网搜了一下,找到一个不错的firefox add-ons:Add-on Compatibility Reporter。 用法简单,直接安装重启 firefox 即可,无须设置。 Bingo!