jun 082020
 

Learning Locker, de LRS die we gebruiken voor de pilot/demonstrator binnen Allyoucanlearn (zie ook deze aantekeningen) heeft ingebouwde mogelijkheden voor het bouwen van dashboards. Tot nu toe heb ik daar niet zo’n heel goede ervaringen mee. Het maken van overzichten die zouden kunnen dienen als voorbeelden voor gebruik tijdens gesprekken met docenten en studenten als het gaat om hun behoeften aan informatie, wil nog niet echt vlotten.

Bij de Veracity LRS heb je binnen de omgeving tamelijk uitgebreide rapportagemogelijkheden (zie deze demonstratie) maar die mogelijkheid is alleen aanwezig in de online versie, niet in de gratis downloadbare versie. Hoewel de video tamelijk chaotisch is, beschikt die over iets dat “aggregation pipeline” heeft als onderdeel van de omgeving waarmee de widgets voor het dashboard maakt. En zover ik kan overzien is dat bij Learning Locker niet aanwezig. Daarom ging de zoektocht in eerste instantie verder naar andere (generieke) dashboard tools om te bekijken of die ook geschikt zijn.

Een van de tools die daarbij naar voren kwam is Redash. Net als veel van zulke tools (en Learning Locker) heeft Redash een betaalde, online, versie van de dienst en een open source versie die je zelf kunt downloaden en installeren. Een sterk punt van Redash is het grote aantal databronnen waar de omgeving verbinding mee kan maken. Ik had een Sqllite database waarvan ik de dashboard resultaten niet kan delen, maar de omgeving kan we mee overweg, net als met Google Sheets, SQL Server, MySQL, MongoDB, InfluxDB om er maar een paar te noemen. Hoewel Learning Locker zelf gebruik maakt MongoDB was de keuze in dit geval om niet rechtstreeks een verbinding op te zetten, maar via de JSON interface van Learning Locker. Daarmee komt de werkwijze namelijk overeen met een situatie waarbij het dashboard ook ergens anders kan worden gehost.

Lees verder….

mei 302020
 

Usually I write my blogposts in Dutch. Because there are still a lot of people in the Netherlands that have more difficulty reading English than Dutch. Sometimes I make an exception if the topic is more technical than otherwise. Because then, the chances of anyone other than myself reading the post increases a lot. This is one of those posts.

Last week, I wrote (in Dutch) about the computational thinking challenge of figuring out where we had not yet walked during this COVID-19 era. I also explained that that solutions, based on the tutorials by Fran Polignano had some room for improvement. The Strava client_id, client_secret and refresh_token were visible in the source code and the script did not use caching of the data it retrieves from Strava while Strava limits the number of calls you can make in a specific period of time (and it also is not good practice to not cache such data that changes no more than once a day).

After doing some searching around about possible solutions, I concluded that there is no real feasible “Javascript/client-side script only” option that hides that info. And caching of the data locally is possible, but would still be only half of a solution because every visitor would have to cache it locally and that could still result in more API call than allowed.

Lees verder….

mrt 272020
 

Ze zijn zeker niet nieuw, maar de laatste weken zie en hoor je ze (om voor de hand liggende redenen) met enige regelmaat: virtuele koren of bands. Virtueel omdat de individuele muzikanten of zangers niet op dezelfde plek zitten en meestal ook niet op hetzelfde moment hun deel van het optreden opnemen. Dat laatste is zeker het geval in de situaties waarbij één muzikant meerdere partijen voor zijn/haar rekening neemt.

Ik kreeg de vraag of ik wist hoe ze deze video’s maakten. Het korte antwoord: nee, geen idee.
Het wat langere antwoord lees je hieronder.

Lees verder….

feb 242020
 

Ik weet het: echte ontwikkelaars maken voor hun versiebeheer geen gebruik van Onedrive. Dan moet het op zijn minst via Github. Prima, gebruik ik ook, af en toe. Als iets af is, om te delen.

Maar als ik gewoon wat aan het klooien ben,  als ik bv een TCRT5000 sensor op de watermeter in de meterkast geplakt heb om het ronddraaien van het tellerschijfje te registreren en dat dan weer via MQTT over Wifi vanaf een ESP8266 door te sturen naar een Mosquitto-server zodat ik die waarden in Home Assistant weer kan geven en in influxDB kan archiveren, dan ben ik meestal eerst even gewoon met code aan het stoeien.
Met een beetje mazzel (zoals deze keer) met Over The Air (OTA) updates zodat ik niet op een krukje op USB-kabel lengte afstand van de meterkast hoef te blijven zitten.

Tijdens zo’n traject kan het wel eens voorkomen dat ik denk “oei, nu heb ik een stuk code weggegooid of aangepast en dat had ik niet moeten doen”.

In dat geval kan het helpen om het .ino bestand op te slaan binnen een map die gesynchroniseerd wordt met Onedrive. Privé of zakelijk maakt niet uit. Ik gebruik in dit geval mijn privé Onedrive. Het mooie van Onedrive (en waarschijnlijk een aantal van de andere beschikbare diensten ook) is dat hij aan versiebeheer doet. Dus in dit geval, waarbij ik een stuk code had verwijderd dat ik toch nog wilde gebruiken, ging ik naar onedrive.com, zocht daar de map en het programma-code bestand op en selecteerde een oudere versie. Onedrive kan ze niet online weergeven zodat je even snel kunt knippen en plakken, het bestand wordt gedownload naar je computer. Ook goed. Als backup voor foutjes tijdens het klooien in de Arduino IDE in ieder geval iets wat mij al wat tijd bespaard heeft vandaag. 🙂

Tip: The Coding Train

 Gepubliceerd door om 19:44  Programmeren
feb 092020
 

The Coding Train is eigenlijk een site die niet heel veel toelichting nodig heeft. Je kunt beter gewoon een paar filmpjes van Daniel Shiffman bekijken. Dan weet je snel genoeg of het iets voor je is of niet.

Ik kwam er zelf pas heel recent langs, deze maffe aflevering van Coding in the Cabana was mijn kennismaking. Daarna bekeek ik ook de andere twee afleveringen die er in die serie al waren en ging ik verder met de andere tutorials op het kanaal. Het zal er wel mee te maken hebben dat ik een nerd ben en er dus van kan genieten als een andere nerd helemaal uit zijn dak gaat als hij een programmeeruitdaging opgelost heeft.

Dat Daniel met Processing of P5JS werkt helpt daarbij absoluut omdat al zijn oplossingen wel een grafische component hebben. Dat maakt de resultaten ook interessant, zoals bij deze bijvoorbeeld:

Genoeg gepraat erover: gewoon even kijken! (en laat even weten wat je er van vind).

feb 072020
 

Dat arme GIF. Ooit was het geliefd, toen controversieel vanwege de patenten die er op zaten. Toen die eenmaal verlopen waren ontdekten mensen dat je ook animaties kon maken met een GIF en wat ooit een “animated GIF” was, werd gewoon een “GIF” (uitgesproken als “JIF” blijkbaar).
En ik moet bekennen dat ik er ook een fan van aan het worden was. Op mijn telefoon is het heel eenvoudig om van een filmpje een GIF te maken en dat kun je dan ook weer heel eenvoudig in een blogpost of een tweet opnemen. Speelt automatisch af, is (na invoegen) te resizen, loopt, geen geluid eronder, ideaal dus.

Dat was zo totdat ik Google liet checken of een aantal wijzigingen in de configuratie van de server tot gevolg hadden gehad dat de pagina’s hier sneller geladen werden.

Lees verder….

feb 042020
 

Dit bericht valt in de categorie “hoezo, daar had je nog niet van gehoord?”. Mijn  internet-router thuis heeft een firewall, mijn laptop en mijn desktop hebben een firewall. Voor Linux had ik wel eens van iptables gehoord, maar dat was zo’n mysterieus ding waar ik nooit verder ingedoken was. Als je “gewoon” een website hebt op een shared server, dan doe je er niets mee. Dus tja, hoe moest ik weten (bijna 8 jaar geleden!)  dat op mijn VPS (Virtual Private Server) waar ik Webmin en Virtualweb op geïnstalleerd had, niet over deze extra beveiliging beschikte.

Of in ieder geval, niet op een manier die ook iets leek te kunnen doen aan de toch wel irritante, met enige regelmaat terugkomende pogingen om mijn server te hacken. Die hadden dan alleen tot gevolg dat de arme machine volledig overspoeld werd met verzoeken om in te loggen of om pagina’s op te vragen.

Toen ik afgelopen zondag, toen het dashboard van Webmin weer eens aangaf dat de server het heel erg druk had (en niet vanwege het enorme aantal echte bezoekers) en ik hem hardhandig moest rebooten om weer in de lucht te krijgen, kwam ik tijdens een zoektocht naar mogelijke oplossingen pas voor het eerst ConfigServer Security & Firewall (csf) tegen. Zoals altijd, toen ik die afkorting “csf” eenmaal kende kwam ik een enorme hoeveelheid berichten erover tegen, maar dat was toen voor het eerst.

Lees verder….

jan 222020
 

Ooit was het de YouTube voor foto’s. De plek waar je je foto’s neer kon zetten en iedereen waarvan jij dat wilde ze kon bekijken: de hele wereld, familie, vrienden.  Je hoefde niet langer verkleinde versies te maken van je foto’s, meerdere kopieën te bewaren (het origineel en de webversies), je kon ze en embedden maar ook voor download op volledige kwaliteit beschikbaar maken. Ideaal.

Filmpjes deden ze niet, korte clipjes op een gegeven moment wel, er was een levendige community van mensen die foto’s groepeerden en deelden. Ze hadden een app voor op je smartphone waarmee je rechtstreeks foto’s kon uploaden en bekijken. Nu vanzelfsprekend, maar niet in de begindagen. Datzelfde gold voor de grote hoeveelheid ruimte die Flickr bood aan gratis gebruikers. Op het einde was dat zelfs 1TB (Wikipedia zegt dat dat altijd zo was, maar dat kan ik me in 2004-2005 niet voorstellen).

Lees verder….