logging

Saturday, March 8, 2025

De bijeenkomst 'Access to Justice’ van Stichting CUIC en Privacy First

Hier is je tekst met verbeterde leesbaarheid en een soepelere flow:


Op 6 maart 2025 was ik bij een bijeenkomst in Amsterdam, georganiseerd door Privacy First en CUIC.

De stichting Privacy First heeft naar mijn mening veel raakvlakken met de speerpunten van de Piratenpartij. De bijeenkomst had een sterk juridisch karakter; veel van de ongeveer veertig aanwezigen waren juristen.

Massaclaim tegen Avast

Het eerste onderwerp was de massaclaim tegen Avast, die CUIC namens gedupeerden heeft ingediend. Avast, een Tsjechisch bedrijf dat antivirussoftware levert, heeft via een dochteronderneming gebruikersgegevens doorverkocht (bron). Wat me opviel, is hoe traag dit soort juridische processen verlopen en hoe complex ze worden door nationale wetgeving. De zaak tegen Avast dient niet alleen om schadevergoeding af te dwingen, maar ook om jurisprudentie te scheppen voor toekomstige zaken tegen bedrijven als Alphabet, Meta en Microsoft.

Privacyrecht bij massaschadeclaims

Het tweede deel van de bijeenkomst bestond uit een presentatie van Gerrit-Jan Zwenne, hoogleraar Recht en de Informatiemaatschappij aan de Universiteit Leiden. Hij besprak het privacyrecht bij massaschadeclaims. Zo kan bijvoorbeeld iemand wiens BSN is gelekt rekenen op een schadevergoeding van ongeveer €500. Tegelijkertijd wegen de kosten, zoals griffierechten, vaak niet op tegen de vergoeding voor een individu. Gelukkig biedt de Algemene Verordening Gegevensbescherming (AVG) ruime mogelijkheden voor collectieve claims.

Collectieve privacyzaak: Bangalijsten

Ten slotte gaf advocaat Ina Brouwer een presentatie over de collectieve privacyzaak rondom de slachtoffers van Bangalijsten. De ouders van de slachtoffers spelen hierin een belangrijke rol; hun voornaamste doel is een cultuurverandering. De reactie van Telegram op het verzoek van advocaten om deze lijsten te verwijderen was schrijnend: "The content may be upsetting, but you can unsubscribe."

Meer informatie over online misbruik is te vinden bij organisaties zoals Offlimits.


Laat het weten als je nog iets wilt aanpassen! 😊

Saturday, January 4, 2025

Slimme meter uitlezen met Raspberry Pi Zero

De slimme meter heeft een seriele poort, hierop kan een serieel naar USB kabel (bijvoorbeeld deze Cedel P1 naar USB woe=rden aangesloten. Op de Raspberry Pi Zero is dan nog een USB A Female naar micro USB male kabel nodig.
Dit is uit te lezen met een Python3 programma:
#!/usr/bin/python3
import serial
import string
import re

ser = serial.Serial('/dev/ttyUSB0', 115200, 8, 'N', 1, timeout=1)

time = ""
kw = 0.0

f = open('pir.txt', 'w')

while True:
  ser_data = ser.readline().decode('ascii').strip()
  while ser_data != "":
    if re.match(r'(?=1-0:22.7.0)', ser_data):
      print("20" + time[0:6] + "-" + time[6:8] + ":" + time[8:10] + ":" + time[10:12] + "|" + f"{actual_delivered:.3f}" + "|" + f"{actual_returned:.3f}" + "|" + f"{volt:.2f}", file=f )
      f.flush()
    if re.match(r'(?=0-0:1.0.0)', ser_data):
      time = re.split(r'[()]',ser_data)[1]
    if re.match(r'(?=0-0:96.14.0)', ser_data):
      tariff = int(re.split(r'[()]',ser_data)[1])
    if re.match(r'(?=1-0:1.8.1)', ser_data):
      try:
        delivered1 = float(re.split(r'[(*]',ser_data)[1])
      except:
        delivered1 = -1.0
    if re.match(r'(?=1-0:1.8.2)', ser_data):
      try:
        delivered2 = float(re.split(r'[(*]',ser_data)[1])
      except:
        delivered2 = -1.0
    if re.match(r'(?=1-0:2.8.1)', ser_data):
      try:
        returned1 = float(re.split(r'[(*]',ser_data)[1])
      except:
        returned1 = -1.0
    if re.match(r'(?=1-0:2.8.2)', ser_data):
      try:
        returned2 = float(re.split(r'[(*]',ser_data)[1])
      except:
        returned2 = -1.0
    if re.match(r'(?=1-0:1.7.0)', ser_data):
      try:
        actual_delivered = float(re.split(r'[(*]',ser_data)[1])
      except:
        actual_delivered = -1.0
    if re.match(r'(?=1-0:2.7.0)', ser_data):
      try:
        actual_returned = float(re.split(r'[(*]',ser_data)[1])
      except:
        actual_returned = -1.0
    if re.match(r'(?=1-0:32.7.0)', ser_data):
      try:
        volt = float(re.split(r'[(*]',ser_data)[1])
      except:
        volt = -1.0
    ser_data = ser.readline().decode('ascii').strip()

Dit zal elke seconde een regel schrijven in de file 'pir.txt'. Om dit wat toegangkelijk te maken gebruik ik een bash shell script dat via 'nc' een webserver levert:
while true;
do
        { echo -ne "HTTP/1.1 200 OK\n\n<!DOCTYPE html> <html> <head> <meta http-equiv='refresh' content='4'> </head> <body><h3>"; tail -n 30 pir.txt | sed '{:q;N;s/\n/<br>/g;t q}'; echo "</h3></body></html>"; } | nc -l -k -p 8080 -q 2;
done
Beide applicaties start ik nu nog handmatig met nohup.

Elke 4 seconden zal dit op poort 8080 van de Raspberry Pi de laatste 30 regels van 'pir.txt' tonen met behulp ban de refresh html metatag.
Zo heb je real time inzicht in je stroomverbruik/levering door je zonnepanelen. Getoond wordt: datum-tijd '|' verbruikt kWh '|' tregug geleverd kWh '|' voltage.

De bijeenkomst 'Access to Justice’ van Stichting CUIC en Privacy First

Hier is je tekst met verbeterde leesbaarheid en een soepelere flow: Op 6 maart 2025 was ik bij een bijeenkomst in Amsterdam, georganiseerd...