Published by Phillip Calçado August 17th, 2010
in abstractions, books, c#, components, domain driven design, domain specific languages, java, language adaptation, language oriented programming, layers, object orientation, ruby, software architecture and software design.
Update: Part II is here.
Most complex tasks are solved using abstractions. To create an abstraction one groups lower-level concepts, what I will call primitives in this text, and make them interact in a pre-defined way.
Abstractions are present at all levels in a system. Computers work based on electric signals. To reduce the Essential Complexity we […]
Weeks ago, some people in the Ubuntu community got a bit disappointed with the distribution’s core team:
> We are supposed to be a community, we all use Ubuntu and contribute
> to it, and we deserve some respect regarding these kind of decisions.
> We all make Ubuntu together, or is it a big lie?
We all make […]
Published by Phillip Calçado August 12th, 2009
in c#, clojure, groovy, haskell, java, language oriented programming, lisp, object orientation, rails, ruby, software design, thoughtworks and trends.
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 […]
Published by Phillip Calçado 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.
Just 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 […]
I really like Amazon WebServices. I think they provide great and innovative features with an affordable price. I also like Engine Yard. Their plans are too expensive for most users but their commitment to a better open-source platform is remarkable. And I think they made a pretty interesting move in their new Solo offering.
Solo […]
Published by Phillip Calçado January 20th, 2009
in clojure, domain specific languages, fluent interfaces, java, language adaptation, language oriented programming, lisp, object orientation, ruby, software design and thoughtworks.
We 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 […]
Ajaxian.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 […]
I 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 […]
Published by Phillip Calçado June 2nd, 2008
in Uncategorized, domain driven design, domain specific languages, fluent interfaces, java, language adaptation, language oriented programming, object orientation, ruby, soa, software design, thoughtworks and trends.
I’m attending JAOO in Sydney. Today’s most interesting presentation was by Johnny Chung Lee, a Internet Celebrity(tm) with some of the most viewed videos in youtube and a researcher in human-computer interaction.
Johnny gave a brilliant talk and stressed the fact that although we have better graphics nowadays we still suck at how to interact […]
I presented this example into ThoughtWorks Melbourne GeekNight last week. Slides here.
The more I get interested on expressiveness in software development the more I feel the pain of using when a simple concept is encrypted into lots of noise. The most recent occurrence of this sad experience was some weeks ago when once again I […]