Programming Leftovers
-
Hackaday ☛ Linux Fu: Easy Kernel Debugging
It used to be that building the Linux kernel was not easy. Testing and debugging were even worse. Nowadays, it is reasonably easy to build a custom kernel and test or debug it using virtualization. But if you still find it daunting, try [deepseagirl’s] script to download, configure, build, and debug the kernel.
-
Launchpad News: Self-service riscv64 builds
Launchpad has supported building for riscv64 for a while, since it was a requirement to get Ubuntu’s riscv64 port going. We don’t actually have riscv64 hardware in our datacentre, since we’d need server-class hardware with the hypervisor extension and that’s still in its infancy; instead, we do full-system emulation of riscv64 on beefy amd64 hardware using
qemu
. This has worked well enough for a while, although it isn’t exactly fast.The biggest problem with our setup wasn’t so much performance, though; it was that we were just using a bunch of manually-provisioned virtual machines, and they weren’t being reset to a clean state between builds. As a result, it would have been possible for a malicious build to compromise future builds on the same builder: it would only need a chroot or container escape. This violated our standard security model for builders, in which each build runs in an isolated ephemeral VM, and each VM is destroyed and restarted from a clean image at the end of every build. As a result, we had to limit the set of people who were allowed to have riscv64 builds on Launchpad, and we had to restrict things like snap recipes to only use very tightly-pinned parts from elsewhere on the internet (pinning is often a good idea anyway, but at an infrastructural level it isn’t something we need to require on other architectures).
-
Firefox Developer Experience: Firefox DevTools Newsletter — 120
Developer Tools help developers write and debug websites on Firefox. This newsletter gives an overview of the work we’ve done as part of the Firefox 120 Nightly release cycle.
Firefox being an open source project, we are grateful to get contributions from people outside of Mozilla.
-
KDAB ☛ Projection Matrices with Vulkan – Part 1
Introduction When someone with an OpenGL background begins using Vulkan, one of the very common outcomes – beyond the initial one of “OMG how much code does it take to draw a triangle?” – is that the resulting image is upside down.
-
R
-
Rlang ☛ Time Series Analysis in R: How to Read and Understand Time Series Data
If there’s one type of data no company has a shortage of, it has to be time series data.
-
Rlang ☛ The “Secret Sauce” Used in Many qeML Functions
In writing an R package, it is often useful to build up some function call in string form, then “execute” the string. To give a really simple example: Quite a lot of trouble to go to just to find that 1+1 = 2?
-
Rlang ☛ Unveiling the Magic of LOESS Regression in R: A Step-by-Step Guide with mtcars
If you’ve ever found yourself grappling with noisy data and yearning for a smoother representation, LOESS regression might be the enchanting solution you’re seeking.
-
-
Python
-
Adam Young: sendto system call from python
Once we open a socket, we probably want to send and receive data across it.Here is the system call we need to make in order to send data as I wrote about in my last post: [...]
-