Marc Rufer bio photo

Marc Rufer

Software engineer
@d-fens GmbH

Twitter Google+ LinkedIn Github Stackoverflow
RSS Feed

Welcome to my Blog

Welcome to my personal blog. This blog is hosted by GitHub Pages. Here I publish blog posts about different topics concerning computer science. Furthermore I will use it as a knowledge base.

Microsoft OneDrive Scheduled-Task Synchronisation

In a project for one of our customers at work I used Microsoft OneDrive for data synchronisation. The data gets collected on a tablet and the folder containing the data will be synchronized with OneDrive. On the other side there is a Windows Server that needs to move the data from OneDrive to a network drive.

ODBC PowerShell

In one of my projects at work I had to access a Microsoft Access Database (.mdb) with PowerShell. I first tried to access the .mdb using the Invoke-SqlCmd Cmdlet from our PowerShell module biz.dfch.PS.System.Data. Unfortunately connecting to the Access database with the Invoke-SqlCmd Cmdlet does not work as it uses SqlClient from the C#/.NET namespace System.Data under the hood.

.NET C# PowerShell

During development of a PowerShell binary module I had to do deal with two different credential types (System.Management.Automation.PSCredential and System.Net.NetworkCredential) and came across a behaviour I wanted to write down.

SQL VisualStudio

If you are using LocalDB and want to create an empty database you should perform the following steps.

.NET C# HttpClient

For one of our customers we had to implement Cookie handling for authentication purposes. This means reading the session token out of the Set-Cookie header and send the session token in the Cookie header of every request. When using the HttpClient from System.Net.Http there are two possibilites to do that. Either by passing a HttpClientHandler with a CookieContainer to the HttpClient, which then automatically handles cookies (See here), or by manually handle them. As we create a new instance of the HttpClient in our wrapper for every request, we had to go for the 2nd option.

PowerShell WinRM

Todays blog post is about setting up a PowerShell remote session configuration on a Windows machine. A PowerShell remote session configuration can be used when connecting from another machine (hereinafter called as Client) to the machine the PoSH remote session configuration resides on (hereinafter called as Target) using Enter-PSSession Cmdlet. A PoSH remote session configuration allows you to define under which user (Credential) the remote commands sent by the Client over the remote session will be executed. The Client only has to know the hostname of the Target and the name of the PowerShell session configuration.

PowerShell

A few weeks ago we started publishing our PowerShell modules to PowerShell Gallery. After publishing the module biz.dfch.PS.Appclusive.Client the first time we got an email from PowerShell gallery with some code analysis results with severity Error. As written in the email the analysis was performed with a module called PSScriptAnalyzer. We considered the project description and documentation at GitHub and were excited. The PSScriptAnalyzer is a static code checker for Windows PowerShell modules and scripts. It checks the quality of scripts, Cmdlets, module manifest and module definition against a set of rules. The code checker Cmdlet returns code analysis results with different severities including suggestions for improvements.

SuisseID

Today I had some troubles signing a PDF document with my SuisseID (Smart card version). I first tried to sign the PDF document by using Adobe Acrobat Reader DC. Unfortunately the Adobe Acrobat Reader DC started hanging during the saving process of the signed document. Nevertheless the document got saved but the signature was invalid.

.NET C# OData

Visual Studio supports the generation of data service clients (Service references) for OData services. A data service client is a .NET class that contains methods for accessing the OData service and gets generated based on the metadata provided by the OData service. The client acts as a proxy and translates the method calls into HTTP requests.

Git

Imagine you have several repositories holding more or less the same code base that only differ in some customer specific functionality. At d-fens we had exactly the before described situation. We made some changes (i.e. new features or bugfixes) to one of the repositories and wanted to apply the changes to the second repo. One possibility is to apply all changes made to the first repo manually to the second repository by copying and pasting all the stuff from the first to the second repository. But we found an easier more consistent way to do that by using git format-patch and git-am commands.

PowerShell GitHub automation

After a longer period of time without blogging I have something interesting for you. In the last few weeks I had to create several GitHub repositories for my daily work. To simplify the process I automated the creation with PowerShell.

PowerShell SuisseID

At d-fens, the company I’m working for, we all have a SuisseID, which can be used for different purposes like authentication and electronical signing purposes. It’s as well possible to sign code with the SuisseID. The advantages of using the SuisseID for code signing are that the SuisseID is a very cheap in comparison to other code signing certificates and that the user gets authenticated personally. The following section describes the necessary step to sign a PowerShell script on Windows by using your SuisseID.

swissunihockey sports Java ical4j PDFBox

On the new website of swissunihockey there is no possibility to get an overview of all games of a team represented on one page. Based on that I decided to write an application that allows to generate a PDF document displaying the game schedule of a team.

CI/CD JetBrains TeamCity Java maven

In this post I’ll show you how to set up a java build job for building and releasing a maven artifact. The activiti wrapper will be used as an example project. It’s a maven project that will be released by using the Maven Release plugin.

Activiti development

While playing around with the docker image eternnoir/activiti I had some troubles accessing deployments, process instances and other data created in activiti explorer over the REST endpoint. It took me some time to find out why the data from explorer was not accessible over REST.

IntelliJ IDEA JetBrains python Pylint

I was asked, if it’s possible to integrate pylint into JetBrains IntelliJ IDEA 14. After having a quick look at Google I found a blog post about the integration of pylint. The mentioned blog post references an older IntelliJ version and the author runs IntelliJ on Linux. Because I run IntelliJ 14 on Windows I decided to shortly describe the configuration for this combination here.

HOWTO RaspberryPI Windows10IoT VM VMWare

The boss of my new company I’m working for ordered two Raspberry PI 2 for experimental purposes. The reason for buying two of them was to have one Raspberry running a Linux distribution and the other one running Windows 10 IoT Core.

RESTful Dropwizard Java development

Once at work a friend asked me, if I know dropwizard. I have never heard about it before, so I decided to have a look at it and try it out. Dropwizard is a Java framework for development of high-performance RESTful web services.

IntelliJ IDEA JetBrains Java development

The following xml-file describes the Allman code style for IntelliJ IDEA and the Java-File below shows an example of the code style.

database migration Flyway maven development

After reading a blog post about the database migration tool Flyway on jaxenter I decided to play around with it in the context of a little sample project. The sample project shows the usage of the flyway maven plugin in combination with a h2 database.

inspection-profiles IntelliJ IDEA JetBrains

In most java projects I worked, compiling the source code in an IDE produced lots of warnings. Figure out which warnings could be ignored is very troublesome. In this blog post I will show you how to set up project specific inspection profiles in IntelliJ to avoid the output of ignorable warnings.

Java spring IntelliJ IDEA JetBrains

In the JetBrains webinar about Spring Boot Support in IntelliJ IDEA 14.1 an interesting functionality of IntelliJ IDEA was presented. Since version 14.1 IntelliJ supports “code completion” and contextual help for configuration properties when working with application.properties-files in spring boot context.

Java spring spring-integration AMQP RabbitMQ

This blog post gives a short overview about the integration of the AMQP based message queue rabbitMQ with a spring application by using spring integration. The post is illustrated with some sample code- and configuration-snippets.

Java development book reader-experience

As recommended to prepare for the Java SE7 associate programmer certification I read the certification guide written by Mala Gupta. In this post I would like to go into the most interesting things treated by this book.

swissunihockey sports Java

In my position as a participant of the committee of the floorball club Hornets Regio Moosseedorf Worblental I had to deal with a challenge. To overcome with the challenge I wrote a little program, which I want to present here.

Java API RESTful library

Today the v1.0 of the swisscom-sms-api-client was released and is now available at Maven Central Repository! The Swisscom SMS-API client project is an open source library for easy use of the Swisscom SMS-API in Java.

Java logging Log4j

This blog post treats some useful information concerning logging with the logging framework Log4j version 2. The post covers the different log levels, the configuration for a rolling file appender and some information regarding performance.

IFTTT RSS socialmedia

IFTTT.com, a brilliant service for everybody for triggering actions based on channels. While searching for a possibility to automatically post and tweet new items of an RSS-Feed a friend has recommended me IFTTT.

Apache deltacloud CIMI ruby

For getting in touch with the Cloud Infrastructure Management Interface (CIMI) I installed the deltacloud server on a VirtualBox-VM.

IntelliJ IDEA JetBrains maven development

The company I’m working for has its specific maven settings file (settings.xml), which defines the repository, some profiles and so on. For a project on customer side I wanted to have another settings file in place without changing or extending the existing one.

AngularJS book reader-experience

For getting deeper knowledge concerning AngularJS I decided to read the book “AngularJS”, which was written by Brad Green and Shyam Seshadri and published by O’Reilly. To understand the content you should be familiar with at least HTML and Javascript.

javascript book reader-experience

Because I didn’t know much about Javascript and only used it very little, I searched for a book about the basics of Javascript. I decided to read the book “Javascript for beginners” from Mark Lassoff. The announced prerequisites for reading this book are some knowledge in HTML and that you’re interested to learn to program in Javascript.

liferay book reader-experience

As a part of preparation for the Liferay Certified Professional Developer exam, I read this book about Liferay. Liferay is a Java based open source portal project, which offers a sophisticated programming interface for developers.

Java development book reader-experience

As recommended to prepare for the Java SE7 associate programmer certification I read the certification guide written by Mala Gupta. In this post I would like to go into the most interesting things treated by this book.

AngularJS book reader-experience

For getting deeper knowledge concerning AngularJS I decided to read the book “AngularJS”, which was written by Brad Green and Shyam Seshadri and published by O’Reilly. To understand the content you should be familiar with at least HTML and Javascript.

javascript book reader-experience

Because I didn’t know much about Javascript and only used it very little, I searched for a book about the basics of Javascript. I decided to read the book “Javascript for beginners” from Mark Lassoff. The announced prerequisites for reading this book are some knowledge in HTML and that you’re interested to learn to program in Javascript.

liferay book reader-experience

As a part of preparation for the Liferay Certified Professional Developer exam, I read this book about Liferay. Liferay is a Java based open source portal project, which offers a sophisticated programming interface for developers.

Microsoft OneDrive Scheduled-Task Synchronisation

In a project for one of our customers at work I used Microsoft OneDrive for data synchronisation. The data gets collected on a tablet and the folder containing the data will be synchronized with OneDrive. On the other side there is a Windows Server that needs to move the data from OneDrive to a network drive.

ODBC PowerShell

In one of my projects at work I had to access a Microsoft Access Database (.mdb) with PowerShell. I first tried to access the .mdb using the Invoke-SqlCmd Cmdlet from our PowerShell module biz.dfch.PS.System.Data. Unfortunately connecting to the Access database with the Invoke-SqlCmd Cmdlet does not work as it uses SqlClient from the C#/.NET namespace System.Data under the hood.

.NET C# PowerShell

During development of a PowerShell binary module I had to do deal with two different credential types (System.Management.Automation.PSCredential and System.Net.NetworkCredential) and came across a behaviour I wanted to write down.

SQL VisualStudio

If you are using LocalDB and want to create an empty database you should perform the following steps.

.NET C# HttpClient

For one of our customers we had to implement Cookie handling for authentication purposes. This means reading the session token out of the Set-Cookie header and send the session token in the Cookie header of every request. When using the HttpClient from System.Net.Http there are two possibilites to do that. Either by passing a HttpClientHandler with a CookieContainer to the HttpClient, which then automatically handles cookies (See here), or by manually handle them. As we create a new instance of the HttpClient in our wrapper for every request, we had to go for the 2nd option.

PowerShell WinRM

Todays blog post is about setting up a PowerShell remote session configuration on a Windows machine. A PowerShell remote session configuration can be used when connecting from another machine (hereinafter called as Client) to the machine the PoSH remote session configuration resides on (hereinafter called as Target) using Enter-PSSession Cmdlet. A PoSH remote session configuration allows you to define under which user (Credential) the remote commands sent by the Client over the remote session will be executed. The Client only has to know the hostname of the Target and the name of the PowerShell session configuration.

PowerShell

A few weeks ago we started publishing our PowerShell modules to PowerShell Gallery. After publishing the module biz.dfch.PS.Appclusive.Client the first time we got an email from PowerShell gallery with some code analysis results with severity Error. As written in the email the analysis was performed with a module called PSScriptAnalyzer. We considered the project description and documentation at GitHub and were excited. The PSScriptAnalyzer is a static code checker for Windows PowerShell modules and scripts. It checks the quality of scripts, Cmdlets, module manifest and module definition against a set of rules. The code checker Cmdlet returns code analysis results with different severities including suggestions for improvements.

SuisseID

Today I had some troubles signing a PDF document with my SuisseID (Smart card version). I first tried to sign the PDF document by using Adobe Acrobat Reader DC. Unfortunately the Adobe Acrobat Reader DC started hanging during the saving process of the signed document. Nevertheless the document got saved but the signature was invalid.

.NET C# OData

Visual Studio supports the generation of data service clients (Service references) for OData services. A data service client is a .NET class that contains methods for accessing the OData service and gets generated based on the metadata provided by the OData service. The client acts as a proxy and translates the method calls into HTTP requests.

Git

Imagine you have several repositories holding more or less the same code base that only differ in some customer specific functionality. At d-fens we had exactly the before described situation. We made some changes (i.e. new features or bugfixes) to one of the repositories and wanted to apply the changes to the second repo. One possibility is to apply all changes made to the first repo manually to the second repository by copying and pasting all the stuff from the first to the second repository. But we found an easier more consistent way to do that by using git format-patch and git-am commands.

PowerShell SuisseID

At d-fens, the company I’m working for, we all have a SuisseID, which can be used for different purposes like authentication and electronical signing purposes. It’s as well possible to sign code with the SuisseID. The advantages of using the SuisseID for code signing are that the SuisseID is a very cheap in comparison to other code signing certificates and that the user gets authenticated personally. The following section describes the necessary step to sign a PowerShell script on Windows by using your SuisseID.

CI/CD JetBrains TeamCity Java maven

In this post I’ll show you how to set up a java build job for building and releasing a maven artifact. The activiti wrapper will be used as an example project. It’s a maven project that will be released by using the Maven Release plugin.

Activiti development

While playing around with the docker image eternnoir/activiti I had some troubles accessing deployments, process instances and other data created in activiti explorer over the REST endpoint. It took me some time to find out why the data from explorer was not accessible over REST.

IntelliJ IDEA JetBrains python Pylint

I was asked, if it’s possible to integrate pylint into JetBrains IntelliJ IDEA 14. After having a quick look at Google I found a blog post about the integration of pylint. The mentioned blog post references an older IntelliJ version and the author runs IntelliJ on Linux. Because I run IntelliJ 14 on Windows I decided to shortly describe the configuration for this combination here.

HOWTO RaspberryPI Windows10IoT VM VMWare

The boss of my new company I’m working for ordered two Raspberry PI 2 for experimental purposes. The reason for buying two of them was to have one Raspberry running a Linux distribution and the other one running Windows 10 IoT Core.

RESTful Dropwizard Java development

Once at work a friend asked me, if I know dropwizard. I have never heard about it before, so I decided to have a look at it and try it out. Dropwizard is a Java framework for development of high-performance RESTful web services.

IntelliJ IDEA JetBrains Java development

The following xml-file describes the Allman code style for IntelliJ IDEA and the Java-File below shows an example of the code style.

database migration Flyway maven development

After reading a blog post about the database migration tool Flyway on jaxenter I decided to play around with it in the context of a little sample project. The sample project shows the usage of the flyway maven plugin in combination with a h2 database.

inspection-profiles IntelliJ IDEA JetBrains

In most java projects I worked, compiling the source code in an IDE produced lots of warnings. Figure out which warnings could be ignored is very troublesome. In this blog post I will show you how to set up project specific inspection profiles in IntelliJ to avoid the output of ignorable warnings.

Java spring IntelliJ IDEA JetBrains

In the JetBrains webinar about Spring Boot Support in IntelliJ IDEA 14.1 an interesting functionality of IntelliJ IDEA was presented. Since version 14.1 IntelliJ supports “code completion” and contextual help for configuration properties when working with application.properties-files in spring boot context.

Java spring spring-integration AMQP RabbitMQ

This blog post gives a short overview about the integration of the AMQP based message queue rabbitMQ with a spring application by using spring integration. The post is illustrated with some sample code- and configuration-snippets.

Java logging Log4j

This blog post treats some useful information concerning logging with the logging framework Log4j version 2. The post covers the different log levels, the configuration for a rolling file appender and some information regarding performance.

Apache deltacloud CIMI ruby

For getting in touch with the Cloud Infrastructure Management Interface (CIMI) I installed the deltacloud server on a VirtualBox-VM.

IntelliJ IDEA JetBrains maven development

The company I’m working for has its specific maven settings file (settings.xml), which defines the repository, some profiles and so on. For a project on customer side I wanted to have another settings file in place without changing or extending the existing one.

PowerShell GitHub automation

After a longer period of time without blogging I have something interesting for you. In the last few weeks I had to create several GitHub repositories for my daily work. To simplify the process I automated the creation with PowerShell.

swissunihockey sports Java ical4j PDFBox

On the new website of swissunihockey there is no possibility to get an overview of all games of a team represented on one page. Based on that I decided to write an application that allows to generate a PDF document displaying the game schedule of a team.

swissunihockey sports Java

In my position as a participant of the committee of the floorball club Hornets Regio Moosseedorf Worblental I had to deal with a challenge. To overcome with the challenge I wrote a little program, which I want to present here.

Java API RESTful library

Today the v1.0 of the swisscom-sms-api-client was released and is now available at Maven Central Repository! The Swisscom SMS-API client project is an open source library for easy use of the Swisscom SMS-API in Java.

IFTTT RSS socialmedia

IFTTT.com, a brilliant service for everybody for triggering actions based on channels. While searching for a possibility to automatically post and tweet new items of an RSS-Feed a friend has recommended me IFTTT.