LCTHW Newsletter #9: The Go Course Has Begun
LCTHW Newsletter #9: The Go Course Has Begun
This is the 9th Newsletter from Zed A. Shaw, owner of Learn Code the Hard Way. You can read this email at: https://learncodethehardway.com/emails/19-lcthw-weekly-update-sep-25-2025/
Updated Locations for My Code
I've made updates to where I store my code so it's easier to find. Previously I used some insane old URL from the original JavaScript course.
Now, my game development code will be at:
https://git.zedshaw.games/games/
All the code for my courses will be at:
I also created a special URL for just my Go code so it's easier to get:
That makes it nicer for import
statements in Go code.
Go Course, 3rd Rewrite
I've been working on a Go course for the last few months to act as my course for "total absolute know-nothing beginners." Go is so simple that I believe it makes a great language for people who know nothing. Its concepts are simple, the syntax is simple, and yet it still is a very capable language.
I've had to rewrite this idea three times (see below) but now it's moving forward at a regular pace. I frequently stream development of this course on Twitch, so if you follow me and see "Co-Working Session" as the title then that's probably what I'm working on.
How to Learn a Language (Failure)
One reason I haven't sent my promised "weekly" update is because I've been busy creating a Go course...three times. My first idea was to create a course that "teaches how to learn a programming language." I wrote the first module, did the videos, then didn't like it. I did another rewrite then still didn't like it.
After the 2nd rewrite I realized the problem wasn't the topic, it was that Go is simply not a good language to teach "how to learn a language." Go's too simple for a demonstration of learning complicated topics in a programming language.
I posted the videos that did develop to my X/Twitter account so that they wouldn't go to waste:
https://x.com/lzsthw/status/1965902226297434235
This is all 15 videos that I created before abandoning the idea and switching to Go for beginners.
Like I said, I like the concept, but I just couldn't make Go work with it. If you're interested in the idea, or are curious about where I was going with it, take a look and let me know what you think.
My Game Dev Website is Live
One of the first projects I created in Go is a website for my Game Development adventures:
The code for this site is at:
https://git.zedshaw.games/site/zedshaw.games
If you want to see what I'm using. This code is also working as a prototyping tool for my future web development strategies.
I Made a Simple Process Manager
I'm going to promote my own little tool that may be useful for you:
I'd been using Air (https://github.com/air-verse/air) to manage processes while I was developing https://zedshaw.games but then they decided to force me to upgrade to Go 1.25 and started including all of Hugo and all of the crap Hugo includes.
All I need is a tiny tool that starts stuff, keeps that stuff running, and allows me to restart it easily. Ozai doesn't do any file watching or attempt to rebuild your code. I assume you have better build tools and want to do your own build. Instead, Ozai just has a URL for each process, and you add a simple curl
or similar hit to that end point to restart it.
That lets you easily incorporate it into your build, or a CI tool, or just do it from the command line. It's very simple, but maybe that's something you need.
Useful Tool of the Week
I've been using Alpine.js and it's...alright. Honestly, just about every web technology these days sucks but at least Alpine.js is very simple, and that's all I need.
However, if you're also using Alpine.js checkout this debug plugin for it:
Awesome Hack of the Week
Someone made Doom in SQL:
https://cedardb.com/blog/doomql/
Yes, that's right, a playable Doom using SQL. I think it's even multi-player.
In Case You Missed It
Previously on my blog:
- I Made You a Baby Rogue in Python
- I created a tiny little Rogue game in Python by implementing it in a series of steps.
- An Efficient Go Study Guide
- In this post I take the Go documentation and rework the ordering so it makes sense. Following this guide you'll learn Go...instead of 40 lessons on modules and packages.
- Rogue is The Best Beginner Project
- The source of the idea to try to teach OOP in Python using Rogue.
See You Next Week
If you want to watch me make cool things with code, draw, paint, and relax listening to Jazz, then come watch my Twitch.tv every day 10AM/10PM EST.
More emails we've sent.
Announcing Learn Go the Hard Way, Draft 1
Learn Go the Hard Way, Draft 1 Available
UPDATE: Your JavaScript Purchase is Now Pro-WebDev
UPDATE: JavaScript is Now Pro-WebDev
LCTHW Newsletter #9: The Go Course Has Begun
LCTHW Newsletter #9: Go Course Has Begun
LCTHW Newsletter #8: Curse You Rogue Python
LCTHW Newsletter #8: Curse You Rogue Python