Data & Spreadsheets
Cleaning, checking and querying a file before you trust what it tells you.
Every percentage in a survey tally has to state the number it was taken over, because people skip questions — and the base changes question to question.
GROUP BY just sorts rows into buckets and runs one function per bucket — do it with a pencil once and the SQL stops looking like magic.
A KPI card is four numbers — sum, average, min and max — computed over one column; do the arithmetic once and a dashboard stops feeling like a black box.
Pretty-printing JSON is just re-indenting by bracket depth — count the opens and closes as you go, and a tangled one-liner turns into a readable tree.
A tracking link is the same URL plus three query parameters appended with the right separator — the method is one rule about when to use ? and when to use &.
Renaming hundreds of files by a template is one substitution repeated many times — but skip the collision check and two different files can land on the same new name.
A date is a day count in disguise — count the days since 1 January 1970, multiply by 86,400, and you have the same number the tool prints.
De-duplicating is one click. Choosing the key is the whole job — and choosing it wrong deletes real records without a single error message.
A column that is one-eighth blank changes every average you take from it. Counting the blanks first takes ten seconds and is the difference between a report and a guess.
Pasted rows, a few formulas, an answer — and the data never leaves the tab. Here is how a small in-browser sheet works, and exactly where it stops.
Four ideas — character classes, anchors, quantifiers, groups — handle most of what people actually need. The rest is testing the pattern on your own data.
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.