Sign in

Joyce Lin

The Server Foundation team at Postman shares the origin story of the Bifrost websocket gateway

In the Marvel Cinematic Universe, Bifrost is the name of the rainbow bridge that allows instantaneous travel between the realms of gods and humanity. Similarly, and equally magically, our Bifrost websocket gateway lets Postman clients instantaneously connect to Postman services.

As I’ve previously shared in How Postman Engineering Does Microservices, all software architectures are a continuous work in process. Operating in the real world means occasionally re-evaluating old ways of thinking to adjust to new circumstances. That is the natural evolution of software design.

Here is the story of how Postman engineers developed the Bifrost websocket gateway by chipping away…

Simplify deployment for multiplayer Minecraft on a self-hosted Raspberry Pi server using Kubernetes

Just like Minecraft is more fun when a friend shows you how to make torches and avoid creepers, Kubernetes is also less scary with someone to guide the way.

The Minecraft wiki has lots of pointers for setting up your own server. But it doesn’t say how to do it with Kubernetes. I recently learned how easy it is to deploy an app to a local Raspberry Pi with Kubernetes.

Let’s try it again — this time to run a free Minecraft server on Kubernetes.

Unhappy path test cases to ensure proper input validation and error handling

I’ve previously shared how to build resilient APIs with chaos engineering and security hacking with the Big List of Naughty Strings. I’ve also broken some hearts, so I have some experience with breaking things. In this post, let’s go beyond basic test automation in Postman, and learn why intentionally trying to break things increases the resilience of your applications. We’ll also explore some common negative test scenarios.

Happy path vs. Unhappy path

During product design and development, stakeholders focus on intended user behavior. Product owners describe this happy path with business requirements. Engineers push code to enable users to do these things. …

See how you measure up to these nine better practices for Postman documentation

I’ve previously talked about the traits of a good collection. While not all collections grow up to be documentation, collections are the foundational building blocks for all Postman documentation viewable on the web. Here, I’m going to talk about the traits of good documentation.

Postman documentation has become widely adopted across the API community because it enables better collaboration and API adoption. Let’s learn from the thousands of publishers who document their APIs in Postman — like Microsoft, Twitter, and Dropbox — and find out what makes their documentation successful.

What is good documentation?

Effective documentation teaches someone how to use your API. Since…

Custom reports for more control over your own data

Some mysteries in life can only be answered by data. For example, if you have questions about your Twilio usage, there are a few ways to dig into the data. There are prebuilt summaries and graphs of your activity in the Twilio console, and if you’re handy with a spreadsheet, you can export the data. There are also third-party providers with out-of-the-box analytics and visualizations.

In the case that nothing answers your particular question, this tutorial shows you how to make custom reports using the Twilio REST API to access your data and drive your own insights.

Tutorial requirements

  • Python version 3

Set up a CronJob to check for satellites

SpaceX is launching thousands of Starlink satellites to assemble a giant interconnected constellation in space. If you look up at just the right time, you might be lucky enough to spot some. But how can you know ahead of time when a satellite is going to pass overhead?

You don’t have to count on luck to see these tiny silver ants parading across the night sky. This tutorial shows you how to set up a scheduled job to check if a satellite approaches and send an SMS alert out to notify you.

Tutorial Requirements

  • Python version 3
  • A personal phone number to…

A microservices update about domain-driven squads, CDC testing, and happily ever after

A couple years ago, Postman CTO and co-founder Ankit Sobti shared Postman’s struggle to escape from a microservices dependency hell. If you want to learn more about how and why Postman Engineering ventured into microservices, check out Ankit’s story.

This is an update — here’s how Postman Engineering does microservices today.

Who is Postman Engineering?

Postman Engineering has 100+ engineers working across eight locations around the world. The company just announced a Series C round of funding, so things are bound to evolve as with any growing startup.

Let’s dive into how these teams are organized. …

Three options for public access to a Philips Hue light — go ahead, turn on the lights in my kitchen

In a recent Livestream with my teammate Arlemi, we unboxed some lights and messed around with the Philips Hue Lights API. We figured out how to turn on the light and change the colors using an API.

Then Arlemi queried a weather API — he wanted to update the light based on the weather forecast.

But the light was with me in San Francisco. And Arlemi was in London. So I was the only one who could update the device during the Livestream.

So the challenge began: how could I let Arlemi, and the…

Slow your roll by building a simple rate limiter to improve the availability of your API-based services

Rate limiting can protect and improve the availability of your API-based services. If you’re talking to an API and receive the HTTP 429 Too Many Requests response status code, you’ve been rate limited. That means you’ve exceeded the number of requests allowed within a given period of time. Slow your roll and wait a bit, before trying again.

Why rate limit?

When you’re thinking about limiting your own API-based service, you need to balance tradeoffs between user experience, security, and performance.

Don’t gamble accessing self-hosted services on a Raspberry Pi when you’re away from home and your IP changes

Most internet service providers (ISPs) give residential customers a dynamic IP address. They pull from a pool of IP addresses and allocate one to a home. Since the IP address might change in a few months or even in a few hours, it can be hard to consistently access your personal computer when you’re away from home.

Setting up a dynamic DNS (DDNS) service gives you reliable access to self-hosted services, like a personal website, a Minecraft server, or just your home computer. …

Joyce Lin

coding and cats in San Francisco

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store