Funny things that I wrote directly on the iPhone while waiting for ….

Some play games on their mobile phones in the waiting room, others read magazines. I discovered this great Widget IOS app called Scriptable for myself to bridge my boredom while waiting.

Although JacaScript is not my usual programming language, you get used to it quickly. This is of course also due to the fact that at the beginning you can always copy and paste a lot from other developers. But some parts of my code are also completely rewritten.

Strava – Last Ride – Current Month

With the scriptable widget, the last Stava training data can be called up as well as an overview of the last month. A nice feature is scrolling through friends’ training sessions like in the short video. All you have to do is set up several Strava widgets and slide them on top of each other. To get more Informations about that nice Scriptable Widget, check my blog entry about Strava Scriptable Widget. A similar Widget I have also created for Komoot.

How to add the scriptable code to your phone, check the end of this page 🙂

English for IT Vocabulary

Honestly, how often do we check our cell phones every day to check the news or other things. Many even unlock their cell phones every minute out of boredom. Why shouldn’t you learn something from it?
With the Scriptable widget, vocabulary from the IT area is displayed at a predetermined time interval.

Source Code can be downloaded here:
https://github.com/SmonSE/englishForIT

Chuck Norris Facts

At the beginning I looked for free Json Api’s with the following result: chucknorris.io is a free JSON API for hand curated Chuck Norris facts.

Chuck Norris Widget

Source Code can be downloaded here:
https://github.com/SmonSE/chucknorris.io

WordPress Latest Blog Post

Do you not feel like opening the page of your favorite blog every day to see if there is a new article. Then you can simply configure the wordpress blog script as a widget on your iPhone.

Source Code can be downloaded here:
https://github.com/SmonSE/IOS-Widget_load_JSON

How to add scriptable widget to the home screen

Regardless of which widget you have chosen, the setting procedure in iOS is always the same:

  1. First, add the copied code to a new script.
  2. With a tip on the controller icon at the very bottom in the left corner of the screen, you can give the script a meaningful name and select a suitable icon (glyph) for it.
  3. After that, switch to the widget screen by scrolling left on your home screens as long as possible.
  4. Tap and hold on this screen until the preset widgets start to wobble. You are now in edit mode. In this mode, tap on the plus sign in the upper left corner and scroll down to „Scriptable“ in the list that appears.
  5. Here you can still select the appearance and add the widget.
  6. Tap the Scriptable widget again while the icons are wobbling. Here you have the opportunity to select the appropriate script.
  7. To do this, tap on „Select“ in the „Script“ line, the app will show you all the scripts that have been created so far, which can now be selected. Then drag the widget to a location on the screen of your choice and exit edit mode.

Erstellung einer Anwendungssoftware zur Verwaltung eines Karteisystems

Problemstellung
Neue Technologien begleiten, vereinfachen und bestimmen unseren Alltag, daher ist es kaum möglich diesen ohne elektronische Hilfsmittel zu bestreiten. Die im Handel erhĂ€ltliche Hardware kann nicht ohne den Ablauf eines fĂŒr sie explizit entwickelten Programms funktionieren. Aufgrund der vielen verschiedenen elektronischen Systemen gibt es unterschiedliche Programmiersprachen, um das optimale Ergebnis zu erzielen. Java ist eine der weltweit verbreitetsten und meist genutzten Programmiersprachen, da sie plattformunabhĂ€ngig ist.

Bei einfachen oder kleinen Java-Programmen kann der gesamte Programmcode in die main()- Methode geschrieben werden, was jedoch nicht objektorientiert ist. Im Fall einer Programmerweiterung verliert man schnell den Überblick, wodurch vermehrt Fehler entstehen. EnthĂ€lt der Programmcode lediglich eine main()-Methode, kann dieser in den meisten FĂ€llen nicht erweitert werden ohne den gesamten Programmcode anzupassen. Bei der Verwendung objektorientierter Programmierung mit einzelnen Klassen wird die Fehleranalyse vereinfacht und bestehende Klassen können mit leichten Anpassungen fĂŒr weitere Projekte verwendet werden.

Ziel und Aufbau der Arbeit
Ziel dieser Arbeit ist es eine Software – Anwendung mit der Programmiersprache Java fĂŒr die Verwaltung eines Karteisystems zu entwickeln. Die anschließende Dokumentation stellt anhand einzelner Codeblöcke sowie UML-Diagramme einen detaillierten Überblick des entwickelten Programms dar.


Das Java-Projekt wird in objektorientierter Schreibweise, mit den vorgegebenen Klassen Kartei und Freund, programmiert. Über ein Mainprogramm soll es dem Benutzer erlaubt sein, einzelne Freunde dem Karteisystem hinzuzufĂŒgen. Die Methoden der Klasse Kartei, das Löschen von Freunden, EintrĂ€ge Ă€ndern oder das Ausgeben der gesamten Telefonliste soll ĂŒber das Mainprogramm verwaltet werden. Auf die einzelnen Methoden der Klassen wird im nachfolgenden Teil der Projektarbeit genauer eingegangen.

Mögliche Fehler die bei der Programmierung der Klassen auftreten sollen Anwender gerecht behandelt und dokumentiert werden.
Des Weiteren sollen VorschlÀge zur strukturellen Verbesserung und der Erweiterung des Programmes ausgearbeitet werden.

Green Logistics – Ein Konzept zur Nachhaltigkeit im Bereich der Logistik

EinfĂŒhrung und Problemstellung
Dank der Globalisierung ist eine moderne und sich schnell anpassende Logistik nicht mehr weg- zudenken, sowohl in privaten als auch in wirtschaftlichen Bereichen. Überall wo GĂŒter und Waren transportiert, zwischengelagert oder sogar direkt weiterverarbeitet werden ist eine funktionierende und adaptive Logistik gefragt.

Durch die zahlreichen Onlineshops, sowie die industrielle Massenproduktion sollen Bestellungen zur richtigen Zeit am richtigen Ort sein und das in exakter Menge, in gewĂŒnschtem Zustand und meist so schnell und billig wie möglich. Dies macht den gesamten Bereich der Logistik zu einer tĂ€glichen Herausforderung.

Über die gesamte Wertschöpfungskette hinweg arbeiten rund 3 Millionen Menschen in den unterschiedlichsten Bereichen. WĂŒrde man die Logistik als autonome Bran- che betrachten, wĂ€re sie in Deutschland direkt hinter dem Handel und der Automobilindustrie angesiedelt. Das Verkehrsministerium in Deutschland setzt sich dafĂŒr ein, dass die GĂŒter mög- lichst kostensparend, leise und umweltfreundlich an ihren Bestimmungsort gebracht werden. Da- her wollen sie, dass die meisten GĂŒter und Waren ĂŒber das Schienennetz transportiert werden, um den VerkehrstrĂ€ger Nummer eins die Straße zu entlasten.

JĂ€hrlich werden aufgrund der geografischen Lage Deutschlands 4,7 Milliarden Tonnen Waren ĂŒber Deutschlands Straßen, Schienen und Wasserstraßen bewegt, wodurch Deutschland zu den wichtigsten Exportnationen zĂ€hlt.

Was die Logistikbranche betrifft stellt die StĂ€rkung der Nachhaltigkeit eine der grĂ¶ĂŸten Heraus- forderungen dar. Laut Vorgaben der Bundesregierung soll bis zum Jahr 2030, im Vergleich zu 2005 die Reduktion der Luftschadstoffe um 45% erreicht werden. Dies fĂŒhrt dazu, dass weiterhin Maßnahmen im Bereich der Logistik getroffen und umgesetzt werden. Deutschland benötigt eine umweltfreundliche und moderne Logistik, denn sie bewegt die Wirtschaft. 

Zielsetzung und Aufbau der Arbeit
Ziel dieser Arbeit ist es, dem Leser einen Überblick in den Bereichen Logistik und Nachhaltigkeit zu verschaffen. Durch eine anschließende ZusammenfĂŒhrung werden die konkreten Ansatzpunkte der nachhaltigen grĂŒnen Logistik erlĂ€utert und an einem verstĂ€ndlichen Beispiel dargestellt.

Die vorliegende Arbeit unterteilt sich in insgesamt fĂŒnf Kapitel. Nach der Einleitung werden zu- nĂ€chst die Grundlagen des Themas erlĂ€utert. Dabei wird unabhĂ€ngig voneinander auf die einzel- nen Bereiche Logistik und Nachhaltigkeit eingegangen, welche Hauptbestandteile der Arbeit sind. In Kapitel drei liegt das Wesentliche auf den Aufgaben und Zielen einer modernen Logistik mit dem Schwerpunkt auf den einzelnen Haupteinsatzgebieten.

Im nachfolgenden vierten Kapitel wird auf die Nachhaltigkeit in der Logistik genauer eingegan- gen. Dies wird anhand eines einfachen Transportlogistik Beispiels der Firma DHL aufgezeigt. Schlussendlich wird im letzten Kapitel ein Fazit fĂŒr den Leser gezogen. Ein in die Zukunft gerich- teter Ausblick schließt die Arbeit ab.

Handlungsweise bei der EinfĂŒhrung eines Warenwirtschaftssystems in einem mittelstĂ€ndischen Großhandel

Problemstellung
Im heutigen elektronischen Zeitalter trĂ€gt im Einzel- und Großhandel die schnelle VerfĂŒgbarkeit von Informationen zur WettbewerbsfĂ€higkeit und zu einem Erfolgsfaktor bei. Daher setzen Unternehmen bei der Steuerung und Planung von WarenflĂŒssen auf EDV- gestĂŒtzte Systeme. Solche elektronischen Lösungen werden unter dem Begriff „Warenwirtschaftssystem“ (WWS) aufgefĂŒhrt. Die meisten Unternehmen bevorzugen allerdings ihre altbewĂ€hrten Methoden, da eine Umstellung auf ein modernes Warenwirtschaftssystem zu Beginn kostenintensiv ist. Daher werden bestehende Funktionen erweitert oder an die neuen Anforderungen angepasst. Durch diese Anpassungen oder Erweiterungen entstehen Fehlerquellen, die auf eine unzureichende KommunikationsfĂ€higkeit der verschiedenen Systeme untereinander zurĂŒckzufĂŒhren sind. Bei der manuellen Eingabe wichtiger Daten in ein computergestĂŒtztes System treten hĂ€ufig Fehler auf, die menschlich sind. Ein weiterer negativer Aspekt ist der Zeitaufwand, der ohne ein abgestimmtes Warenwirtschaftssystem entsteht. Außerdem mĂŒssen bei der Recherche von einzelnen Informationen, wie beispielsweise dem aktuellen Lagerbestand oder den neusten Verkaufszahlen, oftmals verschiedene Datenquellen durchsucht werden.

Vielen Unternehmen fehlt es an der ausfĂŒhrlichen Beratung welcher Lösungsansatz fĂŒr die jeweilige Firma der Beste wĂ€re, da die eigenen Lösungen nicht dafĂŒr vorgesehen sind die Aufgabe eines Warenwirtschaftssystems zu ĂŒbernehmen.

Ziel und Aufgabe der Arbeit
Das Ziel dieser Projektarbeit ist es, die Grundlagen, Strukturen und Arten eines Warenwirtschaftssystems zu erlĂ€utern. Anhand eines Beispielunternehmens wird ein einfacher Lösungsansatz zur EinfĂŒhrung eines Warenwirtschaftssystems gezeigt.
Der Schwerpunkt dieser Arbeit liegt auf dem Auswahl-, Beschaffungs- und EinfĂŒhrungsvorgang eines Warenwirtschaftssystems in einem mittelstĂ€ndischen Großhandel fĂŒr Unterhaltungselektronik.

In dieser Projektarbeit wird darauf aufmerksam gemacht, dass in vielen mittelstÀndischen Unternehmen auf eigens entwickelte und ergÀnzte Systeme gesetzt wird. Diese Unternehmen sehen hauptsÀchlich den relativ hohen Investitionseinsatz, welcher sich jedoch mittelfristig durch Kosten- und Zeitersparnis und der Angleichung von DatenbestÀnden amortisiert.

Erstellen eines Testplanes fĂŒr das Unternehmen S-W-E

Problemstellung
SoftwarequalitĂ€t begegnet uns tagtĂ€glich in unserem Alltag. Wir sind umgeben von Programmen und softwaregesteuerten GerĂ€ten denen wir teilweise unser Leben anvertrauen. Ein Auto besitzt als Beispiel Fahrerassistenzsysteme die Beschleunigungs- und BremsvorgĂ€nge steuern, auf deren FunktionalitĂ€t wir uns verlassen. Gerade von der Automobilindustrie wird des Öfteren in den Medien oder Fachzeitschriften berichtet, dass zum Beispiel Softwarepannen von SteuergerĂ€ten, Navigationssystemen oder dem Motormanagement auftreten. Durch fehlerhafte Software entstehen hohe Kosten, VerĂ€rgerungen von Kunden treten auf oder ganze RĂŒckrufaktionen werden gestartet. Programme können aber auch leicht zu bedienen sein und zuverlĂ€ssig laufen. Solche Programme haben zuvor ein ausgearbeitetes Software-QualitĂ€ts-Konzept durchlaufen, welches auf die jeweilige Software angepasst wurde.

Ziel und Aufbau der Arbeit
Ziel dieser Arbeit ist es einen Testplan fĂŒr eine Individualsoftware der Firma S-W-E zu erstellen. Mittels dieser Software kann die Firma einen Mehraufwand von 50000 Euro im Jahr einsparen. Die Voraussetzung dafĂŒr ist, dass durch die erstellten TestfĂ€lle eine ausreichende Überdeckung der Software gewĂ€hrleistet ist und diese im Betrieb fehlerfrei funktioniert.
Im vorliegenden Assignment wird die systematische Vorgehensweise zur Definierung von TestfĂ€llen, welche eine Anweisungs-, Zweig- und PfadĂŒberdeckung besitzen sollen, dokumentiert.
Dabei soll darauf geachtet werden, welche TestfĂ€lle fĂŒr welche Überdeckung notwendig sind. Um die TestfĂ€lle zu erstellen, sollte sich ein passender Kontrollfluss, der sich im Programmtext enthĂ€lt, ĂŒberlegt werden.
Anschließend ist zu zeigen, ob eine Funktions- und AusgabenĂŒberdeckung fĂŒr einen Black-Box- Test mittels der bereits erstellten TestfĂ€lle erreicht wird.
Zum Abschluss soll dargestellt werden, welche Integrations- und Systemtests fĂŒr das Projekt erforderlich sind.

Aufgabengebiet und Einsatz der Computer-Forensik im betrieblichen Umfeld

Problemstellung
Einen Tag ohne digitale UnterstĂŒtzungen, sei es privat oder beruflich, kann man sich kaum noch vorstellen. Mittels Smartphone, Tablet oder PC tauchen wir tĂ€glich in die digitale Welt ein und hinterlassen dort unsere Spuren. Die wenigsten machen sich dabei Gedanken ĂŒber die Sicherheit oder die Publikation ihrer privaten Daten.
Aufgrund dessen stellt die Sicherheit der Informationstechnik ein wachsendes Problem dar. Organisationen wie Industriezweige, Banken, KrankenhĂ€user, Polizei, Öffentliche Einrichtungen und viele mehr, nutzen solche digitalen Dienste fĂŒr den reibungslosen Ablauf von GeschĂ€fts- und Arbeitsprozessen. Angewiesen auf die Informationstechnologie, werden die oben genannten Organisationen zu einem idealen Ziel fĂŒr Angreifer. Im Jahr 2015 wurde auf 58% der Unternehmensrechner mindestens ein Malware-Infizierungsversuch verzeichnet.
Angesichts der zahlreichen Angriffe auf Unternehmen, werden Forensiker mit der Ermittlung digitaler Spuren beauftragt, bevor die Polizei eingeschaltet wird.
Meist befinden sich die TĂ€ter in den eigenen Reihen, die sich berechtigterweise im selben Netzwerk befinden. Tatmotive reichen hierbei von Neid, Neugierde, Erpressung, Verkauf von Daten oder einfache Delikte wie Kollegen schlecht dastehen zu lassen.

Ziel und Aufgabe der Arbeit
Ziel dieser Projektarbeit, ist das Aufgabengebiet und den Einsatz der Computerforensik im betrieblichen Umfeld darzustellen. Dazu werden die Grundlagen der Computerforensik, mit Hilfe der Definition, verschiedenen Vorgehensweisen und den Anforderungen der forensischen Untersuchung aufgefĂŒhrt. Anhand eines ausgewĂ€hlten Szenarios, wird gezeigt, wie man unter Anwendung des BSI Leitfaden und der DurchfĂŒhrung einer Post-mortem-Analyse, den mutmaßlichen TĂ€ter ĂŒberfĂŒhrt. Des Weiteren werden die erfolgreich gesicherten Datenquellen aufgelistet, die im Falle eines Prozesses, als Beweismittel dienen. Eine Überarbeitung und Verbesserung des Sicherheitskonzeptes, wird fĂŒr die Firma vorgeschlagen und teilweise durchgefĂŒhrt, damit solch ein Vorfall in Zukunft nicht mehr auftritt.

NoSQL-Datenbanken – Aufbau, Möglichkeiten und Grenzen

Problemstellung
Das World Wide Web ist ein Bereich in dem Entwicklungen schnell ĂŒberholt sind. Das Internet ist einer der rasantesten Bereiche was die VerĂ€nderung betrifft. TagtĂ€glich entstehen neue Probleme fĂŒr die schnellstmöglich eine Lösung gefunden werden muss, um den Wachstum und die Weiterentwicklung nicht zu bremsen.
Ein besonders wichtiges Thema, welches auch zukĂŒnftig immer mehr in den Vordergrund rĂŒckt, ist das drastisch ansteigende Datenvolumen. Das Analyseunternehmen IDC prognostiziert, dass der voraussichtliche Umfang der weltweiten DatensphĂ€re im Jahr 2025 auf kolossale 163 Zettabyte (ZB) anwachsen wird. Das bedeutet eine Verzehnfachung der Datenmenge gegenĂŒber dem Jahr 2016. 
Ein grundlegendes Problem von relationalen Datenbanken, die große Datenmengen indizieren liegt darin, dass sie bei steigendem Mengenaufkommen zwangslĂ€ufig immer langsamer werden, was fĂŒr Firmen ein grĂ¶ĂŸeres Problem darstellt, da sie eine schnelle VerfĂŒgbarkeit von Daten benötigen. Dadurch, dass Daten in unterschiedlichsten Formaten vorliegen, passen diese auf den ersten Blick nicht in das relationale Raster der SQL-Datenbanken. Eine Umstellung auf NoSQL- Datenbanken kann hier Abhilfe schaffen, da diese eine höhere Geschwindigkeit aufweisen und keinerlei Struktur unterliegen.

Ziel und Aufgabe der Arbeit
Die Datenbankwelt reorganisiert sich derzeit stark und dass trotz der damaligen Datenexplosion durch das WEB2.0. In der Informatik ist NoSQL einer der Bereiche, der sich derzeit am rasantesten entwickelt. Dadurch ist es besonders schwer BĂŒcher zu diesem Thema zu finden, da sich die API des Produktes höchstwahrscheinlich bis zum Abschluss eines Kapitels verĂ€ndert hat. Aus diesem Grund wird in dieser Projektarbeit auch auf die allgemeinen Grundlagen Theorien und Techniken von NoSQL-Datenbanken eingegangen.
Ziel dieser Arbeit ist es, den praktischen Einsatz von NoSQL-Systemen zu erlĂ€utern, deren grundlegenden Aufbau darzustellen und die Möglichkeiten sowie Grenzen anhand eines jeweiligen Konzeptes aufzuzeigen. Zu Beginn der Projektarbeit soll eine EinfĂŒhrung in die Grundlagen von NoSQL Datenbanken gegeben werden, um die fĂŒr die anschließende Ausarbeitung notwendigen Begriffe verstĂ€ndlich zu machen. Nachdem der Begriff NoSQL genauer erklĂ€rt wurde, werden grundlegende Konzepte vorgestellt, welche im NoSQL-Umfeld eingesetzt werden. Im weiteren Verlauf werden die vier verbreitetsten Datenbanktypen erlĂ€utert und jeweils ein Vertreter erörtert.