Image for post
Image for post

This article was originally published on my blog:

I recently started working on the user interface for Pirsch and was very happy to hear that Vue 3 has been officially released and marked production-ready. While most of the other core libraries, like vue-router and vuex, are still in beta, I didn’t want to build upon Vue 2. Don’t get me wrong, Vue 2 is a great framework and stable, but I wasn’t satisfied with my approach to building frontends anymore.

This article is about the transition to a new project setup, my first steps in Vue 3, and the…

Image for post
Image for post

This blog post was originally released on my website:

You can find a lot of articles about how to prevent deadlocks in Go, but most of them focus on concurrency patterns and synchronization tools like mutexes. While it is important to know some techniques to prevent them, a trap you can stumble across more easily without noticing, are database transaction deadlocks.

A transaction deadlock can occur when you start one or more transactions and run queries outside of transactions while they are still active. If you run too many transactions and queries at the same time, you might run…

This article was originally published on my website:

Pirsch is a great success so far. At least that is what I would call it from looking at the traffic on my website and the stars on GitHub. A few people on Hacker News pointed out some details you should know in case you’re using it.

You can find a detailed article about server side tracking in Go here.

Legal Stuff

While it is not possible to tell who visited your website, it’s still a good idea to mention tracking on your terms and conditions page (or whatever you call it). I’m…

Image for post
Image for post
Photo by Taras Shypka on Unsplash

This article was originally published on my website:

Update: Pirsch will become a product! Check out for more info.

I was looking for an alternative to Google Analytics to track visitors on a website. Analytics (and most of its competitors) provide detailed information and real-time data at the cost of privacy. Google can track you across sites using a bunch of different techniques and through their Chrome browser. Combined, this can be assembled to a detailed profile that can not only be used for tracking, but for marketing too.

I found some (open source) alternatives like GoatCounter, which…

This article was originally published on my website:

Welcome to my blog! My name is Marvin, I’m a software engineer and entrepreneur. I write about programming, servers, my work and everything I’m interested in. In my first blog post, I would like to show you how I build my website and the tools I used. You already guessed that from the title I suppose.

You can find the full source code for my website on GitHub. It’s MIT licensed, so you can build your own on top of it or just reuse parts of the code.


So first of…

It has been a while since our last product update. In the past three months, we have worked on the new user interface announced on our blog in March (see A New, Experimental User Interface). It took us a little longer than expected, but we think it was worth the effort.

In this product update, we will give you a quick first impression of the new user interface, how it works, and how it improves Emvi. Apart from that we also made a few minor changes, added Markdown support and we’re getting closer to our first full release. As always…

March was a special month for us. We tested out a new experimental user interface for Emvi, which gained a lot of attention and we collected insightful feedback. At the same time, we worked on a few smaller features and improved the overall stability and performance of our infrastructure. Let’s get started!

Export to HTML and Markdown

One of the most frequently asked questions was if you could export articles. And we heard you. From now on, you can export articles to HTML and Markdown. The exported zip file optionally includes all attachments. The feature can be found on the right-hand side when you open…

Creating an efficient user interface is hard. Modern applications attach great importance to a beautiful and practical user interface, that can be learned in a short time and that corresponds to what users already know. The interaction with websites is becoming increasingly blurred with that of classical desktop applications. Besides, the scope is continuously growing.

The complexity of Emvi’s web interface is also increasing. Therefore we would like to take the opportunity to think about usability to a further extent. We see the potential for improvement in emphasizing the core features of Emvi more strongly.

The last two weeks went…

This month we have a major product update for you, which brings new editor features and improves the searchability of information. As always we have fixed bugs and made other technical improvements.

At the same time, we start sending newsletter emails, in which we point out new features and link to exciting articles on our blog. Whether you receive our newsletter depends on your account settings or whether you have subscribed to it manually. If you want to subscribe now, you can do so at the bottom of the page. The subscription can be canceled at any time.

Embed YouTube, Vimeo, and Spotify

From now…

After the 500th organization has been created this week, we have rolled out the second major update of the year. It contains new features and improvements, which have resulted from your feedback. We have also fixed some bugs and further improved stability.

New Editor Features

To further facilitate the writing of articles, we have added two new elements to the editor.


Image for post
Image for post

Infoboxes help to better highlight notes, warnings or additional information in articles. There are four colors to choose from.

Another level for headings

Marvin Blum

Software Engineer, Open Source Enthusiast, Co-Founder of Pirsch and Emvi.

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