New version of Mimi Uploader is out 🎉
The latest version of Mimi Uploader is out. This one was a long time coming as the beta cycle started over two months ago. I just had several other things taking my time. Thank you for your patience.
Here’s what’s new:
- Fix for alt text editor issue that caused editing text to go under the keyboard. Very annoying!
- Redesigned Help screen. Won’t glare at you in dark mode anymore!
- Bug fixes and performance improvements.
Get it from the App Store!
📷 Rosalie, with her 1978 Checker. Portland, Oregon. 25th March, 2023.
Rosalie has been driving a Checker since 1964. Her dad owned the 1964 model but at some point traded it in for the 1978 model. She inherited it from him and still drives it to this day.
I was walking by with my camera, noticed the car and took a few photos. She noticed me doing so and came out to talk to me about it. It was great to hear her story and to get a glimpse into her love for the car and their story together.
It was as if the AI had cast 21st century Americans to put on different costumes and play the various cultures of the world. Which, of course, it had.
Love articles like this that show how much bias lies within these generative algorithms. Biases that run so deep that they are not even talked about in social conversations.
On a scale of 1 to 10, the entropy of my home office and the desk therein hovers between 4 and 8. Currently both are at about 8. Each time I organize, I try to get it below 4 but it never happens.
An App for Mapping My Outdoor Activities With Apple Watch Using GPX Tracks
I use an Apple Watch to track my activities, whether that be workouts or recreational. For outdoor activities, the watch records location data throughout the activity. This is later shown on a map in the Fitness app on the iPhone. While that map is interactive, exporting it only exports a low resolution image, and not the actual route.
When I share an activity on a blog post I like to show the map but I don’t like the idea of just sharing an image of the map. I would like to get the actual data out so that it can be overlaid on an interactive map using various mapping tools.
I found an app on the App Store that can export the data, among many other features, but I wasn’t keen on paying a subscription for this one small occasional use case. As an app developer, I know that access to this data is controlled by the Health related privacy settings on the iPhone and is accessible using the HealthKit framework. So I decided make a small app to get this data out while also gaining familiarity with that part of the iOS SDK. A few weeks ago I got started on it. I worked on it in small chunks of time, as I usually do with such side projects. The UI came together pretty quickly as a SwiftUI app. It is nothing special but looks presentable and gets the job done.
It took just a little bit longer to get the data out from HealthKit. Converting it to GPX files was straightforward. Once I had created a file I could use the share sheet to get it into other apps or to simply save it. From there it can be imported into tools that put it on a map.
For example, here’s a GPX file of a walk at Mount Tabor Park. It can be utilized to create an embedded map as shown below.
Or even into Google Maps. In fact once imported there, you can view the track with elevation by selecting the option for Google Earth and enabling the 3D view. I love this option as it adds another dimension (literally 😂) to the activity.
Both these presentation styles are far more interesting to me than just a low resolution image out of the Fitness app.
Adding API Accessible Devices to the Home Climate Monitoring Setup
I was thinking about getting more of those AcuRite sensors for expanding my home climate monitoring when I realized that I already have a couple of devices recording this and other data.
These include my Ecobee Thermostat and Remote Sensor and my IQAir AirVisual Pro. Both of these have means of getting the data off of them using an API. This blog post by Den Delimarsky really helped with the IQAir API. Ecobee API was straightforward. And after some coding and testing, I had a couple of scripts running that could pull metrics from them and send them to influxdb
. So now I have a few more data points for existing metrics, and have added air quality to it.
In the previous blog post , I wrote:
I’m going to take a break from any further optimizing/tweaking for now.
Well, that didn’t happen! But maybe now 🤔
P.S. The screenshot above illustrates a few other things:
- How I got the scripts going in starts and stops as I figured out the issues in having them always running.
- A macOS update that I started before heading out for a few hours, which led to a large gap because I still have all of this on my desktop Mac.
- The dots show how some data was reduced in granularity overnight because of device settings that put it to sleep. So I changed those settings the next day.
PSA: Thirty days left on the DarkSky API. Port your apps, port your scripts!
Home Climate Monitoring
Sometime last year my friend Andrew made me aware of the sensors and software he was using to monitor temperature and humidity in his home. I thought that was cool and it introduced me to several hardware and software tools that I had not known about. I wanted to set this up at my home so I filed a project for a later date.
Well, that day arrived a few weeks ago and here’s what it looks like today:
To get started exploring this I purchased an AcuRite bundle of three sensor towers and one display. I set up the towers around my home and put the display in my home office. It was neat to see the display showing the measurements at any given time. Soon I wanted to go to the next level and record and see the data over time.
These sensors broadcast the data over 433 MHz and there are consumer level antennas and software available to read this data. I bought a NooElec bundle which gave me all the hardware I needed to receive this data on my computer. Setting it up was straightforward. I used rtl_433 and was able to start seeing the wireless data immediately in the terminal on my Mac.
The next step was storing all this data. That’s where influxdb came in. And the glue to get it from rtl_433
to influxdb
involved MQTT and telegraf.
There was a lot of trial and error but I finally got it all set up and was able to get the data into influxdb
. I even made a dashboard in there to visualize it. The options on that dashboard were limited so I got grafana set up and built a dashboard in that which can be seen at the top of this post as seen on my desktop browser. It also looks great on mobile devices.
Except for rtl_433
, the rest of the tools all run on docker on my desktop Mac. At some point I may migrate that off to a Raspberry Pi but for now it’s all working and I’m going to take a break from any further optimizing/tweaking for now.
Update (6th March, 2023): Follow up post about expanding on this effort.
I had no idea that that name had such an association and am glad that they are making this change.
What has been dismissed, ignored, or overlooked until the last few years by both Portland Audubon and the larger Audubon community is the fact that John James Audubon enslaved and sold Black people, opposed the abolition of slavery, and dug up and stole the human remains of Native Americans from their graves.
🔗 Portland Audubon Commits to Dropping the Name Audubon - Portland Audubon
📽️ Over the weekend we saw the 2023 Oscar Animated Shorts at a local theater. That was the first time I had gone to see something like that and it was quite enjoyable. Most of the films are a delight. The theater had cozy seats and serves brunch so that made it a little extra fun.
It’s been a bummer to notice that Amazon Smile doesn’t exist anymore when I try to browse to it. This post however has a different and optimistic take on it.
But this complaint only starts to address the problems with AmazonSmile, and the reasons I’m not sorry to see it go.
🔗 The End of AmazonSmile Is an Opportunity for Nonprofits to Revisit Their Values