Todd Birchard's' avatar

Todd Birchard

Product manager turned engineer with an ongoing identity crisis. Breaks everything before learning best practices. Completely normal and emotionally stable.
Pythonic Database Management with SQLAlchemy

Pythonic Database Management with SQLAlchemy

The iconic Python library for handling any conceivable database interaction.

Something we've taken for granted thus far on Hackers and Slackers is a library most data professionals have accepted as an undisputed standard: SQLAlchemy.

In the past, we've covered database connection management and querying using libraries such as PyMySQL and Psycopg2, both of which do an excellent job of interacting with databases just as we'd expect them to. The nature

Read
Poetically Packaging Your Python Project

Poetically Packaging Your Python Project

Manage your projects with Poetry to handle dependencies, envs, packaging, etc.

It wasn't long ago that we Hackers were singing the praises of Pipenv: Python's seemingly superior dependency manager at the time. While we hold much love in hearts, sometimes there is love to go around. We just so happen to be fair weather fans, which reminds me: what has Pipenv done for me lately?

As you've probably guessed (considering its

Python Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddFeb 23
Jan 08
Read
Using Redis to Store Information in Python Applications

Using Redis to Store Information in Python Applications

A temporary data store for everything from session variables to chat queues.

We're hacking into the new year strong over here at Hackers and Slackers, and we've got plenty of new gifts to play with in the process. Nevermind how Santa manages to fit physically non-existent SaaS products under the Christmas tree. We ask for abstract enterprise software every year, and this time we happened to get a little red box.

If

NoSQL Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddFeb 23
Jan 05
Read
Tableau's REST API: Turning Tableau into an ETL Pipeline GUI

Tableau's REST API: Turning Tableau into an ETL Pipeline GUI

Organizing a heist on Tableau Server to reclaim workbook data.

There's nothing I love more than exposing expensive enterprise software.

It may not seem obvious, but most SaaS products have an underlying core goal: shackle businesses to depend on proprietary, closed-source, costly software. When you pair a surplus of money with a reluctance to work, you've arrived at Corporate America: a prime victim yearning to marry itself to any vendor

Tableau Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddFeb 23
Dec 29
Read
Cracking Full Control Over Plot.ly Dash

Cracking Full Control Over Plot.ly Dash

Build apps with Plot.ly Dash on your own terms

Ahh, Plot.ly; typing that name into a post headline triggers an emotional cocktail of pride and embarrassment. Over the years Plotly has been at the core of some of the most influential products I’ve worked on: a hodgepodge of Fintech and humanitarian clients, all of which are still proudly waving their charts and dashboards around the world. Yet,

Plotly Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddFeb 23
Dec 20
Read
Globally Accessible Variables in Flask: Demystifying the 'Application Context'

Globally Accessible Variables in Flask: Demystifying the 'Application Context'

Breaking down the nuances of the ‘app context’ in Flask's Application Factory.

A 'skill' that's always fascinated me is just how long some engineers can make it in their career while carrying glaringly obvious gaps in their knowledge of the systems they use every day. To my surprise, I've turned corners where I myself have been that engineer all along, and there's perhaps no better example of this then the time I've

Flask Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddFeb 23
Dec 19
Read
Geocoding Raw Datasets for Mapbox

Geocoding Raw Datasets for Mapbox

Make sense of unstructured data with enough precision to put it on a map.

This wouldn't be a proper data blog unless we spend a vast majority of our time talking about cleaning data. Chances are if you're pursuing analysis that's groundbreaking (or worthwhile), we're probably starting with some ugly, untapped information. It turns out Mapbox has an API specifically for this purpose: the Mapbox Geocoding API.

Geocoding is a blanket term for turning

Data Vis Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddFeb 23
Dec 18
Read
Complex Features in MongoDB Cloud: Add Image Tags with AI

Complex Features in MongoDB Cloud: Add Image Tags with AI

Using functions, webhooks, and values to utilize external APIs.

Friends, family, and most importantly, strangers: I approach you today with a tale of renewed inspiration. After loudly broadcasting my own confusion and mediocre ability to actually implement an effective cloud via MongoDB Stitch, my ineptitude has been answered with an early Christmas gift.

My incessant complaining gained some acknowledgement from a couple of folks over at MongoDB. Perhaps the

NoSQL Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddFeb 23
Dec 14
Read
Geographic Data Visualization with Mapbox

Geographic Data Visualization with Mapbox

Visualizing Geodata with Mapbox's API and Tools.

There's a trend among those using Jupyter Notebooks (or equivalent) which leads me to believe humanity is coming to an important realization: Google Maps, as an API is expensive.

Regardless if Google maps is embedded as a consumer-facing widget, or part of a routine data-pipeline, a single surge of high-traffic can leave enterprises with price tags in the hundreds of

Data Vis Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddFeb 23
Dec 11
Read
The Many Faces and Filetypes of Python Configs

The Many Faces and Filetypes of Python Configs

Cleverly (or uncleverly) configure your Python project using .ini, .yaml, or .env files.

As we cling harder and harder to Dockerfiles, Kubernetes, or any modern preconfigured app environment, our dependency on billable boilerplate grows. Whether or not that is a problem is a conversation in itself. The longer I keep my projects self-hosted, the more  I'm consumed by the open-ended approaches people take to manage their project configuration variables.

Full disclosure here: this

Python Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddFeb 23
Nov 29
Read