my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

Currying in JavaScript

A reference to logician Haskell Curry, currying is a technique for converting a function that takes multiple arguments into a chain of abstract functions that each take a single argument (see Currying). Besides its significance for studying functions in the context of theoretical computer science and its relevance to lambda calculus both in the context of mathematics and linguistics, currying has very practical applications in functional programming. In a way, it's one possible approach for following the inversion of control design principle and ... Read more

Declarative vs. Imperative Programming From A Web App Perspective

In his article Declarative vs. Imperative Programming for the Web visual content designer and self-described former engineer Pascal Cremer does a nice job at explaining the differences between these two common programming paradigms and how declarative programming can lead to much more concise, comprehensible and readable code. He provides examples from a web context and shows how declarative programming lends itself to being used in a functional reactive programming style, which has become very popular with frameworks such as RxJS. Read more

R2DBC: Reactive Relational Database Connectivity for Java and Spring

As I mentioned in a blog post last week with Reactor and Spring WebFlux reactive programming has come to Java and the Spring platform. R2DBC is relatively new project that aims to "to bring a reactive programming API to relational data stores". While currently still considered experimental, R2DBC endeavours to introduce reactive programming to how we access relational databases (reactive relational, hence the R2 in the name). This means that instead of the traditional way of querying SQL databases imperatively with prepared statements ... Read more

Reactive Programming with Spring Boot and Spring WebFlux

Reactive Programming and its functional incarnation reactive functional programming are declarative programming paradigms that with the advent of reactive extensions for JavaScript such as RxJS have become immensely popular. The JavaScript event loop and the run-to-completion behaviour it entails as well as Node.js's non-blocking I/O calls lend themselves to an event-driven programming style that deals with asynchronous behaviour where both number and frequency of events aren't known beforehand. Reactor is a library that introduces this paradigm to Java. Spring WebFlux is a ... Read more

Modern SQL by Markus Winand

Last year, I attended an event during which SQL trainer and consultant Markus Winand gave an aptly titled talk on Modern SQL: Evolution of a dinosaur (the linked video is not from that event but it shows the same talk given at another event). Markus runs a website called Modern SQL, which provides an impressive range of SQL tips, best practices, descriptions of both highly useful and lesser known SQL features and comparisons between the various relational database management systems (RDBMS) available ... Read more