Tag: programming

  • Building DPHP: Authz and Ownership

    Durable PHP is an evolving framework intended for writing scalable, complex code, currently focusing on advanced authorization concepts like fine-grain resource interactions including orchestration and entity management. It provides strict user-resource interaction rules enforced by the system’s infrastructure, enhancing security by limiting access based on ownership and permissions. Special provisions for admin roles allow flexible,…

  • Building DPHP: Distributed Locks

    Durable PHP is an evolving framework designed for creating complex, scalable code, currently exploring distributed locking mechanisms. It facilitates locking multiple entities in a single operation, which poses significant deadlock risks. By adhering to rules like deterministic lock ordering and mandating lock release on orchestration termination, most deadlocks are preventable. The developer also discusses past…

  • Building DPHP: Event Sourcing

    Building DPHP: Event Sourcing

    From the beginning, I knew Event Sourcing would be a big part of Durable PHP, and I learned from several Event Sourced projects I’ve built or worked on over the years. Specifically, I knew what issues any project would have to deal with, and I wanted to create a framework where none of those issues…

  • Building DPHP: What is it?

    Building DPHP: What is it?

    Durable PHP is a framework inspired by Akka, Durable Functions, and Dapr, designed to simplify building complex software and enhance testability. It introduces three main components: Activities, Orchestrations, and Entities. Activities handle side effects and are stateless; Orchestrations manage event-sourced code execution, providing linearity despite non-linear event sequences; Entities maintain core application state and behavior,…

  • Golang is evil on shitty networks

    This adventure starts with git-lfs. It was a normal day and I added a 500 MB binary asset to my server templates. When I went to push it, I found it interesting that git-lfs was uploading at 50KB per second. Being that I had a bit of free time that I’d much rather be spending…