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.

Rarely Used But Useful PostgreSQL Features

I'm an avid user of SQL and the variety of - frequently overlooked - features it provides. However, unfortunately the possibilities of SQL and modern, advanced open source incarnations of RDBMS such as PostgreSQL aren't utilised to the extent they could be when developing web or enterprise applications today. More often than not SQL database are perceived as a mere data store for persisting object-oriented data, which can give rise to the famous object-relational impedance mismatch. SQL servers, PostgreSQL in particular, are capable ... Read more

Spring Batch Resources: Batch Processing, ETL And Data Conversion

ETL (extract, transform, load) processes, data processing, exporting data from one business system (ERP, CRM, accounting etc.) and importing it into another are common requirements in enterprise IT. So much so that the ability to export and import data often is the key feature of enterprise software. Spring Batch is a toolkit in the context of the widely used Spring framework that allows you to define and run batch jobs and data processing pipelines. Spring Batch provides features such as: data export / ... Read more

Sharing and exploring data models and database patterns

Somewhat in the vein of last week's post, I'd like to share a new service called dbpatterns with you. dbpatterns allows you to create ER models in the browser and share them with other users. If a particular pattern or model suits your needs you can directly export its DDL for PostgreSQL, SQLite, MySQL or Oracle RDBMS. I really appreciate the idea of promoting and sharing best practices for database systems. While object-oriented software design patterns are rather common (though some particular ... Read more

Hands-on SQL Tips: Sentinels And Window Functions

Sometimes when displaying data in an application you want the amount of data (rows, individual data points etc.) to be limited for the app to stay responsive and to allow the user to more easily scan and browse the data set. In SQL this is commonly done using a LIMIT statement: [crayon-65f91ab71e4e4252487936/] Now, what if you want to not only display the data but also inform the user in case the total number of rows in the table exceeds the limit set by ... Read more

Analyzing Large Datasets With SQL

As part of a web application I've created for a client, I've been working on efficient analysis of somewhat large datasets for some time now. This analysis often involves complexing grouping, clustering and value aggregation. SQL and PostgreSQL aggregate functions in particular come in quite handy when dealing with that kind of challenge. While RDBMS and SQL certainly are useful already just for keeping and retrieving data, i.e. for running your usual CRUD operation, those tools really shine when it comes to ... Read more

UX Time: Responsive Tables and Smoothly Scrolling Through Large Datasets

Today I'd like to introduce two nifty and very useful tools and techniques for better visualizing tabular data on the Web: Responsive Tables in Pure CSS: This technique (code available here) makes clever use of :before and :after pseudo elements in order to nicely display responsive HTML tables on mobile devices (or any device with a smaller screen size for that matter) without any changes to the HTML code or having to resort to JavaScript. Clusterize.js, a JavaScript plugin that allows you to ... Read more

FnordMetric and ChartSQL: Create Charts Directly From SQL

FnordMetric is an interesting new software package that allows you to create good-looking charts (in SVG format) directly from SQL using a query language called ChartSQL. The are quite a few examples available here. A typical ChartSQL query for a timeline series chart for instance looks like this: DRAW LINECHART WITH AXIS BOTTOM AXIS LEFT; SELECT 'data' AS series, FROM_TIMESTAMP(time) AS x, value2 * 1000 AS y FROM example_data WHERE series = "measurement2"; The software currently is ... Read more

ZenQuery is now open source

Today I made ZenQuery available as open source (under the Apache License). ZenQuery is an 'Enterprise Backend as a Service' and allows you to easily access databases through a REST API without any programming knowledge required. Get SQL result sets as JSON, XML or CSV data, which can easily be processed by tools such as MS Excel or in your own applications. ZenQuery provides you with an instant REST API for your SQL queries. Anything that can be expressed by SELECT * FROM ... Read more

ZenQuery 1.0 is available today!

A few weeks ago I wrote about a new product I'm currently developing: ZenQuery, an Enterprise Backend as a Service. I’m pleased to announce the first public version of ZenQuery today. Since the first public announcement regarding ZenQuery roughly 30 days ago we’ve been busy working on this release. Today, you’ll be able to try out ZenQuery 1.0 yourselves on your own server and environment. I really hope you like what we’ve got for you so far. For more information please have a ... Read more

ZenQuery: From Idea To Product In 2 Weeks

Earlier this week I've launched a new product called ZenQuery. In a nutshell, ZenQuery is an application that creates an instant REST API (with JSON, XML and CSV formats) for SQL queries. This allows you to easily access any kind of data from your database without having to deal with technical details such as database drivers, connections, ORM or caching. A typical use case is an enterprise company which for example wants to create a new mobile application. The data needed for such ... Read more