Skip to content
OneKitly
Daniel Okonkwo

Articles by Daniel Okonkwo

Front-end developer and tech writer · View profile

· 11 min read

Markdown Task Lists and What Actually Renders Where

Task lists are not in CommonMark. They are a GitHub Flavored Markdown extension, which is why the same file shows checkboxes in one place and literal brackets in another. The exact marker rule, what nesting does, and a table of what is CommonMark, what is GFM and what is neither — checked against both specs and four renderers.

· 3 min read

mL to Cups: US, Metric, and UK Cups Explained

Convert milliliters to cups for cooking, with the key figure 1 US cup ≈ 237 mL, plus how the US cup, the metric cup, and the UK cup differ — and a ready-to-use table.

· 12 min read

Stripping Markdown: What Plain Text Loses, and What a Regex Gets Wrong

A link becomes text with its destination deleted, a nested list loses its hierarchy, a table becomes a row of words. Then the technical half: markdown has no single spec, and a regex stripper mangles a filename, a multiplication sign and the inside of a code block — all shown against a real parser.

· 12 min read

What a Palindrome Checker Has to Decide Before It Can Answer

Case, whitespace, punctuation and diacritics: four policies, six real sentences, and the answer changes with each one. Then the harder half — reversing a string is itself undefined, and code-unit reversal breaks emoji and detaches accents, demonstrated in Node.

· 14 min read

Find and Replace: The Regex Features That Bite, Demonstrated One by One

Greedy against lazy on the same string, the dot that skips newlines, $& and $$ in the replacement, a reused /g regex that silently skips a row, and why /i knows nothing about Turkish i. Every failure run in Node, with a count-then-replace routine that catches them.

· 12 min read

Converting Between PNG and JPG Without Losing What Matters

The two directions fail in opposite ways. PNG to JPG silently flattens transparency onto a background colour the converter chooses — we got white from one tool and black from another on the same file. JPG to PNG recovers nothing and cost up to 11.4 times the bytes.

· 14 min read

Watermarking: What It Protects, and What It Does Not

A visible mark lives in the pixels, so it survives every copy — and degrades the image for every honest viewer at the same time. Measured: what a corner mark costs, what a tiled mark costs, and how each compares to metadata credit, Content Credentials and invisible watermarking.

· 13 min read

Favicons: What Sizes You Actually Need in 2026

Five files cover every consumer that exists: the tab, the bookmark, the pinned tile, the Android home screen and the iOS home screen. The twenty-file lists are a dead browser matrix — with measurements showing what a 16-pixel icon can and cannot hold.

· 17 min read

Unix Timestamps, Leap Seconds and the 2038 Problem

Unix time counts seconds since 1970 while deliberately ignoring leap seconds, which is why it is not a count of elapsed physical seconds. Here is what that trade buys, what a leap second does to the counter, the exact instant a signed 32-bit counter overflows, and the factor-of-1000 bug that lands you in 1970 or the year 58589.

· 16 min read

What a Minifier Can Remove, and What It Must Not

Minification has to preserve meaning, and the interesting part is the whitespace that carries meaning: the descendant combinator, the spaces inside calc(), the gap between two inline elements. Measured here on real files, including how much brotli was going to save you anyway.

· 15 min read

Checksums Are Not Hashes: CRC-32, Adler-32 and What They Are For

A checksum catches accidents. A cryptographic hash resists an attacker. A hash-table hash spreads keys. Three different jobs, three different families — and here is a CRC-32 collision constructed by hand in 0.11 seconds to show exactly why you cannot substitute one for another.