Harnessing eBPF and XDP for DDoS Mitigation: A Rust Adventure with rust-aya
DDoS Mitigation with XDP and Rust: Dive into a Rust-based eBPF program for redirecting UDP flood attacks to a honeypot. This hands-on guide demonstrates the potent synergy of XDP and Rust in network security, offering a practical approach to packet manipulation and cybersecurity.
Beginner's Guide to XDP: A Journey Through Crafting XDP-Based Firewall with BCC
Step into the world of eBPF/XDP with this beginner's guide. Learn to build a simple SSH firewall, utilizing XDP's capabilities for secure, incoming network traffic management!
Beyond Observability: Modifying Syscall Behavior with eBPF - My Precious Secret Files
This article dives into a subtle application of eBPF, extending beyond its conventional use for observability to demonstrate its capability to modify system call behavior, showcased through a simple application designed to safeguard our precious files.
IPv4 Socket Surveillance - Tracing using kprobe, kretprobe and maps with BCC
Through a simple app, this post illustrates real-time monitoring of network activities triggered by syscalls, utilizing kprobe, kretprobe, and maps. It highlights the synergy between eBPF and these probing tools, showcasing a practical approach to understanding network operations.
The beginning of my eBPF Journey - Kprobe Adventures with BCC
Embark on a fascinating journey into the realm of eBPF programming through this blog post. We kickstart our exploration with Kprobe, a dynamic tracing tool in the Linux kernel, by delving into a simple 'Hello World' and other experiment using BCC.
Rag with ChatGPT and ChromaDB for BG3 using Langchain
In recent weeks, I've been delving into GenAI while also enjoying the fantastic game Baldur's Gate 3 (BG3).
Optimizing Large File Transfers in Linux with Go - An Exploration of TCP and Syscall
Explore efficient large file transfers in Linux using Go, focusing on minimizing data copies and context switches via the sendfile syscall.
CEL for admission controller with ValidatingAdmissionPolicy in K8s 1.26
Explore enhancing Kubernetes cluster security with the Common Expression Language (CEL) for creating fine-grained admission control policies in K8s 1.26, including setup and policy binding instructions.
A simple example of using unix domain socket in Kubernetes
Discover using Unix domain sockets in Kubernetes for inter-container communication within a pod, illustrated with Go applications. Gain insights into setup, benefits like faster communication, and testing the deployment.
Understanding Unix Domain Sockets in Golang
Delve into the workings of Unix domain sockets in Golang, contrasting them with network sockets. Explore their creation, efficient inter-process communication on the same machine, and practical code examples demonstrating a simple echo server setup.
My introduction to the Blockchain and Merkle Tree
Embark on a journey through Blockchain's core, exploring its enticing realm with a dive into Merkle trees. This piece illuminates the path from a gaming intrigue to developing a Go-based Merkle tree, underlining Blockchain's cryptographic elegance and data integrity verification. A must-read for the crypto-curious coder.
Socket sharding in Linux example with Go
Uncover socket sharding in Linux using Go, enabling multiple sockets to bind to the same IP and port for enhanced load balancing. The article provides insights into setting the SO_REUSEPORT socket option, creating a ListenConfig instance in Go.
Implementing a simple K8s admission controller in Go
Dive into implementing a Kubernetes admission controller in Go, governing cluster usage by intercepting API requests pre-persistence. Explore setup, webhook registration, and server creation, alongside simple validation/mutation use cases, for better cluster governance and security.
How to setup simple load balancing with IPVS, demo with docker
Explore setting up simple IPVS load balancing on Linux with a hands-on Docker demo, covering tool installation, virtual service creation, and verification.
How BigCache avoids expensive GC cycles and speeds up concurrent access in Go
Uncover how BigCache in Go alleviates expensive GC cycles and bolsters concurrent access, using sharding for data distribution and byte arrays to minimize GC interference, enhancing cache performance and application responsiveness.
Implementation of Dijkstra using heap in Go
Dive into implementing Dijkstra's Algorithm using a min-heap in Go, focusing on the creation of a priority queue to efficiently find the shortest path between nodes. The guide includes detailed code for heap and graph logic, demonstrating a practical approach to Dijkstra's Algorithm in Go.
Capturing logs and send them in an email with Go
Simple demo about how to capture logs and send them in an email.
Let's talk about Health Checks
Explore health checks in microservices, covering their importance, implementation, and practical examples, ensuring service availability and proper functioning even in cloud-hosted scenarios, illustrated with a Redis-dependent service example.
Tracking Service with Go and Redis V2
Explore an upgraded tracking service using Go and Redis, designed to efficiently locate drivers. Utilizes Go's Goroutines, Channels, and time.Ticker struct for task execution, ensuring a single client request suffices to initiate a driver search task, thus enhancing user experience and reducing redundant requests.
Tracking Service with Go and Redis
Delve into creating a tracking service using Go and Redis for saving and processing driver locations similar to Uber, focusing on geospatial functions of Redis.
Oauth2 with Google in Go
Authentication is the most common part in any application. You can implement your own authentication system or use one of the many alternatives that exist, but in this case we are going to use OAuth2.
How important is math in computer programming?
Discover the significance of math in computer programming through a HackerRank exercise example, illustrating how a mathematical approach leads to efficient problem-solving, contradicting the notion that good coders are bad at math.