From systems programming to linear logic, and back In a series of little cited papers from 1994-1995, Baker has proposed a link between resources from linear logic and resources from systems programming. The same ideas have recently made their way (independently) into the systems programming languages C++11 and Rust under the name of move semantics, a new technique for managing resources automatically and reliably, notably in the presence of exceptions, by treating them as linear values. In Rust, linear values also encapsulate mutable state in a concurrent setting to guarantee the absence of data races. In joint work with G. Combette, we propose to model move semantics in the associated deductive system of a particular non-symmetric monoidal adjunction (a resource modality in the sense of Melliès), giving substance to a Curry-Howard correspondence with a new variant of non-commutative linear logic. First I will give a gentle introduction to the techniques at the basis of the C++11/Rust resource management and concurrency models. Then I will explain how move semantics arises naturally from the desire to incorporate exceptions in models of linear logic. This semantic perspective is a map, letting us draw a distinction between essential and accidental aspects. It has inspired a proposal for a resource management model for OCaml, about which I will say a thing or two.