Issue #44 of Coffee Bytes
Happy Friday, everyone,
Welcome to the 44th edition of Coffee Bytes, a newsletter by Better Programming.
We hope you had a great week. We’re trying a different theme in our newsletter this week, so I’ll introduce you to some new Better Programming contributors. They’ve got fun stories and ideas for you to hack on this weekend.
So, without further ado, here are 19 of our favorite stories from the past two weeks.
Tauri has been the talk of the town this year. Ed Rutherford took up the challenge of learning Rust and building a desktop dashboard application using the booming framework. The results are pretty good. The size of the final binary is a fraction of many Electron-built applications. Is Tauri the next big thing to build desktop apps? Let us know what you think!
Want to show off your latest activity with Discord’s status feature? Arhan Jain has built a Last Seen project that displays your latest Google Photos in the feed. On top of that, he uses AI to generate a caption for every photo by leveraging Microsoft Azure’s Cognitive Services.
Join in as innovative programmer, Amogh Agastya, uses Python to build a conversational AI chatbot that helps users feel heard. Sometimes, we just need a patient ear to feel better, don’t we?
Rebecca breaks down the issues non-semantic buttons create and shows off her solution to make a button in React that is functional and accessible in this step-by-step guide.
Leonardo Rodrigues Martins’s guide explores a Go implementation to test features using mocks and stubs. You’ll find his creative ways refreshing and fun.
Daniel Dimovski walks us through a hands-on implementation using the Android Paging3 library. He shows how paging works under the hood and ways to override the default configuration for a specific user experience. Watching this behind-the-scenes reveal is a ride you’ll want to get on.
Using Hardhat and ethers.js, Emmanuel Ayodele Bello created a complete guide to write, test, and deploy contracts. The first rule of blockchain: you do make a contract.
Communicating between SwiftUI and UIKit is a fairly common task. But, have you ever wondered how to display a SwiftUI view from an Objective-C codebase? Fear not, as Max Kalik shows off a technique to make SwiftUI views work in Objective-C codebases. If you’ve updated Xcode to version 14, you might feel compelled to do a frantic Stack Overflow search when you get an error about mutating an actor-isolated property in your project. But worry not. Max’s second article of the week shows how to fix it!
Reminiscing about the good ol’ UIKit days? Marc Daou offers a way to generate PDFs dynamically using
PDFKit and Storyboards. He builds an app that generates a cocktail PDF restaurant menu from its respective API. Could this be the de-facto solution to convert our Medium stories into PDFs? Maybe! Stay tuned to find out…
What better way to start developing for iOS 16 than with this quick Todo task completer widget app? Thanks, Natko Biscan!
Aytuğ created this cool in-app demo for fun — just days before the dynamic islands API was released. With this LiveActivity implementation already available (thanks again, Batikan Sosun), I can’t wait to see how apps would utilise the two APIs for meaningful and fun use cases.
iOS 16 is fresh from the labs and available for everyone. Now is a good time to extend your app’s custom functionality to support system-level services like Siri, Shortcuts, etc. Sadık Çoban’s 17-minute helpful explainer (code included) is the perfect place to get the hang of the new framework.
Integration tests in cross-platform are crucial to ensure native SDKs and frameworks (like Apple’s StoreKit and Google’s Play-Billing library) are invoked successfully. Natalia Malesa, in her debut post on Medium, shows how to use the Cavy framework to build and run integration tests.
“On a busy day for one of our legacy APIs in production, we started receiving alerts for slow response time. The API was taking
~70 seconds to respond to the client with nominal traffic! That is a lot of motivation to look for optimization,” by Ankit Joinwal. And with that, the great switch began.
After testing out the AI tool, Sarah Cross thinks Copilot is good, but not great! She found that debugging the problems Copilot created took more time than just writing the code yourself. So, we’ve concluded, DIY for the win!
Carlo Bertuccini stresses a mindset “where you always focus on your product and your customers, rather than on the technology and the scope. But should we really stop hiring software engineers? Carlos points out that it depends — everything has to be contextualized.
Aaron Zinger argues descriptive names for services, repos, and libraries are a bad idea. Descriptive names don’t create transparency; they create the illusion of transparency. Descriptive or whimsical? Which one are you rooting for?
Sid Shankar highlights the rarity of good pull requests in development teams despite the abundance of resources. He offers thoughts, observations, and guidance to write great PRs naturally.