Berichten met label News Item
Zen en de kunst van het software maken
Geplaatst door Richard de Zwart in social op februari 14, 2010
Deze week speelde er veel bij de klant waar ik nu zit. Zaken die me bezighielden tot ver buiten werktijd. En ik kon er maar niet achterkomen waarom ze me zo bezighouden. Tot ik een artikel las in Happinez (nee, daar heb ik geen abonnement op, ik las ‘m toevallig omdat mijn vrouw ‘m had gekocht…) dat ging over Robert M. Pirsig.
Hij schreef in 1974 het boek “Zen and the art of motorcycle maintenance” en ik las dat een jaar of 10-20 geleden voor het eerst. Het heeft een onuitwisbare indruk gemaakt, omdat het ging om een zoektocht naar de essentie van het bestaan en deze lastige materie verduidelijkt werd door begrijpelijke onderwerpen uit het motoronderhoud.
Pirsig stelt dat er één ding ten grondslag ligt aan alles, en dat is kwaliteit. Kwaliteit is dus geen eigenschap of kenmerk van dingen, maar iets dat er aan vooraf gaat. Net zoals de Dao in Lao Zi’s “Dao De Jing”.
Ok, dat is een hoop inleiding, maar het lezen van dat stukje triggerde onmiddellijk het besef dat kwaliteit ontzettend belangrijk is voor mij. Het vertaalt zich voor mij ook naar schoonheid. Ik hou van mooi: mensen, gebeurtenissen, materiele dingen. Als er een innerlijke kwaliteit is, dan komt die zichtbaar naar buiten en heeft schoonheid. Daarom kan ik een Toyota Prius mooi vinden: niet omdat ie estethisch aantrekkelijk vormgegeven is, maar omdat er een gedachte in huist die ik mooi vind. En vind ik windmolens geen horizon-vervuiling, maar een aanwinst voor het landschap, omdat het uitgangspunt ervan helemaal klopt.
Schoonheid is voor mij belangrijk omdat ik er blij van wordt. En ik heb liefst dagelijks een stukje blij in mijn leven.
Schoonheid is voor mij de meetlat waarlangs ik dingen leg als ik twijfel of ze bij mij passen of niet. En dat was ik de laatste tijd vergeten in de problemen die bij de klant speelden: dat ik een meetlat heb om me te helpen keuzes te maken.
Software maken is bij uitstek een bezigheid waarbij kwaliteit en schoonheid een rol spelen. Floris schreef er vandaag ook over in zijn Blue Note 84: “…de kans neemt aanzienlijk toe dat het goede software is als de source code er ook mooi uit ziet”. Een vakman ziet dat. In één oogopslag: dit is wel of geen mooie code.
In ons vak zijn veel mensen die software maken, maar zijn het allemaal vaklui? Pirsig schrijft hierover:
Waarom deden die monteurs hun werk zo slecht? Het waren toch vakmensen, opgeleid in de techniek? Nee, al hadden ze misschien wel een technische opleiding gehad, vakmensen waren het zeker niet. Ze waren niet echt betrokken bij wat ze deden. Ze werkten gehaast, op de automatische piloot, zonder enig gevoel. Het waren net toeschouwers. Er bestond geen identificatie met het werk.
Dit is waar het om gaat voor mij. Bij software maken in het bijzonder, maar eigenlijk bij leven in het algemeen: betrokkenheid, gevoel. Niet maar domweg snel iets fixen of even in elkaar draaien, maar de tijd nemen om een stapje terug te doen en je af te vragen: “wat is hier aan de hand, wat is eigenlijk het probleem?”.
Als je een plek nodig hebt om boeken te bewaren en misschien ook nog een paar sokken en onderbroeken, dan kom je goed weg met een IKEA kast; voordelig, en voor de meeste mensen eenvoudig in elkaar te zetten. Maar als je behoefte groeit en je voortdurend stukjes IKEA kast toevoegt, komt er een moment dat de wand vol begint te raken en het volgende kast-element gewoon niet meer past. Dan kun je natuurlijk van een ander model een stuk nemen, en daar misschien iets vanaf zagen. En zo’n handig pennenbakje kun je met een spijker vastzetten aan de staander. O, laatjes erbij? Dan nemen we zo’n laatjesding en die zetten we op de plank; schuiven we gewoon wat boeken opzij.
En op een dag valt het hele gevaarte om, want in het begin had je de moeite niet genomen om ‘m echt goed aan de muur vast te maken. Nergens voor nodig, want er zouden toch nooit meer dan 100 boeken en 20 paar sokken in komen. En nu is de ellende niet te overzien.
Het is momenteel mijn werk om nog een plank aan zo’n gedrocht te maken om een electronische kassa op te kunnen zetten. Ik heb al vaak aangegeven dat het gevaarte gevaarlijk staat te zwaaien en dat het beter is om de hele zaak eerst goed vast te zetten en misschien wel een flink stuk te vervangen door iets degelijkers.
Maar dat is niet mijn opdracht. Die kassa moet op die plank, en snel een beetje.
Na bovenstaande begrijp je mijn probleem. Kwaliteit en schoonheid zijn ver te zoeken. De dingen waar ik blij van wordt komen sporadisch langs. Moet ik dit blijven doen?
Wat zou jij doen?
P.S. Ik vraag niet letterlijk om je advies over wat ik zou moeten doen. Ik wil graag weten hoe je aankijkt tegen vakmanschap, kwaliteit, schoonheid en opdrachten die strijdig zijn met hetgeen waarvoor je graag wilt staan.
ApacheCon US 2009 – Celebrating a decade of open source leadership
Geplaatst door Marcel Offermans in java op november 10, 2009
The Apache Software Foundation celebrated its 10th anniversary last week at the ApacheCon US in Oakland, California. The event, which lasted from November 2nd to 6th, consisted of many different types of events, ranging from full-day trainings to lightning talks, from a hackathon to technical and marketing sessions. On friday, the event featured a full-day track about OSGi, where all OSGi related Apache projects like Felix, ACE, Sling and Tuscany where present. The big announcement of the conference was the fact that Subversion wanted to join Apache. In fact, during the event, just like with any other project, there was a vote to accept Subversion into the incubator. As with many projects, this triggered some discussion, debating the merits of doing a release during incubation, even though this is a project with many seasoned Apache committers on board.
A conference like no other
Apache probably is the strongest brand in the open source space, but the conference itself focusses strongly on content. Here you will see no sponsored talks by commercial vendors, no sales people trying to sell you anything, it’s all about the code, the community and collaborating with each other. In that sense it’s quite different from most other conferences and if you like meeting and discussing fellow developers, this is a great place to visit. Many events facilitate discussion, and power and internet connectivity are available everywhere.
What open source is all about
Brian Behlendorf summarized the three main cultural elements of Apache quite well:
- write good code and debate it to the bone
- be humble
- collaborate
In essence, Apache is a meritocracy, of which only individuals can become a member. It’s sometimes also described as a do-ocracy as projects are driven by contributions: if you want something done, just do it. Another important aspect is that everything that is done on the Apache projects is discussed and archived on the mailing list. All discussions, code diffs and decisions must be recorded there.
Presenting Apache ACE
Tuesday evenings “birds of a feather” session featured a discussion about Apache ACE, where questions mostly centered around the use cases for ACE and possible integrations with other OSGi components. One of the conclusions is that there are probably three different phases of deployment:
- Using Apache Felix File Installer, which allows you to drop components in a local folder to have them installed.
- Using Apache Felix Karaf’s provisioning components, which allow you to define features which basically group components and allow you to define dependencies on other features.
- Using Apache ACE, which allows you to group components and automatically deploy them to many remote systems.
Friday’s OSGi track started with an introduction to OSGi and moved into more advanced topics during the day. The Apache ACE talk was received well, with several people expressing an interest in wanting to use it and contribute to it.
Final thoughts
Summarizing the week, Floris and I had a great time talking to many interesting people and learning about various projects. ApacheCon is a great conference, and I’m already looking forward to the next one.
Oredev 2009
Geplaatst door Angelo van der Sijpt in Uncategorized op november 6, 2009
This past week (4 – 6 November), I went to Øredev, probably the largest developer conference in Scandinavia. I had been invited as a speaker, thanks for having me!
Great food, nice ambiance
The first thing that strikes me about this conference is how well it has been prepared. The food is great, there is a good evening program, and overall both your inner geek and inner person are well looked after.
Highlights
Interactive Visualizations from Microsoft research – Eric Stollnitz (User Experience track)
One of the rare talks I actually did not like. Having not read the session description properly, I had totally wrong expectations; the session demoed visual tools like Photosynth, which are cool, but not something we haven’t seen before. And besides, running Vista on a Mac, and having to kill Internet Explorer…?
Open source Java: ten things you didn’t know you could do – Terrence Barr (Java track)
Early in the talk it felt like a plug for the greatness of Sun, making Java open source. Later, however, it mentions some seriously cool technology that has become possible now! Some honorable mentions,
- The Maxine guest VM is an effort to run a Java VM directly on a HyperVisor, skipping the entire OS!
- IKVM.NET is a project aiming to run Java code on a .NET VM. Somehow, it turns out that Java bytecode and .NET assembly language are so similar, that an effort has been started to create automatic translation tools between compiled Java and compiled .NET (and vice versa). I would like to add that this is allows not only Java to run on a .NET VM, but likely any language that runs on the Java VM! Interesting…
- Zero writes a Java VM in plain C without using assembler code, making it easier to port it to new platforms.
The Manager’s Guide to Agile Adoption – Mike Cottmeyer (PM In Practice track)
A great talk showing the issues that might hamper agile adoption, especially in larger organizations. Some snippets,
- “Agile adoption at the team level is not the issue, it’s adopting agile across teams.”
- Don’t speak of features of a system, speak of capabilities (think about that one!)
- Depending on the amount of dependencies between teams, we could use a Scrum of Scrums (resource dependency), Product Owner team (requirements dependency), or a Product Owner team with Architects (technical dependencies). Whatever method is used, this higher level should build a normalized backlog, intended to create some alignment along the teams. The team’s backlogs are based on this normalized backlog.
- Feature teams will break down at some level; at a certain system size, it’s no longer possible to create a top-to-bottom slice of the system which is small enough for a single team to manage.
In short, I really enjoyed this talk, and I feel there might be some applications for these ideas somewhere near me…
How Exactly Can Developers Create a Compelling User Experience? – Ben Galbraith (User Experience track)
Exactly the way I would expect a user experience talk to look (and feel!) like: polished imagery, a well-oiled story line, and lots of inspiration. Besides, I have two new books to add to my reading list: About Face by Alan Cooper, which seems to be the standard volume on interaction design, and The humane interface by Jeff Raskin.
Reconsidering cherished design dogmas – Johannes Brodwall & Finn-Robert Kristensen (Architecture track)
I actually had a beer with these guys a few days earlier, and they told me about their ideas. In short, there are a number of dogmas in software design we came to hold true, but are they actually true? For instance, is generic code really more reusable than specific code?
It’s a shame the talk didn’t really come across, and I could not put my finger on the problem; it might have something to do with the over-abstracted example they chose.
Dynamic Deployment with OSGi – Angelo van der Sijpt (Java track)
Well, let the crowds decide on this one. Have you visited my talk, and have an opinion about it? Let me know in the comments?
Modeling in the Age of Agility – Kevlin Henney (Agile Architecture track)
“Working software over comprehensive documentation” sounds good, but how about modeling? Are all models potential waste? Of course not, but when applying modeling because it is modeling, is sure to create models no one will ever look at, and the few good ones in there are buried. Some snippets,
- “Agile is all about doing.” Actually, I did not know the word ‘Agile’ comes from the Latin verb for ‘to do’.
- “The most important aspect of modeling is the -ing.”
So?
Like I said, a great conference, and I’m sorry I missed the test track. I will leave you with a quote I picked up on Twitter (I don’t know which session it’s from),
“Don’t build frameworks, extract them”
Nieuwe iPhone applicatie gelanceerd: Quote eetgids
Geplaatst door Arjan Schaaf in Uncategorized op oktober 2, 2009
Op 1 oktober was het zover, de Quote eetgids staat in de Apple Appstore! Met de Quote eetgids kan je op eenvoudige wijze restaurants in de buurt vinden en beoordelen. Dit op basis van je huidige lokatie die met behulp van GPS wordt vastgesteld. Heb je andere voorkeuren? Alleen met gelegenheden met michelinster? Of na een heerlijke dag varen, aanleggen bij de steiger met zicht op je blinkende jacht van een voortreffelijk menu genieten? Check de Quote eetgids!
![]() |
Ontwerp: luminis live Technische realisatie: luminis software development |
JavaOne Reloaded
Geplaatst door Marcel Offermans in Uncategorized op juni 5, 2009
On tuesday, june 23rd, luminis organizes a JavaOne reloaded event, where all the news and highlights from the 2009 JavaOne are presented. This will take place in the Arnhem offices, starting at 18:00. If you want to be present, please send a mail to Marcel. This year’s JavaOne is special for many reasons. Oracle just bought Sun. Microsoft gives their first keynote. JavaFX comes of age. Larry Ellison hints at a JavaFX frontend for OpenOffice. Enough reasons to be present!
J-Spring 2009
Geplaatst door Peter Doornbosch in Uncategorized op april 16, 2009
Aan de druk bezochte J-Spring Java conferentie in een zomers warm Spant! in Bussum, heeft luminis weer een flinke bijdrage geleverd. Bij de stand werd de bezoeker getrakteerd op een overheerlijke tompouce (van de echte bakker!) en werden lootjes uitgedeeld voor een boekverloting. Op inhoudelijk vlak bestond de bijdrage uit 3 presentaties over uiteenlopende onderwerpen. En voor de bezoekers die het uithoudingsvermogen hadden om tot het eind te blijven, was er dan nog de door luminis gesponsorde borrel!

De presentatie van Jaap Vriend ging over LWUIT, een UI library voor J2ME. Deze library biedt een op Swing lijkend programmeermodel en maakt het veel makkelijker om een J2ME applicatie er op alle telefoons hetzelfde uit te laten zien.
Richard van der Laan presenteerde samen met Tony Sloos van ArchitecIT een pragmatische benadering van MDA. Aan de hand van een concreet voorbeeld lieten ze zien hoe je bottom-up MDA kunt invoeren, waarbij je er vanaf het begin voordeel van hebt.
Onze OSGi guru, Marcel Offermans, had een leuke demo samengesteld op basis van de leukste bug. Nu is een live demo natuurlijk altijd riskant, maar Marcel is typisch iemand die dat wel aan kan. Helaas voor hem (en voor het publiek) waren de goden hem dit keer niet zo goed gezind en lukte het niet de demo dat te laten doen wat hij had moeten doen. Dus die houden we van hem tegoed! Bij de J-Fall op de luminis stand?
De presentaties kun je als pdf downloaden:

