RSSAmplifier

Blog

KenCochrane.com

Recent content on KenCochrane.com

kencochrane.comRSS feed ↗73 posts

Latest posts

Why you should give new employees a 30-60-90

In the last blog post, we talked about ramping up your new developers as quickly as possible and we concentrated on their local development environment and why it is important to get them up and running quickly. Getting that setup is important but is only one step of many that you need to do to make sure they become a fully functional team member. An employee will need to make sure they have…

On-boarding new developers to the team

When you hire someone new for your development team, one of the primary goals is to ramp up that person so that they can be a fully contributing member as soon as possible. When dealing with developers one way to decrease this time is to make it as easy as possible for someone to commit code to production on their first day. For a lot of companies, this isn’t possible and I hear horror stories of…

How I hire software developers

As an engineering manager, one of the things that you will need to do from time to time is hire new employees for your team. I have been involved in hiring developers for around 15 years now. I have done everything from just being on an interview panel, all the way to the hiring manager. Each of the roles on the interview panel has different responsibilities but they helped me finely tune the…

Build, notarize, and sign Golang binaries for MacOS with GitHub Actions

When Apple introduced MacOS Catalina, it came with some security features to make sure you were only using trusted binaries. This requires that the binaries are signed and notarized by Apple themselves, or else you get an error. MacOs Catalina error for unsigned binary There are ways around this error, but that makes it difficult if you want distribute your binaries to a large group of people.

I wrote a book : Docker Cookbook Second Edition

One of the things that I have always wanted to do was write a book. When I was at Docker I had a few offers from publishers to write a book, and I even started writing one called the Docker guidebook and you can find it on Github. Since Docker was growing so fast and I was spending so much time working that I didn’t have a lot of free time to write a book.

CashStar the early years

On August 30th, 2017 BlackHawk Network acquired CashStar for $175 Million dollars in cash. This is good news for everyone involved, the CashStar employees, share holders, and for black hawk. This is a great ending, but how did they get where they are today, and how did it all start? I was lucky enough to be one of the first employees at CashStar, so I have some first hand knowledge of the early…

Using Lambda to get a users Availability Zone list in Cloud Formation

This is a follow up to my Understanding AWS Regions and Availability Zones in Cloud Formation post that I made a little while ago. Previously I talked about how you can dynamically select the number of AvailabilityZones (AZs) that you want to deploy your instances too, based on the region. Since some regions only offer two AZs and others have more, you will always want to deploy to as many as…

My CloudFormation wish list

I have been using CloudFormation a lot over the past year with my work on Docker for AWS. It is a pretty good product, but there are still some rough edges that make using it a lot harder then it needs to be. I have compiled a list of changes and feature requests that I would like to see added to CloudFormation to make my life easier. I hope this blog post gets read by the CloudFormation team and…

5 Years at Docker

February 15th, 2017 was my 5th year anniversary of joining dotCloud/Docker. I have been thinking a lot about those 5 years at Docker, and thought it would make for a good blog post. This is going to be fairly long, but I think it will be worth it to see how Docker progressed over time. How I got hired Before I can explain how I got the job, I need to first give a little background.

Maine Companies to watch in 2017

I live in Maine, it’s a great state for a lot of things, but running a business isn’t one of them. There are a number of reasons, but the major ones are usually high taxes, and a lack of skilled workers. Because of this, there aren’t that many new companies that come along, so I’m always on the lookout for companies that are doing cool things. I like to keep an eye on their…

Understanding AWS Regions and Availability Zones in CloudFormation

I recently talked about my work on Docker for AWS while working on this project I had to do a lot of research around AWS Regions and Availability Zones, and how they work with CloudFormation. Here are the notes that I gathered. What is the difference between an AWS Region and an Availability Zone? The easiest way to answer this questions is to start backwards. Servers live in a data center.

My work on Docker for AWS

For the past 9 months I have been working on Docker for AWS, which is an easy way to go from nothing, to a Docker Swarm on AWS, in about 10 minutes. The goals of this project were to make it easy for someone with an AWS account to start using Docker Swarm without needing to know anything about Docker and very limited knowledge of AWS. When I first started, I had no idea what I was going to build,…

I rebuilt my blog with hugo, and moved to netlify

About a year ago, I was frustrated with my lack of new posts on my blog and decided I needed to fix that. After a little bit of soul searching, I decided to reboot the blog, and start fresh with a new platform. Here are a few of the reasons why I decided to change my blog. I didn’t like the look of my blog, and there were no good themes available on my old platform.

Introducing Django Defender

Normally websites do very few logins, someone logs in once and their session is good for a bunch of hours. Since it’s a one time thing, it doesn’t matter if it isn’t very fast. At Docker our authentication system handles requests for both the Docker Hub, as well as all Docker Engine commands that interact with the Docker Hub (docker push, pull, etc). This Authentication system…

Uploading a Video to Facebook from AWS S3 using python

If you have some video files stored in Amazon S3 and you want to upload those videos to a Facebook page, using their video API here is some python code that I used recently. I spent a good chunk of a day trying to get this too work, so I’m posting this here to help anyone else who is trying to do the same. This code isn’t using any special facebook libraries it is just using normal…

The Docker Guidebook

Introduction The goal of this tutorial is to introduce you to Docker, show you what it can do, and how to get it up and running on your system, and how to use it to make your life better. This guide is open source and available on github.com. If you would like to add to it or fix something, please fork it and submit a pull request. Table of Contents

Running Docker on Digital Ocean with Ubuntu

I recently wrote a post on how to get Docker up and running on Rackspace and since then I have received some requests on how to get it up and running on other hosts. One of those hosts is Digital Ocean a hot new Cloud hosting provider that offers a 512MB 20GB SSD VPS for only \$5.00 / month. A really great deal, and also a great price if you want to play around with some new tool and not have to…

Getting Docker up and running on a RaspberryPi

This year I attended PyCon US and I was lucky enough to get a FREE RaspberryPi. At the same conference dotCloud (The company I work for), was giving a lightning talk for a project that we have been working on, called Docker. Docker is a tool that allows you to better manage your Linux Containers (LXC). Shortly after I got the RaspberryPi, I started wondering if it would be possible to run Docker…

Upgrading the Ubuntu linux kernel on Rackspace cloud

Yesterday I wrote a blog post on how to install Docker on to RackSpace Cloud, and one of the steps was to upgrade the kernel to the lastest one so that Docker would be nice and stable. The problem that I found out was that there wasn’t much information how to upgrade the kernel on the Rackspace Cloud servers, so I thought I would put the steps here. The goal here is to upgrade Ubuntu 12.

Running Docker on Rackspace with Ubuntu

I have been playing with Docker a lot lately, and it got me wondering how hard it would be to run Docker on the different Cloud providers. I noticed there were already directions on how to install on Amazon EC2 but nothing for the Rackspace Cloud. If you would like to run Docker on the RackSpace Cloud using Ubuntu you’re in luck. I just spent the afternoon figuring out how to get it…

Intro to Python and Django Presentation

I recently gave a talk at a DjangoMaine meetup introducing folks to Python and Django. There wasn’t enough time to go over everything, so I tried to pick and choose the parts that I felt where important to go over, in order to have a good overview of what Python and Django is all about. I hope this was useful to the folks that attended. If so, it would be really helpful to know what parts…

New Pelican Based Blog

I have recently changed my Django based blog to a statically generated blog based on Pelican, and hosted by GitHub Pages. This is for a couple of reasons. The first reason was because my blog is really simple, it was just a bunch of reStructuredText documents that were converted to HTML. I didn’t need the Django-admin features and I always felt it was a little overkill for my blog. The…

Deploying my Django application to dotCloud: Part 2

As I mentioned in a recent blog post, in the 11 months since I wrote my first post on dotCloud, I now work there. Besides me working there, there has been a lot of other changes at dotCloud, and I wanted to take the time to update my original post so that it was up to date and had all the recent information. I’m going to completely rewrite the old blog post here, with updated information,…

I'm now working for dotCloud

A lot has happened in the 11 months since I wrote my first blog article on dotCloud. There was an Egyptian revolution, a royal wedding, a new iPhone and iPad, Osama bin Laden was killed, and on a more personal note, I left my job at CashStar and I now work for dotCloud. In the grand scheme of things, my job change was nothing compared to those big events of the past 11 months, but it was pretty…

Running sentry on DotCloud

Sentry is a realtime event logging and aggregation platform. At it’s core it specializes in monitoring errors and extracting all the information needed to do a proper post-mortum without any of the hassle of the standard user feedback loop. The main feature of sentry and the ability to send all of your application logs to one place, and then aggregate them, so that you only get one error email for…

The Developers Guide to PCI Compliant Web applications

last updated: 12-07-2012 by Ken Cochrane Update: 12-07-2012 I have added the youtube video and slides from a recent talk I did on Building PCI Complaint Django Applications. Update: 04-05-2012 This article has been translated into chinese , by Wujun Shen (吴峻申) When I first started working at CashStar.com three and a half years ago, I had heard about PCI before, but I didn’t really know what…

Getting DjangoCMS up and running on ActiveState's Stackato

ActiveState has recently started their own PAAS based on CloudFoundry this blog post is to help you get up and running quickly with a Django CMS installation, and hopefully give you enough information to get your own applications on there as well. To keep things simple, I’ll just go through the steps that are required in order to get this up and running and add some comments along the way.

Installing a Django application on Red Hat's OpenShift PAAS

It seems like everyone has their own PAAS solution these days, and if they don’t have one yet, it is just a matter of time before they will. Red Hat has recently joined in on the fun with their OpenShift platform. I decided to take it for a test drive, and share my results with you. This service is still in beta and things are changing all of the time, so these notes might not work in the…

Installing DjangoCMS on Heroku in 13 easy steps

Do you want to use Django-cms on Heroku but don’t know where to start? All you need to do is follow these 13 easy steps, and they will get you on your way. Create a place to store your project \$ mkdir -p ~/projects Go into the projects directory \$ cd ~/projects Clone git repo from github, requires git client. \$ git clone git://github.com/kencochrane/django-cms-heroku.git

Installing DjangoCMS on dotCloud in 12 easy steps

Do you want to use Django-cms on dotcloud but don’t know where to start? All you need to do is follow these 12 easy steps, they will get you on your way. Create a place to store your project \$ mkdir -p ~/projects Go into the projects directory \$ cd ~/projects Clone git repo from github, requires git client. \$ git clone git://github.com/kencochrane/django-cms-dotcloud.git Go into the new…

Standardizing Python WSGI deployment

Over the past year I have been testing all of the new python platform as a service companies that have popped up, and I have posted my notes on my blog so that everyone can learn from my experiences. ep.io, apphosted.com, gondor.io, dotcloud.com, DjangoZoom.com, Heroku, Django hosting roundup, All and all, the platforms were very similar, they allowed you to easily host your python/django project…

Using New Relic with supervisord and gunicorn

New Relic recently added support for python to their awesome web application performance tool, and I have been playing with it on a number of projects. Installing and configuring new relic is pretty well covered in their own documentation, so there is no reason for me to repeat that here. One thing that isn’t covered in the documentation is how to use new relic if you are using supervisord…

What are the best python companies to work for?

I was looking at the pycon US 2012 website when I stumbled upon the huge list of sponsors, which is really impressive. It got me thinking. Are all of these companies using python? If so, which ones are the best companies to work for? If it was up to you, and location and money wasn’t a factor, what company would you work for and why? If you already work at one of these companies, can you…

Developers guide to Running Django Applications on Heroku

Heroku the platform as a service (PAAS) company, very popular in the Ruby on Rails community, has now started opening up their platform to languages besides Ruby. They now offer support for Python, Java, Clojure, Node.js, and Scala on their new Cedar stack. Heroku’s Cedar stack is still in beta, but that shouldn’t stop you from trying it out, and that is just what I’m going to…

DjangoMaine.com - Django User group in Portland Maine

When I was at DjangoCon a few weeks ago, it was great hanging out with all of the fellow Djangonauts talking about Django and all of other great technologies. Now that I’m home, I have decided to get off my butt and do something I should have done a while ago. Without further ado, I am pleased to announce the creation of DjangoMaine.com, a new Django user group based in Portland Maine.

I'll never work for a big company again

I recently had my 3 year anniversary at CashStar, and it got me thinking about how fast the last 3 years have gone. When I first started at CashStar there were only a handful of people, and we had nothing, and it was great. We had no products, no customers, which might sound bad at first, but we also didn’t have any customer, or production support issues to slow us down.

Introducing django-clickstream

Track a visitors movements across your site. Possible uses: See what they were doing before they got an error. Use it for analytics and usability testing to see how people are moving around your site, and where you are losing people. Inspired by OpenSymphony’s Java project of the same name. http://code.google.com/p/clickstream/ Requirements Django 1.1 or newer Django sessions need to be…

Setting up Django with Green Unicorn, nginx, supervisord and fabric on CentOS 5.5

When I first started working with django I deployed my apps using apache and mod_python. Then after a little while I started playing with nginx and switched my setup so that nginx was serving the static content and reverse proxied requests back to apache and mod_python. Not too long after that, I switched out mod_python with mod_wsgi and ran mod_wsgi in daemon mode. This setup worked well for a…

Django Hosting Roundup: (Ep.io vs Gondor.io vs DotCloud vs Heroku vs AppHosted vs DjangoZoom) Who wins?

Updates Updated 2/16/2012: Full disclosure. On Feb 16th 2012, I accepted a job with dotCloud. I plan on keeping this blog post up to date and impartial. If you think there are any errors, please let me know in the comments below. Updated 1/26/2012: Updated Gondor.io with info from Donald Stufft. Updated 01/24/2012: changed gondor.io to include SSL support Updated 01/01/2012: Added Heroku and…

DjangoZoom.com Review

This is part five in my series on django hosting services. Previously, I looked at ep.io, apphosted.com, gondor.io, dotcloud.com and now I’m looking at DjangoZoom.com. DjangoZoom.com is the brain child of Nate Aune and Shimon Rura and is based in Boston, Massachusetts. It was founded in 2010 at StartupWeekend Boston and was a finalist in the MassChallenge. Their office is in the Dogpatch…

AppHosted.com Django Hosting Service Review

This post is the fourth in my series about the new Django hosting services that just recently hit the market. Previously I have reviewed ep.io , gondor.io , and dotCloud.com .This post reviews AppHosted.com , another similar service that is currently in beta. I was lucky enough to get a sneak peak of this service before it was released to the general public, and here are my notes and impressions…

Django Job Opening @ CashStar.com (Portland, ME)

I work for a company called CashStar, most people have never heard of us, but a lot of people have used our products without even knowing it. CashStar is the man behind the curtain so to speak. We created an e-gift card platform that is used by some of the largest companies in the United States. Here is a short list of some of our customers: The Home Depot, Gap, Old Navy, Banana Republic, Staples,…

Deploying my Django application to dotCloud

warning This post is out of date, please read the new updated one: Deploying my Django application to dotCloud Part 2 I have recently wrote about ep.io and gondor.io, two new python/django hosting services that are currently in beta. Another new service that has just recently hit the scene and is causing a lot of waves is DotCloud.com. DotCloud is a little different for a number of reasons.

My Day in Gondor.io

The other day I wrote about a new Django hosting service called ep.io , after I made that post, I was lucky enough to get an invite for the private beta of gondor.io, which is similar to ep.io but from the folks over at Eldarion. In order to test out the service I decided to take my Dango blog application and deploy it to Gondor and I kept notes along the way, here are those notes.

My Experiences with ep.io

Over the last decade I have deployed my applications many different ways, I have used, self managed dedicated servers, fully managed dedicated servers, Virtual Privates Servers from Linode, RackSpace and Amazon, shared hosting from webfaction, and I also used Google App Engine. I have learned a lot of things along the way, but the one thing I learned the most is that managing the server and…

Restart Apache in Mac OS X

I always seem to forget this, so I’m going to post it here for easy reference. To restart the Apache web server service you can run the following command in a Mac OS X Terminal window: sudo /usr/sbin/apachectl restart

Upgrading MySQL 5.0.x to Percona MySQL 5.1.x RHEL5 or CENTOS 5

Upgrade the stock MySQL 5.0.x build to the new stable MySQL 5.1.x Percona version. Here are my notes on upgrading on Red Hat Enterprise Linux 5 (RHEL5) or CentOS5. First we need to stop mysql service mysql stop; I’m assuming that you don’t have the percona repo installed on your machine, if not follow this link on how to set it up. Setting up Percona RPM Repo mkdir -p /tmp/downloads cd…

Django 1.3 has been released!

It includes the following: Class-based views Logging Extended static files handling unittest2 support Transaction context managers Configurable delete-cascade Contextual markers and comments for translatable strings Improvements to built-in template tags Caching changes For more information checkout the official release notes: http://docs.djangoproject.com/en/dev/releases/1.3/

Upgrading Percona MySQL 5.0.x to Percona MySQL 5.1.x RHEL5 or CENTOS 5

I have been using the Percona build of MySQL 5.0.x for a little while now, and I have been impressed. Now it is time to upgrade to the new stable MySQL 5.1.x version. Here are my notes on upgrading on Red Hat Enterprise Linux 5 (RHEL5) or CentOS5. First we need to stop mysql service mysql stop; I’m assuming that you have the percona repo installed on your machine, if not see follow this link…

Django 1.2 has been Released!

Django 1.2 has been released I have been waiting for this release for a while now, mostly because it includes some of the features I have been dying to get my hands on. The ones I like the most are support for multiple databases smart-if template tag The new Email Backends relaxed requirements for usernames. Here is a list for some of the features, and a little bit about each one.