Genii Weblog

Branching out: Would it run on a toaster?

Tue 18 Feb 2020, 03:40 PM



by Ben Langhinrichs
Inline JPEG image
 
I made a an off-the-cuff remark earlier today in the comments on my post, Branching out: Models, msgs, and microservices, asking if LotusScript would run on a toaster. But while I was joking, I wanted to explore the idea for a moment, not with LotusScript but with domino-db, as it raises a point that I think is sometimes missed (or glossed over). We often hear that domino-db is a Node.js solution, and that is correct, but somewhat misleading. I am in the middle of developing two Node.js products (aside from Exciton Boost, which simply enhances domino-db and the REST API in Domino Access Services). One of those two includes extensive use of C++ addons for Node.js, and thus would not be easily used elsewhere (such as our toaster). The other is closer to the model used in domino-db. While I was working with the latter, I realized that I could make a Python version or a pure web JavaScript version just as easily as the Node.js version. The reason is that the thin layer is simply sending and receiving gRPC messages, and those are available in all sorts of languages and implementations.
 
Given that domino-db is just a messenger (and message receiver), it would likely be easy to discern the proto bufs used and send them from somewhere else. In other words, I could probably write a domino-db for Python in a weekend, and it would interact with PROTON exactly the way domino-db does. In fact, the server would likely be completely unaware that I was running from somewhere else.
 
Anyway, I don't have any desire for a Python version of domino-db, but if you do, give me a call. For a very reasonable price, I could create one for you. Maybe your toaster uses Python, for example?
 
Image note: I have no relationship with Griffin Technologies, but if smart toasters and other home IoT devices are your jam, go check them out.
 
Posts in this series: 
 

Copyright © 2020 Genii Software Ltd.

What has been said:

No documents found