Why Backdoors in Applications Are Essential for Dealing with Unpaid Clients
Summary of my bookmarked links from Nov 24th, 2022
- Fundamental Software Architectural Patterns
This article explores various architectural patterns commonly used in software systems. It emphasizes the importance of leveraging existing patterns to solve problems before designing new solutions. The patterns discussed include layered pattern, client-server pattern, pipe and filter pattern, service-oriented architecture (SOA) pattern, publish-subscribe pattern, shared data pattern, peer-to-peer (p2p) pattern, and service broker pattern. Each pattern is briefly explained, highlighting its purpose and benefits. The article concludes by emphasizing the significance of understanding architectural patterns and avoiding architecture mismatches to ensure successful software systems.
- So your client refuses to pay: why you need to start building backdoors to your applications.
The author shares their experience with a real estate agent who refused to pay for their work and discusses the concept of defensive programming. Defensive programming, in this context, means protecting the developer's interests without attacking or stealing from the client. The author suggests creating a hidden endpoint with authentication on the server side, which can be used to display messages or disable the application until payment is received. They emphasize the importance of fair compensation and suggest removing any backdoors once payment is made. The article concludes by inviting readers to share their own experiences and contingency plans.
- WebAssembly (WASM) is a mystery on the internet
WebAssembly (WASM) is gaining popularity as a compilation target for high-performance web applications. However, finding code examples and resources can be challenging. This article emphasizes the importance of community engagement and provides guidance on determining if WASM is the right choice for your project. It discusses various languages suitable for compiling to WASM, such as C/C++, C#, Rust, Java, Python, and AssemblyScript. Additionally, it highlights the benefits of WASM's pre-optimized binary code, including efficient execution on low-end devices. The article encourages collaboration and calls for the growth of accessible and inclusive WASM development.
- The Repository Pattern On a Code Base (Domain Driven Approach)
This article provides an in-depth exploration of the repository pattern and its role in a 3-layer architecture. A repository encapsulates the interaction with external dependencies, such as databases or microservices, and synchronizes local models with the data source. It follows a set of responsibilities, including retrieving client criteria, communicating with out-of-process dependencies, denormalizing data, and returning specific object types. The repository pattern promotes decoupling and can be used in various situations that require collaboration with external systems. In a 3-layer architecture, repositories reside in the domain layer and rely on the infrastructure layer to fulfill their tasks.