Skip to content

Instantly share code, notes, and snippets.

@sogaiu
Last active May 31, 2025 08:14
Show Gist options
  • Save sogaiu/97f81c71b679f5c73f0db1772a1d7630 to your computer and use it in GitHub Desktop.
Save sogaiu/97f81c71b679f5c73f0db1772a1d7630 to your computer and use it in GitHub Desktop.

2025-05-31

2025-05-30

2025-05-29

2025-05-28

2025-05-27

  • The Unix process API is unreliable and unsafe

  • A fork() in the road

    The received wisdom suggests that Unix’s unusual combination of fork() and exec() for process creation was an inspired design. In this paper, we argue that fork was a clever hack for machines and programs of the 1970s that has long outlived its usefulness and is now a liability. We catalog the ways in which fork is a terrible abstraction for the modern programmer to use, describe how it compromises OS implementations, and propose alternatives.

    As the designers and implementers of operating systems, we should acknowledge that fork’s continued existence as a first-class OS primitive holds back systems research, and deprecate it. As educators, we should teach fork as a historical artifact, and not the first process creation mechanism students encounter.

  • On Read/Write Code - 6cdh

  • Keep Healthy - 6cdh

2025-05-26

2025-05-25

2025-05-24

2025-05-23

2025-05-22

2025-05-21

2025-05-20

2025-05-19

2025-05-18

2025-05-17

2025-05-16

2025-05-15

2025-05-14

2025-05-13

2025-05-12

2025-05-11

  • Polylith

  • Vertical Slice Architecture - Jimmy Bogard

    • Onion / Clean -> Vertical Slice - Jimmy Bogard

      I was on a large project with the person that came up with Onion architecture. It had worked on smaller (max 3 months) projects, as it didn’t cave under its own weight.

      Fast forward 4 months and we realized that Onion (or Clean in its current incarnation) in fact cant scale with complexity or size. So we collapsed everything down and removed all the indirection.

      We couldn’t remove all the needless indirection and abstraction, but most of the silliness. The next big project I was on, I removed all of the sacred cows to see what patterns would naturally emerge. The result was the Vertical Slice Architecture stuff, built on the ashes of defactoring Onion/Clean. I blogged about this journey in my Put Your Controllers On a Diet series almost a decade ago.

  • Difficulty in demonstrating benefits of architectures - nanothief

    One large issue with demonstrating methodologies as clean architecture, microservices or object orientated programming is they only become beneficial at larger scales:

    • A program under 1000 LOC would rarely benefit from object inheritance; just use an if/switch statement

    • If you have less than 10 domain objects/database tables you probably don't need microservices or any of the "clean architecture" techniques; just make a single EF Core + ASP.net Core project.

    This causes a catch 22 problem when writing examples of those ideas. If you make a simple example, then using such methodologies is actually a net negative to the project - the complexity they add is far greater than the benefit they provide. Newer developers may look at such an example and think they should do it the same way for their project even though it isn't necessary.

    If you make a much larger example, then not only is it going to take a lot of time to complete, but it is going to make the example much harder to follow. It will likely not be tested well either (since an example app doesn't make you any money and isn't used anywhere there isn't any pressure to make it work well).

2025-05-10

2025-05-09

2025-05-08

2025-05-07

2025-05-06

2025-05-05

2025-05-04

2025-05-03

2025-05-02

  • Tai Chi Made Easy: Do I Really Need a Teacher? - David-Dorian Ross - some comments sort of along the lines of the "Practicing Versus Inventing With Contrasting Cases: The Effects of Telling First on Learning and Transfer" paper...

2025-05-01

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment