How to make a QR code, convert HEIC, and merge PDFs
Illustrated how-tos you finish in this tab: QR and barcode, merge and compress PDF, HEIC to JPG, crop a photo. Nothing is uploaded.
QR codes and barcodes
PDF and photos
- 6-minute readHow to merge PDF filesDrop PDFs in order, download one file, reopen it and count the pages.
- 6-minute readHow to compress a PDFMatch the email or form limit, recompress pages, then open a photo-heavy page.
- 6-minute readHow to split a PDFEvery page as a file, or just pages 1–3. Download, then count.
- 8-minute readHow to convert HEIC to JPGiPhone photos are often HEIC. Export JPG in Safari or Chrome, then open the JPG on the PC you will send it to.
- 6-minute readHow to convert JPG to PDFDrop photos in order, pick A4 or fit-to-photo, download one PDF, flip every page.
- 6-minute readHow to convert PDF to JPGEach page becomes an image. Choose 1× or 2×, download, open one file at 100%.
- 6-minute readHow to convert WebP to PNGChrome often saves WebP. Export PNG, then open it in the app that rejected WebP.
- 6-minute readHow to convert PNG to JPGPick JPG for a smaller photo. Check that a clear background became a solid matte, then compare file size.
- 6-minute readHow to convert JPG to PNGPick PNG for lossless edits or a form that wants PNG. It will not punch a hole in the background. The file usually gets larger.
- 6-minute readHow to convert AVIF to JPGChrome often saves AVIF. Export JPG, then open it on the PC or form that rejected AVIF.
- 6-minute readHow to convert PNG to WebPPick WebP for a smaller file that can keep a clear background. Then open it in a browser, not in an old form.
- 8-minute readHow to make an invoice PDFFill from/to, add line items, check tax and total, download a PDF, then read the numbers once. Not a tax form.
Photos
- 6-minute readHow to crop a photoPick 1:1, 4:5, or 16:9 first, move the box, check the four edges, reopen at 100%.
- 6-minute readHow to rotate or flip a photoTurn 90° or 180°, or flip a mirror. Download, then open the file — not only the preview.
- 6-minute readHow to resize or compress an imageSet a real pixel cap or file-size cap, then open the download at 100%.
- 7-minute readHow to add a watermark to a photoStamp a shop name or logo, set opacity, download, then check at 100%.
- 5-minute readHow to watermark an ID copy before sending itWrite who it is for, tile it with the date, black out what they do not need.
- 5-minute readHow to pixelate part of a photoBlack out numbers, pixelate faces, check at 100%, then share.
- 6-minute readHow to remove EXIF / location from a photoPhones store GPS in the file. Export a clean copy, then drop the export to prove it is gone.
- 7-minute readHow to make a photo collagePick a grid, drop photos, choose contain vs cover, download, then check faces.
- 6-minute readHow to make a memeDrop a photo, type top and bottom text, download a PNG, then check it at phone width.
- 7-minute readHow to make a faviconCrop to a square, pick Cover or Contain, download ICO plus PNG sizes, then check the 16-pixel version.
- 6-minute readHow to draw a signature PNGDraw on the pad, download a cropped PNG, then check it at the size of the form. Not a legal e-sign.
- 6-minute readHow to annotate a screenshotDrop a screenshot, add a box, an arrow, or a label, download a PNG, then check it at the size you will send.
- 6-minute readHow to remove the background from a photo for freeDrop JPG, PNG, WebP or HEIC photos and an AI model cuts out the subject in your browser. Pick transparent, white, a color or blur, then download PNG, WebP or JPG, or all at once as a ZIP.
Audio
- 6-minute readHow to trim audio / cut an MP3Set start and end, listen, download WAV, then play the file before you send it.
- 6-minute readHow to convert MP3 to WAVDrop the MP3, pick a sample rate if you need one, download WAV, then play the file. The original stays on disk.
- 6-minute readHow to join audio files / merge MP3sDrop two or more clips in order, download one WAV, then play the file from start to end.
- 5-minute readHow to practise with an online metronomeSet the tempo in BPM or tap it from a recording, pick beats per bar and clicks per beat, then speed up by about 5 BPM each time a passage is clean. Runs in your browser.
- 5-minute readHow to play a test tonePlay a pure tone at any frequency, send it to the left or right speaker and sweep the range to test speakers, headphones and your hearing. Runs in your browser.
- 5-minute readHow to test your microphoneAllow the microphone, check the level meter, record five seconds and play it back. Fixes for a silent or clipping mic. Nothing is uploaded.
Developer tools
- 6-minute readHow to format JSONPretty-print with two spaces or minify to one line, then copy the output. Comments and trailing commas are not JSON.
- 6-minute readHow to decode Base64Decode standard Base64 to UTF-8 text, or encode text the other way. Minus and underscore are refused. A picture is not text.
- 6-minute readHow to encode a URLEncoding turns a space into %20 and also encodes slashes. Decoding turns + into a space. A broken % sequence fails.
- 6-minute readHow to read a JWTPaste a token, read the header and payload, and look at exp. The signature stays unchecked. A decoded token is only JSON you can see.
- 6-minute readHow to convert a Unix timestampCount the digits, paste seconds or milliseconds, then read ISO and local time. Do not convert the number twice.
- 6-minute readHow to convert a number between basesConvert one whole number between bases 2 and 36. 255 in base 10 is FF in base 16. No 0x prefix and no fraction.
- 6-minute readHow to read a cron expressionThis page reads five fields: minute, hour, day of month, month, and weekday. 0 9 * * 1 is 09:00 on Monday. Sunday is both 0 and 7. MON and a sixth field fail.
- 6-minute readHow to get the MD5 or SHA-256 hash of text or a filePick MD5, SHA-1, SHA-256, SHA-384 or SHA-512, paste text or choose a file, and copy the hex or Base64 digest. Compare it with the checksum a download page lists; one different character means a different file.
- 6-minute readHow to generate a UUIDSet how many, choose hyphens and case, press Generate and copy the list. Each UUID is version 4, 122 random bits from Web Crypto, such as 3f2504e0-4f89-41d3-9a0c-0305e82c3301.
- 6-minute readHow to test a regular expressionType a pattern, set the g, i, m, s and u flags and paste text to see every match with its capture groups. A replacement such as [$&] or $1 previews the result before you use it in code.
- 5-minute readHow to generate a strong passwordSet length and character types, copy once, paste into the account, then close the tab. Do not email it.
- 6-minute readHow to check color contrast for WCAGEnter the text and background hex colors and read the ratio. Normal text needs 4.5:1 for AA and 7:1 for AAA; large text needs 3:1 and 4.5:1. A passing color is suggested.
- 5-minute readHow to test every key on your keyboard onlineClick the keyboard map and press every key: working keys turn pink. Check key, code and keyCode, and hold several keys to test rollover. Nothing is recorded.
- 5-minute readHow to test your click speed (CPS)Click as fast as you can for 5 seconds, read your clicks per second and compare it with typical scores. Nothing is uploaded.
- 5-minute readHow to test your reaction timeClick as soon as the screen turns green, five times, and read your average and median reaction time in milliseconds. Nothing is uploaded.
- 5-minute readHow to test your webcamCheck the preview, the real resolution and frame rate, and take a test photo. Nothing is uploaded.
- 5-minute readHow to test a controller and check stick driftPress every button, read both sticks and spot drift before it costs you a game. Nothing is uploaded.
- 5-minute readHow to check a screen for dead pixelsShow solid colours full screen and find dead, stuck or hot pixels, and tell them from dust.
- 5-minute readHow to check your monitor's refresh rateMeasure the Hz your browser really draws at, and fix a fast screen stuck at 60 Hz.
- 5-minute readHow to test a touch screenFind dead zones, count how many fingers the screen tracks and check pen pressure. Nothing is uploaded.
Text and writing
- 5-minute readHow to count words and charactersPaste the text, read the matching number, trim if a form has a cap.
- 6-minute readHow to compare two texts and see the differencesPaste the original on the left and the new version on the right. Added lines show green, removed lines red, and the counts sit above. Tick Ignore extra spaces to skip whitespace changes; copy a unified diff for a ticket.
- 6-minute readHow to estimate reading time for a textPaste the text. Words ÷ 238 gives silent reading minutes, words ÷ 130 gives speaking minutes. 650 words is a five-minute talk; 1200 words is a five-minute read. Chinese, Japanese and Korean are counted in characters.
Dates and time
- 6-minute readHow to count days between two datesThe signed difference does not include both ends. Monday 5 January 2026 to Friday 9 January is 4 days. The same span is 5 business days on the other page.
- 5-minute readHow to add days to a dateAdd a whole number of calendar days. 28 February 2024 plus 1 is 29 February 2024. A fraction of a day fails. Friday plus 1 is Saturday.
- 6-minute readHow to count business daysCount Monday through Friday between two dates, including both ends. A Wednesday holiday stays in the count.
- 5-minute readHow to add hours and minutesAdd or subtract two lengths written as hours:minutes:seconds. Minutes and seconds must be 0–59. 0:90:00 is not a valid length.
- 6-minute readHow to calculate ageCount civil years, months, and days. Born 15 March 2000, on 14 March 2026 the age is still 25 years, 11 months, and 27 days.
- 6-minute readHow to find the ISO week numberISO weeks start on Monday. Week 1 contains the year's first Thursday. 1 January 2021 is Friday of 2020-W53.
- 6-minute readHow to convert a time zonePick the zone that owns the clock you were given, then the other zone. Daylight saving follows the date. Copy is the UTC instant.
- 6-minute readHow to calculate hours worked on a time cardEnter start, end and unpaid break for each shift. 09:00–17:30 with 30 minutes off is 8 hours, five days is 40, and a Saturday 09:00–14:00 adds 5 hours of overtime: 950.00 at 20 an hour with 1.5× overtime.
- 6-minute readHow to use a Pomodoro timerStart a 25-minute focus block, rest 5 minutes at the chime, and take a 15-minute break after four rounds. The tab title shows the time left; the chime needs the tab open.
- 5-minute readHow to find your star sign and Chinese zodiac animalYour star sign depends on the day and month; your Chinese zodiac animal on the lunar year, which starts on Lunar New Year between 21 January and 20 February. 15 August 1995 is Leo and the wood Pig.
Money
- 6-minute readHow to calculate a percentageRead four lines from the same two numbers. 25% of 200 is 50. 25 is 12.5% of 200. 200 plus 25% is 250.
- 6-minute readHow to calculate a discount20% off 100 is a sale price of 80.00 and a saving of 20.00. That is not a 20% profit margin. 120% off can go below zero.
- 6-minute readHow to add VAT to a priceExclusive adds the tax. 100 at 20% becomes 120.00. Inclusive splits a gross price. 120 at 20% is 100.00 net and 20.00 tax, not 24.00.
- 6-minute readHow to split a tip100 at 20% for 4 people is a tip of 20.00, a total of 120.00, and 30.00 each. Each person splits the whole bill. 2.9 people counts as 2.
- 6-minute readHow to calculate a profit marginDivide profit by the selling price for margin, and by the cost for markup. Cost 50 and price 80 is a 37.50% margin and a 60.00% markup.
- 6-minute readHow to convert hourly pay to a yearly salaryMultiply one hourly rate by hours per week and weeks per year. The default is 40 by 52, which is 2,080 hours. The result is gross pay.
- 6-minute readHow to calculate a loan payment10000 at 12% for one year is a monthly payment of 888.49. The interest is 661.85, not 1200. 12000 at 0% for one year is 1000.00 a month.
- 6-minute readHow to calculate compound interestFuture value = principal × (1 + rate ÷ n)^(n × years). 1000 at 5% for 10 years grows to 1628.89 compounded yearly, 1647.01 monthly and 1648.66 daily.
- 6-minute readHow to calculate the fuel cost of a tripDistance × economy gives litres, litres × price gives cost. 300 km at 7 L/100 km uses 21 litres; at 1.60 a litre that is 33.60, or 67.20 for the round trip, 22.40 each for three people.
- 6-minute readHow to calculate the electricity cost of an applianceWatts × hours ÷ 1000 = kWh; kWh × your price = cost. A 1000 W air conditioner for 8 hours a day for 30 days uses 240 kWh: 36.00 at 0.15 a kWh, 438.00 a year.
Health and fitness
- 6-minute readHow to calculate BMI70 kg and 170 cm is a BMI of 24.2, in the Normal band. 1.70 in the centimetre box is 242214.5. 25 is Overweight and 30 is Obesity.
- 6-minute readHow to measure body fat with a tapeMeasure neck, waist and hips, enter them with your height, and read the U.S. Navy body fat percentage and its category. Add weight to see fat and lean mass.
- 6-minute readHow to find your ideal weightEnter sex and height to read the Devine, Robinson, Miller and Hamwi ideal weights and the BMI 18.5–24.9 range. A 170 cm man: 65.9 kg Devine, 65.2 kg Robinson, 66 kg Miller, 66.7 kg Hamwi, BMI range 53.5–72 kg.
- 6-minute readHow to calculate TDEE and daily caloriesEnter sex, age, weight, height and activity. BMR comes from Mifflin–St Jeor and TDEE is BMR times an activity factor. A 30-year-old man, 70 kg, 175 cm, moderate activity: 1649 and 2556 kcal.
- 6-minute readHow to calculate your macros in gramsSplit a calorie target into protein, fat and carbs. Grams = calories × share ÷ 4 for protein and carbs, ÷ 9 for fat. 2500 kcal at 30/30/40 is 188 g protein, 83 g fat and 250 g carbs.
- 6-minute readHow to calculate calories burned during exerciseCalories = MET × body weight in kg × hours. 30 minutes at 70 kg: running at 10 km/h about 343 kcal, jumping rope 413, cycling 280, swimming 203, yoga 88.
- 6-minute readHow to work out how much water to drink a day35 ml per kg of body weight, plus 12 ml per minute of exercise, plus 500 ml in hot weather. 70 kg with 30 minutes of exercise gives about 2.8 litres, 12 glasses of 250 ml.
- 6-minute readHow to calculate running paceEnter distance and time to get pace per km and per mile, or enter pace to get a finish time. 10 km in 55:00 is 5:30 /km, 8:51 /mi, and a 3:52:04 marathon at the same pace.
- 6-minute readHow to find the best bedtimeCount back from your alarm in 90-minute cycles plus 14 minutes to fall asleep. A 07:00 alarm means bed at 23:16 for five cycles or 21:46 for six.
- 6-minute readHow to calculate a due dateEnter the first day of the last period and the cycle length. Due date = last period + 280 days, shifted by cycle − 28. A period starting 1 January gives 8 October; a 32-day cycle gives 12 October.
- 6-minute readHow to find your fertile window and ovulation dayOvulation is about 14 days before the next period. A period starting 1 January with a 28-day cycle gives ovulation on 15 January, a fertile window of 10–15 January and the next period on 29 January.
Math and school
- 5-minute readHow to simplify a fractionReduce a whole numerator and denominator, or turn a decimal into a fraction. 4/6 becomes 2/3. A decimal stops at denominator 10,000.
- 6-minute readHow to find an aspect ratioReduce whole pixels. 1920 by 1080 is 16:9. 1080 by 1920 is 9:16. Decimals are rounded before the ratio. This does not crop a photo.
- 6-minute readHow to calculate the grade you need on a finalEnter your current grade, the grade you want and the final's weight. 85% now, 90% wanted and a 30% final needs 101.7%, so aim for a B instead. Needed = (wanted − current × (1 − weight)) ÷ weight.
- 6-minute readHow to calculate GPA on the 4.0 scaleEnter a letter grade and credits per course. Each grade becomes points (A 4.0, B+ 3.3, B 3.0), points times credits are added and divided by total credits. A 3, B+ 3, A- 4, B 3 gives 3.51.
- 5-minute readHow to calculate the mean, median, mode and standard deviationMean = sum ÷ count, median = the middle value, mode = the most frequent. For 12 15 15 18 20 22 30 the mean is 18.86, the median 18, the mode 15 and the sample standard deviation 5.96.
- 5-minute readHow to pick a random name with a spinning wheelType one name per line and press Spin. The winner is drawn with Web Crypto, so every line has the same chance; tick remove-winner to draw a whole order without repeats.
- 5-minute readHow to use an online tally counterCount people, laps, stitches or votes with big buttons or the keyboard, keep several named counters and read the total. Counts stay in your browser.
AI tutorials
Sourced guides to generative AI: how LLMs and diffusion models work, writing image and video prompts, AI image, video and audio workflows, running models in the browser, and AI copyright and labeling.
AI basics
- What is generative AI?How AI models learn from data to make text, images, video and audio, and where they fail
- How LLMs workFollow one prompt through tokens, attention and next-token prediction to an answer
- Tokens and context windowReal token counts in six languages, what fills the context window, and how to save space
- AI hallucinationWhy AI invents facts and citations, prompts that reduce it, and how to check answers
- How diffusion models workHow noise becomes an image, and what steps, seed and CFG scale change
- What are AI agents?How AI agents call tools in a loop, a real trace, MCP, and the risks to plan for
- AI glossary60 generative AI terms in plain English, from tokens and LoRA to CFG, C2PA and deepfakes
Prompt writing
- Prompt engineering basicsThe six parts of a good prompt, a before/after rewrite, examples and testing
- How to write image promptsA prompt formula, a weak-to-strong rewrite, keyword tables and negative prompts
- How to write video promptsA 7-part prompt structure, one action per shot, beat timing and a full rewrite
- Camera movement termsDolly, truck, orbit, crane, dolly zoom and more: what each looks like and how to prompt it
- Storyboard promptsTurn a script into shots and one prompt per shot, with a 15-second example.
AI images
- How text-to-image AI worksFrom prompt to picture: steps, guidance, seed, size and a working draft-to-final flow
- How image-to-image AI worksStrength, reference images, style transfer, inpainting and depth, pose and edge control
- Consistent AI charactersCharacter sheets, references, seeds, fixed descriptors, LoRA and a continuity checklist
- How AI upscaling worksWhy bicubic blurs, how GAN and Real-ESRGAN models add detail, and when they fail
- How AI background removal worksMasks vs alpha mattes, why hair and glass fail, and why cut-outs must be PNG
- What is a depth map?How AI guesses depth from one photo, near vs far shading, and uses for 3D and ControlNet
AI video
- How text-to-video worksHow a prompt becomes a clip, the settings that matter, and a 15-second shot plan
- How image-to-video worksPick a start image, write motion-only prompts, and when 2.5D parallax is enough
- First and last frame videoKeyframe interpolation, how to design both frames, and transitions that work or fail
- Multi-shot AI videoKeep faces, clothes, places and light consistent across many AI video shots.
- AI short drama workflowFrom hook and script to a labeled 9:16 episode, with a 20-second shot list.
AI audio
- How speech-to-text worksFrom spectrogram to words, how Whisper learned, word error rate, and clean subtitles
- How text-to-speech worksNeural TTS vs browser voices, SSML for pauses and names, and voice-cloning consent
AI for developers
- Run AI in the browserWebGPU vs WASM, ONNX Runtime Web, Transformers.js, model size, caching and phone limits
- How to call an LLM APIA working API request in curl, Python and JS, plus streaming, JSON, retries and cost
Copyright and safety
- AI copyright and commercial useWho owns AI output in the US, China and EU, and what to check before selling it.
- How to label AI contentExplicit and implicit labels under China's rules, EU AI Act and platform policies.
- C2PA and AI watermarksContent Credentials, SynthID and IPTC labels, why metadata vanishes, and detection limits
Knowledge
What formats, encodings and formulas mean, with sources.
- What is HEIC?iPhone photo format, how it differs from JPG, and when to convert.
- JPG vs PNG vs WebP vs AVIFWhich image format to use for photos, screenshots and the web.
- What is EXIF data?Camera, time and GPS details hidden in photos, and how to remove them.
- DPI vs PPIPixels, print size and why 300 DPI only matters on paper.
- Aspect ratios explained16:9, 4:3, 1:1, 9:16 and the pixel sizes that go with them.
- Why are PDF files so large?Images, fonts and scans that bloat a PDF, and what compression changes.
- What is Base64?How Base64 turns bytes into text, why it grows 33%, and why it is not encryption.
- Unicode and UTF-8Code points, bytes, and why text turns into garbled characters.
- URL encoding (percent-encoding)Why spaces become %20 and which characters must be escaped.
- JSON vs YAML vs XMLSyntax, strengths and pitfalls of the three data formats.
- MD5 vs SHA-256What a hash is, which ones are broken, and what to use for passwords.
- What makes a password strong?Length, randomness and entropy, following current NIST guidance.
- What is a UUID?UUID versions 4 and 7, collision odds and when to use each.
- What is a Unix timestamp?Seconds since 1970, milliseconds in JavaScript and the 2038 problem.
- ISO 8601 dates and week numbersYYYY-MM-DD, week 1, durations and the RFC 3339 profile.
- UTC, GMT and time zonesOffsets, daylight saving time and why zone names beat offsets.
- APR vs APYSimple vs compounded rates, the formula and a worked example.
- Margin vs markupTwo ways to state profit, how to convert them and a quick table.
Coding
One-page tutorials for programming languages, design patterns, data structures and algorithms, each with runnable code, a short answer first and links to the official docs.
Programming languages
- PythonSyntax, types, control flow, functions, collections, errors and files in one page
- JavaScriptVariables, types, functions, arrays, objects, promises and async/await in one page
- TypeScriptTypes, interfaces, unions, narrowing, generics and error handling in one page
- JavaTypes, classes, records, collections, exceptions and pattern matching in one page
- CTypes, functions, arrays, strings, pointers, malloc/free and error handling in one page
- C++Types, classes, STL containers, lambdas, RAII, smart pointers and exceptions in one page
- C#Types, classes, records, collections, LINQ, async/await and exceptions in one page
- GoTypes, slices, maps, structs, interfaces, goroutines, channels and errors in one page
- RustOwnership, borrowing, structs, enums, match, collections and Result in one page
- PHPVariables, arrays, functions, classes, enums, exceptions and a JSON endpoint in one page
- RubyTypes, methods, arrays, hashes, blocks, classes, modules and exceptions in one page
- SwiftTypes, optionals, closures, collections, structs, enums, protocols and errors in one page
- KotlinNull safety, control flow, functions, data classes and coroutines in one page
- DartNull safety, functions, collections, classes and async/await for Flutter
- ScalaScala 3 syntax, pattern matching, collections, case classes and Option in one page
- RVectors, data frames, functions, statistics and plots in R in one page
- SQLSELECT, JOIN, GROUP BY, CTEs, transactions and PostgreSQL vs MySQL vs SQLite
- BashShell scripts, variables, quoting, loops, functions, pipes and set -euo pipefail
- PowerShellCmdlets, the object pipeline, variables, functions, hashtables and try/catch
- LuaVariables, tables, functions, metatables and pcall in Lua in one page
- PerlScalars, arrays, hashes, subroutines, regular expressions and errors in Perl
- HaskellPure functions, types, pattern matching, lists, Maybe and IO in Haskell
- ElixirPattern matching, pipes, Enum, processes and {:ok, value} error handling
- ErlangPattern matching, recursion, processes, OTP and let-it-crash error handling
- ClojureSyntax, immutable collections, functions, macros, atoms and errors in one page
- F#Types, records, unions, pattern matching, pipelines and Result in one page
- OCamlTypes, records, variants, pattern matching, modules and errors in one page
- JuliaTypes, arrays, broadcasting, functions, multiple dispatch and errors in one page
- ZigTypes, slices, optionals, error unions, comptime, defer and allocators in one page
- FortranModern syntax, types, loops, procedures, modules, arrays and iostat in one page
- COBOLDivisions, PIC data, IF/EVALUATE, PERFORM loops, tables, files and errors in one page
- Assembly (x86-64)x86-64 NASM registers, instructions, loops, memory, syscalls, calls and AT&T syntax
- Visual Basic .NETVB.NET syntax, types, loops, functions, collections, classes, LINQ and VBA in one page
- Objective-CMessages, classes, properties, Foundation collections, blocks, ARC and NSError in one page
- MATLABMatrices, indexing, loops, functions, structs, cells, errors, plots and Octave in one page
Design patterns
- Design patternsWhat design patterns are, all 23 GoF patterns by category, and how to choose
- SOLID principlesThe five SOLID design principles, each with a TypeScript before/after example
- Singleton patternEnsure one instance: TypeScript example, async variant, pitfalls and alternatives
- Factory Method patternLet subclasses choose which object to create: TypeScript example and when to use it
- Abstract Factory patternCreate families of related objects without naming their concrete classes
- Builder patternConstruct complex objects step by step with a fluent API, plus the Director role
- Prototype patternCreate objects by cloning instances: TypeScript clone(), deep vs shallow copies
- Adapter patternMake incompatible interfaces work together: TypeScript example, object vs class adapter
- Bridge patternSeparate an abstraction from its implementation so both vary independently
- Composite patternTreat single objects and trees of objects the same: TypeScript file-system example
- Decorator patternAdd behavior to objects at run time by wrapping them: classes and function decorators
- Facade patternGive a complex subsystem one simple entry point: TypeScript checkout example
- Flyweight patternShare intrinsic state across many objects to save memory, with a TypeScript example
- Proxy patternControl access to an object with caching, lazy, protection and remote proxies
- Chain of Responsibility patternPass a request along handlers until one handles it, plus the middleware form
- Command patternTurn requests into objects to queue, log, undo and redo them in TypeScript
- Interpreter patternModel a small language as classes and evaluate expression trees in TypeScript
- Iterator patternTraverse collections without exposing their storage, with Symbol.iterator and generators
- Mediator patternCoordinate components through one central object instead of direct references
- Memento patternSave and restore an object's state without exposing internals, for undo and checkpoints
- Observer patternNotify subscribers automatically when a subject changes, with typed TypeScript code
- State patternChange an object's behavior with its state using state classes instead of switch
- Strategy patternSwap interchangeable algorithms at runtime, using functions or classes in TypeScript
- Template Method patternFix an algorithm's steps in a base class and let subclasses fill in the details
- Visitor patternAdd operations to a class hierarchy with double dispatch, plus the union-type alternative
Data structures
- Linked listSingly and doubly linked lists: insert, delete, reverse, cycle detection and complexity
- Stack and queueLIFO stacks and FIFO queues in Python: list, deque, bracket matching, BFS and complexity
- Hash tableHash functions, buckets, collisions, load factor and resizing, with Python code
- Binary search treeBST ordering rule, search, insert and delete in Python, balancing and complexity
- Binary tree traversalPreorder, inorder, postorder and level order, recursive and iterative Python code
- Binary heapHeap property, sift up and down, heapify, priority queues and Python heapq
- TriePrefix tree insert, search, starts-with and autocomplete in Python, with complexity
- Union-findDisjoint set union: find, union, path compression, union by rank and size in Python
- LRU cacheLeast recently used cache with a hash map and doubly linked list, OrderedDict, lru_cache
Algorithms
- Big O notationTime and space complexity, common classes and how to read them from code
- RecursionBase cases, the call stack, memoization and recursion limits in Python
- Binary searchHow binary search halves a sorted range, Python code, bisect, variants and pitfalls
- Two pointers and sliding windowOpposite-end, fast-slow and sliding window patterns with Python code and traces
- Bubble sortHow bubble sort swaps neighbours, pass-by-pass trace, Python code and complexity
- Selection sortHow selection sort picks the minimum, step-by-step trace, Python code and stability
- Insertion sortHow insertion sort shifts items into place, trace, Python code, stability and best cases
- Merge sortDivide-and-conquer merge sort: trace, Python code, merge step, stability and complexity
- QuicksortPivots, Lomuto partition trace, Python code, worst case, stability and quickselect
- HeapsortMax-heaps, sift-down, step-by-step trace, Python code, heapq and complexity
- Counting sortLinear-time counting sort for small integer keys: trace, stable Python code, complexity
- Radix sortLSD and MSD radix sort: digit-by-digit trace, Python code, stability and complexity
- Breadth-first searchBFS with a queue: traced example, Python code, shortest paths and O(V + E) cost
- Depth-first searchDFS recursive and iterative in Python, traced example, cycle detection and O(V + E) cost
- Dijkstra's algorithmShortest paths with a priority queue: traced example, Python heapq code and complexity
- Bellman-Ford algorithmShortest paths with negative weights, negative cycle detection and Python code
- Floyd-Warshall algorithmAll-pairs shortest paths: traced matrix example, Python code, path rebuilding and O(V³)
- A* searchHeuristic pathfinding with f = g + h: admissible heuristics, grid example, Python code
- Topological sortOrder tasks by dependencies: Kahn's algorithm, DFS, graphlib and cycle detection
- Minimum spanning treeKruskal's and Prim's algorithms: traced example, Python code, union-find and heaps
- Dynamic programmingMemoization vs tabulation, coin change and LCS traced, Python code and complexity
- Greedy algorithmsBest local choice at each step: interval scheduling traced, Python code, counterexamples
- BacktrackingChoose, explore, unchoose: N-Queens traced, subsets, permutations and pruning in Python
- KMP string searchKnuth-Morris-Pratt: prefix function, traced search, Python code and O(n + m) cost
- Bit manipulationBitwise operators, single-bit tricks, bit counting and bitmasks with Python examples