March was for Swift

April is here. I’ve got to admit that I haven’t been super productive on the side projects in the last couple weeks. My parents were in town at the end of March, a few new proper work projects have sprung up and I’ve been spending a few free hours here and there playing Fallout 4. Other than some tinkering with Swift, there’s not much progress on the active projects.

I do have a few things that I would like to finish in the next two months though. The first three weeks of June are going to be very busy so I’d like to finish up a few things before then so I don’t have to take a three week break and come back to a project I don’t remember anything about. Maybe Deep Birding ?

I’ve been having a hard time getting started on machine learning stuff. There are plenty of tools but they’ve all heavily optimized for seeing the quantitative efficiency of the results for testing and research, not for visualizing or adapting the results for use in a project. I have to do a lot more reading before I can get up and running with it.


As for current projects, That Thing in Swift continues to have its best-month-ever every month. I wrote about some clever ways to adjust the organization of view controllers in Kill your viewDidLoad on the 16th of March and finally posted to Reddit on the 21st which sent huge amounts of traffic and links from various other places. The long tail of Twitter links continues into this week. I finished the custom page preview images the week after that post launched so now all those links have nice images.

It remains to be seen if the many links given in the last couple weeks translate to more search traffic (by far the dominant means to reach the site). I don’t know how long that might take or when those values are recalculated or even what search terms it might impact.

I killed the discourse integration and server. That was not a good substitute for comments. I’m not certain a normal comment system would be useful or drive any sort of additional traffic. I was thinking about in-page annotations/comments but I don’t like the options that I looked at. I would have to build my own to make it really fit with the content and that seems like a lot of effort for little benefit.

Weekly Updates

This is turning into a bit of a weekly update during periods with lots of work which is OK, I think. If I’m doing a bunch of simultaneous projects it’s nice to have a mid-week checkup to see what we’re on-or-off course for but these days I’m doing a lot of contract Swift development and I try to keep my other projects to around an hour a day. I actually have a daily Coach.me task to put in an hour on some non-work project, so it’s less about keeping me from doing too much side project work and more about making progress on side projects even when I’m busy. I’m not sure the Coach.me app is the best way to manage building habits or reminding myself to do stuff every day - I basically ignore what seems like the bulk of the social features in the app - but it works for now.


I moved a few things to the archived pile this week. Ideas didn’t really belong on the active list. It’s not really “archived” either but that’s just where it goes for now.

After better-than-expected results from the livecoding project on That Thing in Swift last week, I expected it would be easy to do another video project in the form of something short and not-live. But instead I got stuck trying to organize and put together something cohesive rather than just going live. No change in plans to fix this, I just have to make the time to plan a couple minutes of content. Recording will be easy and learning some production will be an interesting challenge. Still planing on getting this done this week.

Leap Day Updates

I wanted to get one more update in before the end of February, luckily we have a leap day this year!

I’m planning a live coding session for That Thing in Swift on Wednesday this week. I still have a few technical things to work out but I’m not committed to it being perfect, just good enough to get a sense of how much interest there is. I think it could be pretty cool.

I need to do some more thinking about how to test theories related to Boundary Layer in the very early stage. I did a bit of research into creating wind tunnels to do proper experimentation and - surprise - there are super shitty versions made for high school science fairs and then models created for final Masters theses. Insert scathing comment on the lack of curiosity in the modern human. I’m still too early to build anything but it’s good to know I can at least create a mid-range experimental rig that essentially doesn’t exist yet.


I neglected to mention another new project last time, Deep Birding , which is an attempt to play with machine learning by classifying the many birds that come to eat seed in the backyard. I think it’ll be fairly straightforward to identify bird type given enough training data but I’d really like to be able to identify individuals. I’m not expecting magic, I could identify individual birds myself given enough time and footage but it would be pretty impressive to be able to do it with machine learning.

Two things stand out as difficult: (1) lots of the example image classifiers available already have the images cropped to the same small size for testing. We’ll need to preprocess frames, looking for areas that have birds and then cropping to our processing size. (2) If we want enough detail to identify individuals, that means a relatively large bird image size. Convolutional processing is super fast with small images and might be prohibitively slow with images large enough to contain enough detail.

I’ve already collected 20 minutes of 1080p video with a few different bird species pecking around. I’m still working through the TensorFlow examples and figuring out how everything works so results are still a ways off.