Wir machen Scratch. Z.B. https://scratch.mit.edu/users/rayquazalegendbest/ und https://scratch.mit.edu/users/pokedote/
Und Farbmischer mit Javascript von anno dazumal: https://html-ag.wvs-berlin.de/Javascript/farbmischer.htm#
Nächste Mal normal.
Wir machen Scratch. Z.B. https://scratch.mit.edu/users/rayquazalegendbest/ und https://scratch.mit.edu/users/pokedote/
Und Farbmischer mit Javascript von anno dazumal: https://html-ag.wvs-berlin.de/Javascript/farbmischer.htm#
Nächste Mal normal.
Zwei SuS aus J5 sind da. „Wir“ machen Scratch. Der Frosch soll nicht so schnell hüpfen, aber wir finden nicht, wo sich das einstellen lässt. Angelo und Jakob sind auch da. Wir reden u.a. über Delphi 😉 – wurde damals von Herrn Frank gelehrt. Bzw. die IDE hieß wohl Delphi.
Wir finden ein altes Foto von April 2006 – https://html-ag.wvs-berlin.de/html-ag-apr-06-500px.jpg – und eins mit Rob – https://html-ag.wvs-berlin.de/html-ag-ohne-phil-mit-rob-500px.jpg
Nächste Mal normal.
Herbstferien sind vorbei. Angelo ist auch da. Und zwei aus J5 wie vor den Ferien. Wir machen Scratch und Geogebra und Manim. Nächste Mal normal.
Das erste Mal nach den Ferien. Heute ist Schulfest. Es ist kalt draußen. Angelo und Morten sind da.
Angelo macht Differenzialgeometrie.
Nächste Mal normal.
Morten und Angelo sind da. Schule ist ziemlich leer. Wir reden auch über Emacs. Angelo benutzt es mit Lisp. Irisch und Ergativ kommen auch vor in unseren Gesprächen. Nächste Mal ist letzte Mal. Vor den Ferien. Findet vermutlich nicht statt. Dann wieder nach den Ferien.
Wir reden über https://wiby.me/
Es geht auch um Internet und Usenet:
Das Internet und Usenet sind zwei verschiedene Dinge, die oft verwechselt werden:
Das Internet ist die grundlegende Netzwerkinfrastruktur – ein weltweites Netzwerk von miteinander verbundenen Computern, das verschiedene Protokolle wie HTTP, FTP, SMTP und andere verwendet. Es ist sozusagen das „Straßennetzwerk“ der digitalen Welt.
Usenet hingegen ist ein spezifischer Dienst, der über das Internet läuft. Es ist ein dezentrales Diskussionssystem, das aus tausenden von Newsgroups besteht – thematisch organisierten Foren zu allen möglichen Themen.
Die wichtigsten Unterschiede:
Entstehung: Usenet entstand 1980, noch vor dem modernen Internet. Ursprünglich lief es über UUCP (Unix-to-Unix Copy Protocol) zwischen Universitäten und wurde später ans Internet angebunden.
Struktur: Das Internet ist eine Infrastruktur für viele verschiedene Dienste (Web, E-Mail, etc.), während Usenet ein einziger, spezialisierter Diskussionsdienst ist.
Funktionsweise: Usenet funktioniert nach einem „Store-and-Forward“-Prinzip – Nachrichten werden zwischen Servern synchronisiert und eine Zeit lang gespeichert, bevor sie automatisch gelöscht werden.
Heutige Relevanz: Während das Internet allgegenwärtig ist, wird Usenet heute hauptsächlich noch für den Austausch großer Dateien und in spezialisierten Communities genutzt.
Vereinfacht gesagt: Das Internet ist das Netzwerk, Usenet ist eine Anwendung, die darüber läuft.
Abistreich war heute. Schule ist leer. Morten und Angelo sind da. Angelo hat einen monadischen Parser geschrieben.
Nächste Mal normal. Noch zwei Mal, dann Ferien.
Claude fässt wie folgt zusammen:
Ein Gastbeitrag der Computer-AG über funktionale Programmierung und Parser-Design
Ein Entwickler namens Angelo hat einen monadischen Parser in OCaml geschrieben, der zeigt, wie elegant funktionale Programmierung sein kann. Sein Code ist ein perfektes Beispiel dafür, warum OCaml in der Compiler-Entwicklung so geschätzt wird.
Was ist das? Ein Parser, der Code einer kleinen Programmiersprache lesen und verstehen kann – ähnlich wie wenn ihr euren Python-Code ausführt, muss der Computer ihn erst „parsen“.
Angelo verwendet Monaden – ein Konzept aus der Mathematik, das in der funktionalen Programmierung sehr mächtig ist:
let (>>=) p f stream =
match p stream with
| None -> None
| Some (x, stream') -> f x stream'
Was passiert hier? Parser können elegant miteinander kombiniert werden. Wenn einer fehlschlägt → Stopp. Wenn er erfolgreich ist → Weitermachen mit dem nächsten.
Das ist wie beim Dominoeffekt, nur dass intelligente Fehlerbehandlung eingebaut ist!
type lazy_stream = Stream of (unit -> (char * lazy_stream) option)
Warum ist das schlau?
Hier wird’s richtig cool! Der Parser versteht, dass 2 + 3 * 4 gleich 2 + (3 * 4) ist:
let prec = function
| Multiply | Divide -> 6
| Add | Subtract -> 5
| Equ | Neq | Less | LEqu | Greater | GEqu -> 4
Das Problem: Wie bringt man einem Computer bei, dass * vor + kommt? Angelos Lösung: Elegante rekursive Funktionen, die die Mathematik-Regeln befolgen.
Input:
if a = 2 then
b := 1
else
x := y + 3*4
Was der Parser daraus macht:
if, a, =, 2, etc.IfElse (
Binary(Equ, Symbol "a", Number 2),
Binary(Assign, Symbol "b", Number 1),
Binary(Assign, Symbol "x",
Binary(Add, Symbol "y", Binary(Multiply, Number 3, Number 4)))
)
Angelo’s Code zeigt: Mit den richtigen Abstraktionen werden komplizierte Probleme einfach.
Für die Computer-AG:
Für euer Studium/Beruf:
Was Angelo richtig macht:
Rating: 9/10 – Das ist Profi-Code! 🚀
Wer traut sich?
Nächstes Treffen: Wir schauen uns gemeinsam an, wie man sowas implementiert!
Interesse geweckt? Kommt zum nächsten Computer-AG Meeting! Wir experimentieren mit funktionaler Programmierung und bauen vielleicht unseren eigenen kleinen Parser. 💻
Dieser Post entstand nach der Analyse von Angelo’s exzellentem Parser-Code. Thanks Angelo für das Teilen! 🙏
Angelo und Morten sind da, es war Abitur, wir reden über AI im Wesentlichen, Claude und ChatGPT. Robert macht Sachen mit Claude und ChatGPT. Und es wurden Videos erstellt. Wann wird gegrillt ist die wichtige Frage. Wir sind übrigens am schrägen Tisch im Raum 206. Wir generieren auch Bilder mit ChatGPT.

Morten ist da. Wir sind im 206er. Angelo bringt seinen PDP1-Emulator mit und demonstriert ihn. Papiercode wird eingelesen. Mit Javascript kann er über unter 400 Zeilen Go den Emulator über Javascript steuern. Claude fasst das wie folgt zusammen:
Bearbeiten
In unserer Computer-AG haben wir die Verbindung von Computergeschichte mit moderner Webtechnologie untersucht. Das vorgestellte Projekt macht einen PDP-1-Emulator (frühe 1960er Jahre) über Webtechnologien zugänglich.
Die Architektur besteht aus drei Komponenten:
Go eignet sich für diese Middleware-Rolle durch:
Alternative Implementierungen:
Das Projekt demonstriert:
Nächste mal normal, wir sprachen über Sprache.
Mottowoche letzter Tag. Angelo war da und wir haben über AI und Python gerdet. Jakob hat auch kurz reingeschaut. Nächste Woche ist Abi, dann noch einmal eventuell, dann Osterferien.