Caktus Blog

Insights and strategies from a team recognized at Python and Django conferences worldwide since 2009. The Caktus Blog is your space for practical how-to’s, real-world solutions, and expert advice on building better user experiences, strengthening quality assurance, solving deep and complex Python/Django problems, and managing projects that deliver impact. Whether you’re refining a UI or prepping for launch, join us to learn, level up, and lead with confidence.

2020


cover-usekeypress-hook-react.png

Build a useKeypress Hook in React

Michael Ashton

One of the great patterns to come out of React 16.8 is composable hooks. Using React's built-in hooks such as useState and useEffect, we can encapsulate and modularize bits of functionality — almost the same way we create reusable components. In this article we're going to throw together a quick hook that registers an event listener on a keypress and performs an action. Nothing fancy, but it's a nice abstraction that makes it a lot easier to add some nice power-user features to your app.

cover-how-schedule-tasks-using-celery-beat-container.jpg

How to Schedule Tasks Using Celery Beat in a Container

Dan Poirier

When running services in a container, changes to files can be discarded at any time, but the Celery beat default scheduler keeps its state in a file.

cover-how-use-kubernetes-azure-cloud-computing.png

How to Use Kubernetes on Azure for Cloud Computing

For the Review, Appraisal, and Triage of Mail (RATOM) project, funded by the Andrew W. Mellon Foundation, we were tasked with deploying to a Microsoft Azure environment. More details about the project are in our first blog post in this Learn With Us blog series. Caktus has experience with Amazon Web Services (AWS) and Google Cloud, but we hadn't had the opportunity to use Azure yet, so we looked forward to the opportunity to use that environment and document our experience. The entire deployment process is available on GitHub as a reference under the StateArchivesOfNorthCarolina/ratom-deploy repository.

cover-quick-guide-generating-fake-data-with-pandas.png

A Quick Guide to Generating Fake Data with Pandas

Erin Mullaney

Last August, our CTO Colin Copeland wrote about how to import multiple Excel files in your Django project using pandas. We have used pandas on multiple Python-based projects at Caktus and are adopting it more widely.

cover-caktus-hosts-first-pitch-competition-winner-receives-300-hours-project-time.png

Caktus Hosts First Pitch Competition: Winner Receives 300 Hours of Project Time

Elizabeth Michalka

We recently hosted the first Caktus Pitch Competition: Building Tech for Good, which aimed to draw out innovative ideas and help make them a reality. While any web development ideas were welcome, preference was given to projects serving the public good.

cover-email-extract-data-microsoft-pst-files.png

What to do About Email: How to Extract Data from Microsoft PST Files

Jeremy Gibson

In my previous line of work as an archivist, the question of what to do about email archives was an ongoing and deeply-considered topic. Email is everywhere. Yes, even Gen Z and millennials use it, despite thousands of think pieces that would have you believe that the old ways are giving way to business meetings conducted on fixed-gear bicycles, over avocado toast and Instagram.

cover-sub-account-amazon-web-services.jpg

Creating a Sub-account in Amazon Web Services

Dan Poirier

Anytime we host resources for a client within the Caktus Amazon Web Services (AWS) account, we set up a sub-account and put the resources there. Some of the advantages of doing this compared to putting a client's resources in our main account are:

cover-docker-image.jpg

How to Use the "docker" Docker Image to Run Your Own Docker daemon

There exists on Docker hub a Docker image called docker. It also has two flavors, "stable" and a "dind" (Docker-in-Docker). What is this image for and what is the purpose of these two different image tags?

cover-vue-or-react-how-choose.png

Vue or React: How to Choose?

Christopher Dixon
Dmitriy Chukhin

Across industries and sectors, we have become accustomed to seeing great rivalries that drive further innovation and competition. In the early days of car manufacturing, we had Ford and Chevy. In the early days of beverage and bottling, we had Coca-Cola and Pepsi. And today in front-end software development, we have Vue and React. As a framework and a library, respectively, both single page applications (SPAs) are tackling Document Object Model (DOM) Manipulation in markedly improved ways from their predecessor JQuery; with the added benefit of offering state management and code-splitting up front. However, as Django developers, we often struggle to decide between these two titans when choosing a front-end for our Django REST Framework (DRF) APIs. In writing this blog post, we hope to alert you to some of the key distinctions between Vue and React, as well as some of their similarities, before you move forward with either for your team.

cover-top-19-blogs-2019.png

Our Top 19 Blogs of 2019

Elizabeth Michalka

During the last year we gave our popular technical blog an official name: Developer Access. We published 32 posts on the blog, including technical how-to’s, conference information, web development best practices and detailed guides. Among all those posts, 19 rose to the top of the popularity list (based on total pageviews):