I keep feeling frustrated by the added complexity and extra code involved in dependency injection. It can make simple code complex very quickly. So I really love the idea here, which is that Xcode is perfect for DI because it lets you literally just wire up things visually with no extra code. It goes on to make the case for using Interface Builder to wire up more than just UI elements and use it for just about anything.
What’s great about it is that it doesn’t just generate a bunch of code, but instead “freeze dries” real objects to be instantiated when the program loads.
This article is so old that the images don’t load, but I love the ideas and the reminder that DI does not have to involve a bunch of extra code. Thanks to iOS Dev Weekly for the initial link. 👆
Next time I’m in LA, I’m going to check out this super-short and super-cute railway. It looks like it covers about one block in downtown LA. It’s been around over 100 years, minus a hiatus in the 1970’s and 1980’s due to some “urban renewal”.
I find it annoying when someone says “This BBQ isn’t very good” just because it’s not Franlkin’s. Hey, Rudy’s is still good BBQ, and I was so happy to find it when I moved back to Texas! Yum!
Or “This beach isn’t nearly as nice as Hawaii.” Hey, Galveston is still a beach! Sand, waves, wind. Heaven.
Just because there might exist some other version somewhere that is (arguably) better doesn’t mean this one isn’t good/fun/yummy. You’re only hurting yourself, people! So I like this Teddy Roosevelt quote.
Comedy does not come naturally to me, especially if I’m trying to be funny. I like this article’s step-by-step approach to being funnier. And I really like the guy who checks into hotels with a fake Elvis driver’s license. 😂
Humor is about “benign violation” — disrupting your sense of normalcy in a way that doesn’t present any real harm. So weird incongruities. Or remembering a threatening situation that turned out to be fine, and now you feel silly about it.
So here’s a game plan, and like anything else hard and worthwhile, it’s going to take some conscious effort. Luckily, it’s pretty simple…
Learn to look for funny things
“Look at the absurdity around you. Check for incongruities,”
Make this a conscious habit in every day life.
Seek out humorous situations in your life
Listen, read, watch funny stuff. TV shows, movies, podcasts, etc.
Find an audience and practice on them
Find someone willing to check your humor. Tell them a joke every day. Get honest feedback. Maybe try an improv class.
Keep in mind that humor is vert contextual. “Know how to apply the basic principles of humor to specific situations.” And humor builds on itself over time. So once you get going with someone, you have a foundation for getting funnier.
I’d consider myself to be an optimist, even against overwhelming evidence at times. It’s a sort of faith. It’s fun to be optimistic and see what happens. I like to give the middle finger to negativity.
While this article acknowledges the positive powers of optimism, it also details the surprising advantages of some healthy pessimism. I may need to work on leveraging some pessimism more, especially while estimating projects and budgets!
Pessimism can help us prepare and do our best work, increase desire and enthusiasm to improve things, and even reduce anxiety by motivating focus over avoidance. 🤯
The down side of optimism
Multiple research has shown that optimism has a dark side too. Not only it can lead to poor outcomes, but it makes us underestimate risks or take less action.
Optimists pay less attention to detail and fail to seek new information to challenge their rosy views leading to poor decisions.
The Optimism Bias is one of the two key factors why we inaccurately calculate big projects — we tend to underestimate both time and cost.
Defensive Pessimist is a particular type of pessimist that takes negative thinking to a whole new level. It’s a strategy that helps people reduce their anxiety — it drives focus rather than avoidance.
The defensive pessimist focuses on the worst-case scenario — s/he identifies and takes care of things that optimists miss. This approach can help us better prepare for events that are out of our full control such as a job interview.
In philosophy, Meliorismis a concept which drives our ability to improve the world through alteration — we can produce outcomes that are considered better than the original phenomenon.
Meliorism doesn’t mean ignoring the world’s evils. But to accept life’s setbacks as challenges to overcome. This joie de vivre energizes us — it boosts our desire and enthusiasm
I’ve been thinking lately how many “good” things have a bad side, and many “bad” things have a good side. A crisis is an opportunity. A loss is a rebirth. A failure renews focus. Sadness motivates appreciation. And on the flip side, getting what you want can be a letdown or even a disappointment.
I think Shakespeare’s quote is mostly about attitude and perception, and that’s a big part of this equation.
There is nothing good or bad, but thinking makes it so.
The Swift “defer” operator my not work exactly like you expect. It’s not exactly the last code executed before the function returns. Well, it kind of is. But also not so much. 🤦🏻♂️ As this article says, “defer” basically happens at the “ret” in “return”. 🤯
It takes a while to process what’s going on here, so take your time…
It’s also fascinating to see how what some very simple Swift code looks like when decompiled. Temporary registers. Global var access. Code injection in all the wrong places. 🤯 I have newfound respect for compiler writers.
And thanks to Sergey Smagleev on Medium for a great deep dive into “defer”.
Whoa, a simple three-liner has turned into this abomination that spans 34 lines of code.