Assassin’s Creed Valhalla: A Reason Not To Play?

The next Assassin’s Creed will let you play as a Viking that is trying to settle in a new world with his tribe. I am genuinely excited about the setting. As a person that likes Metal music, I have certainly come in contact with Norse Mythology by ways of Amon Amarth and other bands. There is also a bit of that in some of the Marvel movies and a lot of that in the Netflix show Vikings.

Now what does that have to do with not wanting to play Assassin’s Creed Valhalla?

It is about the premise. You and your tribe sailing to England and taking land by force. The last part is the important one: “taking land by force”. From what is known about the game at the time of writing this blog post, one central element of the game will likely be that you and your comrades must raid random villages to expand your settlement. That means threatening or even killing innocent people, robbing them of their goods and burning down their houses. You are basically starting a war and civilians will be caught in the crossfire. That is what I have an issue with.

It is a similar experience with the Netflix Vikings show. I am not sure if I should like it or not – ignoring that sometimes it moves very slowly and treads on the brink of utter boredom.

I am not averse to violence in games. Apart from the Anno series and maybe some racing games like Dirt, almost everything I play revolves around violence – now that I think about it… that’s kind of sad. But I do not want to swing the anti-violence Mjölnir and debate whether violence in games is good or bad. I am certainly not that morally correct, at least not in video games. However, there is something about purposefully harming innocent civilians that makes me think twice.

It is too early to know anything for sure and I am basing my opinion on trailers and discussions that you can find on the YouTube. It is just something that came to mind and made me think about it for a moment. It depends on how violence in general, and with regards to the raids in this game in particular, is implemented. I hope it will not just be a mindless slaughter.

Windows Subsystem for Linux (WSL) Docker: error storing credentials – err: exit status 1, out: Cannot autolaunch D-Bus without X11 $DISPLAY

Recently at work, when copying an application from our internal Docker Registry to Azure, I ran into the following error in my WSL Ubuntu installation.

Login at docker..com
Username: 
Password:
Error saving credentials: error storing credentials - err: exit status 1, out: `Cannot autolaunch D-Bus without X11 $DISPLAY`
ERROR: source registry login failed

The easiest fix I found was to install the gnupg2 and pass packages.

sudo apt install gnupg2 pass 

One important thing to note regarding security: the output mentioned storing the credentials in plain text as a result somewhere in the WSL user’s /home directory. If you are very conscious about where passwords are stored, do not use this solution or remove the password file afterwards. That’s good enough for me at the moment, I just needed to get this to work somehow.

The Worst “Accept Cookie Policy” Implementation

All the cookie policy notifications on every website are a nuisance in and of itself. There is one special kind however, that not only bugs you to accept it, but also throws a giant blocking “dialog” in your face that prevents you from using the site while it’s doing… well… I have no friggin’ clue what it’s doing. What I know is that it takes forever to get out of my way.

There’s not much content here other than this short rant about this terrible TrustArc / TRUSTe cookie accepting widget thingy that takes about a minute to do its thing. Why do websites add this to their page? Don’t they test it first? Does that save so much time in development that annoying the users is worth it? How much does that tell you about a website’s owner? I hate these things!

Integration Testing With Docker Maven Plugin, PostgreSQL, Flyway

Some things in software development require more than mocks and unit testing. If your application uses a database it makes sense to also hit that database in automated testing to ensure custom SQL queries work correctly, Hibernate relations are set up properly and also that database migrations are successful.

This blog post was written with a focus on the latter. I will be using Spring Boot talking to a PostgreSQL database. The database structure is managed via Flyway and, basically customary for Java applications, Maven serves as the build and dependency management tool. Docker will also play a role because we’ll be creating and running a PostgreSQL docker image for testing. From Maven. Every time the test is executed. And to spice things up, we’ll also create a custom database and user in that dockerized PSQL image.

I have created a working sample on Github and you can follow every single step by taking a look at the commit history. There you can see individual changes, starting from an empty Spring Boot application with no database to the final solution with Spring Data JPA and Flyway.

In the following sections and snippets, I will highlight the important parts of each step.

Read More »

OneDrive Sync On Linux With RCLONE

In my quest to move to Linux as a daily driver it was important for me that I could continue to use Microsoft’s OneDrive cloud storage. Unsurprisingly, Windows 10 comes bundled with a OneDrive sync client. There is no official Linux support though, so I had to resort to a 3rd party tool. Luckily, there is a very powerful utility called rclone that does almost exactly what I want and I’ll explain how I have it set up to suit my needs.

Spoiler: it’s not as convenient as Microsoft’s sync client, but it has other things going for it.

Read More »

The Linux Experiment: One Month Later

It has been roughly a month since I switched from using Windows 10 as my main operating system to Linux. The reasons for that have all been detailed in The Switching Windows to Linux Experiment blog post. Now I will share a few of the experiences I have made during the first month (it’s been that long already) and what I think about how well it is going.

Let me address the elefant in the room first, the distribution. I think that is likely the first question you, the reader, would ask. The short answer is Pop!_OS by System76.

Read More »

Comparing Java Optional vs C++ STL optional

Optionals in Java have been around for some time now, basically since the release of version 8. My other language of choice, C++, has received this feature in version C++17. Since I am currently in the process of writing some C++ code, I was curious how they were implemented there. Optionals are trying to solve a problem that is likely to plague any language. What shall a method or function return if there is no value? Or shall it not return anything but instead start crying like a petulant child and throw an exception?

As an introduction, let me dive a little bit into why we need optionals (or do we?) and compare two different implementations of this concept, one being java.util.Optional and the other C++ std::optional. I chose to compare these two language for several reasons:

  1. I work with Java in my day job, so I have a good idea of how it works there.
  2. As mentioned, C++ is one of the languages I know quite well too.
  3. The main reason: both optional implementations are add-on classes rather than language features. More on that later.
Read More »