About David Bolton

David Bolton begann schon mit dem Programmieren, als er noch zur Schule ging und bevor es überhaupt PCs gab. Es gefiel ihm so sehr, dass er seinen Abschluss in Informatik machte. Er beschäftigt sich seit fast 35 Jahren mit dem Thema Programmieren – sowohl arbeitsbedingt als auch in seiner Freizeit. In dieser Zeit arbeitete er für Price Waterhouse, British Aerospace, MicroProse (wo Sid Maier Civilization kreiert hat), in einer gescheiterten Dotcom (HomeDirectory.com) und bei Morgan Stanley. Mehr als acht Jahre lange programmierte er Spiele, mehr als 12 Jahre Finanz-Software in London. Sein Leben beschreibt er als eine permanente Lernkurve. Er verfügt über umfangreiche Programmiererfahrung in 6502,Z80 und 68000 Assembler, Basic, Pascal, C, C++, C#, Java, PHP, SQL, Fortran, JavaScript und lernt zurzeit R. Außerdem entwickelt er heute mobile Apps in Xamarin (C#) und schreibt für Dice. Er lebt in New York (in Lincolnshire, England, nicht in den USA).

Author Archive | David Bolton

Vier Tipps, wie Sie Software-Bugs den Garaus machen

Software Bugs

Obwohl Menschen schon seit Jahrzehnten Software entwickeln, ist und bleibt es ein langsamer und mühsamer Prozess, in den sich oft Fehler einschleichen. Trotz all der Mühe ist Software immer noch anfällig für Bugs. (Es gibt natürlich auch Ausnahmen: Zum Beispiel die Software für das Space-Shuttle-Programm: Einige Versionen davon hatte nur einen Fehler in 420.000 Zeilen Code.)

Mit anderen Worten: Egal, wie gut Ihr Coding-Team ist, irgendwann muss man immer “debuggen”. Hier finden Sie ein paar Tipps, wie Sie Bugs vernichten können:

Read more →

Comments { 0 }

Fünf Fähigkeiten, die jeder Superheld der mobilen Entwicklung haben sollte

Superheld
Ein Programmierer zu sein, wurde viel komplizierter, seit der Zeit als es die ersten PCs gab. Davor brauchte man nur einen Compiler und einen Editor, um zu entwickeln und Computerprogramme zu schreiben. Dann kam Windows und alles hat sich verändert: Sie mussten viele weitere Tools kennen, einschließlich Build-Systeme, Datenbank-Clients und -Server, Versionskontrollsysteme, Grafikeditoren und andere. Und Sie mussten die ereignisgesteuerte Programmierung beherrschen.
Um aber ein Superheld der mobilen Entwicklung zu sein, brauchen Sie noch mehr. In diesem Artikel gehe ich auf fünf spezifische Fähigkeiten ein, die Sie benötigen.

Read more →

Comments { 0 }

Was ist Elliptische Kurven-Kryptographie?

Elliptische Kurven-Kryptographie

Elliptische Kurven-Kryptographie ist ein Satz Algorithmen für die Ver- und Entschlüsselung von Daten und den Austausch kryptographischer Schlüssel. Aber warum wird sie elliptisch genannt? Das Wort stamm von Ellipse, einer mathematischen Kurve auf einer Ebene, die zwei Kristallisationspunkte so umgibt, dass die Summe der Abstände zu den beiden Kristallisationspunkten von jedem Punkte der Kurve aus gleich ist. Planeten in der Umlaufbahn round the Sun bewegen sich in einer elliptischen Umlaufbahn, nicht in einer runden.

Nun ist es zwar einfach, die Länge eines Teilbogens in einem Kreis zu berechnen, aber es ist eine ziemlich komplexe Aufgabe, einen Bogen auf einer Ellipse zu berechnen. Ich werde sie mit mathematischen Erklärungen verschonen. Kryptographie ist ganz allgemein ein Gebiet, in dem höhere Algebra-Kenntnisse erforderlich sind, um sie wirklich zu verstehen, aber man kann sie auch verwenden, ohne wirklich tiefgehende Kenntnisse zu haben. Read more →

Comments { 0 }

Braucht man einen Abschluss für eine Arbeit als Entwickler?

IT certificate - Abschluss

Die landläufige Meinung ist, dass man einen Universitätsabschluss braucht, um eine Stelle in der Technologiebranche zu bekommen. So ist es schon seit mindestens den siebziger Jahren. Damals war es nicht wichtig, was für einen Abschluss man hatte, und es brauchte auch kein besonders guter Abschluss zu sein. Man konnte mit nur einem geisteswissenschaftlichen Abschluss ein Entwickler werden, und viele schafften das auch. Read more →

Comments { 0 }

Einen schnelleren Pokerblatt-Auswerter schreiben

Fünf Karten zu nehmen und herauszufinden, welches Pokerblatt das ist, ist ein interessantes Problem. Ich bin nicht der erste, der das versucht. Ich habe das schon einmal in C# und einmal in C++ versucht. Dieses Mal möchte ich zwei Dinge erreichen. Als erstes möchte ich eine Auswertung erhalten, was das Blatt enthält (Paare, Drillinge, Straße usw.) und als zweites möchte ich dem Blatt eine Punktzahl zuweisen, um es mit einem anderen Blatt vergleichen zu können und zu sehen, welches das beste ist. Zwei Blätter könnten beide als Drillinge ausgewertet werden (drei Karten mit gleichem Rang), aber drei Asse schlagen drei Damen.

Die möglichen Blätter sind unten vom niedrigsten zum höchsten aufgeführt. Jede Karte hat einen Wert (von Ass bis König, aber ein Ass kann in einer Straße A-2-3-4-5 nur 1 zählen, ist aber ansonsten höher als ein König) und eine Farbe (Herz, Kreuz, Karo, Pik).  Read more →

Comments { 0 }

Erste Schritte mit „Metal“

metal - Dice Tech

Gemäß einer Antwort auf Quora von Paul Ledak ist die Verarbeitungsgeschwindigkeit eines iPhone 6 im Vergleich zum Apollo-Steuerungscomputer mehr als zehn Größenordnungen größer – ein iPhone 6 ist 120 Millionen mal schneller!

Aber das ist vielleicht noch untertrieben, denn der Apple A8-Chip im iPhone 6 hat auch einen Grafikprozessor (GPU), der für Grafiken oder allgemeine Berechnungen, wie z. B. die Erzeugung von Bitcoins (Mining) verwendet werden kann. Laut Anandtech handelt es sich dabei um einen PowerVR GX6450 und ein iPhone 6 umfasst vier GPU-Kerne.

Apple hat ein Framework mit Namen „Metal“ (wie in „Pedal to the Metal“) entwickelt, mit dem Sie den Grafikprozessor sowohl für grafische als auch für die Berechnung paralleler Operationen nutzen können. Wenn Sie sich mit OpenCL, CUDA oder Microsoft C++ AMP auskennen, haben Sie eine Vorstellung davon. Read more →

Comments { 0 }

Wie steht es um Go im Jahr 2016?

Ein Blick auf die Programmiersprache go.

Die Programmiersprache Go, alias GoLang, wird im November diesen Jahres sieben – und es hat schon so einiges geleistet. Mal abgesehen von Google, ist Docker die wohl bekannteste Open-Source-Software für die Bereitstellung von Containern – powered by Go. Auf Wikipedia finden Sie eine detaillierte Liste von hochkarätigen Usern: Wikipedia-Seite zur Programmiersprache Go.

Read more →

Comments { 0 }

Einführung in die SciPy Library

Screenshot eines SciPy-Befehls.

Wenn Sie Performance Code in Python schreiben wollen, dann ist NumPy logischerweise Ihre erste Wahl. Aber NumPy ist im Grunde ein Teil von SciPy. Verwirrenderweise ist SciPy der Name des Python-basierten Ökosystems, das NumPy, SciPy Library, Matplotlib, iPython, Sympy und Pandas einschließt. In diesem Artikel befasse ich mich mit der SciPy Library. SciPy nutzt NumPy Arrays und benutzt Funktionen von numpy und numpy.lib.scimath. Beachten Sie die unterschiedlichen Bezeichnungen der Library (NumPy, SciPy) – wenn Sie daraus importieren, werden sie kleingeschrieben, z. B. numpy, scipy.

Read more →

Comments { 0 }

Der aktuelle Stand in Sachen Künstliche Intelligenz

Ein Rubic's Cube der bereits mit KI gelöst werden kann.

Künstliche Intelligenz (kurz: KI) gibt es im Grunde schon seit Programmierer in den frühen 50er Jahren damit angefangen haben, Code zu schreiben. Alan Turing stellte 1950 den Turing-Test vor und im Jahr darauf erschienen bereits die ersten Dame- und Schachprogramme. Im Jahr 1956 machte sich KI ihren Namen und in den nächsten 20 Jahren wurde daran gearbeitet, eine intelligente Maschine zu erschaffen – jedoch vergebens. Damals waren Maschinen noch nicht in der Lage, menschliche Gesichter zu erkennen oder Sprache zu verstehen.

Im Jahr 1980 allerdings finanzierte die japanische Regierung das „5th Generation Computer Project“, um einen massiven Parallelrechner zu erschaffen. Mehrere Expertensysteme erschienen, dann wurde es wieder ruhig um das Projekt. Erst im Jahr 1993 konnten erneut Fortschritte erzielt werden, offenbar unterstützt durch das Mooresche Gesetz (die Prozessorgeschwindigkeit wurde alle 18 Monate verdoppelt). KI konnte technologische Fortschritte verzeichnen.

 

Read more →

Comments { 0 }

Ein Blick auf Andl

Die Benutzeroberfläche von Andl.

Man stößt nur selten auf ein Projekt, das grandiose Zwecke verfolgt, aber beim Blog über Andl handelt es sich um solch ein Projekt. Es ist das Ein-Mann-Projekt des kommerziellen Entwicklers David Bennett aus Melbourne in Australien. Andl – kurz für A new data language –  ist eine neue Datensprache, die darauf abzielt, SQL zu ersetzen.

Read more →

Comments { 0 }