Author: Wybe van der Ham

if list vs if len(list)

In the Python programming language some variables with an ’empty’ value evaluate to False in boolean operations. An integer with value 0, an empty string, an empty set or list, all are evaluated as False.

This can become handy when you want to test wether a list is empty or not. You can just use:

foobar = [1, 2, 3]
if foobar:
    print('foobar is not empty')

An other way of doing this is to check if the list has any length:

foobar = [1, 2, 3]
if len(foobar):
    print('foobar is not empty')

The end result is the same, but way the check works is different. In Python the way of checking is not that different, because the list is actually an array of pointers to the values, and the number of items (length of the array) is stored at in the list head structure. The truth check probably looks at the number of items stored on the list head, and returns True if the number is larger than 0.

Alternative approach

The difference comes when looking at list-like data types, or when using languages that use a different type of list. Consider the following data structure and creating the list:

class MyList:
    next_item = None

    def __init__(self, value=None):
        self.value = value

foo = MyList()
node = foo
for i in range(3):
    node.next_item = MyList(i)
    node = node.next_item

Here we do not store the number of items on the list head, so to get the len(foo) we would have to do:

def length(list_head):
    count = 0
    node = list_head
    while node.next_item is not None:
        count += 1
        node = node.next_item
    return count

Now to get the length of MyList, the code has to go through all items in the list and return the number of items in the list. But to see if there are any items in the list, we could do:

if foo.next_item is not None:
    print('List is not empty')

That saves us a lot of iterating over the list, especially when we have a list that contains a lot of elements.

Conclusion

Does it matter? Not really when using Python native Lists: if foo and if len(foo) both look at the number of elements in the list to determine if it is not empty.

But from a semantic way of programming I still prefer if foo over if len(foo). It indicates to the reader of the code that we are not really interested in the length of the list, only if it contains items.

Share this:
Share

De onherkenbare Piet

Bij de landelijke intocht van Sinterklaas worden “roetveegpieten” ingezet. Dit zijn Pieten die niet meer zwart of bruin geschminkt zijn, maar roetvegen op hun gezicht hebben vanwege de schoorsteen. De traditionele Zwarte Piet wordt afgeschaft omdat dit teveel deed denken aan de racistische Black Face.

Een van de bezwaren van de Pro-Pieten, is dat door de roetvegen de Pieten te herkenbaar worden. De lol is er al snel af als een kind een bekende ziet die verkleed is als Piet, is de redenatie.

Dienstplichtige hulp-pieten

Om het probleem van familieleden of buren verkleed als Pieten op te lossen is eenvoudig.

Vorig jaar zagen we bij de intocht van Sinterklaas de introductie van hulp-sinterklazen. Dit waren mannen in pakken en stropdassen die met de pakjesboot meekwamen naar Dokkum, en daarna met hun rolkoffertje achter zich aan het land in trokken. Verondersteld naar andere intochten, scholen, kinderdagverblijven, etc.

Dit jaar, of ten minste, volgend jaar, voeren we hulp-pieten in. Deze Pieten worden opgeroepen onder de Nederlandse mannen en vrouwen om mee te helpen met de Pieten die met Sinterklaas meekomen. Er is zoveel werk tijdens het kinderfeest dat de lokale bevolking af en toe moet inspringen. Natuurlijk kun je dan ineens je buurman herkennen als Piet. Hij is namelijk opgetrommeld als Piet. Hij zit onder de roetvegen, omdat hij ook al eens door de schoorsteen is geweest.

Waarom nog dat gekke kostuum? Dat is het uniform van een Piet. 

Share this:
Share

De familie Bellier – De minachting van horenden en doven

Ieder jaar houdt het Iepenloftspul Jorwert een openluchttheatervoorstelling in de notaristuin van het Friese dorpje Jorwert. Men treft elkaar daar “onder de perenboom” voor een theaterstuk dat ieder jaar anders is, maar steevast grote aantallen toeschouwers weet te trekken.

Dit jaar, 2018, was het “de Familie Bellier”, een toneelstuk met in de hoofdrol een gezin waarvan vader, moeder, en zoon doof zijn, en de dochter de enige is die kan horen. Naast onderwerpen als politiek, biologisch boeren, en loyaliteit aan de familie, komt ook de acceptatie van doven en horenden naar boven.

Famke Bellier, de horende dochter in het anderszins dove gezin wil graag bij het koor. Haar ouders zien het niet zo zitten, bang dat zij hen zal verlaten en zij geen tolk meer hebben om voor hen te communiceren met de buitenwereld. Bij haar moeder, echter, speelt er meer. Zij heeft een hekel aan de horenden; zij wantrouwt mensen die spreken, om maar te zwijgen over hen die zingen.

Aldus de ingrediënten voor een aangrijpend drama met een soundtrack van Friese vertalingen van liedjes van Ramses Shaffy. De dialogen worden gesproken tussen de horenden, en in gebaren uitgevoerd door de doven. Over het algemeen versta je niet wat vader en moeder tegen de dochter zeggen, maar moet de toeschouwer afgaan op het antwoord van de dochter om te raden wat de ouders hebben gezegd. De zoon heeft zichzelf leren praten, dus hij is wel voor het publiek te verstaan.

De gebarentaal in dit toneelstuk is een zelfverzonnen taal. Binnen het stuk redelijk consistent, maar met niet veel overeenkomsten met echte gebarentaal. Wanneer het toneelstuk vordert en de gemoederen hoger oplopen, veranderen de gebaren meer en meer in een wild gewapper. Het lijkt meer op een persiflage dan een serieuze poging zich in te leven in de taal van doven. Als ze nu echte gebarentaal hadden gebruikt, hadden mensen die deze taal beheersen misschien een extra laag in het verhaal kunnen ervaren. In plaats daarvan zou ik mij nu beledigd voelen dat ze niet eens ook maar proberen de taal waarheidsgetrouw neer te zetten.

Share this:
Share

Vroeger was alles beter

“Vroeger was alles beter.” Het is een veelgehoorde uitspraak door de tijd heen. Mensen houden niet van verandering. Daar hebben ze nooit van gehouden, maar in onze snel veranderende wereld lijkt de weerzin om te veranderen extra groot te worden.

De politiek was beter

In de politiek zien we her en der conservatieve partijen verkiezingen winnen. Of ze nu uiteindelijk wel of niet aan de macht komen in formatierondes doet geen afbreuk aan de behaalde verkiezingswinsten. In het Verenigd Koninkrijk heeft de conservatieve partij een groot verlies te verwerken gekregen, maar desalniettemin zijn ze nog steeds de grootste partij. In Duitsland heeft het conservatief christelijk CDU de verkiezingen gewonnen, maar ook de rechtse partij AfD hebben ongeveer 13% van de stemmen in de wacht gesleept. In de Verenigde Staten heeft Trump met zijn boodschap van terugkeer naar het grote Amerika de verkiezingen gewonnen.

Ook hier in Nederland waren er grote winsten voor de PVV die graag Nederland voor de Nederlanders wil behouden. Het FvD heeft met een vergelijkbare conservatieve boodschap twee zetels in de Tweede Kamer weten te bemachtigen. Het CDA, met zijn zoektocht naar de Nederlandse identiteit heeft het zelfs tot in de nieuwe coalitie weten te schoppen. Ook zij vinden dat die identiteit vroeger beter was, en die moeten we – onder andere door het leren van het Wilhelmus – terugvinden en doorgeven aan onze kinderen.

De popcultuur was beter

Deze hekel aan veranderingen zien we heel tekenend terug in de hedendaagse films. Ja, vroeger waren de films beter. Vandaar dat we op het witte doek veel heruitgaven van klassiekers tegenkomen. Wanneer het niet een heruitgave is, dan is het wel een vervolg op een bestaande reeks films. Of eigenlijk liever geen sequel, maar een prequel.

Een sequel neemt de bestaande situatie en breidt daar verder op uit. Dit zal uiteindelijk leiden tot een verandering van de wereld. Liever kijken we naar een verhaal dat ons laat zien hoe we tot onze bekende wereld zijn gekomen. Want zoals het nu is, is goed genoeg, en daar zien we liever geen verandering in komen. We weten waar ze naar toe werken, en dat is lekker vertrouwd en comfortabel. Wij hoeven ons geen zorgen te maken om verandering in de wereld.

Niet alleen in de “worldbuilding” zien we dit conservatisme terugkomen. Ook in het verhaal zelf worden we liever niet geconfronteerd met veranderingen. Vroeger, toen de films nog beter waren, zagen we aan het begin onze protagonist met een dilemma geconfronteerd worden, en in de loop van het verhaal moest deze hoofdpersoon door externe conflicten dit interne conflict het hoofd bieden. Na afloop van de film had de hoofdpersoon een verandering doorgaan, en was uiteindelijk hopelijk een beter persoon geworden. In ieder geval was het niet meer helemaal dezelfde persoon gebleven.

In tegenwoordige films zien we weinig zo’n verandering van de hoofdpersoon. Waar aan het begin van de eerste Jurassic Park film de hoofdpersoon een hekel had aan kinderen, en aan het einde tot inzicht was gekomen dat kinderen nog niet zo erg zijn; zien we in de Jurassic World film onze kinderhatende hoofdpersoon geen haar beter worden.
Waar Deckard in de originele Blade Runner het interne conflict van replicant zijn moest oplossen, hoeft agent K. in Blade Runner 2049 alleen maar wat externe conflicten het hoofd te bieden. Uiteindelijk blijft hij hetzelfde, onveranderd. Lekker veilig allemaal, want vroeger (aan het begin van de film) zijn de personages al goed genoeg. We hebben geen behoefte aan veranderingen. Niet in onze werelden, en ook niet in onze filmhelden.

De toekomst was beter

De sterke hang naar terugkeer naar het goede van vroeger, zoals tot uiting komt in de leus “Make America Great Again“, zal ons niet verder brengen. We maken onze toekomst tot een prequel van het heden. Het enige waar dat toe zal leiden is dat we het cirkeltje rond maken en weer uitkomen aan het einde van die prequel: het heden.

De onwil om te veranderen zal ons in de huidige status quo houden. Op de achtergrond verandert de wereld door nieuwe technologieën en verdergaande globalisering. Een plotselinge influx van grote groepen vluchtelingen, verdere digitalisering van onze samenleving, het uitvinden van kunstmatige intelligentie, of misschien zelfs een eerste contact met buitenaards leven; het zijn voorbeelden van veranderingen die mogelijk aan de horizon liggen. Het conservatisme maakt ons blind voor zulke veranderingen omdat we onze koppen in het zand van de tegenwoordige tijd hebben gestopt. Als we zo door gaan zijn we niet voorbereid op zulke veranderingen, en zal het inderdaad allemaal beter geweest zijn vroeger.

Laten we daarom naar de toekomst kijken, in plaats van naar het heden en het verleden. Laten we werken naar een goede toekomst, door ons er nu al op voor te bereiden. Als we die veranderingen omarmen zullen we er actieve invloed op uit kunnen oefenen. Niet om de verandering af te remmen of tegen te werken. We gaan de toekomst beïnvloeden, niet voor behoud van oude normen, maar voor het inpassen van nieuwe normen in de waarden waar we allemaal beter van worden. In de toekomst wordt alles beter!

Share this:
Share

Niet omdat het moet, maar omdat het de vierkleurenspreeuw is

“Niet omdat het moet, maar omdat het kan.”

De slogan van de nieuwste reclame van een mobiele provider. Het is een van de vele voorbeelden van reclames die ons aansporen om zoveel mogelijk van ons leven te delen met de vierkleurenspreeuw. Het is een aanstekelijk spotje dat ons doet geloven dat wij digitaal willen leven. Omringt door contacten op een klein schermpje, waar wij steeds bezig zijn met de anderen, daar. Aan de wereld nu, met elkaar, hier schenken wij geen aandacht meer. Niet omdat het ons opgedrongen wordt, maar omdat het kan. Het maakt ons eenlingen, verdeeld tegen een zwerm.

Leven met een been in de digitale wereld heeft ook daar een schaduwzijde. Bits en bytes kunnen eenvoudig vermenigvuldigd worden zonder dat het origineel of de replica verminderen in waarde. Als onze identiteit, ons geld, en onze manier van de buitenwereld ervaren meer en meer digitaal wordt, wordt het ook steeds makkelijker om die aspecten van ons bestaan te manipuleren. Zo geven wij ons leven over aan de grillen van het systeem. Niet omdat het moet, maar omdat het zo makkelijk is.

En zo is het voor de vierkleurenspreeuw, met diens toegang tot al deze verschillende systemen, een eitje om alles over ons te weten te komen. Met al deze kennis kan de vierkleurenspreeuw ons eenvoudig bezighouden met al dat ons vermaakt, zodat wij ons niet druk gaan maken over dat wat wij zouden moeten veranderen. Het verborgen regime van de vierkleurenspreeuw kent zo geen weerstand. Niet omdat het moet, maar omdat het kan.

Share this:
Share

Het geluid van de vierkleurenspreeuw

Al een paar jaar zien we in het nieuws en op internet filmpjes van over de hele wereld. In deze filmpjes gaat het niet zo zeer om de beelden, maar voornamelijk om het geluid dat te horen is in de lucht. Volgens sommigen is dit het geluid van de bazuinen die de eindtijd inluiden, volgens anderen gaat het hier om een nieuw wapen van de Verenigde Staten. De vierkleurenspreeuw probeert ons een rad voor de ogen te draaien met deze zogenaamde verklaringen.

Uit voorgaande berichtgevingen weten we dat de vierkleurenspreeuw in staat is om het weer te beïnvloeden. Vooral in het noorden van het land is de vierkleurenspreeuw zeer actief in het veroorzaken van vreemde weersverschijnselen. Het is dan ook niet verwonderlijk dat de vreemde geluiden ook te horen zijn in die streken.

Het geluid dat op de filmpjes te horen valt, wordt gemaakt door een hele zwerm vierkleurenspreeuwen. Hoe ze precies het geluid voortbrengen weten we nog niet, omdat een enkele vierkleurenspreeuw dit geluid niet kan voortbrengen; er is een hele zwerm voor nodig. Het is nog niemand gelukt om een zwerm vierkleurenspreeuwen in gevangenschap te onderzoeken.

Wat we wel weten is dat deze geluiden zorgen voor zware resonantiefrequenties in de atmosfeer, die uiteindelijk zorgen voor zeer koude en winterse buien. Dit lijkt de manier te zijn waarop de vierkleurenspreeuw het weer weet te beïnvloeden.

Hoedt u voor de vierkleurenspreeuw.

Share this:
Share

Fora zijn geopend

Op veler verzoek hebben we de fora weer teruggebracht naar de site. Er is nog weinig inhoud, maar dat is iets wat jullie mogen vullen. Daarvoor is het een forum, natuurlijk.

Without further ado, have fun met de fora.

Share this:
Share