Adding Twitter card support to your web application is pretty straightforward. As I’m polishing my Tweet Scheduler for the first beta test, I tried to find out how to get Twitter to show these nice summary cards whenever a tweet contains my URL.

The Summary Card with Large Image features a large, full-width prominent image alongside a tweet. It is designed to give the reader a rich photo experience, and clicking on the image brings the user to your website.

It turns out it won’t work out of the box because Twitter is looking for certain HTML Tags. But these tags are pretty easy to add. Here is an example of mine:

<meta name=”twitter:site” content=”@blauspecht_app”>
<meta name=”twitter:creator” content=”@stfsy”>
<meta name=”twitter:card” content=”summary_large_image”>
<meta name=”twitter:title” content=”Blauspecht Tweet Scheduler“><meta name=”twitter:description” content=”Create, edit, and queue tweet drafts and increase your reach with tweet scheduling”>
<meta name=”twitter:image” content=”">

How Forest, the app that claimed to help with focusing, distracted me even more

Photo by Thom Holmes on Unsplash

A few weeks ago, I found the following book on Amazon: Indistractable: How to Control Your Attention and Choose Your Life by Nir Eyal. As one would expect, it’s about distractions in our everyday life, including, but not limited to, emails, phone calls, and messaging apps. The book is about managing these distractions, preventing them from happening at all, or at least defining a time window in which they are allowed to occur.

You can’t call something a ‘distraction’ unless you know what it is distracting you from.

Eyal, Nir. Indistractable (p. 8). Bloomsbury Publishing. Kindle Edition.

Nir writes how…

Getting Started

A journey towards a fast storage solution for a small-scale project

Photo by Vasily Koloda on Unsplash

It is amazing how far machine learning frameworks and technology, in general, have come and how fast we’re nowadays able to integrate machine learning features into applications. I finally got into TensorFlow and Keras a few weeks ago and trained my first model just a few hours later. I finished three tutorials, a couple of YouTube videos, trained models with demo data, and wondered why “improvements” to the training process had the opposite effect. 🙂

Overall it was a very nice experience, and I definitely wanted to learn more. The tutorials I followed were all accompanied by data sets that…

And how to solve them so you can get started!

Road signs
Road signs
Photo by Matthew Hamilton on Unsplash.

It’s been on our to-do list for quite a while. Since things tend to get a bit quieter after the holidays, my girlfriend and I finally decided to get started with machine learning.

Our backgrounds: We’re both software engineers. We started around six years ago at the same company, but we only met two years ago. I am currently working on my tweet scheduler and I ultimately want to integrate machine learning functionality into it.

Our initial experience with TensorFlow was quite good. We managed to finish the first tutorial in a few hours and were quite satisfied with…

Backed by science and literature

Photo by Sam Manns on Unsplash

Questions are a fundamental tool to connect to people around us. We use them in various ways and with different goals in mind.


  • To connect with friends, family, and colleagues
  • To begin a new relationship


  • To gain information or knowledge
  • To share information or knowledge

Control and power

  • To make another person think about something
  • To make another person do something
  • To put pressure on another person

They can become mighty if we use them the right way. But what is the right way? How can you use questions to build relationships and strengthen existing bonds? …

How to better protect your and your customers’ data

smiling woman sitting on floor holding up hand-drawn picture of a big lightbulb, with a background of hand-drawn symbols
smiling woman sitting on floor holding up hand-drawn picture of a big lightbulb, with a background of hand-drawn symbols
Photo by Andrea Piacquadio from Pexels

As always, while it’s fun to set up a new project, and most technologies nowadays are easy to integrate. But once you start thinking about operation and data security, things tend to become trickier. MongoDB provides three encryption options, and two of them are only available with an enterprise license.

  1. Encryption at rest is available from version 3.2 but only for enterprise customers.
  2. Automatic field-level encryption is only available on MongoDB 4.2 Enterprise and MongoDB Atlas 4.2.
  3. Manual field-level encryption is available on MongoDB 4.2 Community Edition, the free version.

Only paying licensees are eligible for using automatic MongoDB encryption…

Technology agnostic mitigations for common vulnerabilities

Photo by Sincerely Media on Unsplash

As developers, it’s not only our job to write code. We are responsible for delivering software that is tested, fully functional, and secure. All of these requirements are equally complex. But I feel these are not always treated equally.

Application security is not always a first-class citizen. But it should be. Customers give us their data and expect us to keep it in a safe place. By leaving them vulnerable to exploitation, we risk losing our customers’ trust and their business.

I write this story to help you improve your web app’s security. I will present mitigations that you can…

/ engineering

A step-by-step visual guide.

Photo by Safar Safarov on Unsplash

For many of our 11 million users, VS Code is their primary code editor [..]

It’s easy to see why VSCode’s popularity has grown in recent years. It is
OpenSource, has rich support for programming languages, extensions, and is actively developed by Microsoft.

Let’s set up a fresh installation of VSCode with all necessary extensions to build and run a Spring Boot application.


First, we need to install the Java development kit. We recommend installing a free version of Java, like AdoptOpenJDK.

After the installation process is finished, please verify that Java is set up correctly. To find out…

It all started as a bug report for our internal library.

Photo by Headway on Unsplash

The bug report

A few weeks ago, a team reported a problem. Their Zuul Proxy stopped forwarding request bodies to backend systems. On their Windows machines, the developer team could not reproduce the problem. Neither could we.

We verified that the frontend application was actually sending the payload. After being sure about that, we enabled wire logging in our proxy service. We found that the service in question received the payload, but did indeed not forward it to the downstream service.

Upstream and downstream describe the flow of a message: all
messages flow from upstream to downstream.

Why shouldn’t the proxy…

/ engineering / javascript

Increasing test coverage with puppeteer

Photo by Leilani Angel on Unsplash

A few weeks ago, I noticed that most of my NodeJS packages had outdated dependencies. Although they don’t attract a lot of attention, I wanted them to be up to date again.

Most of my NodeJS modules already had good test coverage. I updated dependencies and released them with a bash script. But my BroccoliJS plugins were lacking tests. There were no tests that start a full build of the current project and verify that resources are built or served correctly.

Broccoli is a JavaScript build tool that exposes a simple JavaScript API to perform file-based transformations, allowing developers to…

Stefan Pfaffel

Developer 👨‍💻 — Architect 🌉 — Team Lead 👨‍👩‍👧‍👦

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store