Hi everyone! This is the LAST OFFICIAL weekly review of 2018, since the 2018 Groundhog Day Resolutions are ending on December 12. I’ll be writing up my final monthly assessment, and will probably followup with a year review sometime in January. Groundhog Day Resolutions will resume on February 2, 2019! Until then, I am giving-in to holiday madness and other end-of-year activities.
The key win of the past week was a positive perspective shift on the realities of development so I am less frustrated with it. Coincidentally, I also recently purchased an Oculus Rift CV1 Bundle from Amazon “for work”; as someone who works with realtime graphics it behooves me to gain experience with such things…right? Amazon had them on sale for $79 off, so I jumped on it!
Anyway, let’s review the past week!
1. Week Assessment: B
The past week was less awesome than the previous grade “A” week. I didn’t make a lot of progress on my billable projects. I am also feeling the weight of upcoming responsibilities: taxes, accounting, various license renewals, and the stress of holiday cleanup and travel planning.
The major frustration, though, was a dealing with some unfamiliar technology: “digitally signing” applications for macOS so users don’t see a scary security warning. This should take two minutes to do, I figured, once I had the necessary digital security certificates issued. However, obtaining said certificates had implications that the development director of the company I’m working with was problematic because of the uncertainty of the security of the tools I was going to use. Did we really know what these tools were doing? I saw his point, despite the frustration of being held-up, and started researching how digital signing worked. This meant diving into Apple’s developer docs, and of course I started by googling the terms from the electron-osx-sign package documentation.
I don’t know if you’ve noticed this also, but Google’s search results have been declining in quality for years. If you are looking for the popular mainstream thing, Google is fine. If you are looking for anything technical, it delivers garbage. And largely that’s because a lot of technical reference IS garbage that doesn’t keep up with the rapid evolution of technology. It doesn’t help that Google no longer uses verbatim search by default now, and throws in garbage recommendations that you are not looking for.
Because of garbage search results, I’ve started leaning more toward official docs augmented by blog posts by people who try to explain it better. I wasn’t able to find any supporting blog posts that were more than just blind recipes, so the first thing I looked at was Apple’s documentation. Here’s an example of the kind of For example, here’s an introductory paragraph for macOS code signing in depth, which is the first “meaty” link from the introductory page that describes a Developer ID on Apple’s developer support site:
Trust is determined by policy. A security trust policy determines whether a particular code identity, which is essentially the designated requirement (DR) for the code, should be accepted for allowing something to happen on the system, e.g., access to a resource or service, after testing for validity. Each macOS subsystem has its own policy, and makes this determination separately. Thus, it makes no sense to ask whether code signing trusts a particular signature. You have to ask based on the subsystem, and it is more meaningful to ask whether a specific subsystem trusts your signature.
Remember, this is an introductory paragraph, and this type of writing is distressingly common in technical documentation. While the statements inside it are (probably) technically correct, they haphazardly introduce terms and concepts without any sense of relation or hierarchy. Ambiguities abound! This would only make sense to someone who already knows how the system works, and I suspect a lot of bad technical documentation is written merely to affirm the knowledge that one already has. There’s actually a somewhat more useful code signing guide documents that appears to draw upon the cited document as a source, but it irritated me that I had stumbled upon it by accident instead of being led to it. Sigh.
I fought these small battles for a few days, with increasing frustration, until I talked to my experienced developer friend Jakob. He confirmed that development is largely like this, and MY BIG INSIGHT is that I can move beyond my frustrations because 2018 is very different from 1982 when I first started learning technical stuff. Back then, you couldn’t find alternate viewpoints of information easily because you were stuck with a book and couldn’t easily get another one. I had found that incredibly frustrating. That’s not the case now with the Internet, but I’ve never let go of that initial frustration that shuts me down. I’ve been able to push through such difficulties in the past years for paying work, but the frustration penalty made it difficult and tiring. Maybe now that isn’t the case anymore. Let me just find the workarounds and build my understanding in a way that makes sense to me. Then write a nice blog post about it that explains it as best as I can. That is putting positive energy into the world, which is what I want to be doing.
2. Review of Goal Activity and Achievements
I got over the frustration with shitty developer docs, taking it less personally. This is potentially a huge shift in my attitude toward doing difficult things, because frankly most documentation is pretty terrible by my standards. I signed up for an Apple Developer account for $99/year, so I can now digitally sign apps for distribution on the Mac and IOS. Coupled with my improved attitude toward learning difficult technical material, maybe this opens up future development plans.
Specifically, I’m still working on how to properly “digitally sign” Electron apps. We also had a couple of status meetings and I learned that our development schedule for one project has to move up by two months, which puts a lot of pressure on us now to juggle resources to meet the date. We think it’s doable, but it means that I’ll have to close this current line of development and shift back to the other two projects for Spring Trials. It also means I have to rethink when I can make my yearly trip to Taiwan to visit my dad. Stress levels have increased, but I am reminding myself that we have a lot of control over the delivery date for the new project. Things will be fine.
WORK SLOT 2: STATIONERY and BLOG WORK
I met with Brenda on Thursday, and we went over the marketing plans. I’ve spent about $750 in consultation fees to help get me moving on my stationery business improvements. While I don’t particularly like spending money (basically all the profits on the stationery business), I think it’s necessary and the working relationship is excellent. If anything, I want to make more money so I can hire people like Brenda to work with me all the time.
I have two immediate tasks with regards to the stationery business this week:
- Update the Amazon ETP Listings with new Hook
- Start a tracking spreadsheet for key metrics related to ETP sales
While I’m a bit late to improve sales for Christmas, I should be in a better place for the January season. This is when people are looking for tools to get organized.
I also have some some important yearly updates to make:
- The 2019 ETP Journal (I should include 2020 also)
- The 2019 Word Counting Calendar
I was looking at the low sales numbers for these, and am wondering if they are worth doing. However, I do know some people use them so I’ll continue to update them. Should I raise the price? If I don’t, at least I can get a coworking livestream out of it!
AUX SLOT: PERSONAL MATTERS AND MAINTENANCE
I’ve been taking care of household stuff slowly, knocking a few items off every week. The big accomplishment last week was taking a lot of stuff out of my basement to the dump or Goodwill for donation. I also cleaned up a closet and started sorting through boxes of old gifts.
I took my 16-yo cat to the vet for his annual bloodwork and a lion cut (above left). He was in quite bad need of one because the fur on his belly had become quite matted and uncomfortable, and he was pooping into his own fur. IT WAS TERRIBLE. Now he’s a velveteen bunny and very snuggly. His blood sugar is fine, so no changes to his twice-daily insulin shots.
My stationery business meeting was at a new-to-me bagel cafe in Merrimack, and I got to try their version of a bagel with lox and cream cheese (above middle). This was pretty good, though the bagel was not really as dense and chewy as I might have expected, and it was toasted. Good bake overall though, with bubbling on the top and bottom. I was not so keen on the idea of shredded lettuce on mine, so I told them not to do that. I also saw that they had a cubano, albeit a “cubano panini” (above right). I’ve been on the hunt for a decent cubano sandwich in my part of the country, and this one was okay EXCEPT that they used HONEY MUSTARD in it. That added a surprising creamy sweetness to it which I couldn’t place for several minutes. Overall though I had a pleasant experience, and am going to go try their other bagels and sandwiches. Terrible internet connectivity though.
As I mentioned earlier I ordered an Oculus Rift VR headset bundle, and it’s been (no pun intended) EYE OPENING. I had experienced the earlier DK1 developer version of the Rift many years ago, but there were not many demos available. I was really impressed by the feeling of immersion…it was quite astonishing, and I made a little vow to myself to look seriously into how I can get involved with VR user interfaces. I have no idea how yet, but this is the first time in a long time that I’ve been really personally excited about something in computer graphics. THE NEW FRONTIER.
One final victory to report: I am below 190 pounds for the first time in decades. My target for December is to get to 185lbs, and I am currently at 187. I’ve been doing a combination of 16/8 fasting and Tim Ferriss’ slow carb diet, and it seems to agree with me. I have quite an aggressive target weight goal, so it’s great to break past the 190 pound plateau I’d hit in July finally!
3. Choose New Targets
This week I’ve got relatively few targets:
- Get the Electron Code Signing closed, if possible (end of December at latest)
- Update ETP Listings
- Start Sales Tracking Spreadsheet
- Update ETP Journal for 2019
- Update Word Counting Calendar for 2019
- Update Licenses for Car, Etc.
Concrete Milestone Check
These are all concrete, verifiable target goals. Managing the stress of everything else I’m not listing will be key to maintaining balance.
To summarize, the past week was not amazing but it did deliver a key new insight: doing anything complex and meaningful (like development) is difficult and frustrating, but there’s no need to take it personally anymore. I can learn, albeit slowly, by working around the lack of perfect information and my own cognitive challenges. I have a good sense of what I am going to do this week, so I’m ready to go.
I am wondering if I should maintain the weekly review even after GHDR ends on Wednesday. We shall see.