Tuesday, March 31, 2009

Dreaming in Code, by Scott Rosenberg

Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software

If you've read anything about the study of software engineering, this book is very tedious in its strange summaries of the state of the art.

Other than that, the book is a fairly interesting study of a development team a la Soul of a New Machine. It was definitely cool to read about a project I once cared about and that Ted is featured in.

Tuesday, March 24, 2009

The Structure and Interpretation of the Computer Science Curriculum

A student just read The Structure and Interpretation of the Computer Science Curriculum and said:

The unaddressed part of this paper is really where does functional programming infiltration stop? The paper is written as if only the first semester of a student's college education would be using a functional language. I've tasted enough of the PL cool-aid to know that things won't stop there. Let functional languages get a toe in the door, and before you know it you'll be replacing lab keyboards twice as fast because the parentheses keys are shot :)

Wednesday, March 4, 2009

Twilight, by Stephenie Meyer

Twilight (The Twilight Saga, Book 1)

Libby read this, so I checked it out too. It was a page turner and there were parts that were very cute. Some of the things that happen become clichés by the time the book is over, because they happen so often, but they aren't to the point of being inside jokes.

I don't find Edward as creepy as some of the reviews I've read make him out to be, but perhaps people are referring to the entire series.

There are few things I like about the vampire mythology in the book. I particularly like that the author was willing to improvise and doing something different with them.

This book is on the order of Harry Potter---not amazing and eternal literature, but like a good movie.

Tuesday, March 3, 2009

URL-Based Dispatching in the PLT Web Server

For a while, untyped has made available their dispatch.plt package on PLaneT. It provides a cool way of parsing and generating URLs for Web applications in PLT.

This week I've taken their ideas and built something into the PLT Web Server: web-server/dispatch.

Take a look at this example from the documentation:

(define-values (blog-dispatch blog-url)
 (dispatch-rules
  [("") list-posts]
  [("posts" (string-arg)) review-post]
  [("archive" (integer-arg) (integer-arg)) review-archive]
  [else list-posts]))

(define (list-posts req) `(list-posts))
(define (review-post req p) `(review-post ,p))
(define (review-archive req y m) `(review-archive ,y ,m))

> (blog-dispatch (url->request "http://www.chrlsnchrg.com"))
(list-posts)
> (blog-dispatch (url->request "http://www.chrlsnchrg.com/posts/Extracurricular-Activity"))
(review-post "Extracurricular-Activity")
> (blog-dispatch (url->request "http://www.chrlsnchrg.com/archive/1984/10"))
(review-archive 1984 10)

> (blog-url list-posts)
"/"
> (blog-url review-post "Another-Saturday-Night")
"/posts/Another-Saturday-Night"
> (blog-url review-archive 1984 11)
"/archive/1984/11"

Thank you untyped!