Ralph's Blog about this and that (RSS | Atom)

2017 | 2018

Self-host Bitwarden, an online Password manager

Published: December 12, 2018  •  linux

In this article we're going to self-host Bitwarden, an open source Password Management solutions, and install it on an Ubuntu 18.04 server

Google Cloud Vision and Storage example with Ionic and Spring Boot

Published: December 11, 2018  •  java, spring, ionic4, javascript

This blog post shows you a way to upload pictures from a web application to Google Cloud Storage and run them through Google Cloud Vision. The application uses Ionic 4 for the front end and Spring Boot for the back end. It utilizes signed URLs for permitting the client to upload pictures directly from the web application to Google Cloud Storage

Using the Background Sync API with the Angular service worker

Published: December 09, 2018  •  pwa, javascript, ionic4

In this blog post we look at a way to use the Background Sync API together with Angular's service worker. Or in general how to add custom service worker code to a generated Angular service worker.

Installing WireGuard on Amazon Lightsail

Published: October 11, 2018  •  linux

Installing WireGuard, a simple, fast and modern VPN, on Amazon Lightsail virtual server and connect an Android mobile device.

Global error handler in Angular

Published: October 05, 2018  •  javascript

How to install a global error handler in an Angular application and send error reports to a back end. The blog post shows you how to collect error reports while the application is offline and send them to a back end as soon as the device is back online.

Text to speech with Google Cloud Text-to-Speech

Published: October 04, 2018  •  java, javascript

Converting text from a web application into speech with Google Cloud Text-to-Speech

A closer look at the Beacon API

Published: September 05, 2018  •  javascript

The Beacon API in the browser can be used to transfer data to a server. It's primary use case is to send analytics data during the unload event of a web page. In this blog post we will look at the API and create some examples that use the Beacon API to send data to a server.

BigInt, arbitrary precision integers in JavaScript

Published: September 03, 2018  •  javascript

A look at the new numeric primitive BigInt in the JavaScript language

OpenMapTiles, a self-hosted map tile server with OpenStreetMap data

Published: July 10, 2018  •  linux, selfhosted

In this article I describe how you can install OpenMapTiles, an open source tile server, on our own server

A closer look at the Background Sync API

Published: June 26, 2018  •  pwa, javascript, java, spring, ionic4

This blog post takes a closer look at the Background Sync API, part of the Service Worker implementation and presents an example that uses Background Sync to synchronize data between an Ionic 4 web application and a Spring Boot server application.

Adding a Workbox Service Worker to an Angular project

Published: June 22, 2018  •  Updated: November 26, 2018  •  pwa, javascript

A description how to add a Workbox Service Worker to an Angular project instead of using the Angular Service Worker

Sending emails from your Linux server

Published: June 16, 2018  •  linux, selfhosted

In this tutorial I present two ways how to send emails from your self-hosted Linux server. A configuration with SSMTP, that relies on a 3rd party mail server and an example with exim4, a self-hosted SMTP server.

SparkleShare, a self-hosted GDrive, OneDrive, Dropbox alternative

Published: June 12, 2018  •  linux, selfhosted

In this tutorial we look at SparkleShare, a self-hosted, instant and secure file synchronization service

Backup to Amazon S3

Published: June 10, 2018  •  linux, selfhosted

How to install a backup job that runs daily and sends files to Amazon S3

Install a self-hosted Git server with Gitea

Published: June 10, 2018  •  Updated: August 28, 2018  •  linux, selfhosted

In this tutorial I show you how to install a Gitea Git server, install a http server with a domain and secure the connection with a Let's Encrypt TLS certificate.

Putty, a free Windows SSH client

Published: June 10, 2018  •  linux, selfhosted

A quick introduction to the free Windows SSH client Putty. How you can connect to a SSH server and how to set up public/private key authentication.

First configuration steps on a new VPS Server

Published: June 10, 2018  •  linux, selfhosted

A description of initial configuration steps after renting a new VPS server

Check for commonly used or compromised passwords

Published: May 03, 2018  •  java, javascript

In this blog post I present four examples how you can implement password checks for commonly used or compromised passwords.

OAuth 2.0 server-to-server authorization flow between a Java application and a Google service

Published: May 01, 2018  •  java

How a Java server application can complete the server-to-server OAuth 2.0 flow and access a Google service

Searching "Have I been pwned?" passwords locally with Java

Published: March 01, 2018  •  Updated: November 29, 2018  •  java

In this blog post we will create Java applications that download and search the "Have I been pwned?" password list with over 501 million passwords.

Real Time Polling App with Java and JavaScript

Published: February 28, 2018  •  java, javascript

In this blog post we create a simple polling application with Java and JavaScript and send real time updates with server-sent events

Human readable regular expressions

Published: February 27, 2018  •  java, javascript

Writing human readable regular expressions with the VerbalExpression library

Access Server-sent events from Java

Published: February 26, 2018  •  java

How to consume Server-sent events in a Java application.

Conditionally load polyfills

Published: February 14, 2018  •  javascript

Two examples how you can conditionally load polyfills in a JavaScript application

Working with MongoDB TTL Indexes from Java

Published: February 05, 2018  •  database, mongodb, java

A brief introduction to Time to live indexes in MongoDB and how to access them from Java

Working with MongoDB Capped Collections from Java

Published: February 04, 2018  •  Updated: February 05, 2018  •  mongodb, java, database

A brief overview of capped collections in MongoDB and how to access them from Java

Self host Polyfill.io

Published: January 15, 2018  •  javascript

A short tutorial on how to install Polyfill.io on Ubuntu And an example how you can use Polyfill.io together with Babel

Integrate Parcel into a Maven project

Published: January 13, 2018  •  Updated: January 25, 2018  •  java, javascript

An example project that integrates a front end JavaScript application with the Parcel bundler and a Spring Boot application built with Maven into one project and ultimately create one executable JAR.

Using Dexie.js in a TypeScript application

Published: January 12, 2018  •  Updated: December 03, 2018  •  database, javascript, ionic4

In this blog post I present a way to use Dexie in a TypeScript application

IndexedDB programming with Dexie.js

Published: January 12, 2018  •  database, javascript

In this blog post I give you an overview about Dexie, a minimalistic wrapper library for IndexedDB. Write simpler and more concise IndexedDB code with Dexie.

A closer look at the Cache API

Published: January 09, 2018  •  pwa, javascript

Explore the provided methods of the Cache API that is primarily used in Service Workers to cache assets, but can be used anywhere as a general purpose cache.

Sending Web push messages from Spring Boot to Browsers

Published: January 09, 2018  •  Updated: December 07, 2018  •  java, javascript, pwa, spring

In this blog post I show you how you can send push messages from a Spring Boot application over Firebase Cloud Messaging (FCM) to connected clients with the Web Push API. The Push API is part of the Service Worker specification and does not depend on any native plugins.

A closer look at date-fns

Published: January 08, 2018  •  Updated: January 09, 2018  •  javascript

A close look at the date-fns date/time library. Compare it with Moment.js and look at a few examples

Bundling web applications with Parcel

Published: January 07, 2018  •  Updated: February 16, 2018  •  javascript

A closer look at Parcel and present various examples how to bundle web applications with technologies like Babel, TypeScript and Sass.

Custom SVG icons with Ionic 3 and Ionic 4

Published: January 06, 2018  •  Updated: December 01, 2018  •  ionic3, ionic4, javascript

How to use arbitrary SVG icons in Ionic 3 and Ionic 4

Forward-/Backward navigation with Ionic 3

Published: January 06, 2018  •  ionic3, javascript

This blog post shows the lifecycle methods of Ionic 3 and when they are called. The second part describes a way how to distinguish between the forward and backward navigation (list and detail page).