Philosophy Mondays: Human-AI Collaboration
Today's Philosophy Monday is an important interlude. I want to reveal that I have not been writing the posts in this series entirely by myself. Instead I have been working with Claude, not just for the graphic illustrations, but also for the text. My method has been to write a rough draft and then ask Claude for improvement suggestions. I will expand this collaboration to other intelligences going forward, including open source models such as Llama and DeepSeek. I will also explore other moda...

Intent-based Collaboration Environments
AI Native IDEs for Code, Engineering, Science
Web3/Crypto: Why Bother?
One thing that keeps surprising me is how quite a few people see absolutely nothing redeeming in web3 (née crypto). Maybe this is their genuine belief. Maybe it is a reaction to the extreme boosterism of some proponents who present web3 as bringing about a libertarian nirvana. From early on I have tried to provide a more rounded perspective, pointing to both the good and the bad that can come from it as in my talks at the Blockstack Summits. Today, however, I want to attempt to provide a coge...
Philosophy Mondays: Human-AI Collaboration
Today's Philosophy Monday is an important interlude. I want to reveal that I have not been writing the posts in this series entirely by myself. Instead I have been working with Claude, not just for the graphic illustrations, but also for the text. My method has been to write a rough draft and then ask Claude for improvement suggestions. I will expand this collaboration to other intelligences going forward, including open source models such as Llama and DeepSeek. I will also explore other moda...

Intent-based Collaboration Environments
AI Native IDEs for Code, Engineering, Science
Web3/Crypto: Why Bother?
One thing that keeps surprising me is how quite a few people see absolutely nothing redeeming in web3 (née crypto). Maybe this is their genuine belief. Maybe it is a reaction to the extreme boosterism of some proponents who present web3 as bringing about a libertarian nirvana. From early on I have tried to provide a more rounded perspective, pointing to both the good and the bad that can come from it as in my talks at the Blockstack Summits. Today, however, I want to attempt to provide a coge...
>400 subscribers
>400 subscribers
Share Dialog
Share Dialog
Finally getting around to my fourth cloud principle: In the cloud it should be easy to consume and produce web services. When you build something in the cloud, you should be able to focus on the essential innovation of your site or service and be able to rely on other web services for everything else. Conversely, it should be easy for you to expose any part of your site or service as a web service that someone else can consume. Together this is what I call “ease of assembly.”
We have made huge progress in this area, but much still needs to be done. First the progress. There was a time when programming languages consisted (almost) entirely of the primitives of the language and developers were essentially starting from scratch every time. By contrast, most of the languages in common use today come with extensive libraries that facilitate reuse of large chunks of code for complicated tasks. In the last decade we also managed to come up with ways of delivering such functionality over the web in the form of a web service. For some tasks this is a big improvement over using libraries, as the web services bundle more functionality and run on someone else’s hardware. For instance, take the problem of finding references to companies in an XML document. Sure you could take an XML library, load the document, look for keywords, maybe check those against a database over company names, etc. or you could use Reuters’ Open Calais web service which does it all for you.
Now for the still to do part. While consuming web services at a basic level is very simple – often a few lines of code, when you do it at scale and in something that might be a commercial offering there are lots of things you’d like to get that those few lines of code won’t get you, such as stats on your requests (how many did you send? how many errors were generated? what was the response time? etc). Producing web services at scale is even harder. Now you need to deal with issues such as authentication, throttling requests, potentially providing an SLA, etc.
Startups such as Mashery are beginning to address some of these problems. But consuming and producing web services is a crucial aspect of cloud computing and so these should be features that are integral to a true cloud platform as opposed to requiring an add-on service.
Finally getting around to my fourth cloud principle: In the cloud it should be easy to consume and produce web services. When you build something in the cloud, you should be able to focus on the essential innovation of your site or service and be able to rely on other web services for everything else. Conversely, it should be easy for you to expose any part of your site or service as a web service that someone else can consume. Together this is what I call “ease of assembly.”
We have made huge progress in this area, but much still needs to be done. First the progress. There was a time when programming languages consisted (almost) entirely of the primitives of the language and developers were essentially starting from scratch every time. By contrast, most of the languages in common use today come with extensive libraries that facilitate reuse of large chunks of code for complicated tasks. In the last decade we also managed to come up with ways of delivering such functionality over the web in the form of a web service. For some tasks this is a big improvement over using libraries, as the web services bundle more functionality and run on someone else’s hardware. For instance, take the problem of finding references to companies in an XML document. Sure you could take an XML library, load the document, look for keywords, maybe check those against a database over company names, etc. or you could use Reuters’ Open Calais web service which does it all for you.
Now for the still to do part. While consuming web services at a basic level is very simple – often a few lines of code, when you do it at scale and in something that might be a commercial offering there are lots of things you’d like to get that those few lines of code won’t get you, such as stats on your requests (how many did you send? how many errors were generated? what was the response time? etc). Producing web services at scale is even harder. Now you need to deal with issues such as authentication, throttling requests, potentially providing an SLA, etc.
Startups such as Mashery are beginning to address some of these problems. But consuming and producing web services is a crucial aspect of cloud computing and so these should be features that are integral to a true cloud platform as opposed to requiring an add-on service.
No comments yet