Effizientes arbeiten mit Terminator anstelle von Terminal (Ubuntu)

Ständig überlege ich mir, wie ich meine Arbeitsweise verbessern kann. Da ich viel auf dem Terminal arbeite, habe ich vor einiger Zeit das Tool Terminator entdeckt.

terminator

Eines der besten Features ist, dass man mit Ctrl-Shift-E bzw Ctrl-Shift-O das Fenster aufsplitten kann (wie im Screenshot ersichtlich). Da ergeben sich natürlich einige neue Möglichkeiten.

Automatisieren von Layout + Ausführen von Bash Kommandos

Für den normalen Gebrauch ist das manuelle öffnen von Fenstern eine super Sache. Es gibt aber alltägliche Aufgaben, die sich immer wieder wiederholen, z.B. Logfiles oder die Auslastung auf Produktiv Servern abchecken.

Posted in Softwareengineering | Leave a comment

Wie verschiebe ich MySQL Daten in ein anderes Verzeichnis (Ubuntu)

In letzter Zeit wurde es auf meiner SSD Platte für die MySQL Datenbanken immer enger. Ich entschied mich daher, die Daten auf ein grösseres Drive zu verschieben. Einfacher gesagt als getan. Nachdem ich mich nun ein paar Stunden zur Lösungsfindung abgemüht habe, möchte ich euch die Lösung zeigen.

Solange man auf der selben Partition ist, auf welcher auch schon die MySQL Daten sind (unter Ubuntu normalerweise /var/lib/mysql), funktioniert der Ansatz, welcher in folgendem Post beschrieben ist, wunderbar:

http://article.my-addr.com/?show=linux_ubuntu_change_datadir-move_mysql_database_to_other_path

Wenn man die Daten aber auf einer anderen Partition haben möchte, muss man das ganze mit mount lösen. Der Artikel hier http://aws.amazon.com/articles/1663?_encoding=UTF8&jiveRedirect=1 hat mich auf den richtigen Weg gebracht.

Posted in Softwareengineering | Leave a comment

Messaging als Programmiermodell

Aktuell beschäftige ich mich intensiv mit der Strukturierung von Software, welche auch nach einiger Zeit noch wartbar ist. Auf der Suche nach neuen Wegen, bin ich auf das Messaging gestossen. Den meisten dürfte das Messaging schon von den Message Queues bekannt sein. Sprich wenn eine Applikation Messages an eine Message Queue sendet und diese Messages dann später zu einem beliebigen Zeitpunkt (also asynchron) wieder von einer Applikation konsumiert werden . Mir war bis zu diesem Zeitpunkt nicht bewusst, dass man Messaging auch synchron in einer einzelnen Applikation oder Service verwenden kann. In diesem Artikel möchte ich vor allem wertvolle Quellen zu diesem Thema auflisten und dazu noch mit einigen Kommentaren ergänzen.

Posted in Architektur / Design | 2 Comments

Wartbarkeit von Software verbessern

In letzter Zeit mache ich mir vermehrt Gedanken zur Strukturierung von Software und wie wir unsere Produkte/Projekte längerfristig besser machen können. Ich glaube, viele von uns haben nach wie vor Probleme mit der Wartbarkeit von Software.

Im Artikel möchte ich einige Ansätze aufzeigen, mit denen es möglich ist, die Wartbarkeit von Software zu verbessern.

Software als LEGO-Steine

Ich lese immer wieder von der Vorstellung, dass man Software ganz einfach wie LEGO-Steine zusammenbauen kann. Dieser Artikel versucht zu erläutern, wie man Software und LEGO vergleichen kann.

Posted in Architektur / Design | 1 Comment

Lessons Learned @ NZZ – Teil 6 – Der Release Manager

Seit kurzem haben wir in der NZZ die Rolle des Release Managers eingeführt. Im folgenden Artikel möchte ich erklären warum.

Situation ohne die Rolle des Release Managers

Wir sind mit 12 Entwicklern nach vor ein eher kleines Team. Wir arbeiten schon seit rund 2 Jahren mit Scrum und das funktioniert soweit ziemlich gut. Wir haben schon einige Rollen definiert, wie zum Beispiel Entwickler, Architekt, Reviewer usw. Unsere Sprints dauern 2 Wochen und wir releasen normalerweise jeweils auch alle 2 Wochen eine neue Version unserer Produkte (ausser es gibt irgendwelche Hotfixes).

Unser Ablauf gestaltete sich bis anhin inetwa folgendermassen:

Posted in Allgemein | Leave a comment