TMPDIR Weekly - #15, November 13th, 2021
Welcome to the 15th issue of TMPDIR, a weekly newsletter covering Embedded Linux, IoT systems, and technology in general. Subscribe to future issues at https://tinyletter.com/tmpdir and pass it on to anyone else you think might be interested. Please send any tips or feedback to info@tmpdir.org.
Linux
Have you ever wondered how a Linux program starts?
This article
provides a nice overview of what all your Linux system does before your program
reaches your main()
.
There is
proposal to simplify
the Bitbake syntax for adding to variables. This would simplify longstanding
undefined behavior where foo_append += "YYY"
would prepend a space before
"YYY"
automatically giving an illusion of a legitimate operation.
IoT
This week, we took at look at how we can resolve loops in the SIOT data. We store data as nodes and edges, which form a DAG.
However, there can be cases where users on two different instances make changes to the tree structure which cause a loop to be formed. A loop cannot be allowed, as it will form an infinite loop when rendering the tree, or walking back up the tree when processing new points. When a loop is detected, it must be broken and all instances need to converge to the same solution. To develop an algorithm, I started sketching out various scenarios and a solution emerged which seems fairly simple and robust. This is a complex problem syncing a DAG between distributed systems with very constrained network bandwidth (cellular CAT-M), but with some effort, complex problems can have simple solutions. This type of analysis is great fun -- amazing what can happen when you get out some paper and a pencil and start drawing.
This completes our analysis of CRDT properties of the SIOT data structures. It seems we have a fairly solid base for moving forward. -- cb
Other
This article on the Go blog claims Go performance should improve soon:
In February, the Go 1.18 release will expand the new register-based calling convention to non-x86 architectures, bringing dramatic performance improvements with it.
Interesting presentation on Rethinking Time. A slide:
Quote for the week
There is nothing a mere scientist can say that will stand against the flood of a hundred million dollars. But there is one quality that cannot be purchased in this way — and that is reliability. The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay. -- Tony Hoare
Join our Discourse forum to discuss these or new topics. Find past issues of TMPDIR here. Listen to previous podcasts at https://tmpdir.org/.
Thanks for reading!
Khem and Cliff