-
byToday's feature is a non-user facing feature: allowing tanzawa to be configured using a .env file via django-environ. Beyond letting me keep production settings / paths / secret keys out of git or keeping a separate settings.py for production, it also let me enable secure session cookies. Secure cookies with some apache/nginx configuration allows the url generated when you upload an image use https instead of http, which keeps the padlock in your browser locked.
-
byToday I fixed image generation on linux ( turns out image/webp isn't recognized by python mimetypes on linux yet? ). I've also added permalinks for all posts. This will allow me to link directly to posts manually, but also sets me up for syndication and webmentions.
Progress may be slowed next week as my laptop might be getting its battery replaced. -
byDynamic image format conversion is working nicely. I added a new feature to the image processing this morning as well.Β Rather than just strip geo data, I'm removing all exif data.
However, it also occurred to me that you may want to display a subset of that data on your website e.g. which camera the photo was taken with etc... So I'm saving all exif data to json before stripping it from the file itself. This should allow you to expose only the data you want explicitly in your templates. ππ» -
byAdopting new image formats (webp/avif/apng) in place for legacy formats (jpeg/png/gif) is an area where websites simultaneously increase quality and reduce transfer size.Β I've got dynamic file format conversion working locally so browsers that support the new formats will automatically get the smallest file possible and older clients fallback to legacy formats. Just needs a bit more massaging before I merge it.
-
The Week #27
by- This week marked my 10 year wedding anniversary. We got married in typical Japanese fashion, a trip to city hall to fill out the paperwork. For some reason we didnβt think to take a photo when we got married, which I regret. I think it was a combination of everyone looking far too busy to ask and that, at least at that time, you donβt really take photos inside city hall.
I remember the couple after us was what appeared to be a a Russian? woman and this old guy with one of those furry hats with the flaps on all sides. It may or may not have been a marriage for love, but I hope theyβre doing well.
- Sophie went to the vet and got her numbers done again. Theyβre now perfectly in the normal range! The doctor is decreasing her medication and weβll check again in a couple of months to see how she responds if we can keep the lowered amount. My wallet hopes we can.
The battery officially died on my laptop this week, which has slowed progress on Tanzawa. Itβs a mid-2014 MacBook Pro, so almost 7(!) years old. Usually Iβd think about replacing it and recycling this one by now, but it works fine. And when I consider the ecological cost of manufacturing a new laptop, I want to use my current machine for as long as possible. A new battery should extend the life so I can use it for a full decade.
Speaking of Tanzawa, despite battery woes, I still made a bunch of progress. I got image support working, so you can add / remove images from posts.
Iβve started working on image processing and optimization. I strip all gps exif data from photos when theyβre uploaded, but before I do, Iβm storing the gps coordinates in the database. Why? By default I want to preserve privacy, you donβt necessarily want to share your exact location when youβre sharing a photo of the garden.
But I have this idea of letting you group entries (checkin, status, photos, blog posts) together as a trip and display it on a map. And in those cases we may want to use the coordinates, so having them available but not public by default is a good compromise.
Another goal is Tanzawa is to use as little energy as possible, which means images must be small so we transmit as little data as possible. I figured out how I can do that, without generating a zillion thumbnails and sized photos (though resizing is part of the solution).