# technicalwriting.dev

Field notes from the frontier of technical writing.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## word2vec-style vector arithmetic on docs embeddings

DevFeed: [word2vec-style vector arithmetic on docs embeddings](<https://devfeed.tech/articles/word2vec-style-vector-arithmetic-on-docs-embeddings-31146.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2025/10/arithmetic/index.html>)

Published: 2025-10-29T00:00:00Z

Content type: article

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [Embeddings](<https://devfeed.tech/topics/embeddings.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Angular](<https://devfeed.tech/topics/angular.md>), [Supabase](<https://devfeed.tech/topics/supabase.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [database](<https://devfeed.tech/tags/database.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [experiment](<https://devfeed.tech/tags/experiment.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [models](<https://devfeed.tech/tags/models.md>), [research](<https://devfeed.tech/tags/research.md>), [results](<https://devfeed.tech/tags/results.md>), [technical](<https://devfeed.tech/tags/technical.md>), [vector](<https://devfeed.tech/tags/vector.md>)

### AI overview

This article investigates whether word2vec-style vector arithmetic works with document embeddings in technical writing. It describes experiments that subtract and add word or concept vectors to document vectors, using documentation from Supabase and the EmbeddingGemma model, with different task types and comparative verification.

### Source excerpt

Does vector("king") - vector("man") + vector("woman") ~= vector("queen") work in technical writing contexts?

## Understanding task types in the Gemini Embedding API

DevFeed: [Understanding task types in the Gemini Embedding API](<https://devfeed.tech/articles/understanding-task-types-in-the-gemini-embedding-api-31145.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2025/05/tasks/index.html>)

Published: 2025-05-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Embeddings](<https://devfeed.tech/topics/embeddings.md>), [Retrieval Augmented Generation (RAG)](<https://devfeed.tech/topics/retrieval-augmented-generation-rag.md>), [genai](<https://devfeed.tech/topics/genai.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [enum](<https://devfeed.tech/tags/enum.md>), [fact-verification](<https://devfeed.tech/tags/fact-verification.md>), [rag](<https://devfeed.tech/tags/rag.md>)

### AI overview

This article examines the taskType parameter supported by the Gemini Embedding API's models.embedContent method. It reviews the documented task types, their use in retrieval-augmented generation, and how task-specific embeddings are described in the Gemini Embedding paper and Python client source.

### Source excerpt

Should I care about the taskType parameter of the models.embedContent method?

## Automating code deletion with Gemini (and a little Python)

DevFeed: [Automating code deletion with Gemini (and a little Python)](<https://devfeed.tech/articles/automating-code-deletion-with-gemini-and-a-little-python-31143.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2025/04/gn/index.html>)

Published: 2025-04-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [Google AI](<https://devfeed.tech/topics/google-ai.md>), [Python](<https://devfeed.tech/topics/python.md>), [API](<https://devfeed.tech/topics/api.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Code](<https://devfeed.tech/topics/code.md>), [bazel](<https://devfeed.tech/topics/bazel.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [automation](<https://devfeed.tech/tags/automation.md>), [bazel](<https://devfeed.tech/tags/bazel.md>), [build](<https://devfeed.tech/tags/build.md>), [code](<https://devfeed.tech/tags/code.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [genai](<https://devfeed.tech/tags/genai.md>), [gn](<https://devfeed.tech/tags/gn.md>), [python](<https://devfeed.tech/tags/python.md>), [script](<https://devfeed.tech/tags/script.md>)

### AI overview

The article describes a hybrid automation workflow that uses Python for repository-wide file discovery and filtering, then uses the Gemini API to remove documentation-generation features from 235 GN build files after a migration to Bazel.

### Source excerpt

Removing code from over 200 GN build files with Python and the Gemini API.

## Export Google Analytics data to Sheets via Apps Script

DevFeed: [Export Google Analytics data to Sheets via Apps Script](<https://devfeed.tech/articles/export-google-analytics-data-to-sheets-via-apps-script-31144.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2025/04/sheets/index.html>)

Published: 2025-04-25T00:00:00Z

Content type: tutorial

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [Google Analytics](<https://devfeed.tech/topics/google-analytics.md>), [Google Apps Script](<https://devfeed.tech/topics/google-apps-script.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [apps](<https://devfeed.tech/tags/apps.md>), [automation](<https://devfeed.tech/tags/automation.md>), [google-analytics](<https://devfeed.tech/tags/google-analytics.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [script](<https://devfeed.tech/tags/script.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial explains how to use Google Apps Script to export Google Analytics data to Google Sheets. The spreadsheet can update automatically each night, and a custom Sheets menu can trigger an on-demand update. It also describes an optional HTTPS exposure feature and the required setup, dependencies, permissions, and OAuth authorization.

### Source excerpt

A tutorial that shows you how to export Google Analytics data to Google Sheets.

## Sphinx + Bazel: the good, the bad, and the ugly

DevFeed: [Sphinx + Bazel: the good, the bad, and the ugly](<https://devfeed.tech/articles/sphinx-bazel-the-good-the-bad-and-the-ugly-31141.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2025/03/context/index.html>)

Published: 2025-03-25T00:00:00Z

Content type: opinion

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [bazel](<https://devfeed.tech/topics/bazel.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [bazel](<https://devfeed.tech/tags/bazel.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [shell-script](<https://devfeed.tech/tags/shell-script.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [sphinx](<https://devfeed.tech/tags/sphinx.md>)

### AI overview

An experienced technical writer discusses the strengths and weaknesses of managing Sphinx documentation projects with Bazel. The article explains how Bazel can orchestrate Sphinx workflows and describes reported maintenance and development-environment benefits, while helping readers decide whether it fits their project.

### Source excerpt

Strengths and weaknesses of orchestrating Sphinx projects with Bazel.

## Orchestrate Sphinx projects with Bazel

DevFeed: [Orchestrate Sphinx projects with Bazel](<https://devfeed.tech/articles/orchestrate-sphinx-projects-with-bazel-31142.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2025/03/tutorial/index.html>)

Published: 2025-03-25T00:00:00Z

Content type: tutorial

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [bazel](<https://devfeed.tech/topics/bazel.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [GitHub Pages](<https://devfeed.tech/topics/github-pages.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [bazel](<https://devfeed.tech/tags/bazel.md>), [build-system](<https://devfeed.tech/tags/build-system.md>), [docs](<https://devfeed.tech/tags/docs.md>), [extension](<https://devfeed.tech/tags/extension.md>), [github](<https://devfeed.tech/tags/github.md>), [github-pages](<https://devfeed.tech/tags/github-pages.md>), [linux](<https://devfeed.tech/tags/linux.md>), [repository](<https://devfeed.tech/tags/repository.md>), [sphinx](<https://devfeed.tech/tags/sphinx.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

An end-to-end tutorial on managing a Sphinx project with Bazel, including setup, documentation builds, local preview, extensions, and deployment to GitHub Pages.

### Source excerpt

An end-to-end tutorial on managing a Sphinx project with Bazel.

## How Text Embeddings Enable Large-Scale Comparison of Technical Documents

DevFeed: [How Text Embeddings Enable Large-Scale Comparison of Technical Documents](<https://devfeed.tech/articles/embeddings-are-underrated-31139.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2024/10/embeddings/index.html>)

Published: 2024-10-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [Embeddings](<https://devfeed.tech/topics/embeddings.md>), [Machine Learning & Artificial Intelligence](<https://devfeed.tech/topics/machine-learning-artificial-intelligence.md>)

Tags: [embeddings](<https://devfeed.tech/tags/embeddings.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ml](<https://devfeed.tech/tags/ml.md>), [technical](<https://devfeed.tech/tags/technical.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

This tutorial explains what text embeddings are, how text is converted into arrays of numbers, and why fixed-size outputs make it possible to compare arbitrary pieces of text. It also discusses multimodal embeddings and differences between providers such as Gemini and Voyage AI.

### Source excerpt

The ML technology that might end up having the biggest impact on technical writing.

## Exploring the intertwingularity of a docs site

DevFeed: [Exploring the intertwingularity of a docs site](<https://devfeed.tech/articles/exploring-the-intertwingularity-of-a-docs-site-31140.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2024/10/intertwingularity/index.html>)

Published: 2024-10-16T00:00:00Z

Content type: article

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [Crawler](<https://devfeed.tech/topics/crawler.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Website](<https://devfeed.tech/topics/website.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [docs](<https://devfeed.tech/tags/docs.md>), [exploring](<https://devfeed.tech/tags/exploring.md>), [intertwingularity](<https://devfeed.tech/tags/intertwingularity.md>), [links](<https://devfeed.tech/tags/links.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

The article describes building a web crawler to measure how pages in a documentation site link to one another and to the wider web. The backlink data is intended to help identify important pages and prioritize technical-writing effort.

### Source excerpt

Building a web crawler to quantify interconnected knowledge.

## Focus on decisions, not tasks

DevFeed: [Focus on decisions, not tasks](<https://devfeed.tech/articles/focus-on-decisions-not-tasks-31138.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2024/10/decisions/index.html>)

Published: 2024-10-15T00:00:00Z

Content type: opinion

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [decision-making](<https://devfeed.tech/topics/decision-making.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [communication](<https://devfeed.tech/tags/communication.md>), [decision-making](<https://devfeed.tech/tags/decision-making.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [strategy](<https://devfeed.tech/tags/strategy.md>), [technical-writing](<https://devfeed.tech/tags/technical-writing.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

The article argues that technical documentation should support users' decisions, not merely help them complete tasks. It emphasizes documenting context, required decisions, consequences, and useful resources or references.

### Source excerpt

Documentation needs to help people make decisions, not just accomplish tasks.

## Deeplink to specific PDF pages

DevFeed: [Deeplink to specific PDF pages](<https://devfeed.tech/articles/deeplink-to-specific-pdf-pages-31137.md>)

Original publisher: [Read original article](<https://technicalwriting.dev/2024/08/pdf/index.html>)

Published: 2024-07-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [technicalwriting.dev](<https://devfeed.tech/sources/technicalwriting-dev.md>)

Topics: [pdf](<https://devfeed.tech/topics/pdf.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [example](<https://devfeed.tech/tags/example.md>), [guide](<https://devfeed.tech/tags/guide.md>), [links](<https://devfeed.tech/tags/links.md>), [pages](<https://devfeed.tech/tags/pages.md>), [pdf](<https://devfeed.tech/tags/pdf.md>)

### AI overview

This article explains how to link directly to a specific page in a PDF by appending #page=X to the URL. It notes that browsers count the PDF's first page as page 1, which may differ from the page numbering used by the document's authors.

### Source excerpt

Append #page=X to your URL, where X is the page to link to.