Writing, Articles, et cetera

We cover the newly added Tabling for SWI-Prolog to help Annie get around Bangalore.
Published in Playing with Prolog (Season 3), 2019-08-02.

Logback is a popular logging library for Java. JLine can be used to create nice shell-like applications. Combining both is not as hard as it looks.
Published in INNOQ, 2019-08-01.

Smart Contracts sind eine Technologie, mit der man Code auf Blockchains ausführt. Eine Vielzahl von Geschäftsfällen werden inzwischen durch solche Verträge abgebildet. Ethereum ist dafür eine beliebte Plattform. Doch wie bei aller Software stellt sich die Frage, wie man die Qualität des Codes sicherstellen kann.
Veröffentlicht in INNOQ, 2019-07-03.

Im Juni 2019 fanden die Scala Days anlässlich des 10. Jubiläums wieder in Lausanne – an der Geburtsstätte von Scala – statt. Heuer gab es nicht nur zwei Konferenztage, sondern auch eine ganze Reihe von Community-Events davor und danach. INNOQ war die ganze Woche vor Ort und unsere Kollegen berichten hier von ihren Erfahrungen.
Veröffentlicht in INNOQ, 2019-06-27.

Kryptowährungen sind in aller Munde. Tutorials und Erklärungen gibt es zuhauf. In dieser Artikelserie soll ein bestimmter Aspekt, nämlich der der Adressen und Transaktionen, detailliert für populäre Blockchains geklärt werden. Denn unter der Oberfläche verbirgt sich einiges an Komplexität. Teil 3: Altcoins.
Veröffentlicht in INNOQ, 2019-06-05.

So gut wie alle modernen Programmiersprachen erlauben es, Routinen über Werte und über Typen zu parametrisieren. In Java wird letzteres „Generics“ genannt, in C++ hingegen „Templates“. Obwohl die Konzepte die gleichen sind, unterscheidet sich die Implementation doch stark. In diesem Artikel möchte ich diese Art der Parametrisierung in Java unter die Lupe nehmen und erklären, warum „Type Erasure“ doch eine ganz gute Idee ist.
Veröffentlicht in JavaSPEKTRUM 03/2019, 2019-05-31.

Kryptowährungen sind in aller Munde. Tutorials und Erklärungen gibt es zuhauf. In dieser Artikelserie soll ein bestimmter Aspekt, nämlich der der Adressen und Transaktionen, detailliert für populäre Blockchains geklärt werden. Denn unter der Oberfläche verbirgt sich einiges an Komplexität. Teil 2: Ethereum.
Veröffentlicht in INNOQ, 2019-05-29.

Kryptowährungen sind in aller Munde. Tutorials und Erklärungen gibt es zuhauf. In dieser Artikelserie soll ein bestimmter Aspekt, nämlich der der Adressen und Transaktionen, detailliert für populäre Blockchains geklärt werden. Denn unter der Oberfläche verbirgt sich einiges an Komplexität. Teil 1: Bitcoin.
Veröffentlicht in INNOQ, 2019-05-22.

IBM's node-red flow programming language is an interesting declarative language. Recently Annie's been experimenting with it. In this video she shows it to Lars.
Published in Playing with Prolog (Season 2), 2018-10-06.

This month in Playing with Prolog we help Lars out at work. He needs to schedule jobs for his CI servers.
Published in Playing with Prolog (Season 2), 2018-09-08.

Playing with Prolog is back for Season 2 with a new host. Annie and Lars take a look at Marelle, the SWI-Prolog based devops system.
Published in Playing with Prolog (Season 2), 2018-04-29.

Recently I announced on Twitter some upgrade I did on a “home” server: Successfully upgraded the home server from 9 TB to 15 TB storage. A dozen devices all want to be backed up.— Lars Hupel (@larsr_h) December 24, 2017 Shortly thereafter, someone wanted to know what the setup looks...
Published 2017-12-28.

ScalaCheck is a well-known property-based testing library, based on ideas from Haskell’s QuickCheck. It is also a Typelevel project. In this post, I’d like to show some of the underlying mechanisms, stripped down to the bare minimum.
Published in Typelevel.org blog, 2016-10-17.

In this episode Proctor talks with Lars Hupel. We talk his introduction to Functional Programming with Haskell, Scala, and move to working on Isabelle for creating theorems about proving your program.
Published in Functional Geekery, 2016-08-09.

Am Lehrstuhl für Logik und Verifikation der TUM wird Isabelle entwickelt, ein Programm mithilfe dessen man Theoreme beweisen kann. Interaktive Theorembeweiser sind relative neue Hilfsmittel in der Werkzeugsammlung von Mathematikern. Sind solche vom Computer verifizierten Argumentationsketten aber noch Beweise im mathematischen Sinn?
Veröffentlicht in fatum, 2015-12-03.

Dieser Artikel enthält gesammelte Texte aus meinem Blog aus der Zeit vom September 2010 bis zum Januar 2011, während der ich ein Austauschsemester an der Queen’s University of Belfast absolvierte. In meinem Blog habe ich für Familie, Freunde und Bekannte meine Eindrücke und Erfahrungen festgehalten.
Zur gleichen Zeit studierte auch noch ein Münchner Kommilitone in Belfast, ein weiterer in Newcastle und ein Freund aus Heidelberg in Durham. Von jenen wird im folgenden auch das ein oder andere Mal die Rede sein.
Die Texte sind hier nicht in ihrer chronologischen Reihenfolge wiedergegeben, sondern thematisch gruppiert. Insofern habe ich einige kleine Änderungen vorgenommen, um logische Sprünge zu vermeiden.
Veröffentlicht 2015-06-02.

Some nine or ten months ago, Spire’s project structure underwent a major reorganization. Simultaneously, the Scalacheck bindings were refactored, completely overhauling the law-checking infrastructure.
Published in Typelevel.org blog, 2013-11-17.

The use of type classes has become pervasive in Scala programming. Type classes are encoded as traits, hence the most basic way of declaring an instance is writing implicit methods which return objects extending from these traits. However, those implicit methods are regular Scala methods, so we can use all features provided by the language to derive instances. In this post, a technique is described to compose instances into larger ones, which will not only allow for construction of instances for case classes, but also for other nested structures with minimum boilerplate.
Published in Typelevel.org blog, 2013-06-24.

Was unter Historikern umstritten ist, ist mit Git ganz einfach: Die Geschichte eines Projekts im Nachhinein ändern. Welche Möglichkeiten es da gibt, soll in diesem Artikel kurz vorgestellt werden.
Veröffentlicht in KaffeeKlatsch, 2011-09-12.

In der letzten Ausgabe des KaffeeKlatsch wurde eine Kombination aus Subversion, Mantis und CheckStyle vorgestellt. Dem ein oder anderen Leser beschlich beim Lesen des Wortes Subversion vielleicht ein seltsames Gefühl: Schreiben wir nicht das Jahr 2010? Der folgende Artikel hat sich zum Ziel gesetzt, die gängigen Vorbehalte gegenüber moderneren Tools zu zerstreuen und eine Umstellung, weg von Subversion, zu motivieren.
Veröffentlicht in KaffeeKlatsch, 2010-09-22.

Inoffizielles Skript zur Vorlesung „Analysis für Informatiker“ des WS 2009/2010, gehalten von Prof. Dr. P. Rentrop, niedergeschrieben und illustriert von Markus Grimm, Andreas Heider, Lars Hupel, Michael Kerscher, Philipp Meyer, Janosch Peters und Sylvester Tremmel.
Veröffentlicht 2010-04-21.

Wir, Lars Hupel, Thomas Milde und Richard Tschirschnitz sowie unserer Lehrer Mirko König sind am 5. Mai 2007 nach San Francisco geflogen, um an der weltweit größten Entwicklerkonferenz – der JavaOne 2007 – teilzunehmen. Dies hatten wir als 1. Preis beim Programmierwettbewerb „Java Stars 2006 – Sun Microsystems Award“ gewonnen und durften daher für einige Tage in den USA verweilen.
Veröffentlicht 2007-07-09.