VoiceGem

How to say a not-equals operator when dictating

Say “not equals” or “bang equals” to produce !=, spaced on both sides, so “while node not equals null” assembles as while node != null. Two phrasings reach it, and both are matched as a pair before either word is looked up alone.

An eleven-word traversal condition costs about 13 seconds to type and about 4 seconds to say. (sources: Dhakal, Feit, Kristensson & Oulasvirta, “Observations on Typing from 136 Million Keystrokes”, CHI 2018, 168,000 participants, 136 million keystrokes; Yuan, Liberman & Cieri, “Towards an Integrated Understanding of Speaking Rate in Conversation”, Interspeech 2006, 2,438 American English telephone conversations (Switchboard corpus). The speech figure is conversational rate, not a measured dictation rate — no such measurement exists.)

What lands in your editor
while currentNode != null {

This tool runs entirely in your browser. Nothing you type is sent anywhere, stored, or logged.

Step by step

  1. 1

    Say the phrase between the operands

    Speak the left side, then “not equals”, then the right side. The operator keeps its spaces, so the condition reads the way a formatter would leave it.

  2. 2

    Use “bang equals” if you prefer

    Say the alternative phrasing at any point. Both reach the same VoiceGem table entry and produce the same two characters, so switching mid-file changes nothing.

  3. 3

    Extend it for strict inequality

    Say “not equals equals” for !==. The not-equals entry is matched first, then the single equals lands adjacent to it.

  4. 4

    By hand

    Press Shift-1 then equals. It is a two-hand movement and one of the few operators where dictation is close to competitive on a single character.

“Not equals” and “bang equals” name the same two characters

Developers name the exclamation mark differently depending on where they learned it — bang, not, exclamation — and VoiceGem's table carries the two phrasings people actually use for this operator. Both produce the same output, so the choice is entirely about which is quicker for you to say.

Aliases in the Deterministic Pass never change behaviour. Every alias is another key pointing at the same entry, which means learning a second phrasing costs nothing and switching between them mid-sentence is safe.

Where the manual path breaks

Typing != is a two-key sequence with a shift, and a single operator is not worth speaking. The keyboard is fine.

Null-check loops are the case that adds up over a day. A traversal condition mixes a keyword, an identifier, an operator and a null literal, and it is a line most developers write dozens of times. Dictating it in VoiceGem means the operator lands identically every time, and the null literal passes through untouched because it is not in the table.

Doing this somewhere else? speech-to-code converter, with nothing to install, the double equals comparison specifically, how the assignment equals sign works, or what changes for the greater-than sign and closing angle bracket.

Common questions

No. Both are keys pointing at the same entry in VoiceGem's table, so pick whichever is faster for you to say and switch freely.

Say “not equals equals”. The two-word phrase is matched first and the trailing equals lands adjacent, giving you all three characters.

No. Words absent from the lookup table pass through unchanged, so null, nil and None all survive dictation exactly as spoken.

Dictate a traversal loop and check the null literal survived.

Open the tool