The economics of MDD for Consulting Organizations
Session notes from my DSL design session at BCS SPA conference
Last month was a little crazy. I presented on DSLs to a Groovy usergroup and on productive work practices at WebDU in Sydney. I then flew to New York to present at the local Grails meetup about DSLs in Groovy and four days later flew to London to co-present a 5.5hr session on Xtext and DSLs at SPA, Groovy DSLs to the London Groovy/Grails usergroup and a session on DSL design at the BCS SPA conference.
I then flew out to catch the second day of the Gr8 conference in Copenhagen and then back to London to present on Productive work practices at Scotch on the Road before returning to New York to chill for a couple of weeks.
So, apologies for the lateness, but below are my session notes from the DSL design session I ran.
Systemsforge featured in IEEE Software magazine!
After presenting at the inaugural Practical Product Lines conference in Amsterdam last fall, John McGregor contacted me to ask whether I might be interested in writing a short experience report on the SystemsForge software product line for an edition of IEEE software magazine.
The issue was released last month and there is a great summary of SystemsForge as well as lots of good content relating to Software Product Lines.
Published in “ColdFusion Anthology”
Been a *lot* going on recently, so here is a flurry of postings getting things caught up!
For a number of years I have been writing articles for Fusion Authority – for a long time the only print publication with technical articles for ColdFusion developers. A while back, Judith asked me whether I’d like to contribute some of those articles to a new book by APress. After a lot of reworking and editing, the book was just published. Check it out!
WebDU – Productive Work Practices Deck
Here are my slides from the Productive Work Practices presentation I gave earlier today at WebDU. What technique are you going to start using on Monday?!
Adobe ColdFusion Anthology just released by FAQU
The Fusion Authority Quarterly has been the premier source of quality technical content for CFML developers for a while. They have just produced a book with the “best of” the articles over the years. It has content from a number of top ColdFusion developers which should help any developer wanting a single resource packed full of ideas for improving your CFML development. I have three chapters – on base classes, separating layout from logic, and exposing the service class. Looking forward to getting my hands on a copy to see what other content is in there!
Is Steve Jobs Channelling Bill Gates?
Really? I love Apple products. I have an Air, a MacBook Pro and an iPhone. I’m pretty much the certified Apple fanboi. But recently, I’ve been having some really weird flashbacks to when I used to use Windows X . . .
Firstly, my Macs seem to need to be rebooted all the time. I’m losing count of the number of recent Snow Leopard upgrades to things like iTunes which have required a reboot. Really? A reboot on a *nix powered system just to upgrade one of the applications? What is up with that? Reminds me of WinXP.
And then Apple got into the whole AppStore debacle where they basically said to developers – you go, work on an app, and thern using arbitrary, undocumented rules we’ll decide whether to let you sell it to anyone. We’re not just (reasonably) enforcing published standards on what we’ll sell through the AppStore. We’re saying that if we don’t happen to like your app, you can’t sell it to anyone with an iPhone or iPad – period. Way to go pissing off developers. Reminds me of how Visual Studio seemed to completely change the way you had to work every year or two making me choose to develop using anything but VS. Also reminds me of how for a long time Microsoft tried to tie you into their (lame) VSS vcs offering and made it hard to use best practices like CI and automated builds until they finally wised up and started treating the alt.net community as a resource instead of the enemy.
And now they’re categorically blocking anything developed in anything other than objective C (from what I can tell) – and certainly Flash based apps (including flex based apps) from their platform. I get it – I really do. Old school business 101 is to use what you have to gain more control of your customers and to push out large potential competitors using whatever leverage you have. I definitely see how it could be in Apples interest to make this move – especially if we let them get away with it.
And let me make it clear – despite the fact that I was an Adobe Community Expert in the past, I’m not exactly an Adobe fanboi. Heck – I do work for Railo – a direct competitor to Adobe’s ColdFusion product, I don’t use CS as I am a horrible designer, and I don’t have any kind of affiliation with Adobe. I just expected more from Jobs and Apple.
Oh well. Anyone want to suggest the best hardware for running a linux dev laptop? I heard that a while back at one of the RubyConfs, anyone who still had a Windows laptop in the midst of all the MacBook Pros got a “think different” sticker or something similar. Hopefully by this time next year either Apple will have got the message and opened up the iPad, or we’ll all have Dells running Ubuntu and anyone at a conference who still brings their MBP along will get a “Think Proprietary” sticker handed out instead.
SPA Conference Coming Up Soon – Not to late to book!
I’m really excited about the upcoming Software Practices Advancement conference in London May 16-19th. It is a chance to meet a really eclectic group of top developers from a range of industries that use a range of different technologies and a great place for cross-polination of different ideas.
Language or domain specific conferences are a great way to learn from your peers, but at SPA a wide range of developers from different industries using different technologies come together to share their experiences and ideas and it’s an amazing place for learning from a wide range of top professionals.
SPA is also really interesting for its focus on pedagogy. Instead of just a bunch of chalk and talk presentations, there are lots of formats designed to engage the participants in the learning process. I’ve certainly learnt a bunch about how to communicate information effectively by presenting at SPA for the last couple of years.
This year there is a great lineup. I’ll be co-presenting with Marina Haase on openArchitectureWare (now part of Eclipse Modeling Framework) and I’ll be running a session on DSL design – “What Makes a Good Domain Specific Language?“.
If you’re in or around London, I’d thoroughly recommend the conference – hope to see you there!
Do you want to see this in LightWire?
Thomas Messier recently blogged about supporting “arbitrary runtime constructors” in LightWire. Check out his posting and comment at the bottom as to whether you like or dislike the idea. If it’s popular enough (strong positives, weak negatives) it may end up in the core . . .
Presenting on “Spring Roo and Code Generation” at Code Generation 2010
I just got acceptance last week confirming that I will be presenting a session on “Spring Roo and Code Generation” at Code Generation 2010 in Cambridge, England this June. Roo is a fascinating Java framework that uses some really interesting techniques to elegantly generate Java code allowing for much DRYer development than regular Java programming without the overhead of dynamically typed languages like CFML or Groovy.
As the session description notes:
“Spring Roo is a code generator / framework for quickly generating Java web applications. It uses some very interesting patterns for elegantly generating code. In this session we will combine study of the patterns used by Roo together with hands on experience of Roo as a generator. In addition to learning the basics of a specific generator, we’ll also be “consuming” a generator so we can explore the experience of using a generator and what we can learn from that when choosing or creating generators or tools for others.”
Code Generation is one of my favorite conferences of the year, bringing together some of the top practitioners and academics in the fields of Domain Specific Modeling and Code Generation. If you have an interest in learning how to develop custom applications more efficiently, I’d strongly recommend it.
