Posts

Showing posts from 2020

Embedded Languages Footprint

One of my personal project has a requirement to have scripting support, and while the research of the options is still in progress, I’d like to share my preliminary results. The initial requirements for the scripting language were having the smallest footprint, but good functionality. That has given a start to the Embedded Languages Footprint project. The requirements are quite specific though (please see below), hence the most popular languages like Lua and Python are not considered suitable, but were included for the reference. For now, the most promising languages are Chibi-Scheme and Wasm3, but it’s still on-going research and final choice will be made later. The major requirements: C/C++ only (to ensure the best portability); No extra compilation dependencies (to build with the bare devkits); Actively maintained (to compile without its source code changes); Strong typing (to reduce the number of possible errors); Permissive license for both open source and co

AsciiDoctor and moving to GitLab

A lot of my current projects require writing technical documentation, and it made me think quite carefully about the best practices here. I’ve found out that there are few principles which make me the most effective. Documentation as Code is the most important one. It has the advantages like: The source of documentation could be version controlled with the well-known and mature VCS like Git; New changes could be pre-approved before submitting (e.g. as pull requests); Proper VCS could give quite rich functionality (e.g. git blame to find the author of the changes and the reason for them). Text Includes is another important principle as it allows to: Re-use the documentation fragments (e.g. headers/footers); Include live code snippets (copy-pasted snippets could easily get out of sync). Rich Formatting is a must-have for the user-friendly documentation: Automatically generated ToC; Offline syntax highlight of the source code. It allows to inc