Weblog

published Nov 03, 2021 , last modified Nov 04, 2021

Stapelgedicht

published Oct 05, 2016

Column Klokgelui voor Overschiese krant.

Een nieuw spel: kies een paar boeken uit je kast, leg ze op elkaar, en laat de titels een gedicht vormen. Als je nu vijf dichtregels hebt die met 'koken' beginnen, dan kan je dit spel beter in de bieb spelen. Glimlach vriendelijk tegen de bezorgd kijkende medewerkers en ruim na afloop je stapels boeken op de juiste plek op. Het kan heel kort:

Handboek voor schrijvers
Het zijn net mensen

Quiz voor jou en je vrienden: wie weet de meeste schrijvers bij de boeken die ik in deze column noem? Waarschuwing: ik maak het je niet makkelijk met mijn smaak.

In mijn kast staan aardig wat geschiedenisboeken, dus krijg je bijvoorbeeld:

Hitler
Churchill
Gewoon goede vrienden?

Die laatste komt overigens uit de christelijke hoek van mijn boekenkast. Ook daar kan je aardige combinaties maken:

Help, ik ben een man
Ik kan veranderen
Van binnenuit
Kalm aan en rap een beetje

Oeps, daar kwam Herman Finkers voorbij.

Het kan gauw grappig worden, maar het mooiste vind ik toch als er meer diepgang ontstaat:

Laatste woorden
Zucht
Nagelaten vertellingen

Ik vind daar een mooie lijn in zitten. En mooi dat het een christelijk boek is en een Nederlandse magisch realistische roman en een Engelse fantasy. Ik lees liever niet steeds boeken uit hetzelfde christelijke hokje, maar ook daarbuiten. Ik hoop dat dat andersom ook gebeurt. We hebben elkaar veel te vertellen.

En nu jij! Welke spannende combinatie van titels maak jij? Reacties welkom op de website.

Holyfant

published Sep 12, 2016

Column Klokgelui voor Overschiese krant.

Holyfant

Olifanten zijn joekels van dieren, weet je dat? Ik ben naar de tentoonstelling van Frans Lanting geweest in het Nederlands Fotomuseum, Kop van Zuid. Een van de foto's toonde een stel olifantenpoten. De rest paste er niet op. Daarnaast stond een impala, een soort antilope of hert. Ongeveer zo groot als de kleine teen van die olifant. Wat een bakbeesten!

Weet je hoe de olifant aan zijn naam komt? Een verre voorouder van ons, ene Adam, zag voor het eerst zo'n grijze muur met slurf en slagtanden, en dacht: 'Holy ... Fantastisch!' Sindsdien heet het dier een holyfant, wat verbasterd is tot olifant. Op z'n Rotterdams: Olli.

En weet je, die Adam, die gaat rekenen. Hij ziet een holyfant, eh olifant, een chimpansee, een spookdiertje, een orang-oetan (briljante vondst, Adam!), een eend, en zo nog heel veel andere dieren, en hij vraagt aan God: 'Hoe lang heeft u er eigenlijk over gedaan om alle dieren te maken en alle planten en zo?' En dan stel ik me zo voor dat God aan zijn baard krabt en denkt: Ik heb Adam net tot tien leren tellen. Als ik nu over miljoenen en miljarden jaren begin, snapt hij er niks van. Dus God zegt: 'Ik rond het af op zeven dagen.'

Misschien heb jij ook van die vragen aan God. Is wat in de bijbel staat echt gebeurd? Heeft Jezus echt bestaan, hoe betrouwbaar zijn die verhalen? Als je bidt, praat je dan met God en praat hij terug? Wat heb ik aan een Vader ver weg in de hemel als ik niet eens contact heb met mijn pa hier? Daar heeft God de Alphacursus voor uitgevonden. Daar is alle ruimte voor vragen rond geloof en leven. Kijk op alpha-cursus.nl. Ook in Overschie begint deze maand een gratis cursus, inclusief eten.

En of je nu gelooft dat God alles om ons heen in zeven dagen of iets langer geschapen heeft, of dat alles in miljarden jaren vanzelf is ontstaan: ik raad iedereen aan om naar de tentoonstelling van Rotterdammer Frans Lanting te gaan. Tot 18 september kan je heel mooie plaatjes kijken in het Fotomuseum.

Bijvoorbeeld van holyfanten.

[Geplaatst in Overschiese krant]

Tentstokken

published Aug 07, 2016 , last modified Sep 12, 2016

Column Klokgelui voor Overschiese Krant.

Laat ik mijn eerste column voor deze krant beginnen met een belangrijke tip: als je gaat kamperen, vergeet dan je tentstokken niet.

Een paar weken geleden ging ik naar de New Wine Zomerconferentie. Dat is een christelijke conferentie op het festivalterrein bij Walibi in Flevoland, waar deze maand Lowlands plaatsvindt. Ik begroette een paar vrienden van de kerk, zocht een vrije plek, en pakte mijn tent uit de tas. Ik zocht, ik schudde, ik voelde, ik draaide om en om, maar nee: nergens tentstokken.

En ik dacht: niet weer!

Jawel, dit was de tweede keer dat ik mijn tentstokken vergeten was. Je denkt dat het je geen tweede keer gebeurt, maar ik kreeg het voor elkaar. U ziet: het intelligentieniveau van de gemiddelde columnschrijver trek ik omlaag. Het kwam goed: iemand had een reservetent bij zich en daar heb ik een week gebruik van gemaakt.

De conferentie ging over eenheid. Er zijn veel verschillende soorten kerken. Als je de bijbel leest, zie je dat dit niet zo bedoeld was. Nu is het prima dat er verschillende stijlen zijn. Sommige mensen gaan graag naar een ingetogen kerkdienst, anderen naar een uitbundige. Dat mag naast elkaar bestaan.

Maar elkaar de tent uitvechten, met of zonder tentstokken, is niet de bedoeling. Gelukkig zetten veel kerken zich allang niet meer tegen elkaar af, maar werken ze samen. Om een klein voorbeeld te nomen: deze column wordt gevuld door mensen uit diverse kerken in Overschie.

Een spreker op de conferentie had het over een verhaal uit het bijbelboek Jozua. Na jaren kamperen in de woestijn, was een deel van Israël aan de oostkant van de Jordaan gaan wonen en het andere deel aan de westkant. Zeg maar Rotterdam Zuid en Noord met de Maas ertussen. Of Overschie links en rechts van de snelweg. De oostelijke Israëlieten bouwden een monument. Door een misverstand werd het bijna oorlog met het Westen, maar op tijd begrepen ze daar de bedoeling. Het was een gedenksteen: gedenk dat we één zijn. De Jordaan scheidt ons, maar we zijn één land. De Maas, maar we zijn één stad. De snelweg, maar we zijn één wijk. We hebben kerkmuren, religieuze hokjes en heilige huisjes, maar we zijn één kerk. We zijn gescheiden van tafel en bed, maar we zijn één gezin.

Nee, dat is niet makkelijk. Maar er is er Eén in de hemel die zegt: ik help je erbij!

Steven Pemberton: The future of programming

published May 13, 2016 , last modified May 17, 2016

Steven Pemberton gives the second keynote at PyGrunn, about the future of programming.

See the PyGrunn website for more info about this one-day Python conference in Groningen, The Netherlands.

I am from the CWI, Center for Mathematics and Informatics, at Amsterdam, where Python was born, and where I worked on ABC, the basis for Python. I wrote parts of gcc. I ended up chairing the w3c html working group.

I will talk about Moore's switch and the future of programming.

We were developing ABC in the beginning of the eighties, when computers were really slow. However, we knew about Moore's law, that computers would become faster.

In the fifties, computers were really expensive. You could hire an hour of computer time for the amount of money you pay a developer in a year. What I call Moore's switch: this has gone the other way around. Earlier programming languages were geared towards making it the computer easier, not the programmer.

Moore's law: computing power doubles every 18 months. In 1977 was the first time I heard say that Moore's law was soon over. In 1988 my laptop had a power of 500, now it has doubled fifteen times.

By the 1970's, computers had become cheaper, but programmers not: software crisis. Ninety percent of the cost was in debugging. Fred Brookes wrote about this in The Mythical Man Month. The larger the program, the more expensive it becomes.

An order of magnitude improvement would help a lot. What takes one week, would take a morning instead.

A declarative approach is much shorter, and therefor faster to write. Can this help? What does declarative programming mean? I wrote a declarative clock program in the beginning of the 1990s of twelve lines, instead of 1000 for a procedural clock program.

Declarative: you specify what needs to be and remain true. This also means there can be no while loops.

Look at XForms for a declarative language. A certain company went from five years and thirty people to finish a project to one year and ten people, by using XForms. It shows that declarative programming is feasible, usable, for real world projects.

I believe that eventually everyone will switch to declarative programming.

Questions.

"Some programmers move from Python to lower level languages to get more performance out of computers." They may not have done the numbers. Programmers need to learn a new technique, which may make them not want to do this. Countries have held back the use of the Arab numerals that we now all use.

In ABC we saw that people were mostly busy with sorting and searching. So we made this very fast.

"Do big companies use this?" Yes, various, like Yahoo, IBM. Usually in small groups, not company wide.

"What will then happen with Python?" What happened to Pascal?

"Where should I start?" Look at Xforms. That is the only standardised version that I know of that does this stuff.

Strictly speaking, spreadsheets are declarative.

"What books do you recommend?" There are no books on XForms yet.

"Do you consider Prolog a declarative language?" Not really, though I see what you mean.

[For more information, see the XForms article on wikipedia, Maurits.]

Twitter: @stevenpemberton

Martijn Faassen: Morepath under the hood

published May 13, 2016

Martijn Faassen gives the first keynote at Pygrunn, about Morepath under the hood

Python and web developer since 1998. I did Zope, and for a little while it was as popular as Python itself.

What is this about? Implementation details, concepts, creativity, software development.

Morepath is a web microframework. The planet Zope exploded and Morepath came out. It has a unique approach to routing and link generation with Traject. Easy and powerful generic code with Reg. Extensible and overridable with Dectate.

In the early nineties you had simple file system traversal to publish a file on the web. Zope 2, in 1998, had traversal through an object tree, conceptually similar to filesystem traversal. Drawback: all objects need to have code to support web-stuff. Creativity: filesystem traversal is translated to an object tree. Similar: javascript client frameworks that mimick what used to be done on the server.

Zope 3 got traversal with components: adapt an object to an interface that knows how to publish to html, or to json. So the base object can be web agnostic again.

Pyramid simplified traversal, with __getitem__. So the object needs to be web aware again. Might not be an issue.

Routing: map a route to a view function. As developer you need to handle a 404 yourself, instead of letting the framework do this.

You can fight about this as frameworks. But morepath has it all. It is a synthesis.

I experimented with a nicer developer API than Zope was offering to get a view for traversal. So I created experimental packages like iface and crom. I threw them together in Reg. It was just a rewrite of the Zope Component Architecture with a simpler API.

Class dispatch: foo.bar() has self as first argument. Reg uses functools.singledispatch and builds multiple dispatch. But then I generalised it even more to predicate dispatch, as Pyramid had.

Don't be afraid to break stuff when you refactor things.

Dectate is a meta framework for code configuration. Old history involving Zope, Grok, martian, venusian, but now Dectate. With this you can extend or override configuration in your app, for example when you need to change something for one website.

Detours are good for learning.

Splitting things off into a library helps for focus, testing, documentation.

Morepath uses all these superpowers to form a micro framework.

Twitter: @faassen