Skip to main content

ZeroUtil Blog

Long-form guides on the tools we build and the problems they solve. Every article stays focused on what runs in your browser — no cloud uploads, no accounts, no dark patterns.

Subscribe via RSS

Featured guides

Article title card. A loudspeaker icon with three arcs beside it, the innermost in amber, with the line: the file with the voice in it is the .dem.zst
Gaming Tools Guide

How to Hear Voice Comms in a FACEIT Demo (CS2)

FACEIT records both teams' voice, but only in one of the two demos a match leaves you. Which file to open, the three FACEIT commands, and the slot bitmask.

All articles

A player seen from behind in a dark room, wearing an over-ear headset lit red and blue, facing a blurred monitor.
Gaming Tools

Every Way to Hear FACEIT Demo Voice Comms, Compared

Console commands, a web calculator, CS Demo Manager, a voice extractor and extensions: what each does for FACEIT demo voice and what it leaves to you.

Title card on a dark grid. Kicker GAMING TOOLS, headline TICK TO TIME, and the line: the same tick is two different moments. A panel shows the number 6400 above two branches, one ending at 1:40 and one at 0:50.
Gaming Tools

CS2 Demo Ticks: Tick to Time, and demo_gototick

A demo tick over the demo's tick rate is a timestamp. What catches people is which tick rate, which counter the number came from, and where demo_gototick lands.

Title card on a dark grid. Kicker GAMING TOOLS, headline WHAT A CROSSHAIR CODE CHANGES, and the line: it writes 21 cl_crosshair lines and leaves the rest alone. A panel shows a block of 21 small amber marks above a dashed divider, with a few grey marks set apart below it.
Gaming Tools

What Importing a CS2 Crosshair Code Actually Changes

A CS2 crosshair share code writes 21 cl_crosshair variables, truncates a few, and skips your scoped crosshair. Why an imported one can still look off.

Title card on a dark grid. Kicker GAMING TOOLS, headline ONE ACCOUNT NUMBER, FOUR STEAMID FORMATS, and the line: SteamID64, STEAM_0 and SteamID3 all read the same 32 bits. A panel shows a small four-segment bit bar and the formula BASE plus accountID, with accountID in amber.
Gaming Tools

SteamID64, STEAM_0 and SteamID3 Share One Account Number

STEAM_0:Y:Z, SteamID3 and SteamID64 all read one 32-bit account number. How Valve's 64-bit layout works, and what it cannot derive: a vanity URL.

Title card on a dark grid. Kicker GAMING TOOLS, headline CONVERTING SENSITIVITY BETWEEN GAMES, and the line: the whole method is one division. A panel shows the fraction sens x 0.022 over 0.07 with the two constants in amber, above two turn-circle arcs of different length.
Gaming Tools

Converting Mouse Sensitivity Between Games Is One Division

Every cross-game sensitivity converter runs on one division and seven numbers. Where they come from, and four places the math stops matching how aim feels.

Article title card. Five grey bars in a row above an amber crosshair drawn as four bars and a centre dot, with the line: 25 characters, 18 bytes, 21 commands
Gaming Tools

CS2 Crosshair Share Codes: What Those 25 Characters Hold

Twenty-five characters hold eighteen bytes, twenty-one console commands, and forty-one bits that carry nothing at all. Every field, decoded and measured.

Article title card. Two columns of five dots either side of a dashed dividing line, the left column amber and the right grey, with the line: the server decides who was recorded
Gaming Tools

How to Hear the Enemy Team's Voice in a CS2 Demo

Whether you can hear the enemy in a CS2 demo depends on what the server recorded, not on your console. Which demos carry it, and the mask for one side.

Article title card. A pair of curly braces containing an amber double slash, with the line: the extension is not the format
Developer Tools

Why tsconfig.json Allows Comments and package.json Does Not

Both files end in .json. One accepts comments and trailing commas, the other throws. The difference is not the extension - it is which parser reads the file.

Article title card. Two outlined rectangles of the same size offset slightly from each other, one grey and one amber, with the line: the drift you cannot see by eye
CSS & Design

How to Compare a Design to Your Build, Pixel by Pixel

Overlay the mockup on the live page and let difference blending find the drift. The method, what each blend mode is for, and what the tools here cost.

Article title card. Three stacked pages with the topmost in amber, with the line: six operations, one order
PDF Tools

The PDF Tools Everyone Should Know

A hands-on walkthrough of the PDF tasks you hit every week: compress, merge, split, convert, OCR, and sign, with steps you can follow right now.

Article title card. A loudspeaker icon struck through by a thick amber line, with the line: the demo has no voice in it
Gaming Tools

Why You Can't Hear Voice in Your CS2 Demo (Fixes)

Can't hear voice comms in a CS2 or FACEIT demo? The real causes - no voice in MM/Premier demos, unset tv_listen_voice_indices, reset commands - and fixes.

Article title card. A row of five binary digits, three of them picked out in amber, with the sum 13 below, and the line: the slots you pick add up to one number
Gaming Tools

How to Hear Voice Comms in a CS2 Demo

Hear voice comms in a CS2 demo with tv_listen_voice_indices: which demos record voice, how the slot bitmask works, and how to isolate one player or a side.

A pink sticky note handwritten with the word password and the digits 123456, stuck to a black laptop keyboard against a blue background
Security & Privacy

Password Strength: What Length and Character Sets Buy You

Entropy done honestly, NIST's current 15-character floor, and measured GPU cracking speeds showing the hash function matters more than the extra characters.

Article title card. Three grey squares and an arrow leading to four narrower amber bars, with the line: 3 bytes become 4 characters
Developer Tools

Base64 Explained: What It Is, Why It Exists, and When Not to Use It

What Base64 does to your bytes, the three variants that produce most decode failures, and the places it still earns its keep.

Article title card. A large grey square, an arrow, and a much smaller amber square, with the line: same picture, fewer bytes
Image Tools

Client-Side Image Compression: What Happens in the Browser

The real pipeline behind Canvas, OffscreenCanvas and WebCodecs, which formats a browser will and will not encode, and when you still need a server.

The words JSON, JSONC and JSON5 stacked in large white type on a dark background, framed by a pair of oversized curly braces
Developer Tools

JSON vs JSON5 vs JSONC: What Each Parser Actually Accepts

JSON, JSON5 and JSONC share a file extension but not a definition of valid. Tested against real parsers, including one library that disagrees with itself.

Two stacks of white blocks printed with percent signs on a wooden table, one topped with a blue block and the other with a red one
Math & Calculators

Percentage Points vs Percent: 5 Mistakes That Change the Answer

A rate that falls 1% and one that falls 1 percentage point are ten times apart. That confusion, plus four more that quietly turn a correct number wrong.

Get new tools by email

New tools and the occasional deep-dive, about once a month. No spam, no sharing your address, unsubscribe in one click.