Lenovo SL500: Phänomen Speicherschwund

Nach 2 1/2 Jahren Nutzung ist es soweit: die Festplatte meines Laptops ist voll. Mist. Also erstmal nachschauen, ob man nicht von dem vielen Kram irgendwas löschen kann. Ein paar überflüssige Programme deinstalliert, ein paar größere Dateien auf die externe Festplatte verschoben, aber ändern tut das an dem Speicherproblem nicht wirklich etwas. Das macht mich dann doch neugierig wohin mein Speicher genau verschwunden ist.  Ein Überprüfen der größten Ordner fordert Erstaunliches zu Tage: Dateien: 86 GB, Programme 9 GB, Windows 20 GB, der Rest Kleinkram. Wo also ist der Rest meines Speichers geblieben?? Knapp 100 GB bleiben unauffindbar verschollen.

Speicherverteilung sichtbar machen

Um die Speicherverteilung genauer sichtbar zu machen sei hiermit ein kleines Programm empfohlen, das sich WinDirStat nennt und auch die verborgendsten Ordner mit Speicherverbrauch in einer übersichtlichen Statistik aufführt. Nach der Ausführung zeigt es mir folgende Statistik an:

Weiterlesen

Ruby rules! Von japanischen Edelsteinen und RailsGirls

Ruby ist eine Programmiersprache aus Japan die seit Anfang der 90er Jahre revolutionäre Wege geht. Die Besonderheit von Ruby findet sich in der Balance zwischen Einfachheit und Leistung. Fans nennen es schön und künstlerisch, aber gleichzeitig funktional und praktisch.

Ihr Schöpfer Yukihiro “matz” Matsumoto vermischte Teile seiner Lieblingssprachen (Perl, Smalltalk, Eiffel, Ada und Lisp) und formte daraus eine neue Programmiersprache. Er betonte, daß er versucht “Ruby natürlich zu machen, nicht einfach”, als Spiegel des echten Lebens. Den Namen, hergeleitet vom Edelstein Rubin, wählte er als Anspielung auf die Programmiersprache Perl.

Bild: Quelle Wikipedia

Weiterlesen

Was ist eine gute User Story?

Wichtiger Bestandteil agiler Projektplanung ist das Schreiben von User Stories. Hierbei gilt es zu verstehen was eine User Story genau ausmacht und wie sie sich von den aus anderen Entwicklungsmethoden bereits bekannten Use Cases unterscheidet. User Stories dienen grundsätzlich demselben Zweck wie Use Cases, beide beschreiben Anforderungen an das System, sie sind aber nicht das Gleiche. User Stories werden zusätzlich dazu benutzt, um Zeitschätzungen in die Release-Planung einzubringen. Außerdem dienen sie als Ersatz für umfangreiche Anforderungsdokumente.

Alistair Cockburn, der international bekannte IT Stratege, Buchautor und Mitbegründer des Agile Development Manifesto hat sich intensiv mit der Definition von Use Cases und User Stories auseinandergesetzt.

Er versucht den Unterschied wie folgt zu erklären: Eine User Story ist wie die Überschrift eines Szenarios, möglicherweise zusammen mit einem Beispiel. Ein Use Case beschreibt den Inhalt mehrerer Szenarien zur Nutzung einer Software. Er weist darauf hin, daß neben User Stories durchaus auch weiterhin Use Cases verwendet werden dürfen, wenn es für das Team hilfreich ist. Wie schwierig diese Unterscheidung dann aber doch ist, zeigt seine sehr lustige Diskussion zu dem Thema „A user story is to a use case as a gazelle is to a gazebo“, die seit 2007 bis heute fortgeführt wird.

Weiterlesen

Testmanagement-Plugins für JIRA und Confluence

Mit dem Universal Plugin Manager 2.0 hat Atlassian dieses Jahres neben einer überarbeiteten Oberfläche und vielen anderen neuen Features den Atlassian-Marketplace in seine Produkte integriert. Plugins lassen sich seitdem sehr angenehm durchstöbern und bei Interesse sofort installieren. Jeder Nutzer eines Atlassian-Produkts kann den Marketplace durchsuchen und dem Administrator Plugins zur Installation vorschlagen.

Plugin Marketplace

Die Installation der Plugins ist mit einem Klick des Administrators direkt aus der Anwendung heraus möglich. Dadurch wird unnötiges Context-Switching verhindert und alle Produktdaten (Licencekey, Konfigurationen) stehen automatisch zur Verfügung. Alle Plugins bieten eine 30-Tage-Probeversion an, womit man die Möglichkeit hat, alles erst einmal auszuprobieren und sich dann dafür oder dagegen zu entscheiden.

Seitdem spriessen die Plugins für Atlassian-Produkte nur so aus dem Boden. Jeder kann ein Plugin schreiben und es auf dem Marketplace anbieten.

Weiterlesen

Schöne Slideshows – einfach umgesetzt für Web und Mobil

Ein Geheimtipp in Sachen Slideshows für alle, die das nicht selber programmieren können oder wollen, sind die Skripte von bretteleben.de. Der Autor Andreas Berger stellt diese kostenlos zur Verfügung, hat eine gut verständliche Bedienungsanleitung dazu geschrieben und bietet bei Fragen einen beispielhaften Support an.

Die Slideshows gibt es als JavaScript-Code, der mit einem div in jede CSS- oder HTML-Seite eingebunden werden kann. Dazu wird einfach die Datei be_slide.js im HEAD-Bereich der Seite verlinkt und dann im BODY-Bereich der Seite an der gewünschten Stelle ein DIV-Container eingefügt, der die Slideshow enthalten wird. Der Container kann beliebig positioniert und formatiert werden. Damit sind in der Seite selbst bereits alle nötigen Vorbereitungen getroffen. Jetzt können Bilder in einem Ordner Pics abgelegt werden und in dem heruntergeladenen JavaScript-File „be_slide.js“ können noch die einzelnen Parameter entsprechend der gewünschten Verwendung gesetzt werden. Das wars. Übrigens ist die Slideshow auch als Plugin für Joomla verfügbar.

Es ist ein super schlankes Skript mit optimaler Funktion und die Kommentare von Nutzern sind durchweg positiv. Das Skript läuft in allen Browsern und Betriebssystemen und auch auf mobilen Geräten hervorragend. Es kann sehr gut und ohne große Programmierkenntnisse auf die eigenen Bedürfnisse  angepasst werden. Damit ist es sehr vielseitig.

Weiterlesen

Agile Projektplanung für Scrum- und Kanbanteams mit dem Rapid-Board

Sich agiler Softwareentwicklung zu verschreiben ist eine grundsätzliche Entscheidung. Bereits 2001 wurde hierzu von den wichtigsten agilen Softwareentwicklern der Zeit das Manifesto for Agile Software Development entworfen, das bis heute von vielen Entwicklern unterzeichnet wird. Dabei geht es darum, bestimmte agile Ziele in der Softwareentwicklung zu verfolgen: die Projektteilnehmer und deren gute Zusammenarbeit in den Mittelpunkt zu stellen, mehr Raum für die eigentliche Softwareentwicklung statt für aufwändige Dokumentationen zu lassen, eng mit den Kunden zusammenzuarbeiten und flexibel auf Änderungswünsche einzugehen.

Was ist das Rapid-Board?

Das Rapid-Board für das JIRA-Plugin Greenhopper gibt es seit August 2011. Seitdem wurde es mehrfach nachgebessert und den Wünschen der Entwickler in aller Welt angepasst. Mit dem Release 5.10 kam im Mai 2012 schließlich ein komplett neues Design für die Scrumplanung und Berichterstattung auf den Markt. Mittlerweile ist ein sehr schönes, intuitiv zu bedienendes Tool für die Planung agiler Projekte in JIRA entstanden. Wird das Greenhopper-Plugin in JIRA installiert, erhält man ein neues Agile-Menü.

Mit Greenhopper lassen sich die Aufgaben in JIRA  in verschiedenen Ansichten übersichtlich darstellen und im Rapid-Board die Arbeitspakete für den nächsten Sprint zusammenstellen.

Weiterlesen

Stylisches Testmanagement mit Zephyr

„Durchgestylte Benutzeroberfläche, animierte Grafiken, eingebauter Instant Messenger …. Mehr ein Spielzeug als ein Testmanagementwerkzeug.“ Resümiert der Blogger Johannes Hochrainer bereits 2009.

An der benutzerfreundlichen Art von Zephyr hat sich seitdem nichts geändert. Mittlerweile wurde es aber noch weiter optimiert und den Bedürfnissen der Kunden in der Qualitätssicherung angepasst. Durch die Kooperation mit Atlassian seit diesem Jahr ist auch eine Integration mit JIRA möglich.

Im Juni 2012 hat Zephyr den SD Times 100 Preis gewonnen. Seit 2003 werden von diesem Magazin für Software Entwicklung jährlich die 100 Führenden und Innovativsten der Software Entwicklungsbranche ausgezeichnet.

Die in Sunnyvale in Kalifornien ansässige Firma begann mit der Entwicklung des Testmanagementsystems Zephyr im Frühling 2007. Die Entwickler von Zephyr stammen aus den verschiedensten Teilen der Welt und haben selbst jahrelang in der Qualitätssicherung mitgewirkt. Ihre Erfahrungen sind in Zephyr eingeflossen. Die meisten Kunden finden, daß Zephyr intuitiv zu bedienen und einfach zu erlernen ist.

Weiterlesen

Wie schreibe ich eine ausführbare Datei für Unix-Systeme?

Zu diesem grundlegenden Beitrag kam ich deshalb, weil das TestManagement-System Zephyr ein solches Bash-file benötigt, um automatisierte Tests zu starten. Das wäre also ein Anwendungsfall für eine solche ausführbare Datei. Ich kann mir aber vorstellen, daß es noch viele weitere Einsatzmöglichkeiten gibt.

Eine ausführbare Datei schreiben:

Lege eine neue Textdatei an (.txt) und schreibe dort beliebige Unix-Befehle rein. (z.b. zur Übung: wechseln in ein Verzeichnis mit cd und aufrufen eines Programms). Da die Kommandozeile die Standardumgebung für ausführbare Dateien ist, muss kein weiterer Kontext angegeben werden. Anderenfalls wäre als erstes das Programm zu nennen, das das Skript ausführen soll, in diesem Fall:
#! /bin/bash

Füge jetzt Befehle hinzu um in das Verzeichnis zu wechseln, in welchem sich das Programm befindet, das wir aufrufen wollen. Dies kann auch ein Maven-Projekt sein, dann können im Anschluss alle Maven-Befehle die man ausführen will in die Datei geschrieben werden, z.B. mvn test zum Ausführen aller Unit-Tests.

## Wechsle in das System-Verzeichnis:
cd /
## Wechsle zum Beispiel in das Verzeichnis, in dem sich das Taschenrechner-Programm befindet, das auf jedem Mac im Programme-Verzeichnis verfügbar ist:
cd Applications/Calculator.app/Contents/MacOS/

## Führe das Taschenrechner-Programm aus:
./Calculator

image

Weiterlesen

Wie man JIRA-Vorgänge von einer JIRA-Instanz in eine andere überträgt

Wie der ein oder andere vielleicht schon feststellen mußte, wenn er mit mehreren JIRA-Instanzen zu tun hat, bietet JIRA leider standardmäßig nur den Export und Import ganzer Projekte oder des kompletten JIRA-Systems an. Wenn man aber nur eine individuelle Auswahl an Vorgängen übertragen möchte, kann der im folgenden beschriebene Workaround benutzt werden. Damit kann jeder beliebige Filter der sich in JIRA erstellen läßt exportiert und in einem anderen JIRA-System importiert werden. Da es dabei einiges bei der Bereinigung der Excel-Datei zu beachten gibt, kann der Arbeitsaufwand bei einer großen Anzahl an Vorgängen aus sehr unterschiedlichen JIRA-Versionen etwas ausarten. Aber für handliche Mengen ist dies durchaus eine Variante die gut funktioniert.

Daten in Excel exportieren

  • Erstelle einen Filter in JIRA mit allen Vorgängen, die du in das andere JIRA-System importieren möchtest
  • Gehe zu Ansichten/Views -> Excel (Alle Felder) und exportiere diese Vorgänge in eine Excel-Tabelle

Weiterlesen

System-Monitoring mit JMX und Jolokia

Eine einfache Monitoring-Plattform zum Überwachen einer Java-Anwendung kann mit Hilfe einiger OpenSource-Tools leicht erstellt werden. Dafür werden folgende Komponenten benötigt: Das JMX-Framework, evtl. eine Möglichkeit zum entfernten Zugriff auf die Anwendung, hierzu wird Jolokia vorgestellt, und ein Framework zum Darstellen schöner Diagramme auf der Monitoring-Webseite.

Was ist JMX?

JMX steht für Java Management Extension und ist eine vom Java Community Process (JSR-3) entwickelte Spezifikation zur Verwaltung und Überwachung von Java-Anwendungen. Teile der JMX Spezifikation sind bereits in der Java 1.5 Standard-API integriert und wurden mit Java 6 stark erweitert. JMX ist nicht nur eine geeignete Technologie, um das Verhalten von Systemen zu kontrollieren, sondern erleichtert auch die Kommunikation von unterschiedlichen Java-Programmen. In der ursprünglichen API unterstützte JMX nur die Kommunikation innerhalb einer JVM (Java Virtual Machine), aber seit der Java Version 6 wird auch die Kommunikation mit anderen JVMs unterstützt.

Die Systemdaten werden von sogenannten MBeans ausgelesen. Diese Java-Objekte werden von speziellen Agents verwaltet oder es kann (wenn die Sicherheitsbestimmtungen das zulassen) auch direkt auf die MBeans zugegriffen werden. Es lassen sich statische (z.B. Betriebssystemdaten) und dynamische (Speicherverbrauch, geladene Klassen..) Systemdaten auslesen. Es stehen fertige HTTP-Adapter für JMX zur Verfügung, wodurch es möglich ist, direkt über einen Webbrowser Werte einer Java-Anwendung zu verändern und auszulesen.

Weiterlesen