Interested in ML and AI? Check out my new AI & algorithm blog DIVISIO
Archive Tags About

Christoph Henkelmann

Developer, Consultant, Founder

  • Feb 24
    A Curse on Java Bitwise Operators!

    A description & solution to a nasty bug I found in my code concerning the behavior of java bitwise operations on bytes.

  • Feb 16
    Java Code compared to Scala Code (3) - Turning List<Foo> into List<Bar>

    A short example of an everyday task that shows how useful lambda expressions and the “map” method are.

  • Feb 15
    Java Code compared to Scala Code (2) - A Simple Class

    Code for a simple class that represents a user. Once in Java and once in Scala.

  • Feb 10
    Categories, Yeah!

    henkelmann.eu now has categories :)

  • Feb 6
    Java Code compared to Scala Code (1) - Magic Number Constants

    An example of an everyday task in Java & Scala: Defining constants with Magic Numbers.

  • Feb 2
    The Wheels on The Bus Go Round and Round...

    A little bit of code that puzzled me today.

  • Feb 2
    JUnit XML Listener Now With Support For Skipped Tests

    Thanks to Johannes Rudolph, the JUnit XML Listener for sbt now also properly handles skipped tests.

  • Feb 1
    Bit twiddling in Java: The Unsigned Right Shift Operator

    A look at a simple use case for the esoteric but sometimes highly useful Unsigned Right Shift Operator.

  • Jan 29
    An Introduction To Scala Parser Combinators - Part 3: Writing unit tests for parsers

    In this part of my parser combinator series we will discuss how to write unit tests for parsers. We will use tests for our literal parsers from the previos lesson as an example.

  • Jan 28
    An Introduction To Scala Parser Combinators - Part 2: Parsing Literal Expressions

    The second part of my series on parser combinators introduces the first basic combinators and explains them in detail. They are used in developing the beginnings of an expression parser.

← Newer Posts Older Posts →

Unless noted otherwise the contents of this site are licensed under the
Creative Commons Attribution-NoDerivs 3.0 Unported License.

Powered by Hugo, Based on the “Cactus” theme by nodejh

Impressum und Datenschutzerklärung