On Thu, Jun 15, 2017 at 9:32 PM, Jérémie Regnault < jeremie.regna...@outlook.com> wrote:
> Hi, I'm working on Pharo deployment in a read-only environment, and I > want to know what behavior you want Pharo to adopt. If you could take > 5-10 minutes to fill my survey, it would be nice : > https://goo.gl/forms/8S7w4079NDfBrsVu1 Done. Now I provide my requested suggestion here since theres more room and more feedback. Code at the level of individual methods should be source-content-addressable, by a hash similar to but not necessarily identical to git internals (https://git-scm.com/book/en/ v1/Git-Internals-Git-Objects). Then code can be simultaneously stored to multiple locations - memory and/or separate writable local file as a cache, plus a remote content-addressable database and/or POSTing to a simple HTTP server. Code lookup can equally search multiple locations, update a LRU cache and easily purge it if memory is constrained, since the identity of the method source remains the *same* in all cases. Further, I envisage an IoT future with Pharo running bare-metal on embedded microcontrollers** that don't even have a file system, but do have ample internet bandwidth. When you connect your remote-system-browser to it from your desktop, the microcontroller doesn't even need to look up the source code - it just passes the method's source-content-hash to the desktop and the desktop looks up and displays the source code. Code compilation for the microcontroller might be done on the desktop and dynamically downloaded and installed per method in the microcontroller - just bytecode and source-content-hash! The microcontroller never sees the source, and the space saving from removing the compiler facilitates smaller targets. cheers -ben **P.S. The latest cool-kid on the block is the Expressif ESP32 - 240 MHz dual core Tensilica LX6 microcontroller, 600 DMIPS*** - Integrated 448kB ROM - Integrated 520 KB SRAM - Up to 16MB QPSI flash/SRAM The Sparkfun ESP32 Thing is available with 4MB flash for US$20. https://www.sparkfun.com/products/13907 and are obviously expected to get more powerful and cheaper in the future - sufficient to directly run Pharo? We should cater for such possibilities! Invent the future! *** equivalent to 1997 Mac_G3/266MHz ( https://www.frc.ri.cmu.edu/~hpm/book97/ch3/processor.list.txt)