The Stack Overflow Podcast - Run your microservices in no-fail mode

Temporal Technologies is a scalable open-source platform for developers to build and run reliable cloud applications.

ICYMI, here’s a post we wrote with Ryland Goldstein, Head of Product at Temporal, discussing how software engineering has shifted from a monolithic to a microservices model—thereby introducing a whole new set of challenges for software engineers.

Maxim, who grew up in Russia, is renowned in the microservices world. He spent decades architecting mission-critical systems at MSFT, Amazon, and Uber, where he designed Cadence and spun it out into Temporal. Netflix, Descript, Instacart, Datadog, Snap, and plenty more are all betting their critical systems on Temporal’s OSS technology, so Maxim has a dedicated following in the dev community.

Dominik’s father is a nuclear physicist, so Dominik had early access to computers growing up in Germany. His professional path led him from SAP in Germany to SAP in Palo Alto, then to Cisco, and finally to Temporal.

Replay, Temporal’s inaugural developer experience conference, is happening IRL from August 25-26, 2022 in Seattle. Check it out!

Connect with Maxim on LinkedIn or Twitter.

Connect with Dominik on LinkedIn, Twitter, or Medium.

Today’s Lifeboat badge goes to user Thanos for their answer to How to wrap text without regard to space and hyphen. (This makes up for the Snap, right?)

The Stack Overflow Podcast - Want to be great at UX research? Take a cue from cultural anthropology.

HASH, where Maggie works along with Stack Overflow cofounder Joel Spolsky, is an open-core platform for creating simulations that help people make better decisions.

Explore Maggie’s writing on everything from digital anthropology to best practices for illustrating invisible programming concepts.

Maggie recommends the Nielsen Norman Group website as the best resource for folks getting up to speed on research-based UX.

Today’s Lifeboat badge goes to user Sten for their answer to Detecting transparency in an image.

The Stack Overflow Podcast - On the quantum internet, data doesn’t stream; it teleports

The first step in quantum computing? Quantum internet: a network capable of sending quantum information between far-distant computing machines (as in, one on Earth and one on Mars). Still have questions?

In case it’s been a while since your last physics course: Schrödinger’s cat.

Retool’s 2022 State of Engineering Time reveals how software engineers spend their time, what they want to do more (and less) of, and the most frustrating and satisfying parts of their jobs.

A great resource from GitHub for folks working on open-source projects: Why creating a popular OSS library is a marathon, not a sprint.

Cassidy recommends Centered again—the app that helps you stay in your flow state.

Congrats to Ceora on her new role at Auth0!

The Stack Overflow Podcast - Kidnapping an NFT

The Web3 crime of the century? Seth Green’s Bored Ape NFT is kidnapped by dastardly phishing scammers, kiboshing the TV series Green was developing around the Bored Ape character. Read more.

Ceora served as a resident emcee at this year’s Remix Conf. She and Cassidy offer advice for developers who want to give talks or host conferences. 

In tech industry news: Broadcom acquires VMWare for $61 billion, one of the largest tech acquisitions in history.

Today in tech recs: Matt recommends Logitech’s MX Mechanical keyboard; Adam recommends roadmap.sh, a community dedicated to creating roadmaps, guides, and other resources to guide developers as they start their careers or upskill along the way.

Today’s Lifeboat badge goes to user munk for their answer to Python path as a string.

The Stack Overflow Podcast - Talking blockchain, functional programming, and the future with Tezos co-founder Arthur Breitman

While blockchains are huge right now, finding one to build on that doesn’t use a ton of energy, has good privacy protections, and operates efficiently is harder than it looks. The original breakout blockchain, Bitcoin, was slow to adopt any innovations coming out of research. Other blockchains use the electricity of a small country to play elaborate gambling games. For someone looking to build the future of Web3, what are your options?

On this sponsored episode of the podcast, we talk to Tezos co-founder Arthur Breitman. After finding out that the Bitcoin blockchain wouldn’t incorporate all the good ideas generated around it—proof of stake, privacy improvements, and smart contracts to name a few—he decided to build his own. 

Arthur has a background in machine learning and statistics but spent his early 20s teaching self-driving cars how to turn left and working in quantitative finance for high-frequency trading. High-frequency trading was data-driven, but there was so much noise that machine learning didn’t do very well. Self-driving cars, meanwhile, presented a more structured problem, so neural networks could yield good results. 

Around that time, Arthur got bit by the crypto bug. It lived at the intersection of a lot of his interests: Cryptography touched on computer science and math, but his time in finance got him wondering about banks and money work. The idea of individual sovereignty scratched a personal philosophical itch. 

Naturally, Arthur decided to try some mining software. It took all of his computer’s resources, so he uninstalled it. But after seeing the price of Bitcoin break a dollar and other news items about it, he looked closer. He started to think about what a company could do if it didn’t have to maintain banking relationships. He thought about possible applications, like decentralized poker. 

When Bitcoin refused to adopt the improvements developed by competing alt coins, Arthur started thinking about a new blockchain that would respond to new developments and focus on efficient processing, security, and a good smart contract system. Forking the code wasn’t enough; he needed a new ledger. 

That’s when Tezos was born. It was initially built by a small team of OCaml programmers using that language’s functional subset. Arthur was inspired by the example of WhatsApp, which was built by a small team of senior Erlang engineers. While OCaml would limit the talent he could hire, it would be a very efficient way to build an error-free transaction system. He could have built the whole thing in Java, sure, but Arthur estimates that it would have cost a whole lot more. 

If you’re interested in learning more about what an engineer’s blockchain ecosystem looks like, check out the Tezos home page. Discover building on Tezos: https://tezos.com/build/

The Stack Overflow Podcast - How a very average programmer became GitHub’s CTO

Jason is now a managing director at Redpoint Ventures and has led one investment so far, backing a company called Alchemy that is focused on infrastructure and dev tools for web3.

He describes himself as a "very average" programmer, but an excellent engineer, and explains how he parlayed his unique skill set into key roles at Heroku and GitHub.

Our lifeboat for the week goes to dfrib for suggesting a solution to: Error "nil requires a contextual type" using Swift

The Stack Overflow Podcast - Games are good, mods are immortal

Following the success of the Mac Mini, Windows is getting into the tiny computer business. Oh, and it’s running on ARM chips. Oh, and Visual Studio and VS Code will now offer native ARM support.

Video games got a lot of us into programming thanks to their openness to mods. It’s what made The Elder Scrolls: Morrowind such a hit 20 years ago. 

Minecraft may live forever thanks to its modding community and parent-friendly tools. Just don’t be surprised when you have to ban local kids for virtual arson and murder

The old security exploit hits are still out there: cross-site scripting, SQL injection, and cross-site request forgery. Could be because 86% of developers do not view application security as a top priority.

Two great questions today: 

Is it illegal to ride a drunk horse?

 and a Lifeboat-worthy response from Markus Meskanen on 

Checking if a number is not in range in Python

The Stack Overflow Podcast - Turns out the Great Resignation goes both ways

Companies like Meta, Twitter, and Netflix are enacting hiring freezes and layoffs, a situation that’s not great for anybody but is likely to have outsize effects on people of color in tech.

Gen Z may not understand file structures, but they sure understand Twitter toxicity. MegaBlock from Gen Z Mafia allows users to block bad tweets, their authors, and every single account that liked the offending tweet. There, doesn’t that feel better?

Apple’s WWDC 2022 is just around the corner. What are you most excited about?

Machine-learning start-up Inflection AI raises $225 million in equity financing to use AI to improve human-computer communication. Another reminder that building sophisticated AI systems isn’t cheap: who could forget that Open AI paid its top researcher just shy of $2 million in 2016?

Today’s Lifeboat badge goes to user Patricia Shanahan for their answer to Difference between int and double.

The Stack Overflow Podcast - Make your open-source project public before you’re ready

Highly-touted cryptocurrencies like TARA don’t always solve the problems they’re supposed to, as Bloomberg reports.

If you’re looking for a compelling deep-dive into a crypto scammer, Cassidy recommends BBC podcast The Missing Cryptoqueen.

Ceora is working to improve the quality of her commit messages in order to turn what’s now a personal project into an open-source project that others can contribute to. One great resource she’s found: Zen and the art of writing good commit messages.

Attention devs: if you have tips for basic project maintenance and hacks for improving commit messages, Ceora wants to hear from you.

Read up on the benefits of test-driven development.

Today’s Lifeboat badge goes to user Nina Scholz for their answer to What’s the difference between Object.entries and Object.keys?.

The Stack Overflow Podcast - Building out a managed Kubernetes service is a bigger job than you think

You may be running your code in containers. You might even have taken the plunge and orchestrated it all with YAML code through Kubernetes. But infrastructure as code becomes a whole new level of complicated when setting up a managed Kubernetes service. 

On this sponsored episode of the Stack Overflow podcast, Ben and Ryan talk with David Dymko and Walt Ribeiro of Vultr about what they went through to build their managed Kubernetes service as a cloud offering. It was a journey that ended not just with a managed K8s service, but also with a wealth of additional tooling, upgrades, and open sourcing. 

When building out a Kubernetes implementation, you can abstract away some of the complexity, especially if you use some of the more popular tools like Kubeadm or Kubespray. But when using a managed service, you want to be able to focus on your workloads and only your workloads, which means taking away the control plane. The user doesn’t need to care about the underlying infrastructure, but for those designing it, the missing control plane opens a whole heap of trouble. 

Once you remove this abstraction, your cloud cluster is treated as a single solid compute. But then how do you do upgrades? How do you maintain x509 certifications for HTTPS calls? How do you get metrics? Without the control plane, Vultr needed to communicate to their Kubernetes worker nodes through the API. And wouldn’t you know it: the API isn’t all that well-documented. 

They took it back to bare necessities, the MVP feature set of their K8s cloud service. They’d need the Cloud Controller Manager (CCM) and the Container Storage Interface (CSI) as core components to have Vultr be a first-class citizen on a Kubernetes cluster. They built a Go client to interface using those components and figured, hey, why not open-source this? That led to a few other open-source projects, like a Terraform integration and a command-line interface. 

This was the start of a two-year journey connecting all the dots that this project required. They needed a managed load balancer that could work without the control plane or any of the tools that interfaced with it. They built it. They needed a quality-of-life update to their API to catch up with everything that today’s developer expects: modern CRUD actions, REST best practices, and pagination. All the while, they kept listening to their customers to make sure they didn’t stray too far from the original product. 

To see the results of their journey, listen to the podcast and check out Vultr.com for all of their cloud offerings, available in 25 locations worldwide.