Alternate Data Streams in NTFS

Lang geleden dat we nog eens echt een artikeltje voor de geeks schreven. Hoewel dit artikeltje misschien ook wel geschikt is voor Jan Modaal die een beetje CSI of Bond wil naspelen. 🙂

Sinds Windows NT is NTFS het te verkiezen bestandssysteem. Voor wie niet vertrouwt is met NTFS of bestandssystemen tout court … het systeem draagt zorg voor je bestanden. Voor elk bestand wordt wat informatie bijgehouden in een tabel. Die tabel noemt bij NTFS de ‘Master File Table’, kortweg MFT.

In die tabel houdt NTFS voor elk bestand een aantal attributen bij zoals de naam van het bestand, de grootte van het bestand, wie toegang heeft tot het bestand en natuurlijk een verwijzing naar het bestand zelf, de data. Elk van die attributen heeft een naam, het attribuut dat de verwijzing naar de eigenlijke data bevat noemt bvb. $DATA.

Het $DATA-attribuut kan niet één maar meerdere parallelle ‘stromen’ informatie beheren, nl. de standaard stroom en de alternatieve stromen. Vandaar de naam ‘alternate data stream’.

Open je bv. een afbeelding dan krijg je de informatie te zien die in de standaard $DATA stroom zit. Het vergt wat IT-kennis om de alternatieve stroom te kunnen inkijken en te wijzigen. Aan de slag!

  • Open een opdrachtprompt (dos-prompt)
  • Tik het commando ‘DIR /R’ in. Bemerk in mijn voorbeeld dat er één bestandje in mijn mapje staat nl ‘1.png’ (een afbeelding die ik toegestuurd kreeg in Facebook Messenger en opsloeg) maar dat er een extra stream beschikbaar is genaam ‘Zone.Identifier’. Even kijken wat daarin zit?
  • Tik het commando ‘more < 1.png:Zone.Identifier’. Zoals je in het screenshot ziet staat hier behoorlijk wat tekst. Deze tekst werd door mijn webbrowser opgeslagen in de alternatieve stroom van het bestandje en vertelt waar dit bestandje vandaan komt (uit Facebook Messenger). Virusscanners maken gebruik van deze stroom om het gevaar van een bestand dat werd gedownload in te schatten.
  • Tik het commando ‘echo Dit is geheim > 1.png:Geheim.$DATA’. We hebben nu een nieuwe stroom toegevoegd met de naam ‘Geheim’ en als inhoud ‘Dit is geheim’.
  • Even controleren?

Behalve CSI of James Bond spelen zijn er ook heel wat praktische toepassingen van deze alternate data streams. Zo maakt Dropbox er intensief gebruik van om te weten welke bestanden nog moeten gesynchroniseerd worden.

Als je vragen hebt, aarzel niet mij te contacteren.

Two-factor authentication zonder je smartphone?

Hoe vaak is het jou al overkomen? Je surft naar een website, wil je aanmelden en daar komt de vraag naar de two-factor authentication (=dubbele authenticatie) (=2FA) code … En waar is die smartphone gebleven?

In deze blogpost leg ik je uit hoe je de codes ook op je computer kan laten genereren. Het is aan jou, liefste lezer, om te bepalen of dat in jouw geval een goed idee is. Het doel van dubbele authenticatie (2FA) is om een extra laag van veiligheid te installeren. De ‘hacker’ moet niet enkel je wachtwoord kennen maar ook een toestel van jou in zijn bezit hebben.

Niet zelden slaan mensen hun wachtwoord op in hun browser, als we dan ook nog de 2FA-code laten generen op de computer (ook in de browser) maken we het hackers misschien te makkelijk. Maar ik twijfel er niet aan dat mijn lezers intelligente mensen zijn en de afweging kunnen voor zichzelf kunnen maken.

Wil je meer weten over Two-factor authentication …

Here we go …

Authenticator (https://www.authenticator.cc) is een gratis ‘plugin/extensie/uitbreiding’ voor de meest gebruikte browsers (Firefox, Chrome en Edge) die hetzelfde doet als de two-factor authentication apps op je smartphone => two-factor authentication codes genereren.

Surf naar de website en klik op de blauwe knop “Add to …” gevolgd door de browser die je op dit ogenblik gebruikt. Afhankelijk van je keuze kom je in de omgeving waar je uitbreidingen voor je browser kan vinden. Klik op de knop “Add to chrome” (of iets wat daarop lijkt in jouw keuze browser). Wellicht moet je dit nog eens bevestigen in een popup die vraagt of je zeker bent dat je een uitbreiding voor je browser wil installeren. Bevestig dit.

De plugin ziet eruit als een kleine QR-code en nestelt zich typisch in de toolbar van de browser. Als je erop klikt krijg je nu een leeg schermpje te zien. We moeten accounts toevoegen aan de tool net zoals we dat deden met onze smartphone.

Als we gaan kijken naar omgevingen zoals Facebook, Office 365, Smartschool … die we eerder koppelden aan de tool op onze Smartphone dan vind je daar geen QR-code meer om two-factor authentication te activeren; het is immers al geactiveerd.

Je zal dit dus heel even moeten uitschakelen en onmiddellijk terug activeren. Je krijgt nu wel weer het scherm te zien om 2FA te activeren. (zie screenshot). Klik op de knop van de plugin en vervolgens op het icoontje links naast het potloodje (de melding ‘Scan QR-code’ verschijnt). Van zodra je hebt geklikt kan je met een sleepbeweging van de muis aanduiden waar op het scherm de QR-code te zien is. Quasi onmiddellijk verschijnen nu codes voor deze toepassing in de plugin.

In de meeste gevallen moet je één code invullen om 2FA effectief te activeren in de website. (zoals ook in het screenshot) maar wacht want zodra je dit doet verdwijnt de QR-code voor goed, wellicht wil je de code toch ook op je smartphone kunnen genereren? Weet dat een eventuele oude code niet meer werkt! Scan de QR-code dus ook met de app op je Smartphone. Bemerkt dat de code in de net geïnstalleerde plugin en op je smartphone exact dezelfde is en ook op exact hetzelfde moment wijzigt.

Beveilig de toegang tot je Facebook account beter

Deze blogpost uit december 2015 werd herwerkt in augustus 2020.

Two-factor authentication of dubbele authenticatie was in 2015 misschien nog iets voor nerds, in 2020 de eenvoudigste manier om je te wapenen tegen de steeds toenemende internetcriminaliteit.

Dubbele authenticatie instellen in Facebook is niet moeilijk, het kost enkel een beetje tijd.

Werkwijze (algemeen)

  1. Meld je aan bij Facebook.
  2. In de blauwe titelbalk klik je uiterst rechts op het pijltje.
  3. In het menu dat verschijnt kies je voor “Instellingen”.
  4. Klik links op “Beveiliging en aanmelding”.
  5. Rechts op het scherm klik je op “Tweestapsverificatie gebruiken”.

Bij Facebook heb je meerdere mogelijkheden op vlak van dubbele authenticatie. Wil je een code ontvangen in een app (Google Authenticator of Microsoft Authenticator) of ontvang je de code liever met een SMS’je. Je kan beide opties openhouden.

Optie 1: Werken met een app

  1. Klik op de blauwe knop “Verificatieapp gebruiken”.
  2. Scan de QR-code die verschijnt met de Google of Microsoft authenticator en klik op “Doorgaan”. In de authenticator app verschijnt nu een zescijferige code die om de 30 seconden wijzigt.
  3. Om te bevestigen dat je hier echt mee wil doorgaan moet je de zescijferige code intikken en klikken op “Doorgaan”. Tenslotte klik je op “Klaar”.

Dubbele authenticatie is nu actief.  Je kan ervoor kiezen om ook SMS als dubbele authenticatie te voorzien voor het geval de app dienst weigert. Je kan SMS ook als enige manier voor dubbele authenticatie instellen.

Optie 2: Werken met SMS

  1. Herhaal de eerste 5 stappen uit deze blogpost.
  2. Klik op de knop “Instellen” naast “SMS-bericht”.
  3. Kies het GSM-nummer dat je hiervoor wil gebruiken en klik op “Doorgaan”.
  4. Er wordt gevraagd om de eerste SMS-code in te tikken. Alles alles goed gaat ontvang je die binnen enkele ogenblikken. Klik tenslotte op “Doorgaan”.
  5. Er wordt gevraagd om je Facebook-wachtwoord in te geven, doe dit en klik op “Doorgaan”.

Actief!

Ongeacht of je koos voor optie 1, optie 2 of de beide, dubbele authenticatie is nu actief. Wanneer je probeert aan te melden op Facebook in een browser/computer waarop je dat nooit eerder deed zal je gevraagd worden om naast je gebruikersnaam en wachtwoord ook de code uit de app (codegenerator) in te geven. Indien de app voor jou geen optie is kan je klikken op “Andere verificatiemethode nodig?”, je kan dan aangeven dat je de code per SMS wenst te ontvangen.

Help! Mijn smartphone is verdwenen/gestolen/defect!

Een geheime code via SMS lukt niet en ook de Authenticator app gebruiken kan niet meer.  Voor zo’n situatie kan je VOORAF nood-codes aanvragen.

  1. Herhaal de eerste 5 stappen uit deze post.
  2. Klik op de knop “Instellen” naast “Herstelcodes”.
  3. Klik op de knop “Codes ophalen”. Er verschijnen nu 10 codes die elk één keer kunnen gebruikt worden.

Bewaar de codes op een veilige plek waar niemand ze kan vinden en gebruik ze wanneer je om een of andere reden geen toegang hebt tot je smartphone.

Heb je vragen, opmerkingen of is iets niet duidelijk? Dan hoor ik dat graag.

Beveilig de toegang tot je Twitter account beter

Deze blogpost uit januari 2016 werd herwerkt in augustus 2020.

Two-factor authentication of dubbele authenticatie was in 2016 misschien nog iets voor nerds, in 2020 is het de eenvoudigste manier om je te wapenen tegen de steeds toenemende internetcriminaliteit.

Dubbele authenticatie instellen in Twitter is niet moeilijk en kan zowel op basis van een authenticator app als op basis van een sms-code.

Werkwijze (algemeen)

  1. Meld je aan op http://www.twitter.com met je Twitter gebruikersnaam en wachtwoord.
  2. Klik in het menu links op “Meer” en vervolgens op “Instellingen en privacy”.
  3. Onder de kop “Inloggen en beveiliging” klik je op “Beveiliging”.
  4. Klik net onder de kop “Tweestapsverificatie op “Tweestapsverificatie”. Je kan dubbele authenticatie baseren op een Authenticator app, een sms-code, een fysieke veiligheidssleutel of een combinatie van voorgaande.

Optie 1: Authenticator app

  1. Na de werkwijze hierboven zet je het vinkje aan bij “Verificatie-app”.
  2. Klik op “Start” in het scherm dat verschijnt.
  3. Tik je Twitter-wachtwoord in en klik op “Verifiëren”.
  4. Scan de QR-code die verschijnt met een authenticator app en klik op “Volgende”.
  5. Vul de zescijferige code in die je in je authenticator app vindt.
  6. Je krijgt een “back-upcode” die je kan gebruiken als zowel de authenticator app als de sms-code je in de steek laten. Klik op “Begrepen”.

Optie 2: SMS-code

  1. Na de algemene werkwijze bovenaan deze post zet je het vinkje aan bij “SMS”.
  2. Klik onderaan op het schermpje dat verschijnt op de knop “Aan de slag”.
  3. Klik op de knop “Code verzenden”.
  4. Vul de code die je via SMS ontvangt in en klik op “Volgende”.
  5. (idem als in Optie 1) Je krijgt een “back-upcode” die je kan gebruiken als zowel de authenticator app als de sms-code je in de steek laten. Klik op “Begrepen”.

Actief!

Ongeacht of je nu koos voor optie 1, optie 2 of beide … Dubbele authenticatie is actief. Er wordt gezocht naar een evenwicht tussen gebruiksgemak en veiligheid. Enkel wanneer je je aanmeldt in een browser/op een computer die je niet eerder gebruikte zal je na het ingeven van een juiste gebruikersnaam en wachtwoord ook nog een code moeten ingeven.

Heb je vragen, problemen of opmerkingen? Contacteer mij gerust!

Python project: COVID cijfers per gemeente

De afgelopen maanden heb ik mijn eigen “goede” raad opgevolgd en me wat verdiept in de programmeertaal Python. Wie met data en cijfers aan de slag wil moet de taal zeker overwegen.

Met amper 43 lijntjes code (en het had met minder gekund) slaagde ik erin om 30 JSON-bestanden (één bestand per dag) van de site van Sciensano te downloaden, er één of meerdere gemeentes uit te filteren en die cijfers in een grafiek te gieten.

Het is met ruime voorsprong de eenvoudigste programmeertaal die ik ooit heb geleerd. Wie interesse of vragen heeft mag me zeker contacteren.

Het totale aantal Corona-positief geteste mensen in Kortrijk en Roeselare

In de regels 7 tot 11 bepaald ik de periode van de welke ik gegevens wil downloaden.
In de regels 13 tot 19 download ik de gegevens van de website van Sciensano en sla enkel (de voor mij) relevante gegevens op op mijn harde schijf. Door de informatie lokaal op te slaan moet ik niet voor elke nieuwe grafiek de site van Sciensano belasten.
In de regels 21 tot 37 filter ik uit alle bestanden de gegevens die ik nodig heb en ik vorm ze om tot een ‘dataframe’ die als basis kan dienen voor de grafiek die ik wil. Het volstaat om op regel 22 gemeentes toe te voegen of te verwijderen om meer of minder informatie in de grafiek te krijgen.
Tot slot op de regels 38 en 39 genereer ik de eigenlijke grafiek.

import datetime
import pandas as pd
import json
import matplotlib.pyplot as plt

dateList = []
def define_timeframe():
	a = datetime.datetime.today()
	numdays = 30
	for x in range (numdays, 1,-1):
		dateList.append(a - datetime.timedelta(days = x))

def download_sciensano_raw_data():
	for date in dateList:
		variable = date.strftime("%Y%m%d")
		url = "https://epistat.sciensano.be/Data/"+variable+"/COVID19BE_CASES_MUNI_CUM_"+variable+".json"
		dataframe_import = pd.read_json(url)
		dataframe_export = dataframe_import[["NIS5","TX_DESCR_NL","CASES"]]
		dataframe_export.to_json(r"d:\\sciensano\\"+variable+".json")

def draw_a_graph():
	graph_data_for_cities = ['Kortrijk','Roeselare']
	data_for_dataframe = {}
	data_for_dataframe['datum'] = []
	for city in graph_data_for_cities:
		data_for_dataframe[city] = []

	for date in dateList:
		variable = date.strftime("%Y%m%d")
		url = "d:\\sciensano\\"+variable+".json"
		dataframe_import = pd.read_json(url)

		data_for_dataframe['datum'].append(date.strftime("%d-%m-%Y"))
		for city in graph_data_for_cities:
				data_for_dataframe[city].append(int(dataframe_import[dataframe_import['TX_DESCR_NL']==city]['CASES']))
				
	dataframe_for_graph = pd.DataFrame(data_for_dataframe,columns=['datum'] + graph_data_for_cities)
	dataframe_for_graph.plot.line(x="datum",title="Totaal aantal COVID patiënten sinds 13 maart (evolutie afgelopen 30 dagen)")
	plt.show()

define_timeframe()
#download_sciensano_raw_data	
draw_a_graph()

Tweets opslaan in Excel met Microsoft Flow

Microsoft Flow, onderdeel van Office 365, is een online dienst die het best te vergelijken is met If This Than That. Beide diensten laten toe om “iets te doen” op het ogenblik dat er “iets gebeurt”. Een praktisch voorbeeld is een mailtje versturen (naar jezelf) wanneer iemand een bestandje plaatst in een gedeelde online map (bv. in Dropbox).

Microsoft Flow is relatief nieuw, in elk geval een pak minder oud dan dan If This Than That maar is qua mogelijkheden bezig aan een serieuze inhaalbeweging.

Het idee voor deze blogpost kwam er toen een oud-leerling, Ward Bruggeman, startte met om het uur informatie van zijn weerstation te tweeten. Leuke “echte” informatie voor een les rond statistiek of Excel, dacht ik, hoe kan ik die informatie uur na uur verzamelen. Met Microsoft Flow dus …

Schermafbeelding 1
  • Een aangemeld klik je in het menu links op “Maken” en vervolgens kies je het type “Automatische stroom”.
  • Geef de stroom een naam en kies als trigger “Wanneer er een nieuwe tweet wordt geplaatst”, bevestig met de knop “Maken”. (zie schermafbeelding 1)
  • Kies als zoektekst voor deze trigger “from:@ward_weerman weerstation”. (Microsoft Flow stelt voor om ‘van:@…’ te gebruiken maar dit werkt NIET, het moet ‘from:@…’ zijn). (zie schermafbeelding 2).
Schermafbeelding 2
  • Klik wat lager op de knop “Nieuwe stap”, zoek naar “rij toevoegen” en kies “een rij toevoegen aan een tabel”.
  • Maak een nieuwe Excel document aan, plaats in rij 1 de titels “TweetID”, “Tijdstip” en “Tweet”. Selecteer de eerste rij en klik in het lint op “Start”, “Opmaken als tabel” en kies een willekeurige lay-out. Let er zeker op dat je het vinkje bij “Mijn tabel bevat kopteksten” aan zet. Plaats het Excel document in je Office 365 OneDrive. Geef het systeem enkele minuten tijd om te synchroniseren.
  • In het dialoogvenster “Een rij toevoegen aan een tabel” ga je op zoek naar het Excel-document. Eens gevonden kan je de net aangemaakte tabel kiezen en daarna verschijnen alle kolommen in het dialoogvenster. Bij het aanklikken van de invulvakken naast die kolommen verschijnt het venster “Dynamische inhoud” waar je kan kiezen uit heel wat onderdelen van de Tweet. (zie schermafbeelding 3).
  • Klik op “Opslaan” om deze flow te activeren.
Schermafbeelding 3

Zo lang Ward tweets blijft sturen vanuit zijn weerstation zal er elk uur een lijntje worden toegevoegd aan het Excel-document met daarin het ID, tijdstip en de tekst van de Tweet.

In een volgende blogpost leg ik uit hoe ik de informatie voor Wind, Neerslag, Temperatuur … in verschillende kolommen opsla met Microsoft Flow.

Office 365 ProPlus updates

Eén van de voordelen van het gebruik van Office 365 ProPlus is dat er met de regelmaat van de klok updates voor Office worden gemaakt en aan de gebruikers bezorgd.

Afhankelijk van het “update-channel” dat je kiest krijg je de updates sneller of minder snel.

Voor Office 365 gebruikers is het “update-channel” standaard ingesteld op “Semi-Annual-Channel”. Dit houdt in dat je twee keer per jaar (in januari en juli) updates voor het Office-pakket binnenkrijgt. Het voordeel is dat veel gebruikers je zijn voorgegaan en dat eventuele bugs wellicht al zijn opgelost nog voor ze op je computer zouden terechtkomen. Het nadeel is dat je relatief lang moet wachten op nieuwe toeters en bellen.

Een tweede mogelijkheid is het instellen van het “Semi-Annual Channel (Targeted)” update-channel. Het principe is ongeveer hetzelfde nl. twee keer per jaar updates voor het Office-pakket maar enkele maanden vroeger nl. in maart ipv juli én in september ipv januari. Het doel van dit update-channel is om een beperkt aantal gebruikers de kans te geven om de updates te testen alvorens het grote publiek de updates krijgt voorgeschoteld.

Tot slot is er de mogelijkheid om te kiezen voor het “Monthly-channel”. Je krijgt de updates dan ongeveer maandelijks binnen. Het voordeel is uiteraard dat je de nieuwste toeters en bellen als eerste op je computer krijgt, de zeldzame bugs die hiermee gepaard gaan moet je er dan wel als nadeel bijnemen.

Wat veel gebruikers niet weten is dat je zelf kan bepalen voor welk “update-channel” je kiest. Open je register (Regedit) en ga naar de map“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration”, wijzig daar de waarde van de sleutel “CDNBaseUrl” naar

  • Monthly Channel =>
    http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60
  • Semi-Annual Channel =>
    http://officecdn.microsoft.com/pr/7ffbc6bf-bc32-4f92-8982-f9dd17fd3114
  • Semi-Annual Channel (Targeted) =>
    http://officecdn.microsoft.com/pr/b8f9b850-328d-4355-9145-c59439a0c4cf

Als het niet lukt, reageer dan gerust onder dit artikel of contacteer mij.

Gedeelde bestanden op MS-Teams “alleen lezen” maken.

MS Teams is een online platform dat tot doel heeft om samen te werken aan een project. Het is onderdeel van Office 365 en kan zowel voor zakelijke toepassingen als onderwijs doeleinden gebruikt worden.

Bij een net aangemaakte MS Teams-site kunnen leerlingen (al dan niet per ongeluk) bestanden, die je met hen hebt gedeeld, wijzigen of verwijderen. Om dit te voorkomen doe je er goed aan het onderdeeltje “bestanden” van de MS Teams-site “alleen lezen” te maken voor de leerlingen.

  • Open de MS Teams-site die je wil aanpassen.
  • Klik op “Bestanden”.
  • Klik op “Openen in SharePoint”. (zie schermafbeelding)

Je krijgt je bestanden nu in een minder gebruiksvriendelijke omgeving te zien.

  • Klik uiterst rechts op het “informatie icoontje” en vervolgens op de link “Toegang beheren”. (zie schermafbeelding)

Je krijgt te zien welke groepen toegang hebben tot de bestanden van je MS Teams-site. De namen zijn niet helemaal zichtbaar, daarvoor zijn ze te lang. Laat je muis over de namen bewegen en er verschijnt een klein dialoogvenstertje waarin je de volledige naam kan zien.

  • Ga op zoek naar de groep waarvan de naam eindigt op “Leden”.
  • Onder deze groep staat een link “Kan bewerken”.  Klik op deze link en kies voor “Wijzigen in alleen weergeven”.

Digital signage … makkelijk en goedkoop met Screenly

In steeds meer scholen wordt gebruik gemaakt van grote schermen om leerkrachten en leerlingen te informeren. Er bestaan (dure) commerciële oplossingen en heel wat gratis alternatieven. In deze post leg ik je uit hoe je eenvoudig en goedkoop een goed werkend systeem kan uitbouwen. Ik maak daarvoor gebruik van een Raspberry Pi 3 mod B+ en de open source versie van Screenly.

Naast de Raspberry Pi zelf kocht ik een beschermende behuizing, een bijpassende voeding en een MicroSD kaartje bij Kiwi Electronics voor net geen 70 euro. Uiteraard heb je een scherm nodig met HDMI ingang en een HDMI kabel.

Werkwijze

  • Download Screenly OSE, dit is eigenlijk het OS Raspbian Lite waarop Screenly al is geïnstalleerd.
  • Download en installeer het programma Etcher, daarmee kan je Screenly OSE op de MicroSD kaart plaatsen.
  • Plaats de MicroSD kaart in je computer, gebruik eventueel een externe kaartlezer.
  • Start Etcher. Kies uiterst links de image (Screenly OSE) die je net hebt gedownload, centraal kies je de MicroSD kaart die je net in je computer plaatste. Klik tenslotte op “Flash!”. (zie schermafbeelding hieronder)

Het flashen kan een tijdje duren, na verloop van tijd krijg je een nieuw scherm met de duidelijke vermelding “Flash complete!”.

  • Plaats de MicroSD kaart in de Raspberry Pi en sluit de voeding aan.

Configuratie van het (draadloos) netwerk

  • Als Screenly OSE er niet in slaagt om een netwerkverbinding op te zetten (bv. omdat er geen Ethernet kabel werd aangesloten) zal het zelf een draadloze hotspot aanmaken waarmee je kan verbinden om het netwerk te configureren.  Je krijgt het volgende scherm te zien.

  • Maak verbinding met de hotspot (SSID), meld je aan met het opgegeven wachtwoord (Password) en surf vervolgens naar http://screenly.io/wifi. Je krijgt onderstaand scherm te zien.

  • Kies het (echte) draadloos netwerk waarmee Screenly verbinding moet maken én geef indien nodig het juiste wachtwoord op. Klik tenslotte op “Connect”.
  • Als Screenly erin geslaagd is om verbinding te maken met een (draadloos) netwerk krijg je het volgende scherm te zien …

Configuratie van Screenly

  • Van zodra Screenly verbinding heeft met een netwerk (door een UTP kabel in te pluggen of door een draadloos netwerk te configureren) krijg je onderstaand scherm (kort) te zien.

  • Surf (vanop een computer die met hetzelfde netwerk is verbonden) naar de opgegeven URL om Screenly te configureren.
  • In het configuratiescherm dat verschijnt zie je wat er op het scherm getoond wordt, dit zijn de zogenaamde “Assets”.  Je kan de assets wijzigen, verwijderen en nieuwe assets toevoegen.


Asset toevoegen

  • Klik bovenaan rechts op de knop “Add Asset”.
  • Je hebt de keuze tussen het uploaden van bestanden (bv. een Jpeg-bestand) of het intikken van een URL.
  • Klik op “Save”.
  • De asset is standaard niet actief, klik op het “On/Off” knopje om de asset te activeren.

Interessante asset: Google presentaties

Hoewel het uploaden van assets niet moeilijk is, is het misschien wat omslachtig, zeker voor niet IT’ers.  Door te werken met Google presentaties kan je bepalen wat er op het scherm komt vanuit dit pakket ipv het configuratiescherm van Screenly OSE.

  • Maak een Google-account aan als je die nog niet zou hebben.
  • Maak een nieuwe presentatie aan met Google Presentaties (https://docs.google.com/presentation/u/0/)
  • Klik op “Bestand” => “Publiceren op Internet”.
  • Bepaal hoe lang een slide op het scherm moet blijven staan, vink de aankruisvakjes bij “Diavoorstelling starten zodra de speler is geladen” en “De diavoorstelling opnieuw starten na de laatste dia” aan.
  • Klik op “Publiceren”, bevestig met “Ja”.
  • Kopieer de hyperlink die je te zien krijgt en voeg die toe als een nieuwe asset in het configuratiescherm van Screenly.
  • Configureer de tijdsduur (zie volgend rubriekje) voldoende ruim (bv. 600 seconden). Na die tijdsduur wordt de presentatie door Screenly opnieuw gedownload en wijzigingen die je aanbracht worden vanaf dan getoond op het scherm.

Asset wijzigen (tijdsduur instellen)

  • Klik op het potloodje naast een bestaand asset.
  • De asset zelf (afbeeldingen of URL) kan je niet wijzigen, wel vanaf welke datum tot welke datum die asset moet getoond worden op het scherm én hoe lang (in seconden) de asset op het scherm moet blijven staan alvorens de volgende asset wordt getoond. (duration). Wanneer de laatste asset in het lijstje is getoond wordt gewoon weer de eerste asset getoond.

Gevorderde configuratie – het configuratiescherm beschermen

Het is je misschien niet direct opgevallen maar het configuratiescherm van Screenly is niet beschermd. Elke leerling kan dus de configuratie van je scherm wijzigen en zo dus bepalen wat er op dat scherm verschijnt.

  • Hang een klavier aan je Raspberry en tik CTRL+ALT+F1. Er verschijnt een klassieke Linux-console.
    • Meld je aan met gebruikersnaam “pi” en wachtwoord “raspberry” (opgelet: QWERTY klavier!)
  • Naviveer naar de map “~/.screenly/” (commando: cd ~/.screenly).
  • Wijzig het bestandje “screenly.conf” (commando: pico screenly.conf)
  • Helemaal onderaan het bestand onder de rubriek “[auth]” vind je de parameters “user=” and “password=”. Tik de gewenste gebruikersnaam en wachtwoord in.
  • Verlaat de teksteditor en sla je wijzigingen op. (commando: CTRL+X, bevestig met Y + enter.

Bij het openen van het configuratiescherm wordt nu een gebruikersnaam en wachtwoord gevraagd. Voor het geval de Raspberry op een plaats ligt waar leerlingen er makkelijk bij kunnen is het ook een goed idee om de console user (pi/raspberry) een aangepast wachtwoord te geven.

  • Tik het commando “passwd” in.
  • Geef het oude wachtwoord in en vervolgens 2x een nieuw wachtwoord.

Gevorderde configuratie – een vast IP-adres instellen

Standaard zal Screenly gebruik maken van DHCP op alle interfaces (wifi en bekabeld).  Als je je toestel een welbepaald IP-adres wil geven en/of een aangepaste gateway of dns server … dan kan dat.

  • Hang een klavier aan je Raspberry en tik CTRL+ALT+F1. Er verschijnt een klassieke Linux-console.
    • Meld je aan met gebruikersnaam “pi” en wachtwoord “raspberry” (opgelet: QWERTY klavier!)
  • Open de netwerkmanager (commando: nmtui).
  • Kies “Edit a connection”.
  • Kies uit één van de twee netwerkverbindingen (bekabeld of draadloos).
  • Kies bij “IPv4 configuration” voor “Manual” en klik daarnaast op “Show”. Vul het gewenste IP-adres, subnetmasker, gateway en dns-servers in.

Vragen en opmerkingen zijn uiteraard steeds welkom.

Meervoudige kopnummering in HTML

Een artikeltje enkel voor de geeks onder ons 😉 Een van de dingen die ik heel erg praktisch vind in Microsoft Word is de mogelijkheid een meervoudige nummering te voorzien bij de verschillende titels. Daardoor kan je hoofdstukken en onderdelen ervan zoveel verplaatsen, invoegen, verwijderen als je wil, de nummering van de titels past zich automatisch aan. Het is iets wat ik miste bij het opmaken van webpagina’s maar wat blijkt … ik hoef dit helemaal niet te missen het kan en eigenlijk al vrij lang.

Het toverwoord is “counters” in CSS. De code hieronder is uitgebreid gedocumenteerd maar wie nog vragen heeft kan zeker bij mij terecht.

body {
  counter-reset: niveau1;
  // Op het hoogste niveau wordt een teller "niveau1" aangemaakt en op 0 gezet.
}

h1:before {
// Net voor elke "H1" ...
    counter-increment: niveau1;
    // Elke keer een H1 wordt ingevoegd wordt die teller met 1 verhoogd.
    content: counter(niveau1);
    // De teller wordt getoond.
    display: table-cell;
    // In een tabel cel 
    padding-right: 25px;
}

h1 {
  counter-reset: niveau2;
  // Telkens een H1 geplaatst wordt, wordt een tweede variabele aangemaakt en op 0 gezet.
  display: table-row;
}

h2:before {
// Net voor elke H2
    counter-increment: niveau2;
    // Telkens een H2 geplaatst wordt, wordt de tweede teller met één verhoogd.
    content: counter(niveau1)"."counter(niveau2);
    // De teller van het eerste niveau én het tweede niveau worden geplaatst.
    display: table-cell;
    padding-right: 25px;
}

h2 {
  counter-reset: niveau3;
  // Bij het plaatsen van een H2 wordt een derde teller aangemaakt en op 0 gezet.
  display: table-row;
}

h3:before {
// Net voor elke H3
    counter-increment: niveau3;
    // Telkens een H3 geplaatst wordt, wordt de derde teller met één verhoogd.
    content: counter(niveau1)"."counter(niveau2)".".counter(niveau3);
    // De teller van het eerste, tweede en derde niveau worden geplaatst.
    display: table-cell;
    padding-right: 2em;
}

h3 {
  display: table-row;
}

Met dit stukje test-code …

<body>
<h1>Hoofdstuk 1</h1>
<h2>Hoofdstuk 1 - Deel 1</h2>
<h2>Hoofdstuk 1 - Deel 2</h2>
<h2>Hoofdstuk 1 - Deel 3</h2>
<h1>Hoofdstuk 2</h1>
<h2>Hoofdstuk 2, Deel 1</h2>
<h2>Hoofdstuk 2, Deel 2</h2>
<h3>Hoofdstuk 2 - Deel 2 - Sub 1</h3>
<h3>Hoofdstuk 2 - Deel 2 - Sub 2</h3>
<h3>Hoofdstuk 2 - Deel 2 - Sub 3</h3>
<h2>Hoofdstuk 2, Deel 3</h2>
</body>

krijgen we dit resultaat …