Writing Guidelines

Who is Lucija

  • Data scientist/engineer, 8+ years in Big Tech, currently between jobs.
  • Croatian, based in the US. European sensibility - no hype, no overselling.
  • Writing these series primarily as structured self-study and interview prep, secondarily for others learning the same topics.
  • Start from fundamentals. Posts serve as a reminder for Lucija first, broader audience second.

Voice & Style

Tone

  • Direct and practical. Get to the point. No “In this post, we will explore…” openers.
  • Conversational but not chatty. Use “I” voice naturally. Short sentences when they land harder.
  • Honest about trade-offs. Don’t sell one answer as the best. Show when things are messy.
  • No American overselling. No “amazing,” “game-changing,” “powerful.” State what it does, let the reader decide.
  • European understatement. “This works well” over “This is incredible.” Confidence without hype.

What NOT to do

  • No “Let’s dive in!” or “Without further ado” or similar filler phrases.
  • No hedging with “basically” or “essentially” - just say the thing.
  • No excessive caveats. One disclaimer is enough.
  • No padding sentences that restate what was just said.
  • Don’t explain things Lucija already knows well - ask if unsure.
  • No motivational language (“You’ve got this!”, “Great job!”).
  • No emoji in prose.

Post Structure

  1. Series note - Add > This is part N of the **Series Name** series. before the opening paragraph.
  2. Opening - a few sentences of context. Why this topic matters or where it fits in the series. No fluff preamble.
  3. Core explanation - What it is, how it works. Lead with intuition, then formalize.
  4. Worked example - Concrete, grounded. Real data or realistic scenario when possible.
  5. Practical notes - Tips, common pitfalls, when to use/not use.
  6. What’s next - One sentence linking to the next topic in the series.

Math & Formulas

  • Include key formulas - don’t skip them, they’re needed for reference.
  • Always pair a formula with a plain-English sentence explaining what it means intuitively.
  • Follow with a Python example when the concept benefits from seeing it computed. Skip trivial code (no np.mean() demos).
  • Use LaTeX notation in Hugo ($...$ for inline, $$...$$ for display).
  • Never use \, after a comma in LaTeX. The \, (thin space) renders as a visible comma in KaTeX, creating a double comma. Use , alone or ,\; for extra spacing after commas in math expressions.
  • Terminology precision: use “values” or “observations” for individual draws, not “samples”. A “sample” is the entire collection of observations.
  • Named theorems and key results (LLN, CLT, etc.) get callout-formula boxes for consistency.
  • When a figure is introduced, explain what each visual element represents (axes, colors, lines, dots) in the caption or surrounding text. Don’t assume the reader can parse it unaided.

Code

  • Python with NumPy/scikit-learn/pandas as needed.
  • Short, focused snippets - not full scripts. Show the concept, not boilerplate.
  • Comments only where the code isn’t self-explanatory.

Formatting

  • Clear headings (H2 for main sections, H3 for subsections, H4 for worked examples).
  • Tables for comparisons (algorithm trade-offs, method properties).
  • Bold for key terms on first introduction.
  • Use : after a bolded term when defining it: **Term**: definition here. Not -.
  • Use hyphens (-) instead of em dashes. Never use .
  • Use “and” instead of & in titles and headings.
  • Store images in content/images/<topic>/ (e.g. content/images/math/, content/images/ml/). Reference as /images/<topic>/filename.png.
  • Add a numbered italic caption below each image: *Figure N: Description*. Number sequentially per post.
  • Callouts for key content. Use <div class="callout callout-TYPE"><div class="callout-title">Title</div> with:
    • callout-formula (blue): key formulas, definitions
    • callout-example (gray): worked examples
    • callout-note (yellow): side notes, “good to know”
    • callout-warning (red): common mistakes, pitfalls
    • callout-summary (green): comparison tables, recap boxes

Post Metadata Template

---
title: "Post Title"
date: YYYY-MM-DD
tags: ["machine-learning"] # or ["math"], or both
summary: "One-sentence summary for listing pages and SEO."
draft: true
---

Series Plan

ML Fundamentals (tag: machine-learning)

Source material: drafts/ml/ML Overview.md

  1. Linear Regression (draft)
  2. Regularization and Feature Selection (draft) - bias-variance, Ridge/Lasso/Elastic Net, filter/wrapper/embedded methods, SHAP
  3. Model Evaluation (draft) - loss functions, regression/classification metrics, cross-validation, learning/validation curves, hyperparameter tuning
  4. Decision Trees and Ensemble Methods - splits, impurity, bagging, random forests, gradient boosting
  5. Logistic Regression - from linear to classification, decision boundary, loss
  6. Support Vector Machines - margin intuition, kernel trick, when to use
  7. K-Nearest Neighbors - distance metrics, curse of dimensionality
  8. Handling Imbalanced Data - resampling, SMOTE, class weights

Math Foundations (tag: math, statistics)

Source material: drafts/math/

  1. Population, Samples & Descriptive Statistics (published)
  2. Probability Basics (published)
  3. Probability Distributions (published)
  4. The Central Limit Theorem (published)
  5. Hypothesis Testing, Confidence Intervals & Power (draft - merged original posts 5+6)
  6. A/B Testing - design, execution, analysis, common pitfalls

Future Math Topics (after A/B testing series)

  • Covariance, Correlation & Variance of Sums (draft exists)
  • Joint & Conditional Distributions - marginals, covariance, correlation
  • Maximum Likelihood Estimation - intuition, derivation, examples
  • Bayesian vs Frequentist - priors, posteriors, when each worldview helps
  • Linear Algebra Essentials - vectors, matrices, transformations, eigenvalues
  • PCA - dimensionality reduction, eigenvectors in practice

Session Workflow

  1. Lucija picks a topic or we go in series order.
  2. Review relevant source material from drafts.
  3. Draft the post following the structure and style rules above.
  4. Lucija reviews, we iterate.
  5. When ready, set draft: false and it goes live on next push.