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.

2023


Analyze data with SQL window functions

We regularly use tools like PostgreSQL, Pandas, and Jupyter Notebooks to analyze data here at Caktus. Recently, we were reviewing North Carolina traffic stop data for the NC CopWatch project and had the opportunity to use PostgreSQL's window functions, which are helpful when aggregating data.

cover-begin-your-data-analysis-journey-pandas-and-seaborn.jpg

Begin your Data Analysis Journey with Pandas and Seaborn

Lately, there has been a lot of talk about scoring in the NBA because LeBron James surpassed Kareem Abdul-Jabbar with 38,390 career points. I have noticed that there is not much discussion about post-season scoring, so I searched for this dataset on Kaggle (nba_playoffs.csv) which contains the top 25 all-time post-season scoring leaders. Post-season scoring is its own beast. Since teams face one opponent multiple times in a row, they can better concentrate on the opposing team and its individual players, particularly star players. This results in improved defenses across the board. However, the post-season also means players improving their game. What is the result of improved defenses and players alike? Only elite players score consistently and thus, only the NBA's elite are on this list. This post will first examine the dataset using Pandas and then use Seaborn to graph such data.

cover-denormalization-json-fields-performance-boost.jpeg

Denormalization with JSON Fields for a Performance Boost

Erin Mullaney

What is Normalized Data?

In the early 2000s, I had a paper test that I gave to developer candidates. It was a single sheet that I printed out from Excel, in landscape, containing order data from a small fictional online bookstore. I asked each candidate to normalize the data from the spreadsheet by drawing and writing on a blank sheet of paper I provided.

cover-forging-new-path.png

Forging a New Path

I haven’t always been a Software Developer….Imagine that.

I spent 20 years in Corporate America where I took my career as far as I could without holding a college degree, so I’m definitely not green when it comes to work experience. What a stark difference from my past work experience and my current situation: the corporate world was a dog eat dog kind of world versus the collaborative nature of developing I’m in currently.

cover-fellowship-a-path-to-caktus.png

Fellowship: A Path to Caktus

Dmitriy Chukhin

During the past year, we’ve begun a new program for folks looking for training prior to beginning a career in web development. This program has paired Caktus with a local coding bootcamp to sponsor several students’ learning, and subsequently to continue our relationship with those students, which has led to a full-time position for several of them. Read below for details on how the fellowship has worked. Looking for more information about mentorship at Caktus? Check out A New Mentorship Program.

How to Automate Google Sheets to ODK Central

ODK is a popular tool for offline data collection with a thriving user community. Like a number of other offline data collection tools, it uses the XLSForm standard for authoring forms. While convenient to author and exchange, authoring the forms in Excel means each iteration of the form must be uploaded to the ODK Central server that distributes forms to mobile data collection applications, such as ODK Collect.

cover-back-day-bestie-beats.jpg

Back in the Day: BFF Music Bytes

Lindsey Ardrey
Kel Hanna

Back in the Day: BFF Music Bytes

Picture this: the year is 2003 and two young women are far from home. They're joining thousands of contemporaries in the pursuit of independence, education, and community. One of them hailing from the bluegrass state, the other from the Motown Records capital city of Detroit, both of them trepidatiously ready to call North Carolina home for the next nine months. Their hometowns couldn’t be more different, but one night after a full day of orientation, one of them spies the other reading a familiar book. Not only were books the key to her heart, but to see Harry Potter and the Order of the Phoenix in this Detroit girl's hands was nothing short of the magic infused within the book’s pages. From that moment on, she knew they would be the two best friends that anyone could have. And it was so.

cover-grab-good-book-and-put-some-music.jpg

Grab a Good Book and Put on Some Music

Lindsey Ardrey

It’s another collaboration Friday during this celebration of Black History Month with Caktus! Here is a list of books that team member Keanya Phelps read and loved, along with an accompanying soundtrack curated by Lindsey Ardrey.

cover-introduction-django-simple-history.jpg

An introduction to Django Simple History

Wouldn’t it be useful if we could document changes in our life and revisit them later at will? It would allow us to better analyze situations, remember what we were thinking, or help us remember how we got to our current state. Although no such tool currently exists for changes in life, one such tool does exist in Django. It is called django-simple-history.

cover-back-down-memory-lane-80s-jukebox-jam-session.jpg

Back Down Memory Lane: An 80's Jukebox Jam Session

Gather a group of friends and family, put on your dancing shoes, and flashback to the 80s with Keanya Phelps’ playlist. Enjoy a vibrant weekend, folks!