One advantage of having my own personal api
is that I can put various useful scripts under a single repo and have them run.
I have been using raindrop
for several years, to collect bookmarks to read later.
Often, while researching things, it would be useful to automatically group things into collections, so I wrote some celery tasks to help with this.
Read More →
I have long been inspired by Aaron Pareki
and his pk3
tool for his website.
With some searching, one can find other kinds of personal management systems
on GitHub or other developers writing about their own personal api
with links to other examples.
As a developer myself, I have my own personal API that I am able to add to as wanted.
In the interest of choosing boring technology
my personal api is powered primarily by django
and celery
.
Read More →
Django comes with support for MIDDLEWARE
and provides several useful ones by default.
I usually try to make my projects as useable as possible, and some debug middleware is only useful when development.
Example Middleware
Since the order and layering
often matter, I’ll usually configure all my optional middleware in the correct spot like bellow, with a short comment.
MIDDLEWARE = [
"debug_toolbar.middleware.DebugToolbarMiddleware", # Only enabled for debug
"django.middleware.security.SecurityMiddleware",
"whitenoise.middleware.WhiteNoiseMiddleware", # Used primarily for docker
"django.middleware.locale.LocaleMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
]
Then I’ll use other conditional checks to see if this list (or other variables) need to be modified.
Read More →
I’ve been using hugo
for my blog for a while, and while I appreciate being able to write posts in anything that supports Markdown, I’ve never enjoyed making sense of their template system. My site curently uses a fork of hugo-bootstrap
(to fix minor bugs) with some other customizations from hugo-worklog
that I wrote.
Ideally I would like a system where I can use django
for the site, but maintain the same editing flow I have for my current site.
Read More →
Our goal when packaging up a Django application, is that we can use it as part of an existing application, or we can run it by itself in a standalone mode. To this end, I have over time, started to package my django applications in the following way. You can see diffs of all the commits
in the example-django
repository.
Start with a Makefile and setup files
Instead of using tools like Poetry
and Pipenv
, I find it easier to just create a basic Makefile to use as the entrypoint.
Read More →