🎙️ clears throat
Is this thing on?
After over five years at Bleacher Report working on sports media technology, it’s time for another adventure. But first, please indulge me in looking back. I’ve worked with so many incredible people at B/R. They’ve helped me grow as an engineer, as a leader, and as a person.
continue reading
Recently someone asked me: “what’s a hill in software that you’re willing to die on?”
After thinking for a minute, my answer was that “write once, run anywhere” solutions are almost never worth the compromises. When I first started writing iPhone OS apps (in summer of 2008), I was working with someone who was advocating for a javascript and HTML solution to writing mobile apps, that would allow us to get “near native” appearance and performance without the overhead of learning Objective-C, and the potential payoff of deploying the app to other mobile platforms if it was desired down the line.
Let’s break that down.
Pros:
- Developers don’t need to learn a new programming language
- Developers can potentially port the application to another platform with little work
Cons:
- Consumers receive an application that doesn’t quite work like they’re expecting based on environment norms
- Consumers receive an application that doesn’t meet the performance of a native alternative, leading to potential battery and resource drain
In this hypothetical scenario, the consumer is the one making all of the compromises, while the developers reap all the [marginal] rewards. In our case, we experimented with the cross-platform solution, but as we looked objectively at the app from a consumer perspective, we decided the trade-offs in application performance and UI/UX consistency weren’t worth the potential benefits to our workflows.
Now I’ll be the first to admit that cross-platform solutions have come a long way since 2008, with React Native, SwiftUI, Flutter, Electron, Xamarin, and others all competing in the space and delivering closer to native performance. Often, the pros and cons are much longer lists than the ones I presented above, but I’d contend that the benefits are still largely inherited by the company/team/developers, and the compromises are generally passed on to the consumer.
I fundamentally believe that’s a bad tradeoff.
I preordered an M1 MacBook Air as soon as they were available on Apple’s site. Those who know me weren’t surprised I bought one of the new machines – I buy most new Apple products – however, several of my friends asked me why I got the Air instead of the 13" MacBook Pro or even the Mac Mini. At the time, the main reason was to give the retina MacBook Air form factor a try. I was hopeful that the fanless performance of the M1 chip would be comparable to the other machines, but even if it wasn’t I didn’t intend to do much on it that required sustained high performance.
Wow have I been blown away.
continue reading
When I can’t sleep, I write. When I need to think, I write. When I need to cope, I write.
Writing helps me in many aspects of my life. It slows down my thoughts to allow me to process information in a coherent way instead of thinking ten steps ahead and losing sight of the present.
In the current global pandemic, I need this cure often. I’m constantly looking forward to the future and getting lost in potential outcome six or seven instead of realizing that right now, I’m fine.
That’s not to say that everyone is fine, and it’s not intended to downplay any of the hardship and suffering people around the world are going through. Loss of family and friends. Loss of employment or income. Dismantled routines, long days, sleepless nights, anxious thoughts. All of these and more are being felt around the world as we all try to cope with COVID-19 and it’s devastating wake.
I’m not here with answers, in fact I have many of the same questions. All I have to offer is what has worked for me. When all seems bleakest, try to find your inner peace within. When you can only imagine the worst case scenarios, bring it back to the first step you can take to prevent those futures from becoming reality.
And yes, write. Write down your thoughts, your fears, your anxieties. Don’t put down the pen until you have travelled back from your umpteenth possibility to right now.
You can do this.
2019 was a year of tremendous personal growth for me. As I look back on 2019 and back further over the last decade, I’m amazed by the things I have accomplished, the people I’ve had the good fortune of meeting, and the experiences I’ve had.
Reflection
I’ve loved seeing decades in review on Twitter over the last few weeks, and I thought it would be great to write down some of my milestones as well before jumping into goals for 2020 and beyond.
- Graduated with my B.S. in Computer Information Technology
- Got my first programming job out of college
- Moved to Utah
- Worked for four different companies
- Bought and sold a townhouse
- Built my first home
- Finished the decade in better shape than I started in
- Travelled to three countries and twelve states
Amazingly, this list only scratches the surface, and I hope to have another great list to look back on in 2030.
Onward
In 2020, I hope to spend more time creating, more time learning, and less time consuming random internet content. Some other goals of mine for this year:
- Travel out of the country (I have Iceland, Italy, and Japan next on my list – crossing one of those off this year would be great)
- Read 12 books
- Write 12 articles
- Continue my fitness journey (I’d like to write more about this, but in the second half of 2019 I focused more on my health and fitness and lost over 40 pounds)
- See more of our national parks (Yosemite is high on my list)
- Finish and ship a small iPhone app I’ve been building off and on for a few years
Here’s to a happy 2020! 🎉