Digital Homesteading

Swift does not have a built-in Heap data structure. To solve leetcode challenges that involve a heap, I decided to code my own within a Swift playground. There’s something very satisfying about solving programming problems using your own fundamental data structures. It’s nothing like building a log cabin from scratch, but there’s something magical about digial homesteading.

Humans, consultants and style guides

Consulting is an exciting business that has allowed me to observe the inner dynamics of many different kinds of teams. The skills necesary to thrive in an organization the size of Amazon are not the same as working with three introverted Europeans. Humans being humans, there are a few constants I’ve noticed that have held true on each dev team I have worked with. One of these constants is the amount of dysfunction on a team is proportional to the size of their code style guide.

Why is this? A code style guide is a positive indicator that the team cares about the finer-points of software development. But behind every bureaucratic rule, there is a good story. The reason for many ridiculous rules and warning labels is because someone tried it out to see what would happen. A large style guide can signal a harsh difference in coding style and personal maturity within the team. It also can signal the lack of trust between developers.

Apple Silicon, the 3rd age of Apple

Apple is set to unveil Macs with ‘Apple Silicon’ this morning. Brings back memories of when I bought my first white, plastic Intel Mac from Microcenter. That generation had a couple of issues, mine was afflicted with faulty cooling which would cause the computer to turn off if I ran the ‘yes’ command in a shell for 30 seconds. I’m apprehensive to buy a first-gen Apple product, but excited where Apple Silicon will take the 3rd age of Apple.

One lesson I tell developers starting out in their careers, is that on a long enough career arc, your technical skills matter less and less compared to your people skills. The simple fact is that you can’t fix hurt feelings with a pull-request.

Hobbies that don't involve Git, a domain name, or AWS

  1. Collecting VHS tapes
  2. Ironing shirts
  3. Peeling apples
  4. Sock puppets
  5. Itching your arm
  6. Dog walking
  7. Creating value driven synergies

SwiftUI is a Cookie Mould

cookie moulds

New features released at WWDC typically build on, or extend existing components. Things are new, but feel familiar. After spending more time with SwiftUI, I was surprised to find that is not the case. SwiftUI is radical and exciting; like advanced alien technology that takes development in another direction.

Writing code in SwiftUI feels like starting development all over again (almost.) The biggest mind hurdle was realizing @ViewBuilder is a way to create dynamic templates in Swift. Keeping this in mind, the view lifecycle feels like programming static HTML, or a template language like HAML, or Handlebars. SwiftUI creates a static rendering from our view struct, so the lifecycle of our view is very short. There isn’t an opportunity to twiddle with the layout in viewDidLayoutSubviews, and this is a good thing.

ViewBuilder is like a cookie mould, baking up those Views rendered hot from the GPU.

Unwritten Rules of tech-industry Zoom calls

deep fried zoom logo

  1. Give at least 5 mins after someone joins to begin talking to them. This gives ample time to pair their bluetooth headset, or properly chew a large CBD gummy.

  2. Test out custom backgrounds before the call. The sight of your futon and piles of clothes cannot be un-seen.

  3. No one has figured out a non-awkward way to end a call. Just hang up when it feels right.

  4. It’s polite to turn your video on if one of more people in the call have enabled theirs.

  5. If your manager asks you to turn your video off, you’re getting fired. (They don’t want to see you cry.)

  6. Always assume the call is being recorded. Trust no one.

  7. The first 20 mins of each call are reserved for chatting about the weather and idle bullshit. Arrive late because your’e so above all that.

  8. We’ve confirmed that Zoom, does in fact, have a mute button, Kevin.

  9. In 2021, physical meetings will be reffered to as ‘in-person zooms.’ Start using that term now.

  10. When in doubt, just stay on mute and hold your sarcastic comments to yourself (and your cat.)

SwiftUI is the future, but I think big-company apps will still have UIKit underneath