Logo Ricky
  • Home
  • About
  • More
    Skills Experiences Education Projects
  • Posts
  • Notes
  • Activities
  • Transform
  • English
    English Chinese
  • Dark Theme
    Light Theme Dark Theme System Theme
Logo Inverted Logo
  • Tags
  • A10
  • ACME
  • AD
  • AES
  • AI
  • Aliyun
  • Ansible
  • APP
  • Application Delivery Controller
  • Arceus
  • Argo CD
  • ASCII
  • Authentication
  • Authorization
  • AWS
  • BASH
  • Bayonet
  • Benchmark
  • BGP
  • BIRD
  • Board Game
  • Browser
  • Byte
  • Cache
  • CDN
  • Channel
  • Chart
  • Checklist
  • Chrome
  • Chrome OS
  • Chrony
  • CI
  • Cilium
  • Cisco
  • Cloud-Native
  • Cloudflare
  • Cluster
  • Command Line
  • Completion
  • Config
  • Container
  • CPU
  • CURL
  • Data
  • Database
  • Debug
  • Dehydrated
  • Design
  • DevSecOps
  • Diagrams
  • Dmg
  • DNS
  • DNS-01
  • Docker
  • EFF
  • ElasticSearch
  • ELK
  • Emoji
  • EMQX
  • Encode
  • Encrypt
  • ESXi
  • Extension
  • Firewall
  • Fortigate
  • Fortinet
  • FortiOS
  • Game
  • GeoIP
  • GIN
  • Git
  • GitBook
  • Github
  • Gitlab
  • GitOps
  • Gluetun
  • Go
  • Go-Mysql-Elasticsearch
  • Golang
  • Google
  • GPG
  • GraphQL
  • HA
  • HAProxy
  • Hash
  • HomeLab
  • Htop
  • HTTP
  • Infra
  • Infrastructure
  • Input Method
  • Interview
  • Introduction
  • IPhone
  • Iptables
  • Iso
  • Issue
  • ITerm2
  • Jenkins
  • Jsoniter
  • Juniper
  • JWT
  • Kibana
  • Kubernetes
  • LDAP
  • Leetcode
  • Lightweight
  • Linkerd
  • Links
  • Linux
  • Llamafile
  • LLM
  • Log
  • Lua
  • Lullaby
  • LVM
  • Machinelearning
  • MacOS
  • Markdown
  • Mattermost
  • Mermaid
  • MinIO
  • Module
  • MQTT
  • MSS
  • MTU
  • Music
  • MyDumper
  • MySQL
  • NAS
  • Netcat
  • Network
  • Nftables
  • Nginx
  • OAuth
  • OIDC
  • Ollama
  • OpenResty
  • Parquet
  • Percona
  • Pinyin
  • Pip
  • Plugin
  • Pokemon
  • PostgreSQL
  • PowerDNS
  • PowerShell
  • Pprof
  • Principle
  • Prometheus
  • Protobuf
  • Proxy
  • Push
  • Python
  • QRCode
  • R
  • RAID
  • RDP
  • Redis
  • Regex
  • Ringtone
  • Route
  • Rust
  • S3
  • ScreenShot
  • Security
  • Selenium
  • Sentry
  • Service Mesh
  • SFTP
  • SHELL
  • Slides
  • Snow
  • Software
  • SonarQube
  • SQL
  • SSH
  • SSL
  • String
  • Switch
  • Sync
  • Synology
  • System
  • Tcpdump
  • Telegram
  • Terminal
  • Terraform
  • Test
  • Testing
  • Time
  • Timeout
  • TLS
  • Tor
  • Trace
  • Traefik
  • Travel
  • Tunnel
  • Typora
  • Ubuntu
  • URL
  • UserAgent
  • V2Ray
  • Vagrant
  • Video
  • Vim
  • Virtualization
  • Visualization
  • VNC
  • VPN
  • VSCode
  • WAF
  • Web
  • WebAssembly
  • Webp
  • Windows
  • WSL
  • YAML
  • Youtube
  • Zabbix
  • Zero Trust
  • Zim
  • ZSH
  • 台語
Hero Image
Selectively Disabling HTTP/1.0 and HTTP/1.1

Selectively Disabling HTTP/1.0 and HTTP/1.1 http { ... # Check for text-based browsers map $http_user_agent $is_text_browser { default 0; # Text-Based Browsers (not exhaustive) "~*^w3m" 1; "~*^Links" 1; "~*^ELinks" 1; "~*^lynx" 1; # Bots (not exhaustive) "~*Googlebot" 1; "~*bingbot" 1; "~*Yahoo! Slurp" 1; "~*DuckDuckBot" 1; "~*YandexBot" 1; "~*Kagibot" 1; } # Check if request is HTTP/1.X map $server_protocol $is_http1 { default 0; "HTTP/1.0" 1; "HTTP/1.1" 1; } # If Request is not text-based browser, # and is HTTP/1.X, set the http1_and_unknown variable # to 1, which is equivalent to "true" map "$is_http1:$is_text_browser" $http1_and_unknown { default 0; "1:0" 1; } ... }

Tuesday, February 3, 2026 Read
Hero Image
Go Tool Trace

淺談 Go Tool Trace - 1 淺談 Go Tool Trace - 2 Go Trace 與使用者自訂追蹤分析 淺談 Go Tool Trace - 3 實際分析 Goroutine Analysis Go Tool Trace - 4 從 分析到實戰:最佳化 Goroutine 數量 trace Trace is an “event timeline”, not “sampling statistics” go tool trace: used to inspect runtime traces. Its essence is a time-ordered event stream, including: goroutine lifecycle/states: create / runnable / running / waiting / syscall scheduler (G/M/P) related events, scheduling latency blocking time distribution (net / sync / syscall) GC events, STW, heap changes (visible in the trace viewer) Use pprof to find hot spots: who burns CPU, who allocates a lot Use trace to find latency causes: why it’s stuck (scheduling? locks? network? syscalls? GC?) Quick intuition:

Tuesday, January 27, 2026 Read
Hero Image
I Replaced Redis with PostgreSQL (And It's Faster)

I Replaced Redis with PostgreSQL (And It’s Faster) Before the change, Redis handled three things: Caching (70% of usage) Pub/Sub (20% of usage) Background Job Queue (10% of usage) The pain points: Two databases to backup Redis uses RAM (expensive at scale) Redis persistence is… complicated Network hop between Postgres and Redis PostgreSQL Feature 1: Caching with UNLOGGED Tables Redis await redis.set("session:abc123", JSON.stringify(sessionData), "EX", 3600); PostgreSQL CREATE UNLOGGED TABLE cache ( key TEXT PRIMARY KEY, value JSONB NOT NULL, expires_at TIMESTAMPTZ NOT NULL ); CREATE INDEX idx_cache_expires ON cache(expires_at); Insert

Monday, January 19, 2026 Read
Hero Image
Taiwanese Minnan Input Method App Launched: Mobile Devices Can Now Type Taiwanese

Taiwanese Minnan Input Method App Launched: Mobile Devices Can Now Type Taiwanese MOE Taiwanese Minnan Input Method - iOS MOE Taiwanese Minnan Input Method - Android The “Taiwanese Minnan Input Method” supports both phonetic input and voice input, allowing users to convert speech into text.

Thursday, January 15, 2026 Read
Hero Image
Replace Watchtower with WUD: Build a Controlled Docker Auto-Update Plan

Replace Watchtower with WUD: Build a Controlled Docker Auto-Update Plan WUD (What’s Up Docker) services: wud: image: getwud/wud:latest container_name: wud restart: unless-stopped ports: - "3000:3000" volumes: - /var/run/docker.sock:/var/run/docker.sock - ./store:/store environment: - TZ=Asia/Shanghai # Local Docker watcher - WUD_WATCHER_LOCAL_SOCKET=/var/run/docker.sock # Key: do not watch any containers by default - WUD_WATCHER_LOCAL_WATCHBYDEFAULT=false # Scan every 12 hours - WUD_WATCHER_LOCAL_CRON=0 */12 * * * # Auto update + prune old images after update - WUD_TRIGGER_DOCKER_AUTO_PRUNE=true # Equivalent to `watchtower --cleanup` Monitor only (no auto update) labels: - "wud.watch=true" Appears in the WUD UI Shows update hints Does not auto-restart Monitor + auto update (Watchtower equivalent) labels: - "wud.watch=true" - "wud.trigger.include=docker.auto"

Sunday, January 11, 2026 Read
Hero Image
What Happened To WebAssembly

What Happened To WebAssembly Watlings

Sunday, January 11, 2026 Read
Hero Image
How Terminals Work

How Terminals Work

Friday, January 9, 2026 Read
Hero Image
Python Numbers Every Programmer Should Know

Python Numbers Every Programmer Should Know

Sunday, January 4, 2026 Read
Hero Image
Why is this running?

Why is this running?

Tuesday, December 30, 2025 Read
Hero Image
Expose your local web server to the internet with a public URL.

Expose your local web server to the internet with a public URL.

Saturday, December 27, 2025 Read
Hero Image
Rainman Engineering Culture: Eight Interview Questions to Spot Excellence

Rainman Engineering Culture: Eight Interview Questions to Spot Excellence CI/CD tools: collaborative GitLab/GitHub, or gate-heavy Gerrit/Jenkins? Approval flow: how many boss sign-offs does a merge request (MR) need? Environment isolation: separate Dev/Test/Prod environments, and can you switch/deploy with one click? Deployment chain: from code to user-visible, how many steps? Automated or manual? Monitoring: do alerts point to root cause, or are engineers digging through logs at night? Config management: centralized with canary/gradual release, or scattered across code with manual edits? Test coverage: a reliable automated “immune system,” or treat bugs as features and let users test in production? Rollback: when production blows up, can you roll back within 5 minutes, or stay up all night with the team?

Monday, December 22, 2025 Read
Hero Image
A fast and powerful log viewer and processor that converts JSON logs or logfmt logs into a clear human-readable format.

A fast and powerful log viewer and processor that converts JSON logs or logfmt logs into a clear human-readable format.

Sunday, December 14, 2025 Read
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • »»
Navigation
  • About
  • Skills
  • Experiences
  • Education
  • Projects
Contact me:
  • zeyanlin@outlook.com
  • linzeyan
  • Ricky
  • Ricky