Mint vs Elementary vs Pop vs Kubuntu: Battle of the Ubuntu Derivatives.
I switched to Ubuntu last weekend, but I don't like it that much. Going to switch again, so I'm taking a look at four Ubuntu derivatives to see if they meet my needs.
In this video I was inspired to learn about WASM, and while I was learning about WASM I questioned "how much slower is WASM written in Rust vs Native Rust Code?"
So I answer that question.
I also throw in some completely unfair comparisons vs python and Go as well. This video will trigger Go programmers.
This video is not comparing the speed of Go vs Rust vs Python. As I attempt to explain the speed differences are due in large part to algorithms supplied by the various runtimes. But it's still an interesting data point.
Chris Hay's Video:
https://www.youtube.com/watch?v=MONlkYotR5s
...
https://www.youtube.com/watch?v=QlMLB2-G25c
The problem so far with libhardened_malloc in my previous videos is that the binaries still run if libhardened_malloc is not used. In this video I show how to ensure that the binary cannot run without access to libhardened_malloc.so
...
https://www.youtube.com/watch?v=gdddOvfDePg
Lets do some eBPF with Go. And then lets containerize it!
Sample App:
git@github.com:masmullin2000/bpf_with_go.git
Documentation:
https://github.com/cilium/ebpf
https://www.man7.org/linux/man-pages/man7/bpf-helpers.7.html
https://github.com/iovisor/bcc/blob/master/docs/reference_guide.md
https://elixir.bootlin.com/linux/latest/source/tools/testing/selftests/bpf
...
https://www.youtube.com/watch?v=eZp_3EjJdnA
Hardened Malloc (https://github.com/GrapheneOS/hardened_malloc) is a hardened memory allocator which can replace the *alloc functions from libc. It can be used with glibc, bionic, or musl. It was developed as part of the grapheneOS project (https://grapheneos.org/) by Daniel Micay (https://twitter.com/DanielMicay).
In this video we show how it can help mitigate against simple heap overflows.
...
https://www.youtube.com/watch?v=d8olxj1pMLg
After watching Old Tech Bloke. I realized I needed to hop onto Calam-Arch.
Old Tech Bloke's video on Calam-Arch: https://odysee.com/@oldtechbloke:8/calam-arch-arch-linux-for-the-terminal:3
Art:
Easy button by R-Man: https://imgbin.com/png/MWHDi7ar/staples-well-that-was-easy-meme-product-imgur-png
Arch logo by Khsis: https://www.cleanpng.com/png-arch-linux-tgz-sm-1144574/download-png.html
In this video we use Rust to code a BPF program
For extra credit, we code a BPF LSM program and prevent ourselves from running any executable for 10 seconds
For Introduction to Rust videos, check out this Playlist from a fellow named "Tensor"
https://www.youtube.com/watch?v=EYqceb2AnkU&list=PLJbE2Yu2zumDF6BX6_RdPisRVHgzV02NW
...
https://www.youtube.com/watch?v=Pac083l2R34
In this video I go over some basic Linux memory management concepts, and talk about the pros and cons of a few Memory Allocators in Rust.
...
https://www.youtube.com/watch?v=fpkjmE-56Gw
In this video I "reply" to Vagelis Prokopious's video comparing a highly optimized Vert.x web server vs a non-optimized actix-web web server.
I optimize the actix-web to restore the honour of Rust. But did I waste my time? Isn't the "real" bottleneck in the network rather than the choice of programming language?
NOTE: My discussion about how Serde Json works is theoretical. I have not deeply inspected the code and there are probably many optimizations done in Serde_Json.
Vagelis Video: https://youtu.be/ZfRFDxVVBRc
Original Code: https://github.com/Vagelis-Prokopiou/yt-web-api-rust
Optimized Version: https://github.com/masmullin2000/yt-web-api-rust/tree/faster
Hetzner: https://www.hetzner.com/
...
https://www.youtube.com/watch?v=8m-APiQqFDM