Bruno Pedro's public notes
November, 2023
Permalink: 20231127161809
Found at “ApiDOM Validator · Actions · GitHub Marketplace” on 2023-11-27 16:18:09 +01:00.
This GitHub Action validates OpenAPI 3.x.y / AsyncAPI 2.x definition file using ApiDOM Language Service.
Permalink: 20231126232202
Found at “Frost-groupThe-Oracle-of-Zotero: LLM Chain querying a scientific Zotero library, with citations” on 2023-11-26 23:22:02 +01:00.
a minimal package for doing question and answering from PDFs or text files (which can be raw HTML). It strives to give very good answers, with no hallucinations, by grounding responses with in-text citations.
Permalink: 20231124181615
Found at “The Failed Commodification Of Technical Work — Ludicity” on 2023-11-24 18:16:15 +01:00.
You can try all you want to reduce the delivery of features to a Jira board and mumbling about Agile, but you’re not going to get anything worthwhile out of people if you can’t connect with them.
Permalink: 20231120094444
Found at “<> htmx ~ Why I Tend Not To Use Content Negotiation” on 2023-11-20 09:44:44 +01:00.
I prefer to split my JSON and hypermedia APIs up into separate controllers, rather than use HTTP content negotiation to attempt to reuse controllers for both.
Permalink: 20231115110933
Found at “Text generation - OpenAI API” on 2023-11-15 11:09:33 +01:00.
Chat Completions are non-deterministic by default (which means model outputs may differ from request to request). That being said, we offer some control towards deterministic outputs by giving you access to the seed parameter and the system_fingerprint response field.
Permalink: 20231114181725
as far as I can tell, nothing else on this planet and nothing else in the Universe cares about anything. Those trees or the little animals running around, they don’t care.—Geoffrey West
Permalink: 20231110161520
Found at “Actions - OpenAI API” on 2023-11-10 16:15:20 +01:00.
In the OpenAPI specification, you can now set certain endpoints as “consequential”
By using the x-openai-isConsequential
field, you can signal to the ChatGPT UI that it needs to ask the user for confirmation before running an action. Interesting.
Permalink: 20231110160852
Found at “Automa - An extension for browser automation - Automa” on 2023-11-10 16:08:52 +01:00.
Automa is a browser extension for browser automation. From auto-fill forms, doing a repetitive task, taking a screenshot, to scraping data of the website, it’s up to you what you want to do with this extension.
Permalink: How an API can increase the retention rate
Why is retention rate so important and how can an API help increase it?
While reviewing the Customer Lifetime Value (CLTV) concept and its relationship with APIs, I returned to an article I wrote in 2014.
In the article, I explore how APIs can increase your revenue. I also explain what CLTV is and show that retention is the number one metric that affects it dramatically. While increasing your ARPU makes the CLTV grow linearly, the relationship between retention and CLTV is exponential (see the chart).
And having an API is a way to increase retention because it puts your product directly inside your users’ workflows. The more developers integrate your API with other products, the more frequently it will be used.
Permalink: 20231108151937
Found at “Chamberlain blocks smart garage door opener from working with smart homes | Ars Technica” on 2023-11-08 15:19:37 +01:00.
Our immediate question is why would any garage opener company care about customers using its garage door opener. You sell garage door openers—isn’t usage the goal?
Permalink: 20231108151815
Found at “Removal of MyQ integration - Home Assistant” on 2023-11-08 15:18:15 +01:00.
MyQ integration will be removed from Home Assistant in the upcoming 2023.12 release on December 6, 2023
Permalink: The power of a platform
Today we’ve got about 2 million developers building on our API for a wide variety of use cases doing amazing stuff, over 92% of Fortune 500 companies building on our products,and we have about a hundred million weekly active users now on ChatGPT.
Permalink: 20231103113841
Found at “LintGPT Opens the Door to Non-technical API Design” on 2023-11-03 11:38:41 +01:00.
If anyone tells you that validating an OpenAPI definition document can only be done by an engineer, they’re wrong.
Permalink: 20231102150945
Found at “gristlabsgrist-core: Grist is the evolution of spreadsheets.” on 2023-11-02 15:09:45 +01:00.
Grist is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the robustness of a database to organize your data and make you more productive.
October, 2023
Permalink: 20231030161207
Found at “Biden to Issue First Regulations on Artificial Intelligence Systems - The New York Times” on 2023-10-30 16:12:07 +01:00.
the White House will outline requirements that the most advanced A.I. products be tested to assure they cannot be used to produce weapons
Permalink: 20231026181337
Found at “instant-devapi: Build type-safe web APIs with JavaScript, instantly” on 2023-10-26 18:13:37 +02:00.
Instant API is a framework for building APIs with JavaScript that implements type-safety at the HTTP interface.
Permalink: Can AI be the spark of non-technical API Design?
In 2019 I wrote a piece where I asked why weren’t companies building API Design tools that make it easier for non-technical people to collaborate in API Design activities. My hunch was that there wasn’t a market big enough to justify the investment in those tools.
Fast forward to 2023 where, according to recent surveys, about 50% of all API consumers aren’t engineers, and around 20% of decision-makers in large companies believe APIs are an integral part of their product. It’s clear that things are changing and APIs are no longer something exclusively technical.
Enter AI, particularly ChatGPT, and you see how it’s possible for a non-technical audience to engage in API Design even without knowing anything about OpenAPI or any other specification. About a year ago, when ChatGPT was still in its infancy, I did a demo video showing how easy it is for anyone to create an API from scratch.
However, ChatGPT is not the ideal interface for engaging in API Design activities. That is why I’m so excited to see API companies paying special attention to offering dedicated products that enable non-technical folks.
I just came out of a call with Aidan Cunniffe from Optic where we talked about their latest offering: LintGPT. It’s a tool that lets anyone write in plain English the linting rules they want to apply to their APIs. Their system then uses AI to “understand” those rules and apply them to existing API definitions.
This is a big deal because suddenly non-technical people, e.g. a product manager, can easily collaborate in the Design of an API. When collaboration around API Design permeates different functions in a company the result will be more consumer-centric and the business results will certainly improve.
I’ll be writing more about LintGPT and this trend I’ve been seeing so stay tuned.
Permalink: 20231026002214
Found at “The Case of a Curious SQL Query • Buttondown” on 2023-10-26 00:22:14 +02:00.
predicate pushdown is a well-known optimization which says that if I have a predicate on an inner join that only references columns from one of its arms, I can push it down into one of those arms and reduce the size of the data I have to join
Permalink: 20231025173531
Found at “AndrewWalshopenapi-devtools: Effortlessly discover API behaviour with a Chrome extension that automatically generates OpenAPI specifications in real time for any app or website” on 2023-10-25 17:35:31 +02:00.
Effortlessly discover API behaviour with a Chrome extension that automatically generates OpenAPI specifications in real time for any app or website.
Permalink: 20231024112128
Found at “Writerside - a new technical writing environment from JetBrains.” on 2023-10-24 11:21:28 +02:00.
Use a single authoring environment – eliminating the need for a wide array of tools. With the built-in Git UI, an integrated build tool, automated tests, and a ready-to-use and customizable layout, you can focus on what matters most – your content.
Permalink: 20231023190552
Found at “Software disenchantment @ tonsky.me” on 2023-10-23 19:05:52 +02:00.
Only in software, it’s fine if a program runs at 1% or even 0.01% of the possible performance. Everybody just seems to be ok with it. People are often even proud about how inefficient it is
Permalink: APIs as the engine of intent-based UIs
Last week I had a great call with Alexandre Airvault from Blobr. During the call, he showed me their latest product: an “AI copilot” that connects to your APIs and lets users engage in a conversational way.
The technology lets you connect your OpenAPI definition to an engine that streamlines the process of interacting with AI and establishing the conversational UI. All amazing to see and done beautifully.
However, what impresses me is how technologies such as the one Alex is building create a new kind of UI that is not based on commands. Instead, users can define what they want and the system makes that happen for them.
Another example is what Dario Di Carlo is building with Bricks. While Blobr makes an API available through a conversation, Bricks lets you connect to several APIs and orchestrate tasks following an intent-based approach.
I know this is just the beginning and we’re just scratching the surface of what’s possible. I can’t wait to see how the combination of APIs and AI will evolve to deliver intent-based UIs in the future.
Permalink: Choosing between HTTP 403 and 404
How to choose between an HTTP 403 and a 404 error?
I’m expanding a recent post by Christos Gkoros where he asked what error code you’d return in two situations:
- When the requested resource doesn’t exist.
- When the consumer doesn’t have permission to access the resource.
My answer was “It depends.” I wrote that if the collection or resource isn’t considered public information, e.g. a private profile, then the client should receive a 404. If, on the other hand, the collection is considered public information, then the client should receive a 403.
I didn’t come up with this answer. I was simply translating the information available on RFC 7231 § 6.5.3. This section explains how the HTTP 403 works and also mentions that:
An origin server that wishes to ‘hide’ the current existence of a forbidden target resource MAY instead respond with a status code of 404 (Not Found).
Section 6.5.4 of the same RFC mentions that:
The 404 (Not Found) status code indicates that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
So, the RFC suggests you should use 404 whenever you wish to hide the requested resource’s existence, even when the consumer doesn’t have access to it.
Permalink: 20231018214956
Found at “Launch HN: Pier (YC W23) – Stripe for Credit | Hacker News” on 2023-10-18 21:49:56 +02:00.
Pier is an API for launching credit products. We enable any company to offer credit by handling origination, underwriting, compliance and servicing with just a few lines of code.
Permalink: 20231011221813
Found at “Modern SQL: A lot has changed since SQL-92” on 2023-10-11 22:18:13 +02:00.
Since 1999, SQL is not limited to the relational model anymore.
Permalink: 20231011220543
Found at “Tim O’Reilly on the Attention Economy” on 2023-10-11 22:05:43 +02:00.
we don’t yet understand how attention rents will show up in emerging AI services
Permalink: 20231011175647
Found at “AI: First New UI Paradigm in 60 Years” on 2023-10-11 17:56:47 +02:00.
AI is introducing the third user-interface paradigm in computing history, shifting to a new interaction mechanism where users tell the computer what they want, not how to do it
Permalink: 20231011175612
Found at “Noncommand User Interfaces: Article by Jakob Nielsen” on 2023-10-11 17:56:12 +02:00.
Several new user interface technologies and interaction principles seem to define a new generation of user interfaces that will move off the flat screen and into the physical world to some extent.
Permalink: API Product Discovery calls
Product discovery calls are a crucial part of a successful API.
Continuing my journey of building the apidays public API, I’ve been interacting with a few of you on product discovery calls.
First, I want to thank all those that have scheduled calls with me. I’ve been learning a lot from the challenges and opinions that you’ve been sharing about apidays and conferences, in general.
So far I’m seeing a few interesting patterns. However, I still want to have more calls to be able to crystallize my findings into potential benefits and features.
Permalink: Skills of an API product manager
Should API Product Managers be tech-savvy or business-focused?
My opinion is they should be both tech-savvy and business-focused. Let’s first look at the technical skills that API Product Managers should have:
- Understanding the technology: API Product Managers should have a deep understanding of the technical aspects of APIs, including how they work, different protocols, and industry standards. This knowledge is crucial for effective communication with development teams and ensuring that APIs meet technical requirements.
- Problem-solving: Technical proficiency enables API Product Managers to efficiently identify and solve technical challenges. They can assess the feasibility of feature requests, evaluate trade-offs, and make informed decisions on technical matters.
What about the business-related skills?
- Market understanding: API Product Managers need to understand market dynamics, user needs, and industry trends. They should be able to identify market opportunities and align API development with business goals.
- Strategic thinking: Business-focused API Product Managers can develop a clear product strategy and measure the impact of APIs on the organization’s bottom line. They prioritize features based on business value and user impact.
- Stakeholder management: Effective communication and collaboration with cross-functional teams, executives, and customers are essential. Business acumen helps API Product Managers navigate relationships, secure buy-in, and advocate for the product’s success.
In summary, I believe API Product Managers should be generalists with both technical and business skills. They should be able to communicate technical concepts in business terms and vice versa, ensuring that API products align with strategic objectives while meeting technical requirements.
Permalink: Single-feature API
There are many advantages to building a single-feature API:
- Low cost.
- Fast time-to-market.
- Fast validation.
A single-feature API offers a unique value proposition that’s easy to articulate and communicate.
Permalink: 20231007180234
Found at “Announcing Deno Queues” on 2023-10-07 18:02:34 +02:00.
Deno Queues, built on Deno KV, allow you to offload parts of your application or schedule work for the future to run asynchronously, with two new simple APIs with zero configuration or infrastructure to maintain.
Permalink: Unit of value of an AI platform
Earlier this year I wrote an article describing how OpenAI created a platform with the help of plugins—and APIs.
We’ll transition into a stage where API products will be focused on single features so chat users can easily consume them.
The focus here is “on single features.” Why?
AI systems that are open have to inherently be able to connect to other systems to perform actions. By contrast, closed AI systems offer access to actions as internal features.
OpenAI, for instance, can’t perform any actions on its own, other than the ones related to language understanding and manipulation. Try, for instance, to ask ChatGPT to make a drawing of a house. It will tell you it can’t draw things because it’s a text-based model. More sophisticated actions are even harder for the system to perform, so it relies on external systems.
The unit of value of an AI platform is a single action. The AI platform acts as an aggregator of actions. It can pick which actions to perform based on the perceived intent of the user it interacts with.
To thrive in this AI-oriented system APIs have to adapt and offer one feature with very high quality.
Permalink: 20231005105740
Found at “Intercom on Product: Product strategy in the age of AI - The Intercom Blog” on 2023-10-05 10:57:40 +02:00.
As new AI-native startups and industry giants navigate the AI revolution, the product landscape is undergoing a profound transformation.
Permalink: 20231003102428
Found at “Vector database is not a separate database category” on 2023-10-03 10:24:28 +02:00.
As generative AI takes off, a sizable fraction % of queries will be done in a “dense vector search” fashion. No database company is insane enough to lose this workload. Thus, pretty much any database that can store text will provide vector search.