Versionsverwaltung in der Medizintechnik

Versionsverwaltung

Wer kennt es nicht: Bei der Erstellung von Software ist gelegentlich mit Rückschlägen zu rechnen. Nicht selten möchte man auf den letzten funktionierenden Codestand zurücksetzen. Mit Hilfe eines Versionsverwaltungssystems kann jeder frühere Stand geladen werden, mit den aktuellen Entwicklungen verglichen werden und diese ggf. ersetzen.

Versionsverwaltungssystem GIT

Git VersionsverwaltungDas Open-Source-System GIT stellt heute in der Praxis einen Quasi-Standard für Versionsverwaltung dar und hat sich auch im Hochschulumfeld bewährt. Auch an der TH Nürnberg soll im Bereich der Medizintechnik auf GIT zurückgegriffen werden. Dazu können Studierende für Praktika und Abschlussarbeiten bei Bedarf entsprechende Repositories auf dem zentralen Server git.efi.th-nuernberg.de erstellen.

Versionsverwaltung in der Medizintechnik weiterlesen

Wechsel an die TH Nürnberg

Danke, FHWS

Über zwei Jahre war ich jetzt an der Fakultät Informatik/Wirtschaftsinformatik der FHWS. Oft war es stressig, aber immer spannend, hochinteressant und von einem tollen Team getragen. Vielen Dank dafür!

ARC.lab endet mit dem Wechsel.Mit dem Wechsel endet auch das ARC.lab, das den räumlichen und technischen Rahmen für alle meine Projekte und Arbeiten an der FHWS dargestellt hat. Die Räume sind bereits neu vergeben und auch die technische Infrastruktur wird Schritt für Schritt zurückgegeben (noch bin ich ja für 6 SWS „rückabgeordnet“ und benötige das eine oder andere).

In der Konsequenz musste auch dieser Blog umziehen, da der FHWS-Server dafür nicht mehr zur Verfügung steht. Aber wer das hier liest, hat ihn ja wieder gefunden. Wechsel an die TH Nürnberg weiterlesen

Ad-Hoc Grid Computing: Browser als virtueller Supercomputer

Die Idee ist an sich nicht neu: Durch die Kopplung vieler Ressourcen lassen sich leistungsfähige Ablaufumgebungen erzeugen, die auch komplexe Problemstellungen durch parallele Bearbeitung von Teilaufgaben meistern können. Man spricht in diesem Zusammenhang vom Grid Computing. Allerdings müssen derartige Grids meist aufwändig konfiguriert und implementiert werden.

Masterarbeit: Webbrowser als Knoten eines Ad-Hoc Grids

Michael Schneider, Absolvent des Master-Studiengangs Informationssysteme, hat in seiner Masterarbeit nachgewiesen, dass gängige Webbrowser ohne zusätzliche Konfiguration ein solches Grid spontan bilden und gemeinsam an der Lösung von Problemen arbeiten können. Er hat dazu eine JavaScript-Bibliothek entwickelt, die in herkömmliche Web-Seiten eingebettet dazu führt, dass der die Seite anzeigende Browser einem Ad-Hoc Grid beitritt und damit einerseits für die Abarbeitung übermittelter Aufgaben zur Verfügung steht, andererseits aber auch selbst Aufgaben an das Grid zur Lösung übergeben kann.

Parallelität a’la HTML5

Vor HTML5 war Nebenläufigkeit von im Browser ausgeführtem JavaScript nicht vorgesehen. Erst die mit HTML5 neu eingeführten Web Worker haben eine Möglichkeit eröffnet, in einer Web-Seite parallele Abläufe zu implementieren, die durch mehrere Threads des Browsers ausgeführt werden. Michael Schneider hat nun in seiner Arbeit den Distributed Web Worker entwickelt, der sich aus Sicht eines Entwicklers wie ein Web Worker verhält, den Programmcode aber an einen anderen Knoten des Grids zur Ausführung überträgt.

Mandelbrotmenge

Zur Überprüfung seiner Überlegungen und der Implementierung hat Herr Schneider u.a. den Algorithmus zur Bestimmung der Mandelbrot-Menge in JavaScript implementiert und die einzelnen Zeilen der Visualisierung an Distributed Web Worker zur Berechnung übergeben.

Mandelbrot

Ergebnisse

Natürlich erzeugt die Einbindung einer zusätzlichen Schicht zur Verteilung von Aufgaben in einem Grid zunächst einen Overhead. Herr Schneider zeigt aber in seiner Arbeit, dass in Abhängigkeit von der Anzahl der Grid-Teilnehmer und der Größe der verteilten Arbeitspakete durchaus Szenarien existieren, in denen das entwickelte Ad-Hoc Grid deutlich besser abschneidet als eine rein lokale Berechnung.

Messergebnisse zum Ad-Hoc Grid

Die Masterarbeit mit dem Titel

Konzeption und prototypische Implementierung
eines JavaScript-Frameworks zur dynamischen Distribution und Ausführung von Code in einem Netzwerk verteilter Webbrowser

wird in Kürze in der FHWS-Bibliothek zur Verfügung stehen.

 

#beActive: Microsoft Hackathon an der FHWS

Man kann zu Microsoft stehen, wie man will: Die angebotene Werkzeugpalette, die sich für einen Entwickler eröffnet, ist beeindruckend. Die rund 50 Hackathon-Teilnehmer hatten am 22.5. und 23.5. die Möglichkeit, in die Produktwelt von Microsoft einzutauchen und unter dem Motto #beActive eine mobile App zu entwickeln, die Nerds aus den dunklen PC-Pools ins „Real Life“ beförden soll.

Microsoft Hackathon Be Active! #beActive: Microsoft Hackathon an der FHWS weiterlesen

Side Loading von Windows Store Apps auf ein Windows Tablet

Neben den Betriebssystemen iOS und Android ist auch Microsoft Windows auf mobilen Tablets anzutreffen – für einfachere ARM-Prozessoren in der reduzierten Version Windows RT. Doch auch auf diesen einfachen Geräten können mobile Apps der Windows-Welt (Windows Store Apps) eingesetzt werden.

Im ARC.lab der FHWS stehen zwei Microsoft Surface Tablets mit Windows RT bereit, um die Ablauffähigkeit von Store Apps auf Windows RT zu überprüfen. Dabei stellt sich natürlich die Frage, wie der Programmcode einer auf dem PC entwickelten App auf ein Surface übertragen werden kann.

Side Loading

Der normale Weg für Apps auf ein mobiles Device geht über den mit dem Device verbundenen App Store. Im Microsoft Ökosystem ist das der Windows Store, mit dessen Hilfe Apps auf das Device geladen werden können. Während der Entwicklung der App ist es jedoch nicht praktikabel, jedes Deployment über den Store abzuwickeln. Aus diesem Grund hat Microsoft eine Alternative vorgesehen, das sog. Side Loading.

Je nach vorhandener Infrastruktur gibt es dafür mehrere Möglichkeiten. Am ARC.lab nutzen wir die nachfolgend beschriebene einfache Variante, die ohne zusätzliche Kosten auskommt. Allerdings sind so installierte Apps immer nur wenige Wochen auf dem Tablet ausführbar, weil dann die kostenfreie Entwicklerlizenz abläuft.

 1. Schritt

Zunächst ist die App zu paketieren. Dazu öffnet man die Projektmappe mit der App in der Entwicklungsumgebung Visual Studio 2013. Im Menü PROJEKT findet sich ein Menüeintrag zur Generierung des App-Pakets:

Die nachfolgende Frage, ob wir ein Paket für den App Store erstellen möchten, können wir verneinen. Als Zielarchitektur wählen wir „neutral“, damit das Paket anschließend auch in ARM-Umgebungen installiert werden kann.

Bei der Erstellung der Pakets wird ggf. eine (temporäre) Microsoft Entwicklerlizenz generiert und das Paket damit signiert.

 2. Schritt

Die generierte Verzeichnisstruktur übertragen wir mitsamt aller Dateien auf einen USB-Stick. Da Windows Tablets i.d.R. einen USB-Anschluss besitzen, kann der Stick dort angeschlossen und als Dateisystem geöffnet werden.

3. Schritt

Auf dem USB-Stick befindet sich im Verzeichnis der App eine Skriptdatei mit dem Namen

Add-AppDevPackage.ps1

Diese Datei enthält ein Powershell-Skript, das die Side Loading – Installation auf dem Tablet vornimmt. Am einfachsten startet man es, indem man im Explorer darauf rechtsklickt und im Kontextmenü „Mit Powershell ausführen“ wählt.  Sofern die Entwicklerlizenz auf dem Tablet schon bekannt und berechtigt ist, wird die App sofort installiert.

Beim ersten Installationsvorgang und unbekannter Entwicklerlizenz muss die Lizenz vom Administrator des Tablets für das Tablet freigegeben werden. In diesem Fall wird nach dem Administratorpasswort gefragt:

Side Loading - Konsoleausgabe

Anschließend ist die App mittels Side Loading auf dem Tablet installiert.

Microsoft Hackathon an der FHWS

Microsoft entwickelt bekanntlich nicht nur Betriebssysteme und Office-Produkte, sondern ist auch ein führender Hersteller von Entwicklungswerkzeugen und -technologien. Die integrierte Entwicklungsumgebung Visual Studio, das Framework Microsoft .net und die Cloud Plattform Microsoft Azure sind Produkte, die in der Praxis große Bedeutung haben.

Hackathon an der FHWS am 22.5./23.5.

Um den Studierenden der Studiengänge Informatik, Wirtschaftsinformatik und E-Commerce an der FHWS die Möglichkeit zu geben, intensiv in diese Technologien einzutauchen, veranstalten wir in Kooperation mit Microsoft vom 22. Mai zum 23. Mai 2014  einen

Hackathon

Am Donnerstag, 22. Mai, startet der Hackathon im Hörsaal H1.3 um 12:00 Uhr. Experten der Firma Microsoft werden alle Teilnehmer in den „Technologie-Stack“ einführen und einige Kniffe zeigen, wie man mit den Produkten umgeht. Am Ende des Nachmittags sollten alle (theoretisch) in der Lage sein, für ein Windows 8.1-Tablett zu entwickeln.

Im Anschluss an eine Essenspause, in der intensive Gespräche mit den Microsoft-Experten geführt werden können, startet dann der praktische Teil: nach einer Teameinteilung werden die Nacht hindurch  Apps entwickelt, wobei kompetente Ansprechpartner stets zur Verfügung stehen.

Am  nächsten Morgen präsentieren die Teams schließlich ihre Ergebnisse  und nach einem gemeinsamen Frühstück wird ein Siegerteam gekürt. Der Hackathon endet am 23.5. gegen 12:00 Uhr.

Teilnahme

Die Zahl der Teilnehmer ist auf 45 Studierende der FHWS beschränkt. Die Anmeldung erfolgt nach dem First-Come-First-Serve-Prinzip über einen Kurs auf der eLearning-Plattform im Zeitraum 14.4.2014, 18:00 Uhr bis 28.4.2014, 18:00 Uhr.

Jeder Teilnehmer und jede Teilnehmerin muss ein Notebook mit vorinstallierter Software zur Veranstaltung mitbringen. Da die Entwicklung für Windows 8.1 und unter Windows 8.1 stattfindet, ist ein lauffähiges Windows 8.1 Pflicht. Dies kann aber auch in einer virtuellen Maschine installiert sein, d.h. niemand muss sein geliebtes Ubuntu oder Mac OS deinstallieren!

Die benötigte Software wird im eLearning-Kurs genauer beschrieben. Der Bezug ist für Studierende der Fakultät Informatik/Wirtschaftsinformatik kostenlos über das DreamSpark-Programm der Fakultät möglich. Dazu „kaufen“ Sie das Paket über den Softwareshop der Hochschule. Danach finden Sie in der Auftragsverfolgung eine entsprechende Position mit einer Weiterleitung zum DreamSpark-Server.