2024
Extreme branchless: containers -
Coding challenges retrospective -
Event sourcing migrations retrospective -
Designing strongly typed range -
Haskell Legacy: Adding features -
Retrospective of my time at Autogriff -
Haskell Legacy: Pure projection -
Haskell Legacy: Going event-first -
Haskell Legacy: Reversing writes -
Haskell Legacy: Creating events -
Haskell Legacy: Extracting business logic and introducing effects -
Haskell Legacy: Introduction -
In-depth programming language is not the point -
Haskell Ecosystem Workshop & ZuriHac 2024 -
The end of a 666 days streak -
Introduction to GHC's Generics -
Fix aeson ToJSONKey/FromJSONKey derivation -
Fizzbuzz kata: branchless version -
OOP has not invented encapsulation -
Types for building and types for running -
Type-driven development applied: librarian -
Architecture Heuristic YNIA: Events metadata -
Bypassing Prometheus SDK push model -
Naming has a social convention -
Prescriptivism and Descriptivism -
NeoViM: Improve Telescope (last edited) find files -
Access Control: Open Policy Agent -
Access Control: Capabilities -
2023
Access Control: Mandatory vs Discretionary -
Access Control: Relationship-based Access control -
Access Control: Organisation-based Access control -
Access Control: Graph-based Access control -
Access Control: Attribute-based Access control -
Access Control: Role-based Access control -
Access Control: Context-based Access control -
Homelab: Monthly certificate regeneration deployment issue -
Architecture Heuristic YNIA: Participants -
Game of Life kata: branchless Grid -
Hacktoberfest 2023: My contributions -
From custom Monad to Polysemy -
Implementation-oriented Monad -
Homelab: client certificates CRL regeneration -
Architecture Heuristic YNIA: Queues -
Haskell Type Reflection Anti-pattern -
QuasiQuoting Smart Constructors -
Nix: optimizing Haskell build size -
Haskell contributions kick-start -
Homelab: Monitoring Withings -
Announcing grafana-dashboards.nix -
Homelab: Monitoring alerting through AlertManager -
Homelab: Monitoring alerting -
Homelab: Monitoring dashboards -
Homelab: Monitoring introduction -
Homelab: Regenerating certificates -
Homelab: client certificates -
Homelab: server certificates -
Homelab: current state and plan -
Test-Driven Development Freedom -
A case against Haskell immersion -
Bloodhound redesign progress -
Nix: optimizing Haskell-based Docker-size -
Abaks: Interface Adapters - API -
Zsh: debugging git remotes completion -
Polysemy: Onion architecture -
Polysemy: Design heuristics: Hiding vs Exposing -
Polysemy: Design heuristics: Dispatcher -
Plutus: Pioneers Program 4th cohort - Lecture 10 - Built with plutus -
Polysemy: Design heuristics: Hiding interpreters -
Plutus: Pioneers Program 4th cohort - Lecture 9 - Stablecoin -
Plutus: Pioneers Program 4th cohort - Lecture 8 - Staking -
Plutus: Pioneers Program 4th cohort - Lecture 7 - Marlowe and hosted smart contracts -
Retrospective of my first CTO experience -
Plutus: Pioneers Program 4th cohort - Lecture 6 - Testing -
Polysemy: Design heuristics: Grouping interpreters -
Plutus: Pioneers Program 4th cohort - Lecture 5 - Minting -
Polysemy: Design heuristics: Effects layering -
Polysemy: Design heuristics: Split by responsibility -
Plutus: Pioneers Program 4th cohort - Ouroboros -
Polysemy: Design heuristics: IO hunting -
Plutus: Pioneers Program 4th cohort - lecture 3: Tests, Times, and Dapps -
Plutus: Pioneers Program 4th cohort kick start -
Polysemy: Strategy internals -
Polysemy: Higher order Effects and combined interpreters -
Polysemy: Tactics binding deprecated workaround -
Polysemy: Strategies binding -
Polysemy: Higher-order effects with Final -
Polysemy: Higher-order effects introductions -
2022
Polysemy: Interceptors to buffer -
Polysemy: Introduction to Interceptors -
Polysemy: Interpretation and effects inline injection -
Polysemy: Interpretation and effects injection -
Polysemy: Introduction to Effect interpretation -
Polysemy: Introduction to Effect definition -
Polysemy: Introduction to interpreters -
TDD: optimizing for inputs vs for outputs -
Hacktoberfest 2022: My feedback -
Hacktoberfest 2022: My contributions -