The Abdication of Thought
AI is great at helping to summarise information. But it does a terrible job of thinking for you. Be careful you don't accidentally ask it to.
Whatever you do, do it withbighair.com
AI is great at helping to summarise information. But it does a terrible job of thinking for you. Be careful you don't accidentally ask it to.
Software development is at the forefront of the LLM AI revolution. It is perhaps the first profession to be significantly impacted by the technology. The trends that we see in the software development profession are likely to be replicated across other professions too. This is, in effect an early tell on what wide changes are likely to happen as AI (and LLMs in particular) impact other industries…
A little bit of a technical background helps to understand the economics of the AI supply chain. The AI Models we talk about today are neural networks. The phrase neural network sounds very science-fiction but it's actually, as a concept, not that complicated. The neural network is a network of numbers and mathematical operation loosely inspired by the human brain.
I recently had the privilege of providing a key note to the MITOTI Workshop. There were some amazing presentations and some fascinating research. The conference covered the convergence of IT (Information Technology) systems and OT (Operating Technology) systems. OT systems are essentially cyber-physical systems, controlling manufacturing equipment, smart buildings, city infrastructure etc.
The issue of getting data into and out of a WebAssembly sandbox as fast as possible is something which doesn't just impact embedded systems, it's applicable to many. So, how do you do it? - Well, the answer is surprisingly easy, direct access to Linear memory from the host. To do this we have to share data structures between the host OS and the Wasm application. This too is also surprisingly easy.
I have taken a break from the series on Embedded WebAssembly to take a look at a change in the WASI-SDK. Back in July 2024, WASI-SDK 23 was released. This release dramatically increased the size of the resulting *.wasm file, increasing it a whopping 1029%. This is because WASI-SDK 23 turned on debug information by default. If you are linking against WASI Lib-C there is no way to turn this off. The…
Ok, so you’ve decided to use WebAssembly for your application. With over 30 runtimes to choose from the next question will probably be - “What runtime should I use?”. It is a tough decision, and as always, there isn’t a one size fits all.
There are really great reasons to adopt WebAssembly for embedded systems. But there are probably 4 key challenges any team or developer encounters when using WebAssembly on embedded systems. These are:
There is always a cost of porting software to a new platform. The same is true for WebAssembly. A key benefit of WebAssembly is that it provides software isolation and sandboxing at a reduced cost when compared to virtual machines or containers. It also has the ability of providing a common compilation target. These are things that the embedded world has never had before. This explains why…
I should subtitle this post as “That’s not a pointer… This is a Pointer!” . In the previous two posts I showed how to import and export functions between Wasm and the host environment. This seems pretty safe, but can open up an attack vector which extern_ref shuts down. Let’s check that out…