原创 (如何寫 (Lisp) 解釋器 (用Ruby哦))

Peter Norvig的最新博文(How to Write a (Lisp) Interpreter (in Python))和(An ((Even Better) Lisp) Interpreter (in Python))用寥寥數筆

原创 涉水The Python Challenge

在Stack Overflow 上看到學習Python 的一個方法是用Python 破解The Python Challenge。但我喜歡用Ruby,誰管得着呢^_^ 0. 入門關很簡單。 p 2**38  1. 破解一段話,觀察圖片

原创 “被時代”

很久沒有更新blog了,其實我的草稿箱裏已經累積了一大箱,但因爲CSDN 關閉了圖片上傳功能,我只好選擇沉默。但今天,看到一篇《偷棵菜送給2010》,我忍不住了,就像前天跟領導吵架,爲什麼一個技術blog 需要接受審查?!! 或許到了該挪

原创 My Solution to Project Euler in JavaScript

最近在學JavaScript,又拿Project Euler 小試牛刀。 Problem 45 <mce:script language="JavaScript" type="text/javascript"><!-- for (va

原创 算術

昨晚,我和GBA 商量着網購。正準備付款,我突然想起還欠GBA 200塊,於是我很大氣地說 Pope:我多出一百,你少出一百,正好把欠的那兩百給抵了。 GBA:? Pope:不是有兩百的差額嘛!你算術咋學的?! GBA:我怎麼感覺少給我一

原创 從Project Euler中我們學到了什麼?

最近做Project Euler的第41問時學到了不少東西,數論、Mathematica⋯⋯ 題目是這樣的:如果一個n位數的各位數字中恰好1到n各出現了一次,那麼就說這個數pandigital。比如,2143就是一個4位的pandigit

原创 用Ruby 寫Turing 機

最近在看John E.Hopcroft,Rajeev Motwani,Jeffrey D.Ullman 三巨頭寫的Introduction to Automata Theory,Language,and Computatio

原创 一百行Ruby寫個A*

Ruby quiz的第98題讓寫一個A*尋路程序。Daniel Martin提供了一個不到兩百行的解答。如果簡化一下,完全可以在一百行以內實現。 require 'enumerator' # I suppose someone woul

原创 Tinker

從小衆軟件那知道這個遊戲的。Tinker 應該算一款破解遊戲,但我同學都叫它3D版推箱子。 遊戲和人生的差別就是遊戲可以重來,不斷地總結規律,不斷地追求完美;而人生只有一次。 有些關,過不是問題,關鍵是怎麼拿全齒輪。很多事也是這樣,看似很

原创 紙筆的力量

對Mathematica着迷了,雖然我知道這熱情不會持續多久。還是喜歡在解決問題中學習,這次是Project Euler的第38問。 提問:一個數依次×1,×2,……把所得連接成一個9位數,如果這個9位數正好是1到9的一個組合,則稱其爲原

原创 Trie: 樹模樣的hash?

網上閒逛的時候,看到一篇介紹Trie 的文章。寫得很明瞭,讓人有實現的衝動。我觀察了一下,覺得Trie (讀作/ˈtraɪ/) 不就是一個樹狀的hash嗎?! 反正連接同一節點與其子節點的邊是不同的,比如與根節點相連的邊分別爲:b,

原创 帝國CMS 使用感受

CMS 是Content Management System 的簡寫,就是內容管理平臺。簡單地說,就是網站後端。 我是從一個連CMS 都沒聽過的新手開始,在三天內用帝國搭好了一個網站的雛形,經過兩個月的修修補補,現在已經有點樣子了。隨着

原创 The Little Schemer ── 小衆Schemer?

最近在看The Little Schemer,似乎整本書最難的部分就是它字最多的部分──前言。玩笑話,這本書的文字很簡單,但內容很有深度。我試着翻譯了一下(翻譯果然是個苦差事)它“最難的部分” 前言 爲了慶祝Scheme誕生二十週年,我們

原创 上水果

昨天,我的Mac Pro到了,沒別的,炫!再就是不會用-_-!! 從複製、粘貼開始 我想當然地以爲Mac 上的複製、粘貼也是Ctrl + C、Ctrl + V,結果急得滿頭大汗。原來Mac 上Command 相當於Ctrl。這讓我下定決心

原创 Racket,你到底是不是Scheme啊?

前幾天看到Lambda the Ultimate上看到一則消息,說Racket發佈了,還說Racket就是PLT Scheme的一個實現版本。於是很有興趣地準備翻譯一下它的官方教程,本來打算在6.16生日那天放出的,結果,各種事…… 譯得