I am super excited to be going to Linux Fest North West 2018, this year. It is a conference/event I have wanted to attend for several years now. Not only to I get to attend, I will be presenting twice, during the conference. I am not sure what craziness caused the coordinators to think that was a good idea. Anyway, I am stoked. Let's discuss Pseudo-Bundle Based Package Management & Creating a VM for a Programming Language.
Tutorial - Create a VM based DSL in 2 hours.
This is a 2 hour long tutorial, where we will create a Virtual Machine for our Assembly-like language. I am working on trimming down a current VM I wrote, and making it Open Source, prior to the event. We will be using FreePascal, to create the VM and the Assembler. This is going to be a super tight schedule, considering the amount of work which will be covered.
If you are attending, please bring your laptop, and get ready to install FPC and Lazarus. Git is also required to load in starter project, eliminating most of the boilerplate setup and typing. We can quickly cover the logic and structure, before diving into the implementation of our instruction set. This should include discussion of the variable instructions which do similar tasks (MOV, MOV, MOV, etc.)
The Assembler will be a little bit of a cheat, as I have already created the Lexer library, and we will just use it to lex and then convert the tokens into valid bytecode for our VM.
By the end, we will be able to write our new Assembly language, and run the binary file with our VM.
Presentation - Pseudo-Bundle based Package Management for Linux (SquirrelPM)
I am currently putting together a proof of concept for this talk. Detailing my approach to package/bundle management. Opening up the ability to install bundles which contain binaries, libraries, & resources made available to the CLI and Desktop Environment. This is an effort which stems from my hobby disto Apoc. Linux. I have never been a big fan of the landscape of package management options for Linux. Additionally I like the idea of bundles, I really just dislike the implementations I have found.
With Bundles you should be able to:
- Install applications & utilities for both Desktop & Terminal
- Run multiple versions of Shared Libraries (as required by each bundle)
- Only contain ONE copy of each file on your harddisk
- Download only the parts of the bundle you are missing (torrent style?)
- Bundles should be installable in Offline and Online environments
- Use only unix like features to run and modify environment
- Work with nearly all distros.
Maybe I am asking for too much. But I am really going to try and have a prototype ready. I should mention I am not convinced this bundle scheme is the right way to handle the "System Updates" and base libraries. However, a better way for applications to not interfere and to have the specific version of each dependency, as the developer intended.
I hope to see you there. If you are unable to attend. I will be sure to post the recordings here on my site, and on youtube.