Getting a single random row, or a few rows, from a table in order to get representative data for example is a frequent need. The most common way to do this in PostgreSQL is using ORDER BY random() like:

SELECT id FROM data ORDER BY random() LIMIT 1 

But when run on a large table this can be very slow. ... [continue reading]

Backup verification for Veeam Agent for Windows

As mentioned in my previous post, we have some interesting projects involving Hyper-V. One of them being a way to automatically verify that our Windows server backups are functional.

This post is about how we’ve set that up.

TLDR: check the script on GitHub

Windows backup on OpenStack

Our main virtualization platform is OpenStack, which is awesome. And while we try to mostly utilize open-source solutions, there are times when that’s just not the best way to ... [continue reading]

4 reasons why a container platform is the right way forward

You might have heard about containers and how they greatly benefit innovation, but why?

A container platform, or Platform as a Service (PaaS), ... [continue reading]

Containers 101

Container driven development is catching on like wildfire, and for good reasons. In the age of digital transformation, time to market is becoming ... [continue reading]

TLDR: Jump to the end for the XML tags we found necessary to get this working.

We have a few projects coming up where we for different and exciting reasons need to use Hyper-V. But running Hyper-V on bare-metal would in this case take up more resources than reasonable for us, so we’re nesting it inside one of our KVM clusters.

But getting Hyper-V 2019 to actually run steadily using nested virtualization inside of qemu-kvm provided some challenges that turned ... [continue reading]

Clojure is a really nice, dynamic programming language on the Java virtual machine. It gives you the expressive of a lisp, full interoperability with the whole Java/Kotlin/Scala ecosystem of libraries, a battle-hardened VM, and it’s elegant.

The downside is that it runs on the JVM and has to pay a heavy cold start penalty. We can fix that, using GraalVM, and have our cake, eat it, and space-time fold it too.

We will be using a few containers, Podman and GraalVM’s native-image ... [continue reading]

Video conferencing and privacy, findings and conclusion

In our previous blog post, we described how to tackle the challenge of choosing the right video conferencing solution and describe a methodology. In this post we will let you in on our findings and conclusions.

Findings - part 1

To start, a very interesting observation is that none of the well-known and most used video conferencing solutions did make it beyond the first part of the review. This means that legal requirements for processing of personal data ... [continue reading]

Video conferencing and privacy, choosing a solution

The last year has been a challenge for most people in Scandinavia and the rest of the world, battling against COVID19 and trying to keep their lives and jobs up and running. But it has also been a year of change, with increased use and acceptance of home working pushing the boundaries for several technologies that support team working and collaboration.

At our workplace, video conferencing has become one of the most used technologies during this year. Despite working in ... [continue reading]