2014年10月28日

摘要: 把之前阅读资料的时候记下的东西,整理了一下.Adding special-purpose processor support to the Erlang VMP23简单介绍了Erlang Compiler和Beam文件格式;The Erlang Compiler in short 章节提到了 Cor... 阅读全文
posted @ 2014-10-28 20:28 坚强2002 阅读(6193) 评论(2) 推荐(1) 编辑

2014年10月27日

摘要: 中午Happy一下,最近读易中天先秦诸子百家,一边读一边在纸上画出逻辑关系,图越来越复杂,趁中午休息索性就把图用Graphviz重新绘制了一下;由于Graphviz主动承担了绘图排版的职责,我只需要关注内容即可. 阅读全文
posted @ 2014-10-27 13:16 坚强2002 阅读(6958) 评论(4) 推荐(8) 编辑

2014年10月24日

摘要: 继续昨天的话题,昨天提到io:format对数据共享的间接影响,如果是下面两种情况恐怕更容易成为"坑", 呃,恰好我都遇到过; 如果是测试代码是下面这样,得到的结果会是怎样?猜!s2()-> L=[1,2,3,4,5,6], L2=[L,L,L,L],erlang:display( {{ert... 阅读全文
posted @ 2014-10-24 08:45 坚强2002 阅读(2529) 评论(3) 推荐(0) 编辑

2014年10月23日

摘要: 之前,在 [Erlang 0126] 我们读过的Erlang论文提到过下面这篇论文:On Preserving Term Sharing in the Erlang Virtual Machine地址:http://user.it.uu.se/~kostis/Papers/erlang12_shar... 阅读全文
posted @ 2014-10-23 19:32 坚强2002 阅读(2727) 评论(0) 推荐(0) 编辑

2014年9月10日

摘要: Erlang的强大,Ruby的语法,Elixr 1.0 bigger than bigger,要不要试一下? 阅读全文
posted @ 2014-09-10 22:36 坚强2002 阅读(2128) 评论(0) 推荐(0) 编辑

2014年9月5日

摘要: 我在Erlang Resources 豆瓣小站上发起了一个征集活动 [链接] ,"[征集] 我们读过的Erlang论文",希望大家来参加.发起这样一个活动的目的是因为Erlang相关的出版物很少,很多时候都是从学术论文中寻找答案,而发现合适的论文是第一步,这个活动就是为了解决这个问题. 在一个极小的知识点可能都会有一篇精彩的论文为你条分缕析,抽丝剥茧,甚至可以拼凑起来一个完整的Erlang知识系统,我们开始吧... 阅读全文
posted @ 2014-09-05 12:29 坚强2002 阅读(4046) 评论(5) 推荐(4) 编辑
 
摘要: 时值中秋,分享几首最近读的诗,分享给大家,祝中秋愉快! 这些诗是从一本叫做台湾三家诗精品的小册子;特别推荐一下余光中先生的,最早读到这首诗是听孙悦斌的朗诵 [音频视频视频2],第一次听被震撼到;中秋 余光中一刀向人间 剖开了月饼一刀向时间 等分了昼夜为什么圆晶晶的中秋月要一刀挥成了残缺刀锋过处 落... 阅读全文
posted @ 2014-09-05 10:45 坚强2002 阅读(640) 评论(0) 推荐(1) 编辑

2014年8月28日

摘要: Erlang源代码编译为beam文件,代码要经过一系列的过程(见下面的简图),Core Erlang之前已经简单介绍过了Core Erlang,代码转换为Core Erlang,就容易拨开一些语法糖的真面目了.下一阶段就是将Core Erlang转换为opcode,使用c(m,'S')生成的是.S文件可以看到反编译的代码.编译器最终输出的是Virtual Beam Code 但这还不是最终VM执行的代码,在erts\emulator\beam\beam_load.c执行的过程中会完成指令优化,优化之后的代码可以通过erts_debug:df(m)生成.dis文件查看,换句话说,这个方法执行成功必须要要求模块已经加载. 阅读全文
posted @ 2014-08-28 16:03 坚强2002 阅读(4524) 评论(2) 推荐(1) 编辑

2014年8月6日

摘要: 是O'Reilly公司今年(2014)7月发布的一本薄薄的小册子,151页,介绍了函数式编程的基本概念.全书使用代码范例都是基于JVM的编程语言,比如Java,Groovy,Scala.为了能够讲解所有的知识点,作者不得不在多个语言之间做切换,其实使用Erlang,Elixir甚至是C#做范例都不... 阅读全文
posted @ 2014-08-06 16:46 坚强2002 阅读(2391) 评论(0) 推荐(1) 编辑

2014年8月1日

摘要: 最近看了Erlang User Conference 2013上patrik分享的BRING UNICODE TO ERLANG!视频,这个分享很好的梳理了Erlang Unicode相关的问题,基本上把 Using Unicode in Erlang 讲解了一遍.再次学习了一下,整理成文字,补充一些 [Erlang 0062] Erlang Unicode 两三事 遗漏掉的内容. 阅读全文
posted @ 2014-08-01 16:50 坚强2002 阅读(5270) 评论(2) 推荐(0) 编辑

2014年7月3日

摘要: epmd进程和Erlang节点进程如影随形,在Rabbitmq集群,Ejabberd集群,Couchbase集群产品文档中都会有相当多的内容讲epmd,epmd是什么呢? epmd 是Erlang Port Mapper Daemon的缩写,全称足够明确表达它的功能了(相比之下,OTP就是一个难以从字面理解的名字);epmd完成Erlang节点和IP,端口的映射关系,比如在我的测试机上, 阅读全文
posted @ 2014-07-03 22:34 坚强2002 阅读(15439) 评论(2) 推荐(1) 编辑

2014年7月2日

摘要: 项目太忙,很多事情一直没有抽出时间做,最近稍微轻松点,调整一下再次开始,就从Erlang Resources小站的上半年盘点开始吧. 阅读全文
posted @ 2014-07-02 22:09 坚强2002 阅读(2286) 评论(0) 推荐(3) 编辑

2014年4月10日

摘要: Erlang/OTP 17.0发布了,不过Maps相关的设计还没有尘埃落定. 阅读全文
posted @ 2014-04-10 10:50 坚强2002 阅读(1893) 评论(0) 推荐(0) 编辑

2014年4月5日

摘要: Core Erlang 是Erlang的一种中间表现形式,Erlang在语法层面一直在演变,越发复杂,一些代码分析工具或者调试工具解读代码就不方便了.Core Erlang就是因此而生,它尽可能的保持语法简单,稳定以方便工具解析,同时具备代码可读性以方便手工修改代码.十段代码,不同角度,不同收获! 阅读全文
posted @ 2014-04-05 00:30 坚强2002 阅读(3179) 评论(0) 推荐(0) 编辑

2014年4月2日

摘要: 上周Erlang讨论群里面提到lists的++实现,争论大多基于猜测,其实打开代码看一下就都明了.贴出代码截图后有同学问这代码是哪里找的? "代码去哪里找?",关于Erlang源码阅读的路线图江湖上只有一份残卷了.我觉得"代码在哪儿?"这类问题是信息不对称造成的,本身难度不大,就像里面的情节:贾马尔知道市井生活中的零零碎碎却说不出国徽上的文字,我们就从电影中的这一幕开始本文的探索吧 阅读全文
posted @ 2014-04-02 12:26 坚强2002 阅读(11563) 评论(2) 推荐(1) 编辑

2014年3月6日

摘要: 我在知乎回答问题不多,这个问题: "对你职业生涯帮助最大的习惯是什么?它是如何帮助你的?",我还是主动回答了一下. 做笔记 一开始笔记软件做的不好的时候就发邮件给自己,然后不断的回顾更新笔记; 后来用OneNote,由于这玩意当时不是云同步的,硬盘坏掉的时候丢了一些数据,打击还是挺大,好多事情要从头开始 再后来用过一段时间Google Wave,还以和朋友分享讨论笔记,结果,你们知道关闭服务了,费力导出来 现在转战Evernote和思维导图Conceptdraw 记忆是靠不住的,会自然淘汰长时间不用的数据,一旦需要重新加载,如果从0开始那成本就太高了,而笔记和思维导图是自己思考方式的组织的,可以快速加载; 阅读全文
posted @ 2014-03-06 22:57 坚强2002 阅读(4017) 评论(4) 推荐(2) 编辑

2014年3月5日

摘要: 继续昨天的话题,在Erlang Factory SF Bay Area 2013有一个议题:"Where are we on the Map?" [PDF ],这个Talk基本上就是选取了EEP43的要点,有兴趣的同学可以FQ观看视频 Where are We on the Map? - Kenneth Lundin - YouTube 如果是腿脚不利索的,可以看墙内的.仔细阅读EEP43,其信息量巨大,包括Maps的设计演变来龙去脉,各种取舍,也是我们学习设计的极佳范例.下面我将按照自己的逻辑顺序重新解读EEP43,先从如何使用开始,直观上感受一下区别,然后再回答"何必有我"的问题. 阅读全文
posted @ 2014-03-05 20:31 坚强2002 阅读(3999) 评论(7) 推荐(3) 编辑

2014年3月3日

摘要: Erlang 增加 Maps数据类型并不是很突然,因为这个提议已经进行了2~3年之久,只不过Joe Armstrong老爷子最近一篇文章Big changes to Erlang掀起不小了风浪.这篇文章用了比较夸张的说法:"Records are dead - long live maps !",紧接着在国内国外社区这句话就传遍了.马上就有开发者忧心忡忡的在Stackoverflow上提问:Will Erlang R17 still have records? 套用一句文艺的话,当我们谈论Maps时,实际上是表达我们对record的不满,这些不满/痛点恰好就是我们寄希望于Maps能够提供给我们的.本文将尽可能的逐一列出这些点,并尝试分析原因,下篇文章将深入分析Maps的一些细节. 阅读全文
posted @ 2014-03-03 23:25 坚强2002 阅读(4030) 评论(3) 推荐(2) 编辑

2014年2月28日

摘要: 最近有朋友反映我写的Erlang文章被改头换面发布到某网站,改头换面的意思是换个标题,增加几个换行什么的,比如我的标题是Erlang杂记,他给改成"76个值得你注意的erlang编程习惯",我能猜到这是出于SEO的考虑;而你这样改完全曲解了我的意思,估计你连正文都没有好好看吧,所有标记Erlang杂记的文章都是我记录的零碎技巧和心得,和编程习惯什么的没有半毛钱关系;网络转载的基本底线是保留内容的原始链接,为什么?因为内容还有可能更新,补充或修订,而你这种行为更为恶劣,让回溯到源头难度都大大增加,请停止这种上不了台面的行为; 阅读全文
posted @ 2014-02-28 01:05 坚强2002 阅读(1564) 评论(1) 推荐(0) 编辑

2014年2月5日

摘要: 本文最早源于一系列关于解决问题方法论的思考,从解决问题的一般原则到探索如何让解决问题依赖知识积累和思维工具而不是偶发灵感.这样关注点逐渐从解决问题演变为个人知识体系的构建和知识的管理.好多年了,零零散散的东西趁过年整理在一起,算是个阶段性总结. 阅读全文
posted @ 2014-02-05 21:33 坚强2002 阅读(11122) 评论(21) 推荐(36) 编辑

2014年1月10日

摘要: 有没有一些电影因为名字让你误认为是烂片?有三部电影就被我误认为是烂片,首先是吴宇森的,一看片名以为是脑残暴力片,可实际上是枪战版刺马好不好;第二部是,我坦白我开始误以为是风月片,前十五分钟必然有女主角洗澡戏那种,但被这部片的人文精神深深打动了;第三部就是今天要说的这部,最初以为这是一部黄飞鸿系列的跟风之作,没有什么意思.....事实证明,我错了,这是一部动作精彩(第13届香港电影金像奖最佳动作设计提名),颇有情怀的电影; 阅读全文
posted @ 2014-01-10 08:48 坚强2002 阅读(8374) 评论(4) 推荐(0) 编辑

2014年1月5日

摘要: 2014年Erlang方面有两本让我非常期待的书要出版.一本探究底层机制,一本分享实战经验,满怀期待. 阅读全文
posted @ 2014-01-05 11:32 坚强2002 阅读(7465) 评论(3) 推荐(1) 编辑

2014年1月1日

摘要: 按照惯例, Erlang Resources 小站半年盘点一次,这里是2013年7月~12月资讯合集.喜欢Erlang,Elixir,Clojure,Lisp的同学强力关注啊 阅读全文
posted @ 2014-01-01 17:54 坚强2002 阅读(2939) 评论(0) 推荐(3) 编辑

2013年12月31日

摘要: 还有一个月小宝贝就要出生了,生活还要有大变化,充满期待; 用一句话描述2013年底的心情:"孩子就要出生了,当爹的还不够牛逼,忐忑....." 阅读全文
posted @ 2013-12-31 18:48 坚强2002 阅读(2233) 评论(5) 推荐(2) 编辑
 
摘要: I found this the other day. Erlang’s Actor Model gives it the distinction of being the only language that claims not to support object-orientation while actually providing full support for it. Languages that claim to support object-orientation but don’t, are far more common. 阅读全文
posted @ 2013-12-31 11:41 坚强2002 阅读(1689) 评论(0) 推荐(0) 编辑

2013年12月30日

摘要: 之前简单演示过如何从elixir ex代码生成并运行Erlang代码,下面仔细梳理一遍elixir文件的编译过程,书接上文,从elixir的代码切入,这一次我们主要关注编译流程,一些细节暂时不展开. 阅读全文
posted @ 2013-12-30 11:38 坚强2002 阅读(3648) 评论(0) 推荐(0) 编辑

2013年12月18日

摘要: C#中的Extension Methods,Clojure的Protocol,以及Elixir Protocols 阅读全文
posted @ 2013-12-18 17:12 坚强2002 阅读(2349) 评论(0) 推荐(1) 编辑

2013年12月10日

摘要: 上回书,我们说到飞天玉虎蒋伯芳来到蜈蚣岭,不是,不是,上回咱们说到可以在Erlang Shell里面手工构造,加载并调用一个模块.在那个demo里面,我把多个Form单独生成出来,最后放在一起做compile:forms,是不是可以简单点?我们先看完整的module代码,erl_scan:string之后是什么样子的: 阅读全文
posted @ 2013-12-10 17:22 坚强2002 阅读(2700) 评论(2) 推荐(1) 编辑
 
摘要: Erlang Abstract Format并不难懂,只是枯燥一点罢了,如果把Abstract Format的文档翻译出来,其实就是Erlang教科书中语法入门的部分. Erlang Abstract Format实际上是用Erlang代码的AST,下面通过一些真切的实例代码了解一下它的一些细节.本文略长. 阅读全文
posted @ 2013-12-10 10:54 坚强2002 阅读(2511) 评论(1) 推荐(1) 编辑

2013年11月25日

摘要: Elixir代码最终编译成为erlang代码,这个过程是怎样的?本文通过一个小测试做下探索. 阅读全文
posted @ 2013-11-25 16:53 坚强2002 阅读(2773) 评论(0) 推荐(0) 编辑
  我,技术人,身体变胖,头脑依然灵活,喜欢Erlang .net,非著名技术博客,翻译过大师经典文章,也原创了不少.在技术之路上沉思,不断重构着不太优秀的自己.爱生活,爱Erlang!