14 november 2011

Open source UML modeling tools

Open source modeling tools - tot dusver

Er zijn de laatste jaren wel wat open source UML modeling tools verschenen. Sommige daarvan zijn cross platform (ArgoUML - in Java geschreven), sommige zijn platform specific (StarUML voor Windows, Umbrello voor Linux). Er zijn er ook die heel sterk gericht zijn op het maken van tekeningen, maar die features als XMI-import en -export ontbreken. Alle hebben ze 1 ding gemeen: ze lopen achter. Ofwel qua tool-features, ofwel qua UML versie. StarUML en ArgoUML, beide tools die wel wat te bieden hebben, zijn blijven hangen bij UML 1.4... ArgoUML is wel bezig met het inbouwen van UML2 support, maar dat is nog verre van af. En de huidige StarUML is nog geschreven in Delphi, maar er zouden initiatieven genomen zijn om de applicatie te herschrijven in Java. Alleen is het sinds die aankondiging heel stil geworden... Dan zijn er ook nog de "community editions" van commerciële modeling tools (zoals Visual Paradigm), maar die bieden gewoonlijk veel te weinig functionaliteit om bruikbaar te zijn. Code generatie en XMI-export en -import zijn uitgeschakeld, waardoor dit "veredelde tekentools" zijn geworden.

Enter Modelio

En toen was er de commerciële/open source tool! Een model dat wel vaker wordt toegepast met commerciële software (kijk b.v. naar OpenOffice vs. StarOffice) is dat de basisfunctionaliteit van de tool als open source software beschikbaar is en dat er daarnaast ook een commerciële variant is, met meer mogelijkheden, support en een prijskaartje. Zo is er ondertussen een modeling tool verschenen die dit model toepast: Modelio. Modelio is een modeling tool gebaseerd op het Eclipse platform, is met andere woorden geschreven in Java, gebruik makend van de rijke feature set van Eclipse RCP. In tegenstelling tot andere Eclipse gebaseerde (modeling) tools (Rational Modeler, Omondo) is Modelio niet alleen beschikbaar voor Windows, maar ook voor Linux. Een Mac-versie is vooralsnog niet beschikbaar...

Sommige open source modeling tools zien er nogal goedkoop, of zelfs lelijk uit. StarUML heeft hierop altijd al een uitzondering gevormd. Dit is een enorm complete tool die er bovendien nog goed uitziet ook. Ook Modelio is erin geslaagd om dit vooroordeel te doorbreken (daar heeft Eclipse wellicht veel mee te maken). Daarmee is de recentste versie (versie 2.0) een sterke verbetering tegenover zijn voorganger. De vorige versie was ook al op Eclipse gebaseerd, maar bevatte nog veel niet-Eclipse code, wat de user interface onevenwichtig en vaak zelfs lelijk maakte.

De versie met het prijskaartje is verkrijgbaar in verschillende edities, voor developers (Java, C++ of database), system architect of business architect. Daarnaast kan deze bundel worden aangevuld met plugins, al dan niet betalend. De open source versie echter is simpelweg een UML/BPMN modeling tool. Maar ook deze kan worden aangevuld met een aantal interessante plugins. In het rijtje van de open source plugins vind je onder andere volgende leuke dingen:

  • roundtrip engineering voor Java
  • XSD design
  • SoaML
  • WSDL design
  • SysML
  • TOGAF 9

UML 2 support

Over de tool-ervaring ga ik kort zijn. Die is meer dan gemiddeld. Vergeleken met tools die ik ken, moet ArgoUML zeker onderdoen. StarUML is ongeveer gelijkwaardig. En Visual Paradigm heeft hier en daar enkele leuke handigheidjes qua aligneren van modeling elementen, maar globaal gezien vind ik Modelio aangenamer. Vergeleken met de versie van Together ControlCenter die ik 10 jaar geleden leerde kennen, is Modelio ook een stevige concurrent. Ik weet alleen niet hoe Together er nu uitziet. Het tekenen van UML modellen is ligt dus duidelijk in dezelfde lijn als andere goede tools. Zelfs sequence diagrammen tekenen gaat heel vlot (heb ik ooit anders gezien...). Wat UML 2 betreft, worden trouwens enkel de meest gebruikte modellen ondersteund. Timing diagram wordt niet ondersteund, interaction overview diagram ook niet. Composite structure diagram is pas beschikbaar na installatie van de SoaML module.

Roundtrip engineering

Ik ga mij even beperken tot de Java plugin. Want die is al uitgebreid genoeg om bij te blijven stilstaan. Om die te gebruiken, moet je die eerst downloaden en onder de "mda store" plaatsen. Vervolgens moet je die - voor ieder project waar je die wil gebruiken - installeren en ten slotte ook activeren. Dat lijkt misschien omslachtig, maar dat is het eigenlijk niet. Zo kan je bij de creatie van een project al aangeven welke modules je wil gebruiken. Daarmee is die module voor dat project al direct geïnstalleerd en geactiveerd.

De roundtrip functionaliteiten zijn gefocusd op de classes en de class diagrams waarop deze classes voorkomen. Alle packages en classes die je creëert, kan je - als je dat expliciet aangeeft - exporteren naar Java code. Wat je daarvoor moet doen, is aangeven dat deze class een Java element is. Dan verschijnt er een Java logo in de rechter bovenhoek van de class. Als je dan een package selecteert en dan via "Java Designer" (context menu) kiest voor Generate, worden de Java classes gegenereerd op de plaats die in de configuratie is aangegeven. Default is dat onder de project folder, maar je kan voor elke project ook een aparte locatie kiezen (b.v. een aparte directory, die door version control wordt beheerd). Dit zijn stub-classes: de classes met de attribuut-definities en methods en constructors zonder body.

Alle wijzigingen die je daarna aan de source code uitvoert, kunnen probleemloos worden gereflecteerd in het model, maar niet automatisch (zoals dat bij Together ControlCenter wel het geval was). Selecteer de package die je wil refreshen en kies "update model from source if necessary" van de Java Designer context menu en magic happens...

Dat is voor eigen modellen en code. Maar stel dat je een library van een vendor moet gebruiken voor integratie... Dan wil je wel naar de classes in die library kunnen refereneren. Selecteer Reverse/Reverse Java Binaries van de Java Designer context menu. Vervolgens wordt een dialog getoond met heel de package hierarchie van de library en alle onderliggende classes. hier kan je de packages en classes selecteren die je zelf wil. Na "finish" worden de packages gecreëerd en de classes met hun attributen en method en constructor signatures en kan je met deze classes aan de slag in je modellen.

XMI

Modelio - ook de open source versie - ondersteunt XMI-export en import. In tegenstelling tot andere open source tools is Modelio niet blijven steken bij XMI 1.2. Modelio laat toe om XMI 2.1 te exporteren die compatibel is met UML 2.1.1, 2.2 of 2.3 of EMF (Eclipse).

Conclusie

Wie ondanks agile development toch nog af en toe ene modelletje maakt maar niet in de buidel wil tasten voor een tool zoals Enterprise Architect of Visual Paradigm, moet zeker eens naar Modelio kijken. De open source versie is beslist de moeite waard. Voor wie anderzijds het "modelleren" beperkt tot het schrijven van user stories, maar op het einde van de rit toch graag een fraai class diagram genereert a.h.v. de code, is Modelio ook het overwegen waard. En dat is misschien de stap om via model storming en roundtrip engineering je volgende project aan te vatten...

Links

De commerciële versie is te vinden op http://www.modeliosoft.com
De open source versie is te vinden op http://www.modelio.org
Plugins - zowel commerciële als open source - zijn te vinden op http://www.modeliosoft.com/modelio-store.html

23:13 Gepost door There's more to life than what you see through windows in Linux, Open source | Permalink | Commentaren (0) |  Facebook |

01 mei 2010

Guitar Pro 6: 3 maal WOW!

Enkele weken geleden zat er in mijn mailbox een bericht van Arobas Music. Dat zijn de makers van Guitar Pro, de software die ik gebruik voor het uitschrijven van mijn muziekstukken. Het is ondertussen ongeveer 5 jaar geleden dat versie 5 van Guitar Pro werd uitgebracht. Deze versie kwam met de zogenaamde "realistic sound engine" (RSE), die de klank van echte gitaren en echte versterkers en effecten ging nabootsen, in plaats van de zwakke midi-soundjes die door de meeste soundcards worden geproduceerd.

Met dit mailtje werd Guitar Pro 6 aangekondigd en kreeg ik tegelijk de mogelijkheid om aan een voordelige prijs een upgrade te doen. Omdat ik Guitar Pro al sinds versie 2.16 gebruik (pakweg sinds 1998), was ik direct benieuwd wat Arobas aan nieuwigheden in deze nieuwe versie had gestopt. En zoals de titel al aangeeft: dat is 3 keer WOW!

WOW 1: Compleet vernieuwde user interface

Het eerste wat opvalt, is dat er heel veel effort is gestoken om de user interface te herwerken. Daar waar de vorige user interface eerder een sobere indruk naliet, met misschien een beetje te veel knoppenbalken, wordt in versie 6 volop de kaart getrokken van de look & feel die ook bij recording software à la Cubase en ProTools enzo.

Het ziet er allemaal heel slick uit. Er is duidelijk over nagedacht (en rondgekeken naar andere pakketten). Enkele voorbeeldjes.

 


Gitaarinstellingen:

guitar settings

 


Muziekpalet:

music palette

 


Verschillende partijen in tabs:

tabbed view

 


Tracks, instrumentinstellingen en bars:

instruments and bars2


WOW 2: vernieuwde RSE

De realistic sound engine is aan zijn 2de versie toe. Hier valt op dat er heel wat meer mogelijkheden zijn om de effecten (ja, niet alleen gitaat- en versterker-klanken, maar ook effecten zoals Lesley enzo) in te stellen. Resultaat: realistischer playback. Het klinkt niet alleen verbluffend, het ziet er ook verschrikkelijk slick uit! Net zoals de echte stomp boxes (zoals de Tube Screamer of the MXR Phase 90) kan je echt de potentiometers van de pedalen te tweaken. Ook hier enkele voorbeeldjes.


Versterkers:

amps


Delay en reverb:

fx1


Filters (wahwah's etc.):

fx2


Pitch shifters:

fx3


Compressors:

fx4


Tremelo, vibrato:

fx5


Chorus, flanger, phaser:

fx6


Overdrives & distortions:

fx7


WOW 3: platformen

Versie 5 was sowieso al beschikbaar voor Windows en voor Mac OSX, maar niet voor Linux. Er was echter al een hele tijd vraag naar een Linux versie, maar die boot werd systematisch afgehouden. Als alternatief voor Linux werd altijd WINE aangehaald. Uiteindelijk zijn ze duidelijk gezwicht voor de vraag: Guitar Pro 6 is nu ook beschikbaar voor Linux! Ze hebben zich wel enkel gefocusd op de meest populaire distro: Ubuntu. Of beter: Debian-achtige distro's. Arobas biedt Guitar Pro 6 namelijk aan als .deb package. Maar Arobas garandeert enkel dat Guitar Pro werkt op Ubuntu.

Het feit dat nu 3 platformen kunnen worden ondersteund, betekent dat zij voor hun bouw hebben gekozen voor QT4, het GUI platform dat zijn oorsprong vindt bij KDE, dat ook wordt gebruikt voor applicaties als Google Earth. Dat is trouwens te merken bij bepaalde dialogs die de titel Qt-subapplication hebben... Maar dat zal wel een schoonheidsfoutje zijn.

Bedenkingen

Processor slokop

Als je eenmaal door de eye en ear candy bent, is het eerste wat opvalt dat deze nieuwe Guitar Pro versie, alleszins onder Linux, een gigantische slokop is van CPU resources. Als je een keer een track beluistert met de RSE geactiveerd, stel je vast dat de CPU vlotjes tegen de 99% aanloopt... althans zonder aparte soundcard. RSE: het klinkt mooi, maar de CPU heeft er last mee. Maar jaamer genoeg maakt het geen verschil als ik mijn PCMCIA soundcard in mijn laptop steek. Die CPU blijft pieken. Als ik lmijn CPU-verbruik (en bijgevolg ook mijn baterij) onder controle wil houden, zal ik RSE - zeker in de trein - moeten uitschakelen.

Te sterke focus op playback

Al de fraaie eye en ear-candy doen haast vergeten wat de hoofdbedoeling is van Guitar Pro: muziekpartijen uitschrijven, met sterke focus op gitaarpartijen, volgens de gitaarnotatie (tablatuur). En dat kan dan op verschillende manieren gebruikt worden:

  • echt je eigen muziekpartije uitschrijven (zo gebruik ik het)
  • als studiemiddel, voor gitaarlessen
  • om nummers van andere artiesten in te oefenen (MySongbook.com mag dan alleen nog royalty free muziek bevatten, het internet staat nog vol gitaarpartijen van bekende nummers).

Hoe je het ook gebruikt, het is altijd leuk om tge horen dat een distortion gitaar klinkt als en distortion gitaar, maar er zijn grenzen. Je gaat nooit een nummer helemaal uitwerken in Guitar Pro om het dan zo rechtstreeks op een CD te zetten. Dat heeft geen zin. Het blijft trouwens toch nog een beetje te kunstmatig. Dus waarom moet je dan in staat zijn om elke parameter van de ProCo Rat distortion of de MXR Phase 90 te kunnen tweaken en zo realistisch mogelijk kunnen weergeven? Dit is geen recording software, dat was nooit de bedoeling, en moest dat de evolutie zijn, dan zou ik het er nooit voor gebruiken.

Linux-integratie

Linux-versie. Da's mooi. Nu moet ik niete meer naar Windows boot'en, alleen maar voor Guitar Pro. Dat was eigenlijk het enige programma dat ik nog onder Windows gebruikte. Voor al het overige - en zeker voor wat muziek betreft - was ik al overgeschakeld naar Linux. Dan wil ik dit programma ook geïntegreerd kunnen gebruiken met de overige audio-software die ik op Linux gebruik, in de eerste plaats Ardour als digital audio workstation (recording studio). De manier van integreren op Linux is via JACK, waarbij je virtuele patch-kabeltjes steekt van de output van de ene software naar de input van de andere. Maar... Guitar Pro biedt geen JACK-integratie. Da's heel jammer. Dat betekent dat ik voor mijn backing tracks gebonden blijf aan ofwel MIDI-export (die ik dan afspeel in Rosegarden, om zo op te nemen in Ardour) ofwel Wave-export (die ik dan zo kan importeren in Ardour). Dat zal een beetje afhangen van de rijkheid van de wave table van Guitar Pro. Voor de drumpartijen blijf ik echter bij Hydrogen.

Enige betalende software, ten midden van gratis audio software

Da's misschien ook een beetje raar... Ten midden van al die free en open source software die ik gebruik voor mijn muziek blijft er 1 betalen pakket, dat ik ook onder Linux gebruik. Da's een beetje een vreemde logica. Ik weet het. Maar uiteindelijk is dit een programma dat ik al gebruik sinds versie 2.16 (da's al sinds 1998, ofzo). En ook al doen ze bij TuxGuitar echt wel moeite om een waardig alternatief te bieden voor Guitar Pro onder Linux, toch blijft het mijlenver achterop hinken. Een programma dat al sinds 1997 ofzo in evolutie is, kan je niet zomaar in enkele jaren tijd inhalen, laat staan de loef afsteken. Bovendien heb ik met TuxGuitar al problemen ondervinden op een laptop met een azerty-toetsenbord. Ik heb dit al meermaals gemeld aan de Argentijnse ontwikkelaar, maar die shceen het probleem aanvankelijk niet ernstig te nemen. Ondertussen hebben er al meer personen hetzelfde probleem gemeld. Maar een oplossing blijft voorlopig uit (oorzaak nog niet gevonden).

Eindconclusie

Guitar Pro is echt wel een fraai pakket. Het ziet er goed uit, de user interface is intuïtief en de vernieuwde RSE klinkt ook echt wel goed. Als je wat wil experimenteren met geluidjes, dan kan je uren plezier beleven aan het draaien van de knopjes van de verschillende effecten.

Wil je simpelweg een gitaarpartij uitschrijven om als partituur te kunnen afprinten, dan blijft ook dat mogelijk. Het programma is gewoon een heel stuk completer geworden, zonder afbreuk te doen aan de bestaande functionaliteit.

De RSE mag misschien heel wat resource vreten (maar LADSPA effecten, en dan zeker JAMin) doen dat ook. En voor het ontbreken van JACK-integratie op Linux is nog altijd een alternatief mogelijk.En ja, ten midden van een zee van open source software is dit een klein betalend eilandje... Maar dan ook een heel kleintje: mijn upgrade kostte me geen 30 EUR. Een full version (download) kost nog geen 60 EUR. Je moet er dus geen lichaamsdeel voor opofferen of enkele maanden op water en brood leven...

De nadelen (laat me het eerder "aandachtspunten" noemen) wegen echter niet op voor de voordelen van dit programma. Guitar Pro 6: voor mij is het een gigantische stap vooruit!

Never change a winning team...

Meer info: www.guitarpro.com

19:13 Gepost door There's more to life than what you see through windows in Muziek | Permalink | Commentaren (3) | Tags: linux, guitar pro 6 |  Facebook |

26 april 2010

Didier doet het weer...

Deze vooravond - Leterme II was nog niet ontbonden door de koning - was mijn verbazing groot toen ik op de site van De Standaard las dat Didier Reynders naar de koning was geweest om zijn opdracht als verkenner terug te geven. Hij had die opdracht nog maar zaterdag ochtend ontvangen en had enkele verkennende gesprekken gehad met de verschillende partijen.

Maar Didier had wellicht moeten vaststellen dat hij in eigen rangen te veel tegenwind kreeg. Bovendien is hij niet echt een persoon die gaat onderhandelen om een oplossing te bereiken. Dus goed wetende dat hij toch geen oplossing zou kunnen bereiken binnen het vooropgestelde kader, liet hij liever iemand anders op zijn gezicht gaan en dan nog het liefst van al zijn premier...

Ondertussen is gebleken dat Leterme ook koos om niet op zijn gezicht te gaan al onderhandelend, maar liever - nog maar eens - de handdoek in de ring gooide. Het is volgens mij de hoogste tijd dat de liberalen uit de regering verdwijnen, aan beide kanten van de taalgrens. Dus zowel MR als VLD. VLD had duidelijk al geen vertrouwen in de situatie, want blijkbaar is deze morgen aan het licht gekomen dat ze al reclamepanelen voor verkiezingsaffiches hadden gehuurd. En MR, die maken er al meer dan 10 jaar een boeltje van, Reynders op kop. In al die jaren dat Reynders minister van financiën is, is de situatie op zijn departement afgegleden in totale chaos. En dan heb ik nog met geen woord gerept over zijn kartelpartner FDF.  Die hebben natuurlijk ook alle baat bij de onwettige situatie waarin BHV nu verkeert: op deze manier kunnen zij opnieuw opkomen in Vlaamse gemeenten.

Ik zeg niet dat een rooms-rode regering zoveel beter zal zijn, maar zoals de situatie er nu voorstaat, zijn nieuwe verkiezingen - waarop de VLD zo hevig schijnt aan te sturen - echt geen goede zaak. M.i. is het beter om deze regeerperiode uit te doen met een totaal ander coalitie, zonder liberalen. Dat alleen al zou BHV een beetje meer kans op slagen kunnen geven. Want na al wat er de voorbije weken gebeurd is, hebben de franstaligen ondertussen wellicht begrepen dat het de Vlamingen menens is met BHV. Alleen wil een partij als FDF alsnog eisen gaan stellen. Vorige week heb ik mij afgevraagd wat Jean-Luc Dehaene eigenlijk al die maanden had uitgestoken. Maar wellicht had hij alleen gepraat met mensen waarmee echt te praten viel. En daar is Maingain dus niet bij.

Ik hoop alleen dat de koning Verhofstadt niet opnieuw van stal haalt; want dan wordt BHV wellicht nog 10 jaar vooruit geschoven.

22:05 Gepost door There's more to life than what you see through windows in Actualiteit | Permalink | Commentaren (0) | Tags: leterme, bhv, reynders, maingain |  Facebook |

10 februari 2010

New fail!

Misschien ken je de failblog al, een blog waarop foute, maar tegelijk ook grappige situaties worden afgebeeld, hetzij van foto's, hetzij van advertenties, of documenten. Heb je er nog nooit van gehoord? Dan moet je zeker eens naar www.failblog.org surfen.

Anyway, wat ik vandaag op de site van het VRT-nieuws zag (www.deredactie.be), zou niet misstaan op de failblog. Kijk maar:

News fail

19:00 Gepost door There's more to life than what you see through windows in Actualiteit | Permalink | Commentaren (1) | Tags: deredactie be, fail |  Facebook |

25 januari 2010

Eindelijk nog eens een bericht...

Het is ondertussen al weer van tijdens Devoxx geleden dat hier nog een schrijfsel van mij werd gepubliceerd. Geen tijd, andere bezigheden, ... Excuses genoeg. Het was zelfs zo erg, dat ik 2 weken geleden van Skynet een mail kreeg met de vraag waarom ik gestopt was met bloggen... Ik was helemaal niet gestopt! Afin, toch niet definitief. Maar nu is het dus de hoogste tijd om nog eens een update te geven over... die andere bezigheden!

Sinds enkele maanden zit ik elke ochtend en avond tijdens mijn treinrit van en naar het werk met mijn laptopje op schoot: een iets ouder maar super-praktisch modelletje van Dell (D410, voor de kenners), niet te groot (12" scherm) en toch stukken beter dan een netbook. Het toestel is misschien niet zo zuinig als een netbook (die Atom processoren zijn echt gemaakt om zuinig te zijn; ik zit nog met een gewone Centrino), maar je ziet het gewoon aan het uiterlijk: die is een toestel dat geen bezwaar heeft om dagelijk over en weer gesleurd te worden.

De hoofdactiviteit van dat laptopje is muziek. Nee, dit is geen veredelde MP3-speler. Ik gebruik deze laptop om te componeren. Ondertussen ben ik al mijn 3de nummer aan het uitschrijven. Dat doe ik nog altijd met mijn vertrouwde GuitarPro, een van de weinige redenen waarom ik die laptop toch nog moeten boot'en in Windows XP...

Afgelopen weekend ben ik eindelijk kunnen beginnen aan de opnames van het eerste nummer, eentje van 13 minuten, jawel! Alle nummers zijn trouwens instrumentaal; wie mij wil horen zingen, moet zorgen dat hij/zij toevallig in de badkamer geraakt als ik sta te douchen :-p De stijl is een smeltkroes van al wat ik kan opvangen, met als overheersende invloed: Metal. Inspiratie voor dit lang nummer werd gehaald bij muziek van Metallica (uiteraard), Arch Enemy en In Flames (om hun melodieuze en harmonieuze gitaarpartijen), Hagard en Epica (om hun klassieke arrangementen en invloeden, tempoveranderingen, en dergelijke).

Dat opnemen heeft ok wat op zich laten wachten... Aanvankelijk had ik alle drumpartijen uitgeschreven in GuitarPro. Het probleem daarmee was echter dat dit resulteerde in 1 track met alle druminstrumenten in, waarvan het onmogelijk was om deze op een deftige manier te laten uitkomen in de mix. Het klonk veel te plat. Het was wel mogelijk om de cymbalen en de basdrum te boosten via de equalizer, maar de snare kwam absoluut niet door. Dan zat er niks anders op dan die drumpartij te gaan uitschrijven in Hydrogen, waarbij echte drumsamples kunnen worden gebruikt. Het resultaat: een drum die super-vet klinkt, zelf zonder dat ik 'm moet boosten. Het heeft wat geduurd vooraleer die drumpartij af was en bovendien mocht ik kennis maken met de fysieke grenzen van Hydrogen: blijkbaar kan je maar 396 maten ingeven. Hierdoor viel de finale van mijn nummer er dus af en moest ik die met truuken zien op te nemen...

Ondertussen is ook dat in orde en heb ik de backing track van dat nummer volledig opgenomen. De eerste gitaarpartij is nu in volle opname: de ritmegitaar. Die opname is ongeveer halfweg, denk ik. Daarna volgen nog: 1 alternate ritmegitaarpartij, 1 clean finger picking elektrische gitaarpartij, 1 akoestische gitaarpartij en minstens 1 lead gitaarpartij. Da's dus nog een hele boterham. Maar ik heb moed! Het heeft wel een poos geduurd vooraleer ik iets op een spoor opgenomen kreeg... Gesukkel met de AlsaMixer, om de juiste input geregeld te krijgen... Maar nu is alles gereed om de ene track na de andere vlot op te nemen. Hoop ik.

Na het opnemen volgt het masteren: de verschillende tracks volgens een evenwichtige verdeling zien te mixen, van effecten voorzien, boosten waar nodig (compressie, limiter). Brian's Bedroom is het een ideale bron van informatie!

En als dat allemaal gedaan is, kan ik het publiceren. Op Jamendo, uiteraard. Van zodra het zover is, lees je hier alles details.

Maar eerst weer even onderduiken, want ik heb dringend nog wat opnames te doen...

16:55 Gepost door There's more to life than what you see through windows in Muziek | Permalink | Commentaren (0) |  Facebook |

20 november 2009

Devoxx 2009 - Day 4: CometD

Yesterday i attended a talk on CometD. The talk started with a littl soccer using SunSPOT's to show the capabilites of CometD on the server side.

Apart from that, there's not much to tell about the talk. It was short. It was not really new. But there was 1 thing to mention: the guy who did the talk gave a very clear but rather disgusting demo to show the difference between polling (AJAX) and long polling (Comet) by swallowing lots and lots of M&M's! He wasn't the most skinny person on this planet and so breathing was already audible during his talking. But after the M&M stunt he was almost breathless.

Yes, polling definitely was really resource consuming... for him!

09:41 Gepost door There's more to life than what you see through windows in Javapolis | Permalink | Commentaren (0) | Tags: devoxx09, cometd |  Facebook |

19 november 2009

Devoxx 2009 - Day 4: keynotes

Today's keynotes were not the technical kind of eye candy stuff, but nevertheless really interesting and absolutely necessary.

Ivar Jacobson

The first talk was by Ivar Jacobson, co-founding father of UML (1 of the 3 amigoes). He started with the influence of fashions in IT. About 10 years ago everyone started doing UML. 5 to 7 years ago CMMI was the way to go (especially for managers). And then, 3 years ago, there was eXtreme Programming. And now hardly anyone talks about XP, but Scrum instead. He didn't mention this, but also Scrum is getting out of fashion: now there is Kanban...

Then there is the gap between methodologists, industry and academics. Especially industry and academics don't really like eachother: academics in the eyes of the industry have never delivered something useful and the other way round, the industry doesn't understand what the academics are doing.

As far is methodologies are concerned: there are some many methodologies in the world. Every company has its own methodology. And they all steal from each other. They pick parts from each other, which results in a soup of methodologies... Methodology nowadays is very much a religious discussion: you either believe in and follow the entire methodology (e.g. Scrum, XP, RUP or whatever). But what they basically do, is pick some ideas here and there, add some stuff of yourself and then write a book...

Knowing all these problems, there is a big need for 1 theory of methodologies, away from fashion. We need to refound software engineering based on solid theory, proven principles and best practices. In other words: no more processes, but practices instead. So not RUP, but the practices of RUP. It should deal with both technology and people. And finally it should support extension in face of changing requirements and technology.

This resulted in the creation of SEMAT: Software Engineering Method And Theory. This organization is joined by a number of people of all involved sectors: industry, methodologists, academics.

These are the names of people involved in SEMAT:

Pekka Abrahamsson, Scott Ambler, Jean Bézivin, Dines Bjorner, Barry Boehm, Alistair Coburn, Larry Constantine, Erich Gamma, Tom Gilb, Ellen Gottesdiener, Brian Henderson-Sellers, Watts Humphrey, Martin Griss, Ivar Jacobson, Philippe Kruchten, Stephen Mellor, Bertrand Meyer, James Odell, Meilir Page-Jones, Ken Schwaber, Alec Sharp, Richard Soley.

Note the presence of the following people

  • Ken Schwaber, the man behind Scrum
  • Alistair Cockburn, the author of the book Writing effective use cases
  • Scott Ambler, the man behind Agile UP, Agile modeling and stuff
  • Erich Gamma, one of the Gang of Four (design patterns), developer of JUnit, Eclipse and Jazz
  • Ivar Jacobson (off course)

All these people know what the problem is, but... they all have a solution to it. Their solution. But this group is not only about finding a solution, a consensus, but also about community, Get everybody's best practices work together, not new practices or "best" practices.

The basic idea of SEMAT is based on a kernel. This kernel is sort of a language to define practices:

  • things to to
  • things to produce
  • patterns to apply
  • competences to apply

The kernel should be used to harvest the best practices, see how people use them and for what. Then some practices may be replaced with other practices that may fit better.

Imagine how organizations adopted methodologies like Scrum: many threw away the good practices along with the bad. That's not smart... It is better to gradually introduce practices that work.

On the academic side, people are rewarded for the volume of paper they produce: the more papers they write the more important they are... And students don't really learn what is really useful for the industry. Therefore they should study the kernel and a set of good practices.

Finally, methodologists write book. People buy them, but don't read them... Authors travel around the world to tell what's in the books ;-) Instead of writing books on new methods, they should stand on top of the kernel and its core practices and add their own.

More information: www.semat.org

Robert C. Martin (Uncle Bob)

The keynote of uncle Bob was very animated. His basic idea was that developers still face the same problems as 40 or so years ago, no matter how technology has evolved. Developers and developers still hate eachother: developers still deliver their software too late and management keeps promising unrealistic things.

We should ask ourselves: what is software development? Do we consider ourselves as professionals? Software development should be about craftsmanship. We should be proud what we do and on how we do it. We should deliver good work. But the biggest issue to face is that we should find out what being professional means. And that means in the first place learning to say "No"! Not "I'll try". Professionals, like doctors and lawyers, stand up for their principles. They don't cross that line, they don't compromise. Developers see themselves too much as blue colar workers, being paid per hour.

Another problem is the tendency to promote good developers to management functions. That seems to be the only way to have a carreer. Many companies don't offer a technical specialist carreer path.

As a reaction on this, as a call for action, the manifesto for software craftsmanship was defined. It looks a lot like the agile manifesto and it builds on the fundamentals of the agile manifesto but goes one step further. The aim: have a productive partnership with the management (in order to get rid of the mutual hate).

The manifesto defines a number of ethics and practices, of which a few are mentioned here:

  • do no harm!
    • not to your customer
    • not to your company
    • not to your colleagues
  • clean code
  • to go fast, go well (if you do something good from the first time, you win time)
  • test driven development
  • 100% test coverage
    OK, really 100% code coverage in unit tests is impossible, but if your unit tests guarantee 80% code coverage, this means that there is 20% of your code of which you're not sure if it is working or not!
  • KNOW it works (by code coverage)
  • Green bar = shippable
    QA should find NOTHING! If they do, the developers should ask themselves what happened and act upon it!
  • QA = specification, not verification.
    This is the definition of "Done", not a huge document that should be tested manually after the development is done.

Uncle Bob's talk was sometimes confronting, but the message was clear: become professional, learn to say "No", don't compromise on your principles and deliver quality!

More information: manifesto.softwarecraftsmanship.org

17:03 Gepost door There's more to life than what you see through windows in Javapolis | Permalink | Commentaren (0) | Tags: devoxx09, keynote |  Facebook |

1 2 3 4 5 6 7 8 Volgende