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
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:
- Technical.
- Luxury.
- 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
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.
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