On a previous episode of Go Time we discussed binary bloat, and how the Go protocol buffer implementation is a big offender. In this episode we dive into the history of protocol buffers and gRPC, then we discuss how the protocol and the implementation can vary and lead to things like binary bloat.
How using OpenAPI (previously called Swagger) has led to being able to ship a new service more effectively, by removing the need to write scaffolding, and instead focus on the business logic.
Here’s one of the 15 language-agnostic, actionable tips on REST API design:
Use conventional HTTP status codes to indicate the success or failure of a request. Don’t use too many, and use the same status codes for the same outcomes across the API.
Smile Egbai had a solid rant about this on Go Time recently.
Natalie and Johnny are joined by the co-founders of APIToolkit for a deep-dive on the topic. We discuss building them, maintaining them, how can we all be better users, and much more along the way.
“Think TCPDump and Wireshark re-invented for Kubernetes.”
Our progress with safeguards makes it possible to remove the waitlist for GPT-3. Starting today, developers in supported countries can sign up and start experimenting with our API right away.
Good news for anyone still waiting around for access.
A curated list of awesome internet services that normally you would have to register for, but due to clever approaches on the part of the service you can use without registering, creating an account and filling endless forms.
Sometimes you just want want some help getting stuff done, but you don’t want to sign up for yet another web service. These sites/services have all figured out how to help you get that done.
In its creator’s own words:
It’s an API development ecosystem. Supports many API protocols. This project has crossed 31.6k+ GitHub stars in 2 years. One of the most growing open source projects in Asia / World.
Try it for yourself at Hoppscotch.io
In gaming, MOBA (multiplayer online battle arena) players have a mental framework for describing just what kind of player is empowered by different characters. This framework describes all characters in terms of two statistics: their skill floor and their skill ceiling.
Ain was born out of the frustration of working with many API endpoints in GUI clients.
While pretty, I could’t use any shell-scripts or commands such as
uuidgen as input to the endpoints without copy pasting from a terminal. And I had to copy-paste the resulting output back into the terminal to further slice and dice it.
I had become a human pipe and my ctrl+c, ctrl+v fingers were hurting. By using
httpie for the heavy lifting, Ain removes you from the piping of input and output. With Ain, you can:
- Organize API endpoints using files and folders
- Use shell-scripts and executables anywhere
- Put things that change in environment-variables or .env files
- Share the resulting curl or http(ie)-call with friends and foes
- Pipe any output for further processing
Straight outta Nightly — DiceBear gives you access to several avatar libraries via a free HTTP-API.
This is quite a resource coming from a team whose API has always impressed me.
If APIs are designed well, developers will love them, and can become the most creative innovators using your APIs. They will invest heavily, and sometimes even become evangelists for your APIs. We also value a developer’s time and the resource they risk by building on our platform. Bad API design leads to a bare minimum adoption, and even frustration. Bad APIs become a liability for a company.
They share their six design principles as well as the process they follow through to implementation. A must-read for anyone who designs and builds APIs for fun and profit.
In this episode, Gerhard follows up on The Changelog #375, which is the last time that he spoke Crossplane with Dan and Jared. Many things changed since then, such as abstractions and compositions, as well as using Crossplane to build platforms, which were mostly ideas.
Fast forward 18 months, 2k changes, as well as a major version, and Crossplane is now an easy choice - some would say the best choice - for platform teams to declare what infrastructure means to them. You can now use Crossplane to define your infrastructure abstractions across multiple vendors, including AWS, GCP & Equinix Metal. The crazy ideas from 2019 are now bold and within reach. Gerhard also has an idea for the changelog.com 2022 setup. Listen to what Jared & Dan think, and then let us know your thoughts too.
There was a glorious (albeit too short) period on the web when we were mashing up APIs from various startups and tech companies to create cool stuff. Then things changed. The web grew up, became Serious Business™️, and free/public APIs got harder and harder to find. Turns out, there’s still a bunch of good ones out there!
This repo has collected them in one long, categorized list for us to reference. 👏
This week Adam is joined by Asim Aslam, the founder of Micro - a new cloud platform entirely focused on the developer experience of consuming and publishing public APIs. Asim’s journey spans many years of open source work on Micro. His sole focus right now, is evolving that work into a commercially viable business. This episode is jam-packed with stories of great timing, grit, resilence, success and failure, and, of course, lessons learned.
You may have heard that Dark Sky (the beloved weather app for iOS) was acquired by Apple and its accompanying developer API will be shut down soon, which left a lot of devs scrambling for alternatives. Enter the PirateWeather API:
Weather forecasts are primarily determined using models run by government agencies, but the outputs aren’t easy to use or in formats built for applications. To try to address this, I’ve put together a service (built on AWS Lambda) that reads public weather forecasts and serves it following the Dark Sky API style.
It’s in beta at the moment, but it appears the author has put a lot of thought into it.
This API supports multiple deep learning frameworks (TensorFlow, PyTorch, etc), supports multiple hardware accelerators (CPU, GPU, egdeTPU), and is based on open source models. You can think of it a bit like the Google’s Cloud Vision API, only open source and self-hosted.
tRPC doesn’t generate code for you, add functions to your run-time, or require any additions to your build pipeline. It simply allows your client code to be aware of your server-side type annotations and declarations so you can have type-safety and autocompletion inferred from its API paths, input/output data, and errors.
Suz, Amal, and Chris join Jerod to discuss what APIs are all about, share some APIs they admire, and lay out principles and practices we can all use in our APIs.
Darius Kazemi writing in Issue #14 of Increment magazine:
HTTP status codes are largely an accident of history. The people who came up with them didn’t plan on defining a numerical namespace that would last half a century or work its way into popular culture. You see this pattern over and over in the history of technology.
Because technology isn’t immune to historical contingency, it’s important for us as engineers to remember that long-lasting technical inflection points can occur at any time. Sometimes we know these decisions are important when we’re making them. Other times, they seem perfectly trivial.
Twitter has officially released its new API, aka version 2. Introduced with an astonishing video and proudly promoted as a rebuild “from the ground up to better support developers”, including business, academic researchers, students, and makers.
I was really excited to see the new opportunities that it brings. While still in an early access phase, I must say that I’m a bit disappointed so far…
Poodle’s features include:
- Register your web services and endpoints easily.
- Use variables in endpoints definitions.
- Painless debugging and interaction with APIs.
- Search web services and endpoints interactively.
- Edit services and endpoints easily (config is just a TOML file).
- Sync services via Gist automatically.
For years now I’ve been asking AI/ML experts when these powerful-yet-complicated tools will become available to average developers like you and me. It’s happening! Just look at how high-level this text generation code sample is:
import openai prompt = """snipped for brevity's sake""" response = openai.Completion.create(model="davinci", prompt=prompt, stop="\n", temperature=0.9, max_tokens=100)
They’re oftening all kinds of language tasks: semantic search, summarization, sentiment analysis, content generation, translation, and more. The API is still in beta and there’s a waitlist, but this is exciting news, nonetheless.
Use the source code to your heart’s desire or hop over to the deployed version and use the API itself (there is a free plan available) right here
Access data on COVID19 through an easy API for free. Build dashboards, mobile apps or integrate in to other applications.
Thanks to Johns Hopkins CSSE for making the data available.