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
In preparing for my Web 2.0 Expo presentation “Forecast: Partly Cloudy,” I have been looking at how existing code can be reused in the cloud. There are several big challenges to reusing existing code in the cloud:
Many cloud platforms support only one specific language (e.g. Python for Google App Engine, Ruby for EngineYard). That excludes a lot of code written in PHP, Perl, Java and other languages.
Almost all cloud platforms have a non-SQL data access model. This matters for code that has explicit SQL statements in it, which is unlikely to ever be meaningfully available anywhere (SQL after all is one of the issues with the existing stack).
A lot of code uses libraries written in C or C++. Support for these libraries will be take time to implement on many cloud platforms as they cannot sandbox the existing code. In fact, some of the libraries will never be supportable because they permit low level access that cannot / should not be reproduced in a sandbox.
Letting code in different languages talk to each other is a non-trivial problem. Google internally uses something call Google Protocol Buffers which they have opensourced. Facebook has a similar solution called Thrift (also open sourced). Both of these are IDL-based code generators, which require effort in defining interfaces, generating stubs and connecting them up to existing code.
Our portfolio company 10gen is addressing all of these issues. First, they are intentionally designing the 10gen application server to support multiple languages. They have already announced Python support (in addition to Javascript) and are working on several other languages. Second, while 10gen’s Mongo DB does not support SQL access, it has a rich query language that makes it easy for 10gen to support frameworks such as Ruby on Rails where data access is model-based. Third, 10gen is open source and is leveraging existing open source language projects that target the JVM, such as Jython. This means that as those projects add Java-based support for a specific library that library will also be available on the 10gen platform. Fourth, 10gen is building a bridge layer into the appserver that lets existing code be invoked from other languages without the need for an IDL and code generation. On 10gen it will eventually be possible for Python code to grab a PHP object and invoke a method on it. All of this is exciting because it greatly facilitates the ability to reuse existing code in the cloud and as such the adoption of cloud computing.
In preparing for my Web 2.0 Expo presentation “Forecast: Partly Cloudy,” I have been looking at how existing code can be reused in the cloud. There are several big challenges to reusing existing code in the cloud:
Many cloud platforms support only one specific language (e.g. Python for Google App Engine, Ruby for EngineYard). That excludes a lot of code written in PHP, Perl, Java and other languages.
Almost all cloud platforms have a non-SQL data access model. This matters for code that has explicit SQL statements in it, which is unlikely to ever be meaningfully available anywhere (SQL after all is one of the issues with the existing stack).
A lot of code uses libraries written in C or C++. Support for these libraries will be take time to implement on many cloud platforms as they cannot sandbox the existing code. In fact, some of the libraries will never be supportable because they permit low level access that cannot / should not be reproduced in a sandbox.
Letting code in different languages talk to each other is a non-trivial problem. Google internally uses something call Google Protocol Buffers which they have opensourced. Facebook has a similar solution called Thrift (also open sourced). Both of these are IDL-based code generators, which require effort in defining interfaces, generating stubs and connecting them up to existing code.
Our portfolio company 10gen is addressing all of these issues. First, they are intentionally designing the 10gen application server to support multiple languages. They have already announced Python support (in addition to Javascript) and are working on several other languages. Second, while 10gen’s Mongo DB does not support SQL access, it has a rich query language that makes it easy for 10gen to support frameworks such as Ruby on Rails where data access is model-based. Third, 10gen is open source and is leveraging existing open source language projects that target the JVM, such as Jython. This means that as those projects add Java-based support for a specific library that library will also be available on the 10gen platform. Fourth, 10gen is building a bridge layer into the appserver that lets existing code be invoked from other languages without the need for an IDL and code generation. On 10gen it will eventually be possible for Python code to grab a PHP object and invoke a method on it. All of this is exciting because it greatly facilitates the ability to reuse existing code in the cloud and as such the adoption of cloud computing.
No comments yet