In ThoughtWorks we get together at least once an year for a whole weekend to drink beer and do whatever people consider interesting. This year’s ThoughtWorks Australia Away Day (AKA Team Hug) was somewhere in Victoria and among other activities (and a bus crash) we had technical sessions.
I used one of those slots to do […]
Archive for the 'clojure' Category
ThoughtWorks Away Day Presentation: Common Myths about Type Systems
Published by August 12th, 2009 in c#, clojure, groovy, haskell, java, language oriented programming, lisp, object orientation, rails, ruby, software design, thoughtworks and trends. 7 CommentsRTFSpec is now in Alpha
Published by April 17th, 2009 in agile, clojure, lisp and software design. 2 CommentsAs said before I am writing a testing framework for Clojure. It started as a fork of the Fact framework but eventually I decided to try some ideas that arose in a conversation with Fábio and Rob: use RFC-2119 semantics to describe tests. RTFSpec is my take on this approach.
Here is an example from the […]
Getting Cloudy: Clojure on Google App Engine
Published by April 8th, 2009 in business, case study, clojure, cloud computing, components, groovy, java, lisp, soa, software architecture, software design, thoughtworks, trends and web. 8 CommentsSome weeks ago I joined a handful of ThoughtWorkers invited to test the new Google AppEngine’s Java API. Unfortunately I had a project requiring a lot of attention during most of this period but once back on the beach I found some time to play around with it.
Cloudy Skies
Google AppEngine (GAE) is Google’s shot in […]
Gödel and Testing
Published by March 14th, 2009 in agile, books, clojure, components, layers, lisp, soa, software architecture, software design and web. 12 CommentsFor some months now I’ve being playing around the idea of writing a testing framework for Clojure. It started as just a more extensible fork of the fact library but now I’m trying to explore some funny ideas in the testing semantics.
Although this project is progressing too slowly it already spawned some other pet […]
Clojure: Adding Metadata to Java Objects and Proxies
Published by February 1st, 2009 in clojure, java and lisp. 5 CommentsOne of the most amazing features of Clojure is the ability to decorate references to objects with metadata, as in the following example:
user> (def my-user {:login “pcalcado” :password “secret123″})
#’user/my-user
user> my-user
{:login “pcalcado”, :password “secret123″}
user> ^my-user
nil
user> (def my-cached-user (with-meta my-user {:cached-at (java.util.Date. )}))
#’user/my-cached-user
user> my-cached-user
{:login “pcalcado”, :password “secret123″}
user> ^my-cached-user
{:cached-at #}
user> my-user
{:login “pcalcado”, :password “secret123″}
user> ^my-user
nil
That feature makes the […]
Presentation Slides: Macros in 20 Minutes
Published by January 20th, 2009 in clojure, domain specific languages, fluent interfaces, java, language adaptation, language oriented programming, lisp, object orientation, ruby, software design and thoughtworks. 0 CommentsWe just started holding 20 minutes presentations during lunch time in the ThoughtWorks Sydney office. For the first session I gave a not-that-short talk on Lisp macros using Clojure. The slides are below.
Lisp Macros in 20 Minutes (Featuring Clojure)
View more presentations or upload your own. (tags: thoughtworks clojure)
It turns out that 20 minutes is too […]

