RSS icon Articles 61 to 70

Load SSH Keys to Memory with SSH Agent

By Jimmy Bonney | June 27, 2012

As I explained in my previous article, we have migrated our code base to Git. In the process of automating the deployment process on our production server, I wanted to use one of the latest feature of BitBucket: deployment keys.

Bitbucket has a very well documented process describing the overall procedure, but the whole step about starting the ssh-agent and loading keys is something that is a bit cumbersome to reproduce every time one logs in to the production server to pull an update.

To simplify this a little bit, I have automated some of the steps so that:

  1. The ssh-agent is started every time the user logs in through SSH
  2. a simple script responsible of loading the key(s) can be executed when one want to load them


Migrate SVN Repository to Git on BitBucket

By Jimmy Bonney | June 26, 2012

We have just migrated the version control system of our web application from SVN to GIT. While there are a lot of sources available online to perform this, not all of them consider the special case when one need to migrate branches that might not have been re-integrated to the trunk yet.

I have mixed a few different sources in order to get this right for us. I will not re-write what has been written so many times by others (often in a better and clearer way that what I could do) but will simply list the steps that I followed and links to the different sources.


Filter Unique Email Addresses And Verify Validity

By Jimmy Bonney | June 24, 2012

When gathering contact lists, it is quite common to end up with quite a few duplicate email addresses. In order to do some cleanup in those lists, I have created a simple ruby script that accepts a CSV file as input and analyzes the list to extract only unique entries.

The reason to create the script in the first place was that some entries were containing multiple email addresses for the same contact. When comparing lists it was therefore not easy to see if the email address was present in one list and not in the other. The first step was therefore to create one line per email address which then allowed for an easier cleanup of duplicate entries.

Since some of the email addresses in my list were quite old, I have added a simple verification on whether the domain of each address contains some valid MX server.

More detailed information is available on the project page.


Install GMVault on a Synology NAS

By Jimmy Bonney | June 17, 2012

Everybody is aware of how important it is to perform backup. This is especially true when you do not own the architecture on which your files are hosted.

Many of you probably remember the outage that GMail faced a bit more than a year ago when accounts have been accidentally deleted. Most of them (all?) have eventually been restored but this incident was probably a wake-up call for many. Once again, unless you have a local backup of your data, you are actually not owning anything when working with cloud services.

Quite a few websites have been spreading the word about GMVault lately. This is a great initiative that allows to easily backup data from your GMail account and easily restore them in case you need to. In order to automate the process, and ensure that backups are taken on a regular basis, I have configured a NAS (Synology DS111) to perform this operation.


Pattern Backgrounds

By Jimmy Bonney | June 16, 2012

Since the background of this website was a bit simplistic (not to say particularly dull), I have been looking for something to replace it. And well, if you are reading this from the website itself and not the RSS feed, you migh have notice the new pattern in the background.

I ended up using some pattern from the Subtle Patterns website and while I am not a designer, I think it looks much better now.

Reintegrate Branch to Trunk with Subversion

By Jimmy Bonney | June 16, 2012

There are quite a few SVN commands that I do not use so often but that I need every once in a while. One of them is related to reintegrating a branch into the trunk.

Assuming that one is working with the trunk as a working copy and want to reintegrate the branch called feature, the reintegrate command is simply:


Commit Comments and Changed Files in Subversion

By Jimmy Bonney | June 16, 2012

There are quite a few SVN commands that I do not use so often but that I need every once in a while. One of them is related to getting log information from previous commits.

While it might be trivial to get those data from a SVN GUI client, getting the list of commited files and comments from previous version from the command line can be tricky.


Revert a Single Commit in Subversion

By Jimmy Bonney | June 10, 2012

There are quite a few SVN commands that I do not use so often but that I need every once in a while. One of them is related to reverting a single commit.

If some code has been committed to the repository but you then realize later that those changes should not have been commited for some reason (code breaks some functionalities, tests not running, …), it is possible to execute a reverse merge.


Connect to Zoho CRM with Ruby

By Jimmy Bonney | June 3, 2012

At D-Sight, we use Zoho CRM to follow-up on our leads (people who try out D-Sight or D-Sight Web). Being able to integrate Zoho solutions with our products makes it easier for us to focus on important activities, rather than spending time importing contacts manually from our applications.

The problem is that Zoho documentation is rather sparse on technical details about Ruby integration. Quite a lot of things are available for PHP and Java users but for the moment it seems that Ruby is not a top priority. However, Zoho offers a great API and therefore integration with Ruby is not that complicated.

We have therefore created a script that reads in a MySQL database, extracts the latest entries and sends them to Zoho. In case any error occur while sending the data to Zoho, an email containing the entries that could not be added is sent out to the administrator.


PHPList Export Unconfirmed Users and Blacklist them

By Jimmy Bonney | November 27, 2011

Before making a new bulk import in PHPList it is important to ensure that the imported users will not override the “unconfirmed” status of existing users. Since PHPList does not offer options to blacklist existing unconfirmed users we will proceed in two steps:

  1. Export unconfirmed users
  2. Blaklist unconfirmed users