As software engineers, we create various resources by documenting issues, submitting bug reports, writing notes, creating documentation, and so on. The sum of all these resources can be called a knowledge base. In this post, I document how I use Notion, GitLab and other software to maintain my personal knowledge base.
Introduction Knowledge management is an important topic for a software engineer. I have always been interested in material on the topic. When I decided to write an extensive post on my system and workflows, I started to collect sources and similar articles. To avoid further blowing up the original post, I will cover these sources in this separate post.
There is a vast amount of resources covering specific tools and usage examples.
I believe that Twitter is a solid tool to stay aware of current discussions and trends in software engineering. In this post, I present a list of manually selected Twitter accounts who tweet regularly about software engineering or closely related topics.
Local HPC clusters continue to play a vital role in scientific research. However, setting up those systems can be very painful. If you just want to play around with the different systems, spending several hours until you can submit your first job is a very bleak outlook. Therefore, I present copy-paste ready instructions for setting up SGE, PBS/TORQUE, or SLURM on a single machine, which will act as the master and a compute node at the same time. All guides are tested on Ubuntu 18.04, but should work with little modification on most recent Linux installations.
Starting with today, I will regularly present blog posts, articles and other online resources that I think are worth a read. My selection criteria will be somewhat arbitrary. In general, I will share content that I think contains valuable information for a large spectrum of software engineering professionals. Additionally, I will provide short summaries for all the articles I post.
In my opinion, Linux is the best operating system for a software engineer, except they develop explicitly for Windows or macOS. Still, as with any other operating system, optimizing a Linux workstation for software development requires some configuration. In this post, I will present tools and concepts that I think are very helpful, but overlooked by many.
In this post, I outline how I develop and run this blog site. I briefly explain my technology choices and give detailed instructions about how to use the resulting stack to create such a project. If you stick with me until the end, you will know how to run a beautiful, easily customizable static website for free.
AWS ParallelCluster is a toolkit for automating the process of building, configuring, and managing clusters of virtual machines on the Amazon Elastic Compute Cloud (EC2) cloud. These clusters can be used similar to traditional HPC clusters. This post contains a short performance analysis based on literature study and provides detailed instructions for getting started with your first cloud cluster.
This post introduces the Nitrite NoSQL database system and explores its applicability for Java desktop applications. Furthermore, I describe an example application using Nitrite as a backend data store for a generic JTable, where rows can have an arbitrary amount of attributes.
At the beginning of 2018, I finished my Master’s degree at TU Wien and started to work full time as a Software Engineer. As I was already working part-time before, I knew what I was getting into. Still, I am continuously amazed about how dynamic our industry and the people working in it are. Especially now, with the all-around success of (F)OSS, the software technology landscape is changing incredibly fast. This blog should help both my readers and me to keep up with the latest trends. I also see it as a way to contribute to the international software community.