Een mens moet blijven leren! Op dit moment neem ik JavaScript / P5.js onder handen. Hieronder een aantal resultaten van mijn eerste oefeningen in JavaScript met de P5.js bibliotheek.
Sparcles
Game of Life
Eerder al schreef ik Conway’s Game of Lifewiki al als oefening in Visual Basic in Excel denkend dat ik dan handig gebruik maak van de cel-structuur binnen Excel. Maar de minimale refresh rate is dan 1 seconde en feitelijk zit je iedere generatie te wachten.
Onlangs trof ik het YouTube kanaal The Coding Train aan waarin Daniel Shiffman uitgebreid het ontwerp van animaties en spellen uit legt. Snel, duidelijk en vooral vrolijk.
Rede voor mij om ook hier eens in te duiken – JavaScript beter te leren en dus die P5.
P5.js is een JavaScript bibliotheek die speciaal gemaakt is om beeld dynamisch te genereren. Loops hoef je zelf niet aan te brengen, P5 loopt al met 60 frames per seconde – tenzij je ‘m zwaarder belast. Een leuke oefening en leerzaam.
Om mijzelf iets bedrevener te krijgen in Excel en met name het gebruik van Macro’s en VBA, heb ik mijzelf het doel gesteld twee bekende Cellulaire Automata in Excel te programmeren.
Het bijkomend voorbeeld: die cellen bestaan al in Excel, de benodigde kleuren ook. Alleen de logika komt in het VBA script.
Conway’s Game of Life
De bekendste van de twee is Game of Life waarmee John Conway wilde aantonen dat een paar simpele regels een proces kunnen genereren dat bijna op leven lijkt. Die regels zijn:
Een veld is gevuld met levende en dode cellen.
Wanneer een levende cel zich naast geen of een levende cel bevindt, dan is deze eenzaam en gaat dood.
Wanneer een levende cel zich naast 2 of 3 levende cellen bevindt voelt het zich goed en blijft leven.
Wanneer een dode cel grenst aan precies 3 levende cellen, dan komt deze tot leven.
Wanneer een cel grenst aan 4 of meer levende cellen blijft of gaat deze dood.
De levende cellen worden getoond door deze een contrasterende kleur te geven.
Deze spellen zijn geschreven als oefening in XLS en VBA en kunnen als zodanig beschouwd worden. Je bent vrij om deze te Downloaden, te gebruiken, aan te passen en te distribueren.
De Games draaien op VBA script. Daarom moeten Macro’s geaccepteerd worden.
Dat gezegd hebbende, een berichtje (mail / telefoon) wordt zeer geapprecieerd.
Met de tweede versie Inspectie Tool in PowerApps is een project uitgevoerd waarbinnen 80 kunstwerken (bruggen in de gemeente Lansingerland) zijn geïnspecteerd.
Hierbij zijn we tegen een aantal beperkingen van PowerApps aan gelopen:
PowerApps download zijn werk-data in één keer en borduurt daarop voort. Wanneer twee mensen gelijktijdig in de App werken en toevallig op het zelfde moment een volgnummer (bijvoorbeeld foto ID) aan willen maken, kunnen dubbele waarden voor komen. Dat is niet wenselijk.
Ik de vorige App gebruikte ik de samenvatting van een onderdeel als referentie van foto’s. Wanneer je vervolgens later de kenmerken van een Element of Gebrek wijzigt raak je de referenties bij de foto’s kwijt en moet je ook in die in de Excel lijst bijwerken. Dit levert veel kans op verlies van data of fouten.
Nieuwe opbouw
Daarom is een nieuwe versie gemaakt met de volgende kenmerken:
Ieder item (Kunstwerk/Element/Gebrek) krijgt een eigen GUID (Global Unique Identifier). Hierdoor komen dubbelingen in bijvoorbeeld Foto ID’s niet meer voor.
Sub-onderdelen worden gerelateerd aan de bovenliggende GUID, niet aan de samenvatting. Hierdoor kunnen kenmerken gewijzigd worden zonder de relatie te verliezen.
Gebreken worden direct aan de Decompositie items gehangen, niet aan een inspectie.
Per gebrek wordt de Inspecteur en de Inspectie datum vast gelegd.
Per foto wordt een Object- en Decompositie- of Gebrek referentie vast gelegd.
Per Object kan een foto worden genomen die wordt getoond in de Objectenlijst.
Met alle plezier kom ik deze PowerApp demonstreren en toelichten. Desgewenst is een proef-account beschikbaar zodat u deze zelf kunst testen.
Ook als je een mooie inspectie App hebt als deze: Inspectie Tool in PowerApps, dan blijft het nog een hele klus om alle beloofde bruggen ook echt langs te lopen.
Onlangs hebben wij een project bruggen-inspectie uitgevoerd in de gemeente Lansingerland.
Om de bruggen te vinden hebben we gebruik gemaakt van een Google-Maps kaart met markers voor alle bruggen waarbij de kleur van de markers wijzigt wanneer deze zijn geïnspecteerd.
Na de eerste versie Inspectie Tool in PowerApps in Portrait mode bestaat deze nu ook in Landscape mode. Alles aangaande een Kunstwerk staat nu in één scherm evenals dat aangaande een inspectie.
Daar waar mijn eerste versie Inspectie Tool in Powerapps nog een 80 á 100 uur bouwtijd in beslag nam, behoefde de tweede slechts 16 uur. PowerApps: natuurlijk een stijle leercurve maar in ben benieuwd hoe snel en gecompliceerd de volgende zal zijn; met als voornemen deze te baseren op de CDB (Common Database Service) in plaats van Excel.
Mijn werkzame leven kun je globaal in twee termen vatten:
inspecteur van civiele constructies,.
ontwikkelen en beheren van databases.
Mijn liefde voor Databases begon ooit met Microsoft Access omdat je zo mooi visueel de tabellen kon verbinden en queries maken. Later bekeek je de SQL en zo leerde ik ook de kern van SQL databases. Over de jaren heen heb ik diverse beheerspakketten gemaakt voor inspectie resultaten en bedrijfsprocessen.
Ook voor mijn inspectie activiteiten zou ik graag een digitale mobiele inspectie tool gebruiken. Echter, de bestaande inspectie Apps voldoen vaak niet omdat zij:
te duur zijn,
niet flexibel genoeg zijn,
de decompositie niet vooraf in te voeren is,
niet rechtstreeks met een bestaand OMS gekoppeld kan worden,
de export niet direct verwerkbaar is.
Ik heb inspectie tools gebouwd in MS Access maar deze werden nooit portable omdat deze alleen op Windows draaien. Zodoende heb ik een kleine duizend inspecties uitgevoerd met behulp van MS Excel op een veel te kleine tablet. Oh, wat wenste ik die goede App.
MS Power Apps
Maar onlangs ontdekte ik de Microsoft PowerApps. Een onderdeel van de Office 365 familie. Het zware programmeerwerk is door Microsoft verricht en met betrekkelijk eenvoudige commando’s kun je je eigen toepassing ontwikkelen die zowel werkt op de tablet (iOS en Android), de telefoon als op de PC in iedere browser.
Inmiddels is de eerste functionele App gecreëerd: een inspectie tool die voldoet aan de NEN 2767-4 norm, functioneert zoals je denkt en resulteert in handzame Excel lijsten. Screenshots vind je onder aan de pagina.
Vanzelfsprekend kan deze inspectie tool naar uw wensen worden aangepast of een geheel tailor made exemplaar worden ontwikkeld, toegespitst op up wensen.
Kenmerken
lijsten per Kunstwerk, Decompositie, Inspectie en Gebreken,
de decompositie is on the fly aan te maken of vooraf in te voeren,
een onbeperkt aantal gebreken kan worden aangemaakt,
bij iedere stap kunnen foto’s worden toegevoegd, die op de OneDrive worden opgeslagen,
de GPS locatie van het kunstwerk kan met een druk op de knop worden ingevoerd,
het resultaat zijn overzichtelijke Excel lijsten met decompositie, gebreken en foto’s.
Vereiste Office 365 abonnementen:
Office 365 Business Essentials,
Office 365 Business Premium,
Office 365 Education (-Plus),
Office 365 Enterprise E1 / -E3 of -E5.
Beperkingen:
De PowerApps functioneren binnen uw bedrijfs-Office 365 omgeving,
Iedere gebruiker moet binnen die omgeving zijn geregistreerd,
De Office 365 kosten zijn per maand per gebruiker,
Mensen buiten uw bedrijfsomgeving kunnen deze PowerApp niet gebruiken.
Om mobiel te werken heb je verder nog een tablet met 4G verbinding nodig of maak je een hot spot van je telefoon.