May
02
2011
0

ChangeVerandering

As some have noted, it’s been a while since I’ve been blogging. This should be seen as a good thing, as I only blog when I have something noteworthy to mention and have the time to write it down properly. The latter was rather problematic, lately. The last couple of months have been really busy for me, due to several reasons. There’s one big personal reason, but it was also quite busy at work. The last couple of months I have been the project leader of a project with ever-changing specs and some interesting technical challenges, not the least of it, it’s CQRS architecture (or circular architecture, I should say). Any way, last but not least, I’ve switched jobs.

The company I’ve switched over to is called m-industries. It currently only has a single contact page at http://www.m-industries.nl

We are working hard (yes, very hard, hence the single page) to create a great application for a big industrial client and at the same time extending and solidifying our framework, the one that we are building the application on. It’s a model-driven framework, using it’s own internal schema’s in a schema language that takes a bit of getting used to, but after that seems to be a really great fit for the needs of lots of (business) applications. If you are interested, please come by and visit us, so we can show you the real stuff.

If you are a developer looking for a place were innovation meets the metal, visit us for sure, especially if you are already into javascript!

Have a look at our stackoverflow job offering currently running: http://careers.stackoverflow.com/jobs/11408/

Zoals sommigen al opviel, is het enige tijd geleden dat ik heb geblogd. Dit is eigenlijk een goede zaak, omdat dit komt omdat ik alleen probeer te bloggen als ik echt iets te melden heb en er ook de tijd voor heb om het te melden. Dat laatste was de afgelopen maanden een probleem. Naast een heel belangrijke persoonlijke reden, was het ook vrij druk op het werk. De laatste maanden was ik de projectleider van een project met continue veranderende specs en enkele leuke technische uitdaging, onder andere de gebruikte CQRS architectuur (ik zou natuurlijk ‘circular architecture’ moeten zeggen). In ieder geval, als laatste, maar niet als minste: ik ben van baan gewisseld.

Het bedrijf waar ik nu voor werk heet M-Industries. Het heeft een tijdelijke web site, bestaande uit slechts een contactpagina op http://www.m-industries.nl

We zijn hard aan het werk (ja heel hard, vandaar die ene pagina) om een erg coole applicatie te ontwikkelen voor een grote industriële klant en tegelijkertijd ons framework waar we dit op doen aan het verder uitbreiden en verdiepen. Het is een modelgedreven framework, dat gebruik maakt van zijn eigen interne schema’s in een eigen schema taal waar je even aan moet wennen, maar daarna blijkt heel goed in de behoeften te voorzien van een heleboel (bedrijfs-) applicaties. Als je geïnteresseerd bent, kom eens langs, zodat we je de boel in actie kunnen laten zien.

Als je een ontwikkelaar bent die op zoek is naar een plek waar écht geinnoveerd wordt, dan moet je zeker langskomen en helemaal als je je weg al weet in javascript!

Je kunt ook onze stackoverflow vacature bekijken: http://careers.stackoverflow.com/jobs/11408/

Written byGeschreven door Rick | Tags: , , , , , , , |

No Comments - Leave a comment »

Aug
12
2010
0

Value objects are only just playing a roleValue objects spelen ook maar een rol

Recently I had an interesting discussion on the DDD mailing list about value objects.

Value objects: “These are the objects that describe things” [From: DDD, Evans]

The discussion centered on the immutability of value objects. The strange thing is that many developers (in the role a modeller) emphasize this immutability. I’ve seen this happen quite often. While I do not think that is the essence of a value object at all.

De afgelopen dagen had ik een interessante discussie op de DDD mailinglist over value objects.

Value objects: “These are the objects that describe things” [Uit: DDD, Evans]

De discussie ging over de niet-wijzigbaarheid (immutability) van value objects. Het vreemde is dat veel ontwikkelaars (in de rol van modelleur) deze niet-wijzigbaarheid benadrukken. Hij komt ook altijd op. Terwijl het volgens mij niet de essentie is. read more… lees meer…

Written byGeschreven door Rick | Tags: , , , , , |

No Comments - Leave a comment »

Jul
15
2010
0

No Exceptions madeNo Exceptions made

In response to a finding during an internal project code review last Friday and an article in the latest Java Magazine we had an interesting discussion on the reasons for using exceptions. Eventually I supported two rules of thumb, one I had thought of myself, the other from a colleague of mine.

The following rules of thumb should be seen as in the context of a development platform that supports their use and a developer who uses as the following, basic rule for recognizing the situation to use an exception: use an exception if you cannot follow the normal execution path any more, in other words, if something extraordinary happens or has happened.Naar aanleiding van een bevinding tijdens een interne project code review  afgelopen vrijdag en een artikel in het laatste Java Magazine hadden we een interessante discussie over de redenen om exceptions toe te passen. Uiteindelijk kon ik zelf achter twee vuistregels staan, een die ik zelf bedacht had, de ander van een collega van mij.

Ik ga bij de onderstaande vuistregels uit van de context van een ontwikkelplatform die de mogelijkheid biedt om ze te gebruiken en ontwikkelaar die als basisregel voor het herkennen van de situatie om een exception in te gebruiken de volgende regel hanteert: gebruik een exception als je niet het normale executiepad meer kunt volgen, met andere woorden, als er iets uitzonderlijks gebeurt of is gebeurd. read more… lees meer…

Written byGeschreven door Rick | Tags: , , , , , , |

No Comments - Leave a comment »

Apr
19
2010
2

Research revisitedOnderzoek weer opgezocht

During a discussion at the domain driven design discussion group my master’s research subject came up again: traffic control, agent-based. I promised Greg Young to put up the report, but saw that it was in Dutch, however I found an english paper I wrote too, so here it is: Publication 2002 – agents in traffic control. This is a publication I presented together with a research supervisor from TNO, Paul van Koningsbruggen at the OMNI conference of 2002 in Chania, Crete. The presentation can be found here: Omni Presentation 2002.

Please keep in mind that it’s already 8 years old and it’s only an excerpt from the full research. The full document is quite big and in Dutch, so I won’t put it online unless somebody’s really interested. Just let me know. 🙂Tijdens een discussie op de domain driven design discussiegroep kwam het afstudeeronderwerp van mijn master (elektrotechniek, Delft) voorbij: verkeersbeheersing, gebruikmakend van agents. Ik heb Greg Young beloofd om het onderzoek online te plaatsen, maar zag dat het in het Nederlands was, heb ook een Engelstalige publicatie gemaakt, dus hier is het dan: Publication 2002 – agents in traffic control. Deze publicatie heb ik samen met een begeleider van TNO, Paul van Koningsbruggen, gepresenteerd tijdens de OMNI conferentie van 2002 in Chania, Kreta. De presentatie vind je hier: Omni Presentation 2002.

Houdt er aub rekening mee dat het alweer 8 jaar oud is en slechts een deel van het volledige onderzoek. Het volledige document is vrij groot en in het Nederlands, dus dat zal ik niet online zetten, tenzij iemand erg geïnteresseerd is. Laat het dan even weten. 🙂

Written byGeschreven door Rick | |

2 Comments - Leave a comment »

Mar
10
2010
4

CQRS & the architecture coming alongCQRS & de bijkomende architectuur

In my previous blog post I made a proposal in the footnotes to rename the architecture that often comes along with the pattern CQRS. I thought of a “Circular Architecture” to clearly contrast it with a “Layered Architecture”. After a brief discussion with Greg Young and Alistair Cockburn about this I decided to take this idea under the microscope. They both claimed that the “Hexagonal Architecture” describes this architecture sufficiently. That got me thinking, since I respect both their opinions very much. First some definitions.

In mijn vorige blogpost deed ik in de voetnoten een voorstel om de architectuur die vaak meekomt met het patroon CQRS anders te noemen. Ik dacht aan een “Circular Architecture” om hem duidelijk te contrasteren met een “Layered Architecture”. Na een korte discussie met Greg Young en Alistair Cockburn hierover besloot ik om het idee nog eens even goed onder de loep te nemen. Zij claimden allebei dat de “Hexagonal Architecture” van Alistair Cockburn deze architectuur al voldoende beschreef. Dat zette me wel aan het denken, aangezien ik het oordeel van beide zeer respecteer. Eerst enkele definities waar ik vanuit ga.

read more… lees meer…

Written byGeschreven door Rick | Tags: , , , |

4 Comments - Leave a comment »

Mar
04
2010
0

CQRS && Validation && Business RulesCQRS && Validatie && Business Rules

Validation and business rules within a CQRS architecture [1][2] continue to raise issues for those who first hear of it. Three specific questions are often asked: how does the validation of commands work, how can one enforce business rules on large collections (state) and how does the enforcement of business rules on multiple aggregates work? Hopefully I can help some readers with my three replies. First the questions.

Validatie en business rules binnen een CQRS architectuur [1][2] blijven onderwerpen die vragen oproepen voor degenen die er voor het eerst van horen. Drie specifieke vragen worden daarover vaak  gesteld: hoe werkt de validatie van commands, hoe kun je business rules afdwingen over grote collections (state) en hoe werkt het afdwingen van business rules over aggregates heen? Hopelijk kan ik een aantal lezers helpen met mijn drie antwoorden daarop. Eerst de vragen. read more… lees meer…

Written byGeschreven door Rick | Tags: , |

No Comments - Leave a comment »

May
09
2009
3

TDD & DbC @ DotRTTDD & DbC @ DotRT

Last wednesday there was another Devnology event: the developers of the round table met at.. a rectangular one. Despite the out-of-place table, it was a very good meeting in any way that matters. I couldn’t shake of the feeling that the program didn’t fully work out as planned, but everybody was completely cool with it and the result was even better than planned. Discussions! And lots of it, of pretty high quality. See for yourself, as a picture says more than a thousand words..

After the event, Pieter-Joost van der Sande and I had a nice little off-time discussion about the interchangeability of Test-Driven Development and Design by Contract. PJ, correct me if I am wrong, but I remember you defending the viewpoint that DbC is an improvement over unit tests and consequently over TDD too. DbC is all a developer needs. 🙂 Might be a bit of an exaggeration, but it comes close to what you said, right? Afgelopen woensdag was er weer een Devnology meeting: the ontwikkelaars van de ronde tafel aan.. een rechthoekige. Ondanks de tafel die er niet hoorde, was het een erg goeie meeting op elke manier waarop een meeting goed zou moeten zijn. Ik kon me niet aan de indruk onttrekken dat het programma niet helemaal uitwerkte zoals verwacht, maar iedereen vond het prima en het resultaat was denk ik zelfs beter dan gepland. Discussies! En veel daarvan, ook nog van goede kwaliteit. Kijk zelf ook even, want een plaatje zegt meer dan duizend woorden..

Na de meeting hadden Pieter-Joost van der Sande en ik nog even een leuke kleine discussie in de blessuretijd over de onderlinge vervangbaarheid van Test-Driven Development en Design by Contract. PJ, verbeter me als ik het fout heb, maar ik herinner me dat je het standpunt verdedigde dat DbC een verbetering is ten opzichte van unit tests en daarom dus ook ten opzichte van TDD. DbC is het enige wat een ontwikkelaar nodig heeft. 🙂 Dat zou wat overdreven kunnen zijn, maar het komt in de buurt, niet? read more… lees meer…

Written byGeschreven door Rick | Tags: , , , , |

3 Comments - Leave a comment »

Apr
25
2009
0

Python and the Google AppEngine at the CodeFestPython en de Google AppEngine op het CodeFest

On the first of april the first Devnology CodeFest took place. An interesting group of 16 enthousiastic developers gathered at the Sogyo farm to make an implementation of the Game of Life, the famous cellulair automaton, devised by Conway.

My goal for that night was to make an implementation of the Game of Life in Python and to host this in the Google AppEngine. A nice challenge, since my knowledge of Python did not go much further than that it is a whitespace-significant scripting language that prominently feautures the keyword def and that the language is developed by Guido van Rossom. Oh and of course that the language has now been quite popular for a few years at Google, probably not completely coincidentally about the same period of time that Guido has been working there.Op 1 april vond het eerste Devnology CodeFest plaats. Er was een mooie groep van 16 enthousiastelingen verzameld op de Sogyo boerderij voor het maken van een implementatie van the Game of Life, de bekende cellulaire automaat bedacht door Conway.

Mijn doel voor deze avond was het maken van een implementatie van the Game of Life in Python en deze te hosten in de Google AppEngine. Een aardige uitdaging, aangezien mijn kennis van Python niet veel verder ging dan dat het whitespace significant scripttaal is waar regelmatig het keyword def in voorkomt en dat deze taal ontwikkeld is door Guido van Rossum. Oh en natuurlijk dat deze taal tegenwoordig door Google omarmd is, wat niet geheel toevallig samenging met het feit dat Guido voor Google is gaan werken. read more… lees meer…

Written byGeschreven door Rick | Tags: , , , , , |

No Comments - Leave a comment »

Mar
12
2009
0

Seminar Fixed price + Agile + DDDSeminar Fixed price + Agile + DDD

During the evening of March the 17th, Sogyo will organize another technical seminar. In this one, Sogyo employees Rick van der Arend (that’s me!) and André Boonzaaijer will explain how we can handle the wishes of many of our customers to get an agile software project, in a domain driven way, but with a planned and fixed budget.

Experiences they have had in several recent projects will play a central role. Workshop techniques and several other activities you should undertake during the domain exploration phase will be presented. Next to that, Rick and André will answer the question: how do you fill and estimate the SCRUM product backlog up front? In short, this will be an interesting evening.

The seminar starts at 18:00 with a bite to eat and at about 19:00, Rick and André will start their intro. The program will last until about 22:00. Sogyo employees can subcribe to the seminar by sending an e-mail to marketing@sogyo.nl. If you are not a Sogyo employee, but you are interested in this seminar, please e-mail Anneke van Beek at avbeek@sogyo.nl
Op 17 maart a.s. aanstaande organiseert Sogyo ’s avonds weer een technisch seminar. Hierin zullen Sogyo-ers Rick van der Arend en André Boonzaaijer vertellen hoe we kunnen omgaan met wensen van een opdrachtgever om agile software projecten op een domeingedreven manier en met een vast budget te kunnen inschatten.

Workshoptechnieken en verschillende andere activiteiten die je kunt ondernemen in een domeinverkenningsfase zullen hierbij de revue passeren. Tevens geven Rick en André antwoord op de vraag: Hoe vul en kwantificeer je vooraf de bak met werk, die een volgens SCRUM ingericht project uitvoert? Ervaringen die zij hebben opgedaan in diverse recente projecten zullen hierbij een centrale rol spelen. Kortom, het belooft weer een interessante avond te worden.

De seminaravond begint om 18:00 met een hapje eten, om ca. 19:00 beginnen Rick en André met hun intro. Het programma duurt tot circa 22:00. Sogyo’ers kunnen zich aanmelden via een mail naar marketing@sogyo.nl

Ben je geen Sogyo’er, maar heb je wel interesse om deze, of een andere, sessie bij te wonen, mail dan even naar Anneke van Beek avbeek@sogyo.nl

Written byGeschreven door Rick | Tags: , , , , |

No Comments - Leave a comment »

Mar
08
2009
0

David vs. GoliathDavid vs. Goliath

In this post I will give my answer to the question where innovation takes place: in big or in smaller (ict-) companies? An all-or-nothing answer doesn’t seem feasible to me, because we all know examples of big as well as smaller companies that are innovative. But I still think it might be interesting enough to write a blog post about (of course), because I think some differentiation can be made.In deze post geef ik mijn antwoord op de vraag waar de innovatie plaatsvindt: in grote of juist in kleine (ict-) bedrijven? Een alles-of-niets antwoord lijkt me niet haalbaar, want we kennen allemaal wel voorbeelden van zowel grote als kleine innovatieve bedrijven. Maar het is volgens mij toch wel interessant, want er is wel onderscheid te maken. read more… lees meer…

Written byGeschreven door Rick | Tags: , , , , , |

No Comments - Leave a comment »

Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes