Boot.dev Blog
JavaScript vs Java - Differences, Similarities, and History
by Lane Wagner - Boot.dev co-founder and backend engineer
The naming of Java and JavaScript confuses many new programmers. They sound so similar, so one might think they have the same use-cases, similar properties, or maybe the same company created both languages. None of those assumptions are true! JavaScript is primarily used as a front-end in-the-browser language, like how we use it for boot.dev's courses. Java has been used for everything from games, to desktop apps, to backend APIs. Let's go over the differences between JavaScript vs Java in this quick read.
Top Web Development Programming Languages; A Comparison
by Lane Wagner - Boot.dev co-founder and backend engineer
The software development industry is growing at a break-neck pace. Currently, there are close to 19 million software developers in the world, and this number is expected to double by 2030.
Base64 vs Base58 Encoding
by Lane Wagner - Boot.dev co-founder and backend engineer
Base64 is one of the most popular encoding formats for representing data. Have some binary data? Base64 encodes it for convenient readability and parsing. Base58 is just another encoding format (with 58 characters instead of 64, and has gained popularity largely due to Bitcoin and other cryptocurrencies. Also, if you came here confused, encryption and encoding are not the same! Take a look at this article for more information on encryption vs encoding.
Learn Go Fast - Top Courses and Resources
by Lane Wagner - Boot.dev co-founder and backend engineer
Want to learn Go fast? The good news is that Go is one of the simplest programming languages out there. It was designed to have a compact feature set, which means you can learn it much faster than most other languages.
Best Practices for Commenting Code
by Lane Wagner - Boot.dev co-founder and backend engineer
I often hear that we need more and better comments in the code we write. In my experience, we frequently need better comments, we rarely need more, and we sometimes need less. Before you crucify me for my sacrilege, let me explain by giving you some of the "rules of thumb" I use for deciding when I should add a comment to my code.
How to Restart All Pods in a Kubernetes Namespace
by Lane Wagner - Boot.dev co-founder and backend engineer
Where I work, we use a repo-per-namespace setup and so it often happens that I want to restart all pods and deployments in a single Kubernetes namespace. Maybe I want to see the startup logs, or maybe I want to shut down production for a few seconds. Don't question my motives.
Constants in Go
by Lane Wagner - Boot.dev co-founder and backend engineer
Constants can be confusing and easy to misuse in Go if you are coming from an untyped language. Let's take a look at some of the nuanced details of how they work in Go. It's probably unsurprising, but Go's constants are almost nothing like JavaScript's bastardized version of the concept.
6 Things to Avoid When Contributing to Open-Source Projects
by Lane Wagner - Boot.dev co-founder and backend engineer
With #HacktoberFest being a thing, there has been an influx of devs desperately trying to contribute to their favorite Open-Source projects. Unfortunately, many of these pull requests have been a waste of time, with the maintainers ultimately unable to use the contributions. Maintainers don't want to waste their time reviewing bad PRs, and contributors don't want to waste their time writing code that will never make it into production.
Functional Programming Course Released
by Lane Wagner - Boot.dev co-founder and backend engineer
We just launched our new "Learn Functional Programming" course, and frankly, I'm a bit exhausted (more on that later). This course is an interactive code-in-the-browser course that teaches the basics of FP in JavaScript and PureScript.
How To Correctly Validate Passwords - Most Websites Do It Wrong
by Lane Wagner - Boot.dev co-founder and backend engineer
You've probably visited a site and attempted to sign-up only to be met with errors such as:
6 Tips for Hiring Developers
by Lane Wagner - Boot.dev co-founder and backend engineer
So you want to hire a developer? Or maybe you just want to know what is going through the heads of employers like myself. Either way, let's dive right into what I think are best practices for hiring programmers. I've found my opinions to be quite controversial, but I do put them into practice in my own career and at boot.dev. When you inevitably disagree with some of my points, feel free to @ me.
Running Rust in the Browser with Web Assembly
by Lane Wagner - Boot.dev co-founder and backend engineer
I've recently been working on getting Rust support in the boot.dev app. To write a more engaging course, I want students to be able to write and execute code right in the browser. As I've learned from my previous posts on this topic, the easiest way to sandbox code execution on a server is to not execute code on a server. Enter Web Assembly, stage left.
Top 4 Coding Languages To Learn For Beginners in 2026
by Lane Wagner - Boot.dev co-founder and backend engineer
Coding languages, tools, and frameworks are in a constant state of flux, improvement, deprecation, and popularity swings. Let's take a look at the top 4 languages for new programmers to learn in 2026.
Education's Shameful State of the Art
by Lane Wagner - Boot.dev co-founder and backend engineer
Higher education had its problems before Covid-19. Now the crippling inefficiencies, backbreaking cost, and lack of alternatives are being forced into the spotlight. We're working on what will eventually grow into the alternative to overpriced universities and ineffective Bootcamps at boot.dev. In the meantime, let's take a look at education's biggest problems, and how we can solve them.
How to Structure a Golang Project
by Lane Wagner - Boot.dev co-founder and backend engineer
I lead a team that's responsible for anywhere from 15-25 Go microservices at any given time. We're constantly creating new services and libraries, so it's become important to streamline the project creation process. I'm mostly writing this article for myself as a kind of self-documentation, but hopefully, you'll find it useful as you create new Go projects for yourself.
What Is Entropy In Cryptography?
by Lane Wagner - Boot.dev co-founder and backend engineer
If you're familiar with the laws of thermodynamics, you may recognize the second law as the one that deals with entropy. In the realm of physics, entropy represents the degree of disorder in a system. Because systems tend to degrade over time, thermodynamic energy becomes less available to do mechanical work.
How to Make a Simple Vue Custom Select Component
by Lane Wagner - Boot.dev co-founder and backend engineer
Creating a custom select tag with its own styling is notoriously difficult. Sometimes it's impossible to build from scratch without a combination of styled divs and custom JavaScript. In this article, you'll learn how to create a custom select component in Vue that can be easily styled with your own CSS. In fact, it's the same component we use in production on boot.dev, and you can see it in action on our JavaScript playground.
Running Python in the Browser with Web Assembly
by Lane Wagner - Boot.dev co-founder and backend engineer
I've been wanting to expand boot.dev's curriculum, and one of the most requested programming languages has been Python. Because my courses allow students to write and execute code right in the web browser, I decided to look into existing projects that allow a Python interpreter to run in the browser using Web Assembly. I settled on a tool called Pyodide, which does just that.
Running Go in the Browser with WASM and Web Workers
by Lane Wagner - Boot.dev co-founder and backend engineer
We've recently made big changes to how we execute Go in the browser on boot.dev and want to explain the enhancements. Web Workers are the reason we've been able to solve some of the serious browser-related coding problems that were holding us back. Consider this article a sequel to Running Go in the Browser with Web Assembly.
Practical Patterns for Technical Writing
by Ben Barten
Writing technical documents like API or architectural documentation which exceeds a simple flow diagram can be a daunting task. If you have some experience with technical documents, you will probably agree that there is nothing more frustrating than bad documentation.
Elliptic Curve Cryptography: A Basic Introduction
by Lane Wagner - Boot.dev co-founder and backend engineer
Elliptic Curve Cryptography (ECC) is a modern public-key encryption technique famous for being smaller, faster, and more efficient than incumbents. Bitcoin, for example, uses ECC as its asymmetric cryptosystem because it is so lightweight. The mathematical entity that makes all of this possible is the elliptic curve, so read on to learn how these curves enable some of the most advanced cryptography in the world.
"Learn Algorithms" Course Released
by Lane Wagner - Boot.dev co-founder and backend engineer
We've launched our new Data Structures and Algorithms course! We wrote this course for engineers who need a refresher on computer science basics or want to learn the fundamentals for the first time.
Is AES-256 Quantum Resistant?
by Lane Wagner - Boot.dev co-founder and backend engineer
With quantum computers getting more powerful each year, many worry about the safety of modern encryption standards. As quantum computers improve in performance and the number of qubits used for calculations increases, current cryptosystems are under threat. AES-256 is one of the most powerful symmetric ciphers, but will it remain secure in a post-quantum world?
How to Make Pure Functions in Golang
by Lane Wagner - Boot.dev co-founder and backend engineer
Pure functions are often hyped up in the JavaScript world, probably because of the abundance of stateful front end applications. While pure functions have their downsides (i.e. inconvenience, potentially large argument lists), they should be used as much as reasonably possible.
Guard Clauses - How to Clean up Conditionals
by Lane Wagner - Boot.dev co-founder and backend engineer
One of the first concepts new developers learn is the if/else statement. If/else statements are the most common way to execute conditional logic. However, complex and nested if/else statements can quickly become a cognitive burden and compromise the readability of a program.
