[{"content":"[PLACEHOLDER] Project overview — describe the problem this tool solves, what motivated it, and who it\u0026amp;rsquo;s for.\nFeatures [PLACEHOLDER] Scaffold new projects from templates [PLACEHOLDER] Run repeatable tasks with a single command [PLACEHOLDER] Plugin architecture so you can extend it Tech [PLACEHOLDER] Built with Go; ships as a single static binary.\n","date":"March 14, 2026","permalink":"https://huzefa26.github.io/projects/mandli/","section":"projects","summary":"A multi-agent pipeline that researches topics, writes SEO-friendly content and publishes them periodically.","title":"Mandli","type":"projects"},{"content":"[PLACEHOLDER] Overview — why a reproducible setup matters when switching machines.\nWhat it does [PLACEHOLDER] Symlinks configs into place [PLACEHOLDER] Installs a curated tool list per OS [PLACEHOLDER] One command to update and pull Tech [PLACEHOLDER] Plain shell script, deliberately dependency-free.\n","date":"May 28, 2026","permalink":"https://huzefa26.github.io/projects/yt-compliance-rag/","section":"projects","summary":"A RAG pipeline that ingests YouTube videos, extracts multimodal content and generates compliance reports.","title":"YT Ads Compliance RAG","type":"projects"},{"content":"[PLACEHOLDER] Overview — why keeping notes as plain Markdown files beats a database for personal use.\nFeatures [PLACEHOLDER] Full-text search across all notes [PLACEHOLDER] Vim-style keybindings [PLACEHOLDER] Sync-friendly since notes are just files Tech [PLACEHOLDER] Vanilla JS with a local-first storage model.\n","date":"June 15, 2026","permalink":"https://huzefa26.github.io/projects/openaccounts/","section":"projects","summary":"A minimal, double-entry accounting app.","title":"OpenAccounts","type":"projects"},{"content":"Background Reading non-text files like images or PDFs by just opening the file in \u0026amp;ldquo;r\u0026amp;rdquo; mode doesn\u0026amp;rsquo;t work. Even for text files, the \u0026amp;ldquo;r\u0026amp;rdquo; mode is inconsistent, because on Windows it reads new-line characters \\n as \\r\\n vs reading it directly as \\n on Linux and MacOS.\nSolution So, to reliably read files (text and non-text), we need to read the file\u0026amp;rsquo;s bytes and then use base64 standard library of Python to decode those bytes.\nimport base64 with …","date":"July 19, 2026","permalink":"https://huzefa26.github.io/posts/read-any-file-python-ideal-way/","section":"posts","summary":"A single way to read files throughout platforms and file types.","title":"The ideal, platform-independent way to read all files in Python","type":"posts"},{"content":"A good prompt gets your task done precisely how you want it done.\nA general flow to iteratively test prompts is to:\n(1) Set a goal v (2) Write an initial prompt v (3) Eval the prompt v (4) Apply a prompt engineering technique v ^ (5) Re-eval to verify better performance\n(1) Be clear and specifc\nClear:\nUse simple language State what you want explicitly Lead your prompt with a simple statement of the model\u0026amp;rsquo;s task Direct:\nUse instructions, not questions Use direct action verbs (write, …","date":"July 6, 2026","permalink":"https://huzefa26.github.io/posts/prompt-engineering-basic-techniques/","section":"posts","summary":"Notes from the Prompt Engineering section of the course Building with Claude API.","title":"Prompt Engineering : Basic Techniques","type":"posts"},{"content":"The gist, for anyone Large language models write text one word (technically, one \u0026amp;ldquo;token\u0026amp;rdquo;) at a time. Each word requires a full pass through a massive neural network - billions of parameters, doing their thing, just to decide the next word. Then it does the whole thing again for the word after that. This is why chatbots sometimes feel like they\u0026amp;rsquo;re typing at a fixed, almost deliberate pace: the model really is starting from scratch for every single token.\nSpeculative decoding is …","date":"July 5, 2026","permalink":"https://huzefa26.github.io/posts/speculative-decoding-explained/","section":"posts","summary":"Understanding an inference technique that makes LLM systems faster without making them dumber.","title":"Speculative Decoding explained","type":"posts"},{"content":"1) Initial Prompt Draft 2) Eval Dataset Curate a dataset of questions to test the prompt\u0026amp;rsquo;s reachability\n3) Feed through Claude Question -\u0026amp;gt; Answer\n4) Feed through Grader (Question, Answer) -\u0026amp;gt; Grade Avg(Grades) signifies Prompt quality\n5) Change Prompt and Repeat Graders\n3 common ways to grading:\nCode - Evaluate programmatically. Define criteria into codable checks.\nUseful for: Checking output lengths Verifying output does(n\u0026amp;rsquo;t) have certain words Syntax validation Readability …","date":"July 2, 2026","permalink":"https://huzefa26.github.io/posts/prompt-evaluation/","section":"posts","summary":"Notes from the Anthropic Academy course Building with Claude API.","title":"Prompt Evaluation - Steps","type":"posts"},{"content":"AI Fluency Fluent AI use is \u0026amp;hellip;\nMaximing the output we get from interactions with AI, without wasting time and energy, in an honest and responsible way that protects the privacy and security of yourself and others.\nHow are we interacting with AI today?\nAutomation: AI does the work for you, based on your explicit instructions. Augmentation: You and the AI work collaboratively. Agency: AI works independently on your behalf. AI Fluency Framework Delegation When should humans do the work, and …","date":"July 1, 2026","permalink":"https://huzefa26.github.io/posts/ai-fluency/","section":"posts","summary":"My notes from the Anthropic Academy course of the same name.","title":"AI Fluency: Framework \u0026 Fundamentals","type":"posts"},{"content":"The OpenAI Chat Completions API (/v1/chat/completions) is the industry-standard payload structure for LLMs. It uses a stateless JSON payload containing a target model and an array of message objects. [1 , 2 , 3 , 4 , 5 ]\n{ \u0026amp;#34;model\u0026amp;#34;: \u0026amp;#34;glm-5.2\u0026amp;#34;, \u0026amp;#34;messages\u0026amp;#34;: [ { \u0026amp;#34;role\u0026amp;#34;: \u0026amp;#34;system\u0026amp;#34;, \u0026amp;#34;content\u0026amp;#34;: \u0026amp;#34;You are a helpful coding assistant.\u0026amp;#34; }, { \u0026amp;#34;role\u0026amp;#34;: \u0026amp;#34;user\u0026amp;#34;, \u0026amp;#34;content\u0026amp;#34;: \u0026amp;#34;Write a python function to fetch weather.\u0026amp;#34; } ], …","date":"June 28, 2026","permalink":"https://huzefa26.github.io/posts/openai-chat-completions-format/","section":"posts","summary":"The format used by most model providers for messaging with an LLM model.","title":"A brief on the OpenAI (Chat Completions API) format","type":"posts"},{"content":"The mental model Commits as patches; rebase replays them onto another commit.\nWhen I use it Tidying a feature branch before merging Never on shared branches, as it changes the commit hash ","date":"June 28, 2026","permalink":"https://huzefa26.github.io/posts/git-rebase-mental-model/","section":"posts","summary":"See rebase as replaying commits.","title":"A Mental Model for Git Rebase","type":"posts"},{"content":"Does the output suffer when using OpenCode Go models from Claude Code harness (through a proxy like LiteLLM) vs using them from OpenCode itself? Yes, using OpenCode Go models (e.g., DeepSeek, GLM, Kimi) via a proxy in Claude Code will likely reduce answer quality and reliability compared to using them natively in OpenCode. [1 , 2 , 3 , 4 , 5 ]\nWhile the raw model latency is comparable, the \u0026amp;ldquo;agentic\u0026amp;rdquo; performance degrades due to a mismatch between the model and the harness. [1 ] …","date":"June 28, 2026","permalink":"https://huzefa26.github.io/posts/effects-of-using-other-models-in-claude-code/","section":"posts","summary":"I stopped using my OpenCode Go models with the Claude Code harness.","title":"Does the output suffer when using other model providers with Claude Code harness?","type":"posts"},{"content":"[PLACEHOLDER] Overview — a portfolio and blog for sharing projects and writing.\nNotes [PLACEHOLDER] Built on Hugo with the yassi theme [PLACEHOLDER] Custom experience/education timeline on the homepage [PLACEHOLDER] Deployed via GitHub Pages Tech [PLACEHOLDER] Hugo, plain CSS overrides, no JS frameworks.\n","date":"June 28, 2026","permalink":"https://huzefa26.github.io/projects/personal-website/","section":"projects","summary":"This site - a portfolio and blog built with Hugo and the yassi theme.","title":"Personal Website","type":"projects"},{"content":"How to use OpenCode Go subscription from Claude Code? To run Claude Code using alternative models (such as MiniMax or Qwen models available through OpenCode\u0026amp;rsquo;s API service), you need to set up a local proxy like LiteLLM. Claude Code natively expects an Anthropic-compatible API. Medium Article The workflow relies on this architecture:\nClaude Code → LiteLLM Proxy (localhost) → OpenCode Go API → Target Models. Medium Article Get your API Key: Sign up for an OpenCode Go subscription and …","date":"June 28, 2026","permalink":"https://huzefa26.github.io/posts/claude-code-with-other-models/","section":"posts","summary":"Change base URL and API key. Use a proxy to translate formats.","title":"Using other model providers in Claude Code","type":"posts"},{"content":"Scope matters more than features Cutting scope is what let me ship at all.\nFeedback loops Ship early, even to one person A README that answers \u0026amp;ldquo;what is this for?\u0026amp;rdquo; Logging that helps you debug a stranger\u0026amp;rsquo;s bug report ","date":"June 28, 2026","permalink":"https://huzefa26.github.io/posts/shipping-a-side-project/","section":"posts","summary":"Notes from taking a small idea to something other people could actually run.","title":"What I Learned Shipping a Side Project","type":"posts"},{"content":"Why Hugo? Speed, portability and a single binary. The turnaround speed of the project is insane. You setup a project instantly. Pick a theme. Make your changes to the content and styling. Done.\nI have used the yassi theme as I like its timeline blog layout and projects carousel.\nWhen setting up a new project, the directory structure can feel overpopulated. Each folder has its own purpose:\nassets/ - contains global resources typically passed through an asset pipeline. This includes resources such …","date":"June 27, 2026","permalink":"https://huzefa26.github.io/posts/about-this-website/","section":"posts","summary":"Why I picked Hugo for a portfolio + blog, and what I learned.","title":"How was this website built? \u0026 some notes on Hugo","type":"posts"}]