This week I didn’t have the chance to publish another blog post, because I was busy preparing an actual presentation of the contents I’ve been releasing recently here. I’m very proud to introduce you to this beautiful piece of education: Recommended if you’re just starting with computers and want to learn some important stuff about […]
A collection of informatics-related topics gathered under the Lambda category; because lambda-calculus rocks it.
Resource Management in perspective: the Stack
Up to now, we have been focusing on where memory management actually occurs, the heap. But this is not the only memory segment relevant to a program. Indeed, in all garbage collected techniques, there’re other players having a relevant role in the game: the mutator and the root set. In the reference counted garbage collection, […]
Garbage Collectors in the real world
We saw the essentially two only ways to do Garbage Collection, and we saw their naive disadvantages. I say naive, because we saw the very simplistic implementations. Like anything else in computer sciences, Garbage Collectors are an extremely optimised-(able) tool. Lets give it a quick intuitive thought. Tracing undergoes long pause times, mostly because it […]
Automatic Memory Management
«The undecidability of liveness is a corollary of the halting problem» Richard Jones, Antony Hosking, Eliot Moss; The Garbage Collection Handbook. A point in memory — a cell — is said to be alive if it will be accessed at any time in the future by the mutator — any of the threads of execution […]
Resource Management in perspective: the Heap
How do you deal with memory in Assembly? Well, you basically tell the processor to access this field in memory, and don’t tell the processor to access this other one. As I mentioned last time, from a traditional perspective memory can be managed manually or automatically. The assembly idea is where C builds onto, with added […]
Everybody does Resource Management
«C programmers think memory management is too important to be left to the computer. Lisp programmers think memory management is too important to be left to the user.»
On Syntax and Semantics, or what Python didn’t get right
Some time ago, perhaps even as far as a year ago, I was just starting to watch conferences and lectures in my extensively useful youtube account, on topics like λ‑Calculus or Category Theory, when on a conference by Bartosz Milewski on Categories, he threw a brilliant sentence, that speaks something like this: «Humans shouldn’t downgrade […]
What have I learnt from installing Linux on my new laptop
A few points about my experience buying a new laptop and going experimental the whole road, with linux.
The life and death of a piece of code
How is code born? What do good developers look for when they write their code? The development of a system can be measured by its trade-offs. Some systems cannot be slow, some others cannot fail, some others cannot be too expensive. All systems want to have everything, obviously. But they cannot, obviously. Before we study […]
Processors, Part Three: the Future. New models.
If one big complex thread being executed too fast is risky as we saw, because there’s a physical limit to sheer clock speed and cheating optimisations are unsafe, then, we all know the other option: what about doing many simple and small things independently? To put it differently: if we cannot make the clock any […]