Weblog

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

Draken

published Nov 30, 2010 , last modified Oct 25, 2011

Lees een klein voorproefje van wat mogelijk een roman van mij wordt.

De maand november wordt elk jaar uitgeroepen tot National Novel Writing Month, oftewel: nationale romanschrijfmaand. Dat is in Amerika begonnen maar is ondertussen internationaal geworden. Het is in feite een wedstrijd met jezelf. Je hebt dertig dagen om een korte roman van 50 duizend woorden te schrijven. Dat is ongeveer 175 pagina's. Er is geen jury die de duizenden inzendingen leest. Winnaar is iedereen de 50 duizend woorden haalt. Het is een mooi doel dat hopelijk veel mensen inspireert om eindelijk een keer te gaan zitten en die roman die al jaren in hun hoofd zit nu eens op te schrijven.

Ik heb ook zo'n roman in mijn hoofd zitten en potentieel nog wel meer dan één ook. Ik heb dit jaar dus meegedaan aan nanowrimo. Al snel werd duidelijk dat ik de 50 duizend bij lange na niet ging halen. Wel heb ik de helft gehaald, om precies te zijn 26.245. Omdat dit toch al gauw 26.245 woorden meer zijn dan aan het begin van de maand ben ik zelf heel erg tevreden. Ik vond het leuk om te doen en het smaakt naar meer. Ik ben dan ook van plan vrolijk door te schrijven. Het verhaal is nog lang niet af en ik ben benieuwd hoe het afloopt.

Het is een fantasyverhaal. Alle hoofdpersonen zijn draken. Als je dat niet interessant vindt, kan je beter niet verder lezen. Als dat gegeven je niet afschrikt, lees dan een klein voorproefje van het verhaal (het eerste deel van wat voorlopig hoofdstuk 7 is) en laat me weten wat je ervan vind.

Bekijk hier de PDF (negen pagina's).

Dragons

published Nov 30, 2010 , last modified Oct 25, 2011

Read a preview of what may become a novel by me.

Every year the month of November is proclaimed National Novel Writing Month. This originally started in America, but it has gone international since. In essence it is a competition against yourself. You have got thirty days to write a short novel of fifty thousand words. That is roughly 175 pages. There is no jury that reads the entries by the tens of thousands of participants. The winner is every one who reaches 50,000 words. It is a nice goal that hopefully inspires lots of people to finally sit down and actually write that novel that has been in their head for years.

Such a novel is in my head as well; potentially more than one, even. So this year I participated in nanowrimo. Quickly it became clear that I would not reach the 50 thousand words by far. I did get to half of that, 26,245 to be exact. As is this roughly 26,245 words more than at the beginning of the month, I am very satisfied. I liked doing this and it has whet my appetite, so I plan to happily continue writing. The story is not nearly finished and I long to know how it ends.

It is a fantasy story. All main characters are dragons. If you don't think this is interesting, you should not read on. If this does not scare you, you can read a small English preview of the story (PDF, 3 pages) and let me know what you think. Note that if you can read Dutch, you should read the larger original Dutch preview (PDF, 8 pages). I wanted to translate more, but stopped as this distracted me from finishing the Dutch version, which could in itself take some years still. Also, the preview is not the beginning of the book, as I wanted to show a more interesting part of the story; this probably means I should write a more interesting beginning. I can then translate that for a preview instead.

Anyway, I hope you like it. Feedback is welcome via the contact form.

Python Users Netherlands meeting

published Nov 03, 2010 , last modified Nov 04, 2010

Summary of the Python Users Nederland meeting in Arnhem, 3 november 2010.

Rob Gietema: Deco

I will talk about Deco and some more of Plone 4. I work for Four Digits, who organized this PUN. Originally four people, now seven. Since a few years we do only Plone. I myself do mostly front-end development, like integration of the TinyMCE visual editor in Plone.

Plone is a CMS. One of the current problems is creating composite pages. There are add-ons for that, but it is still crufty. Deco is meant to improve that a lot. In 2008 several people came with a proposal for that. Deco as front-end, Blocks as back-end.

Deco is a grid-based system. So you create multiple columns that you can style with CSS. The columns can be filled with tiles. We have structure tiles, like rich text. Also field tiles, like a title, description, list of tags. And application tiles, which can be anything: image, discussion forum, table of contents, multi-file upload.

The idea was good, but there were not a lot of people who wanted to write the javascript needed for that. But I do like to do that. :-)

We sprinted a few times on this. Four Digits hosted the Living Statues Sprint, there was a sprint at the Plone Conference in Bristol last week.

We created a demo website using Deco: http://decobrewery.com/. I will demo that now.

This is mostly for Plone 5, but parts will be available in upcoming Plone 4.x versions.

The parts involved in Deco are currently split over about 14 small python packages.

Create your own tile: an interface class with a schema, a class with a __call__ method that returns some html (can be in an html template), and some zcml to register this and glue everything together.

To do: create more templates for content types, fix bugs.

Want to code on it? Use https://svn.plone.org/svn/plone/plone.app.deco/buildouts/dev

It actually works in IE6 as well!

Reinout van Rees: checkoutmanager

checkoutmanager is a small tool to manage all your checkouts on your whole file system. You have 20 personal projects, 30 client projects, some dotfiles in your home dir. Just manage them all. I created checkoutmanager when I switched to a new laptop. Use it to checkout git, subversion, bazaard, mercurial. Every morning I do a checkoutmanager up to update all checkouts. I do checkoutmanager st to see which files in all my checkouts I forgot to commit. Also checkoutmanager out to see which local commits from git or mercurial I have not pushed to the central server yet. (To do: mention this in the docs.)

See http://pypi.python.org/pypi/checkoutmanager

Roel Bruggink: Subversion pre-commit hooks for pyflakes, pep8

I installed pre-commit hooks on our subversion to disallow commits that go against pyflakes and pep8. I wrote some code that made it possible to add a comment in a file to ignore one or more PEP8 style checks. Hooked it up to TextMate to prevent you from saving a file with PEP8 problems, except when you explicitly specify it with that comment. Handy for those times where you really can't help it. If you want the code, mail me.

Lars van de Kerkhof: Hudson and Fabric

Hudson is a Java tool for continuous integration. It basically just runs a shell script for you and reports the results back. Usually those are test results. We use it for deployment as well, but of course only when the test requirements are met. We let it use Fabric for that. It is tricky to get Fabric to use the correct virtualenv, but we got that working. I also made a way to print a shell script that looks like what Fabric would do for real.

Rob Gietema: XDV/Diaza/Deliverance for theming

XDV uses XSLT to get html from for example Plone and transform and push it into an html template that your designer has created. Nice alternative way to do theming. You can also combine multiple sources, not just from Plone, but from other systems as well at the same time.

Varundev Kashimath: Why do certain products succeed?

Working at TU Delft. We did some research into how long it takes to do a project with Rails and with Django. Rails took longer in this case. Some discussion followed, hard to summarize.

Vincent Pretre (Zest Software): jquery.pyproxy

published Nov 02, 2010

Lightning talk during the Dutch Plone User Day 2010 in the Euromast, Rotterdam. Also, cheap way of pointing Dutch readers to the Dutch summary of the whole day.

Vincent Pretre is lead developer at Zest Software for http://prettigpersoneel.nl, a hosted service for Human Resource Management for small to medium sized companies. The site uses Products.plonehrm, collective.sendaspdf and: jquery.pyproxy.

The idea is to replace KSS with jQuery for Ajax requests. Modify the DOM with python. We wanted it to be easy to use on client (browser) and server side. Keep jQuery syntax as close as possible. It should also be as extensible as jQuery, so existing plugins should work. It can be used as jQuery plugin.

pyproxy binds a call to an event. There is also pyproxy_call. In python: @jquery defines a view as callable by jquery.pyproxy. JQueryProxy: an object used to modify the DOM. extend_grammar: defines plugins syntax.

Current limitations: you cannot do a chained call, cannot save a query, cannot have functions as parameters (so no callbacks).

It is stable: used on production for months. Works with Plone and Django (can be extended to other frameworks), works with Firefox, Chrome, IE, WebKit.

The product is hosted on github. See the README there. Releases are available on PyPI (0.2 released on 22 October 2010).

See the slides.

More Dutch

But wait, there is more... if you are Dutch! I have a Dutch overview of all the lightning talks and a Dutch summary of all the talks.

Plone Gebruikersdag

published Nov 02, 2010

Samenvatting van de Nederlandse Plone Gebruikersdag 2010 in Rotterdam.

In september werd de Nederlandse Plone Gebruikersdag 2010 gehouden in de Euromast, met prachtig uitzicht op het schitterende Rotterdam. Er waren ruim vijftig deelnemers op afgekomen. De dag was gevuld met lezingen van zo'n drie kwartier en een aantal 'lightning talks': bliksemsnelle praatjes van vijf tot zeven minuten. Natuurlijk was er ook een lunch, borrel en voor de nablijvers een diner, dus voldoende tijd om met elkaar te praten en kennis te maken. Hier volgt een korte samenvatting van de lezingen, met links naar wat uitgebreidere samenvattingen.

Fabian Spaargaren (Exser): Naar web 2.0 met Plone

Exser is een samenwerkingsprogramma's van overheid, wetenschap en bedrijven met als doel diensteninnovatie. De website van Exser was statisch, maar Plone heeft daar dynamiek in gebracht. Op de website staat nu onder andere een nieuwsbrief, linked-in integratie, een twitter portlet, RSS feed.

Verder ging het praatje vooral communicatie tussen klant en webbouwer. Heb je aandacht voor je klant? Denk je mee? Doe je uurtje-factuurtje of spreek je vantevoren een vaste prijs af, misschien voor een deel van het werk?

Lees meer...

Geir Bækholt (Jarn): Wat is er nieuw in Plone 4

Geir Bækholt, directeur bij Jarn en president van de Plone Foundation, geeft een overzicht van de stand van zaken van Plone en toekomstplannen voor Plone 4.1 en 5.

Plone 4.0 is begin september uitgebracht. Het was de bedoeling dat dit een kleine release zou worden, maar het is de grootste ooit geworden. Er zijn 27 grotere verbeteringen en nieuwe functionaliteit ('PLIPs'). Wat is er nieuw?

  • Plone 4 is een stuk sneller. Plone 4 gebruikt Zope 2.12 en Python 2.6, wat helpt voor een kleiner geheugengebruik. Plone 4 is ongeveer 50 procent sneller dan Plone 3. Als je kijkt naar het aantal requests per seconde zijn we sneller dan Joomla, Drupal en Wordpress.
  • BLOBs: Binary Large OBjects. Grote bestanden worden apart opgeslagen, wat het geheugengebruik terugbrengt.
  • TinyMCE lost Kupu af als standaard visuele editor. Het is beter in het uploaden van afbeeldingen, bewerken van tabellen, invoegen van links, enzovoorts.
  • Nieuwe uitstraling. Plone 4 komt met een vernieuwd, moderner thema.
  • Beter gebruikersbeheer. Overal worden volledige namen gebruikt. Je kan inloggen met je e-mailadres, als je dit aanzet.
  • Waarschijnlijk de eenvoudigste upgrade ooit. Natuurlijk verandert er een hoop tijdens de upgrade, dus houd backups bij de hand, maar een upgrade vanaf Plone 3 is niet spannend.

Wat zijn de toekomstplannen?

  • Plone 4.1 komt waarschijnlijk begin 2011. Verwacht zijn onder andere:
    • rondleidingen door de gebruikersinterface met Amberjack
    • verbeterd plaatsen van reacties
    • verbeterde structuur van Verzamelingen (zoekmappen)
    • nieuwe SiteAdmin rol, laten we zeggen een Manager zonder toegang tot de Zope Management Interface
    • wachtwoordbeleid
  • Plone 4.2: nog niet duidelijk wanneer dit gaat komen. Mogelijke verbeteringen hier zijn:
    • gebruiken van Chameleon om pagina's sneller te tonen (ongeveer 20 procent verbetering)
    • voorbereiding architectuur voor Deco dat in Plone 5 komt
    • betere batch-editing, tegelijk wijzigen van een aantal items
  • Of Plone 4.3 er komt, weten we nog niet.
  • Ergens aan de horizon is het magische Plone 5. Het zal de gebruikersinterface voor het bewerken flink verbeteren. Daar komen we aan de top te staan, met behulp van Deco en 'tiles' (tegels), geünificeerde contenttypes en een nieuwe interface voor het bewerken.

Lees meer... (Engels)

Jean-Paul Ladage (Zest Software): Plone voor uw mobiel

De enorme toename in het gebruik van smartphones maakt mobiele diensten lonend met de inzet van Plone GoMobile. Houd rekening met je doelgroep: welke mobieltjes worden gebruikt, welke schermresoluties horen daarbij?

Voor Plone is er Plone Go Mobile. Dit is een verzameling tools om binnen Plone nieuwe content voor mobiel te beheren of bestaande content te optimaliseren. Ook automatische doorsturing van bijvoorbeeld http://zestsoftware.nl naar http://m.zestsoftware.nl, de website en mobiele site van Zest Software.

Lees meer...

Rob Gietema (Four Digits): Content bewerken in Plone met Deco

Met Deco wordt het onderhouden van een website echt leuk. Het geeft je alle vrijheid om pagina's op te maken. Deco zal standaard gebruikt worden in Plone 5 en je kan er in Plone 4 al mee experimenteren.

Deco werkt met een grid. Op dat grid kan je tiles (tegels) toevoegen met html; dat kan de weergave van de titel zijn, of een folder listing, of van alles en nog wat.

De tiles vervangen onder andere de viewlets en portlets, dus je hoeft weer wat minder technieken te weten.

Lees meer...

Jeroen Vloothuis (KNMP) en Jan Murre (Pareto): Plone skinning met XDV

Een case studie van KNMP waarbij met Plone 4 en XDV de huisstijl is geïmplementeerd.

Het skinnen van een Plone site bestaat uit het aanpakken van CSS ('decorating the tree'), viewlets, portlets, main template. XDV gebruikt XSLT om die boom die Plone heeft opgezet te kortwieken. Met regels kan je zeggen: verplaats een deel van de html, of kopieer het, voeg wat toe aan de voor- of achterkant, haal wat weg. Dit is dus een nieuwe manier van het themen van een site. Zeker voor niet-programmeurs is dit potentieel een stuk sneller.

Hoe doe je deployment? Gebruik collective.xdv (nieuwe naam: Diazo) voor Plone.

Lees meer...

Lightning Talks

Hierna volgden de 'lightning talks' of bliksempraatjes.

Vincent Pretre (Zest Software): jquery.pyproxy
Vervang KSS door jQuery voor Ajax requests. Zie http://pypi.python.org/pypi/jquery.pyproxy
Roel Bruggink (Four Digits): Living Statues Sprint
Met de Plone community een sprintje trekken voor de ontwikkeling van Deco. Zie http://blog.fourdigits.nl/living-statues-sprint-2010
Fred van Dijk (Zest Software): pakketten die je (misschien) nog niet kent
Kijk eens rond of je nog pakketten op de plank hebt liggen die je voor één klant hebt gemaakt maar die voor de Plone community ook interessant zijn. Voorbeelden van al dan niet gereleaste pakketten van Zest: collective.sendaspdf, zest.carouselitem, mr.inquisition, zest.portlet.contact, zest.teammember, zest.releaser. Zie de slides van Fred.
Kees Hink (Goldmund, Wyldebeast and Wunderliebe): deurmat
Binnen een jaar wilden twee van onze klanten een 'deurmat'. Een beetje zoals de homepage van http://plone.org. Maak linkjes aan, geef wat headers aan en je hebt een deurmat. Dat doet Products.Doormat.
Thijs Jonkman (Pareto): XDV skinning
Je kan XDV theming gebruiken om Collage in het Deco keurslijf te persen. De CSS positionering van Deco kan je namelijk ook al in Plone 3 of 4 gebruiken. De html code van Collage is lelijk, maar als je er een net zo lelijke xslt sheet tegenaan gooit, krijg je er wel wat schoons uit.
Maurits van Rees (Zest Software): collective.watcherlist
Ontwikkeld vanuit Products.Poi. Houd een lijstje bij van mensen die updates willen van een content item. Registreer een browser view. Stuur ze automatisch een mailtje. Zie http://plone.org/products/collective.watcherlist

Lees meer...