gg
Home › Blog

The GG Network blog — page 18

Free lessons that leave you a little sharper every visit — plus deep guides to the professional tools. Knowledge shouldn't sit behind a paywall.

All postsMoney & Finance (58)Home & Renting (7)Work & Business (39)Security & Privacy (24)Law & Life Admin (13)Everyday Maths (92)Health & Fitness Numbers (27)Building for the Web (24)Dates & Time (8)Benefits & Support (4)Data & Spreadsheets (22)Care & Communication (10)Bereavement & Preparedness (5)Home, Pets & Family (22)Shared Living & Splitting Up Costs (5)The Tools (36)
robots.txt controls crawling, not indexing
2026-08-27 · 3 min read

A disallowed URL can still show up in search results, and the noindex tag that would keep it out only works if the crawler is allowed to fetch the page.

seowebhosting
Permanent redirects are hard to take back
2026-08-27 · 4 min read

A 301 gets cached by browsers, sometimes with no expiry, and undoing one means reaching machines you do not control. Also: why two hops usually means one too many.

seowebhosting
A Unix timestamp has no time zone in it
2026-08-28 · 4 min read

It is one integer: seconds since 1970 in UTC. Every time-zone bug and every accidental trip to the year 57971 comes from what happens after that.

datesdataweb
What the Luhn check can and cannot tell you
2026-08-28 · 4 min read

Luhn is a checksum for catching typos. It says a string of digits is internally consistent — not that an account exists, and not that anyone owns it.

securitydataweb
401 and 403 are not the same refusal
2026-08-28 · 4 min read

The first digit of an HTTP status tells you whose problem it is. The pairs that get confused — 401 against 403, 301 against 302 — are where the debugging time goes.

webdatasecurity
Why a one-line insert makes a whole diff look changed
2026-08-28 · 4 min read

A diff is supposed to find the smallest set of changes between two texts. Line endings, trailing spaces and one inserted line are the three things that bury the real one.

datawebsecurity
Escaping is not one thing: it depends on the context
2026-08-28 · 4 min read

The same string needs three different treatments in a path, a query value and a form body. Here is one string escaped all three ways, with the reasoning.

webdatasecurity
Escape HTML on the way out, not filter on the way in
2026-08-28 · 4 min read

Why the four characters that break markup have to be escaped before user text reaches a page, and why escaping for text and for an attribute are not the same job.

websecuritydata
Repeated query-string keys have no agreed meaning
2026-08-28 · 3 min read

A query string is text with conventions, not a data structure. Here is what ?a=1&a=2 means, why frameworks disagree, and why splitting before decoding is the one order that works.

webdatasecurity
Decoding Base64 is not the same as trusting it
2026-08-28 · 4 min read

What padding is for, what a decoder will and will not accept, and why decoded content is still untrusted input that has to be escaped for wherever it lands.

datawebsecurity
Two screens, the same diagonal, very different areas
2026-08-28 · 4 min read

A diagonal measurement tells you almost nothing about how much surface you get, because the answer depends on the shape as well as the length. The formula, worked through at one fixed diagonal.

mathdesignwebeveryday
What PPI tells you, and what it does not
2026-08-28 · 4 min read

Pixels per inch comes from Pythagoras on the pixel grid, and it is exact arithmetic. What it cannot do on its own is describe what reaches a viewer, because that depends on distance.

mathunitsdesignweb
← Newer Page 18 of 20 Older →