Install root CA in iOS 11+

This post is a follow up to Install root CA in Android. The problem is the same here and the solution is somewhat similar too. First, export the CA certificate like explained in the Android specific post. Email the certificate as an attachment to an email account you can access via Safari on your device. Only Safari seems to allow the cert to install. Open the attachment and you will see the following prompt....

July 23, 2018 · 2 min · LPains

Migrating from TFS + TFVC to VSTS + git

It seems like everybody uses git for source control nowadays. Heck, Microsoft is using git instead of its own TFVC. Although I’ve been using GitHub for open source projects for years now, most of my day is still spent in TFS. I finally got the green-light to move one fairly large project from TFS with TFVC to VSTS with git, this post is about my experience during the move. Requirements Migrate one repository with few branches from TFS 2017 to VSTS Permanent move; no need to keep TFS and VSTS in sync after conversion Migrate history for all branches being moved The first two requirements are quite easy to achieve but the last one proved to be tricky....

July 15, 2018 · 3 min · LPains

Install Root CA cert in Android emulator

When developing a small Xamarin forms app I wanted the android emulator to connect to an intranet identity provider. That didn’t work. The id server was using an SSL certificate issued by an untrusted CA. Here’s what I did to get it working. First, you will need the CA certificate so android can trust the SSL cert. If you don’t have the cert, you can export it using Chrome on mac or Chrome on windows:...

July 7, 2018 · 1 min · LPains

Building string with placeholders

Last post I showed a cool way to parse strings into typed objects. In this one, I want to show the opposite. How to build strings using a template and an object. The idea is to use a template like {BirthDate:D} My name is {FirstName} {LastName} and I'm cool. and an object with properties BirthDate, FirstName and LastName to fill in the placeholder values and apply optional formatting. There are several uses for a utility like this but my favorite use is templated email messages....

April 13, 2017 · 1 min · LPains

Parsing text into typed objects using RegEx named groups

A little while ago, I had to build a desktop app that received input from devices which I had no control of. Although each implementation had similar requirements, the devices connected to the app were slightly different and so were the inputs received from them. I’ve looked for other similar implementations and found that some people implemented device specific parsers. Furthermore, they used configuration to select the correct parser. I think there is at least one issue with this approach: any change to the known inputs would require the application to change as well....

April 6, 2017 · 2 min · LPains