A nation that has allowed itself to be wiped off the map by anything other than sheer brute force must confront the shortcomings that brought this about if it wished to continue to think of itself as a nation […]. But the implications of such a confrontation were so complex and so unpleasant that it […]
Author: Nelson Vides
Malloc Alone, a story of the Computer’s Memory

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 […]
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 […]