📣 Announcements
Happy New Year, and welcome to the January edition of CodeSparks! This time, I’ve explored some exciting topics around distributed systems, AI, and microservices architecture. My next article will dive into Dapr, showing you how to simplify microservices with state management, service-to-service invocation, and pub/sub messaging—all while setting it up locally. Stay tuned for that!
💻 Programming
LangChain4j: Bridging Java and LLMs
LangChain’s capabilities meet Java. A must-read for engineers exploring LLMs in backend development.OpenJDK JEPs 487, 491, 492
Exciting JDK updates on escape analysis, virtual threads, and more. Essential reading for keeping your Java knowledge sharp.
⚙️ Engineering Practices
Breaking Stuff on Purpose
Slack’s internal chaos engineering culture and how it helps them scale reliably. A practical guide to getting comfortable with failure.Netflix’s Distributed Counter Abstraction
Scaling counters across distributed systems isn’t easy. See how Netflix overcame challenges to build scalable, reliable counters.
👷🏻♀️ Architecture
Linkerd + Tilt + NGINX
Learn how Linkerd and Tilt work with NGINX to manage microservices in a distributed system. A beginner-friendly guide for Kubernetes fans.
🌐 Tech Culture
The 70% Problem in Software Projects
This article dives into why so many projects hit a wall when they’re “70% done.” A sobering but insightful read for engineers and managers.Practical Text-to-SQL for Data Analytics
How AI tools are making querying databases simpler for non-engineers. Practical applications for the modern workforce.
🔗 Useful Resources
Shell History Is Your Best Productivity Tool
The author shows how to set up the Zsh history so you can easily find old commands you have used. An added bonus is the ability to sync the setup across different devices.