Iridium

So You Want to Build a Language VM - Part 24 - SSH Server: Part 2

Finishes adding an SSH server to the Iridium VM

Intro

So, change of plans. I’ve been fighting with thrussh for hours now trying to get SSH working. The key exchange was failing, and I had no idea why. It turned out that even their example client/server didn’t work when I tried. Despite spending a lot of time going through the source, I couldn’t find the cause of the issue. The crate uses futures very heavily, which makes the program flow hard to follow, at least for me. I’m sure that somewhere in the world there is someone who has no problem following futures-based async, but it isn’t me. In light of this, I decided to go old school. I’m leaving the previous tutorial part up; I think its important to see this aspect of projects as well. Having to scrap something that doesn’t work out and pivot to something else.

This Week in Iridium - #6

Summary of what happened in the sixth week

Week 6 Hello! Below is a list of changes made this week in Iridium The tutorials this week start here: https://blog.subnetzero.io/project/iridium-vm/building-language-vm-part-20/ Code Changes Two PRs from yjhmelody (the first non-me contributor to the project, yay!) simplified some of my horrific code and made some test names more consistent. VM Changes (all with tutorials) Basic Benchmarking Started on adding in parallelism via OS threads

So You Want to Build a Language VM - Part 20 - Benchmarks

Adds in Criterion to do benchmarks

Doh

We’ve been having so much fun, we haven’t written any benchmarks! Though it isn’t the most exciting thing to write, they are important. == Benchmarks There’s two things to understand about benchmarks:

This Week in Iridium - #5

Summary of what happened in the fifth week

Week 5 Hello! Below is a list of changes made this week in Iridium. The tutorials this week start here: https://blog.subnetzero.io/project/iridium-vm/building-language-vm-part-18/ You can find the repo for Palladium here: https://gitlab.com/subnetzero/palladium VM Changes (all with tutorials) Added simple PID tracking to the VM. Using random UUIDs for now Refactored command processing in the REPL. Commands now start with a ! There is proper tokenization now

So You Want to Build a Language VM - Part 19 - Starting on Palladium

Begins building the higher level language and compiler

Introduction

If you’ve been following the development of Iridium, you know how heavily it uses Nom to parse the assembly language. I hope you liked it, because we’re going to be using Nom for this as well. =)

In this tutorial, we’re going to start creating a language called Palladium that will compile down to the assembly code we’ve been using. Before we get started, please remember…​