<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>KenCochrane.com</title>
    <link>https://www.kencochrane.com/</link>
    <description>Recent content on KenCochrane.com</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>Powered by [Hugo](//gohugo.io). Theme by [PPOffice](https://github.com/ppoffice).</copyright>
    <lastBuildDate>Mon, 29 Mar 2021 00:00:00 +0000</lastBuildDate>
    
	<atom:link href="https://www.kencochrane.com/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Why you should give new employees a 30-60-90</title>
      <link>https://www.kencochrane.com/2021/03/29/why-you-should-give-new-employees-a-30-60-90/</link>
      <pubDate>Mon, 29 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2021/03/29/why-you-should-give-new-employees-a-30-60-90/</guid>
      <description>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 system access, business knowledge, employee connections as well as the skills required for their job.</description>
    </item>
    
    <item>
      <title>On-boarding new developers to the team</title>
      <link>https://www.kencochrane.com/2021/03/28/on-boarding-new-developers-to-the-team/</link>
      <pubDate>Sun, 28 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2021/03/28/on-boarding-new-developers-to-the-team/</guid>
      <description>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 new employees taking a week or two just to get their local environments configured and up and running.</description>
    </item>
    
    <item>
      <title>How I hire software developers</title>
      <link>https://www.kencochrane.com/2021/03/27/how-i-hire-software-developers/</link>
      <pubDate>Sat, 27 Mar 2021 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2021/03/27/how-i-hire-software-developers/</guid>
      <description>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 hiring practice I use today.</description>
    </item>
    
    <item>
      <title>Build, notarize, and sign Golang binaries for MacOS with GitHub Actions</title>
      <link>https://www.kencochrane.com/2020/08/01/build-and-sign-golang-binaries-for-macos-with-github-actions/</link>
      <pubDate>Sat, 01 Aug 2020 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2020/08/01/build-and-sign-golang-binaries-for-macos-with-github-actions/</guid>
      <description>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.</description>
    </item>
    
    <item>
      <title>I wrote a book : Docker Cookbook Second Edition</title>
      <link>https://www.kencochrane.com/2019/09/24/i-wrote-a-book-docker-cookbook-second-edition/</link>
      <pubDate>Tue, 24 Sep 2019 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2019/09/24/i-wrote-a-book-docker-cookbook-second-edition/</guid>
      <description>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&amp;rsquo;t have a lot of free time to write a book.</description>
    </item>
    
    <item>
      <title>CashStar the early years</title>
      <link>https://www.kencochrane.com/2017/09/17/cashstar-the-early-years/</link>
      <pubDate>Sun, 17 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2017/09/17/cashstar-the-early-years/</guid>
      <description>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 years.</description>
    </item>
    
    <item>
      <title>Using Lambda to get a users Availability Zone list in Cloud Formation</title>
      <link>https://www.kencochrane.com/2017/03/29/using-lambda-to-get-azs-in-cloudformation/</link>
      <pubDate>Wed, 29 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2017/03/29/using-lambda-to-get-azs-in-cloudformation/</guid>
      <description>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 possible, to make your application better handle an outage if an AZ were to go down.</description>
    </item>
    
    <item>
      <title>My CloudFormation wish list</title>
      <link>https://www.kencochrane.com/2017/03/25/my-cloudformation-wishlist/</link>
      <pubDate>Sat, 25 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2017/03/25/my-cloudformation-wishlist/</guid>
      <description>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 helps guide their roadmap.</description>
    </item>
    
    <item>
      <title>5 Years at Docker</title>
      <link>https://www.kencochrane.com/2017/03/24/5-years-at-docker/</link>
      <pubDate>Fri, 24 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2017/03/24/5-years-at-docker/</guid>
      <description>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.</description>
    </item>
    
    <item>
      <title>Maine Companies to watch in 2017</title>
      <link>https://www.kencochrane.com/2016/12/30/maine-companies-to-watch-in-2017/</link>
      <pubDate>Fri, 30 Dec 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2016/12/30/maine-companies-to-watch-in-2017/</guid>
      <description>I live in Maine, it&amp;rsquo;s a great state for a lot of things, but running a business isn&amp;rsquo;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&amp;rsquo;t that many new companies that come along, so I&amp;rsquo;m always on the lookout for companies that are doing cool things. I like to keep an eye on their progress and try and help them out however I can, so that they can succeed and hopefully inspire other people to start more businesses in Maine.</description>
    </item>
    
    <item>
      <title>Understanding AWS Regions and Availability Zones in CloudFormation</title>
      <link>https://www.kencochrane.com/2016/12/16/understanding-aws-regions-and-availability-zones-in-cloudformation/</link>
      <pubDate>Fri, 16 Dec 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2016/12/16/understanding-aws-regions-and-availability-zones-in-cloudformation/</guid>
      <description>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.</description>
    </item>
    
    <item>
      <title>My work on Docker for AWS</title>
      <link>https://www.kencochrane.com/2016/12/15/my-work-on-docker-for-aws/</link>
      <pubDate>Thu, 15 Dec 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2016/12/15/my-work-on-docker-for-aws/</guid>
      <description>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, or how I was going to do it.</description>
    </item>
    
    <item>
      <title>I rebuilt my blog with hugo, and moved to netlify</title>
      <link>https://www.kencochrane.com/2016/11/20/i-rebuilt-my-blog-with-hugo-and-moved-to-netlify/</link>
      <pubDate>Sun, 20 Nov 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2016/11/20/i-rebuilt-my-blog-with-hugo-and-moved-to-netlify/</guid>
      <description>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&amp;rsquo;t like the look of my blog, and there were no good themes available on my old platform.</description>
    </item>
    
    <item>
      <title>Introducing Django Defender</title>
      <link>https://www.kencochrane.com/blog/2015/02/introducing-django-defender/</link>
      <pubDate>Sun, 15 Feb 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2015/02/introducing-django-defender/</guid>
      <description>Normally websites do very few logins, someone logs in once and their session is good for a bunch of hours. Since it&amp;rsquo;s a one time thing, it doesn&amp;rsquo;t matter if it isn&amp;rsquo;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 handles thousands of login attempts every minute, so any slow down in the login process has a large impact on our system.</description>
    </item>
    
    <item>
      <title>Uploading a Video to Facebook from AWS S3 using python</title>
      <link>https://www.kencochrane.com/blog/2015/02/upload-video-to-facebook-from-s3-using-python/</link>
      <pubDate>Sat, 14 Feb 2015 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2015/02/upload-video-to-facebook-from-s3-using-python/</guid>
      <description>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&amp;rsquo;m posting this here to help anyone else who is trying to do the same.
This code isn&amp;rsquo;t using any special facebook libraries it is just using normal python along with the requests library.</description>
    </item>
    
    <item>
      <title>The Docker Guidebook</title>
      <link>https://www.kencochrane.com/blog/2013/08/the-docker-guidebook/</link>
      <pubDate>Fri, 23 Aug 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2013/08/the-docker-guidebook/</guid>
      <description>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</description>
    </item>
    
    <item>
      <title>Running Docker on Digital Ocean with Ubuntu</title>
      <link>https://www.kencochrane.com/blog/2013/06/running-docker-on-digital-ocean/</link>
      <pubDate>Fri, 07 Jun 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2013/06/running-docker-on-digital-ocean/</guid>
      <description>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 worry about possibly breaking a production server.</description>
    </item>
    
    <item>
      <title>Getting Docker up and running on a RaspberryPi</title>
      <link>https://www.kencochrane.com/blog/2013/05/running-docker-on-a-raspberrypi/</link>
      <pubDate>Fri, 17 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2013/05/running-docker-on-a-raspberrypi/</guid>
      <description>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 on it.</description>
    </item>
    
    <item>
      <title>Upgrading the Ubuntu linux kernel on Rackspace cloud</title>
      <link>https://www.kencochrane.com/blog/2013/05/upgrading-linux-kernel-ubuntu-rackspace-cloud/</link>
      <pubDate>Sun, 12 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2013/05/upgrading-linux-kernel-ubuntu-rackspace-cloud/</guid>
      <description>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&amp;rsquo;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.</description>
    </item>
    
    <item>
      <title>Running Docker on Rackspace with Ubuntu</title>
      <link>https://www.kencochrane.com/blog/2013/05/running-docker-on-rackspace-cloud/</link>
      <pubDate>Sat, 11 May 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2013/05/running-docker-on-rackspace-cloud/</guid>
      <description>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&amp;rsquo;re in luck. I just spent the afternoon figuring out how to get it installed on Ubuntu 12.</description>
    </item>
    
    <item>
      <title>Intro to Python and Django Presentation</title>
      <link>https://www.kencochrane.com/blog/2013/02/intro-to-python-and-django-presentation/</link>
      <pubDate>Tue, 19 Feb 2013 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2013/02/intro-to-python-and-django-presentation/</guid>
      <description>I recently gave a talk at a DjangoMaine meetup introducing folks to Python and Django. There wasn&amp;rsquo;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 you would like to know more about.</description>
    </item>
    
    <item>
      <title>New Pelican Based Blog</title>
      <link>https://www.kencochrane.com/blog/2012/12/new-pelican-based-blog/</link>
      <pubDate>Sun, 09 Dec 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2012/12/new-pelican-based-blog/</guid>
      <description>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&amp;rsquo;t need the Django-admin features and I always felt it was a little overkill for my blog.
The second reason was because I wanted to host my blog contents on GitHub so that others could change/update/edit my blog posts and send me pull requests if they have something good to add.</description>
    </item>
    
    <item>
      <title>Deploying my Django application to dotCloud: Part 2</title>
      <link>https://www.kencochrane.com/blog/2012/03/deploying-a-django-application-on-dotcloud/</link>
      <pubDate>Fri, 23 Mar 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2012/03/deploying-a-django-application-on-dotcloud/</guid>
      <description>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&amp;rsquo;m going to completely rewrite the old blog post here, with updated information, and leave the old one around for posterity.</description>
    </item>
    
    <item>
      <title>I&#39;m now working for dotCloud</title>
      <link>https://www.kencochrane.com/blog/2012/03/im-now-working-for-dotcloud/</link>
      <pubDate>Fri, 23 Mar 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2012/03/im-now-working-for-dotcloud/</guid>
      <description>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 big for me.</description>
    </item>
    
    <item>
      <title>Running sentry on DotCloud</title>
      <link>https://www.kencochrane.com/blog/2012/01/running-sentry-on-dotcloud/</link>
      <pubDate>Sat, 28 Jan 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2012/01/running-sentry-on-dotcloud/</guid>
      <description>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 same error.</description>
    </item>
    
    <item>
      <title>The Developers Guide to PCI Compliant Web applications</title>
      <link>https://www.kencochrane.com/blog/2012/01/developers-guide-to-pci-compliant-web-applications/</link>
      <pubDate>Wed, 25 Jan 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2012/01/developers-guide-to-pci-compliant-web-applications/</guid>
      <description>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&amp;rsquo;t really know what that meant. Since we were building an ecommerce platform that was going to be accepting credit cards over the internet, I knew we needed to make sure we were fully PCI compliant.</description>
    </item>
    
    <item>
      <title>Getting DjangoCMS up and running on ActiveState&#39;s Stackato</title>
      <link>https://www.kencochrane.com/blog/2012/01/getting-djangocms-up-and-running-on-stackato/</link>
      <pubDate>Sun, 15 Jan 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2012/01/getting-djangocms-up-and-running-on-stackato/</guid>
      <description>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&amp;rsquo;ll just go through the steps that are required in order to get this up and running and add some comments along the way.</description>
    </item>
    
    <item>
      <title>Installing a Django application on Red Hat&#39;s OpenShift PAAS</title>
      <link>https://www.kencochrane.com/blog/2012/01/installing-django-application-on-openshift/</link>
      <pubDate>Sat, 14 Jan 2012 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2012/01/installing-django-application-on-openshift/</guid>
      <description>It seems like everyone has their own PAAS solution these days, and if they don&amp;rsquo;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 future, take that into consideration when using it as a guide.</description>
    </item>
    
    <item>
      <title>Installing DjangoCMS on Heroku in 13 easy steps</title>
      <link>https://www.kencochrane.com/blog/2011/12/installing-djangocms-on-heroku-in-13-easy-steps/</link>
      <pubDate>Sat, 31 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/12/installing-djangocms-on-heroku-in-13-easy-steps/</guid>
      <description>Do you want to use Django-cms on Heroku but don&amp;rsquo;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</description>
    </item>
    
    <item>
      <title>Installing DjangoCMS on dotCloud in 12 easy steps</title>
      <link>https://www.kencochrane.com/blog/2011/12/installing-djangocms-dotcloud-12-easy-steps/</link>
      <pubDate>Sat, 31 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/12/installing-djangocms-dotcloud-12-easy-steps/</guid>
      <description>Do you want to use Django-cms on dotcloud but don&amp;rsquo;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 project directory</description>
    </item>
    
    <item>
      <title>Standardizing Python WSGI deployment</title>
      <link>https://www.kencochrane.com/blog/2011/12/standardizing-python-wsgi-deployment/</link>
      <pubDate>Fri, 30 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/12/standardizing-python-wsgi-deployment/</guid>
      <description>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 without having to worry about managing a server or other typical system administration duties.</description>
    </item>
    
    <item>
      <title>Using New Relic with supervisord and gunicorn</title>
      <link>https://www.kencochrane.com/blog/2011/12/using-new-relic-with-supervisord-and-gunicorn/</link>
      <pubDate>Fri, 30 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/12/using-new-relic-with-supervisord-and-gunicorn/</guid>
      <description>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&amp;rsquo;t covered in the documentation is how to use new relic if you are using supervisord to control your gunicorn processes, and I&amp;rsquo;ll take this time right now to show you what I did.</description>
    </item>
    
    <item>
      <title>What are the best python companies to work for?</title>
      <link>https://www.kencochrane.com/blog/2011/12/what-are-the-best-python-companies-to-work-for/</link>
      <pubDate>Fri, 30 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/12/what-are-the-best-python-companies-to-work-for/</guid>
      <description>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&amp;rsquo;t a factor, what company would you work for and why? If you already work at one of these companies, can you share what it is you use python for, and what it is like working there?</description>
    </item>
    
    <item>
      <title>Developers guide to Running Django Applications on Heroku</title>
      <link>https://www.kencochrane.com/blog/2011/11/developers-guide-for-running-django-apps-on-heroku/</link>
      <pubDate>Wed, 30 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/11/developers-guide-for-running-django-apps-on-heroku/</guid>
      <description>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&amp;rsquo;s Cedar stack is still in beta, but that shouldn&amp;rsquo;t stop you from trying it out, and that is just what I&amp;rsquo;m going to do.
6 months ago I wrote a series of blog posts that reviewed all of the cool new django hosting services that were popping up.</description>
    </item>
    
    <item>
      <title>DjangoMaine.com - Django User group in Portland Maine</title>
      <link>https://www.kencochrane.com/blog/2011/09/djangomainecom-django-user-group-portland-maine/</link>
      <pubDate>Mon, 26 Sep 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/09/djangomainecom-django-user-group-portland-maine/</guid>
      <description>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&amp;rsquo;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.</description>
    </item>
    
    <item>
      <title>I&#39;ll never work for a big company again</title>
      <link>https://www.kencochrane.com/blog/2011/08/ill-never-work-for-a-big-company-again/</link>
      <pubDate>Wed, 31 Aug 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/08/ill-never-work-for-a-big-company-again/</guid>
      <description>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&amp;rsquo;t have any customer, or production support issues to slow us down.</description>
    </item>
    
    <item>
      <title>Introducing django-clickstream</title>
      <link>https://www.kencochrane.com/blog/2011/08/django-clickstream/</link>
      <pubDate>Fri, 12 Aug 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/08/django-clickstream/</guid>
      <description>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&amp;rsquo;s Java project of the same name. http://code.google.com/p/clickstream/
Requirements  Django 1.1 or newer Django sessions need to be enabled Django south 0.7 or newer for migrations  Settings Custom Settings Add the following properties to your settings file if you want to override the default settings.</description>
    </item>
    
    <item>
      <title>Setting up Django with Green Unicorn, nginx, supervisord and fabric on CentOS 5.5</title>
      <link>https://www.kencochrane.com/blog/2011/06/django-gunicorn-nginx-supervisord-fabric-centos55/</link>
      <pubDate>Mon, 27 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/06/django-gunicorn-nginx-supervisord-fabric-centos55/</guid>
      <description>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 while, but one thing I never really liked was the fact that I needed to run apache which is pretty heavy even when you strip out all the unused modules.</description>
    </item>
    
    <item>
      <title>Django Hosting Roundup: (Ep.io vs Gondor.io vs DotCloud vs Heroku vs AppHosted vs DjangoZoom) Who wins?</title>
      <link>https://www.kencochrane.com/blog/2011/06/django-hosting-roundup-who-wins/</link>
      <pubDate>Mon, 06 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/06/django-hosting-roundup-who-wins/</guid>
      <description>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 updated ep.io, gondor.io, and dotcloud.</description>
    </item>
    
    <item>
      <title>DjangoZoom.com Review</title>
      <link>https://www.kencochrane.com/blog/2011/06/djangozoom-com-review/</link>
      <pubDate>Sun, 05 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/06/djangozoom-com-review/</guid>
      <description>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&amp;rsquo;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 Labs space for startups in Cambridge, Massachusetts.</description>
    </item>
    
    <item>
      <title>AppHosted.com Django Hosting Service Review</title>
      <link>https://www.kencochrane.com/blog/2011/05/apphosted-com-django-hosting-review/</link>
      <pubDate>Wed, 18 May 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/05/apphosted-com-django-hosting-review/</guid>
      <description>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 for the short time I had to play with the new service.</description>
    </item>
    
    <item>
      <title>Django Job Opening @ CashStar.com (Portland, ME)</title>
      <link>https://www.kencochrane.com/blog/2011/05/django-job-opening-cashstar-portland-me/</link>
      <pubDate>Sun, 15 May 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/05/django-job-opening-cashstar-portland-me/</guid>
      <description>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, Coach, Starbucks, CVS, Chilis, Regal Cinemas, Pottery Barn, The CheeseCake Factory, Dell, Pizza Hut, and many more.</description>
    </item>
    
    <item>
      <title>Deploying my Django application to dotCloud</title>
      <link>https://www.kencochrane.com/blog/2011/04/deploying-my-django-application-to-dotcloud/</link>
      <pubDate>Tue, 26 Apr 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/04/deploying-my-django-application-to-dotcloud/</guid>
      <description>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.</description>
    </item>
    
    <item>
      <title>My Day in Gondor.io</title>
      <link>https://www.kencochrane.com/blog/2011/04/my-day-gondorio/</link>
      <pubDate>Fri, 22 Apr 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/04/my-day-gondorio/</guid>
      <description>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.</description>
    </item>
    
    <item>
      <title>My Experiences with ep.io</title>
      <link>https://www.kencochrane.com/blog/2011/04/my-experiences-with-epio/</link>
      <pubDate>Mon, 18 Apr 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/04/my-experiences-with-epio/</guid>
      <description>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 keeping it up and running isn&amp;rsquo;t fun.</description>
    </item>
    
    <item>
      <title>Restart Apache in Mac OS X</title>
      <link>https://www.kencochrane.com/blog/2011/04/restart-apache-mac-os-x/</link>
      <pubDate>Sat, 16 Apr 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/04/restart-apache-mac-os-x/</guid>
      <description>I always seem to forget this, so I&amp;rsquo;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  </description>
    </item>
    
    <item>
      <title>Upgrading MySQL 5.0.x to Percona MySQL 5.1.x RHEL5 or CENTOS 5</title>
      <link>https://www.kencochrane.com/blog/2011/04/upgrading-mysql-50x-percona-mysql-51x-rhel5-or-cen/</link>
      <pubDate>Thu, 14 Apr 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/04/upgrading-mysql-50x-percona-mysql-51x-rhel5-or-cen/</guid>
      <description>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&amp;rsquo;m assuming that you don&amp;rsquo;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 /tmp/downloads wget http://www.</description>
    </item>
    
    <item>
      <title>Django 1.3 has been released!</title>
      <link>https://www.kencochrane.com/blog/2011/03/django-13-has-been-released/</link>
      <pubDate>Wed, 23 Mar 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/03/django-13-has-been-released/</guid>
      <description>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/</description>
    </item>
    
    <item>
      <title>Upgrading Percona MySQL 5.0.x to Percona MySQL 5.1.x RHEL5 or CENTOS 5</title>
      <link>https://www.kencochrane.com/blog/2011/02/upgrading-percona-mysql-50x-percona-mysql-51x-rhel/</link>
      <pubDate>Tue, 15 Feb 2011 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2011/02/upgrading-percona-mysql-50x-percona-mysql-51x-rhel/</guid>
      <description>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&amp;rsquo;m assuming that you have the percona repo installed on your machine, if not see follow this link on how to set it up.</description>
    </item>
    
    <item>
      <title>Django 1.2 has been Released!</title>
      <link>https://www.kencochrane.com/blog/2010/05/django-12-has-been-released/</link>
      <pubDate>Mon, 17 May 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2010/05/django-12-has-been-released/</guid>
      <description>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.</description>
    </item>
    
    <item>
      <title>Django Project Release History</title>
      <link>https://www.kencochrane.com/blog/2010/05/django-project-release-history/</link>
      <pubDate>Mon, 17 May 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2010/05/django-project-release-history/</guid>
      <description>I was curious so I went ahead and found out all of the official Django. releases and when they were released and how long it took between each release.
There have been 7 major releases and 8 minor releases in the past 5 years. I wonder how this compares to other projects like Ruby on Rails.
Release # Date # of months since last release
Open Sourced Jul 15, 2005 n/a 0.</description>
    </item>
    
    <item>
      <title>Automated Install Script for memcached on RHEL5</title>
      <link>https://www.kencochrane.com/blog/2010/05/automated-install-script-for-memcached-on-rhel5/</link>
      <pubDate>Fri, 14 May 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2010/05/automated-install-script-for-memcached-on-rhel5/</guid>
      <description>I created this script that will download memcached build,install and set it up to start up automatically on reboot. It also installs the init.d script to manage memcache so you can restart etc.
You can either copy and paste it into your shell prompt using a user that has install privileges (root,admin,etc) or you can copy into a .sh file and execute it.
The code for most of this was take from this blog post: http://www.</description>
    </item>
    
    <item>
      <title>Installing Mercurial 1.5.1 on Red Hat Enterprise Linux 5 (RHEL5) using Python 2.5</title>
      <link>https://www.kencochrane.com/blog/2010/05/mercurial-1_5_1-on-rhel5-using-python2_5/</link>
      <pubDate>Thu, 13 May 2010 00:00:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2010/05/mercurial-1_5_1-on-rhel5-using-python2_5/</guid>
      <description>Installing Mercurial 1.5.1 on Red Hat Enterprise Linux 5 (RHEL5) using Python 2.5 My RHEL5 setup uses python2.5 which I compiled from source, since RHEL5 only comes with python2.4.
Because I didn&amp;rsquo;t use the built in python 2.4 version I couldn&amp;rsquo;t do the simple
$ yum install mercurial  Instead I need to build mercurial from source, which isn&amp;rsquo;t too bad. Just do the following.
as Root
$ wget http://mercurial.</description>
    </item>
    
    <item>
      <title>Introducing my new iPhone application Face Flip</title>
      <link>https://www.kencochrane.com/blog/2010/01/introducing-my-new-iphone-application-face-flip/</link>
      <pubDate>Mon, 18 Jan 2010 09:59:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2010/01/introducing-my-new-iphone-application-face-flip/</guid>
      <description>I have finished with my latest iPhone application and I have submitted it to Apple. I submitted it on Sunday 01/17/2010, and hopefully it will be approved by the end of the month. Normally it takes about 10-14 days for apple to approve apps but there have been recent reports that apps have been approved in as little as 2-3 days. I&amp;rsquo;ll keep my fingers crossed and post when I hear back.</description>
    </item>
    
    <item>
      <title>New TV Feature Request: Ability to set the channel order</title>
      <link>https://www.kencochrane.com/blog/2010/01/new-tv-feature-request-ability-to-set-the-channel-order/</link>
      <pubDate>Mon, 11 Jan 2010 11:37:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2010/01/new-tv-feature-request-ability-to-set-the-channel-order/</guid>
      <description>Recently I decided it was time to upgrade my aging 36&amp;rdquo; CRT television with a new HDTV. After doing a lot of research I narrowed down my requirements to the following:
At least 42&amp;rdquo;HDTVLow power consumptionAbility to hook up my Mac Mini so that I can watch internet TV (hulu, netflix, etc).LCD Flat panelDigital TV tuneUnder $800.00I looked around for a few months and finally ended up with a Vizio 42&amp;rdquo; Class Eco 1080p 60Hz LCD HDTV, model # VO420E , that I bought at walmart for $648.</description>
    </item>
    
    <item>
      <title>Django-Notification Creating Notice Types issues</title>
      <link>https://www.kencochrane.com/blog/2009/03/django-notification-creating-notice-types-issues/</link>
      <pubDate>Mon, 09 Mar 2009 11:03:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2009/03/django-notification-creating-notice-types-issues/</guid>
      <description>I was setting up Django-Notification for a project, and I was trying to create notice types like it mentions on their wiki . Their wiki says that you should add the following code to your management.py file in your app.
fromdjango.conf importsettings
fromdjango.db.models importsignals
fromdjango.utils.translation importugettext_noop as_
if&amp;ldquo;notification&amp;rdquo;insettings.INSTALLED_APPS:fromnotification importmodels asnotification
defcreate_notice_types(app,created_models,verbosity,*kwargs):notification.create_notice_type(&amp;ldquo;friends_invite&amp;rdquo;,_(&amp;ldquo;Invitation Received&amp;rdquo;),_(&amp;ldquo;you have received an invitation&amp;rdquo;))notification.create_notice_type(&amp;ldquo;friends_accept&amp;rdquo;,_(&amp;ldquo;Acceptance Received&amp;rdquo;),_(&amp;ldquo;an invitation you sent has been accepted&amp;rdquo;))signals.post_syncdb.connect(create_notice_types,sender=notification)else:print&amp;ldquo;Skipping creation of NoticeTypes as notification app not found&amp;rdquo;</description>
    </item>
    
    <item>
      <title>Plesk 8.6 cgi-bin trouble</title>
      <link>https://www.kencochrane.com/blog/2009/02/plesk-8.6-cgi-bin-trouble/</link>
      <pubDate>Thu, 26 Feb 2009 09:07:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2009/02/plesk-8.6-cgi-bin-trouble/</guid>
      <description>I recently worked on a project to quickly create a simple cgi-bin script to capture some data from a form on a mostly static website. The script was simple, take the data from the form, and send it via email. The script was written by a co-worker of mine using python. When we went to deploy the script on the server with Plesk 8.6, it was nothing but a pain in the butt.</description>
    </item>
    
    <item>
      <title>Google&#39;s Ajax Libary hosting, the New Web Tracker</title>
      <link>https://www.kencochrane.com/blog/2009/02/googles-ajax-libary-hosting-the-new-web-tracker/</link>
      <pubDate>Wed, 04 Feb 2009 21:05:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2009/02/googles-ajax-libary-hosting-the-new-web-tracker/</guid>
      <description>A little while ago, I noticed that Google started hosting the most common JavaScript libraries on their CDN. The project is called AJAX Libraries API , and it allows websites to reference these libaries instead of hosting the files themselves. Using a CDN to host your static files isn&amp;rsquo;t anything new, and it provides some nice side effects.
Less bandwidthLess space (every little bit helps)Global cachingIf everyone uses the same file it is more likely they already have the file cached from another site.</description>
    </item>
    
    <item>
      <title>100Boxes.com - Free Online Football Squares Pool Management</title>
      <link>https://www.kencochrane.com/2009/02/01/100boxes.com-free-online-football-squares-pool-management</link>
      <pubDate>Sun, 01 Feb 2009 12:52:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2009/02/01/100boxes.com-free-online-football-squares-pool-management</guid>
      <description>I would like to announce the release of a new project I have been working on. 100Boxes.com FREE online Football Squares Pool . I basically took the classic superbowl squares game, that is usually played with paper and spreadsheets and I put it online. I tried to make it as simple as possible for someone to manage their pool, and for people to buy their squares. I started the project pretty late in the season, and unfortunately didn&amp;rsquo;t release it in time for a good test group this year.</description>
    </item>
    
    <item>
      <title>Installing mod_python on Mac OS X Leopard (10.5.x)</title>
      <link>https://www.kencochrane.com/blog/2009/01/installing-mod_python-on-mac-os-x-leopard-10.5.x/</link>
      <pubDate>Fri, 23 Jan 2009 09:37:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2009/01/installing-mod_python-on-mac-os-x-leopard-10.5.x/</guid>
      <description>Apache2 comes pre installed on Mac OS X Leopard as does Python (2.5). But it doesn&amp;rsquo;t come with mod_python. Here is what you need to do to get it to work.
download the latest file from http://www.apache.org/dist/httpd/modpython/ I downloaded (mod_python-3.3.1.tgz)
$ tar xvzf mod_python-3.3.1.tgz
$ cd mod_python-3.3.1
$ ./configure &amp;ndash;with-apxs=/usr/sbin/apxs
Now we need to patch the make file so that it will work correctly. edit src/MakeFile

Add -arch x86_64 -arch ppc -arch i386 to the end of the LDFLAGS line.</description>
    </item>
    
    <item>
      <title>Django Query using value from another field in same table</title>
      <link>https://www.kencochrane.com/blog/2009/01/django-query-using-value-from-another-field-in-same-table/</link>
      <pubDate>Wed, 21 Jan 2009 13:19:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2009/01/django-query-using-value-from-another-field-in-same-table/</guid>
      <description>I came across a query that seemed like it should be pretty easy, but it wasn&amp;rsquo;t.
Suppose you have the following Model Class.
# pseudo code.
class Person(models.Model):
first_name = models.CharField()
last_name = models.CharField()
I would like the query to return all Person&amp;rsquo;s who have the same first_name and last_name
My first guess was to do the following.
person_list = Person.objects.filter(first_name=last_name)
but that doesn&amp;rsquo;t work because it wants to have last_name as a variable.</description>
    </item>
    
    <item>
      <title>Managing Django settings across multiple environments</title>
      <link>https://www.kencochrane.com/blog/2009/01/managing-django-settings-across-multiple-environments/</link>
      <pubDate>Sat, 17 Jan 2009 14:43:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2009/01/managing-django-settings-across-multiple-environments/</guid>
      <description>I don&amp;rsquo;t know about you, but when I typically work on a Django application I have at least two environments (Local and Production), and a lot of times I am working on these projects with at least one other person.
The way that django currently supports project settings is to have all settings in a settings.py file. This works fine if you are working by yourself in one environment, but once you add something else, it makes managing the settings a pain.</description>
    </item>
    
    <item>
      <title>django common commands</title>
      <link>https://www.kencochrane.com/blog/2008/05/django-common-commands/</link>
      <pubDate>Sat, 24 May 2008 22:09:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2008/05/django-common-commands/</guid>
      <description>I keep forgetting all of the different django commands so I am creating this cheat sheet for myself.
# start a new project
&amp;gt;&amp;gt;&amp;gt; django-admin.py startproject $mysite
# create a new site inside of a project
&amp;gt;&amp;gt;&amp;gt; python manage.py startapp $siteName
# start dev server
&amp;gt;&amp;gt;&amp;gt; python manage.py runserver
# sync the database with recent model changes.
&amp;gt;&amp;gt;&amp;gt; python manage.py syncdb</description>
    </item>
    
    <item>
      <title>iText HTMLWorker Style guide</title>
      <link>https://www.kencochrane.com/blog/2008/03/itext-htmlworker-style-guide/</link>
      <pubDate>Sun, 09 Mar 2008 17:40:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2008/03/itext-htmlworker-style-guide/</guid>
      <description>iText provides a way to convert HTML snippets to PDF using the HTMLWorker class. Unfortunately there isn&amp;rsquo;t much documentation on what you can do for styles. In order to figure this out I went through the source code. I&amp;rsquo;m putting it here so that I won&amp;rsquo;t have to do that again, and so that others will be able to gain something from my pain.
This is from iText 2.0.8
HTMLWorker supported tags &amp;ldquo;ol ul li a pre font span br p div body table td th tr i b u sub sup em strong s strike h1 h2 h3 h4 h5 h6 img&amp;rdquo;</description>
    </item>
    
    <item>
      <title>New version of CampRate.com is now Available</title>
      <link>https://www.kencochrane.com/blog/2006/04/new-version-of-camprate.com-is-now-available/</link>
      <pubDate>Sun, 23 Apr 2006 16:04:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2006/04/new-version-of-camprate.com-is-now-available/</guid>
      <description>I just released a new version of CampRate.com and here are some of the new features / changes.
I am about 90% finished with the new image uploader, it uses AJAX to make it look cool.. This just needs to be tested some more, and will be released when we finish with the new add/edit campground flow.95% finished with the PayPal upgrade. Just need to do some more testing. When complete, people can upgrade their listings to add new features using paypal.</description>
    </item>
    
    <item>
      <title>AJAX Struts File Upload Progress Meter</title>
      <link>https://www.kencochrane.com/2006/03/ajax-struts-file-upload-progress-meter/</link>
      <pubDate>Tue, 21 Mar 2006 09:25:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/2006/03/ajax-struts-file-upload-progress-meter/</guid>
      <description>** This Post is a work in progress, and is still being worked on, it hasn&amp;rsquo;t been edited yet, and may contain errors, use at your own risk **
Over the course of the last year or so I have been hearing a lot about AJAX, and how cool it is, and what neat stuff you can do with it. At first I wasn&amp;rsquo;t too impressed, mostly because I have heard it all before.</description>
    </item>
    
    <item>
      <title>Debian Package management</title>
      <link>https://www.kencochrane.com/blog/2005/11/debian-package-management/</link>
      <pubDate>Sun, 13 Nov 2005 13:23:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2005/11/debian-package-management/</guid>
      <description>Debian Package management
apt-get update
Run this after changing /etc/apt/sources.list or /etc/apt/preferences. (this debianhelp.org page is helpful); run it periodically anyway, to make sure your source list is up-to-date.
apt-get install packagename
installs a new package: rpm -i package.rpm
apt-cache search string
Searches for string in the list of known packages: like using rpmfind.
dpkg -l package-name-pattern
List packages matching pattern: rpm -q pattern or rpm -qa | grep pattern.</description>
    </item>
    
    <item>
      <title>CampRate.com  online campground directory with reviews</title>
      <link>https://www.kencochrane.com/blog/2005/06/camprate.com-online-campground-directory-with-reviews/</link>
      <pubDate>Sun, 12 Jun 2005 15:24:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2005/06/camprate.com-online-campground-directory-with-reviews/</guid>
      <description>Last summer a bunch of friends and I decided we would go camping. I have been camping before, when I was a kid, so I knew what I was getting myself into. First off I had to find out if I had all of the proper equipment. I found my Tent, sleeping bag, propane grill and some big blue tarps. Once I gathered all of my stuff and dusted it off, I needed to check with my friends to see if they had everything they needed as well.</description>
    </item>
    
    <item>
      <title>Getting WinCVS out of flat mode</title>
      <link>https://www.kencochrane.com/blog/2005/05/getting-wincvs-out-of-flat-mode/</link>
      <pubDate>Thu, 05 May 2005 12:58:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2005/05/getting-wincvs-out-of-flat-mode/</guid>
      <description>If you accidentally browse up to the root directory or some other level that is too large for WinCVS to initially deal with and you have the flat mode browser view toggle button of WinCVS on, WinCVS will freeze indefinitely. If killing it in Task Manager and restarting doesn&amp;rsquo;t fix your problem, you need to hack the registry.
Launch regedit (Start -&amp;gt; Run &amp;ldquo;regedit&amp;rdquo;) and browse to:
HKEY_CURRENT_USER/Software/WinCvs/wincvs/CVS settings
In CVS settings, find the variable P_DisplayRecursive in the right hand window.</description>
    </item>
    
    <item>
      <title>Commands I use, but often forget</title>
      <link>https://www.kencochrane.com/blog/2005/02/commands-i-use-but-often-forget/</link>
      <pubDate>Sun, 13 Feb 2005 20:58:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2005/02/commands-i-use-but-often-forget/</guid>
      <description>Importing (Restoring) Many MySQLDump Text Files:~ from a user (paraphrased): &amp;ldquo;If we have 100+ mysqldump .txt files, how can we easily import them all, in order to restore a database, without typing each file name in by hand? (i.e. from the shell prompt, piped to the mysql monitor:
 mysql mydb &amp;lt;&amp;gt;). Wouldn&amp;rsquo;t it be better for the script to write all the tables to one text sql file?&amp;rdquo;    =&amp;gt; I suppose the script could be rewritten, but it&amp;rsquo;s more flexible the way it is, considering that one can use the Linux shell prompt to do the same thing.</description>
    </item>
    
    <item>
      <title>Connecting to MySQL 4.1 with Old Libraries</title>
      <link>https://www.kencochrane.com/blog/2005/02/connecting-to-mysql-4.1-with-old-libraries/</link>
      <pubDate>Sun, 13 Feb 2005 20:49:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2005/02/connecting-to-mysql-4.1-with-old-libraries/</guid>
      <description>If you need to connect to a MySQL 4.1 Database using an old mysql library, you need to change the password for the user account that you want to connect with, so that it uses an old password. The new version of the database uses a different password algorithm which is much longer then the old version, which causes problems with the old library. To fix this you have to set the user password with the Old_password( ) function.</description>
    </item>
    
    <item>
      <title>Setting up Postfix (TLS) / Courier-IMAP (SSL) / MySQL / Postfixadmin</title>
      <link>https://www.kencochrane.com/blog/2005/02/setting-up-postfix-tls-courier-imap-ssl-mysql-postfixadmin/</link>
      <pubDate>Tue, 08 Feb 2005 09:37:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2005/02/setting-up-postfix-tls-courier-imap-ssl-mysql-postfixadmin/</guid>
      <description>This is an install guide for setting up a secure mail server using Postfix, Courier-IMAP, MySQL, and Postfixadmin on Debian Woody. Before we begin here are a few notes regarding how things are handled:  Virtual domains - All domains including the local domain are handled as virtual domains. This allows a central location for all mail. All interactions with the server are authenticated and encrypted using libsasl2 and TLS/SSL (Please see the packages section for what to install)  1.</description>
    </item>
    
    <item>
      <title>Integrating Apache 2.0.x and Tomcat 5.0.x with mod_jk on Mandrake Linux 10</title>
      <link>https://www.kencochrane.com/blog/2005/02/integrating-apache-2.0.x-and-tomcat-5.0.x-with-mod_jk-on-mandrake-linux-10/</link>
      <pubDate>Tue, 08 Feb 2005 09:21:00 +0000</pubDate>
      
      <guid>https://www.kencochrane.com/blog/2005/02/integrating-apache-2.0.x-and-tomcat-5.0.x-with-mod_jk-on-mandrake-linux-10/</guid>
      <description>When it comes to Linux, nothing comes easy for me, but I get it done. Tonight I tried to install the connector between Apache and Tomcat. I had basic instructions for that, and he even e-mailed me the required mod_jk.so file. Unfortunately, Mandrake 10 didn&amp;rsquo;t like it and I had to manually build it from the source. What a pain, but the instruction below helped quite a bit, I just had to install &amp;ldquo;autoconf&amp;rdquo; to get it to work.</description>
    </item>
    
  </channel>
</rss>