Month: May 2017

How to index files inside your computer

Do you have tons of pdfs in your computer? Me too!

We are used to search in the web to file about the subject we are willing to know. But sometimes it is better to search in the PDFs files we already gathered.

In the past I used to use docFetcher (http://docfetcher.sourceforge.net/en/index.html) to index my files, but this program is heavy, slow (java) and crashes often.

Then today while looking for alternatives I found a program called “recoll”. It is a native program with Qt GUI. And I can install it with a single command:

$ sudo apt-get install recoll

Listing of JavaScript engines for embedded systems/IoT applications

JavaScript could be an awful language (i.e. “typeof null returning ‘object’ is a bug that can’t be fixed, because it would break existing code”), but it is everywhere and is one programming language of IoT (other is Lua).

I decided to list here some small JavaScript options for embedded system:

Deno (https://deno.land/) – A small Javascript/TypeScript runtime written in Rust language.

Duktape (http://duktape.org/) – A small footprint, easily embeddable Ecmascript E5/E5.1 engine.

Espruino (http://www.espruino.com/) – A very small footprint interpreter specifically for microcontrollers. Can run in less than 8 kB of RAM by executing from source (rather than bytecode).

JerryScript (https://github.com/jerryscript-project/jerryscript) – A very small interpreter developed by Samsung for IoT application.

Kameleon (https://kameleon.io) – This is a fork of JerryScript with a nice web IDE.

Moddable (https://github.com/Moddable-OpenSource/moddable) – Another small and fast JavaScript VM for microcontrollers.

mJS (https://github.com/cesanta/mjs) – This is the JavaScript engine used on Mongoose project.

MuJS (https://mujs.com/) – A lightweight ECMAScript interpreter library, designed for embedding in other software to extend them with scripting capabilities. Originally developed for MuPDF.

QuickJS (https://bellard.org/quickjs/) – a small JS VM developed by Fabrice Bellard from QEMU fame.

SophonJS (https://github.com/gkmail/SophonJS) – Another JavaScript engine that could be used for low-end applications.

Throwback (https://github.com/getfilament/throwback) – The smallest JS engine for microcontroller, still in early stage of development

Tiny-JS (https://github.com/snoozbuster/tiny-js): A minimalJavaScript interpreter written in C++.

So, we have at least 12 JS engine options to use with microcontrollers. From this listing I think JerryScript is a step ahead, but Kameleon is evolving to be a real alternative for embedded systems.

Source: https://en.wikipedia.org/wiki/List_of_ECMAScript_engines