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-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):

2019


cover-single-page-application-rest-abstraction.jpg

Single Page Application + REST as an Abstraction: The Benefits of Decoupling Your Front & Back Ends

Michael Ashton

Monolithic, consolidated applications are not bad. These are your Rails apps, your Django apps, etc. — the ones where your server sends back HTML and assets. You’ve faithfully followed the Model-View-Controller (MVC) pattern as best you can and your concerns are “separated.” This design principle is not passé. It just so happens that for a long time, it was your only option.

cover-last-minute-tech-gifts.png

20 Last-Minute Gift Ideas for the Techie on Your List

Elizabeth Michalka

‘Tis the season for giving, but it can be difficult to find the perfect gift for the special techie in your life. Whether you’re looking for something fun and quirky or something more challenging, here are 20 unique gift ideas from our technical team:

cover-development-patterns-vuejs-and-drf.jpg

One Team’s Development Patterns With Vue.js and Django REST Framework

Dmitriy Chukhin

Within the past year, my development team at Caktus worked on a project that required a front-end framework to build a fast, easy-to-use product for a client. After a discussion of frameworks such as React, Vue, and Angular, and their approaches, our team settled on using Vue.js, along with a Django back-end with Django REST Framework (DRF). Initially, we chose Vue because we were more familiar with it, rather than its current competitor React, but as we worked on the product, we ended up having a number of team discussions about how to organize our code well and avoid extra code debt. This blog outlines some of the development patterns we chose as we worked through a number of issues, such as simplifying a multitude of almost identical Vuex mutations, finding a consistent way of holding temporary state, and working with nested objects on the front-end and back-end.

cover-all-things-open.png

All Things Open 2019 Recap

Dmitriy Chukhin

I recently attended All Things Open in Raleigh. Bringing together more than 4,000 attendees, it is the largest open tech event on the East Coast, and is focused on “exploring open source, open tech, and the open web.” This year, ATO included more than 240 sessions across 22 tracks, ranging from front-end development to internet-of-things to studies of open data in government. The event was much larger than the last time that I attended in 2017.

cover-internship-full-time-tech-job.jpg

Internship Bridges Gap to a Full-Time Tech Job

Christopher Dixon

I recently completed a three-month internship with Caktus Group. This is a major accomplishment for me because two years ago, to the day, I was working as a consultant in the education services industry. I was inspired to pursue a career in web development after I came across a six-month course teaching full-stack Javascript. In sharing my experience, I hope to shed light on what it’s like working as an intern at Caktus, and give professionals looking to transition into web development some advice that may be useful once they land an entry-level position. In general, my experience felt a little like this: