RSSAmplifier

Blog

Welcome to My Digital Playground! 🎮 on kiennt26's home

Recent content in Welcome to My Digital Playground! 🎮 on kiennt26's home

ntk148v.github.ioRSS feed ↗25 posts

Latest posts

Some Thoughts about AI and Software Development

Two years ago I was hyped every time a new AI coding tool dropped. Cursor, Claude, agents, whatever — I’d dive in immediately, feeling like I suddenly had superpowers . Today I open Twitter, Reddit, or my feed and mostly feel drained . The speed, the noise, the endless updates… it’s overwhelming. AI’s impact on software development is insane — both incredibly good and quietly scary. After using…

Bloom Filter in Go

Source: https://en.wikipedia.org/wiki/Bloom_filter https://redis.io/docs/latest/develop/data-types/probabilistic/bloom-filter/ https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/mergetree#table_engine-mergetree-data_skipping-indexes What is Bloom filter? When building high-performance systems, minimizing expensive operations like disk reads or remote database queries is…

A clumsy Docker network notes

A clumsy Docker networking notes Nguồn: https://github.com/ntk148v/til/tree/master/docker/networking https://argus-sec.com/docker-networking-behind-the-scenes/ https://docs.docker.com/network/ https://github.com/KamranAzeem/learn-docker/blob/master/docs/docker-networking-deep-dive.md https://docs.docker.com/engine/tutorials/networkingcontainers/ https://docs.docker.com/network/iptables/…

Writing a Simple Shell in C Sharp

In this post, we will write a minimalistic shell for UNIX(-like) operating systems in C# programming language. I create this for learning C# purpose. Since its purpose demonstration (not feature completeness or even fitness for causual use), it has many limitations, including: Commands must be on a single line. Arguments must be separated by whitespace. No quoting arguments or escaping whitespace.…

Golang Async

This article is Golang version of Asynchronous programming with async and await guideline . They did really good job to demonstrate how asynchronous programming looks like. You can find source code here . Throughout this article, we’ll write the instructions to make a breakfast. 1. Pour a cup of coffee. 2. Heat a pan, then fry two eggs. 3. Fry three slices of bacon. 4. Toast two pieces of…

Linux Run in the Background

Environment: Ubuntu 22.04, but it should work in other Linux distributions. Source : https://www.sobyte.net/post/2023-03/linux-services-in-the-background/ You run some commands, it may take a long time to execute, and you don&rsquo;t want to wait for it. So what should you do in that scenario? graph TD A(You don't want to wait <br>for a running command) --> B{Do you want to see output?} A --> C{Do…

Linux Network Performance Ultimate Guide

The following content is from my #til github . Source: https://github.com/leandromoreira/linux-network-performance-parameters/ https://access.redhat.com/sites/default/files/attachments/20150325_network_performance_tuning.pdf https://www.coverfire.com/articles/queueing-in-the-linux-network-stack/ https://blog.cloudflare.com/how-to-achieve-low-latency/…

Goat Playground

Hey, this is a simple post to play with GoAT Diagram . a W L A i a n p b d t o o w p s 1 B I n W t i e F r i n e t a L a S O p e S t b r o v X p e r 2 C A l o B u l d u e t B o o t h T a a i b O l S e t b 1 D · · · · · a U D A t b e a · · a # u d b n i · · · · a t c s # u a b · · · · · e t B e · · · d L S A e · N r · · v · · · e · · U r · · b · # u R · n a · · t c · # u k

Docker and Iptables: You may do it wrong!

Mission If you&rsquo;re running Docker on a host that is exposed to the Internet (network bridge), you will probably want to restrict external access. Docker network Let&rsquo;s start with a fact that Docker manipulates iptables rules to provide network isolation, on Linux. Docker installs custom iptables chains named DOCKER , DOCKER-USER and DOCKER-ISOLATION-STAGE-* , and it ensures that incoming…

Moving from Utterances to Giscus

I&rsquo;ve used Utterances for a while. Using Github&rsquo;s issue feature as a backend for comments is a very elegant solution IM O: no tracking, no ads, simple. But today, I decide to switch to a better alternative - Giscus . Giscus is heavily inspired by Utterances except one thing: instead of using Github issues it uses the fairly new Discussions features to store comments. So.. Why migrate?…

Bgp Ecmp Load Balancing

Introduction We will build a Load balancer with BGP and Equal-Cost Multipath routing (ECMP) using both Bird and ExaBGP . References: How to build a load balancer with BGP and ECMP using VyOS Multi-tier load balancer Load balancing without Load balancers Lab overview EVE-NG version 2.0.3-112 QEMU version 2.4.0 AS 65000 : internet service provider. In this post, we will build a BGP session between…

Getting Started Tiling Wm [Part 6] I3 Rounded Corners

According to Reddis post and i3-gaps issue , it seems like a lot of people would like this. But Airblade - i3-gaps maintainer doesn&rsquo;t like it . But nevermind, we still have two ways to achieve it. Rounded i3-gaps Resloved have an awesome fork to implement rounded corners. I fork it again to keep it up-to-date with the upstream i3-gaps. You can check it here . Install i3-gaps. # Dependencies…

Getting Started with Tiling WM [Part 1] - I3

Disclaimer I love customizing desktop. I make changes in my desktop everyday, make it look eye candy. My colleagues ask me how to make their desktop look like mine. But there are many steps and things to learn and follow, I know because I&rsquo;ve gone throught it. Therefore I decide to write this getting-started guide to give people a shortest path to Fancy world. Overview Window Manager First of…

Getting Started with Tiling WM [Part 2] - Rofi

In the part1 , I&rsquo;ve used rofi instead of dmenu . This part will show you how to start with rofi . Introduction Rofi is a window switcher, application launcher and dmenu replacement. Features: Fully configurable keyboard navigation. Type to filer. Built-in modes: Window switcher mode. Application laucher. Desktop file application launcher. SSH laucher mode. History-based ordering. &hellip;…

Getting Started with Tiling WM [Part 3] - Polybar

Overview According to Polybar frontpage , Polybar is A fast and easy to use tool for creating status bars . WIP

Getting Started with Tiling WM [Part 4] - Xresources

WIP

Getting Started with Tiling WM [Part 5] - Compton

WIP

Linux tools that you never knew you needed

bat - (cat alternative) bat : A cat(1) clone with syntax highlighting and Git integration. Example: fd - (find alternative) fd : a simple, fast and user-friendly alternative to find . Examples: httpie - (wget/curl alternative) httpie : a user-friendly command-line HTTP client for the API era. It comes with JSON support, syntax highlighting, persistent sessions, wget-like downloads, plugins, and…

Set Animated Gif as Wallpaper

NOTE : Environment Ubuntu 20.04 Dependencies Xwinwrap : sudo apt-get install xorg-dev build-essential libx11-dev x11proto-xext-dev libxrender-dev libxext-dev git clone https://github.com/ujjwal96/xwinwrap.git cd xwinwrap make sudo make install make clean Gifsicle: sudo apt install gifsicle The helper script A helper script to setup animated .gif in dual monitors. #!/bin/bash # Uses xwinwrap to…

Swap space note

What is Swap? Swap file systems support virtual memory, data is written to a swap file system when there is not enough RAM to store the data your system is processing. Swap partition size Old rule of thumb swap: 2 * the-amount-of-RAM So if a computer had 64KB of RAM, a swap partition of 128KB would be an optimum size. This rule took into the facts that RAM sizes were typically quite small at the…

Ansitheus

Ansitheus: Ansible + Prometheus Prometheus overview NOTE : Checkout the Prometheus official documentation . Prometheus is an open-source systems monitoring & alerting toolkit originally built at SoundCloud. Features a multi-dimensional data model with time series data identified by metric name & key/value pairs PromQL, a flexible query language to leverage this dimensionality no reliance on…

Operate Etcd cluster

NOTE : This is my perspective aggregation. You can easily find these such of knowledges in the references . Context Etcd Version v3.4.0 . Requirements Number of nodes >= 3 nodes. A etcd cluster needs a majority of nodes, a quorum to agree on updates to the cluster state. For a cluster with n-members , quorum is (n/2)+1 . CPUs Etcd doesn&rsquo;t require a lot of CPU capacity. Typical clusters need…

Golang: Block forever

Sometimes, you want to block the current goroutine when allowing others to continue. Here is some tricks I&rsquo;ve collected: References Firstly give them some credits: https://blog.sgmansfield.com/2016/06/how-to-block-forever-in-go/ https://pliutau.com/different-ways-to-block-go-runtime-forever/ NOTE: I run these with Golang 1.12 The original package main import 'fmt' func show () { for i := 1;…

Openstack Autoscaling New Approach

NOTE(kiennt): There is a legacy Faythe guideline . The new version is coming soon, check its repository for status. This guide describes how to automatically scale out your Compute instances in response to heavy system usage. By combining with Prometheus pre-defined rules that consider factors such as CPU or memory usage, you can configure OpenStack Orchestration (Heat) to add and remove…

Lets Comment

Hugo ships with support for Disqus, a third-party service that provides comment and community capabilities to websites via JavaScript. But Disqus generates a shit load of page requests and heavy contents&hellip; which even with the benefits that come with having Disqus in place. People just want something that can be used to post a comment, that is. That&rsquo;s why I choose a Disqus alternative -…