Was ist das? Medizin für die Kenner :) UPDATE

Heute gelesen und gleich probiert, weil ein kleiner Schnupfen ist vorhanden ;)
Ein wenig Bier (zu Testzwecken Murauer Bock Beat) , ein wenig Honig das ganze gaaaanz ganz ganz sacht erwärmen, nicht kochen, und Schluckweise noch warm genießen.

Ob es hilft verrate ich beim nächsten mal. Auf bald. Prost!

20120131-192756.jpg

20120131-192841.jpg

 

UPDATE

geholfen hats nix, aber die Geschmackliche Erfahrung wars Wert ;)

 

Firefox aktuell halten im Firmennetzwerk – FRAGE #SOLVED#

In der neuen Firma läuft alles über einen Proxy, allerdings ist der nicht allzu streng eingestellt.

Kurzum folgendes Problem: Mein Kollege und ich haben beide den selben Rechner, die selben Rechte aber eine unterschiedliche Browserversion. Das kommt daher dass bei meinem Laptop die “Updates von Ihrem System-Administrator deaktiviert” worden sind. Dabei bin ich selbst Admin auf meinem Computer – genauso wie auch mein Kollege.

Wo liegt die Einstellung ob sich mein Firefox selbst aktualisieren darf oder nicht?

Ich freue mich wirklich über Antworten (Kommentare), denn bislang habe ich noch keine gefunden. Die Lösung wird natürlich hier festgeschrieben sobald ich eine habe.

Solved – Die Lösung

Nach viel Suchen und Ärgern habe ich jetzt eine Lösung gefunden. In der about:config von Firefox wird man festellen dass alle oder einige der folgenden Einträge auf gesperrt gesetzt sind:

browser.shell.checkDefaultBrowser
app.update.enabled
extensions.update.enabled
browser.search.update

Aber woher kommen die Einstellungen?? Die Lösung ist eine kleine Google Suche nach den Einträgen entfernt:

Sie liegen wahrscheinlich in einer Datei Namens mozilla.cfg welche sich im Installationsverzeichnis von Firefox befindet. Dort angekommen hat man 2 Möglichkeiten:

  1. Die Datei löschen
  2. Die Werte ändern

Ich habe mich für ersteres Entschieden.

Git mit Windows 7 + TortoiseGit

Es ist soweit. Neue Firma, neue Projekte und endlich auch mal Zeit und die Möglichkeit ein neues Versionierungssystem auszuprobieren. Nach VSS und SVN fällt diesmal die Entscheidung auf Git.

Warum Git?

Einfache Antwort: Es ist in den Medien und verspricht eine schnelle, einfache Lösung vor allem für kleine Entwicklertruppen und Projekte zu sein. Meine Anforderungen sind

  • lokale Änderungen überwachen zu können
  • eventuelle Distribution zu anderen Entwicklern
  • zurückmergen/push in einen Master Branch

Installation

The Beginning…

Die Geschichte zu Git werde ich mir hier sparen, viel eher werde ich erklären welche Schritte ich vorgenommen habe, um es auf meiner Win7 Kiste zum Laufen zu bekommen und wie ich mein erstes Projekt damit versioniere.

Auf der Homepage von Git finden sich unter Tools eine Auflistung aktueller Programme die den Umgang mit dem System leichter machen bzw. überhaupt ermöglichen. Daneben auch ein Tool, welches sehr vertaut klingt -> TortoiseGit. Da ich früher schon mit TortoiseSVN gearbeitet habe, fällt die Entscheidung nicht schwer, vor allem verspricht das Tool auch eine vollständige Implementierung des Git Protokolls ;) .

TortoiseGit

Ich habe mir das aktuelle Release heruntergeladen und installiert, und mich an die Empfehlungen des Installers gehalten ->

  • TortoisePlink statt OpenSSH
  • Standard Installationsordner

Super, nach einem Neustart (sicher ist sicher), befinden sich die gewohnten Menüs von TortoiseSVN eben für GIT im Windows Kontextmenü. Damit ist es allerdings noch nicht getan. Um TortoiseGit nutzen zu können, muss trotzdem noch Git installiert werden. In diesem Fall Git für Windows.

Git for Windows

Git für Windows ist die eigentliche Versionsverwaltungssoftware und kann über die Google Code heruntergeladen werden.

Für die Installation habe ich mich an die Vorgaben von TortoiseGit gehalten:

  • TortoisePlink statt einer SSH Implementierung
  • Adjusting Path Environment wählte ich die 2te Option “Run Git from the Windows Command Prompt”
  • und zu guter Letzt: “Checkout as-is, Commit as-is”

Soweit so gut, alles installiert, gilt es das erste Repository anzulegen.

Mein erstes Repository

Los gehts. Die Projektstruktur ist klar: unter D:\dev liegen meine Projekte unter anderem schon die ersten Files zu meinem Testprojekt “TestGit”. Dann mal die Git Settings ansehen. Kontextmenü auf und zu TortoiseGit>Settings.

TortoiseGit > Settings

Unter Name vergebe ich meinen Standard Developer Nick und eine EmailAdresse unter der ich erreichbar bin falls jemand Fragen zu einer Revision hat. Somit wäre die Grundsätzliche Konfiguration abgeschlossen. Ab zum ersten Projekt.

Rechte Maustaste auf das Verzeichnis D:\dev\TestGit und auf das Kontextmenü “Git Create Repository here“. Daraufhin wird man gefragt ob man ein leeres Verzeichnis ohne Working Copies erstellen möchte -> mache ich nicht. Ein Abschliessender Dialog gibt bekannt dass der Master Branch angelegt wurde.

Git Create Repository Dialog 1

Git Create Repository Dialog 1

Git Create Repository Dialog 2 - Finish

Git Create Repository Dialog 2 - Finish

Das Repository ist erstellt und im Grunde wars das dann auch schon. Jetzt können Dateien hinzugefügt und bearbeitet werden.

Dazu erstelle ich einfach eine Testdatei, test.txt im Verzeichnis TestGit.

Testdatei test.txt erstellen

Testdatei test.txt erstellen

Abschliessend machen wir unseren Initial Commit der die Datei zum Repository hinzufügt mit dem Kontextmenübefehl “Git Commit -> “Master”" auf das Projektverzeichnis TestGit.

TortoiseGit Commit

TortoiseGit Commit mit Kommentar

Als Kommentar für den ersten Commit vergebe ich “initial commit”, optional könnte man es durch Klick auf den Button “Sign” noch mit den eingegebenen Developerdaten (Name und Emailadresse) unterschreiben.

Nicht vergessen die Datei test.txt auszuwählen und OK zu drücken. Fertig.

Git Push

Mit git push kann man ein Repository bzw. dessen Änderungen in den Master Branch zurückmergen. Git erstellt dazu ein Patch File mit den Änderungen, was Zeit spart da nicht die ganzen Dateien mitgeschickt werden.

Dieses Patch File kann man übrigens auch per Mail an den Zuständigen Repository Verwalter schicken, der die Änderungen zB Reviewen kann und merged.

Probleme beim Push

In manchen Fällen bekommt man beim Push eine Fehlermeldung wie diese hier:

branch is currently checked out

Das kommt vor, wenn man selbst ein Repository anlegt, das Repository aber dann nochmal an einem anderen Platz auf seinem Rechner oder einem anderen Rechner klont. Für Git arbeitet man dann auf beiden Repositories mit gleichem Namen zur gleichen Zeit, und das lässt Git sinnvollerweise nicht zu.

Die Lösung des Problems ist einfach: Einfach auf das Remote Repository ein Switch/Checkout auf einen neuen Branch machen (z.B: Branch_Master). Dann funktioniert auch das zurückpushen.

Fazit

Ok, das war jetzt ein Fast Forward durch die Installation und die Handhabung von Git für Windows. Jetzt gilt es auch einen Plan zu Entwickeln wo man den Master ablegt und wie die Änderungen dann von den Entwicklern wieder retour gemerged werden können. Die Grundidee von Git, dass man eine komplette lokale Kopie des Repositories besitzt und eigentlich nicht auf eine Internetverbindung angewiesen ist und trotzdem Änderungen committen kann finde ich sehr verlockend und spannend.

Java Installation unter Mac OS X Lion (10.7)

In vielen Berichten heisst es dass Apples neues Betriebssystem in der Version 10.7 alias Lion ohne Java installiert wird.

Nach der Installation wird man vom Löwen darauf hingewiesen dass keine JVM installiert ist und man diese doch bitte nach installieren sollte -> allerdings oft mit der Zusatzmeldung, dass zZ keine Verbindung zum Internet besteht (obwohl man sogar am Kabel hängt).

Keine Panik -> der Dialog kommt wieder, wenn man ein Programm aufruft, welches Java benötigt. Ich habe das mit der IDE Eclipse probiert, woraufhin Java gesucht, gefunden und installiert wurde. Nach kurzen 2 Minuten wurde nach der Installation dann auch Eclipse geöffnet.

Easy. ;)

SSH ohne Passwort

Heute habe ich ein lästiges Problem gelöst, welches das Leben mit Servern deutlich erleichtert. Ich mache regelmässige Backups via RSYNC meiner wichtigeren Dateien von meinem Laptop auf mein NAS. Das ganze läuft per WLAN verschlüsselt über SSH.

Jetzt kommt es aber, dass jedesmal wenn ich das Backup ausführe

rsync -av –delete –progress -p -e ssh /Users/localuser/Documents/* admin@mynas.local.:/share/localuser/Dokumente/

natürlich nach dem Passwort des Remote Users (admin) gefragt wird. Ich konnte mich erinnern dass es auch ohne Passwort in Form eines RSA-Keys geht und schreibe die wenigen Zeilen Code hier nieder um es auch für die Zukunft in Erinnerung zu halten.

Anleitung

Zuerst muss am lokalen Rechner ein Schlüsselpaar (private und public) erstellt werden. Danach wird der Public Key auf das NAS kopiert (statt mynas.local. kann man hier auch eine IP Adresse verwenden).

Die nachfolgenden Schritte finden jeweils auf dem Lokalen Rechner statt, von dem aus man sich mit dem NAS/Server verbinden möchte.

  1. ssh-keygen -t rsa -f ~/.ssh/identity
  2. cat identity.pub | ssh -l admin mynas.local. ‘cat >> .ssh/authorized_keys’
  3. ssh -v admin@mynas.local.

ad 1) hier wird das RSA Schlüsselpaar im Benutzerordner .ssh/ erzeugt -> identity.pub und identity

ad 2) kopiert den Inhalt des öffentlichen Schlüssels in eine Datei mit Namen authorized_keys auf dem entfernten Server. 

ad 3) testen ob das ganze auch funktioniert

Troubleshooting

Natürlich hat das ganze nicht auf anhieb funktioniert. Mehr Aufschluss auf die Fehlerursache gibt der ‘verbose’ Befehl des ‘ssh’ Kommandos.

ssh -v admin@mynas.local.

Mögliche Ursachen sind zB

  • falscher Dateiname des privaten Schlüssels: es wird oft id_rsa oder identity erwartet (man kann zB den privaten Schlüssel von ~/.ssh/identity nach ~/.ssh/id_rsa kopieren
  • falsche Rechte: der private key muss vom Inhaber/Benutzer für und von dem er erstellt wurde lesbar sein. Auf der Remote Seite muss die Datei authorized_keys ebenso lesbar sein für den Remote User (in dem Fall admin)
  • kein SSH Zugriff: stimmen IP-Adresse oder Hostname?

Disclaimer

Ich gebe keine Garantie dass das auch wirklich überall in jeder Konfiguration funktioniert, noch dass diese Anleitung vollständig ist. Unter Umständen müssen speziell auf einem NAS noch Startskripte erstellt werden falls immer bei Neustart eine Defaultkonfiguration eingespielt wird.

Bei Unklarheiten oder weiterführend hilft natürlich auch ein Blick in die Hilfe des ssh-Befehls:

man ssh

Ich freue mich wie immer über Feedback, Fragen und Anregungen. Falls ich etwas vergessen haben sollte, werde ich es gerne Nachtragen.

 

Links

Einrichtung auf einem QNAP NAS

Google+ (Updated)

Wieder offen für alle, manchmal. Yay. Google gibt jedem Benutzer pro Tag anscheinend einen oder ein wenig mehr neue Invitemöglichkeiten. Wenn an mehrere Personen geschrieben wird, bekommt zumindest die Erste die die Mail erhalten hat und einen Kommentar zurückschreiben will, die Chance, sich bei G+ anzumelden.

(7.7.2011 CB)

Continue reading

Webseitenanalyse auf eigenem Server: Piwik

Lange habe ich selber das kostenlose Angebot von Google Analytics verwendet um Seitenzugriffe auf meine Webseiten zu tracken und auszuwerten. Der bittere Beigeschmack bleibt, wenn man bedenkt dass die Daten nach Amerika wandern und man selbst nicht weiß was weiter damit passiert oder für welche Zwecke diese noch verwendet werden. Ich habe nach Alternativen gesucht und bin dabei auf PIWIK gestossen. Continue reading