Programming Leftovers
-
3 Ways to Install CMake on Raspberry Pi
CMake is an open-source tool that uses the configuration file named “CMakeLists” to generate and build files on your system. You can use this tool to easily build those packages or software that require a compiler, as it uses the compiler-independent method to install the application on your system quickly.
In this tutorial, you will see the procedure to install CMake on your Raspberry Pi system with a simple example to test it on the system.
-
2 Ways to Install Git on Raspberry Pi
Git is an open-source tool used for the management of source code which is free of cost and can handle small to large coding projects efficiently. It enables multiple users to work together on projects for non-linear development. The source codes developed by one user can be shared with other users to alter them and if any changes are made to the source code, the other users will get a notification of it.
-
hartmans | Introducing Carthage
For the past four years, I’ve been working on Carthage, a free-software Infrastructure as Code framework. We’ve finally reached a point where it makes sense to talk about Carthage and what it can do. This is the first in a series of blog posts to introduce Carthage, discuss what it can do and show how it works.
-
Detecting PackageTransitions
Larger transitions in Debian are usually announced on e.g. debian-devel, but it’s harder to track the current status of all transitions. Having done a lot of QA uploads recently, I have on occasion uploaded packages involved in a transition. This can be unhelpful for the people handling the transition, but there’s also often not much point in uploading if your uploads are going to get stuck.
-
are ephemerons primitive? -- wingolog/Andy Wingo
Good evening :) A quick note, tonight: I've long thought that ephemerons are primitive and can't be implemented with mark functions and/or finalizers, but today I think I have a counterexample.
For context, one of the goals of the GC implementation I have been working on on is to replace Guile's current use of the Boehm-Demers-Weiser (BDW) conservative collector. Of course, changing a garbage collector for a production language runtime is risky, and for Guile one of the mitigation strategies for this work is that the new collector is behind an abstract API whose implementation can be chosen at compile-time, without requiring changes to user code. That way we can first switch to BDW-implementing-the-new-GC-API, then switch the implementation behind that API to something else.
Abstracting GC is a tricky problem to get right, and I thank the MMTk project for showing that this is possible -- you have user-facing APIs that need to be implemented by concrete collectors, but also extension points so that the user can provide some compile-time configuration too, for example to provide field-tracing visitors that take into account how a user wants to lay out objects.
Anyway. As we discussed last time, ephemerons are usually have explicit support from the GC, so we need an ephemeron abstraction as part of the abstract GC API. The question is, can BDW-GC provide an implementation of this API?
I think the answer is "yes, but it's very gnarly and will kill performance so bad that you won't want to do it."