Weekly Notes - 2023-03-04 to 2023-03-10

 · 5 min read
 · Dan Sloan
Last updated: March 28, 2024
Table of contents

Trying out the “weeknotes” idea

I’m giving weeknotes a try - for a few reasons: * It helps me to get back to actually writing stuff, and getting in the habit of writing down thoughts and experiences. * Since I’ve mostly quit social media, it gives me a place to write up things I might once have posted to the ~~bird~~ hell site. * It serves as a good self-accountability tool, to keep track of what I’ve actually done. * It gives me a place to write stuff that sits in a gap between little ‘Today I learned’ articles and big idea ‘Musings’.

This one is a big one since it’s the first, and it has coincidentally been a really busy week.

I can imagine I’ll be inconsistent in writing these, although if I can automate it enough it could become easier…hmmmmm….weekend projects…

Travel

The last few years have been pretty challenging. Mental health issues even before COVID, physical health issues, family troubles, it’s been…a lot.

I haven’t gotten on a plane for about three and a half years, but I finally headed off from Australia, back to Bali again for a friend’s birthday, amongst other things.

I’m also hoping to get over to Europe for summer and attend DjangoCon Europe for the first time. It’s a bit tricky schedule-wise (not to mention how damn expensive it is), but I’m trying to find a way to make it work…

Blog site software

Without ever having actually used it for this site, I decided to ditch Hugo and replace it with Pelican. Not a big deal since I’d spent basically no time at all customising Hugo or setting anything up. As to why - I just wanted to be using something python based.

Pelican is…interesting. It’s not as polished as Hugo, but leans more toward the basic style I’m after. I don’t particularly want soemthing with a lot of features and complexity.

Fortunately, since it’s all just markdown content anyway, I can always switch if I need to.

Sticking with GitHub Actions for the deployment, and CloudFlare Pages for the hosting. Might change that at some point but honestly it’s already there and I don’t care that much…

I’ve got the repo for it private at the moment, but I’ll likely make it public once I figure out how my writing process is going to work when I have ideas that I’m not ready to make accessible to the public Internet. 🤔

Content Writing and ChatGPT

I’ve been using ChatGPT from time to time for different things - mostly to help summarise documentation from Django or Python. I’m giving it a try with regard to writing copy a little…but rather than actually writing the copy, I mostly use it to help with ideas and outlines, which I then write in my own tone and add more detail to.

I know people have been finding ways to get it to essentially mimic their own style and tone, but I’d rather the content still be completely “mine”. I’m happy to have tools help with the ideas and brainstorming though…that’s always been the thing I struggle with the most.

Time Management

I’ve started to restructure my day to day time management (again!)

  • I’ve started doing Toggl time tracking more thoroughly again, not just for client work.
  • I’m doing a limited form of time boxing. I don’t find rigid 15 minute windows a good solution for me, but a rough outline of one hour boxes works for me.
  • I’m also trying to apply an idea I either picked up somewhere or hallucinated up on my own; for every day of the week, I have a small list of 1-3 things that are the “must do” items. Those things get done first, no matter what. These are only allowed to be things that are “time sensitive” and cannot be put off, like paying invoices, filing taxes, etc.

We’ll see how it goes. Time management is something I’ve struggled with my whole life, but I’ve had a few iterations that have worked well at different points. I think the key is cultivating and reinforcing some good daily habits, which I’ve lost during COVID. Hopefully I can rebuild those and get into a good routine.

Client Work

I’ve accelerated the pace of work on my current principle client project. At the moment, that work is about modernizing the UI of the (django) application, replacing a very old Bootstrap 4 theme and ripping out the remainder of jquery stuff, and replacing it all with tailwind, htmx, and alpineJS.

Once that’s done, I’m going to be working on some Zapier and Hubspot integration work which I’m pretty excited about. App integration on those platforms has come a long way over the years, and Zapier in particular is much more pleasant to work with that 4-5 years ago. I also particularly like the idea that I’m empowering the client to manage more of their business processes the way they want rather than needing me to set it down in code where it is much harder to change later.

Anyway, the goal will be to build a complete Zapier integration App that can be used to glue all the clients’ systems together into a cohesive unit. I’ll hopefully write a deep dive on it as I go.

Open Source

Contributions

I’ve been trying to work on a typing improvement for the ‘asgiref’ package, to take advantage of ParamSpec to pass through args and kwargs types on wrapped functions (particularly the ‘sync_to_async’ and ‘async_to_sync’ functions).

That’s not…going great. Oddly, it works fine on a simpler application, but with the asgiref code, it errors. Going to try to dig into this more and figure out why it doesn’t work.

My projects

I’m still working on a first cut for ‘oddjobs’ and ‘oddjobs-django’, an async task queue management library designed to make it easier to run background tasks within a single ASGI server without requiring a separate process to be launched.

The API is pretty much stabilised, I need to write some more tests, and add some basic documentation. There are still some typing issues to figure out too.