Skip to content
OneKitly
Daniel Okonkwo

Articles by Daniel Okonkwo

Front-end developer and tech writer · View profile

· 13 min read

Generating an Application Secret Key Correctly

How to tell a sound secret-key generator from an unsound one, using this one as a worked example: which random source it calls, how to compute the entropy yourself, and what actually breaks the day you rotate the key.

· 15 min read

Numbering the Lines of a Text for a Review with Several People

Numbering starts at 1 and cannot be set to 0, the alignment is spaces rather than zeros, and the remover undoes eight of the eleven separators without touching the indentation. What it still cannot do is tell your numbers from its own.

· 12 min read

Building a URL With Parameters That Survives a Copy-Paste

Three encodings, one visible difference: %20 or +. The builder's form mode matches URLSearchParams byte for byte on seventeen values — but give it a base URL with a fragment and every parameter lands inside the hash, where no server sees it.

· 15 min read

Extracting the Text from a PDF, and What the Layout Does to It

A PDF stores glyphs at coordinates — not lines, not paragraphs, not a reading order. Extraction rebuilds the text from those positions, which is why two columns come out interleaved, a table loses its cells, and a scan gives you nothing at all. Measured by running the tool.

· 11 min read

Removing the Sound From a Video Without Touching the Picture

One ffmpeg command, no encoder, and a result whose video stream is byte-for-byte the one you started with — verified by checksum. Plus why the file barely shrinks, and the difference between a silent track and no track at all.

· 13 min read

Counting Characters Against a Limit Someone Else Set

One emoji is 1 character, or 7, or 11, or 25, depending on who is counting. Which one your form, your database and your SMS gateway mean — and a one-paste test that tells you which you are facing.

· 14 min read

Extracting Every Email Address or URL from a Block of Text

A URL at the end of a sentence keeps the full stop; an email address at the end of the same sentence does not. An accented first name in an address comes back truncated. Every case here was run through the tools and the exact output is reported.

· 11 min read

Rotating a Video 90° or 180°: the Flag or the Pixels

There are two completely different ways to turn a video, and only one of them touches the picture. This tool takes the slow, lossy, universal road — and there is a good chance your sideways phone clip does not need it at all.

· 13 min read

Sentence Case and Title Case: The Rules Differ by Language

English title case has three different cutoffs depending on the style guide. French, Spanish, Portuguese and Italian have none at all. German capitalises every noun. The tool knows about none of this — here is exactly what it does.

· 11 min read

Filtering Lines by a Pattern Without a Command Line

This is grep for people who do not use grep, with one important difference: the match is a plain substring, so a real regular expression returns an empty box and no error. Every claim here was checked by running the tool.

· 11 min read

Finding Duplicates in a List Without a Spreadsheet

Two lines that look identical are often not identical. Case, a trailing space, a no-break space and two different encodings of the same accented letter were each run through the duplicate finder, and it reported no duplicates for three of the four.

· 12 min read

Cleaning Up a List Pasted from a Spreadsheet or a PDF

A paste carries characters you cannot see: no-break spaces, soft hyphens, zero-width spaces, tabs and CRLF. Four cleanup tools were run against each of them, and they use three different definitions of whitespace.

· 12 min read

Encrypt a File, Then Send the Key Down a Different Road

The encryption is the easy half. Here is exactly what the browser tool does to your file — cipher, key derivation, salt, nonce — and why an encrypted attachment with the passphrase in the same thread protects nothing at all.

· 13 min read

SRT to Text: Getting a Clean Transcript Out of Subtitles

Removing the numbers and the timestamps is the easy half. The half that decides whether the transcript is readable is the italic tags, the dialogue dashes, the sound descriptions and the sentences broken across two cues — and this converter leaves every one of them for you.

· 18 min read

Sending a Document for Signature: the Workflow, Not the Law

Whether a drawn signature is valid is settled elsewhere. What decides whether your document actually gets signed is the order you ask people in, what the audit trail records, and six failure modes that have nothing to do with the law.