As I said here before I was in Brazil some weeks ago to present at a conference. I had a really great time over there with some amazing people and would like to thank Caelum for their hard work in creating such a great conference. I’m making the slide deck and notes available in my […]
Archive for the 'domain specific languages' Category
I Wish I Knew That Before Getting This Job – Slides and (Long) Notes
Published by November 24th, 2009 in agile, business, c#, components, domain driven design, domain specific languages, economics, events, java, layers, management, object orientation, software architecture, software design, thoughtworks and trends. 0 CommentsWatch Your Language!
Published by June 11th, 2009 in business, case study, digital media, domain driven design, domain specific languages, language adaptation, language oriented programming, software design and trends. 10 CommentsIt was one of my first days in the job. I was hired to head the development of several products for a media company and my new boss and I went to my first meeting.
The room was full of different types of people. You could tell those who were media producers from the managers […]
Tag Clouds: See How Noisy Your Code Is
Published by April 29th, 2009 in case study, domain driven design, domain specific languages, java, language oriented programming, software architecture, software design and trends. 13 CommentsIf you follow this blog then you probably know that one of current interests is expressive design, either using Domain-Driven Design or Domain-Specific Languages. Here is a presentation about this topic.
One of the tricky things about expressive code is that it is very hard to see how noisy a code base is. What I found […]
Expessive Design - Slides
Published by March 12th, 2009 in domain driven design, domain specific languages, fluent interfaces, language adaptation, language oriented programming, object orientation, ruby, software architecture, software design, thoughtworks and trends. 6 CommentsJust posted slides for a presentation I gave this week for one of our clients.
Expressive Design (in 20 minutes)
View more presentations from Phillip Calçado.
It was a very nice session where we talked about the hard work that is introducing such ideas in a corporate environment as those are finally reaching mainstream.
Notice that in this presentation […]
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 […]
Where do Acceptance Tests go to Die?
Published by September 29th, 2008 in agile, case study, domain specific languages and software design. 12 CommentsMy colleague Sarah Taraporewalla posted an interesting text on acceptance testing. She doesn’t believe in this technique. I’ve been thinking of acceptance tests for some months now and think that she has a valid –a bit too radical but still valid- point.
My main problem with acceptance testing is that they are too wasteful.
They are temporary. […]
Internal DSLs and Paradigms: Declarativeness
Published by September 17th, 2008 in agile, domain driven design, domain specific languages, fluent interfaces, java, language adaptation, language oriented programming, object orientation, software design, trends and web. 2 CommentsI’ve been experimenting a lot with Internal Domain-Specific Languages (or embedded DSLs if you prefer the classic and more accurate term) during my recent projects and by doing that I’m facing the real benefits and caveats of that technique.
One of the biggest issues with embedded languages is that is very hard to get developers’ minds […]
JavaScript, Internal DSLs and Keyboards
Published by July 12th, 2008 in domain specific languages, language adaptation, language oriented programming, ruby and trends. 3 CommentsAjaxian.com published an article on Ojay, an interesting JavaScript library that rests on top of Yahoo!’s YUI. The library has a DSLish way of expressing form validation rules, like in these snippets from their website:
form(’signup’)
.requires(’username’).toHaveLength({minimum: 6})
.requires(’email’).toMatch(EMAIL_FORMAT, ‘must be a valid email address’)
.expects(’email_conf’).toConfirm(’email’)
.expects(’title’).toBeOneOf([’Mr’, ‘Mrs’, ‘Miss’])
.requires(’dob’, ‘Birth […]
Expressive Domain-Specific Languages for Firewalls
Published by June 25th, 2008 in domain specific languages and language oriented programming. 2 CommentsPrael wrote a blog post about Domain-Specific Languages used in firewall definition. He points to Cat in the Red Hat’s recipes for firewalls in Linux and in BSD (the Windows port of that).
Now, I’ve always preferred BSD-style firewall configs. But I’ve never seen before such a painfully clear example of *why* I prefer them. If […]
Please let Binding#eval receive a block
Published by June 15th, 2008 in domain specific languages, language adaptation, language oriented programming, ruby and software design. 0 CommentsI was very happy to see that Ruby 1.8.7 made a method named Binding#eval public.
This method is very useful when you need to mix two Domain-Specific Languages. In Ruby you often evaluate a block in a different context than where it was defined, using instance_eval and friends. The problems is that a block can […]

