Show newer

Why? No idea, i got the original idea while I was making a tarot bot, and i did some trials alongside a more "randomised" version, basically grabbing random values from a set

The one with a hidden variable variant performed better, appearantly, despite from a black-box perspective it having no difference (randomized output)

Soooo, im making a general package, just so I can make my life easier (in some ways) when porting some of my bots from python to rust

Show thread

I'm currently working on something along the lines of a "hidden variable toolkit", I realise, to basically have something which you can rely on having a hidden variable for a while

Currently documenting rust code and feeling good

im basically just making it cuz i want to yeet my shitty bots at servers and then never really care about them ever again after that, so i can keep pushing stuff to repositories and the changes will land nicely and automatically in the respective places

in-place CI/CD bois

Show thread

if y'all confused about chute: its basically a git-to-production-ease-of-use-whatever manager to make your job to setup all of your python projects as easy as:

chute add <name> <git url> -b master
chute start

which will clone/fetch the requested repo (if it hasnt done so already), check it out to an internal directory, and then start it according to .chute.yml which specifies some setup commands and then an entrypoint command

its meant to be containers lite, basically "i dont give a shit how this is supposed to be set up, just do it" kinda deal without the whole infrastructure of images in place, its kinda jank as fuck, but its mostly meant as a "i dont care, just do it" attitude i often have to running my stuff on servers

oh yeah, and when pulling (cuz it does that automatically), it stops the container/process, then swaps out the layers (the git "root" layer when an additional "data" layer) to the new commit, and restarts it

though in other words, ive now figured out how i can/could/should make chute, *sorta*

Show thread

im kinda tempted to make a nicer runc or container abstraction for rust, because the current crate (rust-runc) does NOT clarify anything, its just a straight copy of go-runc

Jonathan boosted

Do any of y'all know some good practices and/or crates to achieve easy and reliable interprocess communication in rust?

Jonathan boosted

Rust stuff, oxide.computer 

github.com/oxidecomputer

Here's their GitHub

Tbh I'm excited

Show thread

Rust stuff 

dtrace.org/blogs/bmc/2020/10/1

Found something cool

Not only some notes about what rust is like, but also a start of a probable interesting company: oxide.computer

👀

rrcip 

I might call the library "bogie", not sure tho

Show thread

rrcip 

Maybe I'll just focus on making this library first of all, make it a nice wrapper around virt, and only *then after* start making the component for train

I'm fairly convinced that I can make this work in rust, I'm just not convinced I can make it nice right off the bat

Show thread

rrcip 

I discovered the `virt` crate just now, and I went on a spree to discover stuff about libvirt and all

I p much have confidence that as long as I can wrestle it into a nice big crate that will handle everything nicely and ergonomically (as `virt` is literally just FFI C bindings to libvirt), XML stuff included, i can start using it as a train component

Oh, and the rust ecosystem will have a rust-made virtual machine library built on top of libvirt, heh

But i think imma make it git-only for now, and not yet put it on crates.io or something, though *maybe* I'll do it in 0.x fashion, and have a big banner saying "this is a work in progress", as my rust skills are kinda bad rn

rrcip 

alright so apparently `virt-manager` is made in python

perfect

rrcip musing 

currently thinking about the train-to-vm daemon like so:

train > railcar (vm daemon) > qemu?

except i dont know what a good way would be to interface inbetween processes like this (with failover and all) in rust, and how to kick off a sub-process like that in a consistent manner, maybe i need to look into rust subprocess management

this is basically going to be a test on my ADHD, to see if i can keep focus on this, but a big upside is that all of these are different components that just build on eachother, so there's not much fucking around in terms of "you need to use these parts to support this" or something

main focus is efficiency, stability, extensibility

Show thread

The first stage of this all is basically the "alpha" one, me figuring out how to work with rust in a fashion, and getting people on-board if they're interested, nothing's stable yet, and nothing is intended for production or anything

maybe then, once i think i can write it better, i do a hard cut-off and do a "beta" phase, where i/we rewrite everything from scratch, and focus on making it stable and professionally accessible (yes, i dont want to focus on "enterprise" only lol)

Show thread

Alright so these are my notes so far on RRCIP

Basically, have a system of components that're low overhead, written in rust, extendable, and managed on a scale where it makes sense

Main inspirations are: Kubernetes, VMWare, Openstack, and the majority of cloud services

Show older
Fuzzy Systems Masto

Instance run by a non-profit association, with a mission to encourage an open internet, welcoming to everyone.