Patterns of Distributed Systems

Geometric effects of certain system design choices

Chain loading, not preloading: the dynamic linker as a virtualization vector

Issue #54

1/5/2021

A Byte of Coding Issue #54
Howdy
Here's a poem by Seamus Heaney.

Late August, given heavy rain and sun
For a full week, the blackberries would ripen.
At first, just one, a glossy purple clot
Among others, red, green, hard as a knot.
You ate that first one and its flesh was sweet
Like thickened wine: summer's blood was in it
Leaving stains upon the tongue and lust for
Picking. Then red ones inked up and that hunger
Sent us out with milk cans, pea tins, jam-pots
Where briars scratched and wet grass bleached our boots.
Round hayfields, cornfields and potato-drills
We trekked and picked until the cans were full,
Until the tinkling bottom had been covered
With green ones, and on top big dark blobs burned
Like a plate of eyes. Our hands were peppered
With thorn pricks, our palms sticky as Bluebeard's.

We hoarded the fresh berries in the byre.
But when the bath was filled we found a fur,
A rat-grey fungus, glutting on our cache.
The juice was stinking too. Once off the bush
The fruit fermented, the sweet flesh would turn sour.
I always felt like crying. It wasn't fair
That all the lovely canfuls smelt of rot.
Each year I hoped they'd keep, knew they would not.

Patterns of Distributed Systems

Published: 4 August 2020
Tags: design patterns


Distributed systems can be a pain to work with because you have to account for a lot of issues that don't normally arise when working with one system; keeping the systems synced, handling a single system failure, caching, and race conditions. Good design is necessary to have a succesful system. In this extensive series of articles, Unmesh Joshi outlines the problems faced in distributed designs and a number of patterns aimed at solving them.

Read Full Article

Geometric effects of certain system design choices

Published: 4 January 2021
Tags: design patterns


Following along in the design pattern trend, this article by Rachel is written in a more casual manner, but still focuses on highlighting seemingly harmless design choices that can turn into major issues down the line. Rachel explores the different bad design choices made for a service, and concludes with better alternatives you shoudda picked.

Read Full Article

Chain loading, not preloading: the dynamic linker as a virtualization vector

Published: 4 January 2021
Tags: c


Executable and Linkable Format (ELF), is a common standard file format for executable files, object code, shared libraries, and core dumps. In this technical article, Dr Stephen Kell shows how to "run a pre-existing binary program but in some kind of instrumented or modified form" using "ELF-level trickery", which essentially means writing a dynamic linker rather than using LD_PRELOAD.

Read Full Article
Thanks for your Support! 

Thanks to supporters like Євген Грицай, Scott Munro, zturak, pek, and Emil Hannesbo this newsletter is provided to you for free. If you'd like to also show your support and help out, you can donate on the Patreon page. It's not necessary, but it lets me know that I'm doing a good job and that you're finding value in the content.
Donate Here

Stats (updated daily)

Sent: 1445

Opens: 1132

Clicks: 532

Link Clicks Clicks % Unique Clicks Unique Clicks %
Geometric effects of certain system design choices 182 34.21% 145 34.77
Read Full Article 160 30.08% 124 29.74
Chain loading, not preloading: the dynamic linker as a virtualization vector 95 17.86% 69 16.55
Patterns of Distributed Systems 80 15.04% 70 16.79
Donate Here 15 2.82% 9 2.16

Previous

Back to Issues

Next