Guides
329 short, plain-words answers to the errors and puzzles that send people searching, each linked to a free private tool to try it.
New since your last visit
Worked out in your browser from the date of your last visit, which is kept only here (local storage). We never see it. Prefer a feed reader? Use the guides feed.
New this week
Laptop or PC sound crackling, popping or distorted? How to fix it
· PCs, laptops and monitors
Keyboard keys not working, or sticky after a spill? Fixes for laptops and PCs
· PCs, laptops and monitors
Laptop not charging over USB-C, or "slow charger"? What to check
· PCs, laptops and monitors
Laptop touchpad not working or cursor jumping? Fixes for Windows and Mac
· PCs, laptops and monitors
Keyboard typing the wrong characters? @ and “ swapped, # instead of £, numbers instead of letters
· PCs, laptops and monitors
Microphone not working on PC or Mac? Fixes for Teams, Zoom, Discord and headsets
· PCs, laptops and monitors
Webcam not working? Fixes for laptop and USB cameras on Windows and Mac
· PCs, laptops and monitors
Bluetooth headphones sound terrible on calls? Headset mode, the microphone trade-off and fixes
· PCs, laptops and monitors
Laptop overheating or slowing down when hot? Thermal throttling explained and fixed
· PCs, laptops and monitors
Follow new guides in any feed reader: Atom feed. No sign-up, no email.
Cloudflare errors (17) · Phone batteries (21) · Texts and messaging (4) · PCs, laptops and monitors (13) · Games and input lag (10) · Wi-Fi and home networks (40) · Git (12) · SSH, shells, servers and Docker (21) · TLS and certificates (10) · Sharing links and access (4) · Browser and network errors (21) · HTTP status codes and headers (27) · JavaScript, Node and npm (15) · Python (8) · Compression and archives (4) · Renaming files (7) · Redacting and hiding private info (3) · Drives, storage and backups (28) · Images and photos (21) · Text, encoding and data (22) · Canada public holidays (3) · Dates, units and holidays (18)
Cloudflare errors
Cloudflare Error 521: Web server is down
Cloudflare found your origin’s address, knocked on the door, and got a hard “no” — nothing accepted the TCP connection. The edge is fine; the origin refused.
Cloudflare Error 522: Connection timed out
Cloudflare dialled your origin and heard nothing useful back before its connect timer ran out. Usually a drop, a blackhole, or the wrong address — not a slow HTTP handler.
Cloudflare Error 524: A timeout occurred
The TCP (and usually TLS) path to your origin worked. Cloudflare then waited for an HTTP response and gave up. Your app was too slow — or stuck — not unreachable.
Cloudflare Error 520: Web server is returning an unknown error
Cloudflare reached your origin and something came back — but the reply was empty, truncated, or so broken the edge could not treat it as HTTP. Cousin of a generic 502, with Cloudflare’s branding.
Cloudflare Error 525: SSL handshake failed
Cloudflare knocked on port 443 and the TCP path worked — then the TLS handshake fell apart. The origin is not speaking a TLS dialect Cloudflare can agree on, or nothing on 443 is speaking TLS at all.
Cloudflare Error 526: Invalid SSL certificate
The TLS handshake got far enough for Cloudflare to look at your origin certificate — and it failed the exam. Full (strict) mode demands a valid, trusted cert on the origin; anything less becomes Error 526.
Cloudflare Error 523: Origin is unreachable
Cloudflare’s edge cannot find a working path to your origin at all — not a polite TCP refuse, not a slow connect, not a hung HTTP read. The packets have nowhere useful to go.
Cloudflare Error 1016: Origin DNS error
Cloudflare is proxying your hostname, but when it looks up the origin server name you configured, DNS comes back empty or broken — so the edge has nowhere to send the request.
Cloudflare Error 1020: Access denied
Cloudflare decided this request is not allowed — a firewall rule, WAF custom rule, IP/country block, or Access policy stopped it at the edge, so your origin never saw it.
Cloudflare error codes list: every 52x and 1xxx error explained
Cloudflare shows two families of errors. The 52x ones mean Cloudflare reached for your server and something went wrong there. The 1xxx ones mean the request was stopped or misrouted inside Cloudflare itself. Knowing which family you are in saves most of the debugging.
Cloudflare Error 1015 "You are being rate limited": fix for visitors and site owners
You refreshed a few times, or a script looped, and now every page says “Error 1015: You are being rate limited”. The site’s owner set a limit on how many requests one client may send, and you went over it.
Cloudflare Error 1033 (Tunnel error): why it happens and how to fix it
Your site runs behind a Cloudflare Tunnel, and suddenly it says “Error 1033: Cloudflare Tunnel error” (older pages say “Argo Tunnel error”). Cloudflare knows the hostname belongs to a tunnel, but nobody is on the other end of it.
Cloudflare Error 1101 "Worker threw exception" (and 1102 resource limits)
A Cloudflare Worker sits in front of the site, and it crashed. Visitors see “Error 1101: Worker threw exception”. The real error message is not on the page: it is in the Worker’s logs.
Cloudflare Error 1000: DNS points to prohibited IP
Cloudflare looked up where to send the request and the answer was… Cloudflare. Rather than chase its own tail, the edge stops and shows Error 1000.
Cloudflare Error 1001: DNS resolution error
The request reached Cloudflare, but Cloudflare has no idea which website the hostname is supposed to be. That is Error 1001, and it is almost always a DNS or setup step that is missing.
Cloudflare Error 1006, 1007, 1008 and 1009: Access denied (IP or country banned)
“Access denied: The owner of this website has banned your IP address.” It sounds personal. Usually it is a rule written for someone else that happens to match the network you are on.
Cloudflare Error 1010: The owner of this website has banned your access based on your browser’s signature
Your browser, script or app was turned away before the site even saw it, because its headers looked like the ones spam bots send. That is the Browser Integrity Check, and Error 1010 is its red card.
Phone batteries
Why does my phone die in the cold at 30% (or even 50%)?
You're outside on a freezing day, the phone says 35%, you open the camera, and it goes black. Back indoors it turns on again with charge to spare. Nothing is broken: this is how lithium-ion batteries behave in the cold.
Why does my battery percentage jump or drop suddenly?
The phone sits at 30% for a while, then suddenly says 8%. Or it lasts an hour at 1%. Or it restarts and says 45%. None of this means the phone is lying on purpose: the percentage is an educated guess, and some situations make the guess wrong.
Is it bad to charge a phone in the cold?
The phone has been in a freezing car all night or died on a winter walk, and the obvious move is to plug it straight in. It's worth waiting a little first.
Power bank mAh vs Wh: how many phone charges will it really give?
The box says 10,000 mAh, your phone battery is 4,500 mAh, so you expect two full charges. You get one and a bit. The bank isn't faulty: the two numbers are measured at different voltages, and some energy is lost on the way.
Power bank won't charge my phone, or charges it really slowly: how to fix it
The power bank's lights are on, the cable is plugged in, and the phone either does nothing, charges for a few seconds and stops, or crawls up 1% every few minutes. Most of the time the bank is fine: something between it and the phone isn't agreeing.
Phone getting hot while charging: what's normal and when to worry
You pick up the phone from the charger and the back is properly warm. Or it shows a message that charging is on hold. Charging always makes some heat; the question is how much, and whether something is adding to it.
Laptop says “plugged in, not charging”: why, and how to fix it
The charger is in, the laptop runs fine, but the battery icon says plugged in, not charging, or it sits at 60% or 80% and never goes higher. Often that's deliberate; sometimes the laptop isn't getting enough power; occasionally the battery is worn out.
Why does my phone battery drain so fast in the car or on the train?
At home the phone lasts all day. On a long drive or train journey it's at 40% by lunchtime, even though you've barely touched it. You're not imagining it: moving through the countryside is one of the hardest jobs a phone does.
USB-C cables explained: which cable will charge a laptop (60 W vs 100 W vs 240 W)?
You have a drawer full of USB-C cables. One charges the laptop at full speed, another makes it say “slow charger”, and a third won't drive the monitor at all. The plugs are identical; the wires inside aren't.
Why does my phone stop at 80% overnight? Optimised battery charging explained
You plug in at night and check at 2 a.m.: 80%, not moving. In the morning it's either at 100% or, annoyingly, still at 80% on the day you got up early. Nothing is broken; the phone is choosing to wait.
Earbuds or charging case not charging? Contacts, dead cases and power banks
One bud is at 100%, the other at 0%. Or the case light won't come on at all. Earbuds have tiny batteries and tiny contacts, so small things stop them charging.
Can you take a power bank on a plane? The 100 Wh rule, hand luggage only
The label says 20,000 mAh, the airline website talks about watt-hours, and the security queue is in an hour. Here's how to tell, in under a minute, whether your power bank can fly.
Phone battery health percentage: what's normal and when to replace it
Settings says your battery is at 84% health. Is that bad? Should you replace it now, or ride it out? The number is simpler than it looks.
Phone battery draining overnight when not in use? How much is normal and what to check
You go to bed at 60% and wake up at 35% without touching the phone. Something kept it awake. Here's how to find out what.
Does fast charging damage your phone battery? What actually wears it out
Fast chargers have gone from 10 W to 65 W and beyond, and it's natural to wonder whether stuffing energy in that quickly cooks the battery. The short version: the phone is in charge, and heat is the thing to watch.
Does 5G drain your battery faster than 4G? When to switch it off
Early 5G phones earned a reputation for chewing through batteries. Modems are better now, but there are still places where switching 5G off makes a real difference.
Wi-Fi vs mobile data: which uses more battery?
Plenty of people switch Wi-Fi off to save battery, and plenty switch it on for the same reason. Both can be right, depending on how strong each signal is.
Why is my phone so slow? Storage, battery health, heat and the real fixes
Apps take ages to open, the keyboard lags, and scrolling stutters. Phones don't wear out the way cars do, so there's usually a specific reason, and most of them are free to fix.
Phone hot in your pocket when you're not using it? Why, and when to worry
You take the phone out of your pocket and it's properly warm, and the battery has dropped, even though you haven't touched it. Heat is just wasted power, so something is keeping the phone busy.
"Moisture detected" or "Liquid detected" in the charging port? What to do, and what not to
The phone won't charge and shows a water drop warning. It isn't being difficult. Electricity plus water on those tiny pins causes corrosion that can ruin the port, so the phone switches the charging pins off until it reads dry.
Phone charging port loose or cable falls out? Usually it's lint, and here's how to clean it safely
The plug used to click in firmly. Now it sits loose, slips out when you pick the phone up, or only charges if you prop it at just the right angle. Before you book a repair, look inside the port.
Texts and messaging
Text says "Sent" but not "Delivered": what it means and how to fix it
Your message left your phone, but it never says Delivered. Here's where it's sitting and the handful of reasons it gets stuck.
SMS vs MMS vs RCS vs iMessage: green and blue bubbles explained
Same messages app, four different ways your message can travel. Which one you get decides whether photos are sharp, whether you see typing dots, and whether it works without data.
Why is my text split into several messages? The 160-character limit, emoji and curly quotes
You typed a short message and it went as three texts, or a bulk-send bill came in at double. Here's the arithmetic behind it.
Not receiving text messages (iPhone or Android)? Causes and fixes, in order
You can send, but nothing comes in, or one person's texts vanish, or login codes never arrive. Which of those it is tells you where to look.
PCs, laptops and monitors
Monitor stuck at 60 Hz? Why 144 Hz or 165 Hz is missing and how to fix it
You paid for 144 Hz (or 165, 240) and the drop-down only offers 60. Almost always the monitor is fine; something between it and the graphics card is the bottleneck.
PC or laptop making a noise? Fan, coil whine, clicking, grinding or beeping, and what each means
A new noise from a computer is worth thirty seconds of attention: most are harmless or fixed with a clean, but one or two mean a drive is failing and you should copy your files off today.
Second monitor not detected? Fixes for Windows, Mac, docks and USB-C
You plug in a second screen and nothing happens: no picture, or Windows or macOS simply doesn't list it. Usually it's a setting, a port that can't carry video, or the dock in between.
HDMI “No signal” on a TV or monitor? Fixes for PCs, laptops, consoles and boxes
“No signal” means the screen sees nothing arriving on the input it's watching. Either the source isn't sending, the cable isn't carrying it, or the two ends can't agree on a picture format.
Laptop overheating or slowing down when hot? Thermal throttling explained and fixed
A laptop that feels hot isn't necessarily in trouble, but one that slows down, stutters in games or switches itself off is protecting itself from heat. Most of the fixes are free.
Bluetooth headphones sound terrible on calls? Headset mode, the microphone trade-off and fixes
Music sounds great, then you join a call or open Discord and your headphones suddenly sound like a 1990s phone line. Nothing is broken: classic Bluetooth has to switch to a different, low-quality mode to use the microphone.
Webcam not working? Fixes for laptop and USB cameras on Windows and Mac
The call starts and your video is black, or the app says there's no camera at all. Most of the time the camera is fine and something is blocking it: a cover, a setting, or another app.
Microphone not working on PC or Mac? Fixes for Teams, Zoom, Discord and headsets
You're talking and nobody can hear you, or they hear you faintly. A microphone that has stopped working is rarely broken; it's usually muted somewhere, blocked by a setting, or the computer is listening to a different mic.
Keyboard typing the wrong characters? @ and “ swapped, # instead of £, numbers instead of letters
You press Shift+2 for @ and get “, the £ key types #, or your letters suddenly come out as numbers. The keyboard is almost never broken: the computer is reading it with a different layout, or a lock key is on.
Laptop touchpad not working or cursor jumping? Fixes for Windows and Mac
The pointer won't move, scrolling stopped, or the cursor leaps across the screen while you type. Touchpads are usually switched off or confused rather than broken, but one cause needs to be taken seriously.
Laptop not charging over USB-C, or "slow charger"? What to check
USB-C promised one charger for everything, but plug a laptop into the wrong charger, port or cable and you get "slow charger", "plugged in, not charging", or nothing. The cause is almost always one of five things, and you can check them in a couple of minutes.
Keyboard keys not working, or sticky after a spill? Fixes for laptops and PCs
Some keys do nothing, the whole keyboard is dead, or the keys feel sticky and slow after a drink went over it. A spill needs fast action; most other cases are a setting you can undo in seconds.
Laptop or PC sound crackling, popping or distorted? How to fix it
Music and videos crackle, pop or sound fuzzy, sometimes all the time, sometimes only when the computer is busy. Most crackling is software and fixable in minutes; one quick test tells you whether the speaker itself is damaged.
Games and input lag
Controller input lag: wired vs wireless dongle vs Bluetooth
Your controller feels sluggish and you're wondering whether to plug it in. Here's how much the connection really adds, and what usually matters more.
TV game mode: what it does and why it cuts input lag
Your TV has a game mode and you're not sure it's worth the slightly different picture. For anything with timing in it, it usually is.
Polling rate: 125 vs 1000 Hz (and 4000, 8000 Hz). Does it matter?
Your mouse or controller software offers 125, 500, 1000 or even 8000 Hz. Here's what changes and how much it really saves.
VRR, G-Sync and FreeSync explained: what they do and should you turn them on
Your screen or TV has a VRR, G-Sync or FreeSync setting and you're not sure what it does. In short: it makes the screen wait for the game, instead of the game waiting for the screen.
60 vs 120 vs 144 Hz: can you actually tell the difference?
Everyone says high refresh rate changes everything. Here's what changes in numbers, who notices, and when it isn't worth paying for.
Nvidia Reflex and AMD Anti-Lag: what they do and when to turn them on
Your game has a Reflex or Anti-Lag setting and you're not sure whether to turn it on. Almost always yes, and here's why it helps more in some games than others.
Screen tearing: what causes it and how to fix it (PC, console, video)
When the camera turns, the picture splits along a horizontal line and the top half lags or leads the bottom. That's screen tearing, and it's almost always a settings problem, not a broken screen.
Game stutters even though FPS is high? Frame pacing, shader stutter and how to fix it
The FPS counter says 90 but every few seconds the game hitches, or the motion just never feels smooth. The counter is telling the truth, just not the part that matters.
HDR looks washed out or dull on Windows? Why, and how to fix it
You turned on HDR and everything got worse: the desktop is grey, colours are flat and blacks look milky. Some of that is a setting, and some of it is the screen.
PS5 or Xbox HDR looks washed out or too dark? TV and console settings that fix it
HDR is meant to look brighter and richer, but on a console it often comes out grey, flat or so dark you can't see in shadows. That's nearly always a settings mismatch between console and TV.
Wi-Fi and home networks
Wi-Fi QR codes: the WIFI:T:WPA;S:…;P:…;; format, escaping, and why yours won't connect
A Wi-Fi QR code is not magic: it is one short line of text that phone cameras recognise and turn into a <i>Join network</i> button. Knowing the format makes it easy to build one by hand, debug one that fails, and decide whether it is safe to print.
Wi-Fi connected but no internet: find which link is broken in five checks
“Connected” only means your device is talking to the router over radio. The internet is three more hops away: the router has to hand you an address, the router's own line has to work, and names like example.com have to turn into numbers. Test each hop in order and the culprit usually shows itself in a couple of minutes.
2.4 GHz vs 5 GHz Wi-Fi (and 6 GHz): which band to use, and why one reaches further
Wi-Fi is radio, and the two common bands behave like two different radio stations: one carries further, the other carries more. Which one wins depends on where you are standing.
How to find a saved Wi-Fi password on Windows, Mac, iPhone, Android and Linux
Your laptop joined the network months ago and now a visitor needs the password. Every major system keeps it and will show it to you, as long as you can unlock the device as its owner or an administrator.
What is my IP address? Public vs private (192.168, 10.x, 172.16) explained
Ask “what is my IP address?” and two different answers are both right. Your phone or laptop has a private address that only means something inside your home, and your router has one public address that the rest of the internet sees for every device in the house.
How to log in to your router: find the 192.168.1.1 admin page and password
Changing the Wi-Fi name or password, seeing which devices are connected, or setting up parental controls all happen on the router's own admin page. It lives at a private address on your home network, and finding it takes about a minute.
Common port numbers explained: 80, 443, 22, 8080, 3389 and the rest
A single computer can run a web server, an email server and a remote login at the same time. The IP address gets a message to the right machine; the port number, from 0 to 65535, gets it to the right program on that machine.
What is DHCP? Leases, reservations and fixing “IP address conflict”
Nobody types an IP address into their phone when they join a Wi-Fi network. A small service on the router, DHCP, hands one out automatically, and most “IP address conflict” and “no internet” puzzles come down to that hand-out going wrong.
Find your MAC address on Windows, Mac, iPhone, Android and Linux (and why it keeps changing)
Routers, parental controls and IT help desks sometimes ask for a device's MAC address. It is easy to find once you know its other names, and on modern phones there are two of them: the real one and a private one for each network.
Port forwarding not working? Check for double NAT and CGNAT
You forwarded the port, the game server or camera is listening, and from outside it still will not connect. Before blaming the firewall, check how many NATs sit between that device and the internet.
Best Wi-Fi channel: why 1, 6 and 11, and how to pick a 5 GHz channel
Slow Wi-Fi in a block of flats in the evening is often not your broadband at all. Every network nearby shares the same handful of radio channels, and a router on a crowded or half-overlapping channel spends its time waiting and repeating itself.
Mesh Wi-Fi backhaul: wired vs wireless, tri-band, and where to put the units
A mesh system can show full bars in the far bedroom and still feel slow there. The bars only describe the hop from your phone to the nearest unit. The speed you actually get depends on a second, hidden link: how that unit talks back to the main one.
Default gateway and subnet mask explained (255.255.255.0, /24)
Open your network details and next to your IP address sit two more numbers that most people never touch: the subnet mask and the default gateway. Between them, they decide whether a message goes straight to the printer down the hall or out through the router to the internet.
Wi-Fi keeps disconnecting: find the pattern, then fix the cause
"The Wi-Fi keeps dropping" can mean a dozen different faults, and the usual advice (restart the router) fixes only some of them. The quickest route is to notice <i>when</i> it drops and <i>which</i> devices it happens to, because each pattern points to a different cause.
Wi-Fi 6, 6E and 7 explained: names, 802.11 letters and what you actually need
Router boxes mix three naming schemes at once: generation numbers (Wi-Fi 6), technical letters (802.11ax) and a big speed number (AX3000). They all describe the same few things, and most of the headline speed is something no single device will ever see.
Mbps vs MB/s: why your 100 Mbps internet downloads at 12 MB/s
You pay for 100 Mbps, start a big download and see 11.8 MB/s. Nothing is wrong: the two numbers use different units, and the small letter makes an eightfold difference.
Wi-Fi extender vs mesh vs powerline: which fixes a dead zone?
One room, the loft or the garden office never gets decent Wi-Fi, and the shop offers three different boxes to fix it. They work in very different ways, and the right one depends mostly on how the new box gets its data <i>back</i> to the router.
What is a good ping, jitter and packet loss for gaming and video calls?
A speed test says you have 500 Mbps, yet the game still rubber-bands and the video call freezes. Download speed is rarely the problem for either. Three other numbers are: ping, jitter and packet loss.
Internet lags when someone else is downloading? That's bufferbloat (and how to fix it)
Ping is a steady 15 ms until someone in the house starts a game download, a cloud photo backup or a big upload. Then it jumps to 300 ms, calls freeze and the game rubber-bands. The line is not too slow. The queue is too long.
Ethernet cable Cat5e vs Cat6 vs Cat6a vs Cat8: which do you need at home?
The shop has Ethernet cables from Cat5e to Cat8, and the higher numbers cost more and promise 40 Gbps. Your internet plan is probably under 1 Gbps. Here is what the categories really mean and which one makes a difference.
NAT type Strict or Moderate on Xbox, PlayStation or Switch: how to get Open
The console says NAT type: Strict, and now party chat drops, you can't join a friend's game, or matchmaking takes ages. The internet itself works fine. The problem is whether other players can start a connection <i>to</i> you.
How much upload speed do video calls need (Zoom, Teams, Meet)?
On the call, everyone else looks sharp, but they say your picture is blurry, frozen or robotic. That points at your <b>upload</b>: the speed your home can send at, which on most plans is a fraction of the download speed in the advert.
Wi-Fi calling not working on iPhone or Android: how to fix it
Your phone has a Wi-Fi calling switch, but calls still go over a weak mobile signal, or the switch is greyed out, or calls cut off in the kitchen. Wi-Fi calling is a few separate pieces, and each one fails in its own way.
Why do YouTube and Netflix videos start blurry, then get sharp?
You press play and the first few seconds look smudgy, then the picture snaps sharp. Or a film that was crisp suddenly goes soft for a while. Your screen is fine; the app is changing which version of the video it downloads.
Video keeps buffering: why it happens and how to fix it
The spinning circle again. The internet plan is supposedly fast, the speed test looks fine on your phone, yet the TV keeps stopping to load.
How much data does streaming use per hour? Netflix, YouTube, music and video calls
Mobile plans are sold in gigabytes, but apps talk about quality settings and kilobits. Here's how they connect, so you can tell whether 10 GB will last a week or a weekend.
What does airplane mode actually turn off? Calls, Wi-Fi, Bluetooth and GPS explained
Airplane mode (flight mode) sounds like one big off switch, but it's really a set of radios going quiet, and only one of them has to stay off.
Why is my mobile data running out so fast? The usual culprits and the settings that fix them
You've barely watched anything and the plan is nearly empty. It's rarely a mystery charge: a few habits and default settings account for almost all of it.
Song recognition not working? How Shazam-style apps work and why they miss
You hold your phone up, it listens for a few seconds and names the song, even over chatter and clinking cups. Then it fails on something that seems easy. Both make sense once you know what it's actually matching.
eSIM vs physical SIM for travel: which to use abroad and how to set it up
Roaming charges, a fiddly SIM tray pin and a shop at the airport used to be the choices. Most recent phones can now download a SIM before you leave. Here's how the options compare.
Bluetooth headphones keep disconnecting or cutting out? Causes and fixes
The music stutters every time you turn your head, or the earbuds drop entirely and reconnect a few seconds later. Bluetooth is a low-power radio sharing a busy band, so a few predictable things knock it over.
Phone hotspot slow or keeps disconnecting? Why, and how to fix it
The phone shows four bars and fast speeds on its own, but the laptop connected to its hotspot crawls, or drops off every few minutes. A hotspot adds a few extra links in the chain, and each can be the slow one.
TV remote not working? Test it with your phone camera, then fix it
You press the button, nothing happens, you press it harder. Before you take the batteries out for the third time, there's a 10-second test that tells you whether the remote is sending anything at all.
How long does it take to upload a video? Upload time by file size and speed
The progress bar says 3 hours remaining for a video that took two minutes to film. That's usually not a fault: home connections are built to download fast and upload slowly.
Phone won't connect to car Bluetooth, CarPlay or Android Auto? Fixes in order
It worked yesterday, and now the car says no phone found, or it connects for calls but the music plays out of the phone. Car systems are fussy but predictable, so work through the cheap fixes first.
AirDrop or Quick Share not working? Why the other phone doesn't show up, and fixes
You're standing next to each other and the other phone simply isn't in the list, or it sits on Waiting and then fails. These features are fussy about a few settings, so check them in order.
Internet slow in the evening? Peak-time slowdowns explained and how to fix them
It's fine in the morning, then every evening films drop to blurry, downloads crawl and speed tests come in at half your plan. Usually that's the shared part of the network filling up, but it's worth proving before you blame it.
What is a contention ratio? How broadband is shared, explained simply
You've seen "contention ratio 50:1" or "uncontended" and want to know what it means for your speed.
How much broadband speed do I need? A simple household calculation
Providers sell plans from 30 Mb/s to several gigabits. The right one depends on what your household does at the same time, not on how many devices you own.
Why do speed tests give different results? Speedtest vs Fast.com vs your provider's test
One site says 480 Mb/s, another says 310, your provider's checker says 520 and your phone says 140. They can all be telling the truth: each one measures a slightly different path, in a slightly different way.
Git
git push rejected (non-fast-forward): what it means and the safe fix
Git is protecting someone else’s work, possibly your own from another computer. The remote has commits you don’t have, and pushing would throw them away.
“LF will be replaced by CRLF”: line endings in git, explained
Windows ends each line of text with two invisible characters, everything else with one. Git is telling you it will quietly convert between them, which is usually fine and occasionally breaks scripts.
Git “You are in ‘detached HEAD’ state”: what it means and how to get out safely
Normally HEAD points at a branch, and the branch points at a commit. “Detached” means HEAD points straight at a commit, with no branch name in between. Nothing is broken, but new commits have no name holding on to them.
Git merge conflict markers (<<<<<<< HEAD, =======, >>>>>>>) explained, and how to resolve them
Git merges most changes by itself. When two branches changed the same lines differently, it stops, writes both versions into the file between marker lines, and asks you to choose. The markers are plain text that you delete once you have decided.
git “fatal: refusing to merge unrelated histories”: what it means and how to fix it safely
Two branches are “unrelated” when they don’t share a single commit: each started from its own first commit. Git won’t merge them by default because that usually means a mistake, such as the wrong remote. Very often it’s harmless: the hosting site made a README commit and you made your own first commit locally.
git “fatal: not a git repository (or any of the parent directories)”: how to fix it
Every git command first walks up from the current folder looking for a <code>.git</code> folder. If it reaches the top of the disk without finding one, you get this message. Nine times out of ten you’re simply one folder away from your project.
git “fatal: detected dubious ownership in repository”: what it means and the safe fix
Git can be told to run programs from a repository’s own config file. So if someone else owns a repository you step into, they could make your git run their commands. Since 2022 git checks that the repository belongs to you, and stops with <i>dubious ownership</i> if it doesn’t.
A file says “version https://git-lfs.github.com/spec/v1” instead of its contents: fixing Git LFS pointer files
Git LFS (Large File Storage) keeps big files out of the git history. The repository only stores a three-line <i>pointer</i>, and the real file is downloaded separately. If that download never happened, you get the pointer instead: a 130-byte text file where your image, model or zip should be.
git pull: You have divergent branches and need to specify how to reconcile them
You ran git pull and instead of pulling, git stopped with a long hint about divergent branches and three config commands. Nothing is broken: your branch and the remote both have commits the other lacks, and git wants you to pick how to combine them.
error: src refspec main does not match any
git push origin main refused with a cryptic refspec error. Almost always you have no commit on that name yet — or the branch is called something else.
fatal: Authentication failed for (Git HTTPS)
Git reached the host over HTTPS but the username/password (or token) it sent was rejected. The remote is fine; your credentials are not.
Your local changes would be overwritten by merge
Git is protecting uncommitted edits that collide with incoming commits. You must park, commit or discard those edits before the merge can proceed.
SSH, shells, servers and Docker
Cron every 5 minutes, and other common schedules
A cheat sheet of the cron lines people actually need, each one ready to copy and explained in plain words.
chmod 755, 644 and 600 explained
Three digits decide who can read, change and run a file on Linux and macOS. Once you see they are just added-up flags, every chmod number reads like a sentence.
cron @reboot: run a script at startup (and why it sometimes does not)
One line in your crontab and a script runs every time the machine starts. When it silently does nothing, it is almost always one of the same five things.
“Permissions are too open”: fixing SSH key permissions
SSH is fussy on purpose: if anyone else could read your private key, it refuses to use it. Here are the exact permissions it wants, and the one-line fixes.
EADDRINUSE: address already in use :::3000 / 0.0.0.0:8080
Your server tried to open a port and the operating system said someone is already sitting there. Nine times out of ten, that someone is an old copy of your own server.
“Permission denied (publickey)”: fixing SSH and git key errors
The server turned down every key your computer offered. Usually the right key exists but wasn’t offered, was offered to the wrong user, or is sitting in a file the server refuses to read.
“ENOSPC: no space left on device”: disk, inodes and file watchers
The same error covers three different limits. Two minutes with df tells you which one, and the fix is different for each.
Docker: permission denied while trying to connect to the Docker daemon socket
Docker is installed and running, but every command without sudo stops with a permission error on /var/run/docker.sock. Your user simply isn’t allowed to talk to the Docker daemon yet.
“Killed” and exit code 137: how to tell if it was the out-of-memory killer, and what to do
Exit code 137 means the process didn’t crash by itself: something sent it SIGKILL, signal 9, which can’t be caught or cleaned up after. Most of the time that something is the kernel’s out-of-memory killer, which picks a big process and stops it to save the machine.
Docker eating your disk: what docker system prune deletes and how to reclaim space safely
Docker keeps everything until you tell it not to: every image you pulled, every layer you built, stopped containers, build cache and container logs. On a laptop or a small server that adds up to tens of gigabytes. Pruning is safe once you know which command removes what.
“bash: ./script.sh: Permission denied”: why your script won’t run and how to fix it
To run a file as <code>./script.sh</code>, the system needs two things: the file must be marked executable, and the disk it lives on must allow running programs. Miss either and the shell says <i>Permission denied</i>, even if you own the file and can read it.
“Running scripts is disabled on this system” in PowerShell: fixing venv activate and npm
PowerShell has an <i>execution policy</i> that decides which <code>.ps1</code> script files may run. On Windows desktops it starts as <code>Restricted</code>: commands typed by hand work, but no script file runs. Activating a Python virtual environment and the npm, npx and yarn shims are all script files, so they hit it first.
“user is not in the sudoers file” and “sudo: command not found”: what they mean and how to fix them
<code>sudo</code> only lets you run commands as root if a rule in <code>/etc/sudoers</code> says you may. On most systems that rule covers a group (<code>sudo</code> on Debian and Ubuntu, <code>wheel</code> on Fedora, RHEL and Arch), so the error usually just means your account isn’t in that group yet.
ssh: connect to host port 22: Connection timed out
Connection timed out means your SYN packets got no reply: a firewall dropped them, the host is down, or you have the wrong address. It is different from Connection refused, which means something on that host actively rejected the port.
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! / Host key verification failed
SSH remembers the server’s host key from last time. If the key suddenly differs, OpenSSH stops and prints a scary warning — that is deliberate, not a bug.
Cron job not running / crontab not executing
You put a line in crontab, waited, and nothing happened. Most of the time the schedule is fine — the environment around it is not.
EMFILE / ENFILE: too many open files (watchpack, chokidar, ulimit)
A bundler or Node process crashed with EMFILE / ENFILE — too many open files. The OS hit a per-process or system-wide file-descriptor limit, almost always during file watching or a huge parallel read.
Cannot connect to the Docker daemon (docker.sock / dockerd)
The Docker client talked to a socket or TCP endpoint and nobody answered like a daemon. Either dockerd is stopped, the socket path is wrong, or you are pointing at the wrong host.
ssh: connect to host port 22: Connection refused
Your client reached the host’s IP, but nothing accepted TCP on that port. Connection refused is an active rejection — usually sshd is down, listening elsewhere, or you aimed at the wrong port.
PowerShell: "&& is not a valid statement separator in this version"
You pasted a command that works in bash or in Command Prompt — something like <code>npm install && npm test</code> — and Windows PowerShell answers: <i>The token '&&' is not a valid statement separator in this version.</i> That is a version difference, not a broken install.
PowerShell: curl is an alias for Invoke-WebRequest (why -I and Unix flags break)
You typed <code>curl -I https://example.com</code> the way every README shows, and PowerShell complained about an ambiguous parameter or returned a huge object instead of headers. On Windows, <code>curl</code> is often not curl at all.
TLS and certificates
“Certificate has expired”: what it means and how to fix it
Every HTTPS certificate has a use-by date. When the date has passed, or your device thinks it has, the connection is refused to protect you from a possible impostor.
SSL “wrong version number”: you’re speaking TLS to something that isn’t
Despite the wording, this almost never has anything to do with TLS versions. Your client started a TLS handshake and the other side answered in plain text.
“unable to get local issuer certificate”: why it happens and how to fix it properly
Your program got a certificate from the server, tried to follow the chain of signatures up to a root it trusts, and got stuck: it could not find the certificate that signed the last one. The website may be perfectly fine; the gap is usually on your side.
Python “CERTIFICATE_VERIFY_FAILED” on macOS: why it happens and the right fix
The website’s certificate is usually fine. The problem is that this copy of Python can’t find a list of trusted certificate authorities to check it against. The python.org installer for macOS doesn’t use the Mac’s Keychain and ships without that list until you run one small script.
NET::ERR_CERT_COMMON_NAME_INVALID: what it means and how to fix it
The browser warns “Your connection is not private” with NET::ERR_CERT_COMMON_NAME_INVALID. The certificate is valid, but it was issued for a different name than the one in the address bar.
ERR_SSL_PROTOCOL_ERROR / SSL_ERROR_RX_RECORD_TOO_LONG: what it means and how to fix it
The browser reports a mysterious SSL protocol error before any certificate page appears. The client spoke TLS; whatever answered did not speak TLS back cleanly.
error:0308010C:digital envelope routines::unsupported (Node / OpenSSL 3)
A fresh Node 17+ (or any build using OpenSSL 3) runs an older webpack 4 / CRA / Vue CLI toolchain and dies before the bundle starts. The scary OpenSSL message is a crypto policy clash, not a corrupt install.
self-signed certificate in certificate chain (NODE / TLS)
TLS found a certificate that was signed by itself (or an untrusted private CA) in the chain. Browsers and Node refuse the connection unless you trust the right CA — not by switching verification off forever.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH (TLS version / cipher)
The browser and the server could not agree on a TLS version or a cipher suite. The handshake failed before any certificate checks finished.
Lossless vs lossy compression: what you get back, and what you give away
One kind of compression folds a file so you can unfold the exact original. The other leaves something behind on purpose so the file will fit.
Sharing links and access
Can you revoke an S3 presigned URL? (and when it really expires)
You shared a presigned link to a private file and now you want it dead before it expires. There is no list of issued links to delete, but there are four real levers.
I removed someone from a shared file, but they can still see it
You removed a person from a shared document, folder or photo album, and they say it still opens. Usually the system is doing exactly what it was told — just not what you meant.
Designing share links you can revoke (capability URLs done right)
A share link is a password in a URL. If it cannot be revoked, you have built a permanent key. Here is a pattern that keeps the convenience and gives you an off switch.
How to revoke a JWT before it expires (logout, removed users, stolen tokens)
Logging out deleted the token from the browser, but a copy of it still works. That is how stateless tokens behave, and there are four standard fixes.
Browser and network errors
“localhost refused to connect”: how to find the cause in a minute
“Refused” is good news in disguise: your computer answered straight away and said nothing is listening there. So the fix is to find where your server actually is.
ERR_TOO_MANY_REDIRECTS: find the loop and fix it
The browser gave up because the site kept sending it somewhere else, and that somewhere sent it back. The loop is almost always two rules that disagree, and one command shows you both.
connect ECONNREFUSED ::1: why “localhost” fails when 127.0.0.1 works
localhost is a name with two addresses: 127.0.0.1 (IPv4) and ::1 (IPv6). If the client picks one and the server only listens on the other, the connection is refused even though the server is running.
Mixed Content: the page was loaded over HTTPS, but requested an insecure resource
Your site moved to HTTPS and now a script, API call or stylesheet silently fails, the padlock shows a warning, and the console is full of Mixed Content errors. Something on the page still points at plain <code>http://</code>.
net::ERR_BLOCKED_BY_CLIENT: what it means and how to fix it
A script, font or analytics beacon fails in DevTools with net::ERR_BLOCKED_BY_CLIENT. The server never saw the request — something in the browser stopped it.
net::ERR_NAME_NOT_RESOLVED / DNS_PROBE_FINISHED_NXDOMAIN: this site can't be reached
The browser never even tried the web server. It asked “what IP is this name?” and got no usable answer — so you see a name-not-resolved error before any HTTP status code.
TypeError: Failed to fetch / NetworkError when attempting to fetch resource
fetch() gives up before it ever gets a response, and the browser deliberately hides the reason from your JavaScript. The real cause is almost always printed one line above in the console, or visible in the Network tab.
ETIMEDOUT / connect ETIMEDOUT (Node fetch, axios, database)
A client tried to open a TCP connection (or waited for a response) and gave up. ETIMEDOUT means silence — nothing accepted or answered in time — not a clean “connection refused” reset.
getaddrinfo ENOTFOUND (Node, Docker, fetch)
DNS lookup failed before any TCP connection started. The name you asked for does not resolve — often a typo, an empty env var, or a Docker service name that only exists on another network.
ECONNRESET / read ECONNRESET (Node, nginx, databases)
The other side (or a proxy in the middle) aborted an established connection. You had a socket; then it was reset. That is different from never connecting.
WebRTC ICE failed / ICE connection failed
The browser collected local addresses, talked to a STUN/TURN server, and still could not build a working path to the other peer. Media never starts (or dies right after connecting).
WebSocket connection to '…' failed
The browser tried to open a WebSocket and the HTTP Upgrade never completed. Your live UI, chat, or signalling channel never connects.
NotAllowedError: Permission denied (getUserMedia)
The page asked for camera or microphone and the browser refused before any media flowed. No tracks, no preview — often a permission, secure-context, or Permissions-Policy problem.
Download won't resume / always starts over
You click Resume and the progress bar snaps back to 0%. The client asked for the rest of the file; the server (or something in front of it) handed back the whole thing — or refused ranges entirely.
net::ERR_CONNECTION_TIMED_OUT (Chrome connection timed out)
The browser tried to open a TCP connection and nobody answered in time. DNS may have worked — the handshake never finished.
TypeError: fetch failed (Node 18+ / undici)
Node’s built-in fetch threw before it got an HTTP status. The real reason is almost always on error.cause — refused, DNS, TLS, or a connect timeout — not the outer TypeError message alone.
DNS_PROBE_FINISHED_NXDOMAIN (Chrome / Edge)
Your browser asked DNS for the hostname and got a definitive “that name does not exist.” Not a timeout, not a refused connection — the name itself is missing from the DNS tree you queried.
ERR_EMPTY_RESPONSE (Chrome) / empty reply from server
The TCP (and maybe TLS) path opened — then the other side hung up without a single HTTP status line. Your browser has nothing to show except “empty response.”
ERR_CONNECTION_RESET (Chrome): what it means and how to fix it
The browser opened a connection — then the other side (or something in the middle) aborted it with a TCP reset. You get a “connection was reset” failure instead of a web page.
Website still shows old CSS or JavaScript after a deploy (even after a hard refresh)
You changed the stylesheet, deployed, and the page looks exactly the same. A hard refresh fixes it for you, but not for everyone else. Somewhere between the server and the screen, a saved copy is still being served.
Resume a download with curl or wget (curl -C -, wget -c)
The download died at 87%. You do not have to start again: curl and wget can ask the server for just the missing bytes.
HTTP status codes and headers
HTTP 401 vs 403: what is the difference?
Both mean “you can’t have this”, and the names are famously confusing. The real difference is whether logging in again could help.
CORS error explained: “No ‘Access-Control-Allow-Origin’ header is present”
Your fetch works in curl and Postman, then the browser says it was “blocked by CORS policy”. Here is what the browser is protecting, and the fix for each message.
HTTP 301 vs 302 vs 307 vs 308: which redirect should you use?
Five redirect codes, two questions: is the move permanent, and must the request method stay the same? Answer those and the right code picks itself.
502 Bad Gateway: what it means and how to fix it (nginx, Cloudflare, load balancers)
The page you see came from the middleman, not the website itself. Something in front of the app (nginx, a CDN, a load balancer) asked the app for the page and got nothing usable back.
CORS preflight failed: 405, “does not have HTTP ok status” and friends
Before some requests the browser asks the server for permission with an OPTIONS request. If that question gets a 405, a login page or a redirect, the real request is never sent.
Why is my cookie not being set? (SameSite, Secure, Domain, Path)
When a cookie "isn't being set", one of two things is happening: the browser rejected the Set-Cookie header, or it stored the cookie and is choosing not to send it. The network panel tells you which, and the fix is different for each.
CORS with credentials: Access-Control-Allow-Origin cannot be *
Sending cookies or HTTP auth across origins switches CORS into strict mode: the wildcard * is no longer allowed, and the server has to name the exact origin it trusts and say credentials are welcome.
localStorage vs cookies: where should a login token go?
Cookies travel to the server automatically on every request; localStorage stays in the browser until your JavaScript reads it. That one difference decides most of the security trade-off.
HTTP 431 Request Header Fields Too Large: why it happens and how to fix it
The page worked yesterday, and now the server refuses every request with 431, or nginx says “Request Header Or Cookie Too Large”. The request itself is too big before your app even sees it, and cookies are almost always why.
CSRF token missing or incorrect: what it means and how to fix it
Your form or API call fails with a CSRF error, but only sometimes, only in production, or only from JavaScript. The server is checking that the request really came from your own page, and something in that chain is missing.
Refused to execute inline script because it violates the Content Security Policy
Your page works without a Content-Security-Policy, but with one the console fills with “Refused to execute inline script” and buttons stop working. The policy is doing its job; the inline code just needs a way to prove it's yours.
413 Request Entity Too Large (Payload Too Large): what it means and how to fix it
A file upload or a big JSON POST fails with 413, while small ones work. Something between the browser and your code has a size limit, and your request is over it.
Refused to display in a frame because an ancestor violates frame-ancestors / X-Frame-Options
An embed is blank, the console says the page “refused to display in a frame”, and your payment widget, docs iframe or admin preview is empty. The page is blocking being framed — usually on purpose.
CSP Report-Only vs Enforce: how to roll out a Content-Security-Policy safely
You want a real Content-Security-Policy, but flipping it on overnight breaks half the site. Report-Only lets the browser complain without blocking, so you can fix the noise first.
Refused to connect because it violates the Content Security Policy (connect-src)
Your UI loads, then every API call dies with a red CSP error naming connect-src. The page itself was allowed; the network call was not.
Trusted Types / require-trusted-types-for: stopping DOM XSS sinks
Chrome reports “This document requires ‘TrustedHTML’ assignment” when your code sets innerHTML with a plain string. Trusted Types force every risky DOM sink to go through a named policy you control.
HTTP 206 Partial Content and Accept-Ranges
A download died halfway. The client asks for only the missing bytes. When the server agrees, the status is 206 Partial Content — not another full 200.
HTTP 416 Range Not Satisfiable
The client asked for a slice of the file that does not exist — usually past the end, or a garbled Range header. The server answers 416 instead of 206.
HTTP 429 Too Many Requests (rate limiting)
The server understood your request — it just will not do that many of them right now. Here is how to read 429, wait correctly, and stop hammering an API.
HTTP 504 Gateway Timeout (proxy waited too long)
A middleman (proxy, load balancer or CDN) gave up waiting for the real server. The upstream was too slow — not necessarily dead.
HTTP 503 Service Unavailable (maintenance & overload)
The service is temporarily not taking your request — maintenance, overload, or no healthy backend. Often you should wait and retry.
Cannot GET / (Express / Node no matching route)
Express answered the HTTP request, but no route matched that method and path. The server is up — the URL is wrong or unregistered.
HTTP 304 Not Modified: what it means and when it is a problem
DevTools shows a column of 304s and you wonder whether something is broken. Usually it is the opposite: the browser asked “has this changed?”, the server said “no”, and nothing had to be downloaded again.
Cache-Control: no-cache vs no-store vs max-age=0 (and which one you want)
The names are misleading. <code>no-cache</code> sounds like it turns caching off, but it does not. Here is what each directive really does, and a few header recipes you can copy.
Accept-Ranges header explained: bytes vs none
Before a downloader tries to resume, it looks for one small promise in the response headers: Accept-Ranges: bytes. Here is what that promise does and does not guarantee.
Content-Range header explained (bytes start-end/total)
Content-Range is the label on a parcel that holds only part of a file: which bytes are inside, and how big the whole thing is.
Range request returns 200 instead of 206: why the server ignored it
You asked for bytes 0–99 and the server sent all 700 MB with a cheerful 200 OK. That is allowed, but it is usually a sign that one link in the chain does not do ranges.
JavaScript, Node and npm
How to convert CSV to JSON without uploading your file
Customer lists, exports and spreadsheets often should not be uploaded to a random website. You do not need to.
“Unexpected token in JSON”: what it means and how to fix it
Your code called JSON.parse or response.json() and got an error that seems to blame a random character. The message is usually telling you something quite specific.
npm ERR! ERESOLVE unable to resolve dependency tree: what it means and the right fix
Two packages in your project want different versions of a shared package, usually React, ESLint or TypeScript, and since npm 7 that mismatch stops the install instead of printing a warning.
Python ModuleNotFoundError: No module named … (but I installed it!)
Python looks for modules in the folders on sys.path of the interpreter that is running. Almost every “but I installed it” case is pip putting the package into a different Python than the one running your code.
npm ERR! code ENOENT: “no such file or directory” explained and fixed
ENOENT is the operating system’s code for “Error: NO ENTry”: something tried to open a file or run a program at a path where nothing exists. npm just passes it on, and the path in the message tells you exactly what was missing.
npm EACCES / EPERM permission denied on global install
Global npm installs write under /usr/local (or another system directory) that your user cannot change. The error is a filesystem permission problem, not a broken npm. Fix it by installing Node in your home directory, not by running sudo npm.
SyntaxError: Cannot use import statement outside a module
The file uses import, but whatever is running it thinks it is an old-style CommonJS script (or, in a browser, a classic script). Tell the runtime the file is an ES module, or stop mixing the two systems.
JavaScript heap out of memory (Node FATAL ERROR near heap limit)
V8 hit the ceiling it set for itself. The machine may still have free RAM — Node just refused to grow its JavaScript heap any further.
Unexpected end of JSON input / Unexpected end of input
JSON.parse threw Unexpected end of JSON input. The parser reached the end of the string before the value finished — often because the string was empty, cut off, or not JSON at all.
npm ERR! code ELIFECYCLE / script failed (exit status 1)
npm printed ELIFECYCLE and exit status 1. That almost never means npm is broken — it means the script npm was asked to run exited non-zero. Scroll up for the real error.
Hydration failed: UI does not match server-rendered HTML (React / Next.js)
React expected the browser DOM to match the HTML the server sent. Something rendered differently on the client — a date, a random id, locale text, or an extension that rewrote the page — and hydration aborted with a mismatch warning.
Module not found: Can't resolve (webpack / Next.js / Vite)
The bundler or Node cannot find a file or package you imported. The message looks scary, but it almost always means a bad path, a missing install, a case mismatch, or an alias that only TypeScript understands.
Error: Cannot find module (Node.js)
Node’s require or import looked for a file or package and the resolver came up empty. Usually install, path, or build-output — not a mysterious runtime bug.
Invalid hook call (React Hooks rules / duplicate React)
React refused a Hook call because the call site broke the Rules of Hooks, or because more than one copy of React is loaded so Hook state is not shared with the component that rendered.
The term 'node' is not recognized (PowerShell / CMD): fix PATH and install
You typed <code>node -v</code> or <code>npm install</code> and Windows answered that it was not a cmdlet, function, script file or operable program. The shell simply cannot find an executable named <code>node</code> on your PATH — usually because Node is not installed, or a new install has not reached this terminal yet.
Python
pip “error: externally-managed-environment”: why it happens and the right fix
Your operating system’s Python belongs to the operating system. Since PEP 668, distributions mark it as “externally managed” so that pip can’t overwrite packages the system itself depends on. Nothing is broken; pip is asking you to install somewhere else.
Python venv activated but which python is still the system one
Activating a virtual environment only prepends its bin folder to PATH in that one shell. If which python still shows /usr/bin/python3, the activate step never took, you opened a new terminal, or another tool is picking a different interpreter.
pip: Could not find a version that satisfies the requirement
pip searched PyPI (or your index) and found no file that matches both the package name and your Python/platform constraints. Usually a typo, a Python that is too old or too new, or the wrong index URL.
UnicodeDecodeError: 'utf-8' codec can't decode
Python tried to read bytes as UTF-8 and hit a byte sequence that is not valid UTF-8. The file (or socket) is almost certainly another encoding — or it is binary.
pip error: metadata-generation-failed (and subprocess-exited-with-error)
Modern pip wraps a package’s own setup crash in a long red banner. The banner is almost never the useful part — the traceback printed just above it is.
pip: Failed building wheel for … — what it really means
“Failed building wheel” is not one bug. It means pip could not find a ready-made binary for your Python and OS, tried to compile the project from source, and the compiler lost.
pip ResolutionImpossible: conflicting dependencies
Since pip 20.3 the installer refuses to create a set of packages that cannot logically work together. The error looks dramatic; the useful part is a short list of claims that cannot all be true.
pip: Microsoft Visual C++ 14.0 or greater is required
This Windows message is “Failed building wheel” in a different coat. Nine times out of ten you do not need a compiler: you need a binary wheel, and pip did not find one.
Compression and archives
Why zipping photos does not make them smaller (and what does)
The folder was 180 MB. The ZIP is 178 MB. Nothing is broken: ZIP is the wrong tool for making photos smaller.
Why is my ZIP file larger than the files I put in?
You zipped 180 MB of photos and the archive is 181 MB. Nothing ate your files: the wrapper itself takes a little room, and the photos had nothing left to fold.
gzip vs ZIP: they are not the same tool
People say “gzip it” and “zip it” as if they were synonyms. They share an algorithm, but they are built for different jobs.
“CRC failed” or “Unexpected end of archive”: the ZIP is damaged or incomplete
The archive lists fine, then extraction dies halfway — or it will not open at all. The ZIP format can tell when its contents do not add up. That message is worth believing.
Renaming files
How to batch rename files safely, with a preview and no uploads
Two hundred photos called IMG_4821.JPG, a download folder full of names with spaces, or a set of scans that must be numbered 001, 002, 003. Renaming them by hand is slow, and a careless bulk rename can overwrite files you wanted.
Why a batch rename overwrites or skips files (name collisions explained)
You ran a bulk rename on 100 files and ended up with 97. Or the command stopped halfway with 'a file with that name already exists'. Every one of these comes from a small set of collisions.
Why file10 sorts before file2, and how to add leading zeros to file names
Your slides, scans or video frames look fine in one window, then a zip listing, an upload form or a script shows them as 1, 10, 11, 2, 3. Nothing is broken: two different kinds of sorting are disagreeing.
How to rename a file when only the upper or lower case changes (Windows, macOS and Git)
You renamed <code>Header.js</code> to <code>header.js</code>. Your computer shows the new name, Git says nothing changed, and the build server on Linux reports that the module cannot be found.
Windows file names you cannot use: CON, PRN, AUX, NUL, COM1 and LPT1 (and how to fix them)
Windows says "The specified device name is invalid", a <code>git clone</code> stops with <code>error: invalid path 'aux.js'</code>, or a file called <code>nul</code> appeared and cannot be deleted. These all come from a short list of names that Windows reserves for devices.
How to remove spaces and special characters from many file names
A folder of files called <code>Final Report (v2).pdf</code> and <code>Café menu #3.png</code> works on your desktop, then a script splits the names at the spaces, a link shows <code>%20</code>, or an upload rejects the <code>#</code>.
How to number files in the order you choose (not alphabetical or by date)
You want a story's pictures, a set of scans or a presentation's slides to come out as 001, 002, 003 in your order, but the renamer numbers them alphabetically or in some order you did not pick.
Redacting and hiding private info
Is pixelating or blurring a password in a screenshot safe?
A pixelated card number or blurred password looks unreadable, but the blur is a fixed recipe. If an attacker can guess the font and the kind of text (four digits, an email address, a card number), they can try every answer and keep the one that blurs into the same squares.
How to redact a PDF properly (and why a black box often hides nothing)
A PDF is not a picture of a page. It is a list of instructions: "write these words here, draw this box there". A black box drawn on top just adds one more instruction, and the words are still in the file.
How to hide private info in a screenshot before you share it (iPhone, Android, Windows, Mac)
Screenshots are the fastest way to show a problem, and the fastest way to share an email address, an order number or a password reset link with the whole internet. Two minutes of cropping and covering fixes that.
Drives, storage and backups
Phone storage full but you've deleted everything? Where the space really goes
You've deleted photos and apps, and the phone still says storage is almost full. The space is real, it's just hiding in places the photo gallery doesn't show.
How much cloud storage do I need? A quick way to size it for photos and backups
Your phone says the cloud is full again and offers the next plan up. Here's how to work out what you actually need, instead of guessing.
How to back up phone photos to an external drive (iPhone and Android)
Cloud storage is handy, but it's worth having one copy of your photos that lives in a drawer at home. It's cheap, it works without an account, and it takes an evening the first time.
SD card not showing up? Windows, Mac, Android and camera fixes
You put the card in and nothing happens, or the computer offers to format it. Before you agree to anything, work out where it's getting stuck, because some fixes erase the card.
"The file is too large for the destination file system": the FAT32 4 GB limit and how to fix it
The USB stick has 50 GB free, and Windows still says the file is too large. It's not lying about the space: the drive's format has a per-file limit, and your file is over it.
USB stick or external hard drive not showing up? Windows, Mac and Linux fixes
You plug it in and nothing appears, or Windows offers to format it. Don't agree to that yet. Work out where it's getting stuck first, because some fixes erase the drive.
Phone not showing up on PC when plugged in? Android and iPhone USB file transfer fixes
You plug the phone in to get your photos off, it starts charging, and the computer shows nothing. Or it shows the phone but the folder is empty. A few small things cause almost all of it.
"The device is unreachable" copying iPhone photos to Windows? The one setting that fixes it
You drag the DCIM folders across, it copies a few hundred photos and then stops with "The device is unreachable". Try again and it fails at a different file. It's not your cable, usually.
External drive read-only on Mac, or write-protected on Windows? NTFS, exFAT and the fixes
You can open the drive and see your files, but you can't copy anything onto it, delete anything, or rename a folder. Usually the drive is fine. It's the format, a lock switch, or a safety flag.
Windows Photos import not working? "Something went wrong", nothing to import, and other fixes
Photos sees the phone, starts looking, and then gives up, or tells you there's nothing new when you know there is. The app is only the last link in a chain, so check the earlier links first.
Mac won't eject an external drive, or says "Disk Not Ejected Properly"? What's using it and how to fix it
Either the Mac refuses to let go of the drive, or it keeps telling you that you pulled it out without ejecting when you didn't touch it. Both have a short list of causes.
SD card or USB stick says full but looks empty? Hidden files, the Mac Trash, and smaller-than-expected cards
You deleted everything, the card looks empty, and the camera, phone or computer still says it's full. The space is almost always still there, just hidden or cut off.
USB stick or external drive copying slowly, or the speed drops after a few seconds? Why, and what actually helps
The progress bar flies for a few seconds, then the speed falls off a cliff and the estimate jumps from two minutes to an hour. Or the drive was never fast at all. There's usually one clear reason.
Time Machine backup slow, stuck on "Preparing backup", or never finishing? What it's doing and how to fix it
The bar hasn't moved in an hour, or Time Machine has said "Preparing backup" since lunch. Often it's working through a big job very politely. Sometimes it really is stuck.
Which format for a USB stick for a TV, car stereo, PS5, Xbox or camera? FAT32 vs exFAT vs NTFS, device by device
The TV says "no supported files", the car ignores the stick, or the console won't see it. Most of the time the files are fine and the stick just needs a different format.
Windows says "This device can perform faster"? What it means and how to fix it (or switch it off)
You plug in a stick or a drive and Windows pops up: "This device can perform faster if you connect it to a Super-Speed USB 3.0 port." The device works. It's just running in the slow lane.
How to split a big video file to fit a FAT32 USB stick (or avoid splitting at all)
The film is 7 GB, the stick says it has 30 GB free, and Windows still says the file is too large. That's FAT32's 4 GB file limit, and you have three good ways round it.
External hard drive clicking, beeping or not spinning up? What to check, and when to stop
The drive makes a click... whirr... click every few seconds, or a high-pitched beep, and the computer either doesn't see it or freezes when it tries. What you do next can decide whether the files survive.
New SSD or hard drive not showing up in Windows? Initialise it in Disk Management (MBR or GPT)
You fitted a new SSD, Windows started fine, and the drive is nowhere in File Explorer. Usually nothing is wrong: new drives come completely blank, without even a partition table, and Windows only shows drives that have a volume on them.
How to wipe a USB stick, hard drive or SSD before you sell it or give it away
Deleting the files and doing a quick format feels like enough. It isn't: a quick format only throws away the index, and free recovery tools can often bring most of the files back.
"You need to format the disk in drive E: before you can use it"? Don't click Format yet
You plug in a stick, card or drive that worked yesterday and Windows says it needs formatting. Click Cancel. Formatting wipes the file list, and your files may well still be there.
How to check hard drive or SSD health on Windows, Mac and Linux (free, built-in and smartctl)
Your drive has been keeping its own health log all along. Here's how to open it on each system and what to look for, in about five minutes.
Reallocated, pending and uncorrectable sectors: what they mean and when to replace the drive
CrystalDiskInfo turned yellow and the word "sectors" keeps coming up. Here's what each count means and how worried to be.
SSD health percentage explained: Percentage Used, Available Spare and TBW
Your SSD says 93% health, or Percentage Used 7%. Here's what's being counted and when to care.
How to clone a hard drive to an SSD (and fix a clone that won't boot)
Swapping an old spinning hard drive for an SSD is the biggest speed-up most older computers can get. Cloning copies everything across, so the computer starts up exactly as before, just much faster.
"The disk is write-protected": how to fix a USB stick or SD card you can't write to
You try to copy a file or format the stick and get "The disk is write-protected" or "Media is write protected". Sometimes it's a tiny switch, sometimes a setting, and sometimes the flash has worn out and locked itself to protect your files.
Fake USB stick or SD card? How to test the real capacity (and what to do)
It says 1 TB, Windows agrees, files copy fine, and then videos won't play and photos come back grey. That's a fake-capacity card, and a full write-and-read test is the only reliable check.
SSD slower than advertised? Why speed tests and big copies fall short
The box says 7,000 MB/s. CrystalDiskMark says 3,500, and a 100 GB copy crawls along at 400. Usually the drive is fine and something around it is the limit.
Images and photos
Base64 images and data URLs: how and when to use them
A data URL puts the image itself inside the HTML or CSS, so there is no separate file to download. That is handy for tiny icons and a trap for anything bigger.
How to compress an image without uploading it (and why that matters)
You want a photo small enough to attach to an email or a form, but you do not want a random website to keep a copy of it — faces, documents, the GPS tag your phone quietly added. Compression does not have to mean an upload.
How to remove GPS and other hidden data from a photo
A holiday snap can silently include the exact spot it was taken. That hidden parcel of data is called EXIF, and it survives a lot of “just compress it” tools unless the picture is actually redrawn.
How to resize an image without uploading it
A recent phone photo is often 4000 pixels across. If you only need it 1920 pixels wide — the width of a typical full-screen photo on the web — more than half the pixels (and a lot of the file size) can go, without anyone else seeing the original.
Convert PNG to JPEG or WebP without uploading the file
A holiday snap saved as PNG can be many times larger than the same picture as a JPEG, because PNG refuses to throw any detail away. You do not have to upload it to a random converter to fix that.
Photo too large to email? Shrink it without uploading
You attach two holiday snaps and the message comes back, or a job site refuses a 4 MB headshot. The picture is fine — it is just larger than the pipe you are trying to send it through.
How to compress many photos at once without uploading them
Thirty holiday photos, a form that caps the total at 10 MB, or a shared album that chokes on 8 MB phone pictures. Doing them one at a time is tedious, and most bulk tools want every picture on their server first.
How to rotate a JPEG without losing quality (and many photos at once)
Rotate a photo in a basic editor, save, and the file is quietly re-compressed. Do that a few times and the blocky artefacts add up. A JPEG can be turned with no loss at all, though, if you choose the right method.
Why your photo turns sideways after you upload it (EXIF orientation)
It is upright in your gallery, upright on your laptop, and then the website, the email or the job-application form shows it lying on its side. Nothing is wrong with the photo; something along the way is ignoring a note inside the file.
How to convert an iPhone HEIC photo to JPG (Windows, Mac, iPhone, Linux)
You send a photo from an iPhone to a laptop or a web form and get an odd <code>.heic</code> file that won't open or won't upload. Nothing is broken: it's a different file format, and it converts in a minute.
Photo upside down or sideways in Word, Outlook or an email? Why, and the fix that sticks
The photo is upright on your phone and in your gallery. Put it in a document, an email or an online form and it lies on its side. Rotating it in that program sometimes helps until you save, and then it flips back.
How to get a photo under 100 KB (or 50 KB, 200 KB) for an online form
A form rejects your photo: “File must be a JPG under 100 KB”. Your phone photo is 3 MB. You need it about thirty times smaller without it looking like a smudge, and ideally without handing it to a random conversion site.
Megapixels vs file size: why a 12 MP photo is 3 MB, and what actually makes it smaller
Your phone says 12 MP. The file says 3.2 MB. A screenshot of the same screen is 1.5 MB as PNG and the uncompressed version would be 36 MB. These are all the same picture measured in different ways.
How to tell if compressing a photo ruined it (JPEG artefacts explained)
You squeezed a photo down to a smaller file and it looks fine as a thumbnail, but you are not sure whether it will look rough once someone opens it full size.
How to check if a photo shows your location before you send it
If your phone's camera is allowed to use location, every photo it takes quietly records where you were standing, often to within a few metres. Here is how to see it for yourself before the photo goes anywhere.
Does sending a photo share your location? WhatsApp, iMessage, email, AirDrop and more
Whether your location goes along with a photo depends less on the photo and more on how you send it. As a rule, anything that sends the original file keeps it.
Phone camera blurry or won't focus? Causes and fixes, in order
Everything looks soft, as if the phone needs glasses. Before you blame the camera, it's worth working out which kind of blurry you've got, because each one has a different cause.
How big is a minute of video? 1080p vs 4K, HEVC vs H.264, and how much fits on your phone
Your phone says storage is full, and the culprit is nearly always video. Here is how big each recording setting really is, and what to change if you want more room.
Compress a video to a target size (like 25 MB) with ffmpeg: the bitrate maths and two-pass commands
The form says 25 MB maximum and your two-minute clip is 120 MB. Guessing a quality setting and hoping takes several tries. A bit of arithmetic gets it right first time.
GIF vs MP4 vs WebP (and AVIF): which format for a short looping animation?
A short loop for a website, a bug report, a README or a chat: which format should it be? It depends on where it's going more than on the picture.
Why a video freezes, smears or jumps back when you skip ahead (keyframes explained)
You drag the slider and the video freezes for a moment, or lands a few seconds before where you tapped, or turns into a smeary mess of moving blocks that snaps clean a second later. It all comes from one thing: most pictures in a video aren't complete pictures.
Text, encoding and data
Why does YAML turn “no” into false?
You wrote a country code, a version number or a file mode, and your YAML parser handed back something else. Here is why, and how to stop it.
How to read a JWT, and why decoding is not verifying
A JWT looks like noise, but two thirds of it is plain JSON anyone can read. Here is how to look inside one without leaking it.
Is this Unix timestamp in seconds or milliseconds?
The same moment can be 1700000000 or 1700000000000. Count the digits and you will know which one you have.
Base64 is not encryption: what it is actually for
It looks scrambled, so people treat it as a secret. It is not. Anyone can turn it back in one click.
UUID v4 vs v7: which one should you use?
Both look the same and both are unique enough. The difference is what is inside the first 48 bits, and that matters a lot for databases.
What contrast ratio does WCAG require? 4.5:1 explained
Accessibility audits keep flagging your grey text. Here is exactly which numbers apply, where they come from and how to fix a colour without redesigning everything.
Regex lookahead and lookbehind, explained with examples
Lookarounds let a pattern check what comes before or after a spot without including it in the match. Once that clicks, a lot of awkward regexes become one line.
Markdown table syntax: alignment, pipes, line breaks and more
The pipe-and-dash table syntax that GitHub, GitLab, Reddit, Obsidian and most Markdown apps understand, with the awkward cases answered.
What is a .env file, and how do you keep secrets out of git?
A .env file keeps settings and secrets out of your code. It only protects you if it never reaches git, and the syntax has a few traps.
How to tell who really owns a link: read the domain from the right
Every web address has exactly one owner: the name just to the left of its public ending. Everything further left is decoration the owner chose, and anything after the first single <code>/</code> is just a page on their site. Phishing links work by filling the decoration with names you trust.
Emoji shows as □ / tofu / empty box (missing glyph)
The number arrived fine. The device just has no picture for it yet, so it draws a blank box nicknamed tofu.
Mojibake: ðŸ / é / ’ instead of real text (UTF-8 vs Windows-1252)
The bytes are fine. Something read them with the wrong codebook, so every multi-byte character exploded into two or three "Latin" letters.
MySQL "Incorrect string value" / emoji needs utf8mb4
MySQL's historic charset named "utf8" only stores three bytes per character. Emoji need four, so inserts die with Error 1366 — or silently become question marks.
Invisible zero-width characters that break code (U+200B, BOM, bidi)
The characters are there. Your eyes just cannot see them — until a password fails, a test flakes, or a phishing lookalike slips past a review.
QR code not scanning / why a logo can sit in the middle (error correction)
Your phone will not read a QR, or you wonder how a picture in the middle still works. Both come down to the same idea: QR codes carry spare recovery data (error correction), but only within limits — and scanners still need contrast, size and a quiet border.
Contact card QR codes: what goes in a vCard QR, and how to keep it scannable
A contact QR code on a business card, badge or slide lets someone tap <i>Add to contacts</i> instead of typing your number. Under the hood it is a vCard, the same text format your phone uses to export contacts.
Copied password does not work: hidden invisible characters
You pasted the password, the dots filled the box, and the site said it was wrong. The letters you can see may be fine — an invisible character often rode along with the copy.
Strings look the same but are not equal (JavaScript and Python)
Your test says the two strings are different. Your eyes say they are the same. The computer is counting characters you cannot see, or two different ways of writing the same letter.
Non-breaking space vs space: U+00A0 and
It looks like a space, it acts like a space when you read it, and your code insists it is something else. It probably is: a non-breaking space.
Look-alike (homoglyph) characters: Latin a vs Cyrillic а
The word looks right. The computer says it is a different word. One of the letters came from another alphabet.
How to scan a QR code from a screenshot or picture (on the same phone or computer)
Phone cameras are great at QR codes on paper and useless for a code that is already on the phone's own screen. The fix is to read the code from a picture instead of through the camera, and there is a way to do that on every device.
Is this QR code safe? How to check where it goes before you open it (quishing)
A QR code is just a short piece of text, usually a web address, printed so a camera can read it. The danger is never the square itself; it is that you cannot see where it points before you go there. So read it first, then decide.
Canada public holidays
Ontario public holidays 2026: the nine ESA days (and three that calendars often add)
A wall calendar for Ontario often shows a dozen red dates. The Employment Standards Act only requires nine paid public holidays, so three popular days off are a courtesy, not a legal given. Here is the 2026 list, what that means for working days, and what changes in 2027 when Christmas falls on a Saturday.
Is Civic Holiday a statutory holiday in Ontario?
The first Monday in August empties a lot of Ontario offices, and Toronto calls it Simcoe Day, but the Employment Standards Act does not name it as a public holiday. Whether you get the day off depends on your employer, not on that Act.
Family Day in Canada: which provinces get the third Monday in February
Five provinces call the third Monday in February Family Day. Three more take the same Monday under a different name, and five jurisdictions skip it entirely. If you are planning a winter trip or a payroll calendar across Canada, the name on the day off is not the same everywhere.
Dates, units and holidays
KB vs KiB, MB vs MiB: why file sizes disagree
Your drive is labelled 1 TB, the OS shows ~931 GB, and a progress bar says 1000 MB. Nobody is lying — they are counting in different bases.
Celsius to Fahrenheit to Kelvin: the correct formulae
Temperature is not a simple scale factor. Zero on one scale is not zero on another — so “just multiply by 1.8” without the ±32 (or Kelvin offset) is wrong.
Metric tonne vs ton (US short ton and UK long ton)
“Ton” is three different weights depending on who wrote the spreadsheet. “Tonne” (metric) is the unambiguous SI one: exactly 1000 kilograms.
How many working days in the UK this year?
HR, payroll and delivery planners keep asking the same question every January: how many weekdays are left once the bank holidays are removed? The answer depends on which UK nation you are in.
Add UK bank holidays to Outlook, Google Calendar or Apple Calendar
You can paste every public holiday into a calendar by hand each December — or subscribe once to a live iCalendar feed and let Google, Apple or Outlook refresh it for you.
UK bank holiday substitute days (why Boxing Day moves)
If Christmas is a Friday and Boxing Day a Saturday, why is Monday also a holiday? The named day stayed on the weekend — the law adds a substitute weekday so you still get the time off.
Feiertage Bayern 2026: which public holidays Bavaria has (and which Germany does not)
Searching for Feiertage Bayern? Bavaria keeps four state holidays that do not apply in every Bundesland. Here is the 2026 list, what is federal vs Bavarian, and how to pull the same dates into a calendar or script.
How many working days (Arbeitstage) in Germany this year?
Payroll, SLAs and delivery plans all need the same number: weekdays minus gesetzliche Feiertage. In Germany that number depends on which Bundesland you are in — and weekend holidays usually do not give you an extra Monday.
Add German Feiertage to Outlook, Google Calendar or Apple Calendar
Pasting next year’s Feiertage by hand is how January gets ruined. Subscribe once to a live iCalendar feed for Germany or your Bundesland and let the calendar app refresh it.
How many sleeps until Christmas (and New Year)? Midnights, time zones and why Eve is 1
Kids (and plenty of grown-ups) ask "how many sleeps until Christmas?" The answer is not the same as a naive day counter — and that is why some countdown widgets look a day short on Christmas Eve.
Working days until a deadline: calendar days vs sleeps vs business days
"How long until the deadline?" gets three different honest answers depending on whether you mean nights, every calendar day, or days the office is actually open. Mixing them up is how project plans slip by a week.
Why countdown timers are often a day off (inclusive vs exclusive, midnight, UTC)
You set a countdown to Friday and by Thursday evening it already says "0 days". Or two apps disagree by one. Almost always the apps are using different definitions of "a day", not broken clocks.
NSW public holidays 2026: full list, the extra Anzac Monday and Boxing Day additional day
NSW has thirteen public-holiday dates in 2026, and two of them are extra Mondays because Anzac Day and Boxing Day land on a Saturday. Here is the full list, how many working days that leaves, and how to put the dates straight into a calendar.
When is Matariki? Public holiday dates 2026 to 2035 and the full NZ 2026 list
Matariki moves every year because it follows the Māori lunar calendar, but the dates are fixed in law decades ahead, so you can plan for them now. Here are the next ten, plus the rest of New Zealand's 2026 public holidays.
Christmas on a Saturday: how Australia's additional public holidays work (2026 and 2027)
In 2027 Christmas falls on a Saturday and Boxing Day on a Sunday. Most of Australia gets Monday 27 and Tuesday 28 December off, but the weekend days stay public holidays too. That difference changes pay, rosters and how software should count working days.
How to get a wired connection to another room without drilling holes
A cable beats Wi-Fi for games, calls and big downloads, but the router is downstairs and you can't, or are not allowed to, drill. You have more options than a 20-metre cable across the hallway.
PS5 or Xbox downloads slow? What really helps (and what doesn't)
Your plan says 500 Mbps, the speed test agrees, but the 80 GB game update crawls along overnight. Here is where console downloads get stuck, and the few changes that make a real difference.
Why is my GIF so big? How to make a GIF smaller without it looking awful
You made a five-second clip and the GIF came out at 12 MB, bigger than the video it came from. Here's why, and what actually shrinks it.
No guide matches that search yet.