Apache ACE building instructions 2010/06/26
Posted by Angelo van der Sijpt in Uncategorized.add a comment
Hi there!
If you’re reading this, you’re either one of the RSS-subscribers, or I have just pointed you, as a visitor of LJCUC02, to this location.
Building an ACE target
Snapshot dependencies
First, we need two snapshot dependencies. Check out
http://svn.apache.org/repos/asf
/felix/trunk/dependencymanager
and
http://svn.apache.org/repos/asf
/felix/trunk/deploymentadmin
to some convenient location. From these locations, call
mvn -DskipTests=true clean install
Building a target
Check out
http://svn.apache.org/repos/asf/incubator/ace/trunk/
to another convenient location and run
mvn -DskipTests=true install
(Yes, this does take a long time.)
Setting up the build target
You now have a target waiting for you in
ace-target-devgateway/target/ace-target-devgateway-0.8.0-SNAPSHOT-distribution/ace-gateway
In the conf directory, edit
- org.apache.ace.discovery.property.cfg to point to my machine that works as a server; at time of writing, my IP is 192.168.1.24.
- org.apache.ace.identification.property.cfg to give you some unique name. Don’t use spaces or punctuation for this, and clashes gives an undefined state. Remember, this is usually a managed environment.
All set! You can now run your target with
sh run.sh
“De kracht van Scrum” 2010/06/16
Posted by Angelo van der Sijpt in Uncategorized.add a comment
“De kracht van Scrum” (bol) is a short story, written in Dutch, telling the tale of a CTO with all the usual suspects of problems in his organization, and his journey into Scrum.
The book poses and answers all the usual questions and concerns one might have when adopting Scrum, and shows an example of a possible method of transition. I believe the authors have deliberately erred on the side of simplicity, flattening some of the mechanisms, and posing certain solutions as the best (or maybe only?) way. This is very much in line with the goal of the story, which is mainly to “inspire”.
I don’t believe this book is the best possible story to inspire Scrum adoption from ‘up above’, but it is by far the best I have seen so far. It being in Dutch is an advantage for my projects, but I think an English edition would be a welcome addition; I haven’t found anything like it in another language.
In short, “De kracht van Scrum” is a welcome addition to my gift chest when starting new projects, as I already had “Scrum & XP from the Trenches” (pdf, amazon, bol) for the new Scrum Masters.
Demoing Ruby on Rails 2010/06/08
Posted by Angelo van der Sijpt in Uncategorized.Tags: demonstration, rails, ruby
add a comment
Insipred by the 15 minute weblog, I created a demo of Ruby on Rails for my colleagues.
The material for this demo is listed below. The presentation is used to explain concepts, and to illustrate elements of the case we use. The speaker notes contain instructions on the order in which to do stuff on the command line, in the text editor, in the browser, and when to point out something using keynote.
When typing like a maniac, you should be able to get through this in about an hour. Have fun!
FitNesse and OSGi 2010/05/25
Posted by Angelo van der Sijpt in Uncategorized.add a comment
I like to connect stuff to OSGi (like GWT). This time, I created a set of connectors for FitNesse, and wrote about it at the Luminis Software Development blog.
Sway by Rom Brafman – recommended reading 2010/05/18
Posted by Angelo van der Sijpt in Uncategorized.2 comments

Sway (amazon, bol) is one of those books that feels ‘done done’: well-researched, written with a sharp clarity and factualness that rivals Malcolm Gladwell’s, and a sense of imparting upon you the wisdom of ages.
Last year, at around the same time, I read Dan Ariely’s Predictably Irrational (amazon, bol). Sway takes it one step further: being written by two brothers, one a pyschologist, and one an “organizational thinker” (I believe the book credits him as “economist”), it has a unique style, that leaps through years of research, picking the juiciest bits of scientific literature and, dare I call it, trivia, and distills it into an easy to swallow chunks of insight. Somehow, I can’t stay away from food metaphors describing this book. Highly recommended!
The OSGi ecosystem: a ‘service’ is not a ‘service’ 2010/05/08
Posted by Angelo van der Sijpt in Uncategorized.Tags: osgi, services
2 comments
Update 2010-05-21: Peter Kriens has made a similar point about μservices some time ago.
In a recent post, Kirk Knoernschild coined the notion of OSGi as an enabler for an ecosystem for software modules. While I do subscribe to this view in the long run, there is still some road to cover.
Current state
In the current marketplace, OSGi is still mainly an inside-business (some notable exceptions aside), providing a foundation to build applications, and if we’re lucky, allowing some reuse of homebrew components.
Within the context of OSGi itself, reuse is actually rampant. For instance, hardly a project goes by in which I don’t use an Event admin or Configuration admin, or one of the dependency management tools like the Apache Felix Dependency Manager.
Still, these either have a very broad range of usability, or are ‘internal affairs’. What we in this ecosystem are reusable business services, and I don’t mean general purpose libraries repackaged as a bundle. (Yes, of course we need those, but we should be able to go beyond that.)
Decoupling modules and services
OSGi has made the genius decision to decouple the notion of modules from the use of services as an architectural building block. I see this enabling three steps in the near future,
- Services as first-class citizens In my time working with OSGi, I notice I’m moving away from the regular notion of a service as ‘something that can do stuff for me’ to ‘an architectural building block’. I believe the notion of services (loosely summed up as ‘using interfaces to communicate, on steriods’) goes far beyond this: it allows us to rely on the framework for wiring up the application, and reduces complexity of the design; all of this is subject of another post (I promise).
- Real service-orientation eases modularization Once we move away from ‘services in the large’ to services as a regular building block, we can start to use those in a more stringent way to insulate concerns: even when the landscape is dynamic, we can carve up our application along the boundaries of services, giving us modularization for free.
- Service-centric modularization Now we have centered our modularization around services, we can take the next step: in stead of thinking about modules, we can now start thinking again about large services, by which I mean a block of functionality defined by a set of OSGi-level services. At this point, the actual deployment model and modularization mechanism is of no importance anymore.
So, what will we be selling in this ecosystem? I believe it not to be modules, but rather ‘services in the large’ built up of ‘services in the small’, which happen to be deployed using modules.
Using Turnkey Linux Rails with Capistrano 2010/03/31
Posted by Angelo van der Sijpt in Uncategorized.add a comment
The guys at TurnkeyLinux.org have, among other stuff, a very useful Rails VM. As useful as it is out of the box, I like to use together with Capistrano. To do so, it needs some minor tweaks.
Clean up the current app
Fire up the VM, and ssh to it.
ssh root@192.168.2.18
The application is in /var/www/railsapp; go there, and delete the contents of the directory.
cd /var/www/railsapp; rm -rf *
Configure Apache
With that out of the way, we need to tell the embedded Apache that something has changed. In /etc/apache2/conf/railsapp.conf, replace the occurences of ‘public’ by ‘current/public’.

Then, restart apache by using
apache2ctl restart
Install subversion
For some reason the Turnkey VM doesn’t ship with subversion. Install that using
apt-get update; apt-get install subversion
Connect to your subversion server once
When you’re using svn+ssh as I am, you will want to connect to your subversion server once, for instance using something like
svn info svn+ssh://angelo@192.168.2.4/svn
This gives ssh the chance to ‘get to know’ your server.
That’s it!
There, with a few minor tweaks, you can start using an off-the-shelf VM for you Capistrano deployment. I personally use one of these to test my deployment scripts, and hence use it as a staging server.
Some time soon, I will (a) do a walkthrough of building an application that can readily be deployed onto this VM, and (b) show how you can use Capistrano to deploy to both a staging environment in one of these VM’s, and to a ‘real’ production server.
Planning poker presentation 2010/02/07
Posted by Angelo van der Sijpt in Uncategorized.add a comment
I added a presentation on Slideshare which I use to introduce the notion of ‘planning poker’. It uses Doggy Planning to practice with the deck.
Furthermore, it contains some CC licensed images from Flickr.
I use this presentation to show why relative estimates are important. For the doggy planning, I allow some discussion as to ‘what on earth are we estimating here’, and in the end end up with some metric to estimate. I only show the image of the dogs after the ‘right questions’ have been asked (e.g., “what kind of poodle is this?”). If you have any ideas to use this better, please let me know!
Fosdem 2010, day one 2010/02/06
Posted by Angelo van der Sijpt in Uncategorized.add a comment
Fosdem is by far the geekiest conference, and the largest collection of geeks in a single place I have seen in a long time. Time for some highlights of day one!
By the way, if you’re in the pictures above, and would rather not be, let me know.
- Open source at large companies is a strange keynote; Brooke Davis didn’t use any presentation material (probably decided for him by the equipment), but was still surprised by his slides as they appeared on his display. As for the contents, I’m… intrigued. The product he talked about, “Aerosource”, is an internal project consisting of a Trac/SVN mashup at his institute, and not fully open source. Furthermore, I’d say calling Bugzilla a ‘best of breed’ issue tracker is a bit curious.
-
Evil on the Internet by Richard Clayton shows you the multitude of ways you can get ripped off on the internet, backed up by clear statistics and interesting (real-world!) examples. I brought home two things from this talk,
- Internet crime is, indeed, big business.
- If something looks too good to be true, it is.
- Groovy feels an awful lot like Ruby; I have some thought on that and parallelization.
- The coreboot talks really spoke to my own inner geek. I’ve seen the details of the hardware involved in booting up your machine, and was talked through the assembler code that handles flashing the BIOS. Good stuff.
Groovy – Ruby for the Java crowd, with free semantics! 2010/02/06
Posted by Angelo van der Sijpt in Uncategorized.Tags: groovy, parallelization, ruby
add a comment
Groovy looks a lot like Ruby, and its added semantics provide a free hook for parallelization.
Today at Fosdem, I attended a talk from Luca Foppiano on Groovy. I knew Groovy is a dynamic language, but I wasn’t aware that it’s this much like Ruby.
All valid Java code is also valid Groovy code, so it is easy to phase in Groovy in you project. You can just leave stuff out, and get the free benefit of language features like type inference and closures.
The latter is quite interesting. Say, you want to select a subset of a list in Java, you use something like
List result = new ArrayList();
for (MyObject o: someList) {
if (o.hasRightProperties()) {
result.add(o);
}
}
while in Groovy one might use
someList.select{ | o | o.hasRightProperties() }
Apart from being shorter, the Groovy form has better semantic properties: it guarantees we will be checking every element of the list, there is no way to break out of the iteration. Hence, we can freely parallelize this iteration, and move half of it over to another processor!
The means for this are already present in the language: make the iterating functions aware of their parallelizability, instead of changing the semantics of the for as a language construct. Now that’s is a free benefit to me!






