摘要: 09年的时候,有一阵子大家都在做网易的“有道难题”里面的双倍超立方数问题。我当时看到题目后也随手用 Python 做了一下,但当时那个解法是最笨的穷举法,所以除了练习了一次 Python 的基本语法之外,也没有什么特别的收获了。 最近又把 SICP 翻出来看到了流这一部分。在我发自内心的赞叹那些用流描述的数列在形式上是何等优美的同时,我想实际测量一下应用了这么多复杂的流的函数操作之后,程序的执行效率如何。而双倍超立方数正好是一个适合拿来练习的题目。 这次我用的开发环境是 DrRacket. 这个东西的前身其实叫做 DrScheme. 是 scheme 的一种开发环境,在 Windows 上..阅读全文
posted @ 2012-05-15 21:32 木野狐(Neil Chen) 阅读(851) 评论(4) 编辑
摘要: 在 windows 上重新安装了最新的 Racket 5.2.1. 恍然发现,Common-Lisp 的安装真的比较坑爹啊,Racket 可能才是研究和学习 lisp 比较理想的选择! 不管是 Windows 还是 Ubuntu,自学习 Lisp 以来,Common Lisp 的各种实现 + 开发环境也安装了很多了,每一个配置起来都比较麻烦,也都有这样那样的问题。而相比而言,安装 Racket...阅读全文
posted @ 2012-05-11 01:23 木野狐(Neil Chen) 阅读(66) 评论(0) 编辑
摘要: 在一个 asp.net webform 的程序 postback 时,碰到了这个异常,而且无法调试。Google 了一下,发现原因原来是 asp.net 对一个 form post 的字段数有限制,在打过最新的安全更新后,这个限制的数目是1000个,超过了就会报这个异常。解决的办法是在 web.config 里面加一个设置,增大这个限制值:<appSettings><addkey="aspnet:MaxHttpCollectionKeys"value="2001"/></appSettings>而为什么会有这么多 fi阅读全文
posted @ 2012-04-28 18:17 木野狐(Neil Chen) 阅读(72) 评论(0) 编辑
摘要: 一般语言由 primitives 组成, lisp 由 meta-primitives 组成。lisp 不定义 primitives. “Any time there is a primitive, there is a barrier, a non-orthogonality, in the design of the system.” let 用来创建 lexical scope. ...阅读全文
posted @ 2012-03-21 11:25 木野狐(Neil Chen) 阅读(111) 评论(0) 编辑
摘要: 经过最近试验用 EMacs 玩 Lisp 后,发现在 Windows 上使用各种坑爹:快捷键不符合 Windows 正常操作习惯(当然也可以用插件模拟,不过麻烦);点击菜单经常假死;切换 buffer 经常会假死;实在受不鸟了。重新切换回去用之前配置的 Eclipse + CUSP 插件,发现原来是没学会怎样使用——比如不知道怎样仅仅 Eval 一段选中的表达式。现在会了,重新用上了现代 IDE 各种爽。阅读全文
posted @ 2011-12-31 01:05 木野狐(Neil Chen) 阅读(279) 评论(0) 编辑
摘要: 不知从何时起,在博客园首页上我看到了越来越多的翻译文章,其特点是 —— 仅阅读标题或者 80% 甚至 90% 的正文,你无法判断这是一篇译文。而英文文章原作者的名字都被可耻的藏匿到了翻滚好几屏以后的最底端。作为一个老的博客园用户,我心生疑惑:难道翻译别人的文章是一件很可耻的事情吗?这么见不得人? 根据我本人的学习成长经验,在翻译原文文章的过程中,当你逐字逐句体会一篇经典时,译者自身也能得到...阅读全文
posted @ 2011-12-29 13:57 木野狐(Neil Chen) 阅读(2160) 评论(21) 编辑
摘要: 现在网上账号随时都有被盗的危险,感觉不太放心,于是用 ruby 做了一个备份我在博客园的所有随笔的小程序,总共只用了110行代码,包括长段的注释,还是面向对象,结构良好的。 第一次写正经的 ruby 程序,发现抽象层次高的语言做事情就是省心省力啊,爽。阅读全文
posted @ 2011-12-29 00:58 木野狐(Neil Chen) 阅读(109) 评论(3) 编辑
摘要: Clozure CL 简称 CCL. 网站在 http://ccl.clozure.com/ 是一个高性能的开源 Common Lisp 实现,其特性包括 native 线程的支持等等。还包括一个 IDE,但好像只是 for Mac 的。windows 上估计跑不起来。不过不要紧,我也可以将它 setup 到 Emacs 中。 CCL 可以通过 svn 直接下载到本机的一个目录。然后打开 .e...阅读全文
posted @ 2011-12-20 01:43 木野狐(Neil Chen) 阅读(232) 评论(0) 编辑
摘要: 安装好 Common Lisp 的开发环境后,想试试看 web 开发。 虽然 Allegro Serve 运行起来更简单,但是要在 Allegro CL 中运行,而后者是个商业软件,暂时我没有购买的打算。退而求其次,只好用 Portable Allegro Serve. 这个开源代码貌似很久没更新了。下载后,运行出了很多小问题。简要记录如下: 用 CLisp 来运行的时候,可能下...阅读全文
posted @ 2011-12-15 19:34 木野狐(Neil Chen) 阅读(143) 评论(3) 编辑
摘要: LispBox 已经不再维护了,很多代码跑不起来,只好手工配置这套工具。 终于搞定了所有的安装配置,好麻烦。其中 clisp 最新的2.49版本配置了总是报错,只好用2.48版。其他都是当前最新的。 Emacs 23.3 CLisp 2.48 SLIME (CVS current snapshot) 安装的步骤如下。 首先下载 clisp 2.48 的 exe 版本,...阅读全文
posted @ 2011-12-14 13:09 木野狐(Neil Chen) 阅读(269) 评论(1) 编辑
摘要: 为了避免硬编码业务逻辑,也许很多人在做业务系统时(包括我自己)总希望做一个 Business Rule Engine (BRE),将各种业务规则拆分到原子单位,保存到外部的存储 (xml / DB) 中。然后通过规则的逻辑运算组合来满足业务要求。 今天从下面链接文章中了解到一种观点: 不要尝试去 build 一个 Business Rule Engine. 因为这样很有可能最终会做出一...阅读全文
posted @ 2011-10-25 19:58 木野狐(Neil Chen) 阅读(153) 评论(0) 编辑
摘要: Irony 可以用来实现一个你自己设计的 .NET 语言,通过这个工具包,不需要自己写词法、语法编译程序。只要将目标语言的语法用 C# 语句进行定义即可。 Irony 通过 C# 运算符重载实现了利用 C# 定义语法规则的功能。比如定义 SQL 语言的语法,通过 Irony 写出来的甚至比 BNF 还要短。利用这个东西可以方便的定义自己的 DSL. 有空关注一下。 http://www.han...阅读全文
posted @ 2011-10-18 13:28 木野狐(Neil Chen) 阅读(217) 评论(0) 编辑
摘要: 科幻电影经常通过多个世界反复切换来达到神奇的效果,激发遐想。但同时观众也容易被 confuse,搞不清到底是虚拟还是现实。 看了豆瓣上有人提到平行宇宙的概念,我觉得并不是这个片子要表达的内容。平行宇宙的概念应该是指基于某个初始状态,由于量子理论的不确定性,后续可能有很多种宇宙可能的状态,但其发展方向总是向前的。 Source Code 中最厉害的是超级电脑和配套的源代码,它能够通过...阅读全文
posted @ 2011-09-04 00:00 木野狐(Neil Chen) 阅读(139) 评论(0) 编辑
摘要: http://www.howtogeek.com/69481/how-to-convert-pdf-files-for-easy-ebook-reading/ 试了一下这个文章介绍的办法,相当的给力。 将原始 pdf 文件依次用这两个工具转换一下即可: k2pdfopt.exe Calibre 看书明显爽多了,不再需要频繁的缩放字体,或者滚动屏幕。阅读全文
posted @ 2011-09-02 17:34 木野狐(Neil Chen) 阅读(312) 评论(0) 编辑
