Python

2012


Planning Our First ShipIt Day at Caktus

I'm delighted to write that last Friday, we announced we'll be trying our first "ShipIt Day" at Caktus in October. ShipIt Days, also known as FedEx Days, provide a time for the team to set aside what occupies us most days—building fantastic web applications using Python and Django for our wonderful clients—and pick up something new or scratch an itch that's been bugging us for awhile. We got the idea from the book Drive by Daniel Pink, and it was also suggested independently by a number of team members.

cover-thoughts-after-attending-unicef-rwanda-mhealth-conference.jpeg

Thoughts after attending the UNICEF Rwanda mHealth Conference

This past July, I had the pleasure of attending the UNICEF Rwanda Conference in Kigali, Rwanda. The conferences focus was on developing a comprehensive eHealth suite for numerous nations to implement.

cover-announcing-new-service-training.jpeg

Django Training

Caktus is proud to announce that we are now offering Django training services. This new service includes both off and on-site training for you and your team to become a Djangonaut.

Karen Tracey to Deliver Keynote at DjangoCon Europe 2012

I am very proud to announce that Karen Tracey, Lead Developer at Caktus and Django Core Developer, will be delivering a keynote address at DjangoCon Europe next week. This will be Karen's first speech to the Django community, of which she has been an exemplary member since 2006.

Narrowing the Gender Gap in the Open Source community

Diversity is important in a workplace environment. Having different points of view from people with different life experiences brings creative new ideas and innovative solutions to the software development process. As a team of web developers that designs and builds custom web applications, creativity and gender diversity, I would argue, are closely tied and both crucial to the success of our projects.

Caktus seeking a Django Contractor

Nicole Mance Foster

I'm excited to announce that Caktus is looking for a developer to join our team on a contract basis!

We're looking for a strong software developer who enjoys working on a team and is excited to learn and experiment with new technologies. We do have a preference for local candidates, but will consider all submissions. Initial work will focus on maintaining small Django-powered websites. This position will involve managing existing Django projects, data modeling complex business ideas and deploying Django sites.

cover-caktus-sponsoring-pycon-2012.png

Caktus is Sponsoring Pycon 2012

George Saines

Caktus is sponsoring Pycon 2012 in Santa Clara, CA this coming weekend! Nearly the entire office will be attending this year's event, which means Mark, Caleb, Calvin, David, Karen, Dan, Tobias, Colin, Julia, Nicole and I will be on site contributing and learning with the rest of the Python community. Nicole and I will be in charge of manning the booth, and so if you managed to wrangle tickets to the sold-out event, we invite you to stop by our booth #213 and say hello! Also Karen, Mark and Calvin will be sprinting after the talks, working on Django and Python3 tickets.

Configuring a Jenkins Slave

We're pretty avid testers here at Caktus and when one of our Django projects required upgrading to Python 2.7, we also needed to upgrade our Jenkins build environment. Luckily, Jenkins supports distributed builds to allow a master install to delegate tasks to slaves instances. This way we can continue to run our primary build system on Ubuntu 10.04, which defaults to Python 2.6, and delegate tasks to an Ubuntu 11.04 environment running Python 2.7. The setup is fairly easy, but since I didn't find much out there already, I figured I write up a quick post outlining what we did.

2011


Class-based views in Django 1.3

Dan Poirier

Django class-based views


Introduction

Django 1.3 added class-based views, but neglected to provide documentation to explain what they were or how to use them. So here's a basic introduction.

OpenBlock Geocoder, Part 3: External Geocoders

The OpenBlock geocoder is powerful and robust. It uses PostGIS for spacial queries, can extract addresses from bodies of text, and can understand block and intersection notation. We've run into a few issues with it, however, including a low geocoding success rate. This is a tough problem to solve and depends on a lot of factors (the extent of street and block data in OpenBlock, format of the street addresses, etc.), so your mileage may vary. Below I constructed a simple test using Google's Geocoding API to have as an alternative.