Boot.dev Blog
Python Decorators: A Complete Guide With Code Examples
by Boot.dev Team - Programming course authors and video producers
Remember function transformations, where a higher-order function takes a function and returns a function with new behavior? Python decorators offer a kind of syntactic sugar around that. ("Syntactic sugar" just means "a more convenient syntax.") In this guide you'll learn what decorators are, how args and kwargs let them wrap any function, how to write decorators that take arguments, and how to use functools.lrucache for memoization.
What Is Functional Programming in Python? A Complete Guide
by Boot.dev Team - Programming course authors and video producers
Functional programming is a style of programming where we compose functions instead of mutating state (updating the values of variables). While Python is best known for object-oriented programming, it also fully supports functional concepts like first-class functions, immutability, and pure functions. Learning to think functionally is one of the fastest ways to write cleaner, more maintainable code, no matter which language you end up working in.
Currying in Python: Transform Multi-Arg Functions
by Boot.dev Team - Programming course authors and video producers
Function currying is a specific kind of function transformation, where we translate a single function that accepts multiple arguments into multiple functions that each accept a single argument.
Pure Functions in Python: A Complete Beginner Guide
by Boot.dev Team - Programming course authors and video producers
If you take nothing else away from this article, please take this: pure functions are fantastic. A pure function has exactly two properties: it always returns the same value given the same arguments (it's deterministic), and running it causes no [side effects](). In short: pure functions don't do anything with anything that exists outside of their scope.
Higher-Order Functions in Python
by Boot.dev Team - Programming course authors and video producers
In Python, functions are just values, like strings, integers, or objects. A programming language "supports first-class functions" when functions are treated like any other variable. That means functions can be passed as arguments to other functions, can be returned by other functions, and can be assigned to variables. Functions that accept other functions as arguments or return functions are called higher-order functions, and they power built-ins like map(), filter(), and reduce().
Sum Types in Python: Using Enums, Unions, and Match
by Boot.dev Team - Programming course authors and video producers
Sum types are a staple of functional programming, but Python doesn't really support them. We have to use a workaround and invent our own little system and enforce it ourselves.
Function Transformations in Python: A Quick Guide
by Boot.dev Team - Programming course authors and video producers
"Function transformation" is just a concise way to describe a specific type of higher-order function. It's when a function takes a function (or functions) as input and returns a new function.
Closures in Python: How They Capture State
by Boot.dev Team - Programming course authors and video producers
A [closure]() is a function that references variables from outside its own function body. The function definition and its environment are bundled together into a single entity, so it keeps track of some values from the place where it was defined, no matter where it's executed later on.
Recursion in Python: A Beginner's Guide
by Boot.dev Team - Programming course authors and video producers
[Recursion]() is a famously tricky concept to grasp, but it's honestly quite simple, so don't let it intimidate you. A recursive function is just a function that calls itself.
Deep Blue Was Not ChatGPT
by Boot.dev Team - Programming course authors and video producers
It's May 11th, 1997, and Garry Kasparov sits in front of a chessboard on the 35th floor of a Manhattan skyscraper.
SHA-1 Was Shattered
by Boot.dev Team - Programming course authors and video producers
A couple of weeks ago I downloaded a copy of OBS, and my operating system yelled at me. Told me I shouldn't trust it. And it was right, I shouldn't have been trying to download from fastandrealobsfree.ru.
The Boot.dev Beat. June 2026
by Lane Wagner - Boot.dev co-founder and backend engineer
May was a fun month. Interactive widgets (the ones we teased last month) are now live in select lesson content, sound effects rolled out to everyone, and every Python project course got type hints.
WannaCry: The Ransomware Attack That Shut Down Hospitals
by Boot.dev Team - Programming course authors and video producers
It was 3 PM on a Friday. A doctor at an NHS hospital in the UK tries to check his email. Instead, one of the PCs in the room reboots into a scary red screen demanding $300 in Bitcoin.
13 Best Web Development Courses
by Maya Chen - Computer science and programming educator at Boot.dev
Compare the best web development courses for 2026. Explore platforms, skills, pricing, and paths to become a frontend or backend developer.
12 Best Ways to Learn JavaScript
by Maya Chen - Computer science and programming educator at Boot.dev
JavaScript is one of the best languages to learn, powering 98% of websites. Build in-demand skills whether you're a beginner or an experienced developer.
Open Source Maintainers Are Crashing Out
by Boot.dev Team - Programming course authors and video producers
Open source is a safe, sustainable development model. Right?
GitHub Keeps Going Down
by Boot.dev Team - Programming course authors and video producers
On February 9th, 2026, GitHub went down.
The AI Land Grab Looks Familiar
by Boot.dev Team - Programming course authors and video producers
In May of 2013, Yahoo announced plans to buy Tumblr for 1.1 billion dollars. Yahoo's CEO, Marissa Mayer, stood in front of the press and said, "We promise not to screw it up".
The Boot.dev Beat. May 2026
by Lane Wagner - Boot.dev co-founder and backend engineer
April was a polish-heavy month for us here at Boot.dev. We shipped many small improvements to the lesson experience, added Custom Learning Paths, made the Training Grounds easier to navigate, and cleaned up mobile UX annoyances.
Nvidia CEO: AI Doomers Could Cause a Software Engineer Shortage
by Lane Wagner - Boot.dev co-founder and backend engineer
It feels like every week Dario (Anthropic's CEO) is yelling about how AI is going to destroy white-collar jobs, particularly software engineering jobs. Well, in April 2026, about 4 years into the "in 6 weeks, AI is taking your coding job" cycle, Nvidia CEO Jensen Huang is finally talking about the potential consequences of that narrative:
The Boot.dev Beat. April 2026
by Lane Wagner - Boot.dev co-founder and backend engineer
March was a monster month. We shipped the new DevOps learning path (18 DevOps courses!), 2 brand new courses, upgraded the in-browser Python coding experience, and made Boot.dev noticeably better on phones.
Git Reset: Undo Commits With --soft and --hard
by ThePrimeagen - Ex-Netflix engineer, NeoVim ricer, and Git rebaser
If you've ever made a commit and immediately thought "noooope", then git reset is what you need. It's one of the most useful Git commands for undoing work, but it's also one of the easiest to misuse. The --soft version is usually safe and predictable. The --hard version is powerful and can absolutely nuke your local changes.
Gitignore Patterns: What to Ignore and Why
by ThePrimeagen - Ex-Netflix engineer, NeoVim ricer, and Git rebaser
Many devs adopt the git add . (yolo, just yeet it all into the commit) workflow. It is fast, simple, and usually correct. But eventually you'll have files in your repo directory that should never be committed: secrets, generated artifacts, dependency folders, and random local junk. That's what .gitignore is for.
Git Rebase: Keep History Linear Without Merge Commits
by ThePrimeagen - Ex-Netflix engineer, NeoVim ricer, and Git rebaser
If git merge feels noisy, that's because it can be. Lots of noisy merge commits make history harder to scan, especially when you're just trying to understand what actually changed. git rebase takes a different approach: instead of creating a merge commit, it replays your branch commits on top of the latest base commit so your history stays clean and linear.
Git Remote: Add Origin, Fetch, and Merge Remote Branches
by ThePrimeagen - Ex-Netflix engineer, NeoVim ricer, and Git rebaser
Git is distributed, which means your repo and my repo can both be valid "sources of truth". In practice, teams usually pick one remote as the shared source (often GitHub) and sync local work against it... but that's just a convention. Let's dig into how syncing Git repositories to GitHub works, and how that's just one way to work with Git.
