Tech Musings
Author

Tech Musings

Capturing thoughts and reflections while coding.

49
Articles
0
Likes
46
Views
0
Comments
Recent Articles

Latest from Tech Musings

49 recent articles
Tech Musings
Tech Musings
Mar 6, 2026 · Artificial Intelligence

How to Deploy Qwen3-8B on WSL2 with 4‑Bit Quantization and Resource Limits

This article details a step‑by‑step guide for setting up the Qwen3‑8B large language model on a Windows 11 system using WSL2, covering hardware specs, CUDA configuration, 4‑bit quantization with BitsAndBytes, SDPA attention optimization, CPU offload, and resource‑limiting tricks to achieve smooth inference performance.

4-bit quantizationCUDA optimizationPyTorch
0 likes · 10 min read
How to Deploy Qwen3-8B on WSL2 with 4‑Bit Quantization and Resource Limits
Tech Musings
Tech Musings
Mar 6, 2026 · Artificial Intelligence

How to Build a Qwen3 Chat UI with Chainlit: Hooks, Auth, and Persistence

Learn how to use the Chainlit Python framework to create a web‑based Qwen3 chat interface, covering its core features, hook mechanisms for data layers, authentication, chat start, message handling, streaming generation, performance monitoring, and session restoration, with full code examples and SQLite persistence.

AIChainlitPython
0 likes · 13 min read
How to Build a Qwen3 Chat UI with Chainlit: Hooks, Auth, and Persistence
Tech Musings
Tech Musings
Mar 5, 2026 · Cloud Native

Why Default Java GC Settings Kill Performance on Kubernetes (And How to Fix It)

Through a controlled experiment with four Spring Boot service groups on Kubernetes, this article shows that relying on Java’s default GC and heap settings can drastically reduce throughput and increase tail latency, especially under higher load, and demonstrates how explicit GC algorithm and Xms/Xmx tuning restores performance.

JVMJavaKubernetes
0 likes · 13 min read
Why Default Java GC Settings Kill Performance on Kubernetes (And How to Fix It)
Tech Musings
Tech Musings
Feb 17, 2026 · Backend Development

Why Go’s Empty Struct Takes Zero Bytes and How to Leverage It

This article explains the zero‑byte nature of Go’s empty struct, how the runtime treats zero‑size allocations, why multiple instances share the same address, and demonstrates practical patterns such as set maps, signal channels, and worker coordination that improve memory efficiency and performance.

Performancechannel signalingempty struct
0 likes · 11 min read
Why Go’s Empty Struct Takes Zero Bytes and How to Leverage It
Tech Musings
Tech Musings
Feb 12, 2026 · Databases

From MySQL to Apache Doris: Key Design Shifts for OLAP Migration

This article explains how backend engineers should rethink table design, indexing, partitioning, and key strategies when migrating attendance data from MySQL's OLTP model to Apache Doris 2.1.7's OLAP architecture, providing concrete DDL examples and practical tips.

Apache DorisDatabase MigrationMySQL
0 likes · 12 min read
From MySQL to Apache Doris: Key Design Shifts for OLAP Migration
Tech Musings
Tech Musings
Feb 10, 2026 · Backend Development

How to Build a Hybrid Vector‑+‑Text Search with Redis 8 (No GPU Required)

This article walks through the complete setup of a hybrid retrieval pipeline on two CPU‑only Linux servers using Redis 8, Qwen‑3‑Embedding vectors, and RediSearch to combine BM25 keyword scores with cosine‑based vector similarity, showing environment details, index creation, data ingestion, the hybrid_search function implementation, result normalization, and a common pitfall of forgetting to set the query language to Chinese.

EmbeddingHybrid SearchPython
0 likes · 23 min read
How to Build a Hybrid Vector‑+‑Text Search with Redis 8 (No GPU Required)
Tech Musings
Tech Musings
Feb 7, 2026 · Fundamentals

How to Clean and Convert a Chinese Poetry Dataset for RAG Projects

This guide explains how to clean a Chinese poetry corpus—removing special characters, filtering short entries, and converting traditional characters to simplified Chinese—using Python validation functions, batch file processing, and WSL‑based OpenCC conversion, then persisting the results as JSON.

JSONRAGdata cleaning
0 likes · 12 min read
How to Clean and Convert a Chinese Poetry Dataset for RAG Projects
Tech Musings
Tech Musings
Feb 3, 2026 · Backend Development

Why Go’s range Loop Can Slow You Down with Large Structs—and How to Fix It

In Go, using a range loop on slices of large structs implicitly copies each element, leading to significant performance loss, and modifying the loop variable does not affect the original slice; this article explains the copying behavior, benchmarks three loop styles, and offers practical guidelines to write fast and correct code.

Performancebenchmarkrange
0 likes · 9 min read
Why Go’s range Loop Can Slow You Down with Large Structs—and How to Fix It
Tech Musings
Tech Musings
Jan 29, 2026 · Databases

Mastering Redis 8 Vector Search: Indexing, Hybrid Retrieval, and Re‑ranking Techniques

This article explains how to use Redis 8.4.0 for vector recall and keyword filtering, covering index selection (FLAT vs HNSW), schema creation with redisvl, full‑text BM25 search, pure KNN vector queries, hybrid text‑plus‑vector retrieval, query cleaning, score fusion, and optional in‑Redis Lua re‑ranking or TAG‑based filtering extensions.

Pythonindexingvector search
0 likes · 15 min read
Mastering Redis 8 Vector Search: Indexing, Hybrid Retrieval, and Re‑ranking Techniques