Programming Leftovers
-
HowTo Geek ☛ Which Linux Distribution Do You Recommend for Programmers?
Spend very much time in the programming world and you'll soon hear mention of Linux distributions. If someone is new to programming and considering using an operating system other than Windows and macOS to do their development in, what distro do you recommend?
-
Rlang ☛ How Many Ways to Color This Grid: Teaching Combinatorics Using R
You have a 2x2 grid of squares, and you need to paint each square one of four colors: red, blue, green, or yellow. The restriction is that no two adjacent squares (sharing a side) can have the same color.
-
Rlang ☛ Announcing rixpress
As I’ve already discussed in this vignette of my {rix} package, it is very easy to run a {targets} pipeline inside of a Nix environment for increased reproduciblity.
-
Tom Tromey: Faster Faster GDB Startup
A while ago, I wrote about my work to speed up GDB’s DWARF reader. I thought I’d write again with a few updates.
Sharding
Back then, I wrote: “maybe GDB could trade memory for performance and shard the resulting index and do separate canonicalizations in each worker thread”.
I did end up doing this. Recall that the canonicalization step goes through all the discovered DWARF entries of interest — basically, all the objects in the program that both have a name and are not in a function scope (except in some languages, there is always an exception with DWARF) — and ensures the names are in a normal form. For Ada, this step includes synthesizing the package hierarchy (something that should probably be done for Go as well, except nobody really works on the Go support in GDB).
As an aside, sometime in the last few years we realized that this canonicalization has to be done for C as well, because in C there are multiple spellings of types like “short”. This is also implemented.
-
Instructionals/Technical
-
Josef Strzibny: Running interactive sessions with Kamal
How to connect to a container on a server managed by Kamal and run an interactive session?
Interactive server actions
Kamal comes with a
kamal server exec
to execute a single command on the server. If we pass the-i
option, we’ll start the interactive session that doesn’t cancel the connection immediatelly.
-