// notes from between commits

The 4Dev Blog

Short, practical guides on formats, conversions and the tiny tools that save big time.

Featured · Video

Why your iPhone video won't play on your PC, and how a browser tab fixes it in seconds

iPhones record HEVC video that many computers, TVs and editors can't play. Here's why it happens, and how to fix it in your browser in seconds without uploading the file.

Oct 2, 2026 · 5 min read
Currency

Why your bank’s exchange rate differs from the one online

The rate you see online is not the rate you get at the bank or the airport. Here is where the difference comes from, and how to work out what it costs you.

Oct 2, 2026 · 3 min
Data

Invalid JSON? The 7 mistakes behind almost every error

Trailing commas, single quotes, comments and more: the small slips that break JSON, how to spot them quickly and how to fix each one.

Oct 2, 2026 · 3 min
Security

How long should a password be? The math in plain words

Length beats symbols. See how fast short passwords fall, why 16 random characters is plenty, and how to create one safely.

Oct 2, 2026 · 3 min
Tools

How to make a QR code that scans every time

Size, contrast, quiet zone and how much you put inside: the simple rules that decide whether a printed QR code works on the first try.

Oct 2, 2026 · 3 min
Security

What’s inside a JWT, and why decoding isn’t verifying

A JSON Web Token looks like random characters, but anyone can read it. Here is what its three parts hold, and the mistake that leads to security holes.

Oct 2, 2026 · 3 min
Developer

Cron expressions explained, with 10 ready-to-use examples

Five fields, four symbols and one time-zone trap. Learn to read and write cron schedules, with examples you can copy.

Oct 2, 2026 · 3 min
Security

MD5, SHA-1 or SHA-256: which hash should you use?

Checksums, file integrity, passwords and signatures each need something different. A short guide to picking the right hash, and the one mistake to avoid.

Oct 2, 2026 · 3 min
Developer

Base64 explained: what it’s for, and why it isn’t encryption

Base64 shows up in emails, data URIs, API headers and JWTs. Here is how it works, why it makes data a third bigger, and why it never hides anything.

Oct 2, 2026 · 4 min
Design

Color contrast and WCAG: how to make text easy to read

What a 4.5:1 contrast ratio means, which text needs AA or AAA, and quick fixes for the color pairs that fail most often.

Oct 2, 2026 · 3 min
Images

iPhone HEIC photos: why they won’t upload, and how to fix it

Huge files and a format many sites and PCs still can’t open. Here is how to turn iPhone photos into small JPGs that work everywhere.

Oct 2, 2026 · 3 min
Data

JSON to CSV without losing a single field

Nested keys, optional fields and commas inside strings — how 4Dev flattens messy JSON into a spreadsheet-ready CSV.

Oct 2, 2026 · 3 min
Images

WebP vs PNG vs JPG: which one should you use?

A practical cheat sheet for picking an image format — and why converting in the browser keeps your files private.

Oct 2, 2026 · 3 min
Video & audio

Extract MP3 from MP4 — right in your browser

Modern browsers can decode and encode media on their own. Here is how in-browser audio extraction works, without uploading the video.

Oct 2, 2026 · 3 min
Dev

Unix timestamps: seconds or milliseconds?

The 13-digit bug that ships to production every week, and a dead-simple heuristic to tell the two units apart.

Oct 2, 2026 · 3 min