<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Boot.dev Blog</title><link>https://boot.dev/blog/</link><description>Recent content on Boot.dev Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 08 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://boot.dev/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>The Boot.dev Beat. April 2026</title><link>https://boot.dev/blog/news/bootdev-beat-2026-04/</link><pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2026-04/</guid><description>&lt;p&gt;March was a monster month. We shipped the new DevOps learning path (18 DevOps courses!), 2 &lt;em&gt;brand&lt;/em&gt; new courses, upgraded the in-browser Python coding experience, and made Boot.dev noticeably better on phones.&lt;/p&gt;</description></item><item><title>Git Rebase: Keep History Linear Without Merge Commits</title><link>https://boot.dev/blog/devops/git-rebase/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/git-rebase/</guid><description>&lt;p&gt;If &lt;code&gt;git merge&lt;/code&gt; feels noisy, that&amp;rsquo;s because it can be. Lots of noisy merge commits make history harder to scan, especially when you&amp;rsquo;re just trying to understand what actually changed. &lt;code&gt;git rebase&lt;/code&gt; 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.&lt;/p&gt;</description></item><item><title>Git Remote: Add Origin, Fetch, and Merge Remote Branches</title><link>https://boot.dev/blog/devops/git-remote/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/git-remote/</guid><description>&lt;p&gt;Git is &lt;em&gt;distributed&lt;/em&gt;, which means your repo and my repo can both be valid &amp;ldquo;sources of truth&amp;rdquo;. In practice, teams usually pick one remote as the shared source (often GitHub) and sync local work against it&amp;hellip; but that&amp;rsquo;s just a convention. Let&amp;rsquo;s dig into how syncing Git repositories to GitHub works, and how that&amp;rsquo;s just one way to work with Git.&lt;/p&gt;</description></item><item><title>Git Reset: Undo Commits With --soft and --hard</title><link>https://boot.dev/blog/devops/git-reset/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/git-reset/</guid><description>&lt;p&gt;If you&amp;rsquo;ve ever made a commit and immediately thought &amp;ldquo;noooope&amp;rdquo;, then &lt;code&gt;git reset&lt;/code&gt; is what you need. It&amp;rsquo;s one of the most useful Git commands for undoing work, but it&amp;rsquo;s also one of the easiest to misuse. The &lt;code&gt;--soft&lt;/code&gt; version is usually safe and predictable. The &lt;code&gt;--hard&lt;/code&gt; version is powerful and can absolutely nuke your local changes.&lt;/p&gt;</description></item><item><title>GitHub + Git: Push, Pull, and Pull Requests</title><link>https://boot.dev/blog/devops/git-github/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/git-github/</guid><description>&lt;p&gt;Git is the open-source command-line version control tool, and GitHub is basically just a collaboration on top of it. You can absolutely use Git without GitHub, but for most teams, GitHub (or something similar) is where a lot of the collaboration happens. Linus Torvalds created Git, and&amp;hellip; well we don&amp;rsquo;t talk about who owns GitHub these days&amp;hellip;&lt;/p&gt;</description></item><item><title>Gitignore Patterns: What to Ignore and Why</title><link>https://boot.dev/blog/devops/gitignore-patterns/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/gitignore-patterns/</guid><description>&lt;p&gt;Many devs adopt the &lt;code&gt;git add .&lt;/code&gt; (yolo, just yeet it all into the commit) workflow. It is fast, simple, and &lt;em&gt;usually&lt;/em&gt; correct. But eventually you&amp;rsquo;ll have files in your repo directory that should never be committed: secrets, generated artifacts, dependency folders, and random local junk. That&amp;rsquo;s what &lt;code&gt;.gitignore&lt;/code&gt; is for.&lt;/p&gt;</description></item><item><title>Git Branching: Create, Switch, and Manage Branches</title><link>https://boot.dev/blog/devops/git-branching/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/git-branching/</guid><description>&lt;p&gt;A &lt;a href="https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell"&gt;Git branch&lt;/a&gt; allows you to keep track of different changes separately. For example, you can create a new branch to experiment with changing a color scheme without affecting your primary branch. If you like the changes, you &lt;a href="https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"&gt;merge&lt;/a&gt; (or rebase) the branch back into &lt;code&gt;main&lt;/code&gt;. If you don&amp;rsquo;t, you delete it.&lt;/p&gt;</description></item><item><title>Git Config: Set Your Name, Email, and Branch Defaults</title><link>https://boot.dev/blog/devops/git-config/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/git-config/</guid><description>&lt;p&gt;Git stores author information so that when you&amp;rsquo;re making a commit it can track &lt;em&gt;who&lt;/em&gt; made the change. Here&amp;rsquo;s how all that configuration actually works.&lt;/p&gt;</description></item><item><title>Git for Beginners: Install It and Make Your First Commit</title><link>https://boot.dev/blog/devops/git-for-beginners/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/git-for-beginners/</guid><description>&lt;p&gt;&lt;a href="https://git-scm.com/"&gt;Git&lt;/a&gt; is &lt;em&gt;the&lt;/em&gt; distributed &lt;a href="https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control"&gt;version control system&lt;/a&gt; (VCS). Nearly every developer in the world uses it to manage their code. It has quite a monopoly on VCS. Developers use Git to:&lt;/p&gt;</description></item><item><title>Git Internals: How Git Stores Data and History on Disk</title><link>https://boot.dev/blog/devops/git-internals/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/git-internals/</guid><description>&lt;p&gt;Let&amp;rsquo;s take a look at some of git&amp;rsquo;s &amp;ldquo;plumbing&amp;rdquo;, that is, the commands that are mostly used for working &amp;ldquo;under-the-hood&amp;rdquo; with Git, and that you&amp;rsquo;ll only use if you&amp;rsquo;re trying to debug your Git files themselves.&lt;/p&gt;</description></item><item><title>Git Merge: Combine Branches and Understand Fast-Forwards</title><link>https://boot.dev/blog/devops/git-merge/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/git-merge/</guid><description>&lt;p&gt;&amp;ldquo;What&amp;rsquo;s the point of having multiple branches?&amp;rdquo; you might ask. They&amp;rsquo;re most often used to safely make changes without affecting your (or your &lt;em&gt;team&amp;rsquo;s&lt;/em&gt;) primary branch. Once you&amp;rsquo;re happy with your changes, you&amp;rsquo;ll want to &lt;a href="https://git-scm.com/docs/git-merge"&gt;merge&lt;/a&gt; them back into &lt;code&gt;main&lt;/code&gt; so that they make their way into the final product.&lt;/p&gt;</description></item><item><title>Clean Code in Python: Write Readable, Maintainable Code</title><link>https://boot.dev/blog/python/python-clean-code/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-clean-code/</guid><description>&lt;p&gt;If you ask ten developers for a definition of &lt;strong&gt;clean code&lt;/strong&gt;, you will get twelve answers and one argument in the comments. Still, most of us agree on the practical goal: write code that other humans can understand quickly and change safely. That matters way more than writing clever one-liners that only make sense to your past self at 2 AM.&lt;/p&gt;</description></item><item><title>Python Classes and Objects: A Practical Beginner Guide</title><link>https://boot.dev/blog/python/python-classes-and-objects/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-classes-and-objects/</guid><description>&lt;p&gt;If classes and objects still feel slippery, you&amp;rsquo;re not crazy. Most tutorials either go too abstract or drown you in weird examples. The practical way to learn OOP is simple: understand how data and behavior stick together, then build small objects that are easy to reason about.&lt;/p&gt;</description></item><item><title>Python Encapsulation vs Abstraction: What Matters</title><link>https://boot.dev/blog/python/python-encapsulation-vs-abstraction/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-encapsulation-vs-abstraction/</guid><description>&lt;p&gt;If classes and objects are the &amp;ldquo;what&amp;rdquo; of OOP, encapsulation and abstraction are the &amp;ldquo;how.&amp;rdquo; They&amp;rsquo;re how you keep code understandable after the project gets big, your team grows, and six months pass. They sound similar because they&amp;rsquo;re close cousins, but they solve slightly different pains.&lt;/p&gt;</description></item><item><title>Python Inheritance: When to Use It and Skip It</title><link>https://boot.dev/blog/python/python-inheritance/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-inheritance/</guid><description>&lt;p&gt;Inheritance is one of those OOP tools that feels magical on day one and dangerous on day thirty. Used well, it removes duplication and keeps models clean. Used badly, it creates class trees no one wants to touch.&lt;/p&gt;</description></item><item><title>Python Polymorphism: One Interface, Many Behaviors</title><link>https://boot.dev/blog/python/python-polymorphism/</link><pubDate>Fri, 20 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-polymorphism/</guid><description>&lt;p&gt;Polymorphism is where OOP starts to feel truly powerful. You stop writing giant &lt;code&gt;if type == ...&lt;/code&gt; trees and start trusting shared interfaces. Different objects respond to the same method call in different ways, and your calling code stays clean.&lt;/p&gt;</description></item><item><title>Boot.dev's New Logo Unveiled</title><link>https://boot.dev/blog/news/new-bootdev-logos/</link><pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/new-bootdev-logos/</guid><description>&lt;p&gt;We created our old blue/black/gray logo years ago before we redsigned the site to its new gold/brown/blue textured look and feel. As such, the old logo just doesn&amp;rsquo;t fit at all with the current state of the brand (as much as we loved it). So, we decided to work with an incredible designer (thanks &lt;a href="https://dribbble.com/dusanklepic"&gt;Dusan&lt;/a&gt;!) to create a new logo that really captures what Boot.dev has become over the years.&lt;/p&gt;</description></item><item><title>12+ Best online coding bootcamps [2026]</title><link>https://boot.dev/blog/education/best-online-coding-bootcamps-2026/</link><pubDate>Sat, 14 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/best-online-coding-bootcamps-2026/</guid><description>&lt;p&gt;AI isn&amp;rsquo;t replacing software developers - it&amp;rsquo;s changing how they work. And the demand for people who can actually build and ship software isn&amp;rsquo;t slowing down. According to the &lt;a href="https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm"&gt;U.S. Bureau of Labor Statistics&lt;/a&gt;, employment for software developers is projected to grow 15 percent from 2024 to 2034 - much faster than the roughly 3 percent average growth projected for all occupations.&lt;/p&gt;</description></item><item><title>16+ Best online coding courses [2026]</title><link>https://boot.dev/blog/education/best-online-coding-courses-2026/</link><pubDate>Sat, 14 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/best-online-coding-courses-2026/</guid><description>&lt;p&gt;Learning to code can feel like a daunting task, so dense you do not even know where to start. But every great hero has to start their quest somewhere. So it is with coding, and the skills gained on the coding journey can make a huge difference in your real-world goals.&lt;/p&gt;</description></item><item><title>Backend Developer Roadmap</title><link>https://boot.dev/blog/backend/backend-developer-roadmap/</link><pubDate>Sat, 14 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/backend-developer-roadmap/</guid><description>&lt;p&gt;So you&amp;rsquo;ve decided you want to learn backend development so you can get a job - congratulations! Many self-taught coders have a hard time deciding between all the various programming job options, but it&amp;rsquo;s much easier to learn effectively if you have a clear backend developer roadmap to follow.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. March 2026</title><link>https://boot.dev/blog/news/bootdev-beat-2026-03/</link><pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2026-03/</guid><description>&lt;p&gt;February was stacked with quality-of-life work and platform upgrades. A lot of this work is infrastructure-heavy and not quite as flashy, but it makes Boot.dev faster, sturdier, and more fun to use. Also: the &lt;strong&gt;DevOps learning path is very close&lt;/strong&gt;. The AWS and logging courses are getting their final polish and should be landing any week now.&lt;/p&gt;</description></item><item><title>Python Exceptions: Try, Except, and Raise</title><link>https://boot.dev/blog/python/python-exceptions/</link><pubDate>Sun, 08 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-exceptions/</guid><description>&lt;p&gt;Python has two kinds of errors: &lt;strong&gt;syntax errors&lt;/strong&gt; that prevent your code from running at all, and &lt;strong&gt;exceptions&lt;/strong&gt; that happen while your code is executing. Knowing how to handle exceptions with &lt;code&gt;try&lt;/code&gt;/&lt;code&gt;except&lt;/code&gt; and how to raise your own is a core skill for writing reliable programs.&lt;/p&gt;</description></item><item><title>Python Sets: What They Are and How to Use Them</title><link>https://boot.dev/blog/python/python-sets/</link><pubDate>Sat, 07 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-sets/</guid><description>&lt;p&gt;Sets are like &lt;a href="https://boot.dev/blog/python/python-lists/"&gt;lists&lt;/a&gt;, but with two key differences: they are &lt;em&gt;unordered&lt;/em&gt; and they guarantee &lt;em&gt;uniqueness&lt;/em&gt;. Only one of each value can exist in a set. If you need to track unique items or remove duplicates, sets are the tool for the job.&lt;/p&gt;</description></item><item><title>Python Dictionaries: How to Create and Use Them</title><link>https://boot.dev/blog/python/python-dictionaries/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-dictionaries/</guid><description>&lt;p&gt;Dictionaries are one of Python&amp;rsquo;s most useful data structures. Instead of accessing values by a numeric index like you do with &lt;a href="https://boot.dev/blog/python/python-lists/"&gt;lists&lt;/a&gt;, you access them by a &lt;strong&gt;key&lt;/strong&gt; — usually a string. If lists are like numbered shelves, dictionaries are like labeled drawers.&lt;/p&gt;</description></item><item><title>Python Lists: A Complete Beginner Guide</title><link>https://boot.dev/blog/python/python-lists/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-lists/</guid><description>&lt;p&gt;A natural way to organize and store data is in a list. Some languages call them &amp;ldquo;arrays&amp;rdquo;, but in Python we just call them &lt;strong&gt;lists&lt;/strong&gt;. Think of all the apps you use and how many of the items in them are organized into lists — a social media feed is a list of posts, an online store is a list of products, the state of a chess game is a list of moves.&lt;/p&gt;</description></item><item><title>Python Loops: For, While, Break, and Continue</title><link>https://boot.dev/blog/python/python-loops/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-loops/</guid><description>&lt;p&gt;Loops let you run the same code over and over without rewriting it each time. Whether you need to count through numbers, process items in a &lt;a href="https://boot.dev/blog/python/lists/"&gt;list&lt;/a&gt;, or keep going until a condition changes, Python gives you &lt;code&gt;for&lt;/code&gt; loops and &lt;code&gt;while&lt;/code&gt; loops to handle it.&lt;/p&gt;</description></item><item><title>Python If Statements: If, Else, and Elif</title><link>https://boot.dev/blog/python/python-if-else/</link><pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-if-else/</guid><description>&lt;p&gt;Every useful program needs to make decisions. Python&amp;rsquo;s &lt;code&gt;if&lt;/code&gt; statement is how you tell your code to do one thing or another depending on some condition — and once you understand &lt;code&gt;if&lt;/code&gt;, &lt;code&gt;elif&lt;/code&gt;, and &lt;code&gt;else&lt;/code&gt;, you can handle just about any branching logic.&lt;/p&gt;</description></item><item><title>Python Math: Operators and Numbers Explained</title><link>https://boot.dev/blog/python/python-math/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-math/</guid><description>&lt;p&gt;Python has excellent built-in support for math operations — from basic arithmetic to exponents to bitwise logic. You don&amp;rsquo;t need to import anything to do most math in Python, which is one reason it&amp;rsquo;s so popular for everything from backend development to data science.&lt;/p&gt;</description></item><item><title>Python Functions: How to Define and Call Them</title><link>https://boot.dev/blog/python/python-functions/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-functions/</guid><description>&lt;p&gt;&lt;strong&gt;Functions&lt;/strong&gt; allow you to reuse and organize code. Instead of copying and pasting the same logic everywhere, you define it once and call it whenever you need it. They&amp;rsquo;re the most important tool for writing &lt;a href="https://boot.dev/blog/computer-science/dry-code/"&gt;DRY code&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Python Variables: A Complete Beginner Guide</title><link>https://boot.dev/blog/python/variables-in-python/</link><pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/variables-in-python/</guid><description>&lt;p&gt;Variables are how we &lt;em&gt;store&lt;/em&gt; data as our program runs. You&amp;rsquo;re probably already familiar with &lt;em&gt;printing&lt;/em&gt; data by passing it straight into &lt;code&gt;print()&lt;/code&gt;, but variables let us &lt;em&gt;save&lt;/em&gt; that data so we can reuse it and change it before printing it. This guide covers everything you need to know about Python variables: creating them, naming them, and understanding the basic data types they can hold. If you&amp;rsquo;re just getting started, you might also want to know &lt;a href="https://boot.dev/blog/python/why-learn-python/"&gt;why Python is worth learning&lt;/a&gt; in the first place.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. February 2026</title><link>https://boot.dev/blog/news/bootdev-beat-2026-02/</link><pubDate>Wed, 11 Feb 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2026-02/</guid><description>&lt;p&gt;A new year and another record broken! In January a combined 4,016,641 lessons and challenges were completed by you, dear pupils! And to top it off, we&amp;rsquo;re now releasing the much anticipated &lt;a href="https://www.boot.dev/courses/learn-data-visualization-power-bi"&gt;Power BI Course&lt;/a&gt; by none other than Alex the Analyst! I hope you enjoy it.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. January 2026</title><link>https://boot.dev/blog/news/bootdev-beat-2026-01/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2026-01/</guid><description>&lt;p&gt;We&amp;rsquo;re off to an incredible start to 2026. December of 2025 broke a new record with 3,075,904 lessons completed and 82,578 training grounds challenges completed during the month! In January, I&amp;rsquo;m writing this on the 13th, and we&amp;rsquo;re already at 1,657,581 lessons and 47,795 challenges - so &lt;strong&gt;it&amp;rsquo;s&lt;/strong&gt; looking like this is going to be a monster month. Best of luck to you all in the contest of the resolute.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. December 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-12/</link><pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-12/</guid><description>&lt;p&gt;We plan to wrap up 2025 with some important quality of life updates! League placement badges, lesson bookmarks, and major improvements to the Training Grounds are just a few of the highlights. Thanks for learning with us, we&amp;rsquo;re gearing up the platform for a &lt;em&gt;ton&lt;/em&gt; of new courses in 2026.&lt;/p&gt;</description></item><item><title>Supply and Demand Are Broken in Programming Education</title><link>https://boot.dev/blog/jobs/supply-demand-broken-programming-education/</link><pubDate>Mon, 24 Nov 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/supply-demand-broken-programming-education/</guid><description>&lt;p&gt;Markets are efficient, &lt;em&gt;right&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;I understand that every ~10 years we find ourselves in &lt;em&gt;some&lt;/em&gt; sort of stock market bubble, but I do believe that &lt;em&gt;most&lt;/em&gt; markets are &lt;em&gt;mostly&lt;/em&gt; efficient. Everyone out there is looking for a good deal, and despite the well-known irrationalities of human psychology, most of us seem to do a good job of looking out for number one.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. November 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-11/</link><pubDate>Thu, 30 Oct 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-11/</guid><description>&lt;p&gt;Isaac&amp;rsquo;s new Retrieval Augmented Generation (RAG) course is now live! It&amp;rsquo;s a &lt;em&gt;very&lt;/em&gt; in-depth course. It&amp;rsquo;s not for the faint of heart, and it will teach you not just about AI search, but full keyword and semantic search systems as well&amp;hellip; the &amp;ldquo;RAG&amp;rdquo; name actually sells it a bit short.&lt;/p&gt;</description></item><item><title>I'm in Vibe Coding Hell</title><link>https://boot.dev/blog/education/vibe-coding-hell/</link><pubDate>Fri, 10 Oct 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/vibe-coding-hell/</guid><description>&lt;p&gt;When I started thinking about the problems with coding education in 2019, &amp;ldquo;tutorial hell&amp;rdquo; was enemy number one. You&amp;rsquo;d know you were living in it if you:&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. October 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-10/</link><pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-10/</guid><description>&lt;p&gt;Searchable challenges in the Training Grounds, and realtime voice chats with Boots are now a thing. Also, my children and those of half my employees are sick with the flu&amp;hellip; I hope you&amp;rsquo;ve all been able to avoid it!&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. September 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-09/</link><pubDate>Mon, 08 Sep 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-09/</guid><description>&lt;p&gt;The training grounds are LIVE! 21,000 challenges have been generated between the launch and as I write this, and we&amp;rsquo;re just getting started. Big things to come.&lt;/p&gt;</description></item><item><title>Boot.dev Launches the Training Grounds</title><link>https://boot.dev/blog/news/training-grounds-launch/</link><pubDate>Wed, 27 Aug 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/training-grounds-launch/</guid><description>&lt;p&gt;We&amp;rsquo;ve always said Boot.dev is fun&amp;hellip; but we&amp;rsquo;ve never said it&amp;rsquo;s &lt;em&gt;easy&lt;/em&gt;.&lt;/p&gt;

&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;" &gt;
 &lt;iframe src="https://www.youtube.com/embed/GxN3aWszGU4" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;div class="flex justify-center flex-col items-center m-4"&gt;
 &lt;p class="text-sm text-gray-400"&gt;
 &lt;a href="https://www.youtube.com/@bootdotdev?sub_confirmation=1" target="_blank" class="textlink"&gt;
 Subscribe to my YouTube channel&lt;/a&gt; if this video was helpful!
 &lt;/p&gt;</description></item><item><title>The Boot.dev Beat. August 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-08/</link><pubDate>Mon, 04 Aug 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-08/</guid><description>&lt;p&gt;We ran the biggest hackathon I&amp;rsquo;ve ever been a part of (500+ participants!) and saw some &lt;em&gt;incredible&lt;/em&gt; projects come out of it. Thanks to everyone that participated, I&amp;rsquo;m excited for the next one!&lt;/p&gt;</description></item><item><title>2025 Hackathon</title><link>https://boot.dev/blog/news/hackathon-2025/</link><pubDate>Fri, 25 Jul 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/hackathon-2025/</guid><description>&lt;p&gt;The 2025 Boot.dev Hackathon has been completed! We had an amazing turnout this year, with over 500 participants across two categories: Amateur and Pro. The projects were incredible, and the competition was fierce.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. July 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-07/</link><pubDate>Wed, 09 Jul 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-07/</guid><description>&lt;p&gt;This month we were heads down building a lot of background stuff for big releases that are coming up - but we still did manage to get a few new features out the door!&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. June 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-06/</link><pubDate>Tue, 10 Jun 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-06/</guid><description>&lt;p&gt;We&amp;rsquo;ve capitulated into the vibe coding era? Well&amp;hellip; not really. But it&amp;rsquo;s cool to understand how AI agents like Cursor and Claude Code work under the hood.&lt;/p&gt;</description></item><item><title>Are Boot.dev Courses Free?</title><link>https://boot.dev/blog/education/is-boot-dev-free/</link><pubDate>Fri, 23 May 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/is-boot-dev-free/</guid><description>&lt;p&gt;Sometimes folks get confused and wonder, are &lt;a href="https://www.boot.dev"&gt;Boot.dev&lt;/a&gt;&amp;rsquo;s programming courses really &lt;em&gt;free&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;First of all, the simple answer is &lt;strong&gt;yes&lt;/strong&gt;, all of the &lt;em&gt;content&lt;/em&gt; on Boot.dev is free. That means that all the lesson explanations, the explainer videos, and the starter code is free. You can get all of it (not just the first few chapters, or the first course) without ever becoming a paid member.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. May 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-05/</link><pubDate>Sun, 11 May 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-05/</guid><description>&lt;p&gt;Our biggest content release &lt;strong&gt;ever&lt;/strong&gt; just dropped: the complete backend learning path, but now in Python and TypeScript! This is a massive update that we&amp;rsquo;ve been working on for a year, I hope you enjoy it!&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. April 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-04/</link><pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-04/</guid><description>&lt;p&gt;&lt;a href="https://www.boot.dev/lore/the-lord-of-the-mire"&gt;The Lord of the Mire&lt;/a&gt; has been the hardest boss yet (by far), weighing it with &lt;code&gt;150,000,000&lt;/code&gt; HP. The community rallied during the event, dealing a whopping &lt;code&gt;132,282,452&lt;/code&gt; damage in total, but not quite enough to bring him down.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. March 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-03/</link><pubDate>Fri, 07 Mar 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-03/</guid><description>&lt;p&gt;Our new JavaScript course is &lt;em&gt;live&lt;/em&gt;! ThePrimeagen&amp;rsquo;s course on building your own HTTP server from scratch is just around the corner, and the TypeScript track couldn&amp;rsquo;t be closer.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. February 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-02/</link><pubDate>Tue, 04 Feb 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-02/</guid><description>&lt;p&gt;It&amp;rsquo;s official: TJ&amp;rsquo;s C course walkthrough was released before GTA6! This is a great month for Boot.dev, and for humanity as a whole.&lt;/p&gt;</description></item><item><title>18 Months with GPT-4: Now Can I Fire my Developers?</title><link>https://boot.dev/blog/computer-science/18-months-with-gpt-4/</link><pubDate>Fri, 17 Jan 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/18-months-with-gpt-4/</guid><description>&lt;p&gt;As the founder of a company where my largest static expense is engineering salaries, I&amp;rsquo;m over here just chomping at the bit, eagerly awaiting the moment I can fire everyone and line my pockets with all those juicy savings. See, about one year ago, I wrote an article titled, &lt;a href="https://boot.dev/blog/computer-science/ai-taking-programming-jobs"&gt;&amp;ldquo;9 Months with GPT-4: Can I Fire my Developers Yet?&amp;rdquo;&lt;/a&gt; and I thought I&amp;rsquo;d give you a little update on Allan&amp;rsquo;s employment status.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. January 2025</title><link>https://boot.dev/blog/news/bootdev-beat-2025-01/</link><pubDate>Thu, 02 Jan 2025 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2025-01/</guid><description>&lt;p&gt;Fastest boss defeat in the history of Boot.dev, a new AWS course, embers are live, and my children just won&amp;rsquo;t stop being sick for more than 4 days at a time. Win some, lose some.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. December 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-12/</link><pubDate>Fri, 06 Dec 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-12/</guid><description>&lt;p&gt;Potions got a rework, solutions were added to the Git course, and I&amp;rsquo;ve been sick for like 10 days straight&amp;hellip; hope your Holidays are staying healthier than mine!&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. November 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-11/</link><pubDate>Tue, 05 Nov 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-11/</guid><description>&lt;p&gt;Mortrunk has fallen. The community rallied in our Halloween boss fight spectacular. Well done. The Boots&amp;rsquo; aura XP boost even hit 2x for a while there.&lt;/p&gt;</description></item><item><title>The State of Learning to Code - 2026 Report</title><link>https://boot.dev/blog/education/state-of-learning-to-code-2024/</link><pubDate>Mon, 21 Oct 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/state-of-learning-to-code-2024/</guid><description>&lt;p&gt;I&amp;rsquo;ve been building a learning curriculum for backend developers for the last 3 years, but I&amp;rsquo;ve mostly been relying on qualitative feedback and my own intuitions.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. October 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-10/</link><pubDate>Mon, 07 Oct 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-10/</guid><description>&lt;p&gt;The &amp;ldquo;learn computer science basics&amp;rdquo; section of the backend developer learning path is now complete! We have no big plans to make serious modifications (tbh I always say this though, so idk). To be clear, that&amp;rsquo;s the first half of the track complete - the first 13 courses up to the personal project.&lt;/p&gt;</description></item><item><title>Build a Web Server in Go</title><link>https://boot.dev/blog/golang/learn-http-servers-golang-deprecated/</link><pubDate>Mon, 23 Sep 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/learn-http-servers-golang-deprecated/</guid><description>&lt;p&gt;Let&amp;rsquo;s build a fully-fledged HTTP server from scratch in Go. This course assumes you already have a solid understanding of Go. If you don&amp;rsquo;t, take a step back and take our &lt;a href="https://www.boot.dev/courses/learn-golang"&gt;Go course&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Build a Blog Aggregator in Go</title><link>https://boot.dev/blog/golang/build-blog-aggregator-golang-deprecated/</link><pubDate>Tue, 17 Sep 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/build-blog-aggregator-golang-deprecated/</guid><description>&lt;p&gt;We&amp;rsquo;re going to build an &lt;a href="https://en.wikipedia.org/wiki/RSS"&gt;RSS&lt;/a&gt; feed aggregator in Go! It&amp;rsquo;s a web server that allows clients to:&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. September 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-09/</link><pubDate>Wed, 04 Sep 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-09/</guid><description>&lt;p&gt;The arcanum was &lt;em&gt;soooooo&lt;/em&gt; close to defeating the Hound of Zaggoroth in this month&amp;rsquo;s boss fight. &lt;code&gt;88,297,514&lt;/code&gt; xp was gained over the course of the event, and &lt;code&gt;90,000,000&lt;/code&gt; was all that was needed to secure victory. It&amp;rsquo;s a shame, but we can&amp;rsquo;t win them all. The hound will return soon.&lt;/p&gt;</description></item><item><title>Is there a course on &lt;insert technology&gt;?</title><link>https://boot.dev/blog/education/is-there-a-course-on/</link><pubDate>Fri, 26 Jul 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/is-there-a-course-on/</guid><description>&lt;p&gt;In the Boot.dev Discord server, this question appears now and then. Will there be a Rust course? Why is there no Django course? Can you add a Spring Boot course? Maybe there will be in the future. Maybe not. It&amp;rsquo;s impossible to cover everything that everyone wants. But that&amp;rsquo;s no reason to not do the curriculum. Even universities with their 3-4 year degrees only cover a fraction of all there is. Instead, it prepares you to specialize and learn what you want.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. August 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-08/</link><pubDate>Fri, 26 Jul 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-08/</guid><description>&lt;p&gt;I&amp;rsquo;m writing this one a bit early because I&amp;rsquo;m going out of town next week&amp;hellip; better early than late?&lt;/p&gt;</description></item><item><title>Are Pointers in Go Faster Than Values?</title><link>https://boot.dev/blog/golang/pointers-faster-than-values/</link><pubDate>Fri, 19 Jul 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/pointers-faster-than-values/</guid><description>&lt;p&gt;I was recently working on a lesson about pointer performance for Boot.dev&amp;rsquo;s &lt;a href="https://www.boot.dev/learn/learn-golang"&gt;Golang course&lt;/a&gt; when I found myself repeating some advice I&amp;rsquo;ve given many times before.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. July 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-07/</link><pubDate>Wed, 10 Jul 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-07/</guid><description>&lt;p&gt;&lt;strong&gt;One million lessons.&lt;/strong&gt; Well, to be precise, you have all completed &lt;strong&gt;1,122,050 lessons just in June&lt;/strong&gt;. That&amp;rsquo;s &lt;em&gt;nuts&lt;/em&gt;. I was so preoccupied with how cool it is that you all are learning so much that I&amp;rsquo;m late on this newsletter. Sorry &amp;lsquo;bout that.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. June 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-06/</link><pubDate>Wed, 05 Jun 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-06/</guid><description>&lt;p&gt;&lt;a href="https://www.boot.dev/courses/learn-git"&gt;ThePrimeagen&amp;rsquo;s Git course&lt;/a&gt; is live. A new boss battle is on the horizon, and we&amp;rsquo;ve made massive speed improvements to the site. Hope you enjoy!&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. May 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-05/</link><pubDate>Wed, 01 May 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-05/</guid><description>&lt;p&gt;A new Pub/Sub Architecture course, lootable chests, and &lt;a href="https://www.boot.dev/courses/learn-git"&gt;ThePrimeagen&amp;rsquo;s Git course&lt;/a&gt; is only a couple weeks away. It&amp;rsquo;s been a good April. glhf.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. April 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-04/</link><pubDate>Wed, 03 Apr 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-04/</guid><description>&lt;p&gt;Pythogoras returned in our second community-wide boss battle. He was vanquished, and there was much rejoicing. Happy coding.&lt;/p&gt;</description></item><item><title>Maybe You Do Need Kubernetes</title><link>https://boot.dev/blog/education/maybe-you-do-need-kubernetes/</link><pubDate>Fri, 08 Mar 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/maybe-you-do-need-kubernetes/</guid><description>&lt;p&gt;Theo has this great video on Kubernetes, currently titled &lt;a href="https://www.youtube.com/watch?v=H5sPGruv2yc"&gt;&amp;ldquo;You Don&amp;rsquo;t Need Kubernetes&amp;rdquo;&lt;/a&gt;. I&amp;rsquo;m a Kubernetes enjoyer (I even wrote a &lt;a href="https://www.boot.dev/courses/learn-kubernetes"&gt;course on it&lt;/a&gt;, but I&amp;rsquo;m not here to argue about that. The part of the video I &lt;em&gt;do&lt;/em&gt; want to discuss has nothing to do with k8s. It&amp;rsquo;s where Theo draws the &amp;ldquo;Line of Primeagen&amp;rdquo;.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. March 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-03/</link><pubDate>Wed, 28 Feb 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-03/</guid><description>&lt;p&gt;Pythogoras escaped this month. The community rallied against the Serpent God, and while he was wounded and beaten back, he &lt;em&gt;escaped&lt;/em&gt;. We&amp;rsquo;ll be trying again later this month. Happy coding.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. February 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-02/</link><pubDate>Wed, 31 Jan 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-02/</guid><description>&lt;p&gt;&lt;strong&gt;609,179&lt;/strong&gt;. That&amp;rsquo;s the number of lessons you crazy folks have completed on &lt;a href="https://www.boot.dev"&gt;Boot.dev&lt;/a&gt; in the last 30 days. Good work my fellow pupils.&lt;/p&gt;</description></item><item><title>Give Up Sooner</title><link>https://boot.dev/blog/misc/give-up-sooner/</link><pubDate>Sun, 28 Jan 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/give-up-sooner/</guid><description>&lt;p&gt;As a developer, how many times each day do you look something up online? I&amp;rsquo;m not talking about a simple piece of syntax, I&amp;rsquo;m talking about the things that are a bit harder to find. For example:&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. January 2024</title><link>https://boot.dev/blog/news/bootdev-beat-2024-01/</link><pubDate>Wed, 03 Jan 2024 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2024-01/</guid><description>&lt;p&gt;Hope you had a wonderful holiday! I know you might not have been able to take time off, but I hope you were able to spend &lt;em&gt;some&lt;/em&gt; time with family and friends. I spent the whole week driving up and down the state of Utah. It was fun, but I&amp;rsquo;m happy to be back in my office. Kids can be exhausting. Love &amp;rsquo;em, but they&amp;rsquo;re exhausting.&lt;/p&gt;</description></item><item><title>Troubleshooting the Boot.dev Code Editor: Common Snags</title><link>https://boot.dev/blog/wiki/troubleshoot-code-editor-issues/</link><pubDate>Thu, 07 Dec 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/wiki/troubleshoot-code-editor-issues/</guid><description>&lt;p&gt;As a Boot.dev student, you may have encountered frustrating moments when your code editor freezes or is stuck &amp;ldquo;Setting up your environment&amp;rdquo;, leaving you wondering what went wrong. Don&amp;rsquo;t worry; we&amp;rsquo;re here to help. These issues can be caused by various factors, and in this blog post, we&amp;rsquo;ll explore some common culprits and provide solutions to help you get back to coding smoothly.&lt;/p&gt;</description></item><item><title>9 Months with GPT-4: Can I Fire my Developers Yet?</title><link>https://boot.dev/blog/computer-science/ai-taking-programming-jobs/</link><pubDate>Sun, 03 Dec 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/ai-taking-programming-jobs/</guid><description>&lt;p&gt;GitHub has been re-founded on copilot, rumors of an AI superior to GPT-4 abound, and you&amp;rsquo;re trying to decide if it&amp;rsquo;s worth it to learn what a red-black tree is.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. December 2023</title><link>https://boot.dev/blog/news/bootdev-beat-2023-12/</link><pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2023-12/</guid><description>&lt;p&gt;Hope you had a splendid Turkey month. My wife, two kids, and I spent Thanksgiving in southern Utah. The fresh air was nice, AQI here in Northern Utah is 100+ right now&amp;hellip; wouldn&amp;rsquo;t recommend. Anyway, back to coding.&lt;/p&gt;</description></item><item><title>You're Not Qualified to Have an Opinion on TDD</title><link>https://boot.dev/blog/misc/youre-not-qualified-for-tech-opinions/</link><pubDate>Tue, 07 Nov 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/youre-not-qualified-for-tech-opinions/</guid><description>&lt;p&gt;One of the marks of a good senior developer is that they have lots of interesting opinions. After years of working on different software projects, they&amp;rsquo;ll be able to passionately explain why they think MongoDB is ass, paired programming is no fun, and the GitHub CLI changed their workflow.&lt;/p&gt;</description></item><item><title>Put that Framework Down Before Someone Gets Hurt</title><link>https://boot.dev/blog/backend/put-that-framework-down/</link><pubDate>Mon, 06 Nov 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/put-that-framework-down/</guid><description>&lt;p&gt;There is only one question that ignites my inner rage more than &amp;ldquo;How do I get a developer job in 3 months?&amp;rdquo;? That question is:&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. November 2023</title><link>https://boot.dev/blog/news/bootdev-beat-2023-11/</link><pubDate>Mon, 30 Oct 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2023-11/</guid><description>&lt;p&gt;Hope you had a fantastic Halloween. I spent last weekend in Seattle with Allan and Hunter (the other two full-timers here at Boot.dev) at the DotA 2 International. Absolute blast. I&amp;rsquo;ve never been to such an enormous gaming event in person. Ah, well, back to coding.&lt;/p&gt;</description></item><item><title>Queue Data Structure in Python: Ordering at Its Best</title><link>https://boot.dev/blog/python/queue-data-structure-python/</link><pubDate>Sun, 22 Oct 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/queue-data-structure-python/</guid><description>&lt;p&gt;A &lt;strong&gt;queue&lt;/strong&gt; is an efficient collection of ordered items. New items can be added to one side, and removed from the other side.&lt;/p&gt;</description></item><item><title>Can Go Be Used in Web Development?</title><link>https://boot.dev/blog/golang/can-go-used-web-development/</link><pubDate>Fri, 06 Oct 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/can-go-used-web-development/</guid><description>&lt;p&gt;Recently I saw an interesting post on Reddit: &amp;ldquo;I would like to be more full-stack,&amp;rdquo; user &lt;a href="https://www.reddit.com/r/golang/comments/ksdofe/what_do_you_guys_think_about_web_development_with/"&gt;&lt;u&gt;Fenugurod&lt;/u&gt;&lt;/a&gt; said. &amp;ldquo;I was studying Tailwindcsss and I&amp;rsquo;m pretty sure I can create really nice UIs with it. But what do you guys think about web development with Go? Most of my friends simply say to embrace the JS ecosystem with Nuxt or Next and use Go simply as an API.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Understanding Stacks: Python Implementation of a Core Data Structure</title><link>https://boot.dev/blog/python/stack-data-structure-python/</link><pubDate>Fri, 06 Oct 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/stack-data-structure-python/</guid><description>&lt;p&gt;A &lt;strong&gt;stack&lt;/strong&gt; is an abstract data type that serves as a collection of elements. The name &amp;ldquo;stack&amp;rdquo; originates from the analogy of items physically stacked on top of each other. Just like a stack of plates at a buffet, plates can be added, removed, and viewed from the top. However, plates further down are not immediately accessible.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. October 2023</title><link>https://boot.dev/blog/news/bootdev-beat-2023-10/</link><pubDate>Sun, 01 Oct 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2023-10/</guid><description>&lt;p&gt;Happy All Hallow&amp;rsquo;s Eve. I hope you enjoy this month&amp;rsquo;s cover art. It might be my favorite so far.&lt;/p&gt;</description></item><item><title>What Does a Web Developer Earn?</title><link>https://boot.dev/blog/jobs/what-does-webdev-earn/</link><pubDate>Wed, 13 Sep 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/what-does-webdev-earn/</guid><description>&lt;p&gt;As always, the short answer is easiest: On average, according to Indeed, an American web developer &lt;a href="https://www.indeed.com/career/web-developer/salaries"&gt;earns&lt;/a&gt; $81,034 per year.&lt;/p&gt;</description></item><item><title>Learn to Code the Slow Way</title><link>https://boot.dev/blog/education/learn-to-code-the-slow-way/</link><pubDate>Sun, 10 Sep 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/learn-to-code-the-slow-way/</guid><description>&lt;p&gt;Ever since starting &lt;a href="https://www.boot.dev"&gt;Boot.dev&lt;/a&gt;, I&amp;rsquo;ve been flooded with what I call &amp;ldquo;quicksand questions&amp;rdquo;. On the surface, a quicksand question &lt;em&gt;seems&lt;/em&gt; like a good question. If you could answer it, it would catapult you from where you are (nightshift at the Wendy&amp;rsquo;s drive-in) to where you want to be (telling friends that you work at Netflix btw).&lt;/p&gt;</description></item><item><title>Top 10 Books on Web Development in 2026</title><link>https://boot.dev/blog/education/best-web-dev-books/</link><pubDate>Tue, 05 Sep 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/best-web-dev-books/</guid><description>&lt;p&gt;If you’re looking for good web development books, you’re probably interested in becoming a web developer. Makes sense – great pay, solid job security, and interesting work. But beyond that broad goal, you might be looking for some web development reading to satisfy other goals.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. September 2023</title><link>https://boot.dev/blog/news/bootdev-beat-2023-09/</link><pubDate>Thu, 31 Aug 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2023-09/</guid><description>&lt;p&gt;The best part of working on &lt;a href="https://www.boot.dev"&gt;Boot.dev&lt;/a&gt; is seeing you all make almost unbelievable strides in not only your understanding of fundamental concepts, but what you can now &lt;em&gt;build from scratch&lt;/em&gt;. It&amp;rsquo;s not just that, I&amp;rsquo;ve been hearing a lot of stories about the &lt;em&gt;confidence&lt;/em&gt; that&amp;rsquo;s being gained by our alumnis after shipping so much code. That&amp;rsquo;s a critical part of the journey.&lt;/p&gt;</description></item><item><title>Can I Use Python for Web Development?</title><link>https://boot.dev/blog/python/python-for-web-development/</link><pubDate>Mon, 14 Aug 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-for-web-development/</guid><description>&lt;p&gt;I love giving a short answer to these: yes, 100%, Python is a great tool for web development.&lt;/p&gt;</description></item><item><title>The One Thing I'd Change About Go</title><link>https://boot.dev/blog/golang/one-thing-id-change-about-go/</link><pubDate>Sat, 12 Aug 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/one-thing-id-change-about-go/</guid><description>&lt;p&gt;Go is built for grug brained programmers like me.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;grug brain developer not so smart, but grug brain developer program many long year and learn some things although mostly still confused&lt;/p&gt;</description></item><item><title>What is Backend Web Development?</title><link>https://boot.dev/blog/backend/what-is-backend-web-development/</link><pubDate>Mon, 07 Aug 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/what-is-backend-web-development/</guid><description>&lt;p&gt;The boring answer is that backend web development is the process of building the server-side of websites and web applications. It primarily focuses on handling the logic, data processing, and communication between the user&amp;rsquo;s web browser and the server.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. August 2023</title><link>https://boot.dev/blog/news/bootdev-beat-2023-08/</link><pubDate>Fri, 28 Jul 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2023-08/</guid><description>&lt;p&gt;As I&amp;rsquo;m writing this on July 28th, we&amp;rsquo;ve had &lt;code&gt;118,984&lt;/code&gt; lessons successfully completed by students on Boot.dev so far this July. This marks the first time we&amp;rsquo;ve had over 100k lessons completed in a month. While I&amp;rsquo;m ecstatic that we&amp;rsquo;ve been able to join you in so many of your learning journeys, I just want to emphasize that it&amp;rsquo;s &lt;em&gt;your&lt;/em&gt; journey. We&amp;rsquo;re here to provide the best resources and experience that we can, but &lt;em&gt;you&lt;/em&gt; deserve every ounce of credit for your hard work. &lt;strong&gt;Keep it up friends.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>The Pros and Cons of Django for Backend Development</title><link>https://boot.dev/blog/backend/django-for-backend/</link><pubDate>Mon, 17 Jul 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/django-for-backend/</guid><description>&lt;p&gt;Django is a popular &lt;a href="https://boot.dev/blog/python/"&gt;Python&lt;/a&gt;-based framework for building web applications. It provides pre-built components and conventions, which simplifies the web app development process and allows developers to focus on writing their application&amp;rsquo;s specific logic rather than dealing with repetitive tasks. Basically, it’s all about &lt;em&gt;reusability&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>I Mock Your Mocks</title><link>https://boot.dev/blog/backend/writing-good-unit-tests-dont-mock-database-connections/</link><pubDate>Thu, 13 Jul 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/writing-good-unit-tests-dont-mock-database-connections/</guid><description>&lt;p&gt;Several years ago I started my first job as a &amp;ldquo;senior&amp;rdquo; Go developer. You see, after a modest 3 years in the industry, my arcane ability to use the Go standard library&amp;rsquo;s &lt;code&gt;strings.Contains()&lt;/code&gt; function managed to leave a powerful impression on the hiring team.&lt;/p&gt;</description></item><item><title>The Best Backend for Vue: 6 Options</title><link>https://boot.dev/blog/backend/best-backends-for-vue/</link><pubDate>Tue, 11 Jul 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/best-backends-for-vue/</guid><description>&lt;p&gt;Part of being in the software development space means I’m near a lot of entrepreneurs. Code is a powerful building block, and that appeals to a lot of self-taught big thinkers.&lt;/p&gt;</description></item><item><title>Frontend? Gross. This is Why I've Always Preferred the Backend</title><link>https://boot.dev/blog/backend/why-i-prefer-backend/</link><pubDate>Sun, 09 Jul 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/why-i-prefer-backend/</guid><description>&lt;p&gt;As a kid, I always wanted to be good at drawing. I practiced drawing my favorite anime characters, but frankly, my mom was the only one who thought they were good.&lt;/p&gt;</description></item><item><title>Build Your First Coding Project and Avoid Tutorial Hell</title><link>https://boot.dev/blog/education/building-your-first-coding-project/</link><pubDate>Tue, 04 Jul 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/building-your-first-coding-project/</guid><description>&lt;p&gt;While &amp;ldquo;real&amp;rdquo; hell may or may not exist (no need to get into religious beliefs here), tutorial hell is &lt;em&gt;very&lt;/em&gt; real.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. July 2023</title><link>https://boot.dev/blog/news/bootdev-beat-2023-07/</link><pubDate>Mon, 26 Jun 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2023-07/</guid><description>&lt;p&gt;June was hot. I got sunburned. What else happened&amp;hellip; Oh yeah, I finished the new CI/CD course! It&amp;rsquo;s slated to launch on July 10th, so watch out for that. We also are in the process of hiring a new Boot.dev team member to help us build harder better faster and stronger.&lt;/p&gt;</description></item><item><title>What’s the Best Backend For React? 5 Options to Choose From</title><link>https://boot.dev/blog/backend/backend-for-react/</link><pubDate>Mon, 26 Jun 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/backend-for-react/</guid><description>&lt;p&gt;&amp;ldquo;I already know React,&amp;rdquo; mused my friend. &amp;ldquo;What popular backend language should I learn that will make me a useful hire to companies?&amp;rdquo;&lt;/p&gt;</description></item><item><title>Awww, do I Really Need to Learn X to Get a Job as a Developer?</title><link>https://boot.dev/blog/education/do-i-really-need-to-learn-x/</link><pubDate>Sat, 24 Jun 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/do-i-really-need-to-learn-x/</guid><description>&lt;p&gt;A developer&amp;rsquo;s life is a never-ending saga of learning new things. It&amp;rsquo;s like you&amp;rsquo;re playing Diablo where every new Jira ticket can feel like the next mini boss to slay. Exciting? Absolutely. Scary? Sure. Especially at first.&lt;/p&gt;</description></item><item><title>Boot.dev Team Handbook</title><link>https://boot.dev/blog/wiki/team-handbook/</link><pubDate>Mon, 12 Jun 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/wiki/team-handbook/</guid><description>&lt;ul&gt;
&lt;li&gt;Our goal: &lt;strong&gt;To make the best place to learn to code.&lt;/strong&gt; The most effective, the most fun, and the most thorough.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now, let&amp;rsquo;s talk about how to succeed with your work at Boot.dev.&lt;/p&gt;</description></item><item><title>Boots, a Wizard Bear that Codes</title><link>https://boot.dev/blog/wiki/boots/</link><pubDate>Thu, 08 Jun 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/wiki/boots/</guid><description>&lt;p&gt;Boots is the heart and soul of Boot.dev. Not only is he capable of helping you through any lesson on Boot.dev, but he&amp;rsquo;s a friendly wizard bear with a charming personality. Some things you should know about Boots:&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. June 2023</title><link>https://boot.dev/blog/news/bootdev-beat-2023-06/</link><pubDate>Wed, 31 May 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2023-06/</guid><description>&lt;p&gt;May was a historic month for Boot.dev. We added more students to the backend learning path than we ever have in a single month before, and we&amp;rsquo;re doing everything we can to build and release new, better courses at a faster clip. Thanks for hanging out and learning with us.&lt;/p&gt;</description></item><item><title>Format on Save in Go with VS Code [2026]</title><link>https://boot.dev/blog/golang/format-on-save-vs-code-golang/</link><pubDate>Fri, 26 May 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/format-on-save-vs-code-golang/</guid><description>&lt;p&gt;Go has hard opinions about how you should style and format your code. Setting up your VS Code environment to enforce the standard linting and formatting rules can save you a &lt;em&gt;ton&lt;/em&gt; of time.&lt;/p&gt;</description></item><item><title>Programming types and (incorrect) mindsets</title><link>https://boot.dev/blog/misc/reacting-to-programming-types-and-mindsets/</link><pubDate>Mon, 08 May 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/reacting-to-programming-types-and-mindsets/</guid><description>&lt;p&gt;DHH, the creator of Ruby on Rails, Hey, Basecamp, and a few other things, recently wrote an article titled &amp;ldquo;&lt;a href="https://world.hey.com/dhh/programming-types-and-mindsets-5b8490bc"&gt;Programming types and mindsets&lt;/a&gt;&amp;rdquo;, and I just &lt;em&gt;have&lt;/em&gt; to chime in on this one.&lt;/p&gt;</description></item><item><title>12 Codecademy Alternatives That Will Get You Where You Need to Go</title><link>https://boot.dev/blog/misc/code-academy-alternatives/</link><pubDate>Thu, 04 May 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/code-academy-alternatives/</guid><description>&lt;p&gt;Just last month, Codecademy was &lt;a href="https://www.businesswire.com/news/home/20220404006017/en/Skillsoft-Completes-Acquisition-of-Codecademy"&gt;sold&lt;/a&gt; to Skillsoft for $525 million. Not too shabby, and entirely well-deserved if you ask me. I&amp;rsquo;ll be straight with you, I love Codecademy. Maybe you&amp;rsquo;re wondering why I&amp;rsquo;m opening with that in an article about its alternatives, but I want to start with the history so you can grasp what Codecademy alternatives are good for.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. May 2023</title><link>https://boot.dev/blog/news/bootdev-beat-2023-05/</link><pubDate>Wed, 03 May 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2023-05/</guid><description>&lt;p&gt;We hit some amazing milestones in April. We now have over 40,000 registered students and over 500,000 lessons completed on the platform! I hope your learnings are going well, and that everything we&amp;rsquo;re building is helping you, even if it&amp;rsquo;s in a small way.&lt;/p&gt;</description></item><item><title>The 28 Best Places to Learn Python Online</title><link>https://boot.dev/blog/python/best-places-to-learn-python-online/</link><pubDate>Fri, 28 Apr 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/best-places-to-learn-python-online/</guid><description>&lt;p&gt;For anyone who wants to &lt;a href="https://www.boot.dev/courses/learn-code-python"&gt;learn Python online&lt;/a&gt;, it can be a bit overwhelming. When I Googled it, I came up with over 200 million hits.&lt;/p&gt;</description></item><item><title>C Sharp vs Python: Which Is the Best Programming Language?</title><link>https://boot.dev/blog/python/c-sharp-vs-python/</link><pubDate>Thu, 27 Apr 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/c-sharp-vs-python/</guid><description>&lt;p&gt;&amp;ldquo;You&amp;rsquo;re comparing apples to oranges,&amp;rdquo; Susan, a developer at my company, said when I asked her which programming language she preferred, C # or Python. &amp;ldquo;It&amp;rsquo;s like asking me if I prefer wrenches or hammers. One language is a compiled, statically typed language, the other is a ducktyped scripting language. Each is excellent in its correct context.&amp;rdquo;&lt;/p&gt;</description></item><item><title>JavaScript? Python? Go? Which Tech Stack Should You Learn?</title><link>https://boot.dev/blog/education/which-tech-stack-to-learn/</link><pubDate>Mon, 24 Apr 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/which-tech-stack-to-learn/</guid><description>&lt;p&gt;Ah, the age-old question: which tech stack should I learn? Aspiring developers often get bogged down in this dilemma, and it&amp;rsquo;s not hard to see why. The tech industry is an ocean of opportunities, and the fear of diving into the wrong waters can be paralyzing.&lt;/p&gt;</description></item><item><title>Which is More Important: Hard or Soft Skills for Programmers?</title><link>https://boot.dev/blog/jobs/hard-vs-soft-skills-for-programmers/</link><pubDate>Sat, 22 Apr 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/hard-vs-soft-skills-for-programmers/</guid><description>&lt;p&gt;You&amp;rsquo;re waiting at the front-desk of Google&amp;rsquo;s campus in Boulder, Colorado, waiting for your coding interview to start. Across from you in the lobby sit two other candidates:&lt;/p&gt;</description></item><item><title>As a Developer, What Hardware Do You Truly Need?</title><link>https://boot.dev/blog/misc/hardware-for-coding/</link><pubDate>Fri, 21 Apr 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/hardware-for-coding/</guid><description>&lt;p&gt;Let&amp;rsquo;s be real here: we live in an age where everyone and their dog seems to think they need the latest, most expensive gadgets to get anything done. But when it comes to &lt;a href="https://www.boot.dev"&gt;learning how to code&lt;/a&gt;, do you really need that shiny, wallet-draining powerhouse of a machine?&lt;/p&gt;</description></item><item><title>Do You Need to Blog to Get a Coding Job?</title><link>https://boot.dev/blog/jobs/do-you-need-to-blog/</link><pubDate>Mon, 17 Apr 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/do-you-need-to-blog/</guid><description>&lt;p&gt;As the founder of &lt;a href="https://www.boot.dev"&gt;Boot.dev&lt;/a&gt;, I&amp;rsquo;ve worked with countless students who are eager to break into the tech industry. And time and time again, I see the same question pop up: &amp;ldquo;Do I need to start a blog to get a coding job?&amp;rdquo;&lt;/p&gt;</description></item><item><title>Matlab vs Python: 6 Key Differences [Updated 2026]</title><link>https://boot.dev/blog/python/matlab-vs-python/</link><pubDate>Sun, 16 Apr 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/matlab-vs-python/</guid><description>&lt;p&gt;This is one of those arguments where, outside of a few very specific examples, there&amp;rsquo;s a clear answer. &lt;a href="https://www.boot.dev/courses/learn-code-python"&gt;Python&lt;/a&gt; is better than MATLAB in (almost) every situation. But you&amp;rsquo;re searching for the differences between MATLAB and Python, so clearly you&amp;rsquo;re not convinced. Let&amp;rsquo;s take a deeper look comparing Python vs MATLAB so you are finally persuaded.&lt;/p&gt;</description></item><item><title>The Boot.dev Beat. April 2023</title><link>https://boot.dev/blog/news/bootdev-beat-2023-04/</link><pubDate>Thu, 06 Apr 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2023-04/</guid><description>&lt;p&gt;We released more this last March than I think we&amp;rsquo;ve ever released in a single month before. I&amp;rsquo;ve been biting my nails waiting to share it all in this month&amp;rsquo;s newsletter.&lt;/p&gt;</description></item><item><title>Is Computer Science Really that Hard?</title><link>https://boot.dev/blog/computer-science/is-computer-science-hard/</link><pubDate>Wed, 05 Apr 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/is-computer-science-hard/</guid><description>&lt;p&gt;Yes, computer science is hard, but you already know that. You don&amp;rsquo;t want to know if computer science is hard. You want to know if it&amp;rsquo;s &lt;em&gt;too&lt;/em&gt; hard. You want to know if having to learn computer science is going to be a real obstacle in your way to achieving your goal.&lt;/p&gt;</description></item><item><title>It's Not About the Job Openings</title><link>https://boot.dev/blog/jobs/not-about-job-openings/</link><pubDate>Thu, 30 Mar 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/not-about-job-openings/</guid><description>&lt;p&gt;I talk to boatloads of students who are starting to &lt;a href="https://boot.dev/blog/"&gt;learn to code&lt;/a&gt;, and invariably they are hyper-concerned about which programming languages and technologies they should be learning.&lt;/p&gt;</description></item><item><title>How can I Get a Job as a Python Programmer?</title><link>https://boot.dev/blog/jobs/how-to-get-python-job/</link><pubDate>Mon, 27 Mar 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/how-to-get-python-job/</guid><description>&lt;h2 class="anchor heading-group" id="how-to-get-a-job-as-a-python-programmer"&gt;&lt;a class="heading-link" href="#how-to-get-a-job-as-a-python-programmer"&gt;How to Get a Job as a Python Programmer&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&amp;ldquo;How much Python do I need to know to get a job? Do I need a degree?&amp;rdquo; I asked Jo, a hiring manager I&amp;rsquo;d met at a Python networking event, nervously.&lt;/p&gt;</description></item><item><title>How to Get a Job as a Golang Developer</title><link>https://boot.dev/blog/jobs/how-to-get-golang-job/</link><pubDate>Mon, 20 Mar 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/how-to-get-golang-job/</guid><description>&lt;p&gt;Step 1: Learn Golang. Step 2: Apply for jobs. Step 3: Get accepted.&lt;/p&gt;
&lt;p&gt;When I started researching this article, that was the first answer that came up on Reddit. It&amp;rsquo;s short and punchy, but it&amp;rsquo;s not very useful, is it? (The &lt;a href="https://www.reddit.com/r/golang/comments/i9ma30/how_to_find_a_job_as_a_go_developer/"&gt;second answer&lt;/a&gt; was a joke that because &amp;ldquo;Go&amp;rdquo; only has two letters, some search bars don&amp;rsquo;t accept it since they need three or more characters to search.)&lt;/p&gt;</description></item><item><title>Introduction to Asynchronous Flows and Webhooks</title><link>https://boot.dev/blog/backend/asynchronous-flows-and-webhooks/</link><pubDate>Thu, 09 Mar 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/asynchronous-flows-and-webhooks/</guid><description>&lt;p&gt;In this post, we&amp;rsquo;ll be talking about coding with a common integration pattern with an external API called a
&lt;em&gt;webhook&lt;/em&gt;. Loosely speaking, there are three main types of communication you&amp;rsquo;ll see when building an
application.&lt;/p&gt;</description></item><item><title>Introducing Boots, the Artificially Intelligent Bear that Explains Code</title><link>https://boot.dev/blog/news/introducing-boots-ai-code-explainer/</link><pubDate>Mon, 06 Mar 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/introducing-boots-ai-code-explainer/</guid><description>&lt;p&gt;Learning to code isn&amp;rsquo;t easy; frankly, I&amp;rsquo;d be wary of anyone who tells you that it is. Hopefully, you&amp;rsquo;re primarily learning by writing and reading &lt;em&gt;a lot&lt;/em&gt; of code. As you code, you&amp;rsquo;ll run into roadblocks and bumps, and having a mentor that can answer your questions is an unbelievable advantage.&lt;/p&gt;</description></item><item><title>Do Backend Developers Need to Know SQL?</title><link>https://boot.dev/blog/backend/do-backend-devs-need-sql/</link><pubDate>Thu, 02 Mar 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/do-backend-devs-need-sql/</guid><description>&lt;p&gt;A while back, one of my friends bragged that he bagged a six-figure backend developer job after watching a few YouTube videos on APIs and reading parts a bit of the PostgreSQL documentation.&lt;/p&gt;</description></item><item><title>Boot.dev Beat. February 2023</title><link>https://boot.dev/blog/news/bootdev-beat-2023-02/</link><pubDate>Wed, 01 Mar 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-2023-02/</guid><description>&lt;p&gt;I&amp;rsquo;m back from paternity leave! My new son is healthy, and my daughter is&amp;hellip; busy. It&amp;rsquo;s good to be back writing code, writing courses and filming videos.&lt;/p&gt;</description></item><item><title>How to Become a Golang Engineer (on the Back-End)</title><link>https://boot.dev/blog/golang/become-golang-backend-dev/</link><pubDate>Thu, 23 Feb 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/become-golang-backend-dev/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Guys, I&amp;rsquo;ve got an idea. What if we could design a language that&amp;rsquo;s easy to read like Python, but fast? That has a slim feature-set like C, but is good for web development? That&amp;rsquo;s compiled like Java, but doesn&amp;rsquo;t need a VM?&amp;rdquo;&lt;/p&gt;</description></item><item><title>Want to Become a Python Back-end Developer? Start Here.</title><link>https://boot.dev/blog/python/learn-python-backend/</link><pubDate>Fri, 17 Feb 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/learn-python-backend/</guid><description>&lt;p&gt;Myth #1: &amp;ldquo;Python is too slow for back-end development.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Myth #2: &amp;ldquo;Nowadays, you should do all back-end development in JavaScript/TypeScript.&amp;rdquo;&lt;/p&gt;</description></item><item><title>What is in a Back-End Developer's Job Description?</title><link>https://boot.dev/blog/backend/backend-job-description/</link><pubDate>Fri, 10 Feb 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/backend-job-description/</guid><description>&lt;p&gt;What&amp;rsquo;s it like being a back-end developer? Well, it&amp;rsquo;s different depending on which developer you ask.&lt;/p&gt;</description></item><item><title>Your Architecture is Bad, So Make It Easy to Change</title><link>https://boot.dev/blog/backend/make-architecture-easy-to-change/</link><pubDate>Fri, 10 Feb 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/make-architecture-easy-to-change/</guid><description>&lt;p&gt;Have you ever started a new software development job and thought:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Wow, what a beautifully architected system! I wouldn&amp;rsquo;t change anything here.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Boot.dev Beat. January 2023</title><link>https://boot.dev/blog/news/bootdev-beat-jan-2023/</link><pubDate>Wed, 01 Feb 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-jan-2023/</guid><description>&lt;p&gt;If you can&amp;rsquo;t tell from my absurd profile photo below, I&amp;rsquo;ve been having too much fun with AI art this month.&lt;/p&gt;</description></item><item><title>5 Critical Differences Between DevOps and SRE Jobs</title><link>https://boot.dev/blog/devops/devops-vs-sre/</link><pubDate>Mon, 30 Jan 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/devops-vs-sre/</guid><description>&lt;p&gt;To someone who isn&amp;rsquo;t familiar with these roles, it&amp;rsquo;s easy to think that DevOps and systems reliability engineers (SREs) might have the same job. After all, both of them involve automation, coding, scaling, and reliability to one degree or another. Both roles are trying to make an organization more efficient. It&amp;rsquo;s reasonable to wonder if there&amp;rsquo;s any daylight between DevOps vs SREs.&lt;/p&gt;</description></item><item><title>How does HTTPS encryption work?</title><link>https://boot.dev/blog/backend/how-does-https-work/</link><pubDate>Thu, 26 Jan 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/how-does-https-work/</guid><description>&lt;p&gt;Hypertext Transfer Protocol &lt;em&gt;Secure&lt;/em&gt; or &lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/https"&gt;HTTPS&lt;/a&gt; is an extension of the &lt;a href="http://boot.dev/courses/learn-http"&gt;HTTP protocol&lt;/a&gt;. HTTPS secures the data transfer between client and server by &lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/Encryption"&gt;encrypting&lt;/a&gt; all of the information communicated.&lt;/p&gt;</description></item><item><title>Cryptography Course Released on Boot.dev</title><link>https://boot.dev/blog/news/learn-cryptography-course-released/</link><pubDate>Tue, 24 Jan 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/learn-cryptography-course-released/</guid><description>&lt;p&gt;Greetings! We&amp;rsquo;re excited to announce that we&amp;rsquo;ve unveiled a brand-new &lt;a href="https://www.boot.dev/courses/learn-cryptography-golang"&gt;cryptography course&lt;/a&gt; on &lt;a href="https://www.boot.dev"&gt;Boot.dev&lt;/a&gt;. We&amp;rsquo;re convinced that this new experience is truly one of a kind. If you want to learn cryptography while writing real code in the &lt;a href="https://www.boot.dev/courses/learn-golang"&gt;Go programming language&lt;/a&gt;, you should check it out.&lt;/p&gt;</description></item><item><title>4 Key Differences Between DevOps and DevSecOps</title><link>https://boot.dev/blog/devops/devops-vs-devsecops/</link><pubDate>Mon, 23 Jan 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/devops-vs-devsecops/</guid><description>&lt;p&gt;Doesn&amp;rsquo;t it seem like every day there&amp;rsquo;s a new mishmash of responsibilities into a job title? One day soon, someone will be hired as a DevOpSysSecInfraArc engineer.&lt;/p&gt;</description></item><item><title>6 Differences Between DevOps and Cloud Engineers</title><link>https://boot.dev/blog/devops/devops-vs-cloud-engineers/</link><pubDate>Wed, 18 Jan 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/devops-vs-cloud-engineers/</guid><description>&lt;p&gt;The deeper you get into the tech sphere, the more unintelligible the job titles seem to be. Plus, the same title at different companies often encompasses different responsibilities. Ask twenty data scientists what they do and you&amp;rsquo;ll get twenty different answers.&lt;/p&gt;</description></item><item><title>I Didn't Explain Clearly, but Still Don't Learn Frameworks First</title><link>https://boot.dev/blog/backend/wrong-about-abstractions/</link><pubDate>Tue, 17 Jan 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/wrong-about-abstractions/</guid><description>&lt;p&gt;I wrote an article about &lt;a href="https://boot.dev/blog/backend/dont-start-with-frameworks/"&gt;not starting with frameworks&lt;/a&gt; that got some attention from &lt;a href="https://www.reddit.com/r/programming/"&gt;/r/programming&lt;/a&gt; on &lt;a href="https://www.reddit.com/r/programming/comments/10dhhc4/if_youre_learning_backend_dont_start_with/"&gt;Reddit yesterday&lt;/a&gt;. While a good number of people must have enjoyed the article (some people upvoted? idk) I was rightfully blasted with &lt;em&gt;a lot&lt;/em&gt; of criticism. Here are some of my favorite comments:&lt;/p&gt;</description></item><item><title>If You're Learning Back-end, Don't Start with Frameworks</title><link>https://boot.dev/blog/backend/dont-start-with-frameworks/</link><pubDate>Mon, 16 Jan 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/dont-start-with-frameworks/</guid><description>&lt;p&gt;Look, I don&amp;rsquo;t hate frameworks. I&amp;rsquo;m not as starry-eyed as some other developers, especially when it comes to &lt;em&gt;back-end&lt;/em&gt; frameworks, but I don&amp;rsquo;t think there&amp;rsquo;s anything wrong with using tools that make you productive. On the contrary, I&amp;rsquo;m &lt;em&gt;always&lt;/em&gt; trying to find tools that make me as productive as possible.&lt;/p&gt;</description></item><item><title>Boot.dev Beat. December 2022</title><link>https://boot.dev/blog/news/bootdev-beat-dec-2022/</link><pubDate>Fri, 06 Jan 2023 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-dec-2022/</guid><description>&lt;p&gt;I hope you&amp;rsquo;ve been able to enjoy some time with family! I took (almost) an entire week off from writing code, which I haven&amp;rsquo;t done in a long time. It&amp;rsquo;s good to be back though, and I can&amp;rsquo;t wait to see you around the Discord community.&lt;/p&gt;</description></item><item><title>Is Golang Best For Backend or Frontend Development?</title><link>https://boot.dev/blog/golang/golang-frontend-or-backend/</link><pubDate>Mon, 19 Dec 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-frontend-or-backend/</guid><description>&lt;p&gt;Put simply, &lt;strong&gt;Golang is best for the backend side of a web application or website&lt;/strong&gt;. There are many reasons that this is the case, so let&amp;rsquo;s dive in, but before we do, let&amp;rsquo;s cover some quick definitions.&lt;/p&gt;</description></item><item><title>What do Frontend and Backend Development Mean?</title><link>https://boot.dev/blog/backend/frontend-vs-backend-meaning/</link><pubDate>Tue, 13 Dec 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/frontend-vs-backend-meaning/</guid><description>&lt;p&gt;Soon after you dip your toe in the water of software development, you&amp;rsquo;re guaranteed to come across the terms &amp;ldquo;frontend&amp;rdquo; and &amp;ldquo;backend&amp;rdquo;. There are also frontend and backend developers, but what&amp;rsquo;s the difference? What do frontend and backend mean?&lt;/p&gt;</description></item><item><title>Snake Case or Camel Case? A Guide to Programming Naming Conventions</title><link>https://boot.dev/blog/computer-science/casings-in-coding/</link><pubDate>Fri, 09 Dec 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/casings-in-coding/</guid><description>&lt;p&gt;The following names are all &lt;em&gt;valid&lt;/em&gt; variable names in nearly every programming language:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dogName&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dog_name&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DOG_NAME&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dog-name&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But which one should you use in your projects? Let&amp;rsquo;s chat about the popular naming conventions used in programming, and why you might choose one over another.&lt;/p&gt;</description></item><item><title>What is Backend-as-a-Service?</title><link>https://boot.dev/blog/backend/backend-as-a-service/</link><pubDate>Mon, 05 Dec 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/backend-as-a-service/</guid><description>&lt;p&gt;Plenty of people have heard of SaaS, or Software-as-a-Service, which is simply software made available by a third party over the internet. Think Salesforce, WordPress, or MailChimp. And most people know what a &amp;ldquo;&lt;a href="https://boot.dev/blog/backend/become-backend-developer/"&gt;backend developer&lt;/a&gt;&amp;rdquo; is, that is, someone who is responsible for things building server-side systems like user authentication and data storage.&lt;/p&gt;</description></item><item><title>Boot.dev Beat. November 2022</title><link>https://boot.dev/blog/news/bootdev-beat-november-2022/</link><pubDate>Wed, 30 Nov 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-november-2022/</guid><description>&lt;p&gt;I hope you&amp;rsquo;ve enjoyed your pumpkin spice lattes this fall, that is, assuming that you&amp;rsquo;re basic like me. The meme about programmers and their coffee will never be cliche right? Hope you enjoy this month&amp;rsquo;s issue.&lt;/p&gt;</description></item><item><title>The Top 22 Backend Technologies to Learn in 2026</title><link>https://boot.dev/blog/backend/top-backend-technologies/</link><pubDate>Wed, 16 Nov 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/top-backend-technologies/</guid><description>&lt;p&gt;A backend technology is anything used server-side to build stable and efficient web architectures. Back-end technologies include programming languages, databases, communication mechanisms, or frameworks that make up the building blocks of a web application&amp;rsquo;s back-end.&lt;/p&gt;</description></item><item><title>Add Libraries and Packages to Your Coding Portfolio</title><link>https://boot.dev/blog/jobs/libraries-and-packages-in-coding-portfolio/</link><pubDate>Sun, 13 Nov 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/libraries-and-packages-in-coding-portfolio/</guid><description>&lt;p&gt;Building a job-ready portfolio of coding projects doesn&amp;rsquo;t happen overnight, but if you&amp;rsquo;re like most self-taught developers, you&amp;rsquo;ve likely built up a nice collection of todo apps, calculators, and other toy programs. Here&amp;rsquo;s the thing, applications for end-users are great, but I&amp;rsquo;m here to convince you that adding a &lt;em&gt;library&lt;/em&gt; to your portfolio will make you &lt;em&gt;much&lt;/em&gt; more hireable.&lt;/p&gt;</description></item><item><title>How to Round a Float in Go</title><link>https://boot.dev/blog/golang/round-float-golang/</link><pubDate>Sun, 13 Nov 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/round-float-golang/</guid><description>&lt;p&gt;If you&amp;rsquo;re rounding a floating point number in Go, it&amp;rsquo;s most likely you want to format it in a string. Use the built-in &lt;a href="https://pkg.go.dev/fmt#example-Sprintf"&gt;fmt.Sprintf()&lt;/a&gt; function.&lt;/p&gt;</description></item><item><title>What do Tech Layoffs Mean for Budding Developers?</title><link>https://boot.dev/blog/news/tech-layoffs-for-new-devs/</link><pubDate>Fri, 11 Nov 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/tech-layoffs-for-new-devs/</guid><description>&lt;p&gt;So we&amp;rsquo;re officially in a recession, and now the question is, &amp;ldquo;what does a recession mean to me as a brand-new developer?&amp;rdquo;. It&amp;rsquo;s scary stuff. As you can see in this chart, tech stocks are getting hit &lt;em&gt;hard&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>The 8 Top Back-end Programming Languages for 2026</title><link>https://boot.dev/blog/backend/best-backend-programming-languages/</link><pubDate>Thu, 10 Nov 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/best-backend-programming-languages/</guid><description>&lt;p&gt;A backend programming language is what a programmer like you uses to create internal systems that work in the background of a web application. &lt;a href="https://boot.dev/blog/backend/how-much-do-backend-devs-make/"&gt;Backend developers make a lot of money&lt;/a&gt; and are growing in popularity and desirability.&lt;/p&gt;</description></item><item><title>What is a DevOps Engineer's Salary?</title><link>https://boot.dev/blog/devops/devops-salary/</link><pubDate>Tue, 01 Nov 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/devops-salary/</guid><description>&lt;p&gt;The median DevOps engineer&amp;rsquo;s &lt;a href="https://www.glassdoor.com/Salaries/devops-engineer-salary-SRCH_KO0,15.htm"&gt;salary is&lt;/a&gt; $103,994 in base pay, with around $28,514 in additional pay through bonuses, commissions, and profit sharing according to Glassdoor. Salary.com estimates the &lt;a href="https://www.salary.com/research/salary/listing/devops-engineer-salary"&gt;average&lt;/a&gt; is closer to $125k, while &lt;a href="https://builtin.com/salaries/dev-engineer/devops-engineer"&gt;BuiltIn&lt;/a&gt; puts the average closer to $128k in base pay, with an additional $15k in cash compensation.&lt;/p&gt;</description></item><item><title>Boot.dev Beat: October 2022 Edition</title><link>https://boot.dev/blog/news/bootdev-beat-october-2022/</link><pubDate>Mon, 31 Oct 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/bootdev-beat-october-2022/</guid><description>&lt;p&gt;Happy Halloween! We released a ton of new stuff on &lt;a href="https://www.boot.dev/"&gt;Boot.dev&lt;/a&gt; this October, and I&amp;rsquo;ve had a blast figuring out new mediums and tools we can use to create content. Anyhow, here&amp;rsquo;s to a great November &lt;em&gt;glass clink&lt;/em&gt;. If you ever want to connect with me personally you can just reply here, I&amp;rsquo;d love to chat.&lt;/p&gt;</description></item><item><title>How Much Do Backend Developers Make?</title><link>https://boot.dev/blog/backend/how-much-do-backend-devs-make/</link><pubDate>Tue, 25 Oct 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/how-much-do-backend-devs-make/</guid><description>&lt;p&gt;The short answer? On average, backend developers make either &lt;a href="https://www.glassdoor.com/Salaries/backend-developer-salary-SRCH_KO0,17.htm"&gt;$82,462&lt;/a&gt;, &lt;a href="https://www.indeed.com/career/back-end-developer/salaries"&gt;$95,472&lt;/a&gt;, or &lt;a href="https://www.salary.com/research/salary/recruiting/back-end-developer-salary#:~:text=The%20average%20Back%20End%20Developer,have%20spent%20in%20your%20profession."&gt;$104,865&lt;/a&gt; per year in base pay depending on who you ask. (I asked Glassdoor, Indeed, and Salary.com respectively.) StackOverflow uses medians instead, and their &lt;a href="https://survey.stackoverflow.co/2025/work#salary"&gt;survey&lt;/a&gt; suggests the &lt;strong&gt;backend developers actually make upwards of $175,000 per year&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Trends in Developer Jobs: A Meta Analysis of Stack Overflow Surveys</title><link>https://boot.dev/blog/jobs/trends-in-developer-jobs-stackoverflow/</link><pubDate>Mon, 24 Oct 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/trends-in-developer-jobs-stackoverflow/</guid><description>&lt;p&gt;I&amp;rsquo;m really interested in the trends we see in the software engineering job market. Sometimes it&amp;rsquo;s really hard to tell a cohesive and accurate narrative about what&amp;rsquo;s happening because it just happens so dang fast, and very few people are collecting data on the matter.&lt;/p&gt;</description></item><item><title>Makefiles to improve your life</title><link>https://boot.dev/blog/misc/makefiles-to-improve-your-life/</link><pubDate>Wed, 19 Oct 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/makefiles-to-improve-your-life/</guid><description>&lt;p&gt;During development you may sometimes notice you run a lot of commands to set
up, build, test, and manage your project. Sometimes, these end up requiring
several steps, or you have trouble remembering the exact command. One way to
manage this is to set up aliases in your shell configuration. While this would
work fine for yourself and for a single build system, it would not be possible
to share it in a convenient manner.&lt;/p&gt;</description></item><item><title>The 6 Best Backend Project Ideas for Beginners</title><link>https://boot.dev/blog/backend/best-backend-projects/</link><pubDate>Wed, 19 Oct 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/best-backend-projects/</guid><description>&lt;p&gt;Want to become a backend developer? Not surprising. Backend developers &lt;a href="https://www.indeed.com/career/back-end-developer/salaries"&gt;enjoy an average base salary of $160k&lt;/a&gt; per year, not to mention comprehensive &lt;a href="https://www.indeed.com/career/back-end-developer/salaries#common-benefits"&gt;benefits&lt;/a&gt;. And best of all? You no longer need a four-year degree to learn backend development. With the help of some of the best backend projects, you can prepare yourself for a backend development job in about nine months, even if you&amp;rsquo;re a total beginner.&lt;/p&gt;</description></item><item><title>All the Kinds of Functions in Python</title><link>https://boot.dev/blog/python/a-guide-to-all-the-types-of-functions-in-python/</link><pubDate>Thu, 13 Oct 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/a-guide-to-all-the-types-of-functions-in-python/</guid><description>&lt;p&gt;Functions are one of the most versatile tools in any Python programmer&amp;rsquo;s toolbox. They enable code reuse and provide a form of abstraction. Python offers many different types of functions. In this article, I will be discussing the different types of functions you will encounter as a Python developer.&lt;/p&gt;</description></item><item><title>Should You Learn Front-end or Back-end Development First?</title><link>https://boot.dev/blog/backend/learn-frontend-or-backend-first/</link><pubDate>Thu, 13 Oct 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/learn-frontend-or-backend-first/</guid><description>&lt;p&gt;So you want to get into web development, and you keep hearing about &amp;ldquo;front-end&amp;rdquo; and &amp;ldquo;back-end&amp;rdquo; positions. The question is, &lt;em&gt;which should you learn first&lt;/em&gt;? As someone who&amp;rsquo;s held both front-end and back-end positions, and even been a hiring manager, read on and I&amp;rsquo;ll give you my thoughts.&lt;/p&gt;</description></item><item><title>The 7 Best Backend Bootcamps of 2026</title><link>https://boot.dev/blog/backend/best-backend-bootcamps/</link><pubDate>Tue, 11 Oct 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/best-backend-bootcamps/</guid><description>&lt;p&gt;So you&amp;rsquo;re looking for the very best backend bootcamp of 2026. You&amp;rsquo;re not alone – most &lt;a href="https://boot.dev/blog/backend/backend-engineer-vs-data-engineer/#what-is-a-backend-engineer"&gt;backend engineers&lt;/a&gt; &lt;a href="https://www.glassdoor.com/Salaries/backend-engineer-salary-SRCH_KO0,16.htm"&gt;earn over six figures&lt;/a&gt; according to Glassdoor, plus they have wide and varied job prospects. It&amp;rsquo;s a good gig.&lt;/p&gt;</description></item><item><title>Full-Stack Ops: Back-end and DevOps Roles are Merging</title><link>https://boot.dev/blog/devops/backend-devops-roles-merging/</link><pubDate>Mon, 10 Oct 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/backend-devops-roles-merging/</guid><description>&lt;h2 class="anchor heading-group" id="its-time-for-some-speculation-on-my-part"&gt;&lt;a class="heading-link" href="#its-time-for-some-speculation-on-my-part"&gt;It&amp;rsquo;s time for some speculation on my part&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I believe that the job duties of &amp;ldquo;back-end&amp;rdquo; and &amp;ldquo;DevOps&amp;rdquo; engineers will coalesce to include almost everything that &amp;ldquo;the user doesn&amp;rsquo;t see&amp;rdquo;. There will still be room for specialization, but these roles will become less distinguishable overall.&lt;/p&gt;</description></item><item><title>CI/CD Isn't Just About Efficiency</title><link>https://boot.dev/blog/devops/cicd-is-devx/</link><pubDate>Mon, 26 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/cicd-is-devx/</guid><description>&lt;p&gt;DevOps principles, and CI/CD specifically, are generally presented as a more efficient way to run a software development organization. While I hold the belief that CI/CD &lt;em&gt;is&lt;/em&gt; more efficient and effective than manually testing and deploying code, I&amp;rsquo;d like to talk about something we don&amp;rsquo;t bring up quite as often.&lt;/p&gt;</description></item><item><title>Backend Engineer vs Data Engineer: What's the Difference?</title><link>https://boot.dev/blog/backend/backend-engineer-vs-data-engineer/</link><pubDate>Wed, 21 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/backend-engineer-vs-data-engineer/</guid><description>&lt;p&gt;The sexiest job title of the decade, data scientist, has spawned about a dozen equally sexy but somewhat confusing and overlapping job titles. The primary offshoot of a data scientist is a &lt;em&gt;data engineer&lt;/em&gt;. Let&amp;rsquo;s talk about the difference between a data engineer and a back-end engineer, because frankly, the lines can get quite blurred.&lt;/p&gt;</description></item><item><title>Do Better in Coding Interviews by Being Confident and Humble</title><link>https://boot.dev/blog/jobs/confidence-in-job-interviews/</link><pubDate>Tue, 20 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/confidence-in-job-interviews/</guid><description>&lt;p&gt;I think we often do a great job of flogging the dead horse of whiteboarding problems when giving coding interview advice. Heck, that&amp;rsquo;s what I&amp;rsquo;ve dedicated the entirety of &lt;a href="https://www.boot.dev"&gt;Boot.dev&lt;/a&gt; to. While the &lt;em&gt;hard&lt;/em&gt; skills you&amp;rsquo;ll need to be able to solve technical interview problems are necessary, it&amp;rsquo;s also critically important to work on your &lt;em&gt;soft&lt;/em&gt; skills.&lt;/p&gt;</description></item><item><title>New 'Learn SQL' Course Launched on Boot.dev</title><link>https://boot.dev/blog/news/learn-sql-course-released/</link><pubDate>Mon, 19 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/learn-sql-course-released/</guid><description>&lt;p&gt;I&amp;rsquo;m happy to announce that today we launched our new &lt;a href="https://www.boot.dev/courses/learn-sql"&gt;Learn SQL course&lt;/a&gt;! It was a ton of fun to write, but I also had a blast building the back-end infrastructure that allows students to write and execute SQL in the browser. If you&amp;rsquo;ve been wanting to gain a solid foundation of SQL skills, this course is for you!&lt;/p&gt;</description></item><item><title>The More Mentors, The Better (When Learning to Code)</title><link>https://boot.dev/blog/news/learn-from-multiple-people/</link><pubDate>Tue, 13 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/learn-from-multiple-people/</guid><description>&lt;p&gt;Vim or VS Code? Tabs or spaces? Rails or Django? The world of programming is fraught with decisions to be made. Sometimes experienced developers are able to share their beliefs in a somewhat objective way. That said, we&amp;rsquo;re all human, and opinions can come across as gospel when we&amp;rsquo;re not careful.&lt;/p&gt;</description></item><item><title>Are You a DevOps Engineer If You Aren't Writing Code?</title><link>https://boot.dev/blog/devops/devops-engineers-should-code/</link><pubDate>Mon, 12 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/devops-engineers-should-code/</guid><description>&lt;p&gt;&amp;ldquo;DevOps&amp;rdquo; is one of the most misunderstood terms in the software development industry. To be clear, I&amp;rsquo;m not the arbiter of truth when it comes to the definitions of words. That said, I&amp;rsquo;m here to say two things:&lt;/p&gt;</description></item><item><title>What is a Computer Scientist, and What Do They Do?</title><link>https://boot.dev/blog/jobs/what-do-computer-scientists-do/</link><pubDate>Mon, 12 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/what-do-computer-scientists-do/</guid><description>&lt;p&gt;At work, computer scientists build and deploy programs, algorithms, and systems to solve real-world problems. In most tech jobs, they spend the majority of their time working in teams on new software products. Some computer scientists are more research-oriented however, and may spend time developing new algorithms or pushing the boundaries of what academia knows about certain CS questions.&lt;/p&gt;</description></item><item><title>How Long Does It Take to Become a Back End Developer?</title><link>https://boot.dev/blog/backend/how-long-to-become-backend-dev/</link><pubDate>Mon, 05 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/how-long-to-become-backend-dev/</guid><description>&lt;p&gt;I get really frustrated when I see people and companies online selling unrealistic dreams when it comes to coding education. It&amp;rsquo;s quite lucrative when you&amp;rsquo;re in the edtech industry to heavily exaggerate (or even lie) about how long it will take for learners to get job-ready. I teach backend development skills at &lt;a href="https://www.boot.dev"&gt;Boot.dev&lt;/a&gt; and try my best to give students realistic goals they can reach for.&lt;/p&gt;</description></item><item><title>Keyup and Keydown Event Handlers in Vue 3</title><link>https://boot.dev/blog/vue/vue-key-events/</link><pubDate>Sun, 04 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/vue/vue-key-events/</guid><description>&lt;p&gt;I recently spent &lt;em&gt;far too long&lt;/em&gt; fighting with Vue&amp;rsquo;s &lt;code&gt;keyup&lt;/code&gt; and &lt;code&gt;keydown&lt;/code&gt; functionality while building &lt;a href="https://www.boot.dev"&gt;Boot.dev&amp;rsquo;s&lt;/a&gt; front-end. I wanted to handle &lt;code&gt;ctrl+period&lt;/code&gt; keyboard events and it took me &lt;em&gt;forever&lt;/em&gt; to find the part of the documentation that addressed my use case. Hopefully, this guide can save you some time!&lt;/p&gt;</description></item><item><title>Boot.dev Hackathon September 1st, 2022</title><link>https://boot.dev/blog/news/hackathon-sept-2022/</link><pubDate>Sat, 03 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/hackathon-sept-2022/</guid><description>&lt;p&gt;Mark your calendar, because we&amp;rsquo;re hosting another hackathon in the &lt;a href="https://discord.gg/EEkFwbv"&gt;Boot.dev Discord server&lt;/a&gt;! The kickoff meeting will be on Thursday, September 1st at 4PM MST, you can &lt;a href="https://discord.gg/7yQk62cZG9?event=1007370275777683466"&gt;RSVP for that event here in our Discord server&lt;/a&gt;. Everyone is welcome to participate, &lt;strong&gt;in fact, it&amp;rsquo;s free and we&amp;rsquo;ll have prizes for all the winners!&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Write on the Boot.dev Blog</title><link>https://boot.dev/blog/misc/writing-on-bootdev/</link><pubDate>Fri, 02 Sep 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/writing-on-bootdev/</guid><description>&lt;p&gt;We&amp;rsquo;ve just opened up the &lt;a href="https://boot.dev/blog/"&gt;Boot.dev Blog&lt;/a&gt; to public contributions! We&amp;rsquo;re really excited to see all the great stories that our readers and students will create.&lt;/p&gt;</description></item><item><title>The Top 11 Computer Science Books for Self Study [2026]</title><link>https://boot.dev/blog/computer-science/computer-science-books/</link><pubDate>Wed, 24 Aug 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/computer-science-books/</guid><description>&lt;p&gt;In today&amp;rsquo;s modern, fast-paced world, we look to StackOverflow, Reddit, and &lt;a href="https://www.boot.dev"&gt;hands-on courses&lt;/a&gt; to learn about computer science and software engineering. But there are some real benefits to using books as an additional resource.&lt;/p&gt;</description></item><item><title>A Complete Overview of Computer Science for Beginners</title><link>https://boot.dev/blog/computer-science/computer-science-for-beginners/</link><pubDate>Sun, 21 Aug 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/computer-science-for-beginners/</guid><description>&lt;p&gt;Getting into computer science can be a daunting task. There are so many career paths down which a computer education can take you, so many programming languages to master, and so many skills to learn. I&amp;rsquo;ll give you a basic rundown of what computer science &lt;em&gt;is&lt;/em&gt;, along with a plethora of resources and tools to help you carve out your own &lt;a href="https://boot.dev/blog/computer-science/comprehensive-guide-to-learn-computer-science-online/"&gt;pathway into a computer science career&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>What is the Future of Computer Science?</title><link>https://boot.dev/blog/computer-science/future-of-computer-science/</link><pubDate>Tue, 16 Aug 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/future-of-computer-science/</guid><description>&lt;p&gt;In a word, the future of computer science is &lt;strong&gt;promising&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In a few more words, the future of computer science is promising, &lt;em&gt;but with challenges to overcome&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>How to Use the Best Software Engineering Job Boards</title><link>https://boot.dev/blog/jobs/best-job-boards-software-engineers/</link><pubDate>Fri, 05 Aug 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/best-job-boards-software-engineers/</guid><description>&lt;p&gt;With so many job boards out there, it can be terribly confusing to know where to start when you&amp;rsquo;re looking for a programming job - especially if you&amp;rsquo;re looking for your &lt;em&gt;first&lt;/em&gt; programming job. I&amp;rsquo;ve found that where you search for jobs is just as important as other key preparation steps you should take in your job search, like building a &lt;a href="https://boot.dev/blog/computer-science/computer-science-resumes/"&gt;great resume&lt;/a&gt; and &lt;a href="https://boot.dev/blog/jobs/build-github-profile/"&gt;GitHub profile&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>What Are the Career Options in Computer Science?</title><link>https://boot.dev/blog/jobs/whats-the-job-outlook-for-computer-science-students/</link><pubDate>Mon, 01 Aug 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/whats-the-job-outlook-for-computer-science-students/</guid><description>&lt;p&gt;The future is bright for career options in computer science with remote work opening up doors that weren&amp;rsquo;t present before. Trying to navigate through computer science career options can be overwhelming what with all the options at your disposal. While we won&amp;rsquo;t go through &lt;em&gt;every&lt;/em&gt; job option in the field today, we have a list of common yet crucial jobs to help you get started on finding the career that&amp;rsquo;s right for you. But first&amp;hellip;&lt;/p&gt;</description></item><item><title>Using GitHub Issues to Hack Together A Feedback System</title><link>https://boot.dev/blog/misc/github-issues-for-customers/</link><pubDate>Sun, 31 Jul 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/github-issues-for-customers/</guid><description>&lt;p&gt;Boot.dev has been my side-project for the last couple of years now. Being a &lt;a href="https://www.boot.dev"&gt;learning path for backend developers&lt;/a&gt; focused on quality over quantity, I knew early on that it needed to have a &lt;em&gt;really tight&lt;/em&gt; feedback loop from students. We had (and still have) a &lt;a href="https://discord.gg/EEkFwbv"&gt;Discord server&lt;/a&gt; where myself and the students hang out, and that worked okay at first. Unfortunately, Discord channels have a couple problems when it comes to issue tracking:&lt;/p&gt;</description></item><item><title>6 Pros and Cons of Online Coding Bootcamps</title><link>https://boot.dev/blog/jobs/pros-and-cons-of-online-coding-bootcamp/</link><pubDate>Mon, 18 Jul 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/pros-and-cons-of-online-coding-bootcamp/</guid><description>&lt;p&gt;If you want to &lt;a href="https://boot.dev/blog/"&gt;learn to code&lt;/a&gt;, there are many strategies to get your coding skills from non-existent to employable. Some folks might go back to university and get a formal &lt;a href="https://boot.dev/blog/computer-science/comprehensive-guide-to-learn-computer-science-online/"&gt;education in computer science&lt;/a&gt;. Others prefer to teach themselves. And of course, you can always choose to put yourself through coding bootcamp.&lt;/p&gt;</description></item><item><title>How to Do a Coding Bootcamp Part-Time</title><link>https://boot.dev/blog/education/part-time-coding-bootcamp/</link><pubDate>Tue, 12 Jul 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/part-time-coding-bootcamp/</guid><description>&lt;h2 class="anchor heading-group" id="step-1-develop-a-caffeine-addiction"&gt;&lt;a class="heading-link" href="#step-1-develop-a-caffeine-addiction"&gt;Step 1: Develop a caffeine addiction.&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you want to add coding to your list of skills, either out of curiosity or to take your career in a whole new direction, you&amp;rsquo;ve probably considered a coding bootcamp. Then you&amp;rsquo;ve probably looked at the prices and time commitment and immediately wondered how to do a coding bootcamp part-time, instead.&lt;/p&gt;</description></item><item><title>The 12 Most Engaging Resources for Learning Python</title><link>https://boot.dev/blog/python/best-python-resources/</link><pubDate>Fri, 24 Jun 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/best-python-resources/</guid><description>&lt;p&gt;While it&amp;rsquo;s straightforward to get &lt;em&gt;Hello World&lt;/em&gt; implemented in Python, learning the ins and outs of the programming language takes a lot of time and effort.&lt;/p&gt;</description></item><item><title>Why We Force You to Learn Multiple Programming Languages</title><link>https://boot.dev/blog/education/learn-multiple-programming-languages/</link><pubDate>Mon, 13 Jun 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/learn-multiple-programming-languages/</guid><description>&lt;p&gt;I&amp;rsquo;ve been building &lt;a href="https://www.boot.dev"&gt;Boot.dev&lt;/a&gt; as a side-project for the last couple of years, and have recently had many new students ask the same question:&lt;/p&gt;</description></item><item><title>What Would a Recession Mean For Developers?</title><link>https://boot.dev/blog/news/what-would-a-recession-do-to-developers/</link><pubDate>Thu, 26 May 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/what-would-a-recession-do-to-developers/</guid><description>&lt;p&gt;With markets in a slump, many of us are concerned a recession could be right around the corner. The NASDAQ is already &lt;a href="https://www.marketwatch.com/investing/index/comp"&gt;down 27% so far in 2022&lt;/a&gt;. Heck, maybe we&amp;rsquo;re already in the middle of a recession.&lt;/p&gt;</description></item><item><title>How much do coding bootcamps cost?</title><link>https://boot.dev/blog/education/cost-of-coding-bootcamp/</link><pubDate>Tue, 24 May 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/cost-of-coding-bootcamp/</guid><description>&lt;h2 class="anchor heading-group" id="and-an-answer-to-what-youre-really-asking-are-coding-bootcamps-worth-it"&gt;&lt;a class="heading-link" href="#and-an-answer-to-what-youre-really-asking-are-coding-bootcamps-worth-it"&gt;And an answer to what you&amp;rsquo;re really asking: &amp;ldquo;are coding bootcamps worth it?&amp;rdquo;&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ll give you the quick answer right off the bat: &lt;strong&gt;coding bootcamps cost 13,500 on average based on the data &lt;a href="https://www.bestcolleges.com/bootcamps/payment/bootcamp-cost/#:~:text=Based%20on%20data%20from%20over,cost%20a%20few%20thousand%20dollars."&gt;collected by BestColleges&lt;/a&gt;&lt;/strong&gt;. On the upper end of that range, coding bootcamps cost upwards of &lt;em&gt;$20,000&lt;/em&gt;. Some of the less-expensive camps are a couple thousand dollars. It&amp;rsquo;s 2026 as I write this, so those numbers have probably increased even more in the interim.&lt;/p&gt;</description></item><item><title>The Top 8 Online Coding Bootcamps for 2026</title><link>https://boot.dev/blog/education/top-online-bootcamps/</link><pubDate>Sat, 21 May 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/top-online-bootcamps/</guid><description>&lt;h2 class="anchor heading-group" id="i-looked-at-the-cost-duration-structure-and-usp-for-each-online-coding-bootcamp"&gt;&lt;a class="heading-link" href="#i-looked-at-the-cost-duration-structure-and-usp-for-each-online-coding-bootcamp"&gt;I looked at the cost, duration, structure, and USP for each online coding bootcamp&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;ve been living under a rock for the last decade, let me quickly tell you about what a coding bootcamp is before I get into the top online coding bootcamps. Basically, a coding bootcamp is an expensive and mentally intense way to shoehorn skills and knowledge into your brain at top speed, allowing you to skip past degrees at record speed.&lt;/p&gt;</description></item><item><title>How Not to Ask for Help Online</title><link>https://boot.dev/blog/misc/getting-help-online/</link><pubDate>Fri, 20 May 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/getting-help-online/</guid><description>&lt;p&gt;I&amp;rsquo;ve spent an unhealthy amount of time online over the course of my life, and in the last couple years I&amp;rsquo;ve been managing a &lt;a href="https://discord.gg/EEkFwbv"&gt;Discord server&lt;/a&gt; for people who are &lt;a href="https://www.boot.dev/"&gt;learning computer science&lt;/a&gt;. Like all online communities, we have ban, kick, and moderation policies so that we&amp;rsquo;re not overrun with spammers and other non-contributors. However, I&amp;rsquo;m not perfect, and I have realized recently that we get a decent number of members who at first glance seemed like a spammer, but it turns out they just have &lt;em&gt;no idea&lt;/em&gt; how to communicate online in a way that&amp;rsquo;s useful to themselves and others.&lt;/p&gt;</description></item><item><title>6 Undeniable Reasons to Learn Computer Science</title><link>https://boot.dev/blog/computer-science/why-learn-computer-science/</link><pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/why-learn-computer-science/</guid><description>&lt;p&gt;Is it a bit dramatic, perhaps, to say that the fate of the world rests on computer science and that&amp;rsquo;s why you should &lt;a href="https://boot.dev/blog/computer-science/comprehensive-guide-to-learn-computer-science-online/"&gt;learn computer science&lt;/a&gt;?&lt;/p&gt;</description></item><item><title>The Problem with Education is a Problem of Incentives</title><link>https://boot.dev/blog/education/problem-of-incentives-in-education/</link><pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/education/problem-of-incentives-in-education/</guid><description>&lt;p&gt;I&amp;rsquo;ve found that almost anyone I talk to agrees with the statement:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There is something wrong with education, particularly higher education.&lt;/p&gt;</description></item><item><title>We Just Launched Community Insights</title><link>https://boot.dev/blog/news/insights-launch/</link><pubDate>Wed, 27 Apr 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/insights-launch/</guid><description>&lt;h2 class="anchor heading-group" id="tldr"&gt;&lt;a class="heading-link" href="#tldr"&gt;tl;dr&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;At Boot.dev we&amp;rsquo;ve launched &amp;ldquo;community insights&amp;rdquo;! Insights make it possible for our students to drop comments at the bottom of any step in our coding courses. We&amp;rsquo;ve quickly found that we have &lt;em&gt;amazing&lt;/em&gt; students, and it&amp;rsquo;s much better for everyone if we give them tools to help each other more directly.&lt;/p&gt;</description></item><item><title>Top 10 Communities For Learning to Code</title><link>https://boot.dev/blog/misc/best-coding-communities/</link><pubDate>Wed, 20 Apr 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/best-coding-communities/</guid><description>&lt;h2 class="anchor heading-group" id="why-you-need-a-coding-community"&gt;&lt;a class="heading-link" href="#why-you-need-a-coding-community"&gt;Why you need a coding community&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The one thing that every programmer has in common, whether they&amp;rsquo;ve only ever implemented a &amp;ldquo;Hello World&amp;rdquo; program or they&amp;rsquo;re considered a &amp;ldquo;senior&amp;rdquo; software engineer, is the need to continuously learn. New technologies, programming languages, frameworks, libraries, and conventions are constantly being introduced to the industry. As a beginner, it can be hard to suss out what you need to know to enter the profession, and once you&amp;rsquo;re a proficient coder, it&amp;rsquo;s tiring to constantly investigate trending topics in tech.&lt;/p&gt;</description></item><item><title>Qvault is moving to Boot.dev</title><link>https://boot.dev/blog/news/qvault-moves-to-bootdev/</link><pubDate>Thu, 07 Apr 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/qvault-moves-to-bootdev/</guid><description>&lt;p&gt;We&amp;rsquo;ll keep this announcement short – we&amp;rsquo;ve moved Qvault.io to &lt;a href="https://www.boot.dev"&gt;Boot.dev&lt;/a&gt;! As you know, we&amp;rsquo;ve been hard at work bootstrapping on online computer science bootcamp. Qvault (now Boot.dev) is a simple CS curriculum where our students build real projects using modern programming languages and technologies.&lt;/p&gt;</description></item><item><title>How to Build the Best GitHub Profile for Your Job Search</title><link>https://boot.dev/blog/jobs/build-github-profile/</link><pubDate>Fri, 04 Mar 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/build-github-profile/</guid><description>&lt;p&gt;I&amp;rsquo;ve reviewed a lot of resumes, both as an engineering manager and in the monthly resume workshops we do in the &lt;a href="https://discord.gg/EEkFwbv"&gt;Boot.dev Discord group&lt;/a&gt;. I&amp;rsquo;m convinced that these days a developer&amp;rsquo;s GitHub profile is just as important as their resume itself. If you haven&amp;rsquo;t started your first job yet, this advice is doubly important. Anyone looking to hire an entry-level developer is going to be diving into your public GitHub presence looking to get an idea for where your skill level is at.&lt;/p&gt;</description></item><item><title>8 Best Ways to Learn JavaScript, Personalized</title><link>https://boot.dev/blog/javascript/best-ways-to-learn-javascript/</link><pubDate>Sat, 05 Feb 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/best-ways-to-learn-javascript/</guid><description>&lt;p&gt;JavaScript is undoubtedly one of the best languages to learn as a developer, whether you&amp;rsquo;ve been at it for years or are just starting out. More than 97% of today&amp;rsquo;s websites are powered by JavaScript. Regardless of what field you work in, you&amp;rsquo;ll likely be exposed to JavaScript at some point, as the language is firmly entrenched in the online world.&lt;/p&gt;</description></item><item><title>How Long Does It Take To Learn JavaScript? (&amp; How To Learn Fast)</title><link>https://boot.dev/blog/javascript/how-to-learn-javascript-fast/</link><pubDate>Sat, 05 Feb 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/how-to-learn-javascript-fast/</guid><description>&lt;p&gt;A good programming language is one that newcomers can learn fast. This is one of the reasons why JavaScript is so popular – it&amp;rsquo;s possible to learn Javascript quickly and with minimum fuss.&lt;/p&gt;</description></item><item><title>Julia vs Python: Which is Best to Learn First?</title><link>https://boot.dev/blog/python/python-vs-julia/</link><pubDate>Sat, 05 Feb 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-vs-julia/</guid><description>&lt;p&gt;Anyone who&amp;rsquo;s anyone in the tech world has heard of Python. It&amp;rsquo;s one of the most popular programming languages in the world, and it&amp;rsquo;s been near the top of developer &lt;a href="https://survey.stackoverflow.co/2025/technology#most-popular-technologies"&gt;popularity rankings&lt;/a&gt; for years. &lt;a href="https://www.wired.com/story/python-language-more-popular-than-ever/"&gt;Wired&lt;/a&gt; reported that it&amp;rsquo;s tied for second with Java behind JavaScript.&lt;/p&gt;</description></item><item><title>The 7 Best Ways to Learn Golang and Find Your Inner Gopher</title><link>https://boot.dev/blog/golang/best-ways-to-learn-golang/</link><pubDate>Sat, 05 Feb 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/best-ways-to-learn-golang/</guid><description>&lt;p&gt;Golang was released in 2012, making it a relatively new language when compared to competitors like Python, which was released nearly two decades prior, yet it&amp;rsquo;s managed to stay ahead of the game as not only a coveted language by employers, but also loved by programmers.&lt;/p&gt;</description></item><item><title>Top 4 Practical Uses of JavaScript</title><link>https://boot.dev/blog/javascript/what-is-javascript-used-for/</link><pubDate>Sun, 30 Jan 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/what-is-javascript-used-for/</guid><description>&lt;p&gt;JavaScript is one of the most versatile programming languages, maybe even more flexible than Python. JavaScript is used on both the front and back end of web systems. Because of that, of the 1.8 billion websites in the world, &lt;a href="https://generalassemb.ly/blog/what-makes-javascript-so-popular/#:~:text=There%20are%20over%201.8%20Billion,to%20GitHub's%202020%20Octoverse%20Report."&gt;95% of them use JavaScript&lt;/a&gt;. It&amp;rsquo;s hard to interact with the modern Internet, with its pretty graphics and interactive maps, without using JavaScript. &lt;a href="https://enablemarketing.com/makes-website-visually-appealing/#gref"&gt;Enable Marketing says&lt;/a&gt; the top four qualities of a visually appealing website are design and color, graphics and visuals, usability, and consistency. JavaScript is a major player in all four of those attributes.&lt;/p&gt;</description></item><item><title>How Hard Is Python to Learn?</title><link>https://boot.dev/blog/python/how-hard-is-python-to-learn/</link><pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/how-hard-is-python-to-learn/</guid><description>&lt;h2 class="anchor heading-group" id="quick-answer-python-is-one-of-the-easiest-coding-languages-to-learn"&gt;&lt;a class="heading-link" href="#quick-answer-python-is-one-of-the-easiest-coding-languages-to-learn"&gt;Quick Answer: Python is one of the easiest coding languages to learn&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Python is arguably &lt;em&gt;the&lt;/em&gt; easiest programming language for beginners to learn. If you&amp;rsquo;re interested in writing code, &lt;a href="https://www.boot.dev/courses/learn-code-python"&gt;Python is a fantastic place to start&lt;/a&gt;. Aside from just being easy to learn, it&amp;rsquo;s also widely used by industry professionals so you really can&amp;rsquo;t go wrong.&lt;/p&gt;</description></item><item><title>JavaScript vs C++: 3 Factors To Choose Which Is Best For You</title><link>https://boot.dev/blog/javascript/javascript-vs-c-plus-plus/</link><pubDate>Sat, 22 Jan 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/javascript-vs-c-plus-plus/</guid><description>&lt;p&gt;Every coder is told to learn JavaScript, seeing that it&amp;rsquo;s the foundation of the world wide web. And… every coder is taught that C++ is one of the most useful modern coding languages to learn. So no matter if you&amp;rsquo;re brand new to the coding world, or you have a few languages under your belt, you might be wondering whether you should tackle JavaScript vs C++ for your first (or next) language.&lt;/p&gt;</description></item><item><title>Qvault Hackathon Kickoff Jan 17th, 2022</title><link>https://boot.dev/blog/news/qvault-hackathon-kickoff-jan-17th-2022/</link><pubDate>Sun, 16 Jan 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/qvault-hackathon-kickoff-jan-17th-2022/</guid><description>&lt;p&gt;We&amp;rsquo;re starting our first hackathon in the &lt;a href="https://discord.gg/EEkFwbv"&gt;Qvault Discord server&lt;/a&gt; on January 17th at 8AM. Everyone is welcome to participate. Let&amp;rsquo;s go over the details about of event. You can &lt;a href="https://discord.gg/7yQk62cZG9?event=930301125284999239"&gt;RSVP for the event here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>An Overview of Boot.dev's Full-Stack Architecture</title><link>https://boot.dev/blog/misc/qvault-full-stack-architecture-example/</link><pubDate>Mon, 10 Jan 2022 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/qvault-full-stack-architecture-example/</guid><description>&lt;p&gt;Because I&amp;rsquo;ve had several inquiries on this topic, I thought it would be interesting to publish some information on how the boot.dev website and platform work, and how I&amp;rsquo;ve organized all the technologies I&amp;rsquo;m using. I&amp;rsquo;ll do my best to keep this list updated in the future as I migrate from older tools and technologies to newer ones, but assume that this might be a bit out of date by the time you read it.&lt;/p&gt;</description></item><item><title>Python Assert Statement, How to Test a Condition</title><link>https://boot.dev/blog/python/python-assert/</link><pubDate>Mon, 13 Dec 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-assert/</guid><description>&lt;p&gt;In Python, an assertion is a statement that confirms something about the state of your program. For example, if you write a &lt;code&gt;createUser&lt;/code&gt; function and you are sure that the user needs to be older than 18, you assert that the &lt;code&gt;age&lt;/code&gt; field is greater than or equal to 18. You can think of an &lt;code&gt;assert&lt;/code&gt; statement like a &lt;a href="https://boot.dev/blog/clean-code/writing-good-unit-tests-dont-mock-database-connections/"&gt;unit test&lt;/a&gt; that is performed at runtime.&lt;/p&gt;</description></item><item><title>Complete Guide to Removing Elements From Lists in Python</title><link>https://boot.dev/blog/python/remove-element-from-python-list/</link><pubDate>Thu, 09 Dec 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/remove-element-from-python-list/</guid><description>&lt;p&gt;While lists aren&amp;rsquo;t the most efficient &lt;a href="https://www.boot.dev/courses/learn-data-structures-and-algorithms-python"&gt;data structure&lt;/a&gt; if you&amp;rsquo;ll be doing lots of deleting from the middle, there are definitely good ways to accomplish the task. The built-in &lt;a href="https://python-reference.readthedocs.io/en/latest/docs/list/remove.html"&gt;&lt;code&gt;remove()&lt;/code&gt;&lt;/a&gt; method should be your first option. Let&amp;rsquo;s go over some examples.&lt;/p&gt;</description></item><item><title>How to Use the Ternary Operator in Python</title><link>https://boot.dev/blog/python/ternary-operator-python/</link><pubDate>Thu, 09 Dec 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/ternary-operator-python/</guid><description>&lt;p&gt;Developers love concise code that&amp;rsquo;s easy to read, and that&amp;rsquo;s exactly what ternary operators are for. The ternary operator in Python lets you perform a small &lt;code&gt;if/else&lt;/code&gt; statement in a &lt;strong&gt;single line&lt;/strong&gt;. Let&amp;rsquo;s take a look at a few examples.&lt;/p&gt;</description></item><item><title>Removing Duplicates From a List in Python</title><link>https://boot.dev/blog/python/remove-duplicates-from-list-python/</link><pubDate>Thu, 09 Dec 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/remove-duplicates-from-list-python/</guid><description>&lt;p&gt;Let&amp;rsquo;s go over a few idiomatic ways to remove duplicates from lists in Python.&lt;/p&gt;
&lt;h2 class="anchor heading-group" id="method-1---create-a-new-list-simplest"&gt;&lt;a class="heading-link" href="#method-1---create-a-new-list-simplest"&gt;Method #1 - Create a new list (simplest)&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This is the easiest algorithm to code, but because it requires creating a new list, also requires more memory and is a bit slower.&lt;/p&gt;</description></item><item><title>How to Check if a File Exists in Python</title><link>https://boot.dev/blog/python/file-exists-python/</link><pubDate>Wed, 08 Dec 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/file-exists-python/</guid><description>&lt;p&gt;When working with files in Python, you&amp;rsquo;ll often need to check if a file exists before you do anything else with it, such as reading from or writing to it. Luckily, the Python standard library makes this a piece of cake.&lt;/p&gt;</description></item><item><title>How to Use Golang's Generics [Updated since 1.18]</title><link>https://boot.dev/blog/golang/how-to-use-golangs-generics/</link><pubDate>Mon, 06 Dec 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/how-to-use-golangs-generics/</guid><description>&lt;p&gt;Generics in Go have been &lt;a href="https://go.dev/blog/go1.18"&gt;released with Go 1.18&lt;/a&gt;! This is one of the most eagerly-awaited features since the release of the language. Many devs have gone so far as to say Go&amp;rsquo;s previous lack of generic types made the language too painful to use at all. Let&amp;rsquo;s dive into what generics are, why you might use them in your own projects, and how they work in Go.&lt;/p&gt;</description></item><item><title>Your Code isn't Correct</title><link>https://boot.dev/blog/computer-science/your-code-isnt-correct/</link><pubDate>Mon, 29 Nov 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/your-code-isnt-correct/</guid><description>&lt;p&gt;There is a common trap that we fall into as developers, and it is believing that because some code &amp;ldquo;worked&amp;rdquo; that the code was written &amp;ldquo;correctly&amp;rdquo;. In reality, for most technical problems, a good developer can likely point out several different solutions. Any of those solutions might be perfectly reasonable, while none of them is the single &amp;ldquo;correct way&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Coding Interviews - Why you shouldn't give homework</title><link>https://boot.dev/blog/jobs/coding-interviews-why-you-shouldnt-give-homework/</link><pubDate>Thu, 18 Nov 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/coding-interviews-why-you-shouldnt-give-homework/</guid><description>&lt;p&gt;A while back I went through the interview process at a company I won&amp;rsquo;t name here. The first interview was basically just a phone screen, where I was able to chat with my would-be manager about things like compensation range, tech stack, work duties, etc. It went well! The guy was delightful.&lt;/p&gt;</description></item><item><title>Python vs C++: The Best Language To Learn For You</title><link>https://boot.dev/blog/python/python-vs-c-the-best-language-to-learn-for-you/</link><pubDate>Wed, 17 Nov 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-vs-c-the-best-language-to-learn-for-you/</guid><description>&lt;p&gt;It&amp;rsquo;s either a blessing or a curse when choosing to learn Python or C++ because there couldn&amp;rsquo;t be two more opposing languages to compare.&lt;/p&gt;</description></item><item><title>PHP vs JavaScript: Which is Best for Web Development?</title><link>https://boot.dev/blog/javascript/php-vs-javascript/</link><pubDate>Wed, 10 Nov 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/php-vs-javascript/</guid><description>&lt;p&gt;When comparing programming languages, it&amp;rsquo;s not often that you come across two that actually work well together, but that happens to be the case when it comes to PHP and JavaScript.&lt;/p&gt;</description></item><item><title>Node.js vs JavaScript: The Low-Down</title><link>https://boot.dev/blog/javascript/nodejs-vs-javascript/</link><pubDate>Tue, 09 Nov 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/nodejs-vs-javascript/</guid><description>&lt;p&gt;So you&amp;rsquo;re a fan of web development? Great! You&amp;rsquo;re probably already familiar with JavaScript (if not, &lt;a href="https://www.boot.dev/courses/learn-javascript"&gt;check out our JavaScript course here&lt;/a&gt;) and may have heard of Node.js as well. But which one is better, and how are they different? When should you pick Node.js vs JavaScript?&lt;/p&gt;</description></item><item><title>Python vs PHP: 9 Critical Differences Examined</title><link>https://boot.dev/blog/python/python-versus-php/</link><pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-versus-php/</guid><description>&lt;p&gt;PHP famously claims to be the backend programming language for just under &lt;a href="https://w3techs.com/technologies/details/pl-php"&gt;80% of the Internet&lt;/a&gt;. However, if you look at the &lt;a href="https://survey.stackoverflow.co/2025/technology#most-popular-technologies"&gt;popularity rankings of programming languages&lt;/a&gt;, Python is consistently far ahead of PHP. How can that be? Both languages can be used for backend web development, and PHP was even specifically made for web development.&lt;/p&gt;</description></item><item><title>Ruby vs JavaScript: Which Language Should You Learn First?</title><link>https://boot.dev/blog/javascript/ruby-vs-javascript-which-language-should-you-learn-first/</link><pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/ruby-vs-javascript-which-language-should-you-learn-first/</guid><description>&lt;p&gt;When broken down into core features – like programming style and code execution – JavaScript and Ruby seem deceivingly similar, but there are a few constitutional differences.&lt;/p&gt;</description></item><item><title>The Best Product Managers Have The Worst Ideas</title><link>https://boot.dev/blog/misc/the-best-product-managers-have-terrible-ideas/</link><pubDate>Tue, 02 Nov 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/the-best-product-managers-have-terrible-ideas/</guid><description>&lt;p&gt;It&amp;rsquo;s hard finding good product people. That fact is really a tragedy because they are probably the most important part of any product-focused organization. I think there is a misconception in the software industry that product managers have a good sense of &amp;ldquo;what users want&amp;rdquo;, &amp;ldquo;what the next feature should be&amp;rdquo; or &amp;ldquo;ux design&amp;rdquo;. In reality, I&amp;rsquo;ve come to believe that the best product managers aren&amp;rsquo;t good at any of that, &lt;em&gt;and they know it&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Ruby vs Python: 10 Questions to Ask Before You Choose</title><link>https://boot.dev/blog/python/ruby-vs-python/</link><pubDate>Mon, 25 Oct 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/ruby-vs-python/</guid><description>&lt;p&gt;A ruby is a beautiful red gemstone; a python is a beautiful green snake. Aside from that, they&amp;rsquo;re both very popular programming languages. They&amp;rsquo;re popular for different reasons, and they&amp;rsquo;re good at different things. Before you choose between Ruby vs. Python, make sure you ask yourself these 10 questions.&lt;/p&gt;</description></item><item><title>The 7 Best Ways to Learn Python</title><link>https://boot.dev/blog/python/best-ways-to-learn-python/</link><pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/best-ways-to-learn-python/</guid><description>&lt;p&gt;Everyone wants to know the best way to learn to code Python nowadays. It&amp;rsquo;s a great language, as I&amp;rsquo;ve &lt;a href="https://towardsdatascience.com/10-compelling-reasons-to-learn-python-for-data-science-fa31160321cb"&gt;written about&lt;/a&gt; before, with great career prospects and tons of useful features.&lt;/p&gt;</description></item><item><title>19 Simple JavaScript Projects for Beginners [Updated for 2026]</title><link>https://boot.dev/blog/javascript/javascript-projects-for-beginners/</link><pubDate>Fri, 08 Oct 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/javascript-projects-for-beginners/</guid><description>&lt;p&gt;Really good JavaScript projects for beginners can be tough to find. Sometimes they&amp;rsquo;re too hard, or assume too much prior knowledge. Sometimes they&amp;rsquo;re actually too easy, and don&amp;rsquo;t push you to develop any solid JavaScript skills. (Cough cough, that tic-tac-toe game I know you&amp;rsquo;ve probably seen recommended about a thousand times by now.)&lt;/p&gt;</description></item><item><title>C# vs JavaScript: Choosing the Best Language for You</title><link>https://boot.dev/blog/javascript/c-sharp-vs-javascript/</link><pubDate>Thu, 07 Oct 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/c-sharp-vs-javascript/</guid><description>&lt;p&gt;JavaScript (JS), once regarded as simply a &amp;ldquo;glue language&amp;rdquo;, has gone on to become &lt;a href="https://www.statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/"&gt;the most popular programming language&lt;/a&gt; in the world.&lt;/p&gt;</description></item><item><title>17 Fascinating Python Projects for Beginners</title><link>https://boot.dev/blog/python/python-projects-for-beginners/</link><pubDate>Wed, 06 Oct 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-projects-for-beginners/</guid><description>&lt;p&gt;I&amp;rsquo;ve made no secret of the fact that I love Python, and that I believe &lt;a href="https://www.boot.dev/courses/learn-code-python"&gt;one of the best ways to learn Python&lt;/a&gt; is by finding an awesome project you care about to work on. There&amp;rsquo;s nothing more stimulating than passion and curiosity, and that makes the best projects for Python beginners usually something a little grittier than the standard tutorials.&lt;/p&gt;</description></item><item><title>Four-Course Python Data Structures and Algorithms Track Released</title><link>https://boot.dev/blog/news/python-track-announcement/</link><pubDate>Mon, 04 Oct 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/python-track-announcement/</guid><description>&lt;p&gt;We recently took a look at our course curriculum and felt that our current Learn Algorithms course, written in Go, would be better served if it covered Python instead. After much deliberation, we decided to rewrite the course, and we&amp;rsquo;re super excited to have now released the course in Python!&lt;/p&gt;</description></item><item><title>HTML vs CSS vs JavaScript Explained</title><link>https://boot.dev/blog/javascript/html-css-javascript/</link><pubDate>Mon, 27 Sep 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/html-css-javascript/</guid><description>&lt;p&gt;HTML, CSS, and JavaScript are the most important tools in your arsenal for all your web design escapades. Rather than compete, they complement and augment each other, and their power expounds when they&amp;rsquo;re combined &amp;ndash; like internet Power Rangers.&lt;/p&gt;</description></item><item><title>Well, We Might Have a Video Call for That!</title><link>https://boot.dev/blog/misc/well-we-might-have-a-video-call-for-that/</link><pubDate>Mon, 27 Sep 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/well-we-might-have-a-video-call-for-that/</guid><description>&lt;p&gt;This article contains some of my thoughts on communications for distributed teams and is a response to &lt;a href="https://xahteiwi.eu/resources/presentations/no-we-wont-have-a-video-call-for-that/"&gt;No, we won&amp;rsquo;t have a video call for that!&lt;/a&gt; by Florian Hass. Read his article first if you haven&amp;rsquo;t yet, he makes some great points!&lt;/p&gt;</description></item><item><title>Node.js vs Golang: Compared Over 6 Key Areas</title><link>https://boot.dev/blog/golang/node-js-vs-go/</link><pubDate>Thu, 23 Sep 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/node-js-vs-go/</guid><description>&lt;p&gt;In 2009, the computer science world was blessed with two powerful tools: Golang and Node.js.&lt;/p&gt;</description></item><item><title>Go vs C#: Compared Over 5 Key Areas</title><link>https://boot.dev/blog/golang/go-vs-c-sharp/</link><pubDate>Wed, 22 Sep 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/go-vs-c-sharp/</guid><description>&lt;p&gt;Golang and C# offer a unique mixture of similarities and differences, having both been inspired by the same language, C.&lt;/p&gt;</description></item><item><title>Rust vs Python in Data Science, Systems Development &amp; More</title><link>https://boot.dev/blog/python/rust-vs-python/</link><pubDate>Wed, 15 Sep 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/rust-vs-python/</guid><description>&lt;p&gt;Rust and Python contrast in a unique way because while they both provide back-end web support, Python thrives as a flexible and consistent language, while Rust makes a name for itself with raw power and speed.&lt;/p&gt;</description></item><item><title>9 Outstanding Reasons to Learn Python for Finance</title><link>https://boot.dev/blog/python/learn-python-for-finance/</link><pubDate>Tue, 14 Sep 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/learn-python-for-finance/</guid><description>&lt;p&gt;If you&amp;rsquo;re thinking about dipping your toe into the finance sector for your career and you stumble across this article, you may be wondering, &amp;ldquo;How can Python help in finance?&amp;rdquo;&lt;/p&gt;</description></item><item><title>Python vs Java: Performance, Salary &amp; More Compared</title><link>https://boot.dev/blog/python/python-vs-java/</link><pubDate>Fri, 10 Sep 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-vs-java/</guid><description>&lt;p&gt;Comparing Python and Java is a bit like comparing boats and cars. They both get you from point A to B and are fun to show off, but that&amp;rsquo;s where the similarities end. And the same with Python and Java, they&amp;rsquo;re both programming languages and known for powerful server-side coding, but after that, they become completely different tools.&lt;/p&gt;</description></item><item><title>Why Learn Python? 9 Key Reasons</title><link>https://boot.dev/blog/python/why-learn-python/</link><pubDate>Thu, 09 Sep 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/why-learn-python/</guid><description>&lt;p&gt;Simple to learn, endlessly versatile, and perennially in demand by employers paying higher and higher salaries every year — it feels like there&amp;rsquo;s a million reasons to learn Python.&lt;/p&gt;</description></item><item><title>What is Cryptography? A Complete Overview</title><link>https://boot.dev/blog/security/what-is-cryptography/</link><pubDate>Wed, 08 Sep 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/what-is-cryptography/</guid><description>&lt;h2 class="anchor heading-group" id="what-is-cryptography"&gt;&lt;a class="heading-link" href="#what-is-cryptography"&gt;What is cryptography?&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Simply put, Cryptography provides a method for secure communication. It stops unauthorized parties, commonly referred to as adversaries or hackers, from gaining access to the secret messages communicated between authorized parties. The method that cryptography provides is called &lt;em&gt;encryption&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>JavaScript vs TypeScript: What's the Difference?</title><link>https://boot.dev/blog/javascript/javascript-vs-typescript/</link><pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/javascript-vs-typescript/</guid><description>&lt;p&gt;Whether you&amp;rsquo;re new or old to the computer science community, you&amp;rsquo;ve probably asked yourself, &amp;ldquo;What is TypeScript?&amp;rdquo; and if you haven&amp;rsquo;t, it won&amp;rsquo;t be long before you do.&lt;/p&gt;</description></item><item><title>R vs Python: Which Is Best for Data?</title><link>https://boot.dev/blog/python/r-vs-python/</link><pubDate>Wed, 25 Aug 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/r-vs-python/</guid><description>&lt;p&gt;Python and R made a name for themselves as top-end competitors in the world of data science for their ability to seamlessly navigate and handle data. But what sets these languages apart from each other?&lt;/p&gt;</description></item><item><title>Python vs JavaScript: What's the Difference and Which Should You Learn?</title><link>https://boot.dev/blog/python/python-vs-javascript/</link><pubDate>Tue, 24 Aug 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-vs-javascript/</guid><description>&lt;p&gt;From the outset, comparing JavaScript and Python seems a bit like comparing apples and oranges. Surprisingly however, there are quite a few similarities hidden beneath their popular respective exteriors.&lt;/p&gt;</description></item><item><title>10 Compelling Reasons to Learn Python for Data Science</title><link>https://boot.dev/blog/python/python-for-data-science/</link><pubDate>Thu, 19 Aug 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-for-data-science/</guid><description>&lt;p&gt;&lt;strong&gt;Read this if you don&amp;rsquo;t know where to start learning data science&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Data science is a vast field with tons of entry points, depending on where and how you want to start. I started learning basic data science with a language called R, until I ran into one of its many limitations. Python has definitely won the battle of R vs Python for data science, as I learned. When I wanted to take the next step in my data science journey, I leaned on Python. Learning Python for data science is one of the fastest, easiest, and most fun ways to get into data science.&lt;/p&gt;</description></item><item><title>Scala vs Go: Comparing Everything You Need to Know</title><link>https://boot.dev/blog/golang/scala-vs-go/</link><pubDate>Wed, 18 Aug 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/scala-vs-go/</guid><description>&lt;p&gt;Scala and Golang are newer languages, only coming onto the scene after the turn of the century, but in that time they&amp;rsquo;ve managed to become two of &lt;em&gt;the&lt;/em&gt; &lt;a href="https://insights.stackoverflow.com/survey/2020#technology-what-languages-are-associated-with-the-highest-salaries-worldwide-united-states"&gt;highest-paid languages&lt;/a&gt; for developers, with the industry benefiting from their fresh creation.&lt;/p&gt;</description></item><item><title>Death, Taxes, and Database Migrations</title><link>https://boot.dev/blog/backend/death-taxes-and-database-migrations/</link><pubDate>Tue, 17 Aug 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/death-taxes-and-database-migrations/</guid><description>&lt;h2 class="anchor heading-group" id="in-this-world-nothing-can-be-said-to-be-certain-except-death-taxes-and-migrations"&gt;&lt;a class="heading-link" href="#in-this-world-nothing-can-be-said-to-be-certain-except-death-taxes-and-migrations"&gt;In this world, nothing can be said to be certain, except death, taxes, and migrations.&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Earlier in my career, I would come to a new project and inevitably a hectic migration would be underway. It&amp;rsquo;s not always a &amp;ldquo;stop the world&amp;rdquo; change, it can be as simple as switching from NPM to Yarn, but something is always changing. I used to naively believe my managers when they said cute things like &amp;ldquo;just this once&amp;rdquo; or &amp;ldquo;we&amp;rsquo;ll finally have our dependencies up to date.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Golang vs Java: 6 Key Comparisons</title><link>https://boot.dev/blog/golang/golang-vs-java-go/</link><pubDate>Wed, 04 Aug 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-vs-java-go/</guid><description>&lt;p&gt;Golang (or Go) and Java offer an interesting comparison because despite their wide differences, there are also key similarities in how and where they&amp;rsquo;re used by programmers.&lt;/p&gt;</description></item><item><title>Top 20 Entry-Level JavaScript Interview Questions</title><link>https://boot.dev/blog/javascript/javascript-interview-questions-entry-level/</link><pubDate>Thu, 29 Jul 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/javascript-interview-questions-entry-level/</guid><description>&lt;p&gt;Versatile, powerful and ever-present, JavaScript is the world&amp;rsquo;s most used programming language (for eight years and counting!) and shows no signs of slowing down. Check out these 20 practice interview questions for JavaScript! If you&amp;rsquo;re on the job-hunt for an entry-level position, read on.&lt;/p&gt;</description></item><item><title>Our Learn Python Course Has Released</title><link>https://boot.dev/blog/news/python-fundamentals-course-announcement/</link><pubDate>Tue, 27 Jul 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/python-fundamentals-course-announcement/</guid><description>&lt;p&gt;We&amp;rsquo;ve just launched our latest course, &lt;a href="https://www.boot.dev/courses/learn-code-python"&gt;Learn Python&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.boot.dev/courses/learn-code-python"&gt;Start the &amp;ldquo;Learn Python&amp;rdquo; Course Now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&amp;rsquo;s more:&lt;/strong&gt; to celebrate the release, we&amp;rsquo;re offering full FREE access to the entire course — yep, you can take the entire course for free for a month — but the code expires in just 14 days. Simply enter this code at checkout:&lt;/p&gt;</description></item><item><title>What are UUIDs, and are they better than regular IDs?</title><link>https://boot.dev/blog/backend/what-are-uuids-and-should-you-use-them/</link><pubDate>Fri, 23 Jul 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/what-are-uuids-and-should-you-use-them/</guid><description>&lt;p&gt;In the context of back-end web development, an ID is just a unique identifier for a record of data. For example, each user on a website will have its own ID. If the site is a social media platform, then each post will &lt;em&gt;also&lt;/em&gt; have a unique ID.&lt;/p&gt;</description></item><item><title>What is Go Good For? (And What Is Golang Used For?)</title><link>https://boot.dev/blog/golang/what-is-go-good-for-golang/</link><pubDate>Fri, 16 Jul 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/what-is-go-good-for-golang/</guid><description>&lt;p&gt;In 2007, frustrated by some of C++&amp;rsquo;s inefficiencies and overcomplicated nature, and desiring a programming language designed specifically for multi-core processors and effectively managing large projects, three Google engineers, Robert Griesemer, Rob Pike, and Ken Thompson, designed the Go language.&lt;/p&gt;</description></item><item><title>Golang vs C++: Which is Best For Your Next Project</title><link>https://boot.dev/blog/golang/go-vs-c-plus-plus-golang/</link><pubDate>Mon, 12 Jul 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/go-vs-c-plus-plus-golang/</guid><description>&lt;p&gt;Needing to be a math genius to &lt;a href="https://boot.dev/blog/"&gt;learn to code&lt;/a&gt; is a thing of the past. High-level programming languages offer an alternative to low-level machine code, which makes coding more accessible than ever. Let&amp;rsquo;s dive into how Golang, a modern higher-level language, matches up to C++, a tried-and-true low-level language. We&amp;rsquo;ll cover the most important points like which language is more performant, which is easier to learn, which results in cleaner code, and which programming methodologies guide their respective designs.&lt;/p&gt;</description></item><item><title>Beautiful Language and Beautiful Code</title><link>https://boot.dev/blog/computer-science/beautiful-language-and-beautiful-code/</link><pubDate>Wed, 30 Jun 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/beautiful-language-and-beautiful-code/</guid><description>&lt;p&gt;&amp;ldquo;Dead Poet&amp;rsquo;s Society&amp;rdquo; is a classic film, and has become a recent favorite of mine. There&amp;rsquo;s a scene in particular that I enjoy, where Robin William&amp;rsquo;s character explains that it&amp;rsquo;s bad practice to use terms like &amp;ldquo;very tired&amp;rdquo; or &amp;ldquo;very sad&amp;rdquo;, instead we should use descriptive words like &amp;ldquo;exhausted&amp;rdquo; or &amp;ldquo;morose&amp;rdquo;!&lt;/p&gt;</description></item><item><title>Intro to the One-Time Pad Cipher</title><link>https://boot.dev/blog/computer-science/one-time-pad-cipher/</link><pubDate>Mon, 28 Jun 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/one-time-pad-cipher/</guid><description>&lt;p&gt;In &lt;a href="https://boot.dev/blog/cryptography/what-is-cryptography/"&gt;cryptography&lt;/a&gt;, the one-time pad, or OTP is a way of encrypting information so securely that it&amp;rsquo;s impossible to be cracked. That said, OTP has a major drawback in that it requires both parties to have access to the &lt;em&gt;same&lt;/em&gt; key before a message is encrypted.&lt;/p&gt;</description></item><item><title>16 Great Coding Challenges You Can Try Out</title><link>https://boot.dev/blog/misc/best-coding-challenges/</link><pubDate>Thu, 24 Jun 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/best-coding-challenges/</guid><description>&lt;p&gt;Coding challenges are a fun way to improve your coding quickly.&lt;/p&gt;
&lt;p&gt;When I started to learn coding in school, coding challenges were the furthest thing from my mind. In fact, I was struck with one particular issue: I didn&amp;rsquo;t really &lt;em&gt;want&lt;/em&gt; to learn to code. I didn&amp;rsquo;t care enough about coding. I didn&amp;rsquo;t care about the language. I wanted to get a decent grade and get out.&lt;/p&gt;</description></item><item><title>Building a Red-Black Binary Tree in Python</title><link>https://boot.dev/blog/python/red-black-tree-python/</link><pubDate>Mon, 21 Jun 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/red-black-tree-python/</guid><description>&lt;p&gt;A red-black tree is a kind of self-balancing binary search tree. Each node stores an extra bit, which we will call the color, red or black. The color ensures that the tree remains &lt;em&gt;approximately&lt;/em&gt; balanced during insertions and deletions. When the tree is modified, the new tree is rearranged and repainted to restore the coloring properties that constrain how unbalanced the tree can become in the worst case.&lt;/p&gt;</description></item><item><title>Quick Sort in Golang</title><link>https://boot.dev/blog/golang/quick-sort-golang/</link><pubDate>Thu, 17 Jun 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/quick-sort-golang/</guid><description>&lt;p&gt;Quicksort is an efficient sorting algorithm commonly used in production sorting implementations. Like &lt;a href="https://boot.dev/blog/golang/merge-sort-golang/"&gt;Merge Sort&lt;/a&gt;, Quicksort is a &lt;a href="https://en.wikipedia.org/wiki/Divide-and-conquer_algorithm"&gt;divide-and-conquer algorithm&lt;/a&gt;. As the name implies, Quicksort is one of the fastest sorting algorithms, but you have to pay attention to detail in your implementation because if you&amp;rsquo;re not careful, your speed can drop quickly.&lt;/p&gt;</description></item><item><title>How to Write Insertion Sort in Go</title><link>https://boot.dev/blog/golang/insertion-sort-golang/</link><pubDate>Mon, 14 Jun 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/insertion-sort-golang/</guid><description>&lt;p&gt;Insertion sort builds a final sorted list one item at a time. It&amp;rsquo;s much less efficient on large lists than more advanced algorithms like quicksort or &lt;a href="https://boot.dev/blog/golang/merge-sort-golang/"&gt;merge sort&lt;/a&gt;. Insertion sort is a simple algorithm that works just like you would arrange playing cards in your hands. A slice is first split into sorted and unsorted sections, then values from the unsorted section are inserted into the correct position in the sorted section.&lt;/p&gt;</description></item><item><title>Merge Sort in Golang with Examples</title><link>https://boot.dev/blog/golang/merge-sort-golang/</link><pubDate>Thu, 10 Jun 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/merge-sort-golang/</guid><description>&lt;p&gt;Merge sort is a recursive sorting algorithm and, luckily for us, it&amp;rsquo;s quite a bit faster than &lt;a href="https://boot.dev/blog/golang/bubble-sort-golang/"&gt;bubble sort&lt;/a&gt;. Merge sort is a &lt;a href="https://en.wikipedia.org/wiki/Divide-and-conquer_algorithm"&gt;divide and conquer algorithm&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Writing Bubble Sort in Go from Scratch</title><link>https://boot.dev/blog/golang/bubble-sort-golang/</link><pubDate>Tue, 08 Jun 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/bubble-sort-golang/</guid><description>&lt;p&gt;Bubble sort is named for the way elements &amp;ldquo;bubble up&amp;rdquo; to the top of the list. Bubble sort repeatedly steps through a slice and compares adjacent elements, swapping them if they are out of order. It continues to loop over the &lt;a href="https://boot.dev/blog/golang/golang-make-maps-and-slices/"&gt;slice&lt;/a&gt; until the whole list is completely sorted.&lt;/p&gt;</description></item><item><title>Check for Standards Before Creating a New One</title><link>https://boot.dev/blog/computer-science/use-existing-standards/</link><pubDate>Mon, 07 Jun 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/use-existing-standards/</guid><description>&lt;p&gt;I recently had a ticket opened on my team&amp;rsquo;s backlog board requesting the ability to bypass our API&amp;rsquo;s caching system. For context, our front-end team uses my team&amp;rsquo;s API to make fairly heavy requests to ElasticSearch, and one of the features of our API gateway is to cache the results of heavy aggregations for ~30 seconds. It turns out, every once in a while they need to run two of the same query within the ~30-second caching window and want an updated result set.&lt;/p&gt;</description></item><item><title>How to Properly Use Defer in Golang</title><link>https://boot.dev/blog/golang/defer-golang/</link><pubDate>Tue, 01 Jun 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/defer-golang/</guid><description>&lt;h2 class="anchor heading-group" id="what-is-the-defer-keyword-in-go"&gt;&lt;a class="heading-link" href="#what-is-the-defer-keyword-in-go"&gt;What is the &amp;ldquo;defer&amp;rdquo; keyword in Go?&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In the Go programming language, &lt;code&gt;defer&lt;/code&gt; is a keyword that allows developers to delay the execution of a function until the current function returns. What throws some people off is that the deferred function&amp;rsquo;s arguments are evaluated immediately, but the function itself doesn&amp;rsquo;t fire until the wrapping function exits.&lt;/p&gt;</description></item><item><title>7 Critical Reasons Beginner Programmers Should Learn JavaScript in 2026</title><link>https://boot.dev/blog/javascript/why-learn-javascript/</link><pubDate>Tue, 25 May 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/why-learn-javascript/</guid><description>&lt;p&gt;&amp;ldquo;Why learn JavaScript?&amp;rdquo; I asked my sister when she was in college and starting to pick up the fundamentals of JavaScript. &amp;ldquo;Isn&amp;rsquo;t it ancient? Do people still use it?&amp;rdquo;&lt;/p&gt;</description></item><item><title>Comprehensive Guide to Dates and Times in Go</title><link>https://boot.dev/blog/golang/golang-date-time/</link><pubDate>Mon, 17 May 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-date-time/</guid><description>&lt;p&gt;Keeping track of time in code has long been every developer&amp;rsquo;s nightmare. While no language or package manages time perfectly, I think Golang does a pretty good job out-of-the-box. This full tutorial should answer ~90% of the questions you&amp;rsquo;ll have about time management in Go.&lt;/p&gt;</description></item><item><title>The 10x Meeting - Solving for Too Many Meetings</title><link>https://boot.dev/blog/misc/too-many-meetings/</link><pubDate>Mon, 10 May 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/too-many-meetings/</guid><description>&lt;p&gt;Perhaps you&amp;rsquo;ve heard of the fabled 10x developer (or 10x engineer) - the one on the team that&amp;rsquo;s 10x as productive as their average colleague. While many, including myself, doubt the existence of such people, &lt;strong&gt;I do think there are meetings that are 10x as productive as the average meeting&lt;/strong&gt;. My goal in this article is to break down their properties so we can have 10x fewer meetings.&lt;/p&gt;</description></item><item><title>Concatenating with strings.Builder Quickly in Golang</title><link>https://boot.dev/blog/golang/strings-builder-concatenation-golang/</link><pubDate>Tue, 04 May 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/strings-builder-concatenation-golang/</guid><description>&lt;p&gt;The Go standard library makes concatenating strings easy. Concatenation is just a fancy word for adding strings together to make a larger string. For example, if we concatenate &lt;code&gt;&amp;quot;hello&amp;quot;&lt;/code&gt;, &lt;code&gt;&amp;quot; &amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;world&amp;quot;&lt;/code&gt; we&amp;rsquo;d get &lt;code&gt;&amp;quot;hello world&amp;quot;&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Golang vs Python: Which Language is Best For You?</title><link>https://boot.dev/blog/golang/golang-vs-python/</link><pubDate>Thu, 29 Apr 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-vs-python/</guid><description>&lt;h2 class="anchor heading-group" id="these-two-coding-languages-duke-it-out---but-whos-the-winner"&gt;&lt;a class="heading-link" href="#these-two-coding-languages-duke-it-out---but-whos-the-winner"&gt;These two coding languages duke it out - but who&amp;rsquo;s the winner?&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In a world where the ability to write any code at all is a tremendous advantage, often the biggest problem coders face is knowing &lt;em&gt;which&lt;/em&gt; language to start learning, rather than whether to learn one at all. There are different languages for just about every purpose you could think of. Of those &lt;a href="https://boot.dev/blog/misc/popular-coding-languages-2021/"&gt;popular coding languages&lt;/a&gt;, programmers often face an intense battle of Golang vs Python. (The official name is Go, but the website is Golang.org, so programmers typically refer to it as either interchangeably.)&lt;/p&gt;</description></item><item><title>The Ultimate Guide to JSON in Go</title><link>https://boot.dev/blog/golang/json-golang/</link><pubDate>Wed, 28 Apr 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/json-golang/</guid><description>&lt;p&gt;As a language designed for the web, Go provides extensive support for working with JSON data. &lt;a href="https://www.json.org/json-en.html"&gt;JSON (JavaScript Object Notation)&lt;/a&gt; is an incredibly popular data exchange format whose syntax resembles simple JavaScript objects. It&amp;rsquo;s one of the most common ways for applications to communicate on the modern web.&lt;/p&gt;</description></item><item><title>Migrating From Vue-CLI &amp; Webpack to Vitejs</title><link>https://boot.dev/blog/vue/migrating-vue-webpack-to-vitejs/</link><pubDate>Mon, 26 Apr 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/vue/migrating-vue-webpack-to-vitejs/</guid><description>&lt;p&gt;&lt;a href="https://boot.dev/blog/"&gt;Boot.dev&amp;rsquo;s web app that hosts all of my coding courses&lt;/a&gt; is a single-page application written in Vue 2, with plans to migrate to Vue 3 &lt;em&gt;soon™©®&lt;/em&gt;. In the meantime, I happened across a cool new tooling app called &lt;a href="https://github.com/vitejs/vite"&gt;Vite&lt;/a&gt; that promised a few things that caught my attention.&lt;/p&gt;</description></item><item><title>How Replace a String in Go - Top 5 Examples</title><link>https://boot.dev/blog/golang/replace-strings-golang/</link><pubDate>Tue, 20 Apr 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/replace-strings-golang/</guid><description>&lt;p&gt;Go has a powerful standard library that makes string manipulation easy right out of the box. One of the functions I use most often is the &lt;a href="https://golang.org/pkg/strings"&gt;strings&lt;/a&gt; package&amp;rsquo;s &lt;a href="https://golang.org/pkg/strings/#Replace"&gt;Replace()&lt;/a&gt; function. &lt;code&gt;strings.Replace()&lt;/code&gt; returns a &lt;em&gt;copy&lt;/em&gt; of its input string after replacing all instances of a given substring with a new one.&lt;/p&gt;</description></item><item><title>How and Why to Write Enums in Go</title><link>https://boot.dev/blog/golang/golang-enum/</link><pubDate>Mon, 19 Apr 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-enum/</guid><description>&lt;p&gt;An enum (short for enumerator), is a set of named constant values. An enum is a powerful tool that allows developers to create complex sets of constants that have useful names and yet simple and unique values.&lt;/p&gt;</description></item><item><title>Splitting a String into a Slice in Golang</title><link>https://boot.dev/blog/golang/split-strings-golang/</link><pubDate>Thu, 15 Apr 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/split-strings-golang/</guid><description>&lt;p&gt;I can&amp;rsquo;t begin to tell you how often I split strings in Go. More often than not I&amp;rsquo;m just parsing a comma-separated list from an environment variable, and Go&amp;rsquo;s standard library gives us some great tools for that kind of manipulation.&lt;/p&gt;</description></item><item><title>Backend Developers are UX Designers Too</title><link>https://boot.dev/blog/backend/backend-ux-design/</link><pubDate>Mon, 12 Apr 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/backend-ux-design/</guid><description>&lt;p&gt;Too often I neglect the idea of UX design in backend work. The goal of user experience design is to give users a product that&amp;rsquo;s easy to use. In the world of front-end development, that typically means making it obvious how to navigate your site, using commonly-understood icons, or implementing well-contrasted colors for foreground and background, making your site easy to read.&lt;/p&gt;</description></item><item><title>For Loops in Go</title><link>https://boot.dev/blog/golang/golang-for-loop/</link><pubDate>Sat, 10 Apr 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-for-loop/</guid><description>&lt;p&gt;For loops are a programmer&amp;rsquo;s best friend! They allow us execute blocks of code repeatedly and iterate over collections of items. In Go, there are several different ways to write one.&lt;/p&gt;</description></item><item><title>Advanced Algorithms Course Released on Boot.dev</title><link>https://boot.dev/blog/computer-science/advanced-algorithms-course-released/</link><pubDate>Mon, 05 Apr 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/advanced-algorithms-course-released/</guid><description>&lt;p&gt;Sorry it took so long for me to get this one out! &lt;a href="https://www.boot.dev/courses/learn-data-structures-and-algorithms-python-2"&gt;Data Structures and Algorithms 2&lt;/a&gt; was just released, and I&amp;rsquo;m excited to let you all get your hands on it, even if you&amp;rsquo;re just auditing it for free! The more advanced material takes quite a bit longer to produce, I wanted to triple-check to make sure I got everything correct and that I&amp;rsquo;ve presented it in a way that makes it easy to understand.&lt;/p&gt;</description></item><item><title>Which is Worth It, Coding Bootcamp or a Computer Science Degree?</title><link>https://boot.dev/blog/jobs/is-coding-bootcamp-worth-it/</link><pubDate>Mon, 29 Mar 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/is-coding-bootcamp-worth-it/</guid><description>&lt;p&gt;When you&amp;rsquo;re in a position of wondering, &amp;ldquo;Is a coding bootcamp worth it?&amp;rdquo; you should look at several factors. Coding bootcamp costs, on average, &lt;a href="https://www.nerdwallet.com/article/loans/student-loans/how-much-is-coding-bootcamp"&gt;around $13,000&lt;/a&gt;. This holds true no matter if you choose to attend coding bootcamp in person or &lt;a href="https://boot.dev/blog/education/top-online-bootcamps"&gt;online&lt;/a&gt;, though there&amp;rsquo;s a lot of variance in how much coding bootcamp costs, ranging from $3,000 to $20,000 depending on the language, the length, and who&amp;rsquo;s running it.&lt;/p&gt;</description></item><item><title>Can You Get a Programming Job with Just an Associate's Degree?</title><link>https://boot.dev/blog/jobs/programming-job-with-associates-degree/</link><pubDate>Mon, 22 Mar 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/programming-job-with-associates-degree/</guid><description>&lt;p&gt;Changing majors is a tale as old as time. A degree that would normally require four years to complete can quickly turn into a more expensive endeavor that takes five or six years for a student that can&amp;rsquo;t decide what they want to study. The interesting thing about programming jobs is that they don&amp;rsquo;t &lt;em&gt;require&lt;/em&gt; a degree at all, but if you at least complete an associate&amp;rsquo;s degree, you&amp;rsquo;ll have a better chance of landing that first job.&lt;/p&gt;</description></item><item><title>How I Organize My Local Development Environment</title><link>https://boot.dev/blog/misc/how-i-organize-my-local-development-environment/</link><pubDate>Wed, 17 Mar 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/how-i-organize-my-local-development-environment/</guid><description>&lt;p&gt;When I was just getting into coding, I was &lt;em&gt;very&lt;/em&gt; disorganized. I would create a new text file in &lt;code&gt;My Documents&lt;/code&gt;, work on it, never create a Git repository, accidentally delete it later, you get the idea. Nowadays I&amp;rsquo;m quite the opposite. To be honest, the thing that made me get my act together was the quite unpopular and now deprecated &lt;a href="https://golang.org/doc/gopath_code"&gt;GOPATH&lt;/a&gt; that early versions of Go required developers to work in. I think it was the right move to not force that organization as a requirement, but I actually quite liked the method personally, and still use a version of it to this day.&lt;/p&gt;</description></item><item><title>All Coding Courses on boot.dev Are Now Free to Audit</title><link>https://boot.dev/blog/news/free-coding-courses-audit/</link><pubDate>Mon, 15 Mar 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/free-coding-courses-audit/</guid><description>&lt;p&gt;Last weekend I did a major revamp of &lt;a href="https://www.boot.dev/"&gt;boot.dev&amp;rsquo;s&lt;/a&gt; payment strategy, after toying with the first version since I launched in the summer of 2020, as it turns out, the microtransaction (gem) strategy didn&amp;rsquo;t work out to the benefit of my students, nor to the growth of boot.dev. As a result, I&amp;rsquo;ve flipped my funding strategy on its head and decided to make all of &lt;a href="https://www.boot.dev/"&gt;boot.dev&amp;rsquo;s content&lt;/a&gt; free to audit. Let&amp;rsquo;s take a look at exactly what that means.&lt;/p&gt;</description></item><item><title>Where Can You Get a Programming Certificate Online?</title><link>https://boot.dev/blog/jobs/where-to-get-a-programming-certificate/</link><pubDate>Sun, 14 Mar 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/where-to-get-a-programming-certificate/</guid><description>&lt;h2 class="anchor heading-group" id="there-are-two-main-options-to-get-a-programming-certificate-online---online-courses-and-universities"&gt;&lt;a class="heading-link" href="#there-are-two-main-options-to-get-a-programming-certificate-online---online-courses-and-universities"&gt;There are two main options to get a programming certificate online - online courses and universities.&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There are two ways to get a programming certificate online - universities and online courses. In the simplest possible terms, a programming certificate is something that lets you walk up to an employer and say, &amp;ldquo;Hello, yes, I know how to SQL. Here&amp;rsquo;s a piece of paper that proves it. You should hire me.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Using a High-Level RabbitMQ Client in Golang</title><link>https://boot.dev/blog/golang/connecting-to-rabbitmq-in-golang-easy/</link><pubDate>Wed, 10 Mar 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/connecting-to-rabbitmq-in-golang-easy/</guid><description>&lt;p&gt;So you might already know that the &lt;a href="https://github.com/streadway/amqp"&gt;amqp package&lt;/a&gt; is awesome and you can get up and running with just 40-50 lines of simple code. Unfortunately, the bare-bones amqp library doesn&amp;rsquo;t handle a lot of the stuff you probably wish it did, things like reconnecting logic, the spawning of threads, queue and binding boilerplate, and flow control.&lt;/p&gt;</description></item><item><title>The Two Classes of Software Engineer</title><link>https://boot.dev/blog/jobs/the-two-classes-of-software-engineer/</link><pubDate>Fri, 05 Mar 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/the-two-classes-of-software-engineer/</guid><description>&lt;p&gt;&amp;ldquo;Software engineer&amp;rdquo; has become a ubiquitous term for people who write, deploy, architect, or sometimes even simply test code. In reality, I think there are two classes of &amp;ldquo;software engineers&amp;rdquo;; those who understand computer science well enough to do challenging, innovative work, and those who just get by because they&amp;rsquo;re familiar with a few high-level tools. The laziness with which the tech industry has adopted the term &amp;ldquo;software engineer&amp;rdquo; has made it harder for us to distinguish between the two.&lt;/p&gt;</description></item><item><title>Top 8 Benefits of Functional Programming</title><link>https://boot.dev/blog/computer-science/benefits-of-functional-programming/</link><pubDate>Thu, 25 Feb 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/benefits-of-functional-programming/</guid><description>&lt;p&gt;Functional programming is a way to write code where programs are created strictly through functions. Functional programming has gained quite a bit of traction in recent years among the development community, mostly because of the benefits it provides.&lt;/p&gt;</description></item><item><title>Top 8 Tricks to Learn Coding Fast</title><link>https://boot.dev/blog/jobs/learn-coding-fast/</link><pubDate>Mon, 22 Feb 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/learn-coding-fast/</guid><description>&lt;p&gt;The journey to becoming a gainfully employed software engineer can feel long. The good news is, you can learn smarter not harder. Apply these eight tricks and you&amp;rsquo;ll be learning to program a lot faster than the average bear.&lt;/p&gt;</description></item><item><title>Is There a Case for Programmers to Unionize?</title><link>https://boot.dev/blog/jobs/is-there-a-case-for-programmers-to-unionize/</link><pubDate>Mon, 15 Feb 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/is-there-a-case-for-programmers-to-unionize/</guid><description>&lt;p&gt;I&amp;rsquo;ve seen a lot of buzz recently about software developers wanting to form unions. I&amp;rsquo;m particularly interested in this topic while I&amp;rsquo;m #indiehacking &lt;a href="https://www.boot.dev/"&gt;boot.dev, where my goal is to provide a free-to-audit university-quality CS education&lt;/a&gt;. I also want to point out that at the time of writing I&amp;rsquo;m a full-time software developer working for a separate company (not boot.dev). I&amp;rsquo;m not a manager and boot.dev is just a side-project. As of right now, I&amp;rsquo;m pretty sure I&amp;rsquo;m a member of the proletariat.&lt;/p&gt;</description></item><item><title>View Git Tags with Semver Ordering</title><link>https://boot.dev/blog/misc/view-git-tags-with-semver-ordering/</link><pubDate>Tue, 09 Feb 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/view-git-tags-with-semver-ordering/</guid><description>&lt;p&gt;If you&amp;rsquo;re like me, you wish all &lt;a href="https://git-scm.com/docs/git-tag"&gt;Git tags&lt;/a&gt; adhered to the &lt;a href="https://semver.org/"&gt;Semantic Versioning standard&lt;/a&gt;. Unfortunately, Semver is just a convention, so Git tags can basically be any string of text. By default when you use the &lt;code&gt;git tag&lt;/code&gt; command, your output will be in &lt;em&gt;alphabetical&lt;/em&gt; order. Being a gopher, almost all the projects I work on are tagged according to Semver standards, which means the default output is fairly useless.&lt;/p&gt;</description></item><item><title>Why should you learn Golang? [2026]</title><link>https://boot.dev/blog/golang/why-learn-golang/</link><pubDate>Mon, 08 Feb 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/why-learn-golang/</guid><description>&lt;p&gt;Golang has skyrocketed in popularity year over year, making it one of the best choices for career-conscious developers to learn. As an example, StackOverflow&amp;rsquo;s &lt;a href="https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-language"&gt;Developer survey&lt;/a&gt; saw it climb in popularity among developers from 10th in 2019 all the way to 5th in 2020. Additionally, a full 32% of &lt;a href="https://insights.dice.com/2020/12/09/5-programming-languages-that-will-dominate-2021-python-go-more"&gt;developers surveyed&lt;/a&gt; in Insights Dice want to learn it. Go developers are paid well - globally, the StackOverflow survey &lt;a href="https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-language"&gt;found&lt;/a&gt; that Perl, Scala, and Go programmers have the highest salaries.&lt;/p&gt;</description></item><item><title>What Is Dry Code, and Is It Always A Good Thing?</title><link>https://boot.dev/blog/computer-science/dry-code/</link><pubDate>Mon, 25 Jan 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/dry-code/</guid><description>&lt;p&gt;&amp;ldquo;Don&amp;rsquo;t repeat yourself&amp;rdquo;, or &amp;ldquo;DRY&amp;rdquo; for short, is a somewhat controversial principle of software development. It aims to make code cleaner, which is to say less buggy and easier to work with. DRY purports to accomplish this by reducing repetition in your codebase and replacing that duplicate code with abstractions like functions, classes, and methods.&lt;/p&gt;</description></item><item><title>The Benefits of Gamified Learning</title><link>https://boot.dev/blog/misc/the-benefits-of-gamified-learning/</link><pubDate>Wed, 20 Jan 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/the-benefits-of-gamified-learning/</guid><description>&lt;p&gt;Why was that adjustment to college classes so hard? Sitting through hours of lectures and PowerPoints can be challenging for even the most dedicated students.&lt;/p&gt;</description></item><item><title>NLP is Hard Because Even Humans Don't Agree</title><link>https://boot.dev/blog/misc/building-an-nlp-engine-is-hard-but-not-as-hard-as-defining-terms/</link><pubDate>Tue, 19 Jan 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/building-an-nlp-engine-is-hard-but-not-as-hard-as-defining-terms/</guid><description>&lt;p&gt;In my full-time role at &lt;a href="https://www.nuvi.com/blog/strategic-decision-making-nuvis-all-new-language-engine"&gt;Nuvi&lt;/a&gt;, I&amp;rsquo;ve been lucky enough to work on a team where we&amp;rsquo;re able to push the boundaries in the natural language processing field. We built out several different &amp;ldquo;facets&amp;rdquo; that we score text on, including sentiment, emotion, vulgarity, tense, and currently, we&amp;rsquo;re working on promotion detection.&lt;/p&gt;</description></item><item><title>The 8 Crucial Mistakes Holding You Back From a Programming Job</title><link>https://boot.dev/blog/jobs/reasons-you-cant-get-a-programming-job/</link><pubDate>Mon, 18 Jan 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/reasons-you-cant-get-a-programming-job/</guid><description>&lt;p&gt;If you&amp;rsquo;re reading this article, you&amp;rsquo;re well aware of the great benefits that come with a programming job - &lt;a href="https://boot.dev/blog/computer-science/highest-paying-computer-science-jobs/"&gt;high salaries for programmers&lt;/a&gt;, an &lt;a href="https://www.daxx.com/blog/development-trends/software-developer-shortage-us"&gt;expanding job market&lt;/a&gt;, &lt;a href="https://reva.edu.in/blog/exciting-career-opportunities-in-computer-science/"&gt;exciting opportunities&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Writing a Binary Search Tree in Python with Examples</title><link>https://boot.dev/blog/computer-science/binary-search-tree-in-python/</link><pubDate>Tue, 12 Jan 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/binary-search-tree-in-python/</guid><description>&lt;h2 class="anchor heading-group" id="what-is-a-binary-search-tree"&gt;&lt;a class="heading-link" href="#what-is-a-binary-search-tree"&gt;What is a binary search tree?&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A binary search tree, or BST for short, is a tree where each node is a value greater than all of its left child nodes and less than all of its right child nodes. Read on for an implementation of a binary search tree in Python from scratch!&lt;/p&gt;</description></item><item><title>Building a Linked List in Python with Examples</title><link>https://boot.dev/blog/computer-science/building-a-linked-list-in-python-with-examples/</link><pubDate>Mon, 11 Jan 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/building-a-linked-list-in-python-with-examples/</guid><description>&lt;p&gt;A linked list is a linear data structure where elements are not stored next to each other in memory. Unlike and array, elements in a linked list use pointers or references to &lt;em&gt;each other&lt;/em&gt; to keep the list intact.&lt;/p&gt;</description></item><item><title>The Best Ways To Get a Programming Job with No Experience</title><link>https://boot.dev/blog/jobs/get-a-programming-job-with-no-experience/</link><pubDate>Wed, 06 Jan 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/get-a-programming-job-with-no-experience/</guid><description>&lt;p&gt;It sounds like a pipe dream. A well-paid programming job, with no experience? Get out of town. Well, as it turns out, it&amp;rsquo;s both just about as difficult as you believe, but probably easier than you think. As with most things, the main obstacle standing in the way of you getting a programming job with no experience is yourself.&lt;/p&gt;</description></item><item><title>The 8 Most Popular Coding Languages of 2026</title><link>https://boot.dev/blog/misc/popular-coding-languages-2021/</link><pubDate>Mon, 04 Jan 2021 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/popular-coding-languages-2021/</guid><description>&lt;h2 class="anchor heading-group" id="and-more-importantly-how-to-choose-the-most-popular-coding-language-you-should-learn"&gt;&lt;a class="heading-link" href="#and-more-importantly-how-to-choose-the-most-popular-coding-language-you-should-learn"&gt;And more importantly, how to choose the most popular coding language you should learn.&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;How can you decide what the most popular coding language is? It&amp;rsquo;s like trying to pick the most popular ice cream flavor - everyone has a favorite. The truth is that different coders prefer different coding languages for different reasons, and just when you think you can say a single coding language reigns supreme, a new one crops up, or an older one becomes relevant for a new application.&lt;/p&gt;</description></item><item><title>Boot.dev's Refer a Friend Program</title><link>https://boot.dev/blog/news/refer-a-friend/</link><pubDate>Tue, 29 Dec 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/refer-a-friend/</guid><description>&lt;p&gt;We think learning is better with friends! For every person you invite to join, you&amp;rsquo;ll both earn some free gems. As soon as your friend signs up, we&amp;rsquo;ll credit each of your accounts with, at the time of writing, &lt;strong&gt;150 gems&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Converting an Array to a JSON Object in JavaScript</title><link>https://boot.dev/blog/javascript/converting-an-array-to-json-object-in-javascript/</link><pubDate>Mon, 21 Dec 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/converting-an-array-to-json-object-in-javascript/</guid><description>&lt;p&gt;JSON, or &amp;ldquo;JavaScript Object Notation&amp;rdquo;, is a highly popular data exchange format that&amp;rsquo;s widely used in web development. In this post, we&amp;rsquo;ll explore several simple methods for converting a JavaScript array into JSON data. Plus, we&amp;rsquo;ll discuss the benefits of using JSON and how it can help improve your web development projects.&lt;/p&gt;</description></item><item><title>Should you Learn Computer Science or Software Engineering?</title><link>https://boot.dev/blog/computer-science/computer-science-vs-software-engineering/</link><pubDate>Thu, 17 Dec 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/computer-science-vs-software-engineering/</guid><description>&lt;p&gt;The most important thing to understand about these two fields of study is that, ultimately, they are similar. At the end of the day, Software Engineering and Computer Science will both help to make you a better programmer and developer, and the only difference between the two is how they are applied. Software Engineering tends to be more practical, and Computer Science tends to be more theoretical. In a way, Software Engineering is just applied Computer Science, and using that as a starting point, we can examine the differences between the two.&lt;/p&gt;</description></item><item><title>Guide to Getting a Certificate in Computer Science</title><link>https://boot.dev/blog/computer-science/guide-to-certificate-in-computer-science/</link><pubDate>Tue, 15 Dec 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/guide-to-certificate-in-computer-science/</guid><description>&lt;p&gt;There are so many reasons to want to get a certificate in computer science in 2021, especially when you &lt;a href="https://boot.dev/blog/computer-science/compsci-certificate-vs-degree/"&gt;compare it to alternatives like getting a degree&lt;/a&gt; or attending a coding bootcamp.&lt;/p&gt;</description></item><item><title>6 Computer Science Resume Examples</title><link>https://boot.dev/blog/computer-science/computer-science-resumes/</link><pubDate>Mon, 14 Dec 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/computer-science-resumes/</guid><description>&lt;p&gt;It&amp;rsquo;s really hard to get your foot in the door for engineering interviews, especially if you have no experience and are looking for an entry-level position. Often times, more experienced candidates looking to find a &lt;a href="https://boot.dev/blog/computer-science/highest-paying-computer-science-jobs/"&gt;higher-paying job&lt;/a&gt; can also have trouble. As an employer myself, I can tell you that one of the biggest mistakes I see in 75% of resumes is using a &lt;em&gt;visually boring template&lt;/em&gt;. When I&amp;rsquo;m sifting through forty or fifty applicants, it&amp;rsquo;s really easy for my eyes to glaze over. Think of your resume as your website landing page. You need to catch your employer&amp;rsquo;s attention by calling out your biggest accomplishments and selling points at a glance.&lt;/p&gt;</description></item><item><title>The Highest-Paying Computer Science Jobs</title><link>https://boot.dev/blog/computer-science/highest-paying-computer-science-jobs/</link><pubDate>Wed, 09 Dec 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/highest-paying-computer-science-jobs/</guid><description>&lt;p&gt;There are many jobs within the software industry, and most of them are easier to land or are higher-paying once you land them, if you have a solid grasp of computer science fundamentals. You don&amp;rsquo;t need a degree from an accredited university in 90% of cases, but you do need to learn the material, whether it be online, on the job, or in a formal setting. Let&amp;rsquo;s explore the most common computer science job titles and their associated compensation, details, and duties.&lt;/p&gt;</description></item><item><title>Computer Information Systems vs Computer Science</title><link>https://boot.dev/blog/computer-science/should-you-learn-computer-information-systems-or-computer-science/</link><pubDate>Thu, 03 Dec 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/should-you-learn-computer-information-systems-or-computer-science/</guid><description>&lt;p&gt;As technology continues to advance, the need for professionals who are capable of utilizing and understanding computers continues to grow. This demand creates a strong job market, with excellent pay and exclusive opportunities. However, there are two fields of study when it comes to working with this technology: Computer Information Systems and &lt;a href="https://boot.dev/blog/computer-science/comprehensive-guide-to-learn-computer-science-online/"&gt;Computer Science&lt;/a&gt;. Both are useful areas of study with in-demand skills, but what are the benefits of each, in comparison to each other? We explore that below.&lt;/p&gt;</description></item><item><title>The History of Computer Science - A Timeline</title><link>https://boot.dev/blog/computer-science/the-history-of-computer-science/</link><pubDate>Thu, 03 Dec 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/the-history-of-computer-science/</guid><description>&lt;h2 class="anchor heading-group" id="prehistory"&gt;&lt;a class="heading-link" href="#prehistory"&gt;Prehistory&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://boot.dev/blog/img/800/NAMA_Machine_dAnticythere_1-300x268.jpg" alt=""&gt;&lt;/p&gt;</description></item><item><title>Certificates vs Diplomas in Computer Science</title><link>https://boot.dev/blog/computer-science/compsci-certificate-vs-degree/</link><pubDate>Wed, 02 Dec 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/compsci-certificate-vs-degree/</guid><description>&lt;p&gt;When I was looking into getting my first job related to programming, I had no idea what the difference between a certificate and a diploma was. I was terrified that I&amp;rsquo;d have to go back to school and spend &lt;a href="https://boot.dev/blog/jobs/programming-job-with-associates-degree/"&gt;2-4 years getting a degree&lt;/a&gt; in computer science before an employer would even blink in my direction. Unfortunately for me, two degrees in conservation biology aren&amp;rsquo;t enough to attract any serious coding employers. Then I learned about boot camps, which eased my concerns some, but I didn&amp;rsquo;t have the time or money to spend on a 15-week program.&lt;/p&gt;</description></item><item><title>Examples of Heuristics in Computer Science</title><link>https://boot.dev/blog/computer-science/examples-of-heuristics-in-computer-science/</link><pubDate>Mon, 30 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/examples-of-heuristics-in-computer-science/</guid><description>&lt;p&gt;Heuristics in &lt;a href="https://boot.dev/blog/computer-science/comprehensive-guide-to-learn-computer-science-online/"&gt;computer science&lt;/a&gt; and artificial intelligence are &amp;ldquo;rules of thumb&amp;rdquo; used in algorithms to assist in finding approximate solutions to complex problems. Often, there&amp;rsquo;s simply too much data to sift through to come to a solution promptly, so a heuristic algorithm is used to trade exactness for speed. However, because heuristics are based on individual rules unique to the problem they are solving, the specifics of the heuristics vary from problem to problem.&lt;/p&gt;</description></item><item><title>How to Create a Custom Checkbox Form in Vue</title><link>https://boot.dev/blog/vue/how-to-create-a-custom-checkbox-form-in-vue/</link><pubDate>Wed, 25 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/vue/how-to-create-a-custom-checkbox-form-in-vue/</guid><description>&lt;p&gt;You have a problem. The browser&amp;rsquo;s default checkbox form is ugly and outdated, but importing an entire library just to change the styling seems like overkill. Instead, let&amp;rsquo;s build a custom checkbox form component from scratch. It will take 15 minutes to type up, or just 3 if you just copy and paste my boilerplate code.&lt;/p&gt;</description></item><item><title>How to Make a Custom Slider Component in Vue</title><link>https://boot.dev/blog/vue/custom-slider-component-vue/</link><pubDate>Tue, 24 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/vue/custom-slider-component-vue/</guid><description>&lt;p&gt;Creating a custom slider component can be tricky, especially if you want to create a lean standalone Vue component. In this quick article, you&amp;rsquo;ll learn how to build a fully customizable slider component in Vue. Feel free to swap out the majority of the CSS to get the styling you want, but I&amp;rsquo;ll give you a good jumping-off point.&lt;/p&gt;</description></item><item><title>Why Students Struggle Getting a Job After Coding Bootcamp</title><link>https://boot.dev/blog/jobs/getting-a-job-after-coding-bootcamp-is-hard/</link><pubDate>Thu, 19 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/getting-a-job-after-coding-bootcamp-is-hard/</guid><description>&lt;p&gt;Imagine, like so many folks, that you decide what you want to study when you&amp;rsquo;re just 18. You go to college, finish a four-year degree in mechanical engineering, and then realize what you actually want to do is get a job in coding. There are tons of benefits - pay, flexibility, personal satisfaction. It&amp;rsquo;s a no-brainer.&lt;/p&gt;</description></item><item><title>Comprehensive Guide to Learn Computer Science Online</title><link>https://boot.dev/blog/computer-science/comprehensive-guide-to-learn-computer-science-online/</link><pubDate>Wed, 18 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/comprehensive-guide-to-learn-computer-science-online/</guid><description>&lt;p&gt;Be careful about deciding the best way to learn to code. Not all paths are equally effective. Self-taught developers and &lt;a href="https://boot.dev/blog/jobs/getting-a-job-after-coding-bootcamp-is-hard/"&gt;bootcamp graduates often struggle&lt;/a&gt; a lot to find their first coding job. In my experience, it&amp;rsquo;s much easier to get your foot in the door when you spend the time learning the CS basics that so many &amp;ldquo;crash courses&amp;rdquo; skip over when trying to get students to dive directly into the deep end of application code.&lt;/p&gt;</description></item><item><title>Should You Commit the Vendor Folder in Go?</title><link>https://boot.dev/blog/golang/should-you-commit-the-vendor-folder-in-go/</link><pubDate>Mon, 16 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/should-you-commit-the-vendor-folder-in-go/</guid><description>&lt;p&gt;If you&amp;rsquo;re asking &amp;ldquo;should I commit the vendor folder in my Go project to Git?&amp;rdquo;, the answer is &amp;ldquo;almost always&amp;rdquo;. Let&amp;rsquo;s talk about why committing is generally better than not.&lt;/p&gt;</description></item><item><title>How Long Does It Take To Learn To Code?</title><link>https://boot.dev/blog/jobs/how-long-does-it-take-to-learn-to-code/</link><pubDate>Tue, 10 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/how-long-does-it-take-to-learn-to-code/</guid><description>&lt;p&gt;There are so many obvious reasons to learn to code: freelancing opportunities, career advancement, &lt;a href="https://boot.dev/blog/jobs/how-much-do-software-engineers-make/"&gt;salary increase&lt;/a&gt;, and personal satisfaction among others. The advantages are so many that it&amp;rsquo;s worth the investment, no matter how many obstacles you might encounter.&lt;/p&gt;</description></item><item><title>How Much Do Software Engineers Make?</title><link>https://boot.dev/blog/jobs/how-much-do-software-engineers-make/</link><pubDate>Mon, 09 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/how-much-do-software-engineers-make/</guid><description>&lt;p&gt;Software engineering continues to be one of the most lucrative career paths in the tech industry. The rewards go well beyond a high salary, corporate health insurance plans, and an increased opportunity to advance. Software engineers often receive benefits like unlimited time off, not needing to have shifts covered, lax or no dress code, and cool office amenities like free drinks, snacks, ping pong, etc. It can be a really great work culture.&lt;/p&gt;</description></item><item><title>JavaScript vs Java - Differences, Similarities, and History</title><link>https://boot.dev/blog/javascript/javascript-vs-java/</link><pubDate>Fri, 06 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/javascript-vs-java/</guid><description>&lt;p&gt;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 &lt;a href="https://www.boot.dev/"&gt;boot.dev&amp;rsquo;s courses&lt;/a&gt;. Java has been used for everything from games, to desktop apps, to backend APIs. Let&amp;rsquo;s go over the differences between JavaScript vs Java in this quick read.&lt;/p&gt;</description></item><item><title>Top Web Development Programming Languages; A Comparison</title><link>https://boot.dev/blog/misc/top-web-development-languages/</link><pubDate>Wed, 04 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/top-web-development-languages/</guid><description>&lt;p&gt;The software development industry is growing at a break-neck pace. Currently, there are close to &lt;a href="https://www.daxx.com/blog/development-trends/number-software-developers-world#:~:text=According%20to%20Evans%20Data%20Corporation,developers%20reached%204%2C2%20million."&gt;19 million&lt;/a&gt; software developers in the world, and this number is expected to &lt;a href="https://slashdata-website-cms.s3.amazonaws.com/sample_reports/EiWEyM5bfZe1Kug_.pdf"&gt;double&lt;/a&gt; by 2030.&lt;/p&gt;</description></item><item><title>Base64 vs Base58 Encoding</title><link>https://boot.dev/blog/computer-science/base64-vs-base58-encoding/</link><pubDate>Tue, 03 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/base64-vs-base58-encoding/</guid><description>&lt;p&gt;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 &lt;a href="https://boot.dev/blog/cryptography/encoding-vs-encryption/"&gt;information on encryption vs encoding&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Learn Go Fast - Top Courses and Resources</title><link>https://boot.dev/blog/golang/learn-go-fast/</link><pubDate>Mon, 02 Nov 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/learn-go-fast/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Best Practices for Commenting Code</title><link>https://boot.dev/blog/computer-science/code-comments/</link><pubDate>Thu, 29 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/code-comments/</guid><description>&lt;p&gt;I often hear that we need more and better comments in the code we write. In my experience, we frequently need &lt;em&gt;better&lt;/em&gt; comments, we rarely need &lt;em&gt;more&lt;/em&gt;, and we sometimes need &lt;em&gt;less&lt;/em&gt;. Before you crucify me for my sacrilege, let me explain by giving you some of the &amp;ldquo;rules of thumb&amp;rdquo; I use for deciding when I should add a comment to my code.&lt;/p&gt;</description></item><item><title>How to Restart All Pods in a Kubernetes Namespace</title><link>https://boot.dev/blog/devops/how-to-restart-all-pods-in-a-kubernetes-namespace/</link><pubDate>Mon, 26 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/how-to-restart-all-pods-in-a-kubernetes-namespace/</guid><description>&lt;p&gt;Where I work, we use a repo-per-namespace setup and so it often happens that I want to &lt;strong&gt;restart all pods and deployments in a single Kubernetes namespace&lt;/strong&gt;. Maybe I want to see the startup logs, or maybe I want to shut down production for a few seconds. &lt;em&gt;Don&amp;rsquo;t question my motives&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>The Nuances of Constants in Go; Go Isn't JavaScript</title><link>https://boot.dev/blog/golang/constants-in-go-vs-javascript-and-when-to-use-them/</link><pubDate>Thu, 22 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/constants-in-go-vs-javascript-and-when-to-use-them/</guid><description>&lt;p&gt;Constants can be confusing and easy to misuse in Go if you are coming from an untyped language. Let&amp;rsquo;s take a look at some of the nuanced details of how they work in Go. It&amp;rsquo;s probably unsurprising, but Go&amp;rsquo;s constants are almost nothing like JavaScript&amp;rsquo;s bastardized version of the concept.&lt;/p&gt;</description></item><item><title>6 Things to Avoid When Contributing to Open-Source Projects</title><link>https://boot.dev/blog/misc/contributing-to-open-source/</link><pubDate>Wed, 21 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/contributing-to-open-source/</guid><description>&lt;p&gt;With &lt;a href="https://hacktoberfest.digitalocean.com/"&gt;#HacktoberFest&lt;/a&gt; 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&amp;rsquo;t want to waste their time reviewing bad PRs, and contributors don&amp;rsquo;t want to waste their time writing code that will never make it into production.&lt;/p&gt;</description></item><item><title>Functional Programming Course Released</title><link>https://boot.dev/blog/news/free-functional-programming-course-released-javascript-and-purescript/</link><pubDate>Mon, 19 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/free-functional-programming-course-released-javascript-and-purescript/</guid><description>&lt;p&gt;We just launched our new &lt;a href="https://www.boot.dev/courses/learn-functional-programming-python"&gt;&amp;ldquo;Learn Functional Programming&amp;rdquo; course&lt;/a&gt;, and frankly, I&amp;rsquo;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.&lt;/p&gt;</description></item><item><title>How To Correctly Validate Passwords - Most Websites Do It Wrong</title><link>https://boot.dev/blog/security/how-to-validate-passwords/</link><pubDate>Thu, 15 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/how-to-validate-passwords/</guid><description>&lt;p&gt;You&amp;rsquo;ve probably visited a site and attempted to sign-up only to be met with errors such as:&lt;/p&gt;</description></item><item><title>6 Tips for Hiring Developers</title><link>https://boot.dev/blog/jobs/how-to-hire-developers/</link><pubDate>Tue, 13 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/jobs/how-to-hire-developers/</guid><description>&lt;p&gt;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&amp;rsquo;s dive right into what &lt;em&gt;I think&lt;/em&gt; are best practices for hiring programmers. I&amp;rsquo;ve found my opinions to be quite controversial, but I do put them into practice in my own career and at &lt;a href="https://www.boot.dev/"&gt;boot.dev&lt;/a&gt;. When you inevitably disagree with some of my points, feel free to &lt;a href="https://twitter.com/wagslane"&gt;@ me&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Running Rust in the Browser with Web Assembly</title><link>https://boot.dev/blog/rust/rust-in-the-browser/</link><pubDate>Mon, 12 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/rust/rust-in-the-browser/</guid><description>&lt;p&gt;I&amp;rsquo;ve recently been working on getting Rust support in the &lt;a href="https://www.boot.dev/"&gt;boot.dev app&lt;/a&gt;. To write a more engaging course, I want students to be able to write and execute code right in the browser. As I&amp;rsquo;ve learned from my previous posts on this topic, the easiest way to sandbox code execution on a server is to &lt;em&gt;not&lt;/em&gt; execute code on a server. Enter Web Assembly, stage left.&lt;/p&gt;</description></item><item><title>Top 4 Coding Languages To Learn For Beginners in 2026</title><link>https://boot.dev/blog/misc/top-coding-languages-for-beginners/</link><pubDate>Wed, 07 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/top-coding-languages-for-beginners/</guid><description>&lt;p&gt;Coding languages, tools, and frameworks are in a constant state of flux, improvement, deprecation, and popularity swings. Let&amp;rsquo;s take a look at the top 4 languages for new programmers to learn in 2026.&lt;/p&gt;</description></item><item><title>Education's Shameful State of the Art</title><link>https://boot.dev/blog/misc/educations-shameful-state-of-the-art/</link><pubDate>Mon, 05 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/educations-shameful-state-of-the-art/</guid><description>&lt;p&gt;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&amp;rsquo;re working on what will eventually grow into the alternative to overpriced universities and ineffective Bootcamps at &lt;a href="https://www.boot.dev/"&gt;boot.dev&lt;/a&gt;. In the meantime, let&amp;rsquo;s take a look at education&amp;rsquo;s biggest problems, and how we can solve them.&lt;/p&gt;</description></item><item><title>How to Structure a Golang Project</title><link>https://boot.dev/blog/golang/golang-project-structure/</link><pubDate>Thu, 01 Oct 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-project-structure/</guid><description>&lt;p&gt;I lead a team that&amp;rsquo;s responsible for anywhere from 15-25 Go microservices at any given time. We&amp;rsquo;re constantly creating new services and libraries, so it&amp;rsquo;s become important to streamline the project creation process. I&amp;rsquo;m mostly writing this article for myself as a kind of self-documentation, but hopefully, you&amp;rsquo;ll find it useful as you create new Go projects for yourself.&lt;/p&gt;</description></item><item><title>What Is Entropy In Cryptography?</title><link>https://boot.dev/blog/computer-science/what-is-entropy-in-cryptography/</link><pubDate>Mon, 28 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/what-is-entropy-in-cryptography/</guid><description>&lt;p&gt;If you&amp;rsquo;re familiar with the &lt;a href="https://en.wikipedia.org/wiki/Laws_of_thermodynamics"&gt;laws of thermodynamics&lt;/a&gt;, 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.&lt;/p&gt;</description></item><item><title>How to Make a Simple Vue Custom Select Component</title><link>https://boot.dev/blog/vue/custom-select-component-in-vue/</link><pubDate>Fri, 25 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/vue/custom-select-component-in-vue/</guid><description>&lt;p&gt;Creating a custom select tag with its own styling is notoriously difficult. Sometimes it&amp;rsquo;s impossible to build from scratch without a combination of styled divs and custom JavaScript. In this article, you&amp;rsquo;ll learn how to create a custom select component in Vue that can be easily styled with your own CSS. In fact, it&amp;rsquo;s the same component we use in production on boot.dev, and you can see it in action on our &lt;a href="https://www.boot.dev/playground/js"&gt;JavaScript playground&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Running Python in the Browser with Web Assembly</title><link>https://boot.dev/blog/python/python-in-the-browser/</link><pubDate>Thu, 24 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-in-the-browser/</guid><description>&lt;p&gt;I&amp;rsquo;ve been wanting to expand &lt;a href="https://www.boot.dev/"&gt;boot.dev&amp;rsquo;s curriculum&lt;/a&gt;, 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 &lt;a href="https://github.com/iodide-project/pyodide"&gt;Pyodide&lt;/a&gt;, which does just that.&lt;/p&gt;</description></item><item><title>Running Go in the Browser with WASM and Web Workers</title><link>https://boot.dev/blog/golang/running-go-in-the-browser-wasm-web-workers/</link><pubDate>Wed, 23 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/running-go-in-the-browser-wasm-web-workers/</guid><description>&lt;p&gt;We&amp;rsquo;ve recently made big changes to how we execute Go in the browser on &lt;a href="https://www.boot.dev/"&gt;boot.dev&lt;/a&gt; and want to explain the enhancements. Web Workers are the reason we&amp;rsquo;ve been able to solve some of the serious browser-related coding problems that were holding us back. Consider this article a sequel to &lt;a href="https://boot.dev/blog/golang/running-go-in-the-browser-with-web-assembly-wasm/"&gt;Running Go in the Browser with Web Assembly&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Practical Patterns for Technical Writing</title><link>https://boot.dev/blog/misc/practical-patterns-for-technical-writing/</link><pubDate>Tue, 22 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/practical-patterns-for-technical-writing/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Elliptic Curve Cryptography: A Basic Introduction</title><link>https://boot.dev/blog/security/elliptic-curve-cryptography/</link><pubDate>Thu, 17 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/elliptic-curve-cryptography/</guid><description>&lt;p&gt;Elliptic Curve Cryptography (ECC) is a modern &lt;a href="https://searchsecurity.techtarget.com/definition/public-key"&gt;public-key encryption&lt;/a&gt; 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 &lt;a href="https://boot.dev/blog/cryptography/what-is-cryptography/"&gt;cryptography&lt;/a&gt; in the world.&lt;/p&gt;</description></item><item><title>"Learn Algorithms" Course Released</title><link>https://boot.dev/blog/news/big-o-algorithms-course-released/</link><pubDate>Mon, 14 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/big-o-algorithms-course-released/</guid><description>&lt;p&gt;We&amp;rsquo;ve launched our new &lt;a href="https://www.boot.dev/courses/learn-data-structures-and-algorithms-python"&gt;Data Structures and Algorithms&lt;/a&gt; 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.&lt;/p&gt;</description></item><item><title>Is AES-256 Quantum Resistant?</title><link>https://boot.dev/blog/security/is-aes-256-quantum-resistant/</link><pubDate>Thu, 10 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/is-aes-256-quantum-resistant/</guid><description>&lt;p&gt;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 &lt;a href="https://en.wikipedia.org/wiki/Qubit"&gt;qubits&lt;/a&gt; used for calculations increases, current cryptosystems are under threat. &lt;a href="https://boot.dev/blog/cryptography/aes-256-cipher/"&gt;AES-256&lt;/a&gt; is one of the most powerful symmetric ciphers, but will it remain secure in a post-quantum world?&lt;/p&gt;</description></item><item><title>How to Make Pure Functions in Golang</title><link>https://boot.dev/blog/golang/pure-functions-in-golang/</link><pubDate>Mon, 07 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/pure-functions-in-golang/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Guard Clauses - How to Clean up Conditionals</title><link>https://boot.dev/blog/computer-science/guard-clauses/</link><pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/guard-clauses/</guid><description>&lt;p&gt;One of the first concepts &lt;a href="https://boot.dev/blog/"&gt;new developers&lt;/a&gt; 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.&lt;/p&gt;</description></item><item><title>Create a Golang Video Streaming Server Using HLS</title><link>https://boot.dev/blog/golang/golang-video-stream-server/</link><pubDate>Fri, 04 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-video-stream-server/</guid><description>&lt;p&gt;In this tutorial, we&amp;rsquo;ll go step-by-step through building a video streaming API (which will work for music as well) in Go. Don&amp;rsquo;t worry, it&amp;rsquo;s surprisingly easy to build a robust media streaming server, especially if we utilize a modern communication protocol, HLS.&lt;/p&gt;</description></item><item><title>Should You Return Empty or Nil Slices in Go?</title><link>https://boot.dev/blog/golang/empty-vs-nil-slices-golang/</link><pubDate>Thu, 03 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/empty-vs-nil-slices-golang/</guid><description>&lt;p&gt;In Go, we often need to return zero values. Idiomatic Go encourages the use of guard clauses, and &lt;a href="https://boot.dev/blog/clean-code/guard-clauses/"&gt;guard clauses&lt;/a&gt; necessitate the need to return early. When returning early with an error, by convention all other return values should be zero values. The confusion arises with data types like maps and slices. Should maps and slices be returned as a simple &lt;code&gt;nil&lt;/code&gt; value, or should an empty but instantiated value be returned?&lt;/p&gt;</description></item><item><title>Slow Is Smooth, Smooth Is Fast - 25% of Our Time Refactoring</title><link>https://boot.dev/blog/computer-science/spend-time-refactoring/</link><pubDate>Tue, 01 Sep 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/spend-time-refactoring/</guid><description>&lt;p&gt;My team has been spending less of our &amp;ldquo;free&amp;rdquo; time working on bugs and features from the backlog, and more time refactoring our code and tests. As a result, and perhaps somewhat counterintuitively, we&amp;rsquo;ve noticed a significant increase in our throughput of features and bug fixes.&lt;/p&gt;</description></item><item><title>Top 15 Golang Interview Questions [Updated 2026]</title><link>https://boot.dev/blog/golang/top-golang-interview-questions/</link><pubDate>Mon, 31 Aug 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/top-golang-interview-questions/</guid><description>&lt;p&gt;Let&amp;rsquo;s take a look at some good technical &lt;a href="https://www.golanginterview.dev/questions/"&gt;questions&lt;/a&gt; to be familiar with, whether you are looking to nail your next &lt;a href="https://www.golanginterview.dev/"&gt;Golang interview&lt;/a&gt;, or if you&amp;rsquo;re the interviewer yourself..&lt;/p&gt;</description></item><item><title>Creating a Custom Tooltip Component in Vue</title><link>https://boot.dev/blog/vue/custom-tooltip-component-in-vue/</link><pubDate>Fri, 28 Aug 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/vue/custom-tooltip-component-in-vue/</guid><description>&lt;p&gt;There are plenty of libraries out there that will have you up and running with a good tooltip solution in minutes. However, if you are like me, you are sick and tired of giant dependency trees that have the distinct possibility of breaking at any time. For that reason, we&amp;rsquo;re going to build a custom single file tooltip component that you can build yourself and tweak to your heart&amp;rsquo;s content. It might take 15 minutes instead of 3&amp;hellip; sorry about that.&lt;/p&gt;</description></item><item><title>Bcrypt Step by Step</title><link>https://boot.dev/blog/security/bcrypt-step-by-step/</link><pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/bcrypt-step-by-step/</guid><description>&lt;p&gt;Bcrypt is a &lt;a href="https://boot.dev/blog/cryptography/key-derivation-functions/"&gt;key derivation function&lt;/a&gt;, which can be thought of as a special kind of &lt;a href="https://boot.dev/blog/cryptography/very-basic-intro-to-hash-functions-sha-256-md-5-etc/"&gt;hash function&lt;/a&gt;. Its purpose is to &lt;em&gt;slowly&lt;/em&gt; convert a piece of input data to a fixed-size, deterministic, and unpredictable output. A common use case is to convert a password into an n-bit &lt;a href="https://boot.dev/blog/cryptography/what-is-cryptography/"&gt;cryptographic&lt;/a&gt; key, which can then be used for safe authentication.&lt;/p&gt;</description></item><item><title>(Very) Basic Intro to Lattices in Cryptography</title><link>https://boot.dev/blog/computer-science/very-basic-intro-to-lattices-in-cryptography/</link><pubDate>Fri, 21 Aug 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/very-basic-intro-to-lattices-in-cryptography/</guid><description>&lt;p&gt;Lattice-based cryptography, an important contender in the race for quantum-safe encryption, describes constructions of cryptographic primitives that involve mathematical lattices. Lattices, as they relate to crypto, have been coming into the spotlight recently. In January 2019, Many of the semifinalists in the &lt;a href="https://www.nist.gov/news-events/news/2019/01/nist-reveals-26-algorithms-advancing-post-quantum-crypto-semifinals"&gt;NIST post-quantum-cryptography competition&lt;/a&gt; were based on lattices. Lattice-based cryptography has promising aspects that give us hope for cryptographic security in a post-quantum world.&lt;/p&gt;</description></item><item><title>Shamir's Secret Sharing Step-By-Step</title><link>https://boot.dev/blog/security/shamirs-secret-sharing/</link><pubDate>Tue, 18 Aug 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/shamirs-secret-sharing/</guid><description>&lt;p&gt;&lt;em&gt;Adi Shamir&amp;rsquo;s Secret Sharing&lt;/em&gt; is a &lt;a href="https://boot.dev/blog/cryptography/what-is-cryptography/"&gt;cryptographic algorithm&lt;/a&gt; that allows distinct parties to jointly share ownership of a single secret by holding &lt;em&gt;shares&lt;/em&gt;. The original secret can only be reconstructed by using a minimum number of shares, which allows different parties to cooperate without the need to fully trust one another.&lt;/p&gt;</description></item><item><title>They Who Control Encryption</title><link>https://boot.dev/blog/security/they-who-control-encryption/</link><pubDate>Wed, 12 Aug 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/they-who-control-encryption/</guid><description>&lt;p&gt;If you&amp;rsquo;ve seen &lt;em&gt;The Imitation Game&lt;/em&gt; or studied computer science in school, you have likely heard of &lt;a href="https://en.wikipedia.org/wiki/Enigma_machine"&gt;Enigma&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Alan_Turing"&gt;Alan Turing&lt;/a&gt;, or some of the other advances in &lt;a href="https://boot.dev/blog/cryptography/what-is-cryptography/"&gt;cryptography&lt;/a&gt; that took place during the Second World War. During this time and until the 1970s, governments from around the world had near-total control of all cryptographic systems. It was nearly impossible to &lt;a href="https://www.boot.dev/courses/learn-cryptography-golang"&gt;learn about encryption&lt;/a&gt; without going through a government agency.&lt;/p&gt;</description></item><item><title>Unexpected Printf Behavior in Go WASM - Nothing Prints</title><link>https://boot.dev/blog/golang/unexpected-printf-behavior-in-go-wasm/</link><pubDate>Mon, 10 Aug 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/unexpected-printf-behavior-in-go-wasm/</guid><description>&lt;p&gt;While working on &lt;a href="https://www.boot.dev"&gt;boot.dev&amp;rsquo;s&lt;/a&gt; &lt;a href="https://www.boot.dev/playground/go"&gt;Go Playground&lt;/a&gt;, I came across a very strange error. The standard library&amp;rsquo;s &lt;a href="https://golang.org/pkg/fmt/?m=all#Printf"&gt;fmt.Printf()&lt;/a&gt; function prints nothing to the console when called. &lt;em&gt;Nothing.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>HMAC and MACs - The Inner Workings of JWTs</title><link>https://boot.dev/blog/backend/hmac-and-macs-in-jwts/</link><pubDate>Wed, 05 Aug 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/hmac-and-macs-in-jwts/</guid><description>&lt;p&gt;HMACs and MACs are authentication codes and are often the backbone of JWT authentication systems. A Message Authentication Code (MAC) is a string of bits that depends on a secret key and is sent with a message to prove the message wasn&amp;rsquo;t tampered with. HMACs are a more strict version of MACs that offer additional security benefits.&lt;/p&gt;</description></item><item><title>Your Parent's Internet - How to Mitigate Misinformation</title><link>https://boot.dev/blog/misc/online-misinformation-and-censorship/</link><pubDate>Fri, 31 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/online-misinformation-and-censorship/</guid><description>&lt;p&gt;The age of information is not what we all hoped it would be. We successfully digitized the majority of human knowledge, and we even made it freely accessible to most. Now the problem is different, we have &lt;em&gt;too much&lt;/em&gt; information. Answers to most questions can be found in thousands of distinct places online, and the new problem is &amp;ldquo;whose information can we trust?&amp;rdquo;&lt;/p&gt;</description></item><item><title>HLS Video Streaming with Node.JS - A Tutorial</title><link>https://boot.dev/blog/javascript/hls-video-streaming-node/</link><pubDate>Tue, 28 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/hls-video-streaming-node/</guid><description>&lt;p&gt;In this quick tutorial, we&amp;rsquo;ll build a robust video (or music) streaming API using Node JS. Don&amp;rsquo;t worry, it&amp;rsquo;s surprisingly easy since we will be utilizing a modern protocol, &lt;a href="https://en.wikipedia.org/wiki/HTTP_Live_Streaming"&gt;HTTP Live Streaming&lt;/a&gt;, or HLS.&lt;/p&gt;</description></item><item><title>(Very) Basic Intro to PGP (GPG)</title><link>https://boot.dev/blog/security/very-basic-intro-to-pgp-gpg/</link><pubDate>Mon, 27 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/very-basic-intro-to-pgp-gpg/</guid><description>&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Pretty_Good_Privacy"&gt;PGP&lt;/a&gt;, or its open-source alternative, &lt;a href="https://en.wikipedia.org/wiki/GNU_Privacy_Guard"&gt;GPG&lt;/a&gt;, is a program used to encrypt data such that only an authorized party can decrypt it. In this introduction, we will cover its use-cases and a high-level overview of the algorithms involved.&lt;/p&gt;</description></item><item><title>(Very) Basic Intro to the Scrypt Hash</title><link>https://boot.dev/blog/security/very-basic-intro-to-the-scrypt-hash/</link><pubDate>Sat, 25 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/very-basic-intro-to-the-scrypt-hash/</guid><description>&lt;p&gt;Scrypt is a slow-by-design &lt;a href="https://boot.dev/blog/cryptography/key-derivation-functions/"&gt;key derivation function&lt;/a&gt; designed to create strong cryptographic keys. Simply put, the purpose of the Scrypt hash is to create a fingerprint of its input data but to do it &lt;em&gt;very slowly&lt;/em&gt;. A common use-case is to create a strong private key from a password, where the new private key is longer and more secure. Here at &lt;a href="https://www.boot.dev"&gt;boot.dev,&lt;/a&gt; we use a similar KDF for securing user passwords.&lt;/p&gt;</description></item><item><title>Authenticate Users with "Sign In With Google" in Golang</title><link>https://boot.dev/blog/golang/how-to-implement-sign-in-with-google-in-golang/</link><pubDate>Wed, 22 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/how-to-implement-sign-in-with-google-in-golang/</guid><description>&lt;p&gt;Users love convenience. If your goal is to make it easy for users to register with your app or website, then implementing the &amp;ldquo;Sign in with Google&amp;rdquo; option should be at the top of your priority list. If you are like me, then you may find Google&amp;rsquo;s documentation on the subject to be lackluster at best, and downright confusing at worst. Here we will go step-by-step through the authentication process so you can implement Google sign-in easily.&lt;/p&gt;</description></item><item><title>How to Create a Custom Toggle Switch Component in Vue.js</title><link>https://boot.dev/blog/vue/how-to-create-a-custom-toggle-switch-component-in-vue-js/</link><pubDate>Tue, 21 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/vue/how-to-create-a-custom-toggle-switch-component-in-vue-js/</guid><description>&lt;p&gt;Custom toggle switches are a pain to code from scratch. So many lines for such a simple UI widget! In this quick tutorial, we will learn how to build a fully encapsulated toggle switch component in Vue.js. The component we&amp;rsquo;re building is used currently on &lt;a href="https://www.boot.dev/"&gt;boot.dev&amp;rsquo;s login page&lt;/a&gt;. Go take a look to see a live demo.&lt;/p&gt;</description></item><item><title>Rust Backend vs Go Backend in Web Development</title><link>https://boot.dev/blog/golang/rust-vs-go-in-backend-web-development/</link><pubDate>Fri, 17 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/rust-vs-go-in-backend-web-development/</guid><description>&lt;p&gt;Rust and Go are two of the industry&amp;rsquo;s biggest successes when it comes to developing modern programming languages. Both languages compete in terms of &lt;a href="https://boot.dev/blog/backend/become-backend-developer/"&gt;backend web development&lt;/a&gt;, and it&amp;rsquo;s a fierce competition. Golang and Rust are new languages, have growing communities, and are fast and efficient. When it comes to microservice architectures, frameworks, and apps, Rust and Go are household names on the backend.&lt;/p&gt;</description></item><item><title>Vue History Mode - Support Legacy Hash URLs</title><link>https://boot.dev/blog/vue/vue-history-mode-support-legacy-hash-urls/</link><pubDate>Wed, 15 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/vue/vue-history-mode-support-legacy-hash-urls/</guid><description>&lt;p&gt;When we first launched the &lt;a href="https://www.boot.dev/"&gt;boot.dev&amp;rsquo;s single-page-app&lt;/a&gt;, we were using &lt;a href="https://router.vuejs.org/"&gt;Vue Router&amp;rsquo;s&lt;/a&gt; default hash routing. Hash routing looks ugly to the end-user, and when you want to be able to share parts of your app via direct link those hashes can get really annoying.&lt;/p&gt;</description></item><item><title>What is SHA-256?</title><link>https://boot.dev/blog/computer-science/how-sha-2-works-step-by-step-sha-256/</link><pubDate>Wed, 08 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/how-sha-2-works-step-by-step-sha-256/</guid><description>&lt;p&gt;SHA-2 (Secure Hash Algorithm 2), of which SHA-256 is a part, is one of the most popular &lt;a href="https://boot.dev/blog/cryptography/very-basic-intro-to-hash-functions-sha-256-md-5-etc/"&gt;hash algorithms&lt;/a&gt; around. A cryptographic hash, also often referred to as a &amp;ldquo;digest&amp;rdquo;, &amp;ldquo;fingerprint&amp;rdquo; or &amp;ldquo;signature&amp;rdquo;, is an &lt;em&gt;almost perfectly unique&lt;/em&gt; string of characters that is generated from a separate piece of input text. SHA-256 generates a 256-bit (32-byte) signature.&lt;/p&gt;</description></item><item><title>How to Rerender a Vue Route When Path Parameters Change</title><link>https://boot.dev/blog/vue/how-to-rerender-a-vue-route-when-path-parameters-change/</link><pubDate>Tue, 07 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/vue/how-to-rerender-a-vue-route-when-path-parameters-change/</guid><description>&lt;p&gt;In single-page apps that use the &lt;a href="https://router.vuejs.org/"&gt;Vue Router&lt;/a&gt;, it&amp;rsquo;s common to create a path parameter that changes the behavior of a route. Often a problem occurs however when a user alters the path manually in the address bar. Manually changing the URL does &lt;strong&gt;not&lt;/strong&gt; rerender the view! This can cause unexpected behavior because &lt;em&gt;mounted()&lt;/em&gt; hooks don&amp;rsquo;t fire and nested components don&amp;rsquo;t reload.&lt;/p&gt;</description></item><item><title>Announcing a "Basic Intro to Coding" Course in JavaScript</title><link>https://boot.dev/blog/news/announcing-a-very-basic-intro-to-coding/</link><pubDate>Mon, 06 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/announcing-a-very-basic-intro-to-coding/</guid><description>&lt;p&gt;The &lt;a href="https://www.boot.dev/"&gt;boot.dev app&lt;/a&gt; - our new gamified learning platform - just launched its first &lt;a href="https://www.boot.dev/courses/learn-javascript/"&gt;JavaScript coding course&lt;/a&gt;! This one is short, sweet, and to the point. We created a thirty-exercise, two-module course that caters to students who have never seen a single line of code before. That&amp;rsquo;s right, this is a code-in-the-browser course for absolute beginners.&lt;/p&gt;</description></item><item><title>Boot.dev Launches Golang Crash Course - Learn Go</title><link>https://boot.dev/blog/news/qvault-classroom-launches-golang-crash-course/</link><pubDate>Thu, 02 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/qvault-classroom-launches-golang-crash-course/</guid><description>&lt;p&gt;We just launched the new &lt;a href="https://www.boot.dev/"&gt;boot.dev&lt;/a&gt; computer science platform and can&amp;rsquo;t be more excited. Our first crash course in Go, &amp;ldquo;&lt;a href="https://www.boot.dev/courses/learn-golang"&gt;Learn Go&lt;/a&gt;&amp;rdquo; is now available! We teach students by allowing them to write, compile, and run backend code directly in the browser.&lt;/p&gt;</description></item><item><title>Running Go in the Browser With Web Assembly (WASM)</title><link>https://boot.dev/blog/golang/running-go-in-the-browser-with-web-assembly-wasm/</link><pubDate>Wed, 01 Jul 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/running-go-in-the-browser-with-web-assembly-wasm/</guid><description>&lt;p&gt;If you are familiar with the &lt;a href="https://play.golang.org/"&gt;Go Playground&lt;/a&gt;, then you know how convenient it is to be able to have a Go scratchpad in the browser. Want to show someone a code snippet? Want to quickly test some syntax? Browser-based code pads are helpful. On that note, I &lt;a href="https://www.boot.dev/playground/go"&gt;created a new playground&lt;/a&gt;. The cool thing about this new playground that it doesn&amp;rsquo;t use a remote server to run code, just to compile it. The code runs in your browser using &lt;a href="https://webassembly.org/"&gt;web assembly (WASM)&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Make Maps and Slices in Golang - A Guide to Initialization</title><link>https://boot.dev/blog/golang/golang-make-maps-and-slices/</link><pubDate>Mon, 29 Jun 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-make-maps-and-slices/</guid><description>&lt;p&gt;There are quite a few ways to create new maps and slices in Go, for example, they can both be initialized using the &lt;code&gt;make()&lt;/code&gt; function, the &lt;code&gt;new()&lt;/code&gt; function, as literals, or by using the &lt;code&gt;var&lt;/code&gt; keyword. With so many choices, which option is best? Or perhaps better asked, which one is best in your situation? Let&amp;rsquo;s take a look.&lt;/p&gt;</description></item><item><title>How to Get Consistent Line Breaks in VS Code (LF vs CRLF)</title><link>https://boot.dev/blog/misc/line-breaks-vs-code-lf-vs-crlf/</link><pubDate>Thu, 18 Jun 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/line-breaks-vs-code-lf-vs-crlf/</guid><description>&lt;p&gt;Have you ever had the problem where you submit a pull request and the diff is much larger than it should be? Maybe the code looks identical, but GitHub tells you it&amp;rsquo;s completely different.&lt;/p&gt;</description></item><item><title>Simple Setup - Vue Linting in VS Code</title><link>https://boot.dev/blog/vue/simple-setup-vue-linting-in-vs-code/</link><pubDate>Wed, 17 Jun 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/vue/simple-setup-vue-linting-in-vs-code/</guid><description>&lt;p&gt;I&amp;rsquo;m a &lt;a href="https://blog.golang.org/gopher"&gt;gopher&lt;/a&gt; by nature, so I expect consistent styling and linting in my codebases. More importantly, I don&amp;rsquo;t like to think about styling. I like to type haphazardly and then have my editor apply styles automatically on save (&lt;code&gt;ctrl+s&lt;/code&gt;, &lt;code&gt;cmd+s&lt;/code&gt;). If you are the same way, hopefully, this will help you in your next Vue.js project.&lt;/p&gt;</description></item><item><title>Go-CoNLLU - Some Much Needed Machine Learning Support in Go</title><link>https://boot.dev/blog/golang/go-conllu-some-much-needed-machine-learning-support-in-go/</link><pubDate>Mon, 08 Jun 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/go-conllu-some-much-needed-machine-learning-support-in-go/</guid><description>&lt;p&gt;Python is commonly seen as the AI/ML language, but is often a dull blade due to unsafe typing and being slow, like &lt;em&gt;really&lt;/em&gt; slow. Many popular natural language processing toolkits only have Python APIs, and we want to see that change. At &lt;a href="https://nuvi.com"&gt;Nuvi&lt;/a&gt;, a &lt;a href="https://bulk.ly/social-media-tools/"&gt;social media marketing tool&lt;/a&gt;, we use Go for the majority of our data processing tasks because we can write &lt;em&gt;simple&lt;/em&gt; and &lt;em&gt;fast&lt;/em&gt; code. Today we are open-sourcing a tool that has helped make our ML lives easier in Go. Say hello to &lt;a href="https://github.com/nuvi/go-conllu"&gt;go-conllu&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Go's WaitGroup vs JavaScript's PromiseAll</title><link>https://boot.dev/blog/golang/gos-waitgroup-javascripts-promiseall/</link><pubDate>Thu, 04 Jun 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/gos-waitgroup-javascripts-promiseall/</guid><description>&lt;p&gt;In applications that are i/o heavy, it can get clunky to synchronously execute high-latency functions one after the other. For example, if I have a web page that needs to request seven files from the server before it can show the page, I need to asynchronously fetch all those files at the same time. The alternative of making each request one at a time will take much too long. This is where JavaScript&amp;rsquo;s &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all"&gt;PromiseAll&lt;/a&gt; and Go&amp;rsquo;s &lt;a href="https://golang.org/pkg/sync/#WaitGroup"&gt;WaitGroup&lt;/a&gt; come in.&lt;/p&gt;</description></item><item><title>How to Sort a Slice in Go</title><link>https://boot.dev/blog/golang/sorting-in-go/</link><pubDate>Wed, 27 May 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/sorting-in-go/</guid><description>&lt;p&gt;Sorting is a common task in programming, and for that reason, most languages have a default sorting algorithm in their standard library. Go is one such language. Go has gone about providing sorting functionality in one of the most elegant ways possible, via an &lt;a href="https://boot.dev/blog/golang/golang-interfaces/"&gt;interface&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Using Concurrent Subscribers With RabbitMQ in Python (pika)</title><link>https://boot.dev/blog/python/using-concurrent-subscribers-rabbitmq-in-python-pika/</link><pubDate>Tue, 26 May 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/using-concurrent-subscribers-rabbitmq-in-python-pika/</guid><description>&lt;p&gt;It&amp;rsquo;s a fairly common scenario to subscribe to a Rabbit queue and process messages before acknowledging receipt. The &lt;a href="https://pypi.org/project/pika/"&gt;pika package&lt;/a&gt; for dealing with RabbitMQ in Python however is only single-threaded out of the box. If we want to make a network or database call before each acknowledgment our subscribers can get &lt;em&gt;really&lt;/em&gt; slow.&lt;/p&gt;</description></item><item><title>Don't Go To Casting Hell - Use Default Native Types in Go</title><link>https://boot.dev/blog/golang/default-native-types-golang/</link><pubDate>Thu, 21 May 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/default-native-types-golang/</guid><description>&lt;p&gt;Go is strongly typed, and with that, we get many options for simple variable types like integers and floats. The problem arises when we have a &lt;em&gt;uint16&lt;/em&gt;, and the function we are trying to pass it into takes an &lt;code&gt;int&lt;/code&gt;. We find code riddled with &lt;code&gt;int(myUint16)&lt;/code&gt; that can become slow and annoying to read. In other words, when Go developers stray from the &amp;ldquo;default&amp;rdquo; type for any given type family, the code can get messy quickly.&lt;/p&gt;</description></item><item><title>How to Break From Nested Loops in Rust</title><link>https://boot.dev/blog/rust/loops-in-rust-breaking-from-nested-loops/</link><pubDate>Thu, 14 May 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/rust/loops-in-rust-breaking-from-nested-loops/</guid><description>&lt;p&gt;Loops in Rust aren&amp;rsquo;t the same as standard C-style languages. The syntax is different and there are some powerful options that make looping easier. First, let&amp;rsquo;s go over some looping basics, then we will cover how to handle breaking and continuing in nested loops in Rust.&lt;/p&gt;</description></item><item><title>Variable Shadowing In Rust - "Let" Is Immutable But Not Constant</title><link>https://boot.dev/blog/rust/variable-shadowing-in-rust/</link><pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/rust/variable-shadowing-in-rust/</guid><description>&lt;p&gt;Let&amp;rsquo;s take a look at some of the common pitfalls with the keywords &lt;em&gt;let&lt;/em&gt; and &lt;em&gt;mut&lt;/em&gt;&lt;strong&gt;.&lt;/strong&gt; Then, we will learn how &lt;strong&gt;immutable != constant&lt;/strong&gt; by using &lt;em&gt;variable shadowing&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Quantum Programming 101: Backend Monitor</title><link>https://boot.dev/blog/misc/quantum-programming-101-backend-monitor/</link><pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/quantum-programming-101-backend-monitor/</guid><description>&lt;h2 class="anchor heading-group" id="introduction"&gt;&lt;a class="heading-link" href="#introduction"&gt;Introduction&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In a previous tutorial we showed how you can get basic information on all quantum devices using backend_overview().&lt;/p&gt;</description></item><item><title>Concurrency In Rust; Can It Stack Up Against Go's Goroutines?</title><link>https://boot.dev/blog/rust/concurrency-in-rust-can-it-stack-up-against-gos-goroutines/</link><pubDate>Mon, 11 May 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/rust/concurrency-in-rust-can-it-stack-up-against-gos-goroutines/</guid><description>&lt;p&gt;One of the primary goals of the Go programming language is to make concurrency simpler, faster, and more efficient. With Rust growing in popularity let&amp;rsquo;s see how its concurrency mechanisms stack up against Go&amp;rsquo;s.&lt;/p&gt;</description></item><item><title>Rust vs Go - Which Is More Popular?</title><link>https://boot.dev/blog/golang/rust-vs-go-popularity/</link><pubDate>Wed, 06 May 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/rust-vs-go-popularity/</guid><description>&lt;p&gt;Go and Rust are two of the hottest compiled programming languages, but which is more popular, Go or Rust?. I develop in Go full-time and love it, and I&amp;rsquo;m learning more about Rust recently - it&amp;rsquo;s an exciting language. Let&amp;rsquo;s explore some differences between the two and look at which is growing faster in the popularity polls.&lt;/p&gt;</description></item><item><title>Achieving Data Integrity Using Cryptography</title><link>https://boot.dev/blog/security/achieving-data-integrity-using-cryptography/</link><pubDate>Mon, 04 May 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/achieving-data-integrity-using-cryptography/</guid><description>&lt;p&gt;Data integrity refers to the accuracy, legitimacy, and consistency of information in a system. When a message is sent, particularly using an untrusted medium, data integrity provides us with confidence that the message wasn&amp;rsquo;t tampered with. For example, the SSL signature of &lt;a href="https://blog.boot.dev"&gt;Boot.dev&lt;/a&gt; provides confidence that the webpage and data coming from our servers are coming from us and not the NSA.&lt;/p&gt;</description></item><item><title>Range Over Ticker In Go With Immediate First Tick</title><link>https://boot.dev/blog/golang/range-over-ticker-in-go-with-immediate-first-tick/</link><pubDate>Thu, 30 Apr 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/range-over-ticker-in-go-with-immediate-first-tick/</guid><description>&lt;p&gt;The Go standard library has a really cool type - &lt;a href="https://gobyexample.com/tickers"&gt;Ticker&lt;/a&gt;. Tickers are used when you want to do something at a regular interval, similar to JavaScript&amp;rsquo;s &lt;a href="https://www.w3schools.com/jsref/met_win_setinterval.asp"&gt;setInterval&lt;/a&gt;. Here&amp;rsquo;s an example:&lt;/p&gt;</description></item><item><title>(Very) Basic Intro To White-Box Cryptography</title><link>https://boot.dev/blog/security/very-basic-intro-to-white-box-cryptography/</link><pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/very-basic-intro-to-white-box-cryptography/</guid><description>&lt;p&gt;White-box cryptography combines methods of encryption and obfuscation to embed secret keys within application code. The goal is to combine code and keys in such a way that the two are indistinguishable to an attacker, and the new &amp;ldquo;white-box&amp;rdquo; program can be safely run in an insecure environment.&lt;/p&gt;</description></item><item><title>Using 'Go Generate' To Deploy Multi-Process Apps</title><link>https://boot.dev/blog/golang/using-go-generate-to-deploy-multi-process-apps/</link><pubDate>Wed, 22 Apr 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/using-go-generate-to-deploy-multi-process-apps/</guid><description>&lt;p&gt;In microservice architectures, it&amp;rsquo;s fairly common to have a project that includes different worker types. A &lt;a href="https://en.wikipedia.org/wiki/Makefile"&gt;Makefile&lt;/a&gt; can be used to manage the creation of multiple programs, but the Go toolchain has a tool that can be used as well, &lt;a href="https://blog.golang.org/generate"&gt;go generate&lt;/a&gt;. Here are some examples of how it can be used:&lt;/p&gt;</description></item><item><title>What Are Golang's Anonymous Structs?</title><link>https://boot.dev/blog/golang/anonymous-structs-golang/</link><pubDate>Tue, 21 Apr 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/anonymous-structs-golang/</guid><description>&lt;p&gt;An anonymous struct is just like a normal struct, but it is defined &lt;em&gt;without a name&lt;/em&gt; and therefore &lt;em&gt;cannot be referenced&lt;/em&gt; elsewhere in the code.&lt;/p&gt;</description></item><item><title>Quantum Programming 101: Superdense Coding Tutorial</title><link>https://boot.dev/blog/misc/quantum-programming-101-superdense-coding-tutorial/</link><pubDate>Mon, 20 Apr 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/quantum-programming-101-superdense-coding-tutorial/</guid><description>&lt;h2 class="anchor heading-group" id="what-is-superdense-coding"&gt;&lt;a class="heading-link" href="#what-is-superdense-coding"&gt;What is Superdense coding?&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Superdense coding is a quantum communications protocol that allows a user to send 2 classical bits by sending only 1 qubit.&lt;/p&gt;</description></item><item><title>Announcing Go-TinyTime, Go-TinyDate's Sister Package</title><link>https://boot.dev/blog/golang/announcing-go-tinytime-go-tinydates-sister-package/</link><pubDate>Thu, 02 Apr 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/announcing-go-tinytime-go-tinydates-sister-package/</guid><description>&lt;p&gt;&lt;a href="https://golang.org/pkg/time/#Time"&gt;time.Time&lt;/a&gt; is the perfect choice for &lt;a href="https://boot.dev/blog/golang/golang-date-time/"&gt;handling times in Go&lt;/a&gt; in most cases, it even comes in the standard library! The problem is that the &lt;code&gt;time.Time{}&lt;/code&gt; struct uses more than &lt;strong&gt;24 bytes&lt;/strong&gt; of memory under most conditions. &lt;a href="https://github.com/wagslane/go-tinytime"&gt;Go-TinyTime&lt;/a&gt; solves this problem by restricting the available dates to the range between 1970 - 2106, and only supporting UTC timezones. This brings data usage down to just &lt;strong&gt;4 bytes&lt;/strong&gt; of memory.&lt;/p&gt;</description></item><item><title>Golang Conversions - Ints To Strings And Strong Typing</title><link>https://boot.dev/blog/golang/golang-conversions-ints-to-strings-and-strong-typing/</link><pubDate>Tue, 31 Mar 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-conversions-ints-to-strings-and-strong-typing/</guid><description>&lt;p&gt;Go is a strongly typed language, which means at any point a developer should know exactly what &lt;strong&gt;type&lt;/strong&gt; of value they are dealing with. For example, if we have a function that prints a string, we can&amp;rsquo;t just give it an integer and expect it to work. We have to cast it to a string explicitly:&lt;/p&gt;</description></item><item><title>How To Separate Library Packages in Go</title><link>https://boot.dev/blog/golang/how-to-separate-library-packages-in-go/</link><pubDate>Sun, 29 Mar 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/how-to-separate-library-packages-in-go/</guid><description>&lt;p&gt;I&amp;rsquo;ve often seen, and have been responsible for, throwing code into packages without much thought. I&amp;rsquo;ve quickly drawn a line in the sand and started putting code into different folders (which in Go are different packages by definition) just for the sake of findability. Learning to properly build small and reusable packages can take your Go career to the next level.&lt;/p&gt;</description></item><item><title>I Wrote Go-TinyDate, The Missing Golang Date Package</title><link>https://boot.dev/blog/golang/i-wrote-go-tinydate-the-missing-golang-date-package/</link><pubDate>Mon, 23 Mar 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/i-wrote-go-tinydate-the-missing-golang-date-package/</guid><description>&lt;p&gt;&lt;a href="https://golang.org/pkg/time/#Time"&gt;time.Time&lt;/a&gt; makes dealing with dates and times in Go a breeze, and it even comes bundled in the standard library! However, a time.Time{} struct uses more than &lt;strong&gt;24 bytes&lt;/strong&gt; of memory under most conditions, and I&amp;rsquo;ve run into situations where I need to store millions of them in memory, but all I really needed was a UTC date! &lt;a href="https://github.com/wagslane/go-tinydate"&gt;Go-TinyDate&lt;/a&gt; solves this with just &lt;strong&gt;4 bytes&lt;/strong&gt; of memory.&lt;/p&gt;</description></item><item><title>How to Use Mutexes in Go</title><link>https://boot.dev/blog/golang/golang-mutex/</link><pubDate>Thu, 19 Mar 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-mutex/</guid><description>&lt;p&gt;Golang is King when it comes to concurrency. No other language has so many tools right out of the box, and one of those tools is the standard library&amp;rsquo;s &lt;a href="https://pkg.go.dev/sync#Mutex"&gt;sync.Mutex{}&lt;/a&gt;. Mutexes let us safely control access to data across multiple goroutines.&lt;/p&gt;</description></item><item><title>Best Practices for Interfaces in Go</title><link>https://boot.dev/blog/golang/golang-interfaces/</link><pubDate>Sun, 15 Mar 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-interfaces/</guid><description>&lt;p&gt;Interfaces in Go allow us to treat different types as the same data type temporarily because both types implement the same &lt;em&gt;kind&lt;/em&gt; of behavior. They&amp;rsquo;re central to a Go programmer&amp;rsquo;s toolbelt and are often used improperly by new Go developers, which leads to unreadable and often buggy code.&lt;/p&gt;</description></item><item><title>Wrapping Errors in Go - How to Handle Nested Errors</title><link>https://boot.dev/blog/golang/wrapping-errors-in-go-how-to-handle-nested-errors/</link><pubDate>Mon, 09 Mar 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/wrapping-errors-in-go-how-to-handle-nested-errors/</guid><description>&lt;p&gt;Errors in Go are a hot topic. Many newcomers to the language immediately level their first criticism, &amp;ldquo;errors in go are clunky! Let me just use try/catch!&amp;rdquo; This criticism is well-meaning but misguided.&lt;/p&gt;</description></item><item><title>JWT Authentication in Golang</title><link>https://boot.dev/blog/golang/jwts-in-golang/</link><pubDate>Thu, 20 Feb 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/jwts-in-golang/</guid><description>&lt;p&gt;Go is becoming very popular for &lt;a href="https://boot.dev/blog/backend/become-backend-developer/"&gt;backend web development&lt;/a&gt;, and JWT&amp;rsquo;s are one of the most popular ways to handle authentication on API requests. In this article, we&amp;rsquo;ll go over the basics of JWT&amp;rsquo;s and how to implement a secure authentication strategy in Go!&lt;/p&gt;</description></item><item><title>How Do Brute-Force Attackers Know They Found The Key?</title><link>https://boot.dev/blog/security/how-do-brute-force-attackers-know-they-found-the-key/</link><pubDate>Tue, 11 Feb 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/how-do-brute-force-attackers-know-they-found-the-key/</guid><description>&lt;p&gt;To &amp;ldquo;Brute Force&amp;rdquo; something (when talking about computers) means to systematically try every possible combination until you find the right answer.&lt;/p&gt;</description></item><item><title>AES-256 Cipher – Python Cryptography Examples</title><link>https://boot.dev/blog/python/aes-256-cipher-python-cryptography-examples/</link><pubDate>Thu, 06 Feb 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/aes-256-cipher-python-cryptography-examples/</guid><description>&lt;p&gt;Want to encrypt text with a password or private key in Python? AES-256 is a solid symmetric cipher that is commonly used to encrypt data for oneself. In other words, the same person who encrypts the data also decrypts it, the way personal password managers work.&lt;/p&gt;</description></item><item><title>Will Banning Cryptography Keep the Country Safe?</title><link>https://boot.dev/blog/misc/will-banning-cryptography-keep-the-country-safe/</link><pubDate>Wed, 05 Feb 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/will-banning-cryptography-keep-the-country-safe/</guid><description>&lt;p&gt;Politicians in the United States have been claiming recently that end-to-end encryption is certainly too dangerous to permit. This movement is serious. Congress even &lt;a href="https://assets.bwbx.io/documents/users/iqjWHBFdfxIU/rUwvwv0X.db8/v0"&gt;introduced a bill&lt;/a&gt; that would remove the protections that we currently have that allow us to legally encrypt information. Lindsey Graham is one such proponent of this restrictive legislation:&lt;/p&gt;</description></item><item><title>How To Cache Images - React Native Expo (Managed)</title><link>https://boot.dev/blog/javascript/how-to-cache-images-react-native-expo-managed/</link><pubDate>Tue, 04 Feb 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/how-to-cache-images-react-native-expo-managed/</guid><description>&lt;p&gt;Caching images in React Native can be easy, even if you are using Expo&amp;rsquo;s managed workflow. The problem many devs run into is that React Native only supports &lt;a href="https://facebook.github.io/react-native/docs/images#cache-control-ios-only"&gt;caching images on IOS&lt;/a&gt; out of the box.&lt;/p&gt;</description></item><item><title>Is Open-Source Cryptography Really Secure?</title><link>https://boot.dev/blog/security/is-open-source-cryptography-really-secure/</link><pubDate>Thu, 30 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/is-open-source-cryptography-really-secure/</guid><description>&lt;p&gt;The purpose of &lt;a href="https://boot.dev/blog/cryptography/what-is-cryptography/"&gt;cryptography&lt;/a&gt; is to keep information private, and the purpose of open-source is to make code public&amp;hellip; So we shouldn&amp;rsquo;t open-source our cryptography algorithms right?&lt;/p&gt;</description></item><item><title>Hashing Passwords - Python Cryptography Examples</title><link>https://boot.dev/blog/python/hashing-passwords-python-cryptography-examples/</link><pubDate>Wed, 29 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/hashing-passwords-python-cryptography-examples/</guid><description>&lt;p&gt;Building a from-scratch server or using a lightweight framework is empowering. With that power comes responsibility, specifically the responsibility to securely store user&amp;rsquo;s passwords.&lt;/p&gt;</description></item><item><title>Why is Exclusive Or (XOR) Important in Cryptography?</title><link>https://boot.dev/blog/computer-science/why-xor-in-cryptography/</link><pubDate>Sat, 18 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/why-xor-in-cryptography/</guid><description>&lt;p&gt;If you are getting into &lt;a href="https://boot.dev/blog/cryptography/what-is-cryptography/"&gt;cryptography&lt;/a&gt;, or just trying to understand the fundamentals, you may have noticed that the &lt;code&gt;exclusive or&lt;/code&gt; (XOR) operation is used quite often, especially in ciphers. XOR is a simple bitwise operation that allows cryptographers to create strong encryption systems, and consequently is a fundamental building block of practically all modern ciphers. Let&amp;rsquo;s dive into the details and see what makes XOR so important.&lt;/p&gt;</description></item><item><title>JavaScript With Statement Explained – A Deep Dive</title><link>https://boot.dev/blog/javascript/javascript-with-statement/</link><pubDate>Wed, 15 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/javascript-with-statement/</guid><description>&lt;p&gt;JavaScript&amp;rsquo;s built-in &lt;code&gt;with&lt;/code&gt; statement specifies the default object for the given property and gives us a shorthand for writing long object references. More precisely, it adds the given object to the head of the scope chain.&lt;/p&gt;</description></item><item><title>JavaScript Map Function Explained - A Deep Dive</title><link>https://boot.dev/blog/javascript/javascript-map-function/</link><pubDate>Sun, 12 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/javascript-map-function/</guid><description>&lt;p&gt;The built-in JavaScript &lt;code&gt;map&lt;/code&gt; function returns a new array, where each element in the new array is the result of the corresponding element in the old array after being passed through a callback function. Later in the article, we&amp;rsquo;ll do a deep dive into some more advanced concepts regarding the map function and its uses.&lt;/p&gt;</description></item><item><title>BitBanged SPI in Go, An Explanation</title><link>https://boot.dev/blog/golang/bitbanged-spi-in-go-an-explanation/</link><pubDate>Thu, 09 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/bitbanged-spi-in-go-an-explanation/</guid><description>&lt;p&gt;I&amp;rsquo;m going to focus mostly on some design decisions and also how I went about writing an SPI interface using Go on a Raspberry Pi. I assume my readers have a basic understanding of what a Raspberry Pi is, and how basic electronics work. If not, read on anyway and I will be sure to include some valuable resources below.&lt;/p&gt;</description></item><item><title>Top 8 Online Crypto Communities</title><link>https://boot.dev/blog/misc/best-online-crypto-communities/</link><pubDate>Wed, 08 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/misc/best-online-crypto-communities/</guid><description>&lt;p&gt;Crypto has been explosive in 2021. The gains have been even better than the memes! While dancing cat videos are fun, the wise will also take advantage of the various communities as an opportunity to learn more about the technology that supports decentralized money. I&amp;rsquo;ve put together a small list of the top crypto communities for you to check out this year!&lt;/p&gt;</description></item><item><title>Top 6 Golang Logging Best Practices</title><link>https://boot.dev/blog/golang/golang-logging-best-practices/</link><pubDate>Tue, 07 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-logging-best-practices/</guid><description>&lt;p&gt;Let&amp;rsquo;s discuss a few rules of thumb for logging in Go, as well as some features you may not have heard of that can make debugging easier. Best practices for logging in Go are not so obvious and sometimes we need to look closer to see what is the best choice, considering the unique situation of error handling in Go.&lt;/p&gt;</description></item><item><title>Cryptography Trends And News Going Into 2020</title><link>https://boot.dev/blog/news/cryptography-trends-and-news-going-into-2020/</link><pubDate>Fri, 03 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/cryptography-trends-and-news-going-into-2020/</guid><description>&lt;h2 class="anchor heading-group" id="quantum-computing"&gt;&lt;a class="heading-link" href="#quantum-computing"&gt;Quantum Computing&lt;svg class="heading-anchor" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/&gt;&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/&gt;&lt;/svg&gt;
 &lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Quantum computing may not be coming quite as fast as some in the field had certainly feared (or perhaps hoped). Google did, however, solve an impressive problem this year.&lt;/p&gt;</description></item><item><title>Intro to The AES-256 Cipher</title><link>https://boot.dev/blog/security/aes-256-cipher/</link><pubDate>Thu, 02 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/aes-256-cipher/</guid><description>&lt;p&gt;AES, or &amp;ldquo;Advanced Encryption Standard&amp;rdquo;, is an encryption specification that uses the Rijndael cipher as its symmetric key ciphering algorithm. AES encrypts a message with a private key, and no one but the key holder can decrypt the message. A great example of a good use-case for AES-256 is encrypting all the data on the hard drive of a computer when it&amp;rsquo;s not in use.&lt;/p&gt;</description></item><item><title>(Very) Basic Intro to Hash Functions (SHA-256, MD5, etc)</title><link>https://boot.dev/blog/computer-science/very-basic-intro-to-hash-functions-sha-256-md-5-etc/</link><pubDate>Wed, 01 Jan 2020 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/very-basic-intro-to-hash-functions-sha-256-md-5-etc/</guid><description>&lt;p&gt;Hash functions are used to securely store passwords, find duplicate records, quickly store and retrieve data, among other useful computational tasks. As a practical example, all user passwords on &lt;a href="https://www.boot.dev/"&gt;boot.dev&lt;/a&gt; are hashed using &lt;a href="https://boot.dev/blog/cryptography/bcrypt-step-by-step/"&gt;Bcrypt&lt;/a&gt; to ensure that if an attacker were ever to gain access to our database our user&amp;rsquo;s passwords wouldn&amp;rsquo;t be compromised.&lt;/p&gt;</description></item><item><title>Basic Intro to Key Derivation Functions</title><link>https://boot.dev/blog/security/key-derivation-functions/</link><pubDate>Mon, 30 Dec 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/key-derivation-functions/</guid><description>&lt;p&gt;A Key Derivation Function, or KDF, is a &lt;a href="https://boot.dev/blog/cryptography/what-is-cryptography/"&gt;cryptographic algorithm&lt;/a&gt; that derives one or more secret keys from a secret value. If you&amp;rsquo;ve ever needed to store a password in a database or create a private key from a password, you may have used a KDF. Some examples of popular KDFs are &lt;a href="https://en.wikipedia.org/wiki/Argon2"&gt;Argon2&lt;/a&gt;, &lt;a href="https://boot.dev/blog/cryptography/very-basic-intro-to-the-scrypt-hash/"&gt;Scrypt&lt;/a&gt;, and &lt;a href="https://en.wikipedia.org/wiki/PBKDF2"&gt;PBKDF2&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Cryptology vs Cryptography - Definitions and Differences</title><link>https://boot.dev/blog/computer-science/cryptology-vs-cryptography/</link><pubDate>Mon, 16 Dec 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/cryptology-vs-cryptography/</guid><description>&lt;p&gt;Many new developers are jumping right into writing code, usually for those fat paychecks, without learning much about the &lt;a href="https://boot.dev/blog/computer-science/the-history-of-computer-science/"&gt;history of Computer Science&lt;/a&gt;. Alan Turing is recognized as the father of Computer Science, though many don&amp;rsquo;t know that his roots were in cryptology and mathematics. It was out of cryptology, cryptography, and mathematics that computer science was born.&lt;/p&gt;</description></item><item><title>Boot.dev's Lead Engineer Interviewed on "Running in Production"</title><link>https://boot.dev/blog/news/qvaults-lead-engineer-interviewed-on-running-in-production/</link><pubDate>Mon, 09 Dec 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/news/qvaults-lead-engineer-interviewed-on-running-in-production/</guid><description>&lt;p&gt;The podcast is available &lt;a href="https://runninginproduction.com/podcast/6-qvault-is-an-open-source-tool-to-manage-passwords-and-crypto-keys"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Before I begin, I must give thanks to Nick for having me on the show! In this episode of Running in Production, I talk with Nick about how we built &lt;a href="https://www.boot.dev/"&gt;boot.dev&lt;/a&gt;, an open-source password manager that specializes in cryptocurrency. Boot.dev uses Electron and has a Serverless component that uses Golang. It&amp;rsquo;s all hosted on AWS.&lt;/p&gt;</description></item><item><title>Building Alerts with Percolate Queries in ElasticSearch</title><link>https://boot.dev/blog/backend/percolate-queries-elasticsearch/</link><pubDate>Thu, 14 Nov 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/backend/percolate-queries-elasticsearch/</guid><description>&lt;p&gt;Once upon a time, a company I worked for had a problem, we had thousands of messages flowing through our data pipeline every second, and we wanted to be able to send real-time emails, SMS, and Slack alerts when messages matching specific criteria were found. A simple solution built using &lt;a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-percolate-query.html"&gt;ElasticSearch&amp;rsquo;s percolate queries&lt;/a&gt; ended up being our saving grace.&lt;/p&gt;</description></item><item><title>Which Method of Iteration in JavaScript is Fastest?</title><link>https://boot.dev/blog/javascript/benchmarking-array-traversal-in-javascript/</link><pubDate>Fri, 08 Nov 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/benchmarking-array-traversal-in-javascript/</guid><description>&lt;p&gt;There are many ways to traverse an array in Javascript. In this benchmark, we will look at five different ways and the pros and cons of each. Keep in mind that these benchmarks were run in a Chrome browser on Codepen.io. Results will vary by browser/interpreter.&lt;/p&gt;</description></item><item><title>Singletons in ES6 - The Good, The Bad, The Ugly</title><link>https://boot.dev/blog/javascript/singletons-in-es6-the-good-the-bad-the-ugly/</link><pubDate>Mon, 04 Nov 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/singletons-in-es6-the-good-the-bad-the-ugly/</guid><description>&lt;p&gt;Singletons are fairly controversial as far as I can tell, especially in JavaScript programming. Let&amp;rsquo;s take a look at what they are, when to (maybe) use them, and when not to.&lt;/p&gt;</description></item><item><title>How to Create Constant Maps, Slices, &amp; Arrays in Golang</title><link>https://boot.dev/blog/golang/golang-constant-maps-slices/</link><pubDate>Mon, 21 Oct 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/golang-constant-maps-slices/</guid><description>&lt;p&gt;&lt;strong&gt;The quick answer is that Go does not support constant arrays, maps or slices.&lt;/strong&gt; However, there are some great workarounds.&lt;/p&gt;</description></item><item><title>Systems and Processes that Aren't in Code are Terrifying</title><link>https://boot.dev/blog/devops/systems-and-processes-that-arent-in-code-are-terrifying/</link><pubDate>Thu, 03 Oct 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/systems-and-processes-that-arent-in-code-are-terrifying/</guid><description>&lt;p&gt;My worst enemy is processes that a developer spun up years ago on a server everyone has forgotten about. I don&amp;rsquo;t know how to find these systems reliably, I don&amp;rsquo;t know where they came from, what depends on them, and if they are safe to delete. For example, the dreaded &lt;code&gt;15 6 2 1 * /home/lane/backup.sh&lt;/code&gt;. You may recognize this as a Unix cronjob, a job that is scheduled to run on a server periodically.&lt;/p&gt;</description></item><item><title>The Proper Use of Pointers in Go (Golang)</title><link>https://boot.dev/blog/golang/the-proper-use-of-pointers-in-go-golang/</link><pubDate>Wed, 25 Sep 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/golang/the-proper-use-of-pointers-in-go-golang/</guid><description>&lt;p&gt;Go has become increasingly popular in recent years, especially in my local area. It has been consistently displacing other backend languages like Ruby, Python, C# and Java. Go is wanted for its simplicity, explicitness, speed, and low memory consumption.&lt;/p&gt;</description></item><item><title>How to Recursively Traverse JSON Objects</title><link>https://boot.dev/blog/javascript/how-to-recursively-traverse-objects/</link><pubDate>Sun, 22 Sep 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/how-to-recursively-traverse-objects/</guid><description>&lt;p&gt;I&amp;rsquo;ve found that it&amp;rsquo;s pretty rare that I need recursion in application code, but every once in a while I need to write a function that operates on a tree of unknown depth, such as a JSON object, and that&amp;rsquo;s often best solved recursively. Even though recursion is rare, it is important to recognize when a problem is best solved recursively so that we can implement a good solution when the time comes.&lt;/p&gt;</description></item><item><title>How to Secure Your Bitcoin</title><link>https://boot.dev/blog/security/how-to-secure-bitcoin/</link><pubDate>Fri, 30 Aug 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/how-to-secure-bitcoin/</guid><description>&lt;p&gt;If you&amp;rsquo;re new to Bitcoin and cryptocurrency, you may have heard the common phrase &lt;a href="https://www.youtube.com/watch?v=dnC5mFaIW3Q"&gt;not your keys not your coins&lt;/a&gt;. While self-custody isn&amp;rsquo;t for everyone, it&amp;rsquo;s the only way to truly have exclusive control over your funds. If that&amp;rsquo;s what you&amp;rsquo;re into, read on.&lt;/p&gt;</description></item><item><title>Security in Dependencies</title><link>https://boot.dev/blog/security/security-in-dependencies/</link><pubDate>Wed, 21 Aug 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/security-in-dependencies/</guid><description>&lt;p&gt;Choosing the right dependencies is a difficult task. Assuming the developer of an application is the best programmer in the world, the &amp;ldquo;best&amp;rdquo; thing to do would be to write the entire codebase alone. This would eliminate the bugs, vulnerabilities, and malicious intrusions of inferior developers.&lt;/p&gt;</description></item><item><title>Encoding vs Encryption - They Aren't the Same</title><link>https://boot.dev/blog/computer-science/encoding-vs-encryption/</link><pubDate>Wed, 14 Aug 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/computer-science/encoding-vs-encryption/</guid><description>&lt;p&gt;While encryption does &lt;em&gt;involve&lt;/em&gt; various methods of encoding data, the two are absolutely not interchangeable. In fact, if you get them mixed up it can result in serious data breaches and security vulnerabilities.&lt;/p&gt;</description></item><item><title>Automatic Cross-Platform Deployments with Electron</title><link>https://boot.dev/blog/devops/automatic-cross-platform-deployments-with-electron-on-a-ci-server-travis/</link><pubDate>Thu, 08 Aug 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/devops/automatic-cross-platform-deployments-with-electron-on-a-ci-server-travis/</guid><description>&lt;p&gt;This is a tutorial on how to set up an Electron app on &lt;a href="https://travis-ci.org/"&gt;Travis CI&lt;/a&gt;, so that new versions are deployed to &lt;a href="https://help.github.com/en/articles/creating-releases"&gt;GitHub Releases&lt;/a&gt; with a simple pull request.&lt;/p&gt;</description></item><item><title>Creating and Remembering a Strong Passphrase</title><link>https://boot.dev/blog/security/creating-and-remembering-a-strong-passphrase/</link><pubDate>Sat, 03 Aug 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/creating-and-remembering-a-strong-passphrase/</guid><description>&lt;p&gt;We all have hundreds of online accounts. Ideally, as many of those accounts as possible have unique passwords. Unique passwords however present a difficult problem.&lt;/p&gt;</description></item><item><title>BIP 32 Watch-Only Wallets</title><link>https://boot.dev/blog/security/bip-32-watch-only-wallets/</link><pubDate>Thu, 25 Jul 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/bip-32-watch-only-wallets/</guid><description>&lt;p&gt;&lt;a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki"&gt;Bitcoin improvement proposal 32&lt;/a&gt; is, in my opinion, one of the most important BIPs we have. (Thanks &lt;a href="https://twitter.com/pwuille"&gt;Peter Wuille&lt;/a&gt;!) BIP 32 gave us Hierarchical Deterministic Wallets, which grant the ability to create a tree of keys from a single seed.&lt;/p&gt;</description></item><item><title>Trustworthy vs Trustless Apps</title><link>https://boot.dev/blog/security/trustworthy-vs-trustless-apps/</link><pubDate>Tue, 23 Jul 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/security/trustworthy-vs-trustless-apps/</guid><description>&lt;p&gt;In the wake of the &lt;a href="https://www.youtube.com/watch?v=h4aPp3wGufY"&gt;hearings&lt;/a&gt; about Facebook&amp;rsquo;s new Libra blockchain, it is more important than ever that we all understand the difference between &lt;em&gt;trustworthy&lt;/em&gt; and &lt;em&gt;trustless&lt;/em&gt; apps.&lt;/p&gt;</description></item><item><title>Secure Random Numbers in Node.js</title><link>https://boot.dev/blog/javascript/node-js-random-number/</link><pubDate>Wed, 03 Jul 2019 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/javascript/node-js-random-number/</guid><description>&lt;p&gt;&lt;strong&gt;Quick answer: use &lt;a href="https://nodejs.org/api/crypto.html#crypto_crypto_randombytes_size_callback"&gt;crypto.randomBytes()&lt;/a&gt; for cryptographically secure randomness in Node.js.&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;randomBytes&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kr"&gt;await&lt;/span&gt; &lt;span class="kr"&gt;import&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;node:crypto&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;randomBytes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;256&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt; bytes of random data: &lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;hex&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://nodejs.org/api/crypto.html#crypto_crypto_randombytes_size_callback"&gt;crypto.randomBytes()&lt;/a&gt; is a &lt;em&gt;cryptographically secure&lt;/em&gt; random number generator based on &lt;a href="https://wiki.openssl.org/index.php/Random_Numbers#Initialization"&gt;openssl&lt;/a&gt;. Depending on the operating system of the user, &lt;code&gt;randomBytes&lt;/code&gt; will use &lt;code&gt;/dev/urandom&lt;/code&gt; (Unix) or &lt;code&gt;CryptoGenRandom&lt;/code&gt; (Windows).&lt;/p&gt;</description></item><item><title/><link>https://boot.dev/blog/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/about/</guid><description/></item><item><title/><link>https://boot.dev/blog/affiliate-terms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/affiliate-terms/</guid><description/></item><item><title/><link>https://boot.dev/blog/careers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/careers/</guid><description/></item><item><title/><link>https://boot.dev/blog/contact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/contact/</guid><description/></item><item><title/><link>https://boot.dev/blog/create-a-course/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/create-a-course/</guid><description/></item><item><title/><link>https://boot.dev/blog/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/faq/</guid><description/></item><item><title/><link>https://boot.dev/blog/privacy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/privacy/</guid><description/></item><item><title/><link>https://boot.dev/blog/python/python-tutorial/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/python/python-tutorial/</guid><description/></item><item><title/><link>https://boot.dev/blog/return-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/return-policy/</guid><description/></item><item><title/><link>https://boot.dev/blog/terms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boot.dev/blog/terms/</guid><description/></item></channel></rss>