Learn Blogging the Hard Way

Announcements and essays about the Learn Code the Hard Way project.


📧 A Brutally Honest Critique of Blender Thus Far

A Brutally Honest Critique of Blender Thus Far

UpdatePublished Jul 24, 2026

📧 Art Guy Summer Week 1 Review

My first week of Art Guy Summer: Learning blender and re-discovering pastels.

UpdatePublished Jul 13, 2026

📧 Art Guy Summer 25% Ends Soon

Art Guy Summer Sale Ends Soon -- 25% All Courses

UpdatePublished Jun 30, 2026

📧 25% Off 2026 Summer Sale

Announcing my 25% off Summer Sale for July.

UpdatePublished Jun 30, 2026

📧 How to Mic a Painting and a Keyboard

Summary

UpdatePublished Jun 29, 2026

📧 Announcing Art Guy Summer, 2026

I'm going to recover my Oil Painting skills by painting live on Twitch every day.

UpdatePublished Jun 26, 2026

📧 Java in 2026 is WAY Better

My experience with Java in 2026.

UpdatePublished Jun 22, 2026

My First Experience Entering a Game Jam

I want to run a Game Engine jam, so I entered one to see what they're like.

HowToPublished Apr 29, 2026

📧 Learn C++ the Hard Way Finally Progressing

I failed my first attempt at a great rewrite of this site.

UpdatePublished Apr 26, 2026

📧 The Great Rewrite Has Already Failed

I failed my first attempt at a great rewrite of this site.

UpdatePublished Apr 26, 2026

AI Didn't Kill Programming, You Did

You spent decades sucking all humanity out of programming and you're surprised it worked?

OpinionPublished Mar 6, 2026

📧 Epic Supporter Pack is Actually 15% Off Now

I gave the Epic Supporter the wrong sale price.

UpdatePublished Feb 28, 2026

📧 The Great Rewrite Announcement

Announcing the Great Rewrite and some small changes to the UI.

UpdatePublished Feb 23, 2026

Announcing the Great Rewrite Project

I'm documenting my rewrite of this site from JavaScript to Go starting March 1, 2026.

AnnouncementPublished Feb 22, 2026

📧 We Are Finally Off Discord

We are finally off discord and on a self-hosted system that should be better suited.

UpdatePublished Jan 18, 2026

📧 2026 Winter Sale Almost Over -- Save 15%

Winter Sale Almost Over -- Save 15%

UpdatePublished Jan 14, 2026

📧 2026 New Year Sale, and A Ton of Videos

First batch of Learn Go the Hard Way Videos are Live

UpdatePublished Jan 1, 2026

📧 A Whole New Video Infrastructure

First batch of Learn Go the Hard Way Videos are Live

UpdatePublished Nov 29, 2025

📧 First Batch of Learn Go the Hard Way Videos

First batch of Learn Go the Hard Way Videos are Live

UpdatePublished Nov 10, 2025

📧 Learn Go the Hard Way, Module 3 Almost Done

I have almost finished Learn Go the Hard Way, Module 3.

UpdatePublished Nov 7, 2025

📧 Announcing Learn Go the Hard Way, Draft 1

Learn Go the Hard Way, Draft 1 Available

UpdatePublished Oct 17, 2025

📧 UPDATE: Your JavaScript Purchase is Now Pro-WebDev

UPDATE: JavaScript is Now Pro-WebDev

UpdatePublished Sep 29, 2025

📧 LCTHW Newsletter #9: The Go Course Has Begun

LCTHW Newsletter #9: Go Course Has Begun

UpdatePublished Sep 29, 2025

📧 LCTHW Newsletter #8: Curse You Rogue Python

LCTHW Newsletter #8: Curse You Rogue Python

UpdatePublished Jul 26, 2025

I Made You a Baby Rogue in Python

A first attempt at a very simple Rogue in Python for beginners to study and learn from. This may become the basis of the new 6th Edition of LPTHW.

AnnouncementPublished Jul 25, 2025

📧 LCTHW Newsletter #7: Go is One of The Languages of All Time

LCTHW Newsletter #7: Go is One of The Languages of All Time

UpdatePublished Jul 15, 2025

An Efficient Go Study Guide

I've been learning Go recently and found the documentation is horribly organized so I made this list that reorganizes it into a logical study guide.

AnnouncementPublished Jul 14, 2025

📧 The LCTHW Weekly Update #6: July 8, 2025

The LCTHW Weekly Update #6: Free Upgrades to Some Courses Coming

UpdatePublished Jun 9, 2025

Announcing Painting for Programmers

Announcing my free drawing and painting course on Youtube specifically aimed at programmers.

AnnouncementPublished May 14, 2025

📧 The LCTHW Not-Really-Weekly Update #5: May 14, 2025

The LCTHW Weekly Update #5: Where I've been, and cool new stuff in my game development journey.

UpdatePublished May 14, 2025

I Preserve the Old Ways...I Guess?

I've realized that I seem to be preserving the old way to code, and I don't know how to feel about that.

OpinionPublished Jan 27, 2025

📧 The LCTHW Weekly..ish Update #4

The LCTHW Weekly Update #4:

UpdatePublished Dec 10, 2024

Rogue is the Best Project

My pitch for Rogue being the best for both beginners and old crusty coders like me.

TechnologyPublished Dec 1, 2024

📧 Learn C++ Important Update

A quick announcement on an important update to the C++ course regarding errors in the game-dev-starter-pack.

UpdatePublished Oct 23, 2024

📧 Hurricane Milton Flash Sale

The only sale I will have this year, everything is 20% off during Hurricane Milton.

SalePublished Oct 8, 2024

Very Deep Not Boring Beginner Projects

A list of projects that anyone with basic programming knowledge can do in any language, but have a lot of depth and aren't boring to do.

OpinionPublished Oct 1, 2024

C++ Is An Absolute Blast

Where I try to explain why I feel like C\+\+ is so much fun, and to correct some misinformation.

TechnologyPublished Oct 1, 2024

📧 The LCTHW Weekly Update #3

The LCTHW Weekly Update #3: Hurricane Milton, Studio Redesign, C++ Praises, and Project Ideas for Everyone.

UpdatePublished Sep 5, 2024

📧 The LCTHW Weekly Update #2

The LCTHW Weekly Update #2: Regex, Roguelikes, Restreaming, and more.

UpdatePublished Sep 5, 2024

📧 The LCTHW Weekly Update #1

The LCTHW Weekly Update #1 contains all the things I've found and made this week.

UpdatePublished Sep 5, 2024

📧 Epic Supporter Package Update #1

Epic Supporters are now automatically updated whenever I add a new course or make new exercises.

UpdatePublished Jul 26, 2024

Just Use MSYS2 You Say?

Debunking idiots on HackerNews who think a total beginner can just 'Use MSYS2' on Windows.

TechnologyPublished Jul 16, 2024

Solving the Worst Problem in Programming Education: Windows

I've created a set of install scripts for Windows that helps people install many different programming languages using standard tools.

TechnologyPublished Jul 11, 2024

Minimum Educational C++

I go through various style guides and attempt to extract the minimum C++ someone can learn to be functional on many code bases, and in your own code.

OpinionPublished Jun 1, 2024

How Long Does it Take to Learn to Code?

My standard answer when people ask me how long it will take for them to become competent enough to get a job.

OpinionPublished Jun 1, 2024

Exploring the Replacement for C as an Educational Language

My thoughts so far on finding a replacement for C in teaching compiled languages and memory safety.

ResearchPublished Apr 20, 2024

📧 Tonight 9pm EST, Values and Blockins

Time to learn about values, and the blockin style of drawing.

PaintingPublished Jan 14, 2024

How to Read Programmer Documentation

An excerpt from Learn Python the Hard Way, 5th Edition that explains how I analyze learn from projects with poor or no documentation (which is most of them).

PythonPublished July 29, 2023

The 5 Simple Rules to the Game of Code

An experimental idea to teach the basics of a Turing machine before teaching loops and branching. Feedback welcome.

PythonPublished July 29, 2023

Announcing Learn Python the Hard Way's Next Edition

Announcing the new version of Learn Python the Hard Way which will be entirely focused on Pre-Beginner Data Science and not web development.

AnnouncementPublished May 11, 2023

Ten Reasons Youtube's Streaming is Awful

I did a test of Youtube and its streaming has tons of problems. Here's 10 reasons why Youtube's streaming is mostly pointless when compared to Twitch. I'll use Twitch for streaming, then post to youtube.

JavaScriptReposted from
Learn JS the Hard Way

SPA vs. MPA, FIGHT!

Getting realistic about Single-Page vs. Multi-Page applications.

JavaScriptReposted from
Learn JS the Hard Way

How to Create Your Own npm init and Get Off npmjs.com

After struggling with npm init I figured out a way to avoid it entirely that ends up being easier.

JavaScriptReposted from
Learn JS the Hard Way

Stripe is Paypal circa 2010

After integrating both Stripe and Paypal I've come to the realization that they are nearly the same, including all the evil.

PaymentsReposted from
Learn JS the Hard Way

Equal Height Holy Grail Layout in Modern CSS

Cheap and easy ways to get paths out of your web server logs.

CSSReposted from
Learn JS the Hard Way

Process and Web Development

What would a traditional artistic process look like for a web page?

OpinionReposted from
Learn JS the Hard Way

A Frontend Development Process

An excerpt from Learn JavaScript the Hard Way teaching a starter creative process for using HTML and CSS.

SampleReposted from
Learn JS the Hard Way

NaN is Not a Math

A critique of the counter-claim that JavaScript's use of NaN errors is valid because it's 'math.'

EssayReposted from
Learn JS the Hard Way

Convoluted Team Code and Software Urban Planning

An idea about the irrational focus of developer technology on teams to the detriment of everyone else.

OpinionReposted from
Learn JS the Hard Way

No Tracking, Part 3

The result of my work to eliminate my own ability to track other people around the internet, and how that might end up working in practice.

AnnouncementReposted from
Learn JS the Hard Way

Your Side Projects are Your Future

How the prevailing view of side projects is a damaging perspective for early programmers.

OpinionReposted from
Learn JS the Hard Way

No Emails, Update 2

Thoughts on implementing a method for not storing email addresses while still allowing for password reset, Part 2.

TheoryReposted from
Learn JS the Hard Way

Getting Rid of Emails

Thoughts on implementing a method for not storing email addresses while still allowing for password reset.

TheoryReposted from
Learn JS the Hard Way

How To Ask for Help

A brief description of how to ask another programmer for help with your code.

OpinionReposted from
Learn JS the Hard Way