Better Programming Issue #93
Welcome to the latest issue of Coffee Bytes, a newsletter featuring a diverse set of programming stories across Medium to help you get inspired and code throughout this week.
This edition spans from Mojo, the buzzing new programming language that seemingly everyone is talking about, to the latest goodies announced during Google I/O and WWDC 2023, including a handy visionOS tutorial. There’s a treasure trove of learning resources across languages and frameworks, as well as lots of generative AI guides and valuable career experiences.
Without further ado, let’s dive into your reading list!
Fresh Perspectives
- Intentful Computation by Philip Grabenhorst
- An Open Source Photogrammetry Pipeline by kauly bohm
- Learning to make drones ‘see’ with artificial intelligence by James Matson
- Microservices Thoughts: Babies and Bathwater by Tom Winans
- Unnatural Keys by Matt Schellhas
- The Tragic Death of Inheritance by Aviv Carmi
- Beating NumPy in 2DFFT by Alexander Levin
- A Tale of Two Dimensions by Dominik Tornow
- Decoupling a core service from your monolith the right way by Esteban Pintos
- Keep your UI test working when migrating from native Auth0 to WebAuth0 login by Luca Nicoletti
- Load Balancing: The Intuition Behind the Power of Two Random Choices by Mihir Sathe
- The 80% abstraction by David Haley
- How To Not Use GPUs by Ekin Karabulut
- So This is Your First Jam With Godot 4? Here’s What You Should Know by Jaime Crespo
- A Deep Dive Into My Medium Data: Experimenting With DuckDB, Plotly, and Streamlit by Petrica Leuca
- Exploring Mojo: The High-Performance Language Faster than Numpy by Zaza Zakaria
- AI Systems: Bloated Backends and Tiny Hearts by Todd Gillies
JavaScript and Web Development
- Resource optimization in Node.js by Nelson Gomes
- React Like LEGO by Giuseppe Campagnolo
- How to create a personal website, but it’s 1999 by Michal Koczkodon
- Convert world to screen coordinates and vice versa in WebGL by Oleg Varaksin
- Figma’s New Power for Developers by Jennifer Fu
- Overcoming Styling Frustrations Caused by Astro Islands and Slots by Zell Liew
- How to use Importmap by Joe Honton
- Building a Sync Bridge by Tobias Fried
- Painless WebGPU Programming With taichi.js — Dunfan Lu demonstrates a use case of his open-source JS framework taichi.js. Save this companion Python piece as well: GPU-Accelerated Collision Detection and Taichi DEM Optimization Challenge (by Yuanming Hu)
Python
- 87 Lesser-known Python Features by David Gilbertson
- Python Profiling — Why and Where Your Code is Slow by Maksym Bekuzarov
- Real-Time Anomaly Detection Visualization With Rerun by Zander Matheson
- A great MLOps project should start with a good Python Package by Médéric Hurier
- Writing Professional Python Logs by Kristof
- Real Multithreading is Coming to Python — Learn How You Can Use It Now by Martin Heinz
Go
- Changes in Go 1.20 by Aryeh Klein
- Go Memory Arenas by Endre Simo
- Implementing hexagonal architecture in Go by Andy Beak
- Database abstractions for Golang by John Wang
- Writing Server Software With Go by Jan Kammerath
- Writing a Stream API in Go by E. R. Nilsson
- What I Learned at GopherconEU by Simeon Grancharov
- Investigating the I/O Monad in Go by Dr. Carsten Leue
- Writing a ChatGPT Plugin With Go by Sau Sheong
Rust
- Game Development In Rust: Making A Strategy Game (Part 1 — The Battlefield) by Sergio Rodrigo
- How to Migrate Your Bevy Projects With (Semi-)Automation by Herrington Darkholme
- Building CLI Apps in Rust — What You Should Consider by Dotan Nahum. Here’s a companion piece — Building an interactive CLI menu with Haskell and Brick by Alex Scriba
- Boosting Machine Learning Performance With Rust by Vince Vella
- Reliable software engineering with Rust by Egor Dezhic
- How To Wrap Your Errors With Enums When Using Error-Stack by Mustafa Dhuleb
Java
- Java 20 Pattern Matching for Switch: What’s Under the Hood? by Nataliia Dziubenko
- Sweating the small stuff in Java by Donald Raab
- A Java SDK Proof of Concept for Dagger.io by Jean-Christophe Sirot
- Can Streams Replace Loops in Java? by Hyuni Kim
Swift and iOS
- Async/Await and MainActor Strategies by Michael Long
- Abusing Swift’s Result Type by Nikita Lazarev-Zubov
- Agile Architecture in Swift by Manuel Meyer
- Managing Navigation Between Multiple Modules in an iOS App Using Dependency Injection Containers by Batikan Sosun
- A Deep Dive Into Observation: A New Way to Boost SwiftUI Performance by fatbobman
- iOS 17 @Observable and the Observation Framework by Nick McConnell
- Testing SwiftData and the Query property wrapper through an example by Maciej Gomółka
- SwiftUI apps at scale by Jacob Bartlett
And to end this section, Mark Robinson has a visionOS tutorial — How to Use Material Nodes in Reality Composer Pro’s Shader Graph:
Android and KMP
- What’s new in Android Performance — Google I/O 2023 edition by Ben Weiss
- Learn How to Create Outstanding AGSL Shaders for Android by Timo Drick
- How to architect Android apps: a deep dive into principles, not rules by Tom Colvin
- Writing Swift-friendly Kotlin Multiplatform APIs — Part I by André Oriani
- An Opinionated View on KMM by Raphael Moutard
Generative AI
- How to run a generative AI hackathon by Sarah Drinkwater
- The Generative Turn for Tech Strategy by Dan McCreary
- Navigating the AI Hype and Thinking about Niche LLM Applications by Hadi Javeed
- Handy tips for LLM application developers by Somnath Banerjee
- 7 ways to speed up inference of your hosted LLMs by Sergei Savvov
- I built a Trashtalk Wordle with ChatGPT using LLM Descriptor and Function Calling by Justin Loroy
- Code an AI Assistant with GPT Function Calls by Vincent Favilla
- A Deep Dive Into Guidance’s Source Code by Paolo Rechia
- A Comprehensive Guide to Using Langchain.js and Google Cloud Functions for AI Applications by Daniel Gwerzman
- A Simple Agent With Guidance and Local LLM by gArtist
- The Rise of Self-Improving AI — An Experiment With GPT-4 by Kenton Blacutt
Career-related advice
- Hiring Buzzwords and the Paper Ceiling by Troy Moore
- Building Startups as a Developer: Learning from My Mistakes by Oluwafemi Tairu
- The Missing Runbook for Engineering Managers by Sergii Zhuk
- Why Good Engineers Leave Good Companies by Isaac Adams
- Trust as key to engineering management by Emmanuel Micard
- Scaling as a Manager by Norman
- My Journey to Becoming a Data Analyst at 34 by Eric Narro
- The struggle to find the ways of working that actually work by André Sionek
- Hiring for Long-Term Success by Christian Brennecke-Räther
- How to Be a Better Leader by Communicating More Assertively by Christine van Wyk
That wraps up this edition. Until next time,
Anupam and the Better Programming team.
75+ Handpicked Programming Articles Across Medium (April-June 2023) was originally published in Better Programming on Medium, where people are continuing the conversation by highlighting and responding to this story.