
		<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
			<channel>
				<title>José David Baena – Software Engineer</title>
				<link>https://www.josedavidbaena.com/blog</link>
				<description>Personal website and blog where I document thoughts, ideas, and interests in software engineering, web performance, and open source technologies.</description>
				<language>en-us</language>
				<managingEditor>josedab@gmail.com (José David Baena)</managingEditor>
				<webMaster>josedab@gmail.com (José David Baena)</webMaster>
				<lastBuildDate>Fri, 05 Dec 2025 00:00:00 GMT</lastBuildDate>
				<atom:link href="https://www.josedavidbaena.com/feed.xml" rel="self" type="application/rss+xml"/>
				
		<item>
			<guid>https://www.josedavidbaena.com/blog/cve-2025-55182-react2shell-explained</guid>
			<title>CVE-2025-55182: The React2Shell Vulnerability Explained</title>
			<link>https://www.josedavidbaena.com/blog/cve-2025-55182-react2shell-explained</link>
			<description>A critical pre-authentication RCE flaw in React Server Components scored CVSS 10.0. Nicknamed React2Shell, it affects React 19 and Next.js—even fresh create-next-app projects are exploitable. Here&#39;s the technical breakdown and what you need to do now.</description>
			<pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>security</category><category>react</category><category>nextjs</category><category>rce</category><category>cve</category><category>javascript</category><category>web-security</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/memory-optimization-techniques-gradient-accumulation</guid>
			<title>Memory Optimization Techniques: Gradient Accumulation &amp; Mixed Precision</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/memory-optimization-techniques-gradient-accumulation</link>
			<description>Gradient accumulation gives you 4× batch size without 4× memory. bfloat16 halves memory with no accuracy loss. These techniques let a 24GB GPU train 150M parameter models.</description>
			<pubDate>Wed, 26 Nov 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>nanochat</category><category>memory-optimization</category><category>gpu</category><category>training</category><category>practical-guide</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/tokenizer-design-choices-bpe-vocabulary</guid>
			<title>Tokenizer Design Choices: BPE, Vocabulary, and Implementation</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/tokenizer-design-choices-bpe-vocabulary</link>
			<description>Your tokenizer decides what your model sees. BPE with 32K vocabulary gives 3.5 tokens per word. Rust training at 10M tokens/sec. tiktoken inference at 10M+ tokens/sec. These choices compound across every training step.</description>
			<pubDate>Mon, 24 Nov 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>nanochat</category><category>tokenization</category><category>bpe</category><category>tiktoken</category><category>practical-guide</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/building-custom-evaluation-tasks</guid>
			<title>Building Custom Evaluation Tasks</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/building-custom-evaluation-tasks</link>
			<description>Standard benchmarks measure general capabilities. Custom tasks measure what you care about. One base class, two evaluation modes, and you can build any domain-specific benchmark in 50 lines.</description>
			<pubDate>Sat, 22 Nov 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>nanochat</category><category>evaluation</category><category>benchmarks</category><category>core</category><category>testing</category><category>practical-guide</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/reinforcement-learning-from-human-feedback</guid>
			<title>Reinforcement Learning from Human Feedback (RLHF)</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/reinforcement-learning-from-human-feedback</link>
			<description>SFT teaches imitation. RL teaches improvement. GRPO with binary rewards achieves 50%+ on GSM8K—from the ~561M parameter d20 model—by letting the model discover better solutions than any single demonstration.</description>
			<pubDate>Tue, 18 Nov 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>nanochat</category><category>rlhf</category><category>reinforcement-learning</category><category>grpo</category><category>policy-gradient</category><category>practical-guide</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/fine-tuning-for-chat-sft</guid>
			<title>Fine-tuning for Chat (SFT)</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/fine-tuning-for-chat-sft</link>
			<description>SFT transforms a next-token predictor into a chat assistant. Special tokens define conversation structure, masking lets you train only on assistant responses, and 2K high-quality conversations outperform 10K noisy ones.</description>
			<pubDate>Fri, 14 Nov 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>nanochat</category><category>sft</category><category>fine-tuning</category><category>chat</category><category>llm</category><category>practical-guide</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/training-your-first-model-from-scratch</guid>
			<title>Training Your First Model from Scratch</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/training-your-first-model-from-scratch</link>
			<description>Train a 20M parameter model in 15 minutes on one GPU. From git clone to a working language model—then scale to 140M+ parameters.</description>
			<pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>nanochat</category><category>tutorial</category><category>training</category><category>llm</category><category>beginner</category><category>practical-guide</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/loss-landscape-scaling-laws-evaluation</guid>
			<title>Loss Landscape &amp; Scaling Laws: Understanding Training Dynamics</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/loss-landscape-scaling-laws-evaluation</link>
			<description>Cross-entropy tells you nothing about what your model knows. Bits-per-byte normalizes across tokenizers, CORE provides centered metrics, and Chinchilla proves 20× data-to-params is optimal.</description>
			<pubDate>Wed, 05 Nov 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>evaluation</category><category>scaling-laws</category><category>machine-learning</category><category>benchmarking</category><category>nanochat</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/training-data-pipeline-streaming-tokenization</guid>
			<title>Training Data Pipeline: Streaming Tokenization at Scale</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/training-data-pipeline-streaming-tokenization</link>
			<description>How nanochat streams 100B tokens with minimal memory—distributed sharding, efficient tokenization, and the data pipeline architecture for production-grade LLM training.</description>
			<pubDate>Fri, 31 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>data-engineering</category><category>tokenization</category><category>distributed-systems</category><category>machine-learning</category><category>nanochat</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/ai-leadership.es</guid>
			<title>Construyendo el Futuro de Forma Responsable: Perspectiva de un Ingeniero de Software sobre el Liderazgo en IA Estadounidense</title>
			<link>https://www.josedavidbaena.com/blog/ai-leadership.es</link>
			<description>La industria de IA está alcanzando un punto de inflexión donde la seguridad y confiabilidad determinan el despliegue en producción, no las capacidades brutas. Las empresas que gastan recursos computacionales para mejoras marginales en benchmarks están perdiendo frente a aquellas que construyen sistemas confiables y eficientes. Tus decisiones arquitectónicas hoy determinarán si puedes realmente implementar funcionalidades de IA o enfrentar desastres en producción.</description>
			<pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>ai</category><category>leadership</category><category>safety</category><category>engineering</category><category>decision-making</category><category>vendor-selection</category><category>production-systems</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/ai-leadership.it</guid>
			<title>Costruire il Futuro in Modo Responsabile: La Prospettiva di un Ingegnere Software sulla Leadership Americana nell&#39;IA</title>
			<link>https://www.josedavidbaena.com/blog/ai-leadership.it</link>
			<description>L&#39;industria dell&#39;IA sta raggiungendo un punto di svolta dove sicurezza e affidabilità determinano il deployment in produzione, non le capacità grezze. Le aziende che bruciano risorse computazionali per miglioramenti marginali nei benchmark stanno perdendo contro quelle che costruiscono sistemi affidabili ed efficienti. Le tue decisioni architetturali oggi determineranno se puoi effettivamente rilasciare funzionalità IA o affrontare disastri in produzione.</description>
			<pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>ai</category><category>leadership</category><category>safety</category><category>engineering</category><category>decision-making</category><category>vendor-selection</category><category>production-systems</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/ai-leadership</guid>
			<title>Building the Future Responsibly: A Software Engineer&#39;s Perspective on American AI Leadership</title>
			<link>https://www.josedavidbaena.com/blog/ai-leadership</link>
			<description>The AI industry is reaching an inflection point where safety and reliability determine production deployment, not raw capabilities. Companies burning through compute for marginal benchmark improvements are losing to those building trustworthy, efficient systems. Your architectural decisions today will determine whether you can actually ship AI features or face production disasters.</description>
			<pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>ai</category><category>leadership</category><category>safety</category><category>engineering</category><category>decision-making</category><category>vendor-selection</category><category>production-systems</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/modern-transformer-architecture-rope-qk-norm</guid>
			<title>Modern Transformer Architecture: RoPE, QK Norm, and Design Choices</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/modern-transformer-architecture-rope-qk-norm</link>
			<description>Why modern transformers choose RoPE over learned embeddings, QK normalization over LayerNorm, and ReLU² over GELU—each decision&#39;s impact on training stability and inference speed.</description>
			<pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>ai</category><category>deep-learning</category><category>transformers</category><category>architecture</category><category>nanochat</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/mermaid-nextjs-journey/mermaid-diagrams-three-architectures-one-solution</guid>
			<title>Three Architectures, One Solution: Building a Mermaid.js Diagram System</title>
			<link>https://www.josedavidbaena.com/blog/mermaid-nextjs-journey/mermaid-diagrams-three-architectures-one-solution</link>
			<description>This comprehensive case study has been split into a 3-part series for better readability. Start with Part 1 to learn about build-time rendering, over-engineering, and the simple solution that actually shipped.</description>
			<pubDate>Mon, 20 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>nextjs</category><category>mermaid</category><category>architecture</category><category>performance</category><category>case-study</category><category>pragmatic-engineering</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/kv-caching-memory-efficient-transformer-inference</guid>
			<title>KV Caching Deep-Dive: Memory-Efficient Transformer Inference</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/kv-caching-memory-efficient-transformer-inference</link>
			<description>KV caching cuts transformer inference from O(T³) to O(T²). Cache lifecycle, prefill vs decode phases, dynamic growth, batch replication, and Multi-Query Attention—with nanochat&#39;s implementation.</description>
			<pubDate>Mon, 20 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>ai</category><category>deep-learning</category><category>transformers</category><category>optimization</category><category>inference</category><category>nanochat</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/distributed-muon-custom-gradient-synchronization</guid>
			<title>Distributed Muon: Custom Gradient Synchronization for Memory-Efficient Training</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/distributed-muon-custom-gradient-synchronization</link>
			<description>DistMuon: custom ZeRO-2 implementation achieving 58-67% memory savings through block-cyclic parameter assignment and preserve-matrix-structure sharding for Newton-Schulz orthogonalization.</description>
			<pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>distributed-training</category><category>optimization</category><category>nanochat</category><category>pytorch</category><category>zero</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/muon-optimizer-explained</guid>
			<title>The Muon Optimizer Explained: Why Orthogonal Gradients Work</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/muon-optimizer-explained</link>
			<description>Master the Muon optimizer: Newton-Schulz orthogonalization for 2D transformer parameters. Learn why orthogonal gradients converge ~35% faster than AdamW on NanoGPT speedruns—with detailed mathematical explanations and real implementation examples.</description>
			<pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>deep-learning</category><category>optimization</category><category>nanochat</category><category>pytorch</category><category>transformers</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/nanochat/building-chatgpt-for-100-dollars</guid>
			<title>Build Your Own ChatGPT for $100</title>
			<link>https://www.josedavidbaena.com/blog/nanochat/building-chatgpt-for-100-dollars</link>
			<description>Train a complete ChatGPT-like system from scratch for $100: tokenizer training, pretraining, fine-tuning, and deployment—the entire LLM pipeline for the cost of dinner.</description>
			<pubDate>Tue, 14 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>ai</category><category>tutorial</category><category>llm</category><category>deep-learning</category><category>pytorch</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-llm-case-studies-production</guid>
			<title>Tiny LLM Deployment Patterns: Architecture Blueprints from Published Benchmarks</title>
			<link>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-llm-case-studies-production</link>
			<description>Deployment architecture patterns for tiny LLMs across healthcare, legal, manufacturing, and edge devices—grounded in published benchmarks from Microsoft Research, Apple ML, and MLPerf. These blueprints show how real performance constraints shape production decisions.</description>
			<pubDate>Mon, 13 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>deployment-patterns</category><category>production</category><category>benchmarks</category><category>architecture</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/mermaid-nextjs-journey/mermaid-nextjs-part-2-interactive-controls</guid>
			<title>Building Interactive Pan/Zoom Controls I Didn&#39;t Need</title>
			<link>https://www.josedavidbaena.com/blog/mermaid-nextjs-journey/mermaid-nextjs-part-2-interactive-controls</link>
			<description>Part 2: I built 706 lines of interactive pan/zoom controls with momentum physics and keyboard shortcuts. It looked impressive, but users didn&#39;t need it. Here&#39;s how I recognized over-engineering and why simpler is better.</description>
			<pubDate>Fri, 10 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>react</category><category>custom-hooks</category><category>pan-zoom</category><category>svg-rendering</category><category>over-engineering</category><category>feature-creep</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/mermaid-nextjs-journey/mermaid-nextjs-part-3-simple-solution</guid>
			<title>Simple CSS Fixed What 308 Lines of JavaScript Couldn&#39;t</title>
			<link>https://www.josedavidbaena.com/blog/mermaid-nextjs-journey/mermaid-nextjs-part-3-simple-solution</link>
			<description>Part 3: After 706 lines of interactive controls, I deleted 95.6% of the code and fixed everything with simple CSS. Here&#39;s the simple solution that actually shipped, complete lessons learned, and a practical implementation guide.</description>
			<pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>css</category><category>simplification</category><category>refactoring</category><category>pragmatic-engineering</category><category>mermaid-tutorial</category><category>lessons-learned</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-llm-edge-deployment-guide</guid>
			<title>Edge Device Deployment: Running Tiny LLMs on Raspberry Pi, Mobile, and IoT</title>
			<link>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-llm-edge-deployment-guide</link>
			<description>2 tokens/sec naive. 28 tokens/sec optimized. Same Raspberry Pi 4. INT4 quantization, llama.cpp runtime, and ARM NEON intrinsics turn cloud models into edge deployments.</description>
			<pubDate>Sat, 04 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>edge-computing</category><category>deployment</category><category>raspberry-pi</category><category>mobile</category><category>optimization</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/mermaid-nextjs-journey/mermaid-nextjs-part-1-build-time-rendering</guid>
			<title>When Build-Time Rendering Seemed Like a Good Idea</title>
			<link>https://www.josedavidbaena.com/blog/mermaid-nextjs-journey/mermaid-nextjs-part-1-build-time-rendering</link>
			<description>Part 1: I tried to optimize Mermaid.js rendering with build-time SVG generation using Puppeteer. Build times went from 5s to 45s. Here&#39;s why I abandoned the approach and what I learned about premature optimization.</description>
			<pubDate>Fri, 03 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>nextjs</category><category>mermaid</category><category>build-optimization</category><category>static-site-generation</category><category>performance</category><category>remark-plugins</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/gitignore-ignore-directory-keep-1-file</guid>
			<title>GitIgnore personal configurations</title>
			<link>https://www.josedavidbaena.com/blog/gitignore-ignore-directory-keep-1-file</link>
			<description>How to ignore all files in a directory except for a specific one.</description>
			<pubDate>Thu, 02 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>git</category><category>gitignore</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-llm-fine-tuning-domain-adaptation</guid>
			<title>Fine-Tuning Tiny Models: LoRA, QLoRA, and Domain Adaptation Strategies</title>
			<link>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-llm-fine-tuning-domain-adaptation</link>
			<description>Domain accuracy from 8% to 68%. Training cost $23 instead of $15,000. LoRA trains 0.1% of parameters. QLoRA adds 4-bit quantization. Six hours of fine-tuning transforms a general model into a domain expert.</description>
			<pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>fine-tuning</category><category>lora</category><category>qlora</category><category>domain-adaptation</category><category>tutorial</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/tiny-language-models/quantization-aware-training-tutorial</guid>
			<title>Quantization-Aware Training: INT8/INT4 Models That Maintain Quality</title>
			<link>https://www.josedavidbaena.com/blog/tiny-language-models/quantization-aware-training-tutorial</link>
			<description>Naive INT8 quantization drops MMLU 24%. QAT drops it 2.4%. Train with fake quantization so your model learns resilience. GPTQ, mixed-precision, and deployment recipes included.</description>
			<pubDate>Sat, 27 Sep 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>quantization</category><category>training</category><category>optimization</category><category>tutorial</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/tiny-language-models/knowledge-distillation-complete-tutorial</guid>
			<title>Knowledge Distillation: How to Train a 1.5B Model That Matches Your 7B</title>
			<link>https://www.josedavidbaena.com/blog/tiny-language-models/knowledge-distillation-complete-tutorial</link>
			<description>Llama-7B to 1.5B. 90% quality at 1/5 the size. 3× inference speed. From temperature-scaled softmax to production deployment—with working PyTorch code.</description>
			<pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>distillation</category><category>training</category><category>tutorial</category><category>pytorch</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-llm-architecture-comparison</guid>
			<title>Tiny LLM Architecture Comparison: TinyLlama vs Phi-2 vs Gemma vs MobileLLM</title>
			<link>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-llm-architecture-comparison</link>
			<description>Seven models. One decision. Phi-2 wins on reasoning (56.7% MMLU), MobileLLM wins on speed (120 tok/s), Qwen wins on multilingual. Match your constraints to the right architecture.</description>
			<pubDate>Sat, 20 Sep 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>llm</category><category>architecture</category><category>benchmarks</category><category>comparison</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/tiny-language-models/efficient-attention-mechanisms-tiny-models</guid>
			<title>Efficient Attention Mechanisms for Tiny Language Models</title>
			<link>https://www.josedavidbaena.com/blog/tiny-language-models/efficient-attention-mechanisms-tiny-models</link>
			<description>Standard attention uses 50% of inference time and 75% of memory. MQA cuts KV cache 4×. Flash Attention fuses kernels for 2-4× speedup. GQA balances both. These techniques make tiny models practical.</description>
			<pubDate>Fri, 19 Sep 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>attention</category><category>transformers</category><category>optimization</category><category>tutorial</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/tiny-language-models/model-compression-techniques-comprehensive-guide</guid>
			<title>Model Compression: 14GB to 450MB While Keeping 90% Quality</title>
			<link>https://www.josedavidbaena.com/blog/tiny-language-models/model-compression-techniques-comprehensive-guide</link>
			<description>14GB to 450MB. 12 to 60 tokens/sec. 90% quality retained. Four techniques—distillation, quantization, pruning, LoRA—and they compose. Production PyTorch code included.</description>
			<pubDate>Mon, 15 Sep 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>model-compression</category><category>distillation</category><category>quantization</category><category>pruning</category><category>lora</category><category>tutorial</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-language-models-math-foundations</guid>
			<title>Mathematical Foundations of Model Compression: Theory Behind Tiny LLMs</title>
			<link>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-language-models-math-foundations</link>
			<description>Quantization cuts size 75% while losing 2% accuracy. Distillation transfers knowledge through soft labels. Pruning exploits the Lottery Ticket Hypothesis. These four mathematical pillars explain why compression works.</description>
			<pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>deep-learning</category><category>model-compression</category><category>quantization</category><category>distillation</category><category>mathematics</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-language-models-complete-guide</guid>
			<title>Tiny Language Models: How 1.3B Parameters Can Beat 7B on Reasoning</title>
			<link>https://www.josedavidbaena.com/blog/tiny-language-models/tiny-language-models-complete-guide</link>
			<description>Microsoft Phi-1.5 (1.3B parameters) matches models 5× larger on reasoning tasks. TinyLlama trained on ~1T tokens for 3 epochs. The tiny LLM revolution proves data quality beats model size—and that changes everything.</description>
			<pubDate>Fri, 05 Sep 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>machine-learning</category><category>ai</category><category>tiny-llm</category><category>efficient-models</category><category>edge-computing</category><category>mobile-ai</category>
		</item>
	
		<item>
			<guid>https://www.josedavidbaena.com/blog/welcome-to-my-blog</guid>
			<title>Welcome to My Blog</title>
			<link>https://www.josedavidbaena.com/blog/welcome-to-my-blog</link>
			<description>A personal engineering diary exploring distributed systems, scalability challenges, and the art of building systems that handle massive scale. If you&#39;re into scalability and distributed systems, you might enjoy following along.</description>
			<pubDate>Mon, 01 Sep 2025 00:00:00 GMT</pubDate>
			<author>josedab@gmail.com (José David Baena)</author>
			<category>introduction</category><category>distributed-systems</category><category>scalability</category>
		</item>
	
			</channel>
		</rss>
	