Skip to content
All posts

Rebuilding the Worlds Software from the Bottom Up

When I first came across Emergent Coding a little over 2 years ago, I put on my to-do list the task of capturing some of my knowledge of fundamental software code assembly into an ‘agent’. I’ve finally done it!

This knowledge fits at the very bottom of an application’s software design and involves the decisions around which CPU instructions to choose and what parameters to provide to those instructions for the final program. In Emergent Coding terms, such an agent fits in at the ‘byte’ layer.

As of today, I can now say that we’ve built our first ‘byte’ layer agent. A relatively simple ‘integer addition’ agent, yet surprisingly knowledge intensive. It turns out that the hardware industry has increased instruction set complexity significantly since I first learned ‘assembly language’, though the type of instructions available still involve the same methods of data handling.

Byte layer integer addition agent specification
The agent specification for ‘byte’ layer integer addition design.

 

While this contribution is small in the context of an application or the alternate high-level language compiler, it has demonstrated that we can create and make use of design contributions at every level of an application. We can contribute to the evolution of not only our applications and systems, but the “compiler” itself.

I’m now looking forward to harnessing the power of CPU instructions built specifically to boost the performance of the cryptographic functions we build.

Paul.