Free Certification from Let's Encrypt

What a time to be alive! The internet is really winning. Need to setup HTTPS on your site check out To get you started check out the getting started guide.

If you are hosted on Webfaction check out this client letsencrypt-webfaction. This should get you up and running in a very short time depending on how fast Webfaction support are. Painless I tell you.

Update Once setup on Webfaction you need to ensure all HTTP traffic is redirected to HTTPS to do this you can add the following snippet to your .htacess file.

For more info on redirecting to HTTPS see this answer on stackoverflow .

To get rid of the Webfaction site not configured error page, create a plain HTTP website that points to the desired application. In the end you will have both a HTTP and HTTPS version of the site. The HTTP version should then direct to the HTTPS site. Not too complicated right?

Read this article

Agile for the Solo Developer

Been reading on how to adopt agile principles in my development work flow. Since a lot of emphasis is on team collaboration I was curious to see how I can implement such principles to a developer who often works alone due to circumstances e.g as freelancer I tend to be the only developer working on a particular project. I found some interesting material on how to do so:

Read this article

Code Deployment

It has been a while since I posted something, need to become a bit regular at this. Anyway let us talk about deployment. Once you have built your shiny new app it is time to show case it to the world/client. There are several ways to do so. I would like to share how I had been doing it in the past and how I now do it.

The Old Way

Where everyone seems to start, using an FTP client such as FileZilla. This is pretty simple to do, however it gets tedious over time. The biggest drawback for me was the inability to track changes in the code base, so sometimes I would end up FTPing the whole code base again which really sucks and is a great way to introduce bugs. Granted it does have its advantages for quick fixes and the like.

Introducing GIT FTP

After sometime I started using git for version control but still I was FTPing stuff until I came across git-ftp, it is basically a shell script FTP client but unlike the other desktop FTP clients it can track changes to the code base and upload only files that have changed. This made deployment pretty simple, once I had it setup all I had to do after committing changes was $ git ftp push and am done. You can also setup a git-ftp-ignore file which works the same as the .gitignore file. Until recently this was sufficient for me but still I wanted an easier way deploy code automatically once I had pushed it to Bitbucket or GitHub

Enter Deployment Services

In my search I came across which is a code deployment service. One simply links a Bitbucket or GitHub repo, configure a server to deploy to and once you push any code it automatically deploys. One can also setup different servers to deploy to, such as a staging server, a production server and so on. There are several such deployment services but I prefer for its simplicity and wide array of server setups supported, plus they have a limited free plan which you can use to test the service to see if it suits your needs.

Honorable mention also goes to which works the same as but it doesn't have as much flexibility.

I think such tools makes deployment a breeze.

So what deployment methods or tools are you using?

Read this article