Skip to content
Snippets Groups Projects
Commit a3789c70 authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Beispiel und Notizen 19.6.2023

parent bd4c67a1
Branches
No related tags found
No related merge requests found
Themen, 24.04.2023, 12:23:42
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:) Definition: Nachhaltigkeit
:) Hardware-Nachhaltigkeit
:) Software-Nachhaltigkeit
:) Rechtliche Aspekte in der IT
:) Urheberrecht: Software-Lizenzen
:) Urheberrecht: sonstige Rechte (z.B. DRM - Digital Rights/Restriction Management)
:) Patentrecht
:) LGPL
:) AGPL --> ChatGPT
:) sonstige Rechte (z.B. Upload-Filter, Leistungsschutzrecht)
- Aktuelles
- In den Nachrichten
- Umweltverschmutzung: https://www.heise.de/-8989454
- KI und Freie Software:
https://www.spiegel.de/wissenschaft/mensch/kuenstliche-intelligenz-es-rollt-ein-tsunami-auf-uns-zu-kolumne-stoecker-a-2410efbd-ab92-4c09-9cde-7d66ab4629c9
- KI und Urheberrecht: https://www.heise.de/-8984836
- Manipulation von Demonstrationen und deren Erkennung:
https://www.spiegel.de/ausland/news-zum-russland-ukraine-krieg-das-geschah-in-der-nacht-zu-montag-8-mai-a-5bce44e1-891c-4b2c-9773-9b4887c0392f
:] Software-Patente: https://www.heise.de/-9069532
;) KI-Drohne erschießt (nicht) ihren Operator: https://www.heise.de/-9162641
:) KIs drehen Filme
- Reddit
:) Rust und Markenrecht
:) Ergebnisse der Heise-Konferenz zu IT-Sicherheit
- Chatkontrolle
- Umgang mit Gesundheitsdaten
:] KI-Modelle (Beispiel: ChatGPT, LLaMA)
--> ChatGPT als zusätzliches Teilnehmendes in dieser Lehrveranstaltung?
o Software-Lieferkette (Software Supply Chain):
Dauerhafte sichere Nutzung von Software
- Qualitätssicherung
o Software-Sicherheit
- Datenschutz
- Rechtssicherheit (Beispiel: ChatGPT, LLaMA)
Material:
- Software Bill of Materials:
https://www.heise.de/select/ix/2022/10/2204811275955203113
(generelles Konzept),
https://www.heise.de/select/ix/2023/4/2232111494480994748
(Tools zur Analyse von Projekten)
- https://en.wikipedia.org/wiki/LLaMA
- Effiziente Ausnutzung von Hardware
- Cloud
- Gemeinschaftliches Hosting
- Datenformate (Beispiel: Vektor- und Pixelgrafik)
- Nachhaltige Benutzerschnittstellen
- Konfigurationsmöglichkeiten und Standardeinstellungen
- CLI/GUI, Skriptfähigkeit
:) Kryptowährungen
Software-Lieferkette, 05.06.2023, 13:50:38
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Aktuell: Sicherheitsprüfung unserer Software
Problem: Welche Software läuft überhaupt?
Wie lauten die Abhängigkeiten?
Beispiel: Software "CVH-Camera", geschrieben von S. Döring
in PULT integriert durch P. Gerwinski
- geschrieben in node.js + JavaScript auf Webseiten
- Installation: Ein Shell-Skript kopiert nur diejenigen Dateien,
die tatsächlich benötigt werden.
- Problem: Dies sind sehr viele, und es kann sich auch rasch ändern.
--> nicht nachhaltig
- Lösung: Alles mit npm aktuell halten und installieren.
- Neues Problem: Mit npm kann man sich auch Bibliotheken mit Sicherheitslücken
installieren. Aufgrund verzahnter Abhängitkeiten wird man die nicht wieder los.
Lösungsweg:
- npm audit: bekannte Sicherheitslücken anzeigen
- npm audit fix: bekannte Sicherheitslücken beheben: neue Versionen installieren
(nur "non-breaking changes")
- npm audit fix --force: ..., auch dann, wenn dadurch Software nicht mehr läuft
(auch "breaking changes")
- Problem: Die Software funktioniert dann u.U. nicht mehr.
Aktuelle Überlegung: Stundenplan-Software, 19.06.2023, 12:32:08
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sprache:
- aktuell (letzter großer Standard: Dezember 2020, in Entwicklung: 2023)
- nicht herstellerabhängig, sondern es existieren freie Lösungen (GCC, LLVM)
- für mich beherrschbar
Bibliotheken:
- möglichst wenige, um von möglichst wenigen abhängig zu sein
--> außer den Standard-Bibliotheken: nur PugiXML (XML-Parser)
Programmierumgebung:
- make mit manuellem Makefile (kein automake, autoconfig o.ä.)
--> "minimalistischer Ansatz"
Sicherheitsaspekte:
- Angriffe von außen: nicht relevant
- Datenschutz:
- Studierendenzahlen
- Lehrende mit Namen
- Rückverfolgbarkeit
- persönliche Vorlieben
--> Trennung der Eingabedateien in datenschutzrechtlich relevante (s.o.)
bzw. irrelevante (Modulhandbuch (MHB), Studienverlaufplan (SVP))
--> konkret: getrennte Eingabedateien für MHB/SVP bzw. für Vorlieben von Lehrenden
Ist dieser Ansatz
- sinnvoll?
- übertragbar auf andere Situationen?
(Bei PULT z.B. ging er nach hinten los.)
--> Sich Gedanken zu machen, ist immer sinnvoll.
--> Für ein überschaubares Konsolenprogramm ist der Ansatz gut.
Problem (z.B. bei PULT): sich ändernde Anforderungen.
Beispiel: Stundenplan-Software mit GUI ausstatten und vermarkten.
--> Dann kein "überschaubares Konsolenprogramm" mehr.
Spontane neue Ansätze dafür:
- GUI ruft Konsolenprogramm auf.
- Trennung Frontend/Backend, Backend als Modul
Modul = Bibliothek, die nur den Algorithmus enthält
Frontend = Software, die die Bibliothek verwendet
--> Bereits jetzt den eigentlichen Algorithmus in eine Bibliothek auslagern
--> Dann: Gedanken machen zu Schnittstellen zu der Bibliothek
Reddit, 19.06.2023, 12:58:56
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ehrenamtliche Moderator*innen nutzen externe Tools über eine API.
Reddit will sich kommerzialisieren und die API nur noch intern nutzbar machen.
(Reddit war von 2008 bis 2017 Open Source.)
Reddit und Twitter haben APIs
(posten, löschen, moderieren, ... Moderation / normale Nutzung / Bots)
Reddit will seine API kostenpflichtig machen.
- Begründung: Finanzierung über Werbung; die ist über die APIs nicht zu sehen.
--> bisher kostenlose Apps werden teuer
--> Moderatoren wollen das nicht bezahlen
--> Moderatoren protestieren, indem sie Foren auf "privat" schalten
"Reddit-Blackout"
--> Der CEO will das aussitzen.
--> Reddit-Alternativen wachsen
API: nur mit Zugangsdaten nutzbar
--> Reddit weiß, welche App wie stark genutzt wird.
Motivation von Reddit: Server kosten Geld. Das muß wieder reinkommen.
- verständlich
- Nachteil für Nutzende: Man muß zahlen.
- Nachteil für Nutzende: Man wird durchschaubarer.
- Anderes Modell: TAZ. Alles wird frei angeboten, man wird aber um Spenden gebeten.
Verwandtes Problem:
- Freiwillige schreiben freie Software.
- Firmen nutzen diese Software, ohne die Freiwilligen dafür zu entlohnen.
- Lösungsansatz: Firmen zahlen gemeinsam in einen Topf ein, aus dem heraus
die Weiterentwicklung freier Software finanziert wird.
- Problem: Software-Nutzende stellen Ansprüche an freiwillige Software-Entwicklende.
Lösungsanaatz: Bug-Tracker wie z.B. bei Github
- Lösungsansatz: Google Summer of Code
- Lösungsansatz: Siehe GNU-Manifesto <http://www.gnu.de/documents/manifesto.de.html>
"Stellen wir uns vor, jeder, der einen Computer kauft, muß x Prozent des
Preises an Software-Steuer entrichten. [...]"
Beispiel: https://www.independent.co.uk/tech/developer-sabotages-code-protest-github-colors-faker-b1990161.html
Projektarbeit, 19.06.2023, 14:20:48
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
JS: Freies Smartphone, VNC (Scroll-Algorithmus)
Freies Smartphone:
- als Navigationssystem nutzbar machen
--> Software existiert; AGPS macht noch Probleme
Jemand arbeitet im Zuge seiner Bachelor-Arbeit daran.
- Kamera des PinePhone nutzen
--> Wahrscheinlich bereits gelöst.
- Mumble auf PinePhone nutzbar machen
- VNC auf PinePhone nutzbar machen
- GUI von GNOME Evolution auf Smartphones nutzbar machen
- Signal und/oder Matrix und/oder XMPP für Pinephone und/oder Librem 5
- Todo-Punkte für Mobian/Pinephone kann man immer unter
https://salsa.debian.org/groups/Mobian-team/-/issues finden
Mumble
- Auf C++17 portieren, danach kann auf Qt 6 umgestellt werden
- Echo-Unterdrückung im Mumble-Client verbessern
YesVNC:
- Web-Interface, um seinen Bildschirm per VNC zu exportieren
- https://streaming.cvh-server.de/vnc/yesvnc-wc-6.html
- YesVNC in gültiges HTML umschreiben:
https://validator.w3.org/nu/?doc=https%3A%2F%2Fstreaming.cvh-server.de%2Fvnc%2Fyesvnc-wc-6.html
(Voraussetzung: Freigabe unter einer Lizenz, die dies ermöglicht)
- YesVNC "hängt", wenn das Browser-Tab nicht im Vordergrund ist.
Mögliche Lösung: WebAssembly
- YesVNC enthält einen Scroll-Detektions-Algorithmus.
Der ist aber für eine JavaScript-Anwendung zu langsam (O(n^6)).
Lösungsansätze:
- WebAssembly
- in x11vnc (C-Programm) einbauen
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment