Das Halteproblem

Das Halteproblem beschreibt ein Thema aus der theoretischen Informatik. Es geht dabei um die Frage, ob es einen Algorithmus gibt, der für einen beliebigen Algorithmus mit einer beliebigen Eingabe, entscheidet, ob er zu einem Ende kommt, oder nicht. Anders ausgedrückt: Gibt es ein Programm, das als Eingabe ein anderes Programm + Eingabe erhält und als Ausgabe liefert, ob das Programm hält oder nicht. Noch anders ausgedrückt: Falls das Halteproblem entscheidbar ist, gibt es eine Turingmaschine, die für jede Turingmaschine auf der Welt und irgendeiner Eingabe, als Ausgabe 1 oder 0 für „hält“ oder „hält nicht“ liefert. Leider ist das Halteproblem nicht entscheidbar, den Beweis dafür versuche ich gleich verständlich rüberzubringen. Aus der Tatsache, dass es nicht entscheidbar ist, folgt eigentlich nur die Tatsache, dass es Probleme gibt, die ein Computer nicht lösen kann, egal wie schnell der Prozessor ist oder so. (Entscheidbar bedeutet so viel wie Berechenbar)

Weiterlesen

Einen Blog als Single Page Web App mit AngularJS und WordPress Teil 1

Single Page Web Apps sind moderne Webseiten, bei denen der Inhalt nicht, wie bei einer herkömmlichen Seite, durch einen Seitenwechsel dargestellt wird, sondern dynamisch geladen und an der entsprechenden Stelle durch HTML Templates eingebunden wird.

AngularJS ist ein Javascript Framework das sich hervorragend dafür eignet einen Blog, oder auch was anderes, als Web App zu programmieren. WordPress bietet durch Jetpack von Haus aus eine Schnittstelle von der man alle nötigen Daten abrufen kann. Ich nutze jedoch ein anderes Plugin (JSON API), da dieses umfangreicher ist.

angularjs

Weiterlesen

Design Patterns – Entwurfsmuster für effektive Software-Entwicklung – Teil 1

Design Patterns oder auch Entwurfsmuster dienen bei der Objektorientierten Programmierung zum strukturieren der Implementierung. Sie bieten erprobte und bewährte Lösungswege, die dabei helfen den Programmcode flexibler, verständlicher, performanter und wartbarer zu machen. Was beim „programmieren im kleinen“ ein Algorithmus war (z.B. zum Sortieren oder Suchen), ist beim „programmieren im großen“ ein Entwurfsmuster. Das bedeutet, dass ein Entwurfsmuster eine Schablone für die Verwendung von Klassen und der Interaktion zwischen den Klassen bereit stellt. Sie bieten also ein Konzept zum Entwickeln einer Software.

Weiterlesen

WordPress 4.0 „Benny“

WordPress ist nun in Version 4.0 verfügbar und bietet einige neue Funktionen:

  • Die Mediathek wurde überarbeitet: Man kann nun alle Dateien in einem übersichtlichen Raster anzeigen lassen.
  • Das einbetten von externen Medien ist nun einfacher, z.B. lässt sich ein Youtube Video durch einfügen der URL in den Beitrag hinzufügen, wie man es von Facebook kennt.
  • Verbesserungen am Editor. Die Formatierungswerkzeuge bleiben nun eingeblendet wenn man bei langem Text runter scrollt.
  • Die Plugin-Suche wurde verbessert. Man soll nun besser das Finden, wonach man sucht.

Mehr Informationen hier: http://codex.wordpress.org/Version_4.0

Usability – Eine kurze Einführung

Der folgende Beitrag gibt eine kleine Einführung zu dem Thema Usability im Internet und speziell im Bereich E-Commerce.

Was bedeutet Usability

»Usability ist der Grad an Qualität, in welchem ein Benutzer die Interaktion mit etwas erlebt – sei es eine Website, eine Software oder irgend etwas anderes, was der Benutzer auf die eine oder andere Art und Weise bedienen kann.« Ein Zitat von Jakob Nielsen, der ein Pionier auf dem Gebiet Usability ist, lässt darauf schließen, was sich hinter dem Begriff verbirgt. Es geht grundsätzlich darum, wie gut eine Webseite zu bedienen ist, bzw. wie leicht es dem Nutzer fällt, zu verstehen was er tun muss um bestimmte Ziele zu erreichen. Die Gestaltung der Oberfläche spielt dabei eine sehr wichtige Rolle, denn das Frontend ist die Schnittstelle zwischen der Software und dem Benutzer.

Weiterlesen