What's new in Django community blogs?

Deep dive: Django Q and SQS

March 20, 2023 » Screaming At My Screen » [Archived Version]

When working on a Django application the de facto recommendation for a task queue is Celery. I believe this is a good recommendation. It is kind of like buying IBM - “no one was ever fired for buying IBM”. I started using Django Q more recently and it is doing a great job. One system I built using it processes roughly 400k tasks per day. Surely not the largest system and surely not the most impressive number, but decent enough to say that Django Q is a solid choice. But as with many smaller pr…

Read More

Deploying Django at small scale

March 20, 2023 » Screaming At My Screen » [Archived Version]

It feels like common knowledge and an accepted fact that you want to run PostgreSQL in production. And have some sort of load balancer to be able to scale your application server horizontally. Throw in Redis for caching and you have the most generic web application stack I can come up with. At scale this makes a ton of sense. It is a battle tested stack, that will most likely not fail you and if it does, there are tons of resources on how to fix it. Those are a lot of moving parts you want to k…

Read More

Security 101: Securing file downloads

March 20, 2023 » Screaming At My Screen » [Archived Version]

One of the most common way to handle user uploaded content is persisting the data to disk, or uploading it to an object store like AWS S3. Serving the content back to the user (or others) often is handled by returning the URL to the file. What is oftentimes missing is proper authentication and authorization, as engineers seem to believe no one will leak URLs, run enumeration attacks or simply try random strings. This is not just a data breach waiting to happen, it is one happening way too often…

Read More

Single host Django and Docker deployment

March 20, 2023 » Screaming At My Screen » [Archived Version]

One of the best ways to deploy a Django project while maintaining some sanity is Docker. A single, beefy VM or bare metal host will likely bring you a long way when just starting a new project or while working on a side project that does not have to scale to infinity and beyond. Usually you build a Docker image, upload it to a container registry and deploy from the registry. This results in a few more moving parts than I am okay with for a quick side project or something small (like this blog).…

Read More

Caching and Django Rest Framework

March 20, 2023 » Screaming At My Screen » [Archived Version]

One of my current projects involves an API. Not surprising in the year 2023. During business hours data is primarily read. Payloads are large and the underlying data model is as complex as it needs to be. Lots of data and a complex data model is usually a good way to make sure your API is slow. And this project was no exception. While there are many different ways how you can approach this, I opted for the one with the smallest change to the codebase possible and the least amount of change requ…

Read More

What's This About?

March 19, 2023 » Better Simple » [Archived Version]

This post doesn’t contain any technical details. It’s about my background and recent history. I want to tell you about these things so that you can better understand me. Feel free to skip it if you’d like or rage at my entitlement. I went to school at a small midwestern school for my Bachelors degree in Computer Engineering. While it was interesting and mostly enjoyable, I truly learned the most from my internship at Direct Supply. I was hired on as a software engineering intern the summer bet…

Read More

Project - Daily and Weekly Goals

March 19, 2023 » Better Simple » [Archived Version]

Over the past few weeks I’ve been doing a lot of self reflection. One thing that came out of it was the realization that I am currently operating without any goals. I had to-do lists for clients and projects, but no real goals to help myself grow. To rectify this, I decided that I should create daily and weekly goals. Daily Goals: Help someone on the #django channel Solve one Project Euler question Make one commit to public project Come up with one app or business idea Make Emily s…

Read More

Project - Craigslist Project Finder

March 19, 2023 » Better Simple » [Archived Version]

As I mentioned in another post, I use Craigslist for finding some of my work. This post explains what I’ve done to make my project searches more efficient. I look at three sections on an individual cities Craigslist page, “software / qa / dba”, “web / info design” under jobs and “computer” under gigs. I chose these because they are where I have found most of my projects. I used to check “internet engineers,” but found that my target market didn’t post under that section often. And if there wer…

Read More

New Site - Jekyll and Hyde

March 19, 2023 » Better Simple » [Archived Version]

Like a classic developer’s blog, I’m back after a multi-year hiatus. Hopefully this time I’ll keep this up to date more frequently. Somethings that I’d like to discuss in the future are: My history as a freelancer. How to breakdown work. What I call “Unsung Developer Thoughts”, the internal questions and considerations senior developers run through for new work. My experience at DjangoConUS 2022. Breaking down my Django Debugging Tutorial into particular posts. If you’d like to he…

Read More

How to have a great DjangoCon

March 19, 2023 » Better Simple » [Archived Version]

There are resources for how to have a positive experience at a DjangoCon as a first time attendee. The difference with this one is that I’m writing it as a part of my first DjangoCon experience. Before I get into, here’s my current background. I mention it because it influences my decision making, risk analysis and goals. I’m 32, male, white, married, happily employed, well paid, childless, an irregular open source committer and responsive on the Django forum and discord. You, the reader, m…

Read More