Skip to content

Instantly share code, notes, and snippets.

View yanisurbis's full-sized avatar
🍞
Converting energy to experience

Yanis Urbis yanisurbis

🍞
Converting energy to experience
View GitHub Profile

How to Use DeepWiki

DeepWiki is a tool that provides AI-powered documentation search and Q&A for GitHub repositories. For Effect-TS questions, you can use it to get detailed answers about the Effect ecosystem.

Using DeepWiki with Claude Code

The DeepWiki MCP tool is available in Claude Code with three main functions:

1. Ask Questions About Effect

Using Gemini CLI for Large Codebase Analysis

When analyzing large codebases or multiple files that might exceed context limits, use the Gemini CLI with its massive context window. Use gemini -p to leverage Google Gemini's large context capacity.

File and Directory Inclusion Syntax

Use the @ syntax to include files and directories in your Gemini prompts. The paths should be relative to WHERE you run the

  1. Traditional Financial Services Evolution
  • Service Layer: Direct financial services (payments, banking)
  • API Layer: Programmable financial services (Stripe's core business)
  • Agent Layer: AI-powered autonomous financial operations (new frontier)
  • Potential Next Phase: Autonomous Financial Systems

This evolution is particularly significant because:

  1. Integration with AI Infrastructure
  • The SDK for AI agents signals that Stripe sees autonomous systems as a key part of future financial operations

Understanding Instance and Collection-Level Authorization Queries

When designing authorization systems, one of the fundamental distinctions we need to make is between instance-level and collection-level authorization queries. Understanding this distinction is crucial for building secure and maintainable applications.

Collection-Level Authorization

Collection-level authorization answers questions about entire types or collections of resources. These queries determine whether an actor has broad permissions across a category of resources.

Common Collection-Level Queries

  • Can a user create new instances of a resource type?

Understanding CBOR and Plutus in Cardano: A Deep Dive

What is CBOR?

CBOR (Concise Binary Object Representation) is a binary data format that enables compact and efficient data serialization. Think of it as JSON's more efficient cousin, designed specifically for scenarios where data size and processing speed are crucial. In the Cardano blockchain, CBOR plays a fundamental role in how data is encoded and stored.

Plutus Scripts and CBOR

How Plutus Scripts are Serialized

Understanding Distributed Tracing: Following Requests Across Microservices

Imagine ordering a pizza online. Your request doesn't just go to one place - it travels through multiple systems: the ordering system, payment processor, kitchen management system, and delivery tracking. How do companies ensure they can follow your order's journey through all these different systems? This is where distributed tracing comes in.

What is Distributed Tracing?

Distributed tracing is like putting a unique tracking number on a package, but for software requests. When you click "order" on a website, that action creates a request that might need to hop through dozens of different services. Each service adds its own information while maintaining a connection to the original request.

The Need for Standardization

eUTXO: A Natural Evolution of Public Key Cryptography

The Extended Unspent Transaction Output (eUTXO) model, while often presented as a complex evolution of blockchain architecture, can be understood more intuitively by examining its relationship to traditional public key cryptography. This perspective reveals how eUTXO naturally generalizes concepts we've been using for decades in digital signatures.

The Traditional Public Key Model

In traditional public key cryptography used in blockchain transactions, the flow is straightforward:

  1. A public key (or its hash) is associated with funds
  2. To spend those funds, one must provide a valid signature
  3. The signature is verified against the public key using a verification algorithm

Exaptation: Evolution's Repurposing Mechanism

Introduction

Exaptation is a fundamental concept in evolutionary biology where a trait that evolved for one particular function is co-opted or repurposed to serve a different function. The term was coined by paleontologists Stephen Jay Gould and Elisabeth Vrba in 1982 to distinguish these features from adaptations (traits that evolved specifically for their current role).

Key Examples in Nature

Bird Feathers

  • Original function: Thermal regulation and display
const baseClient = defaultClient.pipe(
Http.client.filterStatusOk,
Http.client.mapRequest(clientRequest =>
pipe(clientRequest, Http.request.prependUrl(config.creditSafeApiUrl)),
),
)
const client = pipe(
baseClient,
Http.client.mapRequestEffect(clientRequest =>