SVN to Git (Part III)

Keine weiteren Details, nur ein kleines Addendum. Eine Info, die ich immer wieder vergesse und hier (auch für euch) aufbewahre. Hin und wieder kommt es vor, dass man ein neues Repository anlegen möchte. Ja, sogar bei mir gibt es gelegentlich neue Projekte ;-) Diese entstehen nun normalerweise nicht auf dem Server sondern auf der Arbeitsstation oder dem Laptop, den man unterwegs dabei hat. Um so ein Projekt remote zu tracken (und vor allem zu sichern) legt man ein remote repository auf dem Server an. Ich habe dazu ein Wurzelverzeichnis für alle serverseitigen Git-Repositories. Das ist praktisch, weil man diese so einer einfachen Datensicherung zuführen kann. Man kann dann folgendermaßen vorgehen:

cd /usr/local/git_root
mkdir git_newProject
git init git_newProject
cd git_newProject
git config --bool core.bare true

Nach “git init” muss man ggf noch (rekursiv) die Berechtigungen des Folders anpassen. Wenn man (wie ich) git mit ssh verwendet, sollten alle Anwender die auf das Verzeichnis zugreifen Schreibberechtigungen haben.

Jetzt kann man das lokale Repository in das eben angelegte leere Repository pushen:

git push --set-upstream origin master

Da noch keine Tracking-Informationen vorhanden sind müssen diese per upstream Option gesetzt werden. Jetzt sind beide Repositories in Sync und man kann mit dem bekannten push/pull Verfahren Änderungen übertragen.

SVN to Git (Part II)

Das SVN Repository nach Git zu überführen ist schon nicht schlecht, nur reicht das in vielen Fällen nicht ganz aus. In “klassischen” VCS Systemen sind häufig mehrere Projekte enthalten, wie auch in meinem SVN Repository. In Git empfiehlt es sich jedoch, für jedes Projekt ein eigenes Repository anzulegen. Der Hintergrund ist, dass es nicht möglich ist, Branches und Merges nur auf einem Teil des Repositories auszuführen. Wenn z.B. in einer Struktur “Projekte” Unterverzeichnisse mit den Projekten “A”, “B” und “C” existieren, kann in git nicht z.B. “C” master nach “C” v. 1.0 gebrancht werden. Durch die “leichte” Bauart der Repositories ist es aber kein Problem, für die Unterprojekte jeweils eigene Repositories anzulegen. Ein weiterer Vorteil ist, dass damit auch Abhängigkeiten offensichtlicher werden, was zu sauberem Arbeiten verleitet.

Was kann man also machen? Die Vorgehensweise ist grob die: Das von SVN im ersten Teil erzeugte “große” Repository wird zunächst noch einmal geklont. Dann werden die unerwünschten Teilprojekte herausgetrennt, so dass nur noch das relevante Projekt übrig bleibt. Dieses Repository wird dann noch einmal sauber in ein neues, endgültiges Repository geklont.
Zu meinem Beispiel soll ein Repo erzeugt werden, dass nur das Projekt “C” enthält.

Das von SVN erzeugte Repository in ein temporäres Repository klonen und in das Verzeichnis wechseln

 git clone git_svn/ git_svn.tmp/
 cd git_svm.tmp

Abtrennen der Projekte A und B

git filter-branch --prune-empty --index-filter 'git rm --cached --ignore-unmatch A/* B/*' HEAD

Der jetzt entstandene “Rest” wird zu einem neuen Repository. Das Zwischen-Repository kann danach gelöscht werden. Bitte beachten: Ab jetzt ist ein Update per git svn fetch nicht mehr möglich, da die remote Beziehung nicht mehr besteht.

cd ..
git clone git_svn.tmp/ new/path/to/C
rm -rf git_svn.tmp/

In diesem Zusammenhang möchte ich auf das neue schöne Syntax-Highlighting ab diesem Post aufmerksam machen, das durch das Plugin Syntax Highlighter Evolved erzeugt wird. Das klappte erst durch die Umstellung auf den neuen WordPress-Editor, mit dem ich bis heute nicht zurecht kam. Grund war, dass der Schalter für das Hinzufügen von Blocks immer ausgegraut war. Ärger! Die Lösung ist einfach wie idiotisch: In den User Einstellungen ” Disable the visual editor when writing ” erst deaktivieren, speichern und dann wieder anhaken und speichern. Dann funktioniert es. Das liegt vermutlich an einem etwas defekten zurückliegenden WordPress-Update.

Schneebälle

Ich habe vor einiger Zeit einmal an einem “Lass uns ein cooles Blockchain-Projekt starten” Meeting teilgenommen. Das Ganze ist aufgrund der Inaktivität des Organisators gleich wieder im Sande verlaufen. Die Technologie dazu habe ich mir aber angeschaut, vor allem die Libraries, auf der das aktuelle Bitcoin Mining basiert. Mein Fazit damals: Komplizierte Sache. Also nicht die Technologie an sich, sondern der Aufbau eines greifbaren Geschäftsmodells auf Basis dessen. Nachdem heute die Sau wieder einmal durch das Dorf galoppierte, bin ich über einen kurzen Umweg an diesen sehr schönen Vortrag geraten, der euch in kürzester Zeit die Problematik näher bringt. Hervorragende Präsentation, schaut’s euch mal an.

Da Mondn!

Mondfinsternis_I

Nachdem gestern abend (bei dem Wetter!) vermutlich niemand die Mondfinsternis verpasst hat, schreibe ich trotzdem dazu :P Nach dem Training entspannt auf der Dachterrasse das Spektakel verfolgen. Doch was ist das? Es ist diesig über dem Horizont, kein Mond zu sehen. Das war schade und ich hatte auch schon fast aufgegeben, als er dann doch noch sichtbar wurde. Ein Foto! Dabei habe ich mich rechtzeitig an den Tip meiner lieben Kollegin Annett erinnert: Der Mond muss schnell fotografiert werden! Da er selbst in Bewegung ist und es Störungen in der Atmosphäre gibt, werden Langzeitbelichtungen zwangsläufig unscharf. Meine Bilder sind mit 1/80, ISO 1600 und (auf dem Knie) aufgelegter Kamera entstanden. Nicht ganz optimal, aber mir gefallen sie.

Mondfinsternis_II

Besonders interessant war der Moment, als er dann doch relativ schnell wieder aus dem Erdschatten herauskam und die Nacht rapide heller wurde :)

Mondfinsternis_III

Kennt ihr den noch? Ein heiteres One-Trick-Pony, über das wir so gelacht haben:

An error occurred in the upload. Please try again later.

Moin!
Heute hat mich meine WordPress Installation kurz etwas in den Wahnsinn getrieben. Eigentlich wollte ich nur ein Bild hochladen, bekam in der Media Library aber immer den Fehler “An error occurred in the upload. Please try again later.” angezeigt. Das ist so eine Art Catch-All Meldung, die alle möglichen Ursachen haben kann. z.B. ist der Webspace erschöpft, oder man hat die Installation umgezogen und vergessen, die URLs in der Konfiguration zu ändern. Das war hier alles nicht der Fall. Hier die kurze Beschreibung, wie ich den Fehler gefunden und behoben habe, vielleicht hilft es auch jemand anderem:

  • In der Media-Library mit F-12 die Developer Tools öffnen (funktioniert z.B. in Chrome oder Firefox). Dort den Reiter “Netzwerkanalyse” wählen und die Seite mit F5 neu laden. Hier ist mir aufgefallen, dass einige Bilder 404 (=nicht gefunden) liefern. Es reicht, wenn es nur ein Bild ist, hier müsst ihr ggf. alle Seiten durchklicken bzw. suchen, ob irgendetwas nicht angezeigt wird.
  • Bei einem nicht-dargestellten Bild bin ich in die Detailansicht gegangen. Oben auf der rechten Seite gibt es eine Textbox, in der die “File URL” angezeigt wird. Bei einem dieser Bilder stand dort z.B. diese URL drin: “https://www.puls200.de/wp-content//mnt/web3/21/79/51055279/htdocs/wp-content/kubrickheader.jpg“. Das ist natürlich Unfug, hier ist die Erzeugung des Pfads schiefgegangen, da die Domain mit dem absoluten Dateipfad zusammengesetzt wird.
  • Jetzt wird es etwas zäh, denn diese File-Url lässt sich nicht direkt ändern. Ich habe im Webspace PHYMyAdmin aufgerufen, um die falschen Daten direkt in der Datenbank zu reparieren. Man kann sich der Sache nähern, indem man sich z.B. alle Metadaten anzeigen lässt, in denen der o.g. Pfad verwendet wird: SELECT * FROM `wp_postmeta` WHERE meta_value like '%/mnt/web3/21 /79/51055279/htdocs/wp-content/%'. Das waren bei mir immerhin 60 Einträge!
  • Bewaffnet mit dieser Information war die Reparatur nicht schwierig: UPDATE wp_postmeta SET meta_value = replace(meta_value, '/mnt/web3/21/79/51055279/htdocs/wp-content/', '')

Damit funktionierte der Upload wieder, wie man an dem wunderhübschen Banner über diesem Post erkennen kann. Allerdings werden jetzt in der Media Library manchmal nicht die verkleinerten Bilder in der Übersicht angezeigt. Ich vermute, dass diese Bilder aus einer Zeit stammen, in der eine Vorversion von WordPress verwendet wurde, die beim Upload die entsprechenden Thumbnails nicht automatisch generiert hat. Die Fehlerursache war dann vermutlich ein fehlerhaftes Update. Nachdem das geklärt ist, kann ich euch wieder mit doofen Bildern nerven ;-)

Nachtrag:

  • Um Vorschaubilder in allen (eventuell geänderten) Auflösungen korrekt darzustellen, kann man das “Regenerate Thumbnails – Plugin verwenden. Dann sieht alles wieder “ordentlich” aus.
  • Habt ihr euer Blog auf Strato gehostet und beim Upload erscheint manchmal oder immer der Fehler 503 (Service not available) kann es eventuell an der Strato “ServerSide Security” liegen. Diese kann in den Paket-Einstellungen bei Strato deaktiviert werden. Ob das jetzt so eine geile Sache ist weiß ich auch nicht, da damit auch allerlei andere Dinge wie Spam-Schutz für E-Mails deaktiviert wird.

Energie

Gibt’s hier praktisch nie, ein Blog-Eintrag zu einem einzelnen Link. Diesmal mache ich eine Ausnahme, einfach weil es so informativ ist:
Stromproduktion in Deutschland (Beispiel Monat Mai), getrackt vom Fraunhofer-Institut für Solare Energiesysteme ISE. Für mich ein besonderer Realitäts-Check. Bei allen Schwankungen hat dieser Graph für mich folgende Überraschungen:

  • Öl spielt bei der Stromproduktion praktisch keine Rolle
  • Der Anteil an Solarenergie ist extrem hoch (natürlich nur bei Sonneneinstrahlung), hätte ich wesentlich geringer eingeschätzt
  • Der Anteil an fossilen Energieträgern (Braun/Steinkohle, Gas) ist noch viel zu hoch
  • Deutschland importiert wesentlich weniger Strom als ich gedacht hätte

(auch mal auf “prozentual” umstellen). Was meint ihr?

Wahrheit

Aus aktuellem Anlass eine Frage zur Wahrheit. In meinem Freundeskreis existiert eine Person, die großen Wert auf Ehrlichkeit legt. Ein ehrliche Meinung, keine Lügen erzählen. Eine direkte Frage resultiert da oft in einer Antwort, mit der man so gar nicht gerechnet hätte. Für mich eine außerordentlich bewundernswerte Einstellung und ein äußerst spannender Faktor in zahlreichen Gesprächen.

Das wirft aber Fragen auf:
Ist eine Person, die 10 Wahrheiten und 2 Lügen erzählt unehrlicher als eine, die nur 3 Wahrheiten, aber keine Lügen erzählt? Welcher würdest du trauen? Ist das eine Delta-Funktion? Der Ehrlichste ist derjenige, bei dem Anzahl Wahrheiten – Anzahl Lügen den größten Wert ergibt? In der zwischenmenschlichen Interaktion spielt Vertrauen eine große Rolle. Was heißt es denn, jemand “gut” zu kennen, denjenigen auch als Freund zu bezeichnen? Im Grunde doch, ein tiefes Verständnis für diese Person zu entwickeln, das in einer gewissen Zuneigung, im Extremfall sogar in Liebe münden kann. Jetzt habe ich da jemand, der mir immer alles so sagt wie es ist – oder eben gar nicht. Damit dreht er mir ein sehr schmales Profil zu, ich kann nicht wissen, wie es an den Längsseiten aussieht. Dann passieren auf einmal Dinge, die ich aus den Aussagen überhaupt nicht abzuleiten waren – ich bin auf einmal sehr unangenehm überrascht.

Es ist keine Lüge, die Wahrheit wegzulassen. Nur ergibt sich daraus eine Art Vakuum. Weil ich die fehlende Wahrheit mit meiner Phantasie ersetze, die dann auch “wahr” sein muss? Moralisch sitzt der Ehrliche jedenfalls auf dem hohen Roß. “Wieso, ich habe doch nichts falsches gesagt?!” Nein! Aber das “Richtige” weggelassen! Das führt in meinem Beispiel dazu, dass man der vermeintlich so ehrlichen Person so gar nicht mehr über den Weg traut – man weiß nie welche Wahrheiten da noch so aus den Löchern kommen.

Ist es deswegen ok, jemand anzulügen? Es scheint mir eher unerwünscht zu sein. Aber auch eine Lüge kann sozialen Frieden stiften, vor allem sind das die “kleinen” Lügen mit eher taktischem Inhalt. Ich für meinen Fall halte das für verzeihlicher, als einen vermeintlichen “Freund” die wirklich wichtigen Sachen zum großen Teil vorzuenthalten. Es ist manchmal richtig, Ballast abzuwerfen. Auch bei Freundschaften kann das vorkommen, vor allem wenn sie gedanklichen Raum einnehmen, der mit irrelevanten Interpretationen gefüllt wird. Das ist übrigens auch eine Wahrheit, die mir das Leben etwas einfacher macht.

Importversuch

Ich habe ein bisschen mit mir gerungen. Soll ich dazu etwas schreiben. Ok, ich tu’s. Diesmal geht es um unsere Freunde vom Zoll, in der Reihe, “wenn der Schimmel lauter wiehert” (Folge 284).
Ausgangspunkt war ein Besuch bei Freunden im Oktober. In der wunderschön dekorierten Wohnung drehte sich ein LED Effektlicht. Eine ganz ulkige Idee: Im Gehäuse eine 220V Glühbirne ein kleiner Motor und ein paar bunte LED’s, die dann über ein Plastikprisma einen schrecklich-schönen Effekt an die Wand werfen. Kein Dauerzustand das ist klar, aber wenn’s mal etwas schräger sein soll genau das Richtige. Ich also hin zu Eachbuyer und munter eine Bestellung abgesetzt. Leider führt der Produktlink inzwischen ins Leere. Damit sich das Ganze auch lohnt, gleich noch Ersatzlichter für’s Auto mitbestellt. Vorteil sind die stets guten Preise und der kostenlose(!) Versand. Jetzt muss man wissen, daß das ganze aus China versendet wird. Das ist normalerweise kein Problem, nur werden bei größeren Gebinden oder Wertemengen Zollgebühren fällig, die man dann bei der Abholung am Amt entrichten muss. Soweit, so unerwartet. Das passiert auch nicht bei jeder Sendung, sondern eher selten. Es war mein erstes Mal. Ich also hin zum Zoll mit der Paypal-Rechnung und etwas Kleingeld, Warenwert lag bei knapp über 20 €.
Angekommen (nicht bei mir, sondern beim Zoll) war übrigens nur das Effektlicht, auf den Rest warte ich bis heute. Das durfte ich dann aufpacken, Frau S. beäugte die Ware um dann zu erklären, daß das “erst geprüft werden muss”. Meinen Einwand, daß das ein CE-Zeichen auf der Packung steht ignorierte sie. “Sie bekommen jetzt einen Brief”. In Zeitlupe schlurfte sie zu ihrem PC und verbrachte erstaunlich viel Zeit damit, mir schriftlich mitzugeben, daß die Ware geprüft werden müsse und von mir nicht mitgenommen werden kann. OK, man muss Verständnis haben für die Behörde, sie hat wirklich keinen leichte Aufgabe, jetzt auch noch mit der KfZ Steuer. Aber wie es da ablief, ich dachte, wo ist die versteckte Kamera. Knapp 2 Wochen später bekam ich wieder Post von der Behörde, in der mir erklärt wurde, daß das Teil ein sog. nichtkonformes Erzeugnis gemäß Verordnung (EG) NR. 765/2008 sei. Ich könne es also nicht einführen. Jetzt kann ich also die Annahme verweigern und alles wird (gottlob kostenfrei) zurückgeschickt oder es kann artgerecht vernichtet werden unter “zollamtlicher Überwachung”, die mich allerdings mindestens 22,00 € kostet. Wie würdet ihr entscheiden? Bitte dabei berücksichtigen, daß der Warenwert vielleicht 1,50€ beträgt und ich dafür knapp 6€ bezahlt habe. Dabei fällt mir wieder ein, wo ist eigentlich der Rest? Angeheftet an den Bescheid war die Kontrollmitteilung der Behörde. Darin erkennt man handschriftlich die Zweifel des Prüfers an der Konformität, die er an formalen Mängeln festmacht (Symbolik CE Zeichen, Warnhinweise nicht deutsch, etc.). Chinesen aufgepasst! Was für ein Riesen-Aufriss! Ich möchte mal behaupten, daß der gesamte Vorgang den Steuerzahler bis jetzt sicherlich 200 € gekostet hat. Und wir reden jetzt nicht von einer Palette Elektronik, sondern von einem einzelnen Objekt. Das dummerweise eine 220V Fassung hat. Falls EachBuyer noch auf meine Rückfrage reagiert, werde ich hier berichten. Bis dahin bestelle ich lieber wieder bei DX oder eben nicht direkt vor Weihnachten!

Lesenswert

[..] von der Struktur unterscheidet sich diese Gesellschaft nicht vom Feudalismus des Mittelalters. Wir befinden uns in einer Leibeigenschaft. Die digitalen Feudalherren wie Facebook geben uns Land, sagen: Beackert es, ihr bekommt es kostenlos. Und wir beackern es wie verrückt, dieses Land. Am Ende kommen die Lehnsherren und holen die Ernte. Das ist eine Ausbeutung der Kommunikation. Wir kommunizieren miteinander, und wir fühlen uns dabei frei. Die Lehnsherren schlagen Kapital aus dieser Kommunikation. Und Geheimdienste überwachen sie. Dieses System ist extrem effizient. Es gibt keinen Protest dagegen, weil wir in einem System leben, das die Freiheit ausbeutet.

Sehr interessantes Interview mit Byung-Chul Han mit der Zeit. Lohnt sich.

Kürbis-Lampe

Letztes Jahr habe ich im Netz einen polnischen Künstler namens Przemek Krawczyński entdeckt, der aus Kalebassen (Flaschenkürbissen) exquisite Lampen baut. Nein ich dachte nicht, das kann ich auch, sondern eher versuch’s auch mal. Dazu braucht man natürlich zuerst einen Kürbis. Die kann man im Herbst für ein paar Euro grün kaufen. Manche Leute mit sonnigen Terrassen können sie auch selbst ziehen, das ist bei uns aber leider nicht gegeben. Die Meinungen gehen weit auseinander, wie man danach verfährt. Ich bin dem Vorschlag gefolgt, den Kürbis ein Jahr lang trocken aufzuhängen und von innen austrocknen zu lassen. Meine Befürchtung war, daß er mir in der Zwischenzeit verfault. Also hing er dann ein Jahr lang in der Speisekammer hinter der Gastherme, trockener und wärmer geht’s bei uns nicht mehr. Hat geklappt.
In dieser Zeit verlor er seine grüne Außenhaut und zurück blieb eine knochenharte, hellbraune Kugel. Jetzt war mir klar, warum die Afrikaner darin so gerne Dinge transportieren. Ich habe ihn am Stiel aufgeschnitten. Dabei habe ich leider einen Fehler gemacht und ein zu breites Sägeblatt verwendet, dass zuviel Material abgetragen hat. Ideal wäre es, den Kürbis aufzusplittern bzw. einen so dünnen Schnitt zu machen, daß nach dem Wiederzusammenfügen keine sichtbare Fuge bleibt. Bei mir scheint jetzt durch diese leider etwas Licht.

Das Innere ist verschwunden

Wie man sieht ist der Kürbis schon ausgehöhlt. Innen drin ist fast kein Material mehr vorhanden, man kann es leicht herauskratzen. Wenn man allerdings wegen dem sehr fluffigen und pulvrigen Material nicht wie ich 2 Stunden lang husten und keuchen will, ist ein Atemschutz zu empfehlen.

Der Hals

Das ist das “Halsstück”. Gut zu sehen mein amateurhafter Schnitt, das sollte man auf jeden Fall besser machen.

Erster Ansatz Ornament

Ich habe dann mit dem Bleistift grob eine Ornament-Struktur aufgezeichnet und mit dem Dremel und Akkuschrauber Bohrlöcher gesetzt. Das geht sehr gut und da das Material sehr holzig und fast komplett bruchsicher ist, kann man fast keine Fehler machen. Was man an dieser Stelle empfehlen kann ist ein Spann-Bohrfutter für den Dremel. Ich habe zwar eine Welle (wichtig), kann aber nur mit einem ca. 3-4mm Bohrer arbeiten. Kleinere Löcher wären noch schöner gewesen, aber das mach ich dann beim nächsten Mal.

Mit Beleuchtung

Der Kürbis, wieder zusammengeklebt und mit einer Innenbeleuchtung versehen. Diese besteht aus einer E-14 Fassung mit Anschluß und einer 4 Watt LED Lampe. Das ist eigentlich fast schon zuviel. Nur leider ist er wieder zusammengeklebt, ein Lampenwechsel kommt also in nächster Zeit nicht infrage. Ich hoffe auf die angepriesene, sehr lange Lebensdauer dieser Leuchten…
:-)