Archive for June, 2006

Dabble DB

Wednesday, June 28th, 2006

The just-released Dabble DB is, to my mind, one of the most innovative pieces of software since the spreadsheet. It’s a relational database that can figure out your data relations for you. It’s a spreadsheet that can run structured queries on your data. It’s an on-line calendar with RSS feeds. It’s [...]

Permutations of Iteration

Thursday, June 22nd, 2006

Ah, the loop, so fundamental to programming it’s hard to imagine a single program without one. After all, what’s the use of calculating just one thing? Usually you have a big pile of things you want to calculate, which is why you need a computer in the first place.
I think one of the [...]

BumpTop 3D Desktop

Thursday, June 22nd, 2006

A desktop that actually behaves like a real desk. I don’t know if I’d want to use it all day, but it sure looks like fun.

JavaScript-like Objects in Ruby (or Lisp)

Wednesday, June 21st, 2006

As part of my exploration of Ruby, I attended Francis Hwang’s presentation to the New York Linux Users’ Group. One feature that caught my interest in his talk was the OpenStruct class, which lets you assign values to arbitrary “slots” within an object.

require ‘ostruct’

me = OpenStruct.new
me.name = "Stuart Sierra"
me.net_worth = -500

Now me.name returns “Stuart [...]

Functional Programming For The Rest of Us

Wednesday, June 21st, 2006

An excellent article introducing the concepts and advantages of functional programming in non-academic language. Now if I could just understand monads…

Ruby: Python for Lisp Programmers

Monday, June 19th, 2006

A popular game on comp.lang.lisp is comparing Lisp with Python. Lispers complain that Python has a crippled lambda and no lexical closures, and they hiss and boo whenever Python’s development tends in a non-functional direction.
I’ve recently been playing with Ruby. Lo and behold, it has real lambdas, closures, and a generally more functional [...]

Hello, Planet Lisp!

Monday, June 19th, 2006

It’s great to be here, even if I am a little intimidated by the company. I’ll try to keep my writing interesting.

List Processing and the Efficiency of CONS

Saturday, June 17th, 2006

One big difference between Lisp and most other programming languages is its use of recursion instead of iteration.
So while I was working on some text-parsing code, I fell in to this simple pattern:

(defun process (list)
(if list
(cons (do-something (first list))
(process (rest list)))))

Ah, the joys [...]

Do Engines and the Future of Web Applications

Thursday, June 15th, 2006

Or, What I Have In Common With Craig Silverstein.
I’ve been enjoying John Battele’s The Search, a history of the search engine business from Archie to Google. He quotes Google’s first employee, Craig Silverstein, as saying, “I would like to see the search engines become like the computers in Star Trek. You talk to [...]

Goodbye Toolbar, Hello “Ribbon”

Sunday, June 11th, 2006

Microsoft Office 12 will feature a new interface called the ribbon. I’m not usually a fan of Microsoft interfaces, but this one shows some potential. Office’s hierarchical menus are definitely overloaded, and “Task Panes” are clunky. Moving controls that were formally buried in modal dialogs out into the ribbon should also make [...]