Arun Stephens

View a config file without comments

Sometimes you have a config file that has is heavily annotated (which is great). But sometimes you just want to see the actual configuration without all that help text. Use grep's -v (invert) option: cat config | grep -v \# (Note that the # has to be escaped.) Read post »

Importing a Maildir using Dovecot

I'm looking into using Dovecot as a way to store all my old emails (I have emails going back 20 years would you believe!) Before I commit to it though, I am testing how easy it is to migrate between servers. To import the contents of one Maildir into Dovecot, use the following: doveadm -Dv import maildir:<path> "" all Where: -Dv means verbose debugging. You don't need that. maildir:<path> tells Dovecot where to get the Read post »

Re-signing an Enterprise iOS app

If you have an in-house app that you've distributed across your organisation as part of the iOS Enterprise program, you may find that the app stops working or installing. This is likely because your provisioning profile and/or certificate has expired. If you look at the console (in Xcode, Devices), you'll see something like: Apr 26 15:05:58 iPad amfid[3086] <Error>: SecTrustEvaluate [leaf IssuerCommonName SubjectCommonName] Apr 26 15:05:58 iPad amfid[3086] <Error> Read post »

Setting up SSL on an AWS Elastic Load Balancer

Here's how to get an SSL certificate (from DigiCert) and install it on your AWS ELB. Step 1: Create the CSR SSL is a form of PKI (public key infrastructure) encryption. It requires a key pair, which is usually generated by the user. Ideally the private key can be kept private, never moved from the computer on which it was generated. This isn't the case for ELBs though. The following steps need to be performed on a machine that has Read post »

DOS to Unix line endings with bash

This is a command that works in Git Bash on Windows to recursively replace \r\n line endings with \n. It uses Perl. There's probably a version that uses sed. find . -name "*" -type f -exec perl -pi -e 's/\r\n/\n/;' $* {} \; This solves a problem where, on Windows, using Vagrant and Puppet, DOS line endings result in this error: Could not evaluate: /usr/bin/env: ruby Read post »