LCTHW Newsletter #8: Curse You Rogue Python

LCTHW Newsletter #8: Curse You Rogue Python

By Zed A. Shaw

LCTHW Newsletter #8: Curse You Rogue Python

This is the 8th Newsletter from Zed A. Shaw, owner of Learn Code the Hard Way. You can read this email at: https://learncodethehardway.com/emails/18-lcthw-weeky-update-8/

Can Rogue Teach OOP?

I had this crazy idea to rewrite section 3 of Learn Python the Hard Way to teach OOP using Rogue. For those of you who don't know, Rogue is a game from the 80s that's rendered entirely in the terminal using text characters like @ and #. It had many unique features that turned out be incredibly fun which is why you see those features in so many games today, usually called "Roguelikes."

I talk more about this project and what it entails in a new blog post I Made You a Baby Rogue in Python. You can also view the project directly at https://git.learnjsthehardway.com/learn-code-the-hard-way/curseyou-python-rogue and it's MIT licensed so feel free to go crazy and make your own based on this.

uv Is a Godsend

I'm currently rewriting the Learn Python the Hard Way installation instructions and I have to say that uv is totally the answer. As you know, I'm ditching Anaconda and Jupyter because they've basically gone off the rails and aren't useable by beginners anymore. I'm not even sure if it ever was to be honest.

When I announced this last week several people contacted me singing uv's praises and they were totally right. I'm able to turn the install instructions into a small sequence of uv commands and it results in a working Python install with a specific version to match the course. That's in addition to it being far faster than pip or conda.

I'll be doing more testing for the rest of this week, and then I'll sit down and do the first chunk of rewriting work for Learn Python the Hard Way 6th Edition.

In Case You Missed It

Previously on my blog:

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.
Leonardo: A Digital Sketching App
I've been looking for a decent skething app for a while and I think I've found it in Leonardo. Leonardo is a very simple but effective drawing and painting program with an infinite canvas. It doesn't have a lot to it, but what it does have is very well done. Brushes are nice and responsive, it starts blazing fast, and the lack of features kind of fits the idea of a "sketching" application. I'd say my only gripe so far is it doesn't have a good palette knife, but then again, nobody makes good palette knives in their drawing apps.
Textualize: A Python TUI Library
Textualize is a really nice TUI module for Python. In my little Rogue example I went with curses because it doesn't require OOP to use, and that whole lesson is about learning OOP. However, I think if I were to make a serious version of the game I'd use Textualize or something like it.
Panicparse: A Go Error Renderer
panicparse is a handy project for Go that reformats panic errors. It supports features like combining errors from Go routines, saving the result to HTML, and can even work as HTTP middleware.
Ergo: A Go IRC Server
IRC server written in Go. I'm considering ditching Discord and might fire up a test IRC server. Then again I remember IRC being a cesspool full of all the douchebags and I might not be able to bring myself to manage that.
Neobrutalism.dev: A CSS UI Library
Nice design style for websites. If you don't know what Neobrutalism is, here's an article for you.
Faust: An Audio Synthesis Programming Language
A unique programming language aimed at audio synthesis. I haven't used it but I'm sure someone out there may be interested in this. Pairs well with this course on filters.

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

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