Skip to content

Instantly share code, notes, and snippets.

View appcypher's full-sized avatar
:octocat:
What's up?

Stephen Akinyemi appcypher

:octocat:
What's up?
View GitHub Profile
@appcypher
appcypher / registries.md
Last active March 14, 2025 15:21
Programming Language Registries
Language Primary Registry / Manager Popularity Reason
C ❌ No official registry; OS package managers (apt, brew) Systems programming, legacy software, embedded devices
C++ vcpkg, Conan, CPM High-performance apps, game engines, system-level programming
C# NuGet .NET ecosystem, enterprise apps, game dev (Unity)
Clojure Clojars Functional programming on JVM, enterprise & web apps
Crystal Shards Ruby-like syntax, fast native c
@appcypher
appcypher / explainer0.md
Last active December 20, 2024 11:13
Multi-RAFT

How to Achieve Synchronization Across Multiple RAFT Groups

Achieving synchronization across multiple RAFT groups, especially for operations that span different partitions and require atomicity, is a complex but critical aspect of building scalable, consistent distributed systems. Below, we revisit the challenges and strategies for atomic operations across RAFT groups.

In a multi-RAFT architecture, each RAFT group independently manages a subset of data. While this design enhances scalability and fault tolerance, it complicates operations that must be performed atomically across multiple partitions.


Key Challenges

@appcypher
appcypher / explainer0.md
Last active December 19, 2024 21:44
Networking on macOS and Linux

Understanding Network Interfaces and Virtual Networking Concepts on Linux and macOS

In modern operating systems, networking is not limited to physical Ethernet interfaces (eth0, en0, etc.). There are a variety of virtual networking abstractions and constructs—like tun, tap, bridge, veth, subnet—that enable everything from virtual machines and containers to VPNs and complex local network simulations.

This document will break down how these components work, why they exist, and how they fit together. Examples will focus on Linux and macOS, with key differences noted.


Physical vs Virtual Interfaces

@appcypher
appcypher / monocore_files.md
Last active November 9, 2024 08:50
Monocore Files

How monocore structurs files, configs it stores:

graph TD
    A[~/.monocore] --> B[monoimage/]
    B --> C[repo/]
    C --> D["[repo-name]__[tag].cid"]
    B --> E[layer/]
@appcypher
appcypher / comb.rs
Last active September 14, 2024 21:58
Slow Combinator lol
use crate::compiler::reversible::Reversible;
//--------------------------------------------------------------------------------------------------
// Types
//--------------------------------------------------------------------------------------------------
/// The result of a combinator expression.
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Combinator<T> {
/// A single `T` value.
@appcypher
appcypher / Cargo.toml
Created March 20, 2024 00:06 — forked from s3rius/Cargo.toml
PyO3-asyncio async streams
[package]
name = "itertest"
version = "0.1.0"
edition = "2021"
[dependencies]
futures = "0.3.28"
pyo3 = "0.19.2"
pyo3-asyncio = { version = "0.19.0", features = ["tokio-runtime"] }
tokio = { version = "1.32.0", features = ["sync"] }
@appcypher
appcypher / zql.md
Last active December 28, 2023 08:02
ZQL Ideas

Database Operations

Create

zql! {
    dbs::create(#app_db, {
        namespace: "bf91cccb-81ca-4ebe-9687-a79d7d3debb2"
    })
}
@appcypher
appcypher / Widgets.md
Last active October 7, 2023 11:14
Flutter Notes

Flutter Notes

Flex (Columns & Rows)

When you have a Flex widget, where the child with the maximum cross-axis size determines the cross-axis size of the rest.

If you try to use CrossAxisAlignment.stretch with a Flex whose parent is unbounded along the cross-axis, you will get an error.

To solve this, you should use Intrinsic* widgets. They do speculative pass on the Flex widget tree to determine the max size along the cross-axis and that becomes the constraint they pass to the Flex.

@appcypher
appcypher / mermaid.md
Created July 12, 2022 11:27
Mermaid Test in Github Markdown
  graph TD;
      A-->B;
      A-->C;
      B-->D;
      C-->D;
@appcypher
appcypher / skip_fields.md
Created February 28, 2022 14:14
Skipping Fields in Rkyv

I'm trying t skip some fields with rkyv but I have managed to get it working yet. Frankly I don't want to think too much about it right now so I will be temporarily using bincode. I still believe in rkyv but it may not be ready yet for my use-case. I will keep it in my backlog to reimplement ser-de in rkyv.

use bytecheck::CheckBytes;
use llvm_sys::{
    target::{LLVM_InitializeNativeAsmPrinter, LLVM_InitializeNativeTarget},
    LLVMModule,
};