Bruno Pedro


November, 2024

Permalink: 20241119151234

Found at “Causal Islands Berlin 2024” on 2024-11-19 15:12:34 +01:00.

Causal Islands is a conference about the future of computing and a home for new perspectives ranging from deeply technical insights to sharp socio-political analysis.

Permalink: 20241119124718

How do AI agents identify themselves when consuming APIs? Agents are acting on behalf of people, so can they potentially use OAuth 2? Or something else? What about AI agents that act on behalf of other agents? Do we need a different authorization framework?

Permalink: 20241114103310

Found at “No-code, no thought? Substrates for simple programming for all - Tomas Petricek” on 2024-11-14 10:33:10 +01:00.

The idea of programming substrates is generalizing the usual distinction between programming a software system and using a software system.

Permalink: 20241114102943

Found at “Codestrates v2 | Codestrates v2” on 2024-11-14 10:29:43 +01:00.

With Codestrates, you can create dynamic webpages (or webstrates as we call them) that can be edited directly from within the browser — and editing can also be done collaboratively.

Permalink: 20241112122907

The secret to the most creative people I know is they work within a framework and that’s what allows creativity to flow.

Permalink: 20241109165306

What is API Quality?. I published this post on LinkedIn on October 2024. I wanted to understand how people familiar with APIs would define quality. The answers varied significantly but mostly revolved around the notion of technical quality. Image

Here’s a summary of the answers I captured from my LinkedIn post where I asked “What is API Quality?”

One kind of answer points toward a maturity model, hinting that quality is a technical aspect. The idea is to have a multi-dimensional model that includes what the Richardson and Amundsen (PDF) models offer, adding other layers.

Another view gives importance to the functional interface. There’s no quality if the API doesn’t offer what consumers need. Or, in short, quality is tied to usability. To achieve that, there are aspects such as consistency of interface, and semantic clarity, that should be taken into account. I still see this type of quality as technical.

Some answers connect quality to governance and point out that it’s often not easy to convince people the two are tied. Things like linting, having rules that enforce consistency and naming, and making sure APIs use the right architecture and types of operations are part of this line of thought.

Permalink: 20241107223940

Alan Kay refers to the “Creative Magic” as “Good Woowoo.” (20240306160214)

Permalink: 20241107162227

According to Seth Godin, there are three kinds of quality:

  1. Technical.
  2. Luxury.
  3. Creative magic.

Having technical quality means things work according to specs. Luxury means there’s something about the product that makes it special to consumers. This is often what most people understand as quality. The third kind of quality is the most interesting one. Creative magic is the less-understood attribute that makes people love your product to the point they feel special when using it. Creative magic is what makes consumers recommend your product.

—from The Practice, pp. 75–77

Permalink: 20241106175323

An abstraction provides a higher-level vocabulary that shields the user from the underlying complexity.—Gregor Hohpe

Permalink: 20241101230335

Found at “The Dual Nature of Events in Event-Driven Architecture” on 2024-11-01 23:03:35 +00:00.

events that travel between services have a dual role: They trigger actions and carry data.

October, 2024

Permalink: 20241030144316

Found at “Engraft” on 2024-10-30 14:43:16 +01:00.

Engraft is an API that makes live & rich programming interfaces powerful and practical through composition.

Permalink: 20241029153437

What’s important is expressing your program as what you want it to do. Not a set of instructions on how to do it. Letting the computer itself figure out how to do it.—Bret Victor

Permalink: 20241026183145

Most OpenAPI editors aren’t doing what I think they should. They focus on two things: linting the OpenAPI document and rendering an API reference preview. The second thing puts the focus on creating good-looking API references. API creators will, naturally, try to write their OpenAPI documents so that the API reference looks nice.

When you’re creating, you want to see a preview of what you create. When you write code, you want to see the output of the code running. When you write a markdown document, you want to see it rendered—either in place or on a new panel. When you write an OpenAPI document, you want to see the API it defines running. What you want is to feel the result of what you’re creating.

Permalink: 20241023101956

Found at “The Strategy Questions | Seth’s Blog” on 2024-10-23 10:19:56 +02:00.

Where are the non-believers, and how do I avoid them?

Permalink: 20241010161954

Found at “Tenno” on 2024-10-10 16:19:54 +02:00.

You can think of Tenno as a mix of Word and Excel with a touch of Obsidian, Markdown and Javascript.

Permalink: 20241009160929

Found at “Potluck: Dynamic documents as personal software” on 2024-10-09 16:09:29 +02:00.

it’s critical that the system can provide immediate feedback as a user types and help them develop consistent expectations for how the system will interpret their text.

Permalink: 20241008222032

I’ve been using the first prototype of my API Assistant for a couple of weeks, and it feels like magic. The prototype automatically creates an API server based on the content of an OpenAPI document. I don’t need to write any code or generate any “server stubs” to have my API running. It just updates itself every time I change the OpenAPI document.

Permalink: 20241006153042

Found at “Prototyping APIs with OpenAPI - by Bruno Pedro” on 2024-10-06 15:30:42 +02:00.

I built a personal system for interpreting OpenAPI documents and using them as the only thing needed to run an API

September, 2024

Permalink: 20240929180145

Found at “Alan Kay On Messaging” on 2024-09-29 18:01:45 +02:00.

The key in making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be.—Alan Kay

Permalink: 20240927112717

Found at “[1802.07068] Talent vs Luck: the role of randomness in success and failure” on 2024-09-27 11:27:17 +02:00.

if it is true that some degree of talent is necessary to be successful in life, almost never the most talented people reach the highest peaks of success, being overtaken by mediocre but sensibly luckier individuals

Permalink: 20240923221223

Found at “The Intelligence Age” on 2024-09-23 22:12:23 +02:00.

(…) humanity discovered an algorithm that could really, truly learn any distribution of data. To a shocking degree of precision, the more compute and data available, the better it gets at helping people solve hard problems.—Sam Altman

Permalink: 20240919163401

Found at “Paper Programs” on 2024-09-19 16:34:01 +02:00.

I liked how you could physically hold a program in your hands, and then put on any surface in the building, where it would start executing, as if by magic.

Permalink: 20240918153643

Found at “howard rheingold’s | tools for thought” on 2024-09-18 15:36:43 +02:00.

A few of the pioneers of personal computing who still work in the computer industry can remember the birth and the dream

Permalink: 20240912192817

Found at “Learning to Reason with LLMs | OpenAI” on 2024-09-12 19:28:17 +02:00.

We are introducing OpenAI o1, a new large language model trained with reinforcement learning to perform complex reasoning.

Permalink: 20240912141406

Found at “Tidy data” on 2024-09-12 14:14:06 +02:00.

Tidy datasets are easy to manipulate, model and visualize, and have a specific structure: each variable is a column, each observation is a row, and each type of observational unit is a table.

Permalink: 20240911114014

A new omniauth-saml RubyGem version has been released. It mostly fixes security issues related to SAML signatures.

Permalink: 20240910095600

Found at “Why GitHub Actually Won” on 2024-09-10 09:56:00 +02:00.

We cared about the developer experience and had the creativity to throw away assumptions about what it was supposed to be and build how we wanted to work. Everyone else tried to build what they thought they could sell to advertisers or CTOs.

Permalink: 20240908154603

Extensive use of glass in architecture. (…) the extensive use of glass makes the walls appear to be so light that they seem to negate the conventional laws of tectonics.—Sigel, Gilbert Lupfer & Paul. Gropius. Germany: TASCHEN, 2017. Image

Permalink: 20240908145842

Found at “API Complexity Is a Lie - by Bruno Pedro” on 2024-09-08 14:58:42 +02:00.

Anyone telling you that working with APIs is hard isn’t telling the truth. What is hard isn’t the API. It’s all the tools, processes, and technical language surrounding it.

Permalink: 20240908142926

(…) design should not dominate things, it should not dominate people. It should help people.—Dieter Rams

Permalink: 20240904141932

Found at “11 · Universal comments” on 2024-09-04 14:19:32 +02:00.

When building this system, we aimed to find a minimal API that expresses only the app-specific parts of commenting.

August, 2024

Permalink: 20240830163323

Helping people understand the complexity of navigating enterprise CI/CD tools is under-appreciated. With APIs, it’s not easy to go from having just an idea and go through the whole lifecycle to something that’s running and deployed in production. Whoever understands how that’s done—and can do it—has an advantage over those who specialize in just one or a few steps of the process.

Permalink: 20240828152850

Found at “HTTP Mocking | Prism” on 2024-08-28 15:28:50 +02:00.

If a response has an example, it will be used for that response. If there are multiple examples, then they can be selected by name.

Permalink: 20240823163521

It’s taken me years to come to the conclusion or to the belief that probably the only thing one can really learn is the capacity to be able to change.—Philip Guston

Permalink: 20240822132014

Found at “Semantic Versioning 2.0.0 | Semantic Versioning” on 2024-08-22 13:20:14 +02:00.

Should you increase the API version when deprecating one or more operations?

Deprecating existing functionality is a normal part of software development and is often required to make forward progress. When you deprecate part of your public API, you should do two things: (1) update your documentation to let users know about the change, (2) issue a new minor release with the deprecation in place. Before you completely remove the functionality in a new major release there should be at least one minor release that contains the deprecation so that users can smoothly transition to the new API.

Permalink: 20240820155851

Found at “Seth’s Blog” on 2024-08-20 15:58:51 +02:00.

If the writing you’re doing doesn’t need to be in an idiosyncratic voice, take your memo, paste it into claude.ai and say, “please rewrite this to make it clear, cogent, positive and concise.”

Permalink: 20240820091836

So naive…

Found at “GitHub - wasi-master13ft: My own custom 12ft.io replacement” on 2024-08-20 09:18:36 +02:00.

It pretends to be GoogleBot (Google’s web crawler) and gets the same content that google will get. Google gets the whole page so that the content of the article can be indexed properly and this takes advantage of that.

Permalink: 20240819154100

I’ve been out walking

I don’t do too much talking these days

These days

These days I seem to think a lot

About the things that I forgot to do

And all the times I had

A chance to

—Nico

Permalink: 20240814162057

Found at “Things I learned from teaching” on 2024-08-14 16:20:57 +02:00.

Getting people to code in person is actually quite difficult, and if there’s only one of me, I can’t keep up with every student at once.

Permalink: 20240814092115

Found at “Using OpenAPI to Document the API Operations You Consume” on 2024-08-14 09:21:15 +02:00.

You could use the OpenAPI document as a source of truth for all the APIs you consume. Instead of having to update all the code that consumes third-party APIs you could simply make it read the OpenAPI document and grab the details of the operation you need.

Permalink: 20240807143422

Found at “API Governance Delivers Quality - by Bruno Pedro” on 2024-08-07 14:34:22 +02:00.

How do you unpack the notion of governance that Seth Godin shares? If governance antagonizes with politics, then what are the forces driving it? Is the role of governance to give an excuse to who’s leading to enforce their opinions? I don’t think so. I wrote about it before and I think governance is what drives quality. In the world of products that’s the quality consumers perceive. In the world of politics that’s the quality of life of a country or an administrative region.

Permalink: 20240807123028

Found at “Politics vs. governance | Seth’s Blog” on 2024-08-07 12:30:28 +02:00.

Governance is the serious business of taking responsibility for leadership.

Permalink: 20240807093218

Lately, I’ve been feeling the internet speed at home is slower than it could be.

I’ve recently moved and, while before I had a 10Mbps connection in the room where I usually type from, now I have everything wired to reach the maximum available speed. So, I was surprised to get ~100Mbps and not more than that. I finally found what the problem was. I was using a CAT5 Ethernet cable. I quickly replaced it with a CAT5e and the problem was solved. I’m now getting speeds of over 500Mbps, which feels fast.

Permalink: Starting from scratch

Sometimes in life, you’re surprised with a situation that takes you a few steps back. Or, all the way to step zero. The first reaction is to panic. To get into a survival mood. To try to get back what you lost at all costs as quickly as you can.

While the change in the situation itself is a fantastic learning opportunity, starting from scratch is a gift. Starting from scratch gives you the chance to reinvent yourself. Of rethinking who you really are. Answering questions such as “Was I doing what I really wanted to be doing?” Or, “Was I being real to what I believe?” More often than not, the answers aren’t positive.

That’s why I see starting from scratch as a way to be born again. When you have nothing to lose, you’re free to do whatever you want. Embracing change is more powerful than fighting it.

Permalink: 20240802112814

Found at “What are you thinking about? | Seth’s Blog” on 2024-08-02 11:28:14 +02:00.

What are you working on? When will you change your mind? What can you learn, what can you challenge?

July, 2024

Permalink: 20240708220418

Found at “The Right Kind of Stubborn” on 2024-07-08 22:04:18 +02:00.

The persistent are attached to the goal. The obstinate are attached to their ideas about how to reach it.

Permalink: 20240708093811

Found at “It Needs to Scale | API Evangelist” on 2024-07-08 09:38:11 +02:00.

I don’t trust API providers, and I don’t trust API service providers anymore. I don’t trust them to be good stewards of API search indexes.

Perhaps the vision for APIs.io is that it grows by creating a federated network of API consumers.

Permalink: 20240705144952

Found at “Deactivating an API, One Step at a Time” on 2024-07-05 14:49:52 +02:00.

There are times when you have to stop serving an API. It might be that you want to replace it with a new, more capable version, or the features the API was providing no longer make sense. Whatever the reasons, what’s important is that no one depends on the API you’re about to kill. Otherwise, the consequences can be unpredictable.

API deactivation stages. The five stages of API deactivation: consumer limitation, consumer discovery, API deprecation, API sunset, and API deactivation. As you progress through the API deactivation stages the number of consumers decreases. Image

Permalink: 20240703165112

Found at “The Reasons for Using HTTP POST or PUT | API Evangelist” on 2024-07-03 16:51:12 +02:00.

Why Stripe API uses HTTP POST when it could use PUT?

The answer was simple, their customers utilized integration solutions that couldn’t support HTTP PUT

Permalink: 20240701220650

Found at “An Open Letter to the United Nations” on 2024-07-01 22:06:50 +02:00.

The Internet is an unusual technology because it is fundamentally distributed. It is built up from all of the participating networks.

Permalink: 20240701122452

Found at “The simple way to get better at business writing | Seth’s Blog” on 2024-07-01 12:24:52 +02:00.

Don’t do business writing.

Permalink: 20240701093005

Found at “Documentation | Pipes” on 2024-07-01 09:30:05 +02:00.

you can think of Pipes as a visual programing editor specialized on feeds, or a visual shell, or simply as a glorified feed configurator