Software Development

General software development tools and principals applicable to building any application.

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
toddJan 15
Jan 08
Read

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
toddJan 15
Jan 05
Read

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
toddJan 15
Dec 19
Read

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
toddJan 15
Nov 29
Read

MongoDB Cloud: "Backend as a Service" with Atlas & Stitch

MongoDB's silent transformation from an open-source database to enterprise cloud provider

Unless you've been living under a rock (or only visit this site via work-related Google Searches, like most people) you've probably heard me drone on here and there about MongoDB Atlas and MongoDB Stitch. I even went so far as to hack together an awful workflow that somehow utilized Tableau as an ETL tool to feed JIRA information into Mongo.

NoSQL Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddJan 15
Nov 15
Read

Structuring your Flask App Like a Responsible Adult

Leverage Blueprints, Flask-Assets, and the Application Factory.

When we first started developing in Flask, most of us took the 5 lines of code in the quick-start guide and ran with it. Compared to every other web framework, getting a "Hello world" to flash on screen without being hassled with database configurations, template preferences, or reverse proxy setups felt a lot like robbing a bank.

At some point

Flask Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddJan 15
Oct 15
Read

Compile Frontend JavaScript with Babel and Gulp

Using ECMAScript functions on the frontend the quick and dirty way.

As you may have already deduced from the occasional glaring holes in my programming knowledge, I haven’t spent as much of my life programming than, well, anybody who haphazardly threw away an 8-year product management career. Apparently, a lot can happen in 8 years... especially when it comes to JavaScript.
Putting aside that whole server-side  NodeJS thing or whatever

JavaScript Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddJan 15
Oct 06
Read

Flask Routing & Sessions: A Subtle Symphony

With great flexibility comes great responsibility

It isn't often you find somebody sad or miserable enough to detail the inner workings of web framework features, such as sessions or routing. This is understandably so; we use frameworks because presumably hate dealing with these things from scratch. This is especially so when it comes to Flask, which only released version 1.0 a few months ago, introducing

Flask Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddJan 15
Sep 19
Read

Recreate JIRA Service Desk in Python & Flask

When SaaS doesn't cut it, beat it down and take everything its got

When it comes to SaaS products in the realm of Service desks, JIRA Service Desk is at the very least, just as powerful as the next solution (Zendesk comes to mind). This naturally begs the question: Why is JIRA Service Desk's pricing model roughly 1/10th of that of it's competitor?

The answer lies within ease of use, but more

Atlassian Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddJan 15
Aug 31
Read

The End-to-End Guide to Handling Forms in Flask

The subtle art of consenually capturing personal data

Happy Tuesday everybody! To start this week hot, let's talk about something that everybody hates: forms. The only thing more painful than filling out a web form is creating one, much less a functional one with feedback. Listen, if you're into creating pleasant form UI experiences, you're probably into some freaky shit. Call me.

Flask's youth is an advantage in

Flask Todd Birchard avatarTodd Birchard Todd Birchard avatar
toddJan 15
Aug 15
Read