August 30, 2016

DCI: Data Context and Interaction Architecture playlist

It's been a while since I've heard about DCI, and still to this day I'm thrilled with the approach and the concept behind it.

It still lacks lots for experimentation in my case, but I find the paradigm really but really interesting.
So in that matter, here a list of resources that can introduce the paradigm in a better way:

Coplien: A good introduction

James Coplien - The DCI Architecture: Supporting the Agile Agenda from Øredev Conference on Vimeo.

Coplien: A good interview

Coplien: Another great interview

Reenskaug: A great overall view and history

Trygve Reenskaug - Object Orientation Revisited. Simplicity and power with DCI. from NDC Conferences on Vimeo.

And finally a thick (in content) book, a great read in general.

August 13, 2016

An advice towards Mercurial

This is not a rant, really, just a some few things I would like to write down.


When I started into development I've got the great suggestion to use revision control systems, the first one that I ever used was CVS, it really worked well for my own purposes, just had some issues with the sharing-between multiple machines.

Then Subversion was the hot-thing and it was a bit better that Subversion, but still had some of the things that I disliked from CVS.

Then GIT showed up, the projects I was working on required CVS, so I got an early non-official version of git-svn and started working with it, it was great, so many of my problems went away, but it was still under a SVN server.

After that , Github, Bitbucket, Kiln, and the tipping point, everybody switched to the reasonable choice, distributed revision control systems, and I think the best summary for why this approach is better than others, is described by Joel.

My point

My point is not to tell which tool is technically better, my point is more subjective, I think that Git is still technically the most advanced approach you can have for revision control systems, but it might not be the most simple one to use.

I have used a lot of tools, and among all of them the one that still holds my thumbs up is Mercurial, here some few reasons:
  • Simple and concise user interface (commands)
  • Better merging strategies
  • No automatic commits on merge
  • Good performance
  • Simple to explain
  • Gentle learning curve
  • Consistent tooling 
 Not too many reasons, rights? that's why I like it, because it just works, no porcelain/plumbing, just the tool. The other tool that goes beyond this is Fossil SCM, but it still needs adoption.

So in the end, my suggestion, if you are using revision control systems and you are unhappy with Git, or you don't know any other tool, give Mercurial a try.