Go to homepage

Reid Main

iOS developer

  1. Archives
  2. Tags
  3. About
  4. @reidmain
  5. Email
  6. GitHub

July 2019 Retrospective

There is no pussyfooting around this. I absolutely half-assed the majority of my goals for this month. But you know what? I don't give a damn because July was probably the most enjoyable month of 2019. Apparently a moderate amount of TV combined with a good video game and ample time with family & friends is the recipe for a happy Reid.

I've been in San Francisco for almost five years now but I have spent less than five weeks back in Canada. I cannot overstate how much traveling back to my hometown this month made me realize how much I miss the Great White North. Helping babysit my niece and nephew. Eating my grandmother's goulash. Celebrating a high school friend's birthday. Going to my cousin's annual pig roast. These things really helped me remember what is truly important in life. These experiences are what make life worth living, at least to me.

San Francisco is so obsessed with work and technology that it permeates almost every aspect of the social scene. People identify themselves by where and what they work on. It is nearly impossible to escape talking (or more likely complaining) about work whenever you go out. Even if you removed all of the homeless, the rampant crime and income inequality I don't think the San Francisco I inhabit can be saved. The work here is a meat grinder that reduces everyone to the same bland paste.

I have dozens of friends who live all over the United States and they have talked great things about a number of cities from coast to coast. I whole heartedly believe that I would be able to find happiness somewhere in America. But this last trip to Canada has really hammered home that I cannot find happiness in San Francisco.

Let's pump the brakes on the San Francisco hate train and did into how I failed nearly every goal this month.

Review July's Goals

๐Ÿ™…๐Ÿปโ€โ™‚๏ธ Exercise every day I am in America. Be physically active every day I am in Canada.
Unless you count babysitting toddlers as being active, I was quite sedentary for most of my time in Canada. I also overslept a day or two while in the US and barely made it into work on time so failure all around!

โœ… Complete 6 yoga classes.
I completed my sixth class on the last day of July!

I'm really not seeing any progress and I'm not sure if it is because of the class structure or because I am not going often enough. I managed to injure my right hand again so I won't be able to boulder for most of August which means I should have ample time to increase my yoga attendance.

โœ… Run two 10Ks.
While I did manage to run two 10Ks I am disappointed that I did not run more. My goal is to double my running output in August.

๐Ÿ™…๐Ÿปโ€โ™‚๏ธ Have greens with lunch everyday during the week.
I am going to start tracking what I eat for breakfast, lunch and dinner because I would love to know how quickly I failed this goal. I'm quite sure it was within the first week when I ate a delicious Seรฑor Sisig burrito. Wait are jalapeรฑos considered greens?

๐Ÿ™…๐Ÿปโ€โ™‚๏ธ No sugary snacks at work.
OK I am 100% going to track what I eat in August because I can no longer remember what my first failure was for this goal. "First" being the operative word there because once the dam broke there were many subsequent failures.

๐Ÿ™…๐Ÿปโ€โ™‚๏ธ Only have Soylent for dinner during the week and eat fruit alongside it.
I hope you are seeing the pattern that is starting to emerge regarding food goals. I still can't remember when I failed but I do know that just before I started writing the draft for this retrospective I enjoyed some delicious McDonald's. nom nom nom

๐Ÿ™…๐Ÿปโ€โ™‚๏ธ Cook dinner once every weekend.
My excuse for this goal is a bit more acceptable. We made some delicious penne pasta that first weekend but then had to entertain some guests for the second weekend and straight up forgot about this goal.

โœ… No more than 1.5 hours of TV a night.
I am going to give myself a pass because I was under 1.5 hours of TV every weeknight with one exception where I watched two hours. I actively stopped myself when I hit 1.5 hours and forced myself to do something else so the spirit of the goal was undoubtedly upheld.

It honestly made a huge difference because I really prioritized what I wanted to watch. I ended up unsubscribing from a number of low quality YouTube channels because I knew I would never watch their content when I was timeboxed.

โœ… No unnecessary purchases. Save your god damn money!
I never realized how many random things I buy each month. There were easily a dozen situations where I was seconds away from buying something on Amazon or using Apple Pay but then I remembered this goal. It is pretty amazing to see how short my credit card bills are when I'm not buying things will-nilly. I am going to carry this goal forward to August because if I really want to escape San Francisco I should be focusing on saving every penny I can.

๐Ÿ™…๐Ÿปโ€โ™‚๏ธ Play two scenarios in Gloomhaven.
We didn't attempt to play a single game.

โœ… Setup Pi-hole.
I bought a Raspberry Pi 3 B+ kit and used this tutorial to set-up my Pi-hole. So far it has worked like a dream and I couldn't be happier with the results. We haven't even had to add a single domain to the whitelist yet.

I chose to just have my router forward all DNS requests to the Pi-hole and that has the unfortunate side-effect of not being able to determine which device is making the request. I am debating disabling the DHCP functionality on my router and migrating it to the Pi-hole so it can identify which device is making which request. My main reservation is that dumaOS (the software of my router) has a habit of being very finicky and I really don't trust it to work properly if I disable its DHCP server.

โœ… Complete Apple's SwiftUI tutorials.
I completed all of Apple's SwiftUI tutorials and I gotta say I am quite disappointed with them. Ignoring the fact that they are written for a beta version of macOS, they are extremely rudimentary and even demonstrate bad practices. The most egregious one in my opinion is using the environment object as a massive singleton that you can attach any random state to so any random view in the tree can access it. Explicit dependencies be damned, everything magically lives in the environment!

A colleague of mine, Ben Pious, tweeted a while ago that Apple's sample code is why so many engineers believe "MVC" means put everything into a single view controller. I fear Apple's sample code for SwiftUI could have similar negative effects.

Overall it feels that the vision for SwiftUI is not cohesive. I like the core ideas but there are far too many rough edges for something that is supposed to be production ready in six weeks. I wish Apple would let SwiftUI bake for another year before they shipped something that they have to maintain backwards compatibility with. Instead it seems they are taking the Swift 1.0 approach of throwing a unfinished product over the fence and letting us QA it.

I think SwiftUI is an excellent example of the shortcomings that result in Apple's behind closed doors development ideology. Imagine what could have happened if back in 2018 a Swift Evoluton post went up detailing the idea of SwiftUI. Think about what problems and solutions the community could have raised back then which could be incorporated into a 1.0 release. Instead we get the big Keynote surprise that leaves us rushing to try and understand and suggest changes to something that has to ship in less than 4 months.

๐Ÿ™…๐Ÿปโ€โ™‚๏ธ Mock out the main flow of the iOS app I want to build.
I set this goal under the assumption that I would have a lot of free time during my vacation. Obviously that was not the case but since it was caused by spending nearly every waking moment with family & friends I have no regrets.

๐Ÿ™…๐Ÿปโ€โ™‚๏ธ Read Churchill: Walking with Destiny.
I did not realize this book was over 1000 pages. There was absolutely no way I was going to finish it this month. Hopefully though I'll be able to bite a sizable chunk out of it in August.

๐Ÿคท๐Ÿปโ€โ™‚๏ธ Beat Judgement.
I set this goal because I thought Judgement was a shorter game without much side content but I could not have been more wrong. I've put over 28 hours into it and am only 55% complete. I am still absolutely loving it though and am looking forward to however many hours I have left.

๐Ÿ™…๐Ÿปโ€โ™‚๏ธ Paint a miniature.
We didn't even read the instructions inside the painting case.

โœ… Meticulously track every hour after work until bed in my Hobonichi Techo journal.

I had 15 workdays in July and a total of 70 hours of free time after work which averages out to 4.67 hours a night. I spent those hours on the following:

In June I categorized TV and Dota 2 as "wasted time" because I felt I should have been doing something else. What amazes me this month is that I don't think I would classify anything as wasted time. There was a nice mix between entertainment and productivity that never left me wishing I was doing something more. Obviously from my failed goals there is room for improvement but on the whole I am really happy with what I did.

Setting a limit of 1.5 hours of TV a night does seem to have been the biggest contributor to this. Simply forcing myself get up off the couch resulted in me doing a variety of activities that I always seemed to enjoy. Hopefully we can carry this momentum through to August and hit this vaunted 100% mark again.

Thoughts on Last Month's Goals

If you removed all of the instantly failable food goals (which I keep saying are stupid but for some reason keep making) I actually did really well in July. The biggest failures after that would be my absolute lack of attempt at playing Gloomhaven or painting a miniature. I think the problem with this is that on weekends we have become very lazy and just find it hard to set up for an activity that is going to take multiple hours. The number of goals I made where fine, it simply came down to my poor time management on weekends and vacation.

Review New Year's Resolutions

I am debating if I want to remove this section entirely. Three of the resolutions seem to be dead, three are so close to completion I write nothing useful and the final three always result in me writing something along the lines of "I tried". The whole point of this section was to ensure that I did not forget about my resolutions but that seems to have happened regardless. Also are they even worth remembering? If I actively don't try to use them when I set my goals every month then what is the point?

I think in August I will completely remove this section and have standalone ones for each resolution that is still worth writing about.

1. Get my driver's license and go on a road trip
Due to unforeseen consequences the road trip to LA had to be postponed but we are still aiming to do it this fall.

2. Lose body fat
Still hovering around 21% and doing absolutely nothing to change it. Maybe with more cardio (running and yoga) in August I'll see a minor reduction but changing my diet is probably going to be the only thing that actually matters.

3. Do 50 push-ups and 20 pull-ups
Yeah this is a dead resolution. No point in writing about it anymore.

4. Find a side project or hobby
Another month where I completely forgot about this resolution. Painting a miniature was supposed to be my attempt at this resolution but I didn't do it.

5. Read six different types of books
Even if I did finish Churchill: Walking with Destiny I would still only be at five types: science fiction, non-fiction, history, fantasy and role-playing. It is almost not worth writing about this anymore. I'll read some whodunit or thriller in the fall and be done.

6. Complete 24 unique scenarios in Gloomhaven
Since we didn't play a single game I think it is time to declare this resolution dead. We've only played eight times so far which means we would need to play 16 more in five months which is probably untenable.

7. Be proactive at work and take on tasks that increase my visibility
I did go through one round of our engucation sessions where I learned how to teach so if I can be a part of that again in August that would definitely be progress. But these are all still small things. I need to find some larger scoped project that I can really sink my teeth into and have a big impact on all iOS engineers.

8. Grade my mood multiple times a day
This actually turned out to be my best (full) month of the year. The issue now is that I always rate my time at work as "neutral" or lower so I need to start working out how I can improve that.

9. Run a half-marathon
I maintained my pace of just over 5 minutes per kilometer again but I need to stop beating around the bush. I'm gonna run a 15K in August and try for a half-marathon in September.

August Goals

I was all set to create some really strict goals for August and push myself harder than I ever had before. Who knows how much more I could accomplish if I only watched a maximum of 1.5 hours of TV every weeknight? Then I remembered The International 2019 starts on the 15th but since it is in Shanghai that means the matches will start at 6pm the night before. So there goes 8 weeknights because I will easily watch 5-6 hours of Dota every day and not feel a lick of shame because this only happens once a year!

If I am going to sit on my ass for a lot of the evening then I am going to make sure I exercise my ass off in the morning.

I still believe that my July goals are salvageable so I was all ready to bring them forward and slightly reword them to be more apt.

#MonthlyRetrospective

๐ŸŽฎ