Colin Copeland

Colin co-founded Caktus in 2007. As Chief Technical Officer, he helps ensure that Caktus remains at the forefront of the open source community. He regularly implements services and products to better serve clients. He loves coding and still actively works on client projects, often as lead developer.

A proponent of automated testing and continuous integration, Colin is always researching best practices and creating efficiencies to improve deployment processes and provide outstanding support for Caktus clients. He particularly enjoys working on social innovation projects, some of which he’s become involved with through Code For Durham, a civic hacking brigade, which he helped to found around 2013.

One of Colin’s favorite, long-term projects was building the Open Data Policing NC website for the Southern Coalition for Social Justice, which displayed North Carolina police stop data. As a result of the project, Colin was invited to the White House Police Data Initiative in 2016 to share his ideas on how to ensure law enforcement transparency and accountability. In 2020-2021, Colin worked to relaunch the Open Data Policing NC website as NC Cop Watch. It draws on public records to publish up-to-date stop, search, and use-of-force data — broken down by race and ethnicity.

When Colin isn’t working on client projects, he continues to be motivated by volunteering through Code for Durham. He also enjoys baking, playing piano, and spending time with his family.

Hear more about Colin, his background, and his interests in this Modern CTO podcast and the DjangoChat podcast. You can also connect with him on GitHub, LinkedIn, and Twitter.

2013


Caktus is hiring a Design Visionary and User Experience Virtuoso with a Knack for Coding

Do your mornings usually consist of reading design blogs and drinking coffee? Are you obsessive about fonts? Are you constantly seeking out new inspiration to make your designs better? As a Front-End Developer + Designer at Caktus, you’ll be able to put your passion for design and development to work by creating beautiful designs for complex websites. You will work closely with clients to bring their visions to life and help lead the branding and design process. Our designers take ownership of the user experience and design process from the beginning and collaborate with our development team to implement the vision. You should be passionate about the open source community and the philosophy behind it. If you’re interested in becoming part of and contributing to a creative, dynamic team, here’s an idea of what you’ll do:

AngularJS to PyGame: Caktus’ 2nd ShipIt Day

We had our 2nd ShipIt Day at Caktus last week. ShipIt (coined by Atlassian), in case you don’t know, is an exercise that allows your team to work on alternative projects in a 24-hour hackathon. We brainstorm ideas related to Caktus, break into small groups and try to build a project by the end of the day on Friday. It’s a lot of fun and provides an opportunity to work on internal tools, try something new and collaborate together. \

cover-caktus-sponsoring-and-speaking-mobile-health-switchpoint-2013.jpg

Caktus sponsoring and speaking on mobile health at SwitchPoint 2013

SwitchPoint is a one-of-a-kind conference and a unique opportunity to learn, share ideas, and hear about global and mobile health efforts around the world. We had a great time at SwitchPoint last year. I’m excited to announce that Caktus, for the second year in a row, is sponsoring [SwitchPoint 2013]{style=“color: rgb(17, 85, 204);”}.

cover-raspberry-io-announced-pycon.png

Raspberry IO announced at PyCon

PyCon is one of our favorite conferences here at Caktus. We’ve been attending for the past 4 years now and it is amazing to see how much the community has grown. This year is especially special because Jesse Noller and the Python Software Foundation (PSF) came to us to help them build Raspberry IO. The site features work from the Python community and their adventures in using Raspberry Pi with Python.

2012


cover-project-mwana-featured-bbc.jpg

Project Mwana featured in the BBC

Caktus has had the opportunity to work on the infrastructure of RapidSMS, an application framework that allows data collection and logistics coordination using mobile phone text messages for communication. The BBC World News recently posted an article, "RapidSMS: Saving a life in 160 characters" detailing the effects of RapidSMS technology is having on HIV/AIDS treatment in the developing world. The article focuses on work being done to combat the HIV/AIDS epidemic in Malawi where there is one of the highest rates of infection in the world.

cover-caktus-team-members-presenting-djangocon-2012.jpg

Caktus Team Members Presenting at DjangoCon 2012

Caktus is proud to announce that four of our developers will be presenting at this year’s DjangoCon. We are also happy to announce that we will be sponsors of DjangoCon, taking place in Washington D.C. on September 4th through the 7th. In addition to the four Caktus team members who will be presenting this year, our entire development staff will be in attendance enjoying the conference and city.

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.

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


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.