VoiceGem

dictation guides

Dictating code on a Mac, symbol by symbol

Every one of the 48 things VoiceGem's Deterministic Pass can produce, plus the languages and tasks they are used for. Each guide carries a demo that runs in your browser and sends nothing anywhere.

Spoken symbols

78 spoken phrases reach 40 distinct characters. Each guide below covers one character: every phrase that produces it, whether it binds to its neighbours, and what it is used for.

Brackets and braces

Parentheses, square brackets and curly braces, and the attach flags that decide whether a call comes out closed up or spaced apart.

Punctuation

Periods, commas, colons and the escape characters — including the one word that collides with ordinary English prose.

Assignment and comparison

Assignment, equality and the angle brackets, whose single table entry has to serve both a comparison operator and a generic.

Arrows

The fat arrow and the thin arrow, and why the unqualified word belongs to only one of them.

Arithmetic

Operators, and the three characters whose spoken form is genuinely faster than reaching for the key.

Logic

Boolean and bitwise operators, including why repeating a phrase never builds a doubled operator.

Quotes and marks

Quote characters and the underscore, all of which bind on both sides so a literal closes up around its contents.

Prefixes

The three characters in the table that bind rightward and nowhere else, which is what a decorator or a shell variable needs.

Casing commands

7 spoken phrases reach 5 naming styles. A casing command consumes the words that follow it and joins them into one identifier, which is the half of the Deterministic Pass that removes the shift key.

Whitespace commands

5 spoken phrases reach 3 outputs. Line breaks and indentation are resolved in the same single pass as the symbols, which is why a whole block can be one spoken sentence.

By language

How much dictation helps depends heavily on the language. Python and YAML need no cleanup at all; Java generics, Go pointers and shell flags each need a formatter pass, and every guide says which.

Bash

Guides covering Bash — what dictates cleanly, what needs fixing afterwards, and the demo for each.

Go

Guides covering Go — what dictates cleanly, what needs fixing afterwards, and the demo for each.

Java

Guides covering Java — what dictates cleanly, what needs fixing afterwards, and the demo for each.

JavaScript

Guides covering JavaScript — what dictates cleanly, what needs fixing afterwards, and the demo for each.

JSON

Guides covering JSON — what dictates cleanly, what needs fixing afterwards, and the demo for each.

PHP

Guides covering PHP — what dictates cleanly, what needs fixing afterwards, and the demo for each.

Python

Guides covering Python — what dictates cleanly, what needs fixing afterwards, and the demo for each.

Ruby

Guides covering Ruby — what dictates cleanly, what needs fixing afterwards, and the demo for each.

Rust

Guides covering Rust — what dictates cleanly, what needs fixing afterwards, and the demo for each.

SQL

Guides covering SQL — what dictates cleanly, what needs fixing afterwards, and the demo for each.

Swift

Guides covering Swift — what dictates cleanly, what needs fixing afterwards, and the demo for each.

TypeScript

Guides covering TypeScript — what dictates cleanly, what needs fixing afterwards, and the demo for each.

YAML

Guides covering YAML — what dictates cleanly, what needs fixing afterwards, and the demo for each.

By task

The same task changes shape between languages. Writing tests in pytest and writing tests in JUnit are different problems once you are speaking rather than typing.

Writing functions

Every language guide for writing functions, with the demo seeded for that language.

Writing tests

Every language guide for writing tests, with the demo seeded for that language.

Writing regular expressions

Every language guide for writing regular expressions, with the demo seeded for that language.

Naming things

Every language guide for naming things, with the demo seeded for that language.

Comments and documentation

Every language guide for comments and documentation, with the demo seeded for that language.

Config files

Every language guide for config files, with the demo seeded for that language.