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

26. September 2016

26.9.2016

Nächste Mal fällt aus, weil der Montag Feiertag ist.

Moritz, Morten, Angelo und Julian sind da. Wir reden über die falsch implementierte Linksassoziativität in PHP.

Wir reden über komplizierte und einfach Programmiersprachen. Go ist wohl „einfach“. Hat keinen Ternäroperator. C++ ist kompliziert.

Robert hatte Probleme auf dem Spyraserver mit „unmet dependencies“. g++ konnte nicht installiert werden. Deshalb „aptitude“ installiert.

Hier ein kleiner Code-Teil:

#include <iostream>  

using namespace std;  
     
int main()  
{  
    int z; 
    cout << "Bitte geben Sie eine Zahl ein: " << endl; 
    cin >> z; 
    cout << "z hat den Wert: " << z << endl; 
    return 0;  
}

Angelo will seine Lautgesetztprogrammierung erstmal in Python implementieren. Dabei geht es im Wesentlichen um reguläre Ausdrücke.

Auch auf dem Spyraserver das Apachemodul mod_userdir aktiviert und PHP dafür eingeschaltet.

Dazu in der „/etc/apache2/mods-enabled/userdir.conf“ eingefügt: „php_admin_value engine On“.

 

 

 

26. November 2015

26.11.2015

Johannes, Angelo und Morten sind da. Johannes berichtet von der High-Deck-Siedlung. Angelo hat das neue Go-Buch von Addison-Wesley dabei.

Man kann mit Go auch Apps für Android und iOS programmieren. Auf reddit fragt einer nach den Vorteile von Go, etwa im Mai 2015. Auf thenewstack.io wird eine Firma beschrieben, die von Node.js zu Go gewechselt hat. Auf hostingadvice.com gibt es eine Diskussions Node.js vs. Golang. Darin ein Verweis auf kickstarter und Probleme mit Go und Haunts.

Es gibt auch gonode. Eine Brücke zwischen Node und Go. Golang hat auch was mit concurrency (=Nebenläufigkeit) zu tun. Auf quora auch ein interessanter Beitrag/Diskussion zu node.js vs. golang. Hier noch kurz was zu Socket.io bei quora. Hier 10 Open Source Projekte mit Golang. Auf Github findet sich eine Liste von Companies/Projekten, die nodejs benutzen.

Nächsten Dienstag und Donnerstag „b.a.u.“ (business as usual).

 

24. Juni 2015

24.6.2015

Morten ist da und macht Hamachi. Paul ist auch da und hat sich ein Linux für USB-Stick geholt und musste wieder los. Morten ist mit Frau Spyra los. Angelo und Moritz sind auch da. Angelo spricht von seiner Bachelorarbeit und seinen WLAN-Treiber für 9Front. Julian ist auch gekommen.

Robert stolpert über Markdown (bei der Sichtung diverser CMSe). Wikisyntax ist irgendwie anders.

Julian programmiert zur Zeit auch mit Go.

Julian und Moritz sprachen über Swicht und Bridges. Angelo kommt mit Stackenblochen.

Morten hat Hamachi eingerichtet.

Nächste Woche ganz normal.

 

 

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 …;

 

 

 

11. Februar 2015

11.2.2015

Filed under: Allgemein,go,Schulnetzwerk,SDL,Tagesberichte,Tisch,Websockets — admin @ 15:44

Angelo ist da. Morten noch nicht.

Nach Ausschalten des Proxys konnte ich ein Git-Repository SDL-Clone von neaginx klonen.

Angelo schafft was mit Go und SDL. Go jetzt auf dem Lernserver aktualisert. Und dann noch in „./go/src ./allbash“. Angelo fehlen aber noch die Pointer.

Am Freitag sind wir dann vermutlich wieder mehr, denn das Semester hört auch langsam auf.

13. Juni 2014

13.6.2014

Filed under: Allgemein,go,Javascript,NodeJs,Tagesberichte,Termine,Tisch — admin @ 15:25

Morten ist da. Moritz kommt nicht. Angelo ist da.

rob@lernserver:~$ mkdir go
rob@lernserver:~$ export GOPATH=~/go
rob@lernserver:~$ cd $GOPATH
rob@lernserver:~/go$ mkdir src
rob@lernserver:~/go$ cd src
rob@lernserver:~/go/src$ mkdir hello
rob@lernserver:~/go/src$ cd hello
rob@lernserver:~/go/src/hello$ vi hello.go
rob@lernserver:~/go/src/hello$ go run hello.go
No command 'ks#' found, did you mean:
Command 'ksu' from package 'heimdal-clients' (universe)
Command 'ksu' from package 'krb5-user' (universe)
Command 'ksh' from package 'ksh' (universe)
Command 'ksh' from package 'mksh' (universe)
Command 'ksh' from package 'zsh' (main)
Command 'ksh' from package 'pdksh' (main)
ks#: command not found
rob@lernserver:~/go/src/hello$ ls
hello  hello.go
rob@lernserver:~/go/src/hello$ ./hello
hello
rob@lernserver:~/go/src/hello$ go install
rob@lernserver:~/go/src/hello$ cd ..
rob@lernserver:~/go/src$ cd ..
rob@lernserver:~/go$ ls -la
total 16
drwxrwxr-x  4 rob rob 4096 Jun 13 15:11 .
drwxr-xr-x 49 rob rob 4096 Jun 13 15:10 ..
drwxrwxr-x  2 rob rob 4096 Jun 13 15:11 bin
drwxrwxr-x  3 rob rob 4096 Jun 13 15:08 src
rob@lernserver:~/go$ cd bin
rob@lernserver:~/go/bin$ ls -la
total 1156
drwxrwxr-x 2 rob rob    4096 Jun 13 15:11 .
drwxrwxr-x 4 rob rob    4096 Jun 13 15:11 ..
-rwxrwxr-x 1 rob rob 1173845 Jun 13 15:11 hello
rob@lernserver:~/go/bin$ ./hello
hello

In der hello.go steht:

package main

import "fmt"

func main() {
fmt.Printf("hello\n")
}

mit apt-get install mercurial installiert.

Dann godoc installiert:

go get code.google.com/p/go.tools/cmd/godoc

Nach „godoc -http=:6060“ funktioniert jetzt auch http://localhost:6060/. Godoc ist nämlich Teil der Distribution.

Hier ein Vergleich zwischen node.js und go. Auch hier. Und hier. Hier kommentiert Eric Elliot die Diskussion. Übrigens: Go hat viele Features von Javascript: „Mit Recht kann man behaupten, Go ist das bessere Node.js. Man kann damit die gleichen Anwendungen entwickeln, allerdings typsicher und mit besserer Laufzeit.“

Hier ein Beispiel für eine Wiki.

Angelo lobt VNC, Robert fragt sich, was der Unterschied zu Teamviewer ist.

Nächste Woche dann Mittwoch wieder wie immer.

 

22. Januar 2014

22.1.2014

Filed under: Allgemein,go,Plan 9,Schulnetzwerk,Tagesberichte,Termine — admin @ 15:48

Vermutlich letzte Mal vor den Winterferien. Nächste Mal dann Mittwoch, den 12.2., wieder. Angelo lernt wohl avestisch sonstewo. Morten ist da. Wilhelm bestimmt bei seiner Band, wie jeden zweiten Mittwoch. Julian und Moritz sind auch da, Frau Spyra guckt kurz rein. Morten hilft Robert, den Monitor seines Laptops auszubauen und einen baugleichen im Netz zu finden.

Julian hat sich mit Pathfinding-Algorhythmen beschäftigt. Dazu: http://qiao.github.io/PathFinding.js/visual/.

Robert checkt, wie Wake-on-Lan mit dem Server möglich wäre, damit er unter der Woche abgeschaltet werden könnte.

Letzte Mal wurde noch ein Video geschaut mit Rob Pyke über Go (s.a. http://en.wikipedia.org/wiki/Rob_Pike) bzw. „public static void“ (s.a. http://www.youtube.com/watch?v=5kj5ApnhPAE)

Bezüglich WOL (wake on lan) findet Robert: cameacross.wordpress.com/2009/04/28/how-to-set-up-wake-on-lan-on-ubuntu-home-server/

… und installiert mit „apt-get install ethtools“ die Ethtools und macht dann:

root@lernserver:/home/rob# ethtool eth1
Settings for eth1:
Supported ports: [ MII ]
Supported link modes:   10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Link detected: yes
root@lernserver:/home/rob# ethtool -s eth1 wol g
root@lernserver:/home/rob# ethtool eth1
Settings for eth1:
Supported ports: [ MII ]
Supported link modes:   10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Supports Wake-on: g
Wake-on: g
Link detected: yes

eth1 ist die Lan-Karte, die ein direktes Kabel hat zum 206er. Beim nächsten Mal würden wir den Lernserver hier in den 206er holen und austesten, ob das mit dem Wake on Lan funktioniert.

 

 

 

4. Dezember 2013

4.12.2013

Filed under: Allgemein,go,Plan 9,Tagesberichte — admin @ 15:45

Wir teilen uns den Raum mit Frau Spyras Kurs (4 Leute) für eine Stunde, weil der Raum eigentlich erst ab 8. Stunde frei ist. Angelo will sich mit „go“ beschäftigen (s.a. golang.org). Es wird u.a. von Rob Pike und Ken Thompson entwickelt. Angelo erklärt Frau Spyra „plan9“. Und auch, dass es keinen Browser dafür gibt.

Moritz und Julian kommen auch. Wilhelm kann heute nicht. Morten zeigt „WAT„.

Angelo zeigt noch ein bisschen von „go“. U.a. mit Interaces. Mit go werden übrigens auch Webseiten erstellt …;

Nächster Termin ist Freitag, 14:15, mit Johannes 1TB-Festplatte wohl …