Categoriearchief: rekenen

Top 2000: de talen

Zo leuk! De talen waarin alle liedjes van de Top 2000 worden gezongen is ook in de database ingevuld. Met name Jeroen heeft hiervoor hard gewerkt. Het is soms nog best lastig. In welke taal staat bijvoorbeeld dat lied over die vliegtuigstoelen, “Holiday in Spain” van Bløf en The Counting Crows? “Nederlands/Engels” is dat geworden. En liedjes in het Fries, Drents, Achterhoeks, Limburgs? Op het gevaar af te verzeilen in allerhande fundamentele discussie heb ik (en alleen ik) besloten slechts Fries toe te laten omdat dat echt een officiële taal is. De rest is gewoon Nederlands

De conclusie is helder: Engels is, by far, de voertaal van de Top 2000. Van de 2000 liedjes worden er 1753 in het Engels gezongen. Dat is dus 87,65%. Tweede is, dat zal je niet verbazen, Nederlands: 187 liedjes dus net geen 10%. Onze oosterburen leveren 18 nummers, bijna 1% is Duits dus. De rest staat hiernaast in een schema en hieronder in een treemap, waarbij het relatieve oppervlakte aangeeft wat het aandeel is. Ik heb die ingekleurd met de vlaggen van landen waar de taal gesproken wordt. En ik weet dat veel, zo niet de meeste, liedjes niet uit het Verenigd Koninkrijk komen (waar de Union Jack de valt van is) maar dit is wel zo mooi. Ik maak volgend jaar, als de data helemaal op orde is, wel eens een analyse van de herkomst van de liedjes naar land.

Hieronder zie je de heatmap met de verdeling van de verschillende talen over de Top 2000 van 2018.

Een paar opvallende zaken:

  • De langste reeks Engelse nummer achter elkaar is van 1924 t/m 1977: 44 nummers achter elkaar.
  • De langste reeks niet-Engelse nummers achter elkaar is van 1443 t/m 1446: vier Nederlandstalige nummers (twee keer André Hazes in dat rijtje!).
  • Ook een mooi rijtje: 910, 911, 912, respectievelijk “De Bom” van Doe Maar, “In Nije Dei” van de kast en als laatste “Con te Partiro” van Andrea Bocelli.
  • Op 1098 en 1099 vinden we twee instrumentele nummers achter elkaar: “Peter Gunn Theme” van Emerson, Lake & Palmer en “Comptine D’Un Autre Été: L’Après-Midi (Amélie)” van Yann Tiersen.
  • De merkwaardigste, qua talen is nummer 1978, “Sadeness” van Enigma. Een deel daarvan is in het Latijn en een deel in het Frans.

Fijne jaarwisseling!

#top2000: lengte van de liedjes

<update: Heatmap met de lengtes van de nummers van de TOP 2000 toegevoegd. Klik op het plaatje om te vergroten>

Een paar dagen geleden vroeg ik om hulp bij het vullen van de database van de Top 2000 die ik bijhoud. En dat hebben er een boel gedaan! Een stuk of 12 fijne twitteraars hebben meegeholpen en op dit moment, vrijdag 28 december, 20.35 uur is meer dan 70% van de database gevuld. Grote klappen zijn gemaakt door Quint, mijn oud-leerling die de Spotify-API heeft gebruikt om automatisch de Spotify-link, de cover-art en de lengte van de nummers erin te zetten. Meer dan 90% van de nummers kon hij zo vinden. Jeroen, een van mijn oudste twittervrienden noteerde de niet-Engelstalige nummers uit en anderen gingen op zoek naar moeilijke nummers en artiesten. Heel vrolijk!

Een van de zaken waar ik erg benieuwd naar was en ben, is de lengte van de liedjes. En vandaag heb ik die helemaal aangevuld. Het is nu volledig. Let op: er bestaan vaak verschillende versies van nummers en de tijdsduur die op wikipedia staat is niet altijd helemaal gelijk aan die op Spotify staat maar grosso modo klopt het redelijk. Highlights en grafieken!

Highlights:

  • Het kortste nummer in de Top 2000 van 2018 is “Mercedes Benz” van Janis Joplin. Het duurt nog geen twee minuten: 1:47. Er zijn slechts drie andere nummers die korter duren dan twee minuten: “Georgia On My Mind” van Ray Charles (1:58), “For no one” van The Beatles (1:59) en “Blue Suede Shoes” van Elvis Presley (ook 1:59).
  • Het langste nummer is “Echoes” van Pink Floyd (plek 307):  23:32. Goede tweede is “Autobahn” van Kraftwerk (22:47, plek 906).
  • Er zijn 10 nummers die langer duren dan 10 minuten, de kortste van deze is van Deep Purple: Child in Time (!)
  • Als je alle nummers helemaal wil draaien ben je 144,5 uur kwijt. Dat zou moeten passen. De uitzending begon op 1e Kerstdag, 25 december om 08.00 uur en dus zijn er 16+6×24=160 uur beschikbaar. Het zou wel betekenen dat er maar zo’n 15,5 uur beschikbaar zou zijn voor praatjes, reclame en nieuws. Dat is ongeveer 5,5 minuut per uur. Dat wordt niet gehaald.
  • De gemiddelde lengte van een nummer uit de top 2000 is 4:20. De mediaan is 4:04 (de helft van de nummers is langer dan dat en de helft korter).
  • De meest voorkomende lengte van een nummer is 3:33. 25 nummers hebben die lengte (dit is dus de modus). Hiernaast staat de lijst van de nummers die 3 minuten en 33 seconde duren (niet kijken als je niet ge-Rickrolled wil worden).

Grafieken

Hieronder vind je een paar grafieken over de lengtes van de nummers. Als eerste een overzicht van alle lengtes. De lange en de korte zijn netjes verdeeld.

Nu met de hele lange en hele korte eruit. Het lijkt erop dat er wel wat meer langere liedjes bij de eerste 800 nummers staan.

De verdeling van de nummers. De meeste nummer zijn tussen de drie en de vier minuten lang, op de voet gevolgd door de categorie tussen vier en vijf minuten.

Hieronder zie je leverdeling van alle nummers (dus niet per minuut:

“Vroeger had je veel langere nummers!” Deze claim is ook te bekijken. Hieronder zie de grafiek van de lengte van de nummers door de jaren heen. Je ziet dat we begonnen met hele korte nummers. In de jaren zeventig werden ze soms heel lang maar daarna lijkt het uit te vlakken.

Arjan van der Meij

Binaire tegels

Na een hack verdwenen alle posts van onze site. Ik haal er af en toe eentje weer op, van het Internet Archive. 

Andere getallenstelsels dan ons tientallig stelsel vind ik al heel lang heel fascinerend.

Twaalftallig ( “It’s counting, Jim, but not as we know it!”, zie hier) maar vooral binair. Tweetallig. Alleen met nullen en enen alle getallen kunnen maken die je maar wilt. Gekke rekenregels als: verdubbelen betekent een 0 erachteraan plakken (101+101=1010, oftewel 5+5=10). En die prachtige patronen. Kijk maar hiernaast. De minst belangrijke bit (rechts) alterneert telkens: even is een nul aan het eind, oneven een 1. De bit daarnaast alterneert om de twee, de bit daarnaast om de vier enzovoort. Het is van een verbluffende schoonheid.

Als een echte nerd, zat ik een paar jaar geleden te klooien met een binair patroon. Het begon met een vierkant raster van 3×3, dat ik binair wilde vullen. Dus starten met een leeg vierkant, dan links bovenin zwart, dan de tweede, dan de eerste en de tweede, dan de derde, etc. Zie hieronder voor de start van het patroon:

Je kunt dan dus op negen plekken een witte of zwarte vulling hebben. Dat betekent dat je dus 29 = 512 vierkantjes hebt. Ik wilde het graag in een vierkant plaatsen. Dat was even lastig: √(512)=22,63. Ik besloot het vierkant 23×23 te maken. Dat betekent dat ik 23×23-512=529-512=17 vierkantjes niet kon vullen.

Wat moest ik nu met die 17 lege vakjes? Ik maakte eerst in een tekenprogramma (Fireworks) alle vierkantjes. Veel werk maar door de herhalende patronen  in een uurtje klaar. Het was mooier dan ik had gedacht. Allerlei patronen die zich plotseling manifesteerden! Maar ik had nog steeds die 17 lege vakjes. Ik zag dat sommige vakjes net een letter leken. Even puzzelen en ik had een oplossing. Ik plakte ergens in het midden die vakjes die “binary tiles” vormden. Dat zijn 12 letters. Een spatie erbij en het was klaar.Voor een goede-doelen-actie op mijn school heb ik er twee afgedrukt en verkocht. Mijn eerste verkochte kunstwerken! Maar het bleef een beetje kriebelen.

Het feit dat er niet een mooi vierkant van een 3×3 model te maken is, zat me dwars. En de oplossing ligt om de hoek! Een 4×4 model kan makkelijk in een vierkant. Er zijn 16 plekken, dus er ontstaan 216 =65.536 vierkantjes. En  √(65.536) = 256!

Maar. 65.536 tegels maken. Als je er 1024 per avond maakt, ben je toch nog 64 dagen bezig! Dat moet dus anders. Gelukkig zijn binaire getallen de natuurlijke vrienden van programmeren! Dat moet dus kunnen. Nu was het alweer een tijdje geleden dat ik had geprogrammeerd en ik moest ook een programmeertaal vinden die grafisch werkt. Na een avondje zoeken en proberen, besloot ik te gaan werken met een programmeertaal waarmee ik in een ver verleden wel wat had gewerkt: PHP.

Als je dat niet zo vaak doet, wordt je code niet heel efficiënt maar het lukt me uiteindelijk. De code staat hier (als een plaatje) onder.

En weer, zoals altijd eigenlijk, werd ik overvallen door de kracht van programmeren. Met een paar regels code een vlak van 1793×1793 pixels vullen, precies op de manier zoals ik dat wilde, dat is welhaast magie.

Dit is alweer een tijdje geleden. Ik heb het eens laten afdrukken maar vergat toen dat het nogal klein is. Op 30×30 cm is één vierkantje slechts 30/256=0,12 cm groot. En dat is niet te zien. En ja, dan komen er weer andere zaken voorbij en ik vergat het.

Een week geleden liet ik het fotoalbum van onze vakantie in Wales afdrukken en dacht ik plotseling aan mijn pixelart, mijn binaire tegels kunstwerk. Ik heb uitgerekend dat als de foto afgedrukt zou worden op 100×100 cm het wel te zien zou zijn (100/256=0,4 cm). Ik zocht naar de juiste (lees: niet zo dure) afdrukcentrale (posterxxl.nl), zag dat een 120×120 cm poster een paar euro meer was dan de 100×100 cm poster, koos de eerste en drukte op de Verzend-knop. Een paar dagen later kwam de (enorme) koker binnen.

Wat een feest! Ik kan er uren naar kijken. Je ziet hiernaast het eerste stukje, linksboven. Ik heb ervoor gekozen het vlakke in een zwart kader te plaatsen en tussen elke tegel een pixelbreed randje te zetten. 16×16=256 tegels. Van zo’n stukje zijn er dus nog 256. Het begint links bovenaan met een volledig zwart vakje, meteen daarnaast zie je 0000000000000001, daarnaast 0000000000000010, daarnaast 0000000000000011 etc. Rechts onderaan zie je, als je goed kijkt, 0000111100001111 (3855).

Hieronder zie je hem helemaal, uitgespreid over de grond in onze woonkamer:

En wat nu? De afdruk is dus goed gelukt. Ik ga deze plakken op een stuk foamboard en ik hang hem in mijn lokaal. Ook ga ik hem nog eens bestellen maar dan achter plexiglas opgeplakt of op aluminium. Duur maar mooi.

En een volgende grootte? Een vierkantje van 5×5 heeft 225=33.554.432 mogelijke invullingen. Dat is veel. Bovendien is deze niet vierkant af te drukken; √(33.554.432)=5792,61875148. Een vierkantje van 6×6 dan? Dat zijn nog veel meer vierkantjes: 236 = 68.719.476.736. Dat zijn er wel extreem veel. Deze is wel vierkant af te drukken: 262.144 x 262.144. Als ik de vierkantjes dan echter op dezelfde grootte (0,4 cm, zie boven) wil afdrukken wordt de poster meer dan 1000 x 1000m. Ik vermoed dat weinig afdrukcentrales dit aankunnen.

Update 02:

Raymond (ook een #plakkerenknipper, zie twitter) heeft een LED-paneel de patronen van de Binaire Tegels laten afspelen. Supervet! Bedankt man!

Update 01:

Ik heb een video geschoten vaneen virtuele vlucht over de poster. Van linksboven via rechtsboven naar rechtsonder. Geeft een beeld hoe groot het is.

Rechten e.d.

Ik heb de code en de uiteindelijke jpg-file van de tegels niet beschikbaar gesteld. Het is namelijk best veel werk geweest om dit te maken. En een digitale kopie is exact. Mocht je geïnteresseerd zijn, mail me dan even: arjan@plakkenenknippen.nl. Ik denk overigens dat degenen die belangstelling hebben, wellicht zelf zo “nerderig” zijn dat ze dit, zeker met mijn uitleg, best zelf zouden kunnen maken.

Vreugdevuur der nerdigheden

Na een hack verdwenen alle posts van onze site. Ik haal er af en toe eentje weer op, van het Internet Archive. 

Op 30 december 2015 fietste ik met mijn vrouw langs de opbouw van het vreugdevuur op het strand bij Duindorp. We waren niet de enige en dat is logisch. Wat een onvoorstelbaar bouwwerk. Jongens met korte haren en zwarte truien werken zich de longen uit het lijf om de alle pallets naar boven te krijgen. Waar in de voorgaande jaren vaak een trap van pallets werd gebouwd om de boel naar boven te krijgen, werd er nu gewerkt met liften waar telkens een paar jongens mee naar boven reisden om de paleis aan te geven aan de jongens bovenop. Uit een keet verder klinkt harde “hakmuziek” en er branden een paar vuurtjes om de stapel heen. Een stuk of honderd mensen (zoals wij) staan naar dit spektakel te kijken. Er is sprake van een stevige sponsoring (lokale bedrijven vaak).

In Scheveningen wordt er ook een gebouwd en in lokale sociale media wordt de strijd wie het hoogste komt breed uitgemeten. Uiteindelijk wint Duindorp. Uiteindelijke hoogte: 33,80 meter. Scheveningen komt niet verder dan 33,25 m (een verschil van een laag van vier pallets). Om precies 0.00 uur op 01-01-2016 worden beide vuren aangestoken.

Na korte tijd staat de stapel in vuur en vlam en is het nog lang feest rondom de toren. Ik lag om een uur of een in bed (na een drukke verjaardag) maar kon niet direct de slaap vatten. En wat ik dan vaak doe is rekenen. Ik had, toen ik bij de stapel stond, al gezegd in een tweet dat ik een som zag bij het aanschouwen van de stapel.

Door mijn geweldige collega Tom Kooij werd ik binnen een paar minuten op mijn wenken bediend:

Alles in ordegroottes dus er was voor mij nog wel iets te rekenen over. Met de iPad in de hand ging ik aan de slag. Nu, rustig zittend achter de computer, doe ik dit nog eens wat preciezer. Wellicht ook aardig voor de mensen die in de eerste nacht van het nieuwe jaar iets anders aan het doen waren.

Eerst ben ik op zoek gegaan naar de afmetingen en de massa van een pallet. Dat was snel gevonden.1,20 bij 0,80 m groot en 0,144 m hoog. Gemiddeld massa: 25 kg. Dat was een mooi begin.

De stapel is niet rechthoekig maar loopt wat taps toe. Ik schatte in de nacht in dat het gemiddeld aantal pallets aan een zijde vijftien was. Ik doe dat nu iets nauwkeuriger. Ik neem de laag die hiernaast aangegeven staat met de rode pijl als gemiddelde laag. Nadat ik weg was zijn er nog een boel lagen pallets opgelegd dus ik denk dat dat wel klopt.

Van deze laag tel ik het aantal pallets naast elkaar. Zie het plaatjes hieronder.

Het is nog niet gemakkelijk te zien maar het zijn er volgens mij dertien. Dat betekent dat er op een laag gemiddeld 169 liggen. Het totaal aantal berekenen is daarna niet meer zo moeilijk. De totale hoogte is bekend: 33,80 m. Dus om het aantal lagen pallets uit te rekenen hoef ik slechts de totale hoogte, officieel vastgesteld op 33,80 m te delen door de hoogte van één pallet (0,144 m): 33,80/0,144 = 235. Er zijn dus ongeveer 235×169=39715 pallets opgestapeld. Voor het gemak ga ik verder met 40.000 pallets. Meteen de eerste conclusie: dit is best een dure aangelegenheid: de goedkoopste, C keus, 3e keus, pallets kosten vanaf 90 stuks: €4,00 per stuk. Dus deze stapel kost zo’n €150.000.

Hoeveel energie leveren al deze pallets bij elkaar, als je ze verbrandt? Om dit te kunnen uitrekenen, hebben we de verbrandingswarmte van hout nodig. Die kun je op internet vinden maar verschilt nogal, tussen de 10 en de 20 MJ/kg. Ik gebruik hier de laagste waarde (lager dan in mijn tweets) omdat daar rekening gehouden wordt met een het feit dat er geen volledige verbranding plaatsvindt, dus dat het rendement laag is. Dus 10 MJ/kg.

De totale houtmassa (een kleine deel van de massa wordt natuurlijk gevormd door de ijzeren spijkers maar dat verwaarloos ik) is 40.000 x 25 = 1.000.000 kg (1000 ton). Deze leveren dan 1.000.000 x 10 = 10.000.000 (tien miljoen) MJ. Dat is dus 1·10¹³ J. Dat lijkt veel maar is dat ook zo? Mijn leerlingen leer ik ook dat je pas kunt zeggen of iets veel, groot, klein of snel o.i.d. is, als je het vergelijkt met een bekende waarde.  De waarde waarmee ik het ga vergelijken is de de hoeveelheid energie die een normaal gezin verbruikt in een jaar.

Op deze site staat dat een gezin met twee kinderen gemiddeld per jaar 4600 kWh elektrische energie gebruikt en 1720 m³ gas verstookt. De (netto) verbrandingswarmte van Gronings aardgas is 32 MJ/m³. Dus dat betekent dat er 1720 x 32 = 55.040 MJ per gezin aan aardgas wordt gebruikt. 1 kWh komt overeen met 3,6 MJ, dus het elektriciteitsverbruik per gezin per jaar is 4600 x 3,6 = 16.650 MJ. Bij elkaar is dit dus 71.600 MJ = 7,16·10¹⁰ J per gezin per jaar.

Kijk. Dit betekent dat er dus  1·10¹³/7,16·10¹⁰ = 140 gezinnen een jaar lang hun huishouden kunnen runnen van de energie die vrijkomt bij de verbranding van deze houtstapel. Dat is best veel (wel minder dan de 750 die ik in de nieuwjaarsnacht uitrekende maar toch).

Het is ook nog interessant om eens te kijken naar het vermogen: de hoeveelheid energie die per tijdseenheid vrijkomt. Om hier iets over te kunnen zeggen, moet ik weten hoe lang deze stapel brandt. Ik keek de volgende ochtend om een uur of tien. Het vuur was (min of meer) uit en er werd al opgeruimd. Ik heb even gezocht en vond een tweet met een foto waarop te zien is dat hij al redelijk aan zijn eind kwam. Ik ga uit van een brandduur van ongeveer vier uur. Het vermogen is dan makkelijk uit te rekenen: 1·10¹³/(4 x 3600) = 7·10⁸ W, dus zo’n 700 MW. Dit is een verbijsterend vermogen! In de ordegrootte van een energiecentrale. Kijk maar eens naar deze lijst.

Korte samenvatting:

  • Ongeveer 40.000 pallets worden er gebruikt.
  • De totale balletmassa: 1.000.000 kg
  • Kosten pallets: €150.000
  • Hoeveelheid energie die vrijkomt: 140 x de energie die een gezin verstookt in een jaar
  • Vermogen: 700 MW.

Indrukwekkende getallen, zeker ook als je bedenkt dat het vreugdevuur in Scheveningen ongeveer even groot is. Bij mijn eerste tweets werden hier ook wat vraagtekens bij gezet. En dat begrijp ik. Het is veel energie, er komt viezigheid bij vrij en het kost een berg geld. Aan de andere kant levert het plezier op voor jongelui die wellicht anders ergens anders vreugdevuren zouden stoken. En wat kost een open haard per jaar aan hout? Er zijn ook berichten dat deze niet al te goed voor het milieu en de gezondheid zouden zijn. Zeg het maar (in de comments).