View profile

"To enter others' minds and let them enter yours."

StoicallyTyped Newsletter
Welcome to July and issue 13! My week has been a blur! I got to spend some time with family this weekend though which was awesome!
This issue is packed! Ancient Wearables, Jetpack Compose examples, more Flow lifecycle talk, and your new friend Chuck!
New Jetpack Compose and Android Studio versions.
We also have our first reader submitted #AndroidPracticeQuestion answer!
Read on to see all these awesome things!
I hope you’ve had a great week!

👾 Fun Stuff
Vala Afshar
The oldest wearable tech: a 300 year old Chinese Qing Dynasty abacus ring https://t.co/QjFUpNpxgS
📚 TL;DRs
Jetpack Compose Release Candidate 1!
Android Studio Arctic Fox Beta 5 available!
Supporting Multiple Screen Sizes In Jetpack Compose
Supporting Multiple Screen Sizes In Jetpack Compose
Supporting Multiple Screen Sizes In Jetpack Compose
Adam McNeilly is back again with an excellent demonstration and walk through to supporting multiple screen sizes using Jetpack Compose! It’s WAY easier than you think!!
Follow him on Twitch to tune in live on Wednesdays!
repeatOnLifecycle API design story
Use VisualTransformation to Create Phone Number TextField
🛠 For Your Toolkit
Chucker - 🔎 An HTTP inspector for Android
🧑‍💻 Interview Practice Question
How can you use Jetpack Compose VisualTransformation to make a text field format for a credit card number?
Go from XXXXXXXXXXXXXXXX to XXXX-XXXX-XXXX-XXXX
Send a link to a gist with your answer by replying to this email or the Tweet of this issue. Have your answer included in next weeks issue!
⭐️ Answer to Last Week's Question
We have our first reader submitted answer this week from Sam Greenberg!
When using Kotlin Coroutines, what is the difference between launch and async?
launch is used to start a suspendable function on a specified dispatcher (or default one if none provided). It returns no result.
async starts a coroutine as well, but returns a Deferred<T>
💭 Stoicism x Tech
“To enter others’ minds and let them enter yours.” - Marcus Aurelius
Thinking about this quote I want you to consider legacy code. Legacy code is something that all software developers will encounter multiple times in their careers and it can be thought of as entering another person’s mind. There are problems that came before and this legacy code is the solution to them.
Legacy code is not fundamentally different from the code you are writing today. The reason it was written was to create a solution. Consider what the problem was, what decisions went into crafting this solution. What trade-offs were made? All of these are things that are considered in code written today.
To read legacy code can be thought of as entering others’ minds. Following the trains of thought that came before. How can you structure or comment your code today so that when someone needs to enter into your legacy code you can make it easy for them?
👋 Want to Contribute!?
Did I miss something great this week? Have an career question you want answered by the community? Send them to me on Twitter or reply to this email. I’d love to hear from you and chat!
Stay hydrated, have a great week!
Don’t miss out on the other issues by Matt McKenna
Did you enjoy this issue? Yes No
Matt McKenna
Matt McKenna @himattm

Develop a thoughtful approach to software engineering. Focused on Android, applicable to all. Delivered Monday mornings to kick off your week.

You can manage your subscription here.
In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.