In our books and courses, we describe various goodies that you can have for free. Some of these goodies are code. There are no warranties or guarantees for any of this code – it is not production code, and it is shared with you for experimentation purposes only. All this code is released under the GNU General Public License.
Ruby Workspaces
An implementation of Smalltalk workspaces for Ruby. What does this mean? A workspace is a simple text editor in which you can write text and embed and execute Ruby code. This allows you to create “booklets” of executable Ruby snippets. The workspace idea is in some ways superior to IRB, because whilst you have the same level of interactivity as IRB, you can see everything you have typed and executed on one page. You can also save the pages to refer to later.
Informit article on Generative Analysis
Generative Analysis is a new approach to OOAD that we describe in our book “Secrets of Analysis”.
Original Literate Modelling paper
This is the original paper on Literate Modelling.
Literate Modelling chapter from Enterprise Patterns and MDA
A sample chapter from Enterprise Patterns and MDA on Literate Modelling.
A link to Literate Process Modelling research
Research into Literate Modelling as applied to BPMN process models at the University of Innsbruck.
Rules engine
A simple Python implementation of the Rule Archetype Pattern from “Enterprise Patterns and MDA”. Note: this is written in as general way as possible (Python almost as pseudo-code) so that it can be easily ported to other languages – it is definitely NOT idiomatic Python. Our friend, Greg Swindle, has a very nice PHP implementation here.
Worked example for UML and the Unified Process
This worked example is getting a bit old now, although it is still very useful. It will be superseded by the incredibly detailed worked example in Secrets of Analysis.
——————————————————–
After many years, Ila and I have finally published “Secrets of Analysis”. In the end, we decided to go the self publishing route, and publish the book (at least initially) on the Apple iBook Store for iPad. In fact, the book is designed specifically to be read on an iPad (although it also works just fine on a Mac), and it looks great!
The whole process of publishing this book has left us quite disillusioned with conventional publishers. We originally had a contract with Wiley, and we delivered a first draft on time. Then they asked for a very significant change that pushed the publishing back by a year. When we delivered the text, our commissioning editor told us that Wiley had undergone a reorganisation and was no longer interested in publishing this sort of book. Telling us sooner, rather than just waiting until we submitted, seemed to be entirely beyond him. So we wrote for an extra year, for at least 6 months of which, completely unbeknown to us, we had no contract. Ironically, Ila and I ultimately decided that the change was detrimental, so a lot of that work went into the wastebasket.
We tried a few other publishers, but because the book is very difficult to categorise, none would publish it despite the fact that several thought it was important. Finding a commissioning editor with vision and imagination is very hard when the general consensus is that the professional publishing market is moribund.
Because we tend to write the books we need, or that we want to read, we tend to finish a text, and then try to find a publisher for it. Publishers simply don’t want to work like this. They want an idea, a proposal, a sample chapter etc. etc. You would think that a finished text that just needed a review, some editorial changes and polishing would be a gift to them, but they are not interested. It just doesn’t fit into their workflows and they are not agile enough to accommodate a different approach.
So here we are, publishing it ourselves on iBooks. In many ways, this is actually the optimum outcome for us, because we keep control of all of our intellectual property, and because we can publish a book that is exactly as radical and iconoclastic as we desire, without any ”watering down” by an editor who (often but not always) knows very little of what we are actually trying to achieve.
We have had quite a lot of success with self publishing with “Introduction to BPMN2”, which is (as far as we know) the first interactive modeling book, and with “Interactive Computational Geometry”, which is live Mathematica (sorry – I should really say, “Wolfram Language”) code published as a CDF (Computational Document Format).
Publishing isn’t a problem for us. Getting paid for our work is. Secrets took several man-years to write, and we put everything we know (well – almost everything) into it. We are unlikely to ever get any reasonable recompense for this work even at minimum wage levels. Do we care? Yes – we care a bit – because we both believe that if authors like us can’t get a reasonable return, then fewer and fewer books like “Secrets” will ever be published. For us, the time consuming business of earning a living means that we will probably never be able to write another “Secrets”.
The big problem Ila and I face is marketing. Neither of us have any training in, or inclination towards, this darkest of dark arts. As such we sell very few copies of our self published books. To give you some idea, our “Introduction to BPMN2” training course has had well over 100,000 views on Slideshare (putting us in Slideshares top 5%), but the book itself has only sold in the hundreds. Most of our books have associated training courses, and we give these away free to over a hundred Universities world-wide as our way of contributing something back to the software development community. This has been advantageous to us because these courses have driven sales of our print books very well, but of our eBooks – not so much. We’re not sure why this is.
Nowadays, everyone wants, “free”, and the thought of actually paying someone for the hard work they have put into a book seems very far from many peoples thoughts (our readers excepted). This is a shame.