AI / ML
Cursor IDE — Best Practices
Practical Cursor IDE habits: project and folder Rules, the Auto model, MCP servers, breaking tasks into steps, and reviewing every diff before commit.
LLama.cpp AI LLM Engine — How It Works
How inference works inside llama.cpp: loading a GGUF model, tokenization, building the compute graph, the KV cache, and token sampling.
LoRA — Final training of AI LLM models
Fine-tuning an LLM with LoRA: when it beats RAG, how to train adapters for gemma-3-4b with unsloth and peft, and export the result to GGUF.
Neural networks in simple terms
How an LLM actually works: tokenization, embeddings, transformer attention, quantization, and the samplers that pick each next token.
Offline AI Launcher — launch AI LLM neural networks on smartphone
Offline AI Launcher runs LLMs like Gemma, DeepSeek, Llama and Qwen straight on your Android phone from .gguf files, with no internet or subscription.
Prompt engineering techniques for Large Language Models
Delimiters, XML tags, few-shot examples, pseudocode and rule hierarchy — how to format prompts for ChatGPT, Claude or Gemini and get predictable output.
RAG (Retrieval-Augmented Generation), Function / Tools Calling, CAG (Cache-Augmented Generation) for LLM models
RAG, function calling and CAG for local LLMs: how vector search works, with working examples in Kotlin, Dspy, LangChain, LangChain4j and llama.cpp.
Vector databases
How vector databases work: embeddings, HNSW indexing and similarity search, plus a comparison of Milvus, Qdrant and Weaviate with Milvus code.