Computer-Ag am WvS Blog der Computer-AG am Werner von Siemens Gymnasium Berlin

24. März 2023

24.3.2023

Gestern waren die Kongressanhörungen zum „TikTok-Ban“. Heute ist TikTok überschwemmt mit Kommentaren der 150.000.000 US-amerikanischen TikTok-User.

Es gibt Webassembly. C oder C++ oder RUST zu Webassembly kompilieren und dann im Browser laufen lassen, effizienter als Javascript. https://developer.mozilla.org/en-US/docs/WebAssembly

Plattformunabhängiges Binär- oder Textformat.

Wir testen diesen Code:

<html>
<script>
//alert("hallo");
var log = console.log;
var wasmImports = {

};
var wasmCode = new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,139,128,128,128,0,1,133,128,128,128,0,0,65,204,33,11]);
var wasmModule = new WebAssembly.Module(wasmCode);
var wasmInstance = new WebAssembly.Instance(wasmModule, wasmImports);
console.log(wasmInstance.exports.main());


var wasmCode = new Uint8Array([0,97,115,109,1,0,0,0,1,134,128,128,128,0,1,96,1,127,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,144,128,128,128,0,2,6,109,101,109,111,114,121,2,0,3,102,105,98,0,0,10,164,128,128,128,0,1,158,128,128,128,0,0,2,64,32,0,65,2,78,13,0,32,0,15,11,32,0,65,127,106,16,0,32,0,65,126,106,16,0,106,11]);

var myfib = 43;
var wasmModule = new WebAssembly.Module(wasmCode);
var wasmInstance = new WebAssembly.Instance(wasmModule, wasmImports);
var start = Date.now();
log(start);
log(wasmInstance.exports.fib(myfib));
var end1 = Date.now();
log(start - end1);

var fib = function (n) { 
  return n < 2 ? n : fib(n-1) + fib(n-2);
}
log(fib(43));
end2 = Date.now();
log(end1 - end2);

</script>
</html>

Javascript ist langsamer als Webassembly.

Wir suchen den ältesten Post zur Kategorie Tisch. https://wordpress.wvs-berlin.de/?cat=8&paged=17

Wir reden über IRC, https://www.oftc.net/ und https://libera.chat/ – nächste Mal wäre das letzte Mal vor den Ferien und Morten könnte kommen.

19. Oktober 2018

19.10.2018

Filed under: Plan 9,Schulnetzwerk,Tagesberichte,Teamviewer,Termine,Tisch — admin @ 14:48

Nic, Jannik, Tim, Quint, Felix, Morten und Angelo sind da. Angelo findet sich mit seiner Aktivität beim Vintage Computing Festival Berlin bei Heise („Plan 9 und 9front – Der Aussteller Angelo Papenhoff hatte das UNIX-Grafikterminal Blit und die Betriebssysteme Smalltalk 76 und Plan 9 als Emulation im Gepäck“) – in einem Artikel und sein Vortrag gibt es als Video.

Daniel und Linus sind noch gekommen. Frau Spyra auch. Angelo und Morten helfen dabei, das Schulnetz etwas „elganter“ zu stecken. Der Server im Keller war nicht erreichbar, weil ein Kabel nicht richtig im Switch in Dr. Rehnerts ehemaligem Zimmer steckte (A03).

Nächste Mal sind Ferien 😉 und übernächste Mal auch. Also nächste AG dann am 9.11.

 

8. September 2017

8.9.2017

Filed under: Computer,Lernserver,Plan 9,Tagesberichte,Termine,Tisch — admin @ 16:05

Jannik ist da. Morten, Angelo und Julian auch. Wir legen das Lan-Kabel von der Bibliothek auf die Buchse A1 im erste Hilfe Raum oder daneben. Wir quatschen über TLDs. Morten setzt Roberts Passwort auf dem Spyraserver zurück.

Wir quatschen über TLDs. Angelo holt sich eine. Irgendwas mit „3d“ und routet die dann auf seinen Server zu Hause. Über he.net oder so.

Nächste Woche wieder normal.

 

7. Juli 2017

7.7.2017

Filed under: Computer,Plan 9,Tagesberichte,Termine — admin @ 14:41

Vorletzte Mal in diesem Schuljahr. Morten ist da. Zum Checken von Datenträgern kann „man“ ht2testw benutzen. Moritz ist da. Johannes auch. Jannik auch. Angelo auch.

Wir reden kurz über Haskell. Robert hat einen Bericht über Eureqa und das Doppelpendel gesehen.

Nach Deinstallation von LibreOffice geht auch die Installation von Impress.

Irgendwie wussten nicht alle was das Usenet ist. Das Video zu Sicherheit (irgendwie im Zusammenhang mit plan9/factotum), was Robert gerne finden wollte, hat er nicht gefunden.

In den Sommerferien gibt es dann mal wie letzten Sommer Grillen im Garten. Ist noch nicht klar wann.

HTML kommt von SGML und das kommt von GML.

Nächste Mal letzte Mal vor den Ferien.

 

 

30. Juni 2017

30.6.2017

Jannik ist da. Morten und Angelo auch. Angelo macht was mit Backus-Naur. Einen Parser.

Frau Spyra war auch kurz da.

Angelo will Tunnel bauen. Er guckt, welche Ports offen sind.

Wir sprachen kurz über den Authentifizierungsserver von Plan9. Wir suchen nach offenen Ports. Die gibt es aber nicht. Angelo macht was mit ssh -L. Locale Ports weiterleiten.

Roberts Stick mit Ubuntu drauf muckt irgendwie. Schade. Es regnet ziemlich doll. Nächste Mal findet normal statt.

 

 

 

 

 

27. Februar 2015

27.2.2015

Angelo hält heute einen Vortrag bei der AFRA. Julian und Moritz sind auch hier. Morten kann heute nicht. Johannes hat bestimmt Uni.

Angelo bereitet seine Vortrag etwas weiter vor. Er beschäftigt sich, wie er durch das geblockte Netzwerk an seine Plan9-Sachen zu Hause kommt. Mit ssh-Tunnel.

Johannes kommt.

Robert hat eine index.html zu seinem Tracker hinzugefügt und ihn in sein Tracker-Repository bei Bitbucket gepusht. Phonegap mault: „This app isn’t using the latest version of PhoneGap. We recommend upgrading to 3.6.3. “

Also alles neu gemacht:

sudo npm install -g cordova

rob@lernserver:~$ cordova create tracker_cordova com.example.tracker MyTracker
Creating a new cordova project with name "MyTracker" and id "com.example.tracker" at location "/home/rob/tracker_cordova"
Downloading cordova library for www...
Download complete

git init

git remote add origin https://frankxy@bitbucket.org/frankxy/tracker_cordova.git

git add -A
git status
git commit -m "erster commit"
git push -u origin master

Interface in C++  für Sockets haben Moritz und Julian gemacht. Johannes wollte Hausaufgaben machen.

Angelo wollte irgendwann Pizza machen.

13. Februar 2015

13.2.2015

Heute sind Morten und Angelo da, immerhin. Wir reden über die Evangelien, Thomas, Judas und das 1. Konzil in Nicaea.

Wir besprechen noch diese Codezeile bzw. die Zeile in der Funktion:

void
drawPixel(int x, int y, Color c)
{
    *( (Uint32*) ( (char*) screen->pixels + x*screen->format->BytesPerPixel + y*screen->pitch ) ) = SDL_MapRGB(screen->format, c.r, c.g, c.b);
}

In der Funktion müsste man eigentlich noch x testen, dass es nicht größer als die maximale Breite ist. Zu deutsch also:

an die Adresse [*] schreibe vier Bytes (gecastet nach (Uint32*)) eines Pointers auf einen Character (char*), nämlich den Pointer screen->pixels plus x Mal die Länge eines Pixels in Bytes plus y Mal die Zeilenlänge. Ob das so stimmt?

Wir rätseln, wann die anderen mal wieder kommen …;

 

 

 

5. November 2014

5.11.2014

Morten ist da. Lernserver läuft. Morten geht remote auf seinen Rechner zu Hause. Johannes kann offenbar freitags auch. Von Angelo, Julian und Moritz kamen keine Rückmeldungen. Angelo is auch da. Angelo hasst systemd. Angelos Hello-World-Programm für die PDP10 findet sich u.a. hier. Windows10 kommt nächstes Jahr und gibt es jetzt schon als Beta. (x). Nächsten Freitag, also diesen Freitag, ist.

24. September 2014

24.9.2014

Filed under: Allgemein,Plan 9,Scheme,Termine — admin @ 14:36

Morten ist da. Angelo ist auch (wieder) da. Angelo hat im Urlaub ein Interpreter für Scheme geschrieben (in C – für Plan9). Angelo hat zudem einen IPv6-Tunnel. Angelo will ein LISP-1.5 schreiben. Robert hat erstmal die Liste der Computersprachen neu ausgedruckt (hängt schon an der Wand, aber nur bis 2009).  Angelo versucht sich mit Javascript und dem Scratchpad in Firefox.  Wir machen es doch im Browser.

Diesen Freitag gehts weiter.

 

4. Juli 2014

4.7.2014

Moritz ist da. Morten und Angelo auch. Wir reden nochmal über Factotum und das Sicherheitskonzept mit dem SecStore, kommen zum Pufferüberlauf und auf Heartbleed.

Wir arbeiten uns weiter durch die Anleitung von Security in Plan 9. Morten und Moritz spielten Fussball (Morten 2 Mal gewonnen). Julian hat seinen Drucker dabei und druckt ein Warnsignal ;-).

U.a. versuchen wir in „Security in Plan 9″ diese Passage zu ergründen: “ This sequence of events has several advantages. First, the actual authentication protocol is implemented using regular reads and writes, not special 9P messages, so they can be processed, forwarded, proxied, and so on by any 9P agent without special arrangement. Second, the business of negotiating the authentication by reading and writing the authentication file can be delegated to an outside agent, in particular factotum; the programs that implement the client and server ends of a 9P conversation need no authentication or cryptographic code. Third, since the authentication protocol is not defined by 9P itself, it is easy to change and can even be negotiated dynamically. Finally, since afd acts like a capability, it can be treated like one: handed to another process to give it special permissions; kept around for later use when authentication is again required; or closed to make sure no other process can use it. “

Unklar bleibt noch „3.1. Plan 9 shared key protocol“.

Nächste Mal nach den Ferien. 27. August.

Older Posts »