Links 2013 KW 43

Diese Woche im Internet …

Links 2014 KW 42

Die Kategorie FUNDSACHE gibt es auf dem Blog schon eine Weile. In diesem Bereich ist leider noch nicht all zuviel passiert.
Dies ändert sich nun. Hier starte ich jetzt eine neue Reihe mit dem Titel ‚Links KW-##‚. In diesen Beiträgen werde ich Links zu verschiedensten Dingen, die ich interessant fand, post. Der Titel deutet zwar auf eine wöchentliche Erscheinung hin, aber das soll jedoch hauptsächlich zur Orientierung dienen.

Auf ein weiter wachsendes Web mit tollen Dingen.

  • canvanizer.com – A strategic management and entrepreneurial tool
  • marionettejs.com – Composite application library for Backbone.js
  • flywaydb.org – The agile database migration framework for java
  • Envers – Easy auditing/versioning of persistent java classes
  • mundraub.org – Map mit freien Bäume, Sträucher zum selbst ernten

Google Chrome Browser und die Proxy Einstellungen

In der TH-Wildau werden seit dem WS 2013/14 die Proxy Einstellungen automatisch ausgeliefert. Zu diesem Thema habe ich auch schon zwei Beiträge geschrieben Automatische Proxy Einstellungen (1) und Proxy-Auto-Configuration (2).

Nun hat komischerweise der Google Chrome Browser (Version 31.0.xxxx.xx beta) seit letzter Woche das Problem, trotz korrekter Einstellungen, keine externen Webseiten anzuzeigen. Das Problem liegt also auf der Google Chrome Seite, da alle andere korrekt funktioniert.

Informationen über den Netzwerk-Stacks liefert die about page chrome://net-internals/#proxy. Die Proxy Einstellungen werden also von korrekter Stelle (PAC script: http://ftp.th-wildau.de/proxy2.pac ) geladen.

Die Workaround – Lösung ist über die Webseite http://dev.chromium.org/developers/design-documents/network-stack/debugging-net-proxy gekommen.

  1. Google Chrome Browser schließen
  2. Terminal öffnen und wie folgt Chrome starten
    /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --proxy-server='proxy.th-wildau.de:8080'
  3. Jetzt ist der Chrome Browser händisch mit den Proxy Settings gestartet
    Hinweis: man kann sich dafür auch gleich einen Alias anlegen.

UPDATE 2013-10-24
Ich habe Chrome im logging/debug Modus gestartet und wollte mehr über diese Problematik herausfinden. Doch leider hat mit das Log keine hilfreichen Hinweise gegeben. Falls man es selbst prüfen möchte, benötigt man folgende Kommandos …

  • „/Applications/Google Chrome.app/Contents/MacOS/Google Chrome“ –enable-logging –log-level=0
  • $USER/Library/Application Support/Google/Chrome/chrome_debug.log“

Happy Surfing.

GAMS Paket für Sublime Text 2

Dieses Semester geht es in die zweite Runde General Algebraic Modeling System (GAMS). Da mir die GAMS IDE nicht besonders zusagt, habe ich mich auf die Suche nach einer Alternative gemacht.
Wuala, wer suchet der findet. Da gibt es sogar bereits ein Paket für den geliebten Sublime Text Editor. Wer den schicken, schlanken und schnellen Multiplatform-Editor noch nicht kennen, sollte ihn wirklich mal ausprobieren.

Laurent Drouet, aus der Schweiz, hat das GAMS Paket geschrieben. Es kann via Package Control oder manuel installiert werden. Das Repository befindet sich auf github.com/lolow/sublime-gams.
Neben dem Syntax Highlighting der .gms Datei bietet das Plugin auch noch das Anzeigen der .lst Dateien, Ausführen des GAMS Modele (CTRL+B), Umschalten zwischen GAMS code und dem Listing (ALT+L), sowie die schnelle Navigation zu den Errors in dem Listing (CTRL+R).
Wer noch andere interessante Pakete sucht, findet hier ein paar tolle gelistet.

It’s time to modeling for the real world.

Automatische Proxy Einstellungen (TH-Wildau)

Neues Semester und jetzt gibt es vom HRZ auch automatische Proxy Einstellungen. Zugegeben, aufgrund der Vielzahl an Geräten nicht ganz einfach, aber solch eine .pac / .dat Datei sieht mehr nach einen Prototypen bzw trial and error aus.

====
ftp.th-wildau.de/proxy.pac

function FindProxyForURL(url, host) {
	// If URL has no dots in host name, send traffic direct.
	//if (isPlainHostName(host))
	//	return "DIRECT";

// If specific URL needs to bypass proxy, send traffic direct.
	if (shExpMatch(url,"*th-wildau.de*") ||
	    shExpMatch(url,"*tfh-wildau.de*"))
		return "DIRECT";

// If IP address is internal or hostname resolves to internal IP, send direct.

	var resolved_ip = dnsResolve(host);

	if (isInNet(resolved_ip, "10.100.12.*", "255.0.0.0") ||
		//isInNet(resolved_ip, "172.16.0.0",  "255.240.0.0") ||
		//isInNet(resolved_ip, "192.168.0.0", "255.255.0.0") ||
		isInNet(resolved_ip, "127.0.0.0", "255.255.255.0"))
		return "DIRECT";

	//if (isInNet(resolved_ip, "194.95.48.*", "255.255.255.0") ||
		//isInNet(resolved_ip, "172.16.0.0",  "255.240.0.0") ||
		//isInNet(resolved_ip, "192.168.0.0", "255.255.0.0") ||
		//isInNet(resolved_ip, "127.0.0.0", "255.255.255.0"))
		//return "PROXY proxy.th-wildau.de:8080; DIRECT";

// If not on a internal/LAN IP address, send traffic direct.
	if (!isInNet(myIpAddress(), "194.95.48.*","255.255.255.0"))
		return "PROXY proxy.th-wildau.de:8080; DIRECT"
	if (!isInNet(myIpAddress(), "10.100.12.*","255.255.255.0"))
		return "PROXY proxy.th-wildau.de:8080; DIRECT";

// All other traffic uses below proxies, in fail-over order.
	return "PROXY proxy.th-wildau.de:8080; DIRECT";
}

====
ftp.th-wildau.de/proxy2.pac

function FindProxyForURL(url, host) {
	// If URL has no dots in host name, send traffic direct.
	if (isPlainHostName(host))
	{
    return "DIRECT";
  }

// If specific URL needs to bypass proxy, send traffic direct.
	if (shExpMatch(url,"*th-wildau.de*") ||
	    shExpMatch(url,"*tfh-wildau.de*"))
		{
    return "DIRECT";
    }



//reip = /^d+.d+.d+.d+$/g;
//if (reip.test(host)) {
         if ( isInNet(host, "194.95.50.0", "255.255.255.0") ||
              isInNet(host, "194.95.49.0", "255.255.255.0") ||
              isInNet(host, "194.95.48.0", "255.255.255.0") ||
              isInNet(host, "194.95.46.0", "255.255.254.0") ||
              isInNet(host, "194.95.45.0", "255.255.255.0") ||
              isInNet(host, "194.95.44.0", "255.255.255.0") ||
              isInNet(host, "193.175.213.0", "255.255.255.0") ||
              isInNet(host, "10.100.0.0", "255.255.252.0") ||
              isInNet(host, "10.100.4.0", "255.255.252.0") ||
              isInNet(host, "10.100.8.0", "255.255.252.0")
          ) {
             return "DIRECT";
        }
//	}


	var resolved_ip = dnsResolve(host);

	//if (isInNet(resolved_ip, "10.100.12.*", "255.0.0.0") ||
		//isInNet(resolved_ip, "172.16.0.0",  "255.240.0.0") ||
		//isInNet(resolved_ip, "192.168.0.0", "255.255.0.0") ||
	//	isInNet(resolved_ip, "127.0.0.0", "255.255.255.0"))
	//	return "DIRECT";

	//if (isInNet(resolved_ip, "194.95.48.*", "255.255.255.0") ||
		//isInNet(resolved_ip, "172.16.0.0",  "255.240.0.0") ||
		//isInNet(resolved_ip, "192.168.0.0", "255.255.0.0") ||
		//isInNet(resolved_ip, "127.0.0.0", "255.255.255.0"))
		//return "PROXY proxy.th-wildau.de:8080; DIRECT";

// If not on a internal/LAN IP address, send traffic direct.
	//if (!isInNet(myIpAddress(), "194.95.48.*","255.255.255.0"))
		//return "PROXY proxy.th-wildau.de:8080; DIRECT"
	//if (!isInNet(myIpAddress(), "10.100.12.*","255.255.255.0"))
		//return "PROXY proxy.th-wildau.de:8080; DIRECT";


	if (url.substring(0,4) == "http") { return "PROXY proxy.th-wildau.de:8080"; }
 	if (url.substring(0,4) == "HTTP") { return "PROXY proxy.th-wildau.de:8080"; }

// All other traffic uses below proxies, in fail-over order.
	return "DIRECT";
}

====
ftp://ftp.th-wildau.de/wpad.dat

function FindProxyForURL(url, host) {
	// If URL has no dots in host name, send traffic direct.
	//if (isPlainHostName(host))
	//	return "DIRECT";

// If specific URL needs to bypass proxy, send traffic direct.
	if (shExpMatch(url,"*th-wildau.de*") ||
	    shExpMatch(url,"*tfh-wildau.de*"))
		return "DIRECT";

// If IP address is internal or hostname resolves to internal IP, send direct.

	var resolved_ip = dnsResolve(host);

	if (isInNet(resolved_ip, "10.100.12.*", "255.0.0.0") ||
		//isInNet(resolved_ip, "172.16.0.0",  "255.240.0.0") ||
		//isInNet(resolved_ip, "192.168.0.0", "255.255.0.0") ||
		isInNet(resolved_ip, "127.0.0.0", "255.255.255.0"))
		return "DIRECT";

	//if (isInNet(resolved_ip, "194.95.48.*", "255.255.255.0") ||
		//isInNet(resolved_ip, "172.16.0.0",  "255.240.0.0") ||
		//isInNet(resolved_ip, "192.168.0.0", "255.255.0.0") ||
		//isInNet(resolved_ip, "127.0.0.0", "255.255.255.0"))
		//return "PROXY proxy.th-wildau.de:8080; DIRECT";

// If not on a internal/LAN IP address, send traffic direct.
	if (!isInNet(myIpAddress(), "194.95.48.*","255.255.255.0"))
		return "PROXY proxy.th-wildau.de:8080; DIRECT"
	if (!isInNet(myIpAddress(), "10.100.12.*","255.255.255.0"))
		return "PROXY proxy.th-wildau.de:8080; DIRECT";

// All other traffic uses below proxies, in fail-over order.
	return "PROXY proxy.th-wildau.de:8080; DIRECT";
}

Über die Proxy-Auto-Configuration habe ich bereist geschrieben. Wer sich weiter mit dem Thema beschäftigen möchte, findet in den folgenden Links zusätzliche Informationen.