Flowable web based designer

Flowable is a Java BPM tool that was forked from Activiti (owned by Alfresco). They have a designer tool for Eclipse, they also have a new designer tool that uses a web interface. There is no ready made documentation on how to install it, these are the steps you can follow.

There is a post here that provides the basic info.
You have to have mysql installed, create a user ‘flowable’@’localhost’, pw ‘flowable’, that owns a database ‘flowable’.
You checkout the project from here and you install it. Then in the module flowable-ui-idm you run start-idm.sh and in the module flowable-ui-modeler you run start-modeler.sh.
You login to idm on http://192.168.0.11:8080/flowable-idm and on modeler via http://192.168.0.11:8888/flowable-modeler where you replace the ip number by the ip number of your computer. It doesn’t seem to work with “localhost” or “127.0.0.1”.

You log in to flowable with admin/test.

Het meisje dat groen was.

Er was eens een meisje, een heel gewoon meisje, met een heel gewoon zusje, heel gewone ouders, een wat bijzondere hond en een wat vreemde kat. Ze ging net naar de basisschool, ze had van haar zusje gehoord dat de basisschool heel leuk was, en dat was ook zo. Alleen, ze was de dagen voordat ze naar school ging, nogal zenuwachtig geweest. Gespannen. Sliep niet. At niet. Want ze was groen. Niet een beetje groen, of groenig, maar gewoon helemaal groen. Als gras. Ze had geleerd dat dat niet bijzonder was, want hoewel ze verder nooit iemand had gezien die groen was, ook niet een beetje groen, merkte ze nooit dat haar ouders of haar zusje aandacht besteedden aan het feit dat ze groen was. Ook opa en oma, die vaak op de thee kwamen, leken het niet te merken, en knuffelden haar, en brachten altijd iets mee voor haar en voor haar zusje. Van de kinderen op het pleintje, een eindje verderop in de straat, was er geeneentje groen, maar ze speelde tikkertje en verstoppertje met ze, ze kreeg een keer stiekum een kusje van het buurjongetje van de overkant, toen werden haar wangetjes even rood.

Maar nu naar school. Met allemaal vreemde kinderen, en oudere kinderen, wie weet wat die zouden denken. Want ze was groen. Niet een beetje groen, maar helemaal groen, als gras.

Ze wandelde de straat uit, hand in hand met haar zusje, allebei een rugtasje, die van haar was rood, die van haar zusje paars. Toen ze op het schoolplein kwamen, rende haar zusje weg naar haar vriendinnetjes, en stond ze alleen op het schoolplein. Er stonden meer kindertjes alleen, een beetje te kijken, maar ze durfde niet zomaar bij een groepje te gaan staan. Een vlinder vloog voor haar langs, een hele mooie, zwart met oranje, en lange voelsprieten. Ze keek er een poosje naar. Terwijl de oudere kinderen allemaal aan het spelen waren of in groepjes stonden te praten. Toen ging de bel.

Een juf stond bij de schooldeur, terwijl de kinderen allemaal naar binnen liepen. De juf wenkte haar, ze liep naar de juf toe. Ze ging met de juf en wat andere nieuwe kinderen naar binnen, naar een lokaal, waar al veel kinderen op stoeltjes aan tafeltjes zaten. Ze hing haar jasje aan de kapstok, en ging op een stoeltje zitten, aan een tafeltje, waarop een boekje lag, en een nieuw schriftje, en een potlood. Naast haar zat een meisje met een lange vlecht. Ze glimlachten naar elkaar. Dat meisje was niet groen. Zij was groen, als enige in de klas.

Die dag ging goed, en het hele jaar ging goed. Ze leerde snel lezen, en rekenen, en timmeren, en breien, ze speelde met de kinderen uit de klas, ze mocht trakteren als ze jarig was (mandarijntjes), en het leukst vond ze gymnastiek. Behalve rekenen dan, dat was nog leuker. En niemand leek te merken dat ze groen was, helemaal groen. Als gras.

Toen ze twaalf was, ging ze naar het gymnasium. Ze was daar wel zenuwachtig voor. Sliep niet zo goed. At niet. Want wie weet wat de kinderen op het gymnasium zouden denken. Dat ze groen was. Niet een beetje groen, maar helemaal groen. Als gras.

Het ging heel goed op het gymnasium. Ze leerde Latijn, en wiskunde, en natuurkunde, ze haalde negens en tienen. Ze kreeg nieuwe vriendinnetjes, en wat vriendjes, ze kwam in het schoolparlement, ze werd toen ze in de vierde zat voorzitter van de kunstcommissie, en ze won de debat-wedstrijd in de vijfde. Niemand leek te merken dat ze groen was. Niet een beetje groenig, maar gewoon helemaal groen. Als gras.

Ze deed eindexamen, haalde een zeven voor Latijn, tienen voor wiskunde en natuurkunde, en een zes min voor Grieks. Ze ging studeren. Wiskunde, want dat vond ze het leukste. Ze was wel wat zenuwachtig, toen ze voor het eerst op de universiteit naar college ging. Want wat zouden die studenten zeggen, dat ze groen was. Want niemand van de andere studenten was groen.

Ze kreeg vriendinnen op college, en een vriendje. Ze werd voorzitter van de studievereniging, ze kwam in het tweede jaar zelfs in de faculteitsraad. Dat kon toen nog, een student in de faculteitsraad. Ze volgde colleges calculus, en getaltheorie, en topologie, en mathematische fysica, en het was allemaal even leuk. En niemand die er erg in leek te hebben dat ze groen was. Niet een beetje groen, maar helemaal groen. Als gras.

Ze studeerde na vijf jaar af, net niet cum laude. Ze vond gelijk een baan, in de IT. Toen ze voor het eerst naar haar werk ging, was ze wel wat zenuwachtig. Want wat zouden ze zeggen?

Het werk was leuk. Ze programmeerde, kreeg al snel een eigen project met een eigen team, maakte promotie, en werkte hard. Ze deed een beetje aan politiek, in de buurt, ze schreef een column in een blad, en ze voelde zich prima. Soms paste ze op op het kind van de buren, ze ging naar feestjes, ze had weer een vriendje, het was best wel serieus. En niemand die het wat uitmaakte dat ze groen was.

Totdat.

Ze las de krant online, ze las een berichtje over de gemeenteraad in de stad waar ze woonde. De gemeenteraad had een verklaring uitgebracht, en daarin stond: “Er zijn mensen die groen zijn. De gemeenteraad heeft een beleid van inclusiviteit, en we vinden dat we mensen die groen zijn niet mogen discrimineren, we moeten inclusief zijn. Dus vanaf nu zullen stukken vanuit de gemeente en van uit de gemeentelijke diensten niet meer als aanhef hebben ‘beste burger’ maar ‘beste burger, ook groene burger’.” Ze moest het nog een keer lezen om het te begrijpen. Het stond er echt. Ze zou niet meer gediscrimineerd worden in officiële stukken van de gemeente. Maar ze was nog nooit gediscrimineerd.

Een week later was er een berichtje over de spoorwegen. In navolging van de gemeente hadden die een nieuw beleid over het aanspreken van reizigers op de perrons. Voortaan zou er niet meer worden omgeroepen “dames en heren”, maar zouden de luidsprekers zeggen “dames en heren van welke kleur dan ook”. Met de toelichting dat dat was om groene mensen niet voor het hoofd te stoten.

Die avond lag ze in haar bed zachtjes te huilen. Wat had ze fout gedaan?

Het was een jaar later dat de kranten berichtten dat in het parlement een wetsvoorstel was gedaan, om artikel 1 van de grondwet aan te passen. Dat artikel bepaalde dat discriminatie strafbaar was, maar er zou aan toegevoegd worden dat ook discriminatie van groene mensen strafbaar was. Ze fronste haar wenkbrauwen, las het nog eens, het stond er echt. Een traan welde op in haar rechter oog.

Op het werk de volgende dag vroegen collega’s wat ze ervan vond, dat ze nu niet meer gediscrimineerd mocht worden. Ze negeerde de collega’s. In de sportschool vroeg de trainer wat ze vond van het wetsvoorstel. Ze nam een abonnement bij een andere sportschool.

Twee maanden later werd het wetsvoorstel aangenomen en was in de grondwet in artikel 1 opgenomen dat niet alleen discriminatie strafbaar was, maar ook discriminatie van groene mensen. Alle kranten meldden het in grote koppen, alle politici twitterden dat het een aard had, over dat nu ook groene mensen niet meer gediscrimineerd mochten worden. Alleen die rare blonde populist twitterde “maar discriminatie was toch al verboden?”.

Vriendinnen vroegen haar of ze nu niet blij was, met het nieuwe grondwetsartikel. Ze negeerde haar vriendinnen. Ze kreeg mailtjes van kennissen, van verre vriendinnen, over het nieuwe grondwetsartikel. Ze zou nu niet meer gediscrimineerd kunnen worden. Ze verwijderde hun email adressen.

Die avond lag ze in bed te huilen. Ze viel pas tegen de ochtend in slaap. De volgende ochtend verscheen ze niet op haar werk, en de dagen erna ook niet. Ze werd eigenlijk helemaal nooit meer gezien.

Jaren gingen voorbij, iedereen was gelukkig met het nieuwe artikel 1 van de grondwet, en het leven ging verder. Toen vond iemand uit wat er met het meisje was gebeurd. Wat ze had gedaan. De kranten stonden er vol van, het land was in rouw, de vlaggen hingen half stok.

Alleen heeft niemand ooit begrepen waarom ze het had gedaan.

Het Project Startup Hackathon

Je start een nieuw project om systeem X te bouwen. Je gaat dat project 100% agile doen. Dat houdt in

  • niet vergaderen
  • multidisciplinair team met ook gebruikers, klanten, etc
  • continuous delivery
  • het team is in charge
  • het team heeft mandaat

Je begint dus met een kick-off meeting met alle betrokkenen en je trekt daar een ochtend voor uit. Na die kick-off meeting gaan de teamleden aan de slag, ze plannen vergaderingen, ze trekken zich terug in hun ivoren torentje, ze gaan verder met hun dagelijks werk dat niet kan blijven liggen, ze plannen “contactmomenten”. En voordat er ook maar iets is geproduceerd, heb je 80 mens-uur verspijkerd aan je project. Dat kan ook anders.

Als je wilt dat mensen in hecht verband samenwerken, moet je ze dat vanaf het begin van het project laten doen. Als je zo snel mogelijk precies wilt weten wat er hoe wanneer gemaakt moet worden, moet je ze gelijk laten beginnen met bouwen. Een vliegende start van je project bereik je met een Project Startup Hackathon. En dat werkt als volgt.

Je zorgt voor een projectruimte voor een dag waar alle betrokkenen in passen. Je nodigt alle betrokkenen voor die dag uit:

  • gebruikers
  • klanten
  • ontwerpers
  • programmeurs
  • beheerders
  • een manager
  • een verkoper
  • een boekhouder
  • etc.

Je zorgt voor alle tools en voorwaarden die nodig zijn:

  • servers of cloud of zoiets
  • laptops, computers, telefoons
  • een netwerk, internet
  • git, jenkins, etc
  • whiteboards, monitors, etc
  • lunch
  • diner (beter geen pizza)

Om negen uur ‘s morgens sta je midden in de ruimte, iedereen heeft een werkplek of soort van werkplek, en zit op een stoel. En je zegt

“Wij zijn het team dat product X gaat maken. Als begin gaan we vandaag een werkende versie van product X maken. Een proof of concept. Ik laat aan jullie over wat dat is, welke aspecten van product X dat dan behelst. Maar om zes uur vanmiddag wil ik een demonstratie zien van iets wat werkt. Als je daarvoor iets nodig hebt, dan zorg ik daar onmiddellijk voor.”

Als dit je eerste Project Startup Hackathon is, dan heb je natuurlijk wel nagedacht welke mensen je erbij vraagt. Omdat er geen projectleider of team lead is, heb je een aantal mensen nodig die die rol vanzelf op zich nemen. Die durven roepen “jongens, niet discussiëren, als Rajesh zegt dat we het zo gaan doen, dan gaan we het zo doen”. Mensen met de diverse benodigde expertise, mensen die het vertrouwen van anderen hebben dat wat ze zeggen ook wel klopt. Immers, als je maar een dag hebt om iets op te leveren ga je geen tijd verspillen aan subtiele discussies of aan ruzies.

Je gaat er zelf niet de hele tijd bij zitten want je wil geen nodeloze sturing geven. Je bent bereikbaar om alles te regelen wat ze nodig hebben, zoals koffie, computers, tafels, lunch, mensen, de kat van de buren, of wat dan ook. Wat je hoopt dat die dag gebeurt is het volgende.

De aanwezige klanten (of gebruikers) vertellen kort wat product X moet behelzen. Er is vraag en antwoord. Ontwerpers vragen naar het hoe en wat. Programmeurs vallen in met specifieke vragen vanuit de techniek. Een systeembeheerder bemoeit zich ermee naar aanleiding van opmerkingen van programmeurs. De verkoper stuurt de discussie bij, met “dat kun je niet verkopen, maar als je het zus en zo doet wel” en de boekhouder maakt de groep attent op wat op termijn veel kost en wat niet. Of zoiets. Een programmeur roept “laten we beginnen”. Gebruikers/klanten en designers gaan paarsgewijs aan het werk, programmeurs beginnen met de plumbing van de applicatie, de systeempersoon (de “op” van de devops) maakt een git/jenkins/etc instance werkend. Dan implementeren de programmeurs stukjes van wat de ontwerpers inmiddels hebben gemaakt, de klant/gebruiker kijkt mee en becommentarieert. Gewoon, zoals het in een hackathon gaat.

Je doel met deze hackaton is niet het proof of concept product per se. Het doel is in het team duidelijk te laten worden wat er gemaakt moet worden. Het doel is ook het team effectief te laten samenwerken en al werkend te laten kennismaken. In de loop van de dag zitten alle betrokkenen samen te “hacken” aan het proof of concept waarbij ze (hopelijk) op een zeer directe manier met elkaar communiceren en elkaar leren kennen en waarderen. Tegelijkertijd, tijdens dat hacken en de discussies waarmee het gepaard gaat, krijgen ze samen een goed beeld van wat er in het uiteindelijke product X moet zitten. De ontwerper weet hoe dat ontworpen moet worden, de programmeur weet hoe het geprogrammeerd moet worden, de op weet welke infrastructuur nodig is, de klant/gebruiker heeft na deze dag de directe communicatie met de rest van het team en kan dus van dag tot dag meekijken, meehacken en invloed uitoefenen.

Als het allemaal gaat zoals we denken dat het zal gaan, dan is deze hackathon ook de eerste dag van je project en gaat eigenlijk het project gewoon verder als “extended hackathon”. Je team blijft in de hackathon-ruimte zitten (daar had je van te voren natuurlijk al rekening mee gehouden), ze blijven samen verantwoordelijk voor het hele project, jij blijft beschikbaar om te zorgen voor wat ze ook dan maar nodig hebben, en de snelheid blijft in het project.

Als je een volgend project een vliegende start wil geven met een Project Startup Hackathon, dan haal je een paar mensen uit je eerste team voor het nieuwe project. Dat nieuwe project krijgt dan een vlotte start, nog vlotter dan het eerste, en in je eerste project krijgen nieuwe (wellicht meer junior) mensen de kans hun eigen vliegende start te maken.

Moet zo’n Project Hackathon team Scrum gebruiken? Laat me het zo zeggen. Een user story is in het hackathon project datgene wat gebruiker A of klant B zegt en wat gelijk gebouwd wordt en gedeployed. De sprints zijn variabel, dat zijn de perioden tussen release N en release N+1 zoals de devs en de ops dat van moment tot moment deployen. Dat hoeft niet gepland te worden: iemand zegt “we doen nu een deployment” en als een programmeur zojuist iets heeft opgeleverd en gemerged, dan zit dat erbij. Een andere programmeur is nog bezig met een paar features, en die zitten morgen in de deploy, of volgende week, of volgende maand. Moet je daily standups doen? Nou, de hele dag werkt als een daily standup. Je zit immers de hele dag bij elkaar aan tafel samen te hacken en dingen te ontwerpen en overleggen. Heb je iets van Safea nodig, dan wacht je niet tot morgen negen uur, maar vraag je het haar nu gelijk. Dirk hoort het je vragen, en doet een suggestie aan jullie beiden, of doet zijn voordeel met wat hij zojuist hoort.

Eén ding is super belangrijk in een Project Startup Hackathon, en in een hackathon in het algemeen. De mensen in je team zijn allemaal verschillend. Niet alleen qua expertise en ervaring, maar ook als mens. De ene is extrovert en begint gelijk te praten, de ander is wat terughoudender. De ene neemt gelijk de leiding, de ander kijkt eerst de kat uit de boom. De ene werkt het liefst alleen met tools en frameworks die hij of zij goed kent, de ander heeft voor je het weet iets geheel nieuws geïnstalleerd en gaat daarmee aan de slag. Wat je dus nodig hebt is een wederzijds begrip en waardering tussen al die mensen. De extrovert moet aan de introvert vragen “hey, wat vind jij?” en de initiatiefnemer moet alles checken, verbaal of nonverbaal, bij de kat-uit-de-boom-kijkers. Te allen tijde moet alles wat het team doet of wat leden van het team doen, door het team als geheel worden gedragen, niet omdat ze overal in detail bij betrokken zijn, maar omdat ze weten dat degene die een bepaald besluit heeft genomen binnen het team degene is die van dat onderwerp het meest verstand heeft.

Met een Project Startup Hackathon heb je binnen een dag je team effectief en enthousiast aan de slag.

Waarom je geen foto’s van kinderen moet plaatsen op social media

Op Twitter zie ik regelmatig foto’s voorbij komen van kleine kinderen. Hele schattige foto’s van hele schattige kinderen. En daar heb ik dan mijn gedachten bij.

Ik heb tien jaar gewerkt voor het Internet Meldpunt Kinderporno, ik ben daar mede-oprichter van. In de periode dat ik voor het Meldpunt werkte heb ik veel geleerd over wat er zoal aan foto’s en video’s rondzwerft op het internet en over wat pedofielen verzamelen. In dat verband maak ik me ongerust over al die onschuldige kinderfoto’s op social media.

De gemiddelde pedofiel heeft op z’n pc een verzameling foto’s van kinderen in de voor hem interessante leeftijd, vaak peuters en kleuters. Dat zijn dan niet zomaar wat foto’s, het zijn er vaak miljoenen, die ze in de loop van de tijd verzameld hebben. Pedofielen wisselen al die foto’s uit: een foto die in één zo’n verzameling zit, zit luttele dagen later in alle verzamelingen over de hele wereld. Denk niet dat dat foto’s zijn die speciaal met een kinderpornografisch doel zijn gemaakt. Integendeel. Het zijn grotendeels gewone kinderfoto’s, in zwembroekjes op het strand, met de beentjes omhoog op de schommel, of gewoon wandelend in Frankrijk. Zo’n foto-verzameling is dan netjes gestructureerd: folders per kleur haar, leeftijd, kleur zwembroekje, etc.

En als jij wel ‘s een foto van je kinderen hebt gedeeld op social media, dan zit die foto nu in de juiste directory bij al die pedofielen. Groen zwembroekje, 5 jaar oud, blond haar, etc. Als je het geen probleem vindt dat allerlei pedofielen zitten te masturberen bij een fotootje van jouw kind, dan moet je vooral doorgaan met het posten van foto’s van je kinderen op social media. De kans dat zo’n masturberende pedofiel bij jou in het dorp woont en je kind toevallig een keer tegenkomt, is niet zo heel groot. De kans dat ‘ie je kind kidnapt in zo’n geval, zal ook wel niet zo heel groot zijn. Wat je je wel moet afvragen, is wat je kind over twintig jaar tegen je zegt, als hij of zij wordt geconfronteerd met kinderfoto’s die wereldwijd online rondzwerven. Misschien wil je kind later helemaal niet dat er kinderfoto’s circuleren, om wat voor reden dan ook. Maar die keuze heeft het niet, want jij hebt het al voor ze gedaan. En die foto’s zijn nooit meer weg te krijgen.

Nog één opmerking tot slot. Ik zie nog wel ‘s een tweet voorbij komen met de strekking dat de meeste pedofielen nette mensen zijn die kinderen geen kwaad doen. Ik ben daar niet zo van overtuigd. Het is niet zo heel gemakkelijk om een sexuele voorkeur je leven lang te negeren en te onderdrukken. En gelukkig heb ik niet zo heel veel enge foto’s en video’s gezien, indertijd. Ik kreeg ze binnen via meldingen, meestal hoefde ik niet te kijken maar stuurde ik ze door naar de politie. Van de filmpjes die ik wel heb gezien, heb ik nachtmerries gehad. Die waren erger dan wat een normaal mens kan bedenken. Voor mij is dat laatste een reden alles te doen om kinderen buiten zo’n netwerk te houden en dus ook buiten die fotoverzamelingen te houden.

Post geen foto’s van je kinderen op het internet.