Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Your favourite tutorial for total beginners?
480 points by mcbetz on Aug 1, 2019 | hide | past | favorite | 199 comments
What is your favourite (video or written) tutorial for beginners – in any technology?

Mine is Django Girls Tutorial (https://tutorial.djangogirls.org/en/) because it does not assume any prior knowledge and has a good balance between the big picture and small details.

Hartl's Rails tutorial. Probably the best intro to modern full stack development I've ever come across.


As a beginner trying to learn to program a long time ago, rails was possibly the worst resource I attempted to use. You follow a complicated, tutorial to set everything up so you can actually start. Then you type a few words and then a bunch of complicated looking files are generated automatically in a way that it's hard for a beginner to even know what sections he's supposed to be able to understand.

Maybe it clicks for some, but I had a better time starting with HTML/CSS and then learning JavaScript before moving on to Python.

We realized the same thing—the Rails Tutorial is a little too advanced for complete beginners, so we created seven more beginner tutorials that work step by step to teach the prerequisites for full-stack web development. More info on the courses is available here: https://www.learnenough.com

Thanks for the response. Its great to see there's a more gradual way to get into the Rails tutorial now. I am aware that your original tutorial was probably not aimed at a complete beginner with no experience at all, but I was basing my comment off of the thread title which is "favorite tutorial for total beginners." I know your tutorial is considered by most to be great, I was just sharing my experience as someone that attempted to go from absolute zero to the Rails tutorial long ago. I hope I didn't seem like I was putting it down in general. I mostly work with Python scripting and Jupyter notebooks, but I've been wanting to get back into web development for personal projects. I'll check out the new courses.

No worries! Great to hear your perspective.

Nobody would recommend learning rails without a decent understanding of html, css and javascript.

I tend to agree with the notion that diving into rails is a difficult way to learn when you start from little or nothing.

The core issue is that Rails can do so much to help you out, which allows you to stumble your way through many issues and make things that do mostly work. While this is great for getting things done quickly at first, you might develop incorrect notions of where the abstraction layers' boundaries are which can make life difficult when you step outside of the box.

Now that's not to say you can't learn that way, or that tutorials couldn't be written that effectively teach using rails. It's just that there are dangers in learning first from a complete and robust framework that does such a good job of masking the complexity it encapsulates.

Thanks! Glad you liked it. For total beginners, Learn Enough Command Line to Be Dangerous may be an even better place to start.


That tutorial is part of a series that takes you from beginner all the way to the Rails Tutorial. You can see the full sequence at https://www.learnenough.com/.

This book got me into the tech industry. Not because it taught be Rails, but because it showed me that I was capable of building features that seemed difficult and complex with relative ease as long as I approached it with the right methodology and determination.

My choice as well. I'd also highlight http://railscasts.com/ as a great supplement.

I tried a few times to give the rails tutorial to rank beginners and they couldn't get from power user to programmer without major hand holding or sheer maddening drive. The learning curve is still too steep.

I was up and running very fast using OneMonth Rails. It oversimplified some things but ensured I had a running app pretty quickly. It got me over the hurdle of being stuck in books and videos and instead had me tweaking something I could be proud of.

10+ years ago I also found great joy in Why's Poignant Guide To Ruby (https://poignant.guide/)

My favourite.

I haven't looked at it since 2014, but this + codecademy took me from pedestrian interest in programming to writing prototypes

Rails is modern? Seriously I thought it has a lot of baggage like django does towards the old way of rendering web pages on the backend. If it's not true please correct me and elucidate.

Rails is modern. People still develop with it. Something like Perl and its frameworks would not be considered modern, probably.

I also really like his garlic video: https://jp.foundation/video/garlic-puree

This is easily my favorite food video online. Possibly my favorite video online period. This technique creates a world of possibility since it creates a smooth spreadable raw allium. I recommend it to every novice and intermediate cook I know.

That was nice. I want to learn how to cut vegetables like the chefs do. I cut my fingers often.

Thank you, such a classic. His omelet video is incredible too. Learned his French variety a few years back, took a few tries to perfect but now can open nearly any fridge and make a great meal in 2 minutes https://m.youtube.com/watch?v=X1XoCQm5JSQ

> now can open nearly any fridge

You'll get much better results with room temperature eggs. Straight from the fridge they take longer to cook and the bottom layer might be overcooked by the time the top is done.

I like to put them in the microwave first for around 20-30 seconds depending on the number of eggs.

Title/description would be appreciated with link.

I don't know the proper french word for it - but the strings around the chicken always struck me as very complicated but he explains it so well it appears easy.

Personally, what I saw is “how to bind a box with rope or tape without looping all around it a dozen times.” And it's so simple in fact that either I'm a dumbass for never thinking of it, or I possibly did try it and failed miserably.

We actually learned this in Gabriel Chen's Chinese cooking class back in Ann Arbor, among many other things.

Absolute mastery. Thanks for this.

He does have absolute mastery, but it's my favorite tutorial because it is an _excellent tutorial_. I can do 2 chickens in a minute at this point; more, if I don't bone out the legs.

Just as importantly: if you can do this with a chicken, you can do it with a pheasant, a duck, or a goose as well. It works pretty much the same way.

If you eat chicken, I strongly encourage you to try this yourself.

Dave Arnold mentioned this week that Pepin claimed 12 seconds as his personal best; 30 seconds for a non-professional cook seems extremely impressive.

Oh, nice, it's been awhile since I listened, and now I have a reason to.

Pepin is doubtless doing a much better job than I am, and I'm not counting the time to clean up the tenderloins, which is a pain in the ass.

Arnold's in the middle of a move and has to thin out his book collection as a result. As he tries to figure out what to keep he's been bringing in books to talk about in a new segment called "Classics in the field". If you've enjoyed Dave Arnold talking at length about obscure decades-old highly in-depth technical books, well he's doing that every week now.

I'm very happy that he's saved me the trouble of having to read "Pigeons: How to Make Them Pay"

Listened. Worth it. Jackie Peeps! Thank you!

What an amazing video. Thanks for this.

This video gobsmacked me.

Thanks for this


How guns work: https://www.youtube.com/watch?v=HJnhr08aIJs

How a car differential works: https://www.youtube.com/watch?v=yYAw79386WI

Downright the best zero-to-programmer course in the world. Wish I knew about it when I was starting out: https://online-learning.harvard.edu/course/cs50-introduction...

I can certainly vouch for CS50, when I was in middle school I messed around with programming, but taking CS50x was what made the intuition and process come together for me.

I've seen those first two on Reddit before, and they're amazing. They take the time to explain thoroughly but still remaining engaging with no special tricks. The use of physical models instead of diagrams (or Powerpoint slides) doesn't seem like it should be important, but it is.

The car differential video is genius. It confused the hell out of me for the first 2 minutes, but then it clicked beautifully.

More of an explanation than a tutorial, and dunno how it is for total beginners, but — Intro to Synthesis: The Building Blocks of Sound & Synthesis, by Dean Friedman: https://www.youtube.com/watch?v=atvtBE6t48M

It explains the things that you'll constantly fiddle with on a synthesizer (and sometimes even in a DAW with samples: envelopes are likely to appear there). The series benefit greatly from being three hours long in total instead of ten or even thirty minutes.

The first vid is followed by:

- Intro to Synthesis Part 2 - Types of Synthesis & Programming Examples https://www.youtube.com/watch?v=gJkxGvhOS-M

- Intro to Synthesis Part 3 - Additional Synth Features, Performance Controls & Wrap Up https://www.youtube.com/watch?v=zK3m8sMkTE4

Also, since the vids are from sometime in early 80s, you'll have fun trying to figure out exactly how high the guy is.

To clarify why I like it: wave forms, filters, envelope and LFO are things with which you'll need to do Lotsa Fiddling, all at once, to get some decent sound. To a beginner, it's rather overwhelming and difficult to see if they want to do all of that and why. So, instead of frantically getting through the definitions in ten minutes and twenty seconds, Dean keeps turning knobs and explaining what he does, letting you hear the change. He actually takes almost ten minutes to make one string sound at the end of the first part.

And the, uh, pace of the vid lets you think about what you hear.

If there were a “Tweaking Synth Knobs” series by this dude in 26 episodes, I might've watched it.

Great one!

A wonderful intro/tutorial to synths that was recently posted -- https://learningsynths.ableton.com/

Yeah, that's also good for the same reason: it lets you hear the effect of each control instead of just dumping them at you at once.

All the Michel Thomas courses - a true genius of language teaching. https://www.michelthomas.com

I listened to his Spanish beginners course a few weeks before visiting Spain and successfully talked myself onto a bus I shouldn't have been on in Spanish. I'm now mostly fluent but would never have gotten over my childhood hatred of learning languages without him. Thanks Michel. RIP X

Watch the BBC documentary about him where he teaches the worst kids in a school french in a few weeks. https://www.youtube.com/watch?v=O0w_uYPAQic

Also read about him on wikipedia - he was in the french resistance and just generally awesome - https://en.wikipedia.org/wiki/Michel_Thomas

If anyone is interested in learning Spanish I highly recommend comparing the above with ProSpanish[0][1]. It aims to get you conversational in Spanish very quickly. There are some of the videos for free on youtube[2].

[0] https://www.prospanish.co.uk/

[1] https://www.prospanish.co.uk/?page_id=1783

[2] https://www.youtube.com/watch?v=Rj6pAX7aAkg

What is the youngest age that could take the Spanish course in your opinion?

I would have to say the Dr Racket lisp tutorial ... https://docs.racket-lang.org/quick/

For anyone who already programs I can't recommend this enough. See it as a 1 hour vacation into alice in wonderland. I don't see myself ever using lisp, but after using an imperative language for a long time and having it become second nature, I found it quite a fun mental leap to learn functional programming. Well lisp is basically a similar mental stretch... you can get a taste of it in only 10 bullet points (in the link). it will take you only 1-2 hours. I found it wildly refreshing, enlightening... any time you see paradigms youre used to for 10+ years done a different way there are so many "ah-ha" moments its like firecrackers going off.

The part that is very cool, is that in lisp there are no statements, only expressions. So the 'physical limitiation' of writing code almost feels like theres no rules, such that it just flows effortlessly. Like in English, you can't end a sentence with a preposition (like a statement, you cant put an if statement in the middle of the expression 1 + 1). But in lisp, there are no rules like that.

It's super fun to bend your mind in new ways even if you dont use it. I highly recommend it, it was really a fun day doing that tutorial.

https://selectstarsql.com - SQL tutorials for non-technical folks.

This is an interactive book which aims to be the best place on the internet for learning SQL. It is free of charge, free of ads and doesn't require registration or downloads. It helps you learn by running queries against a real-world dataset to complete projects of consequence. It is not a mere reference page — it conveys a mental model for writing SQL.

I expect little to no coding knowledge. Each chapter is designed to take about 30 minutes. As more of the world's data is stored in databases, I expect that this time will pay rich dividends!

This is a great tutorial thank you! I did not expect an emotional dataset of Texas executions and their last words..

Along the same vein: https://sqlbolt.com/

Jonathan Palardy 'Why Learn AWK' [1]. I'd tried to learn awk a few times but just couldn't grok it. This essay gave me a lightbulb moment.

Honourable mention to 'Automate the Boring Stuff with Python' [2], which does what not a lot of tutorials do - motivate programming for non-technical users.

[1] https://blog.jpalardy.com/posts/why-learn-awk/

[2] https://automatetheboringstuff.com

I have two requests in this regard.

- If there's some way to learn playing chess beyond just the rules without memorizing an encyclopedia of openings, I'd be grateful for links. I.e. I currently can stare at a position for a while and figure out a couple next moves that should be good. I'd like to elevate this to figuring out a bit more moves. (Though I have a suspicion that it's a question of ‘rinse and repeat until I remember all the openings anyway’.)

- Similarly, I'd like to drill music lingo of chord progressions and stuff, as a total noob, without turning it into a ‘compose by the book’ approach. I'm actually somewhat afraid to learn about keys and scales since I'll likely start hearing them everywhere and promptly fall into patterns and academic ivory-towerity. Is there a way around that while still understanding music talk?

I cannot help you with (1), but I think I can help with alleviating your fears regarding (2).

Just by understanding scales and progressions you won't "start hearing them everywhere" and "fall into patterns". There are no "right" and "wrong" progressions in contemporary music, they are just there. By understanding the theory, you will see why you might like certain things and dislike others. It won't take away your enjoyment from music and it won't change your music tastes. Whatever progression is "right" in someone's eyes will be "wrong" in eyes of another person.

Music theory is as close to math as one can get in arts, imo. There are no "right" or "wrong" numbers, everything is very neutral and non-biased. Yes, some progressions sound more right or wrong to most people, but that's mostly because of our collectively shaped taste of music, and learning theory will not force you into any kind of tastes on its own. It might motivate you to explore more diverse music, as you will be looking for more novelty in patterns, but that imo is a good thing and, in fact, is the opposite of being locked into the "ivory tower".

So my advice on it would be to stop fretting and to just dive deep into the music theory :)

> you won't "start hearing them everywhere" and "fall into patterns"

You might be right, or you might underestimate my both snobbery and laziness (◔̯◔)

Absolutely. Learning about microtones was an absolute game-changer in my mental appreciation of music.

See, this is really an example of what I'm talking about. You wouldn't need to learn about microtones if you didn't follow the twelve-tone standard before. I'm pretty sure that the brain by itself is pretty sloppy in regard to intervals and even more so with tones and keys.

12-tone standard actually falls nicely out of the natural harmonics inherent in music though. So there's a pretty good reason for using 12 distinct tones.

That doesn't mean you can't have amazing music once you break away from them, but just because these deviations are interesting and cool doesn't mean they aren't useful and normative for a reason.

I'm only a middling chess player, but:

> (Though I have a suspicion that it's a question of ‘rinse and repeat until I remember all the openings anyway’.)

Its not that. There's a lot of interesting principles to learn, after 'how the pieces move', without just learning openings. Most people will say not to focus on openings until you are at least intermediate.

Most chess books will do what you ask, just Google for recommendations and reviews.

Example book: Play Winning Chess, Yasser Seirawan

I highly recommend "Bobby Fischer Teaches Chess" (by, duh, Bobby Fischer). A diagram on every page, with the solution on the next. Cool format: you get to the back of the book, turn it upside down, and work to the front. First few pages get in the basic moves, then on to simple checkmates, then more complexity.

Another great diagram-heavy book but for intermediate to advanced is Lev Alburt's "Chess Training Pocket Book".

Would definitely recommend the mini-series documentary "Howard Goodall's Big Bangs".

Episode 3 in particular, which was about equal temperament, is especially good. It explains things like scales and chords in a very satisfying way for both experienced musicians and those who have not had a formal education. He even ties it back to the actual physics of sound and harmonics.

It's only got half a dozen episodes, so it's worth a go.

For chess, there's a PC game Chessmaster Grandmaster Edition

It has narrated step by step tutorials by Josh Waitzkin, it put you in special situations to learn basic tactics like discover attacks, pin or skewer (https://en.wikipedia.org/wiki/Chess_tactic).

There are also tutorials for knowing the tiny details about endings with specific pieces, like bishops vs bishops where you have to be very wary of the color of the bishops and position you're in if you'd like to trade, or the importance of the bishops color to stop a pawn, or even the fact that in some situations the column which a pawn is in might determine if the game leads to a stalemate or not (some columns results are not intuitive at first).

As the tutorial advances it starts throwing at you historical games and puts you in control in a given position to make the best move starting with games when josh was a kid, which helps you compare your ability to him as a kid, so if you're also interested in chess history, it's really cool!

I heard good things about Chessmaster's teaching features, way back from the time of Windows 98. So now I get another thing to lament—that Ubisoft seems to have forgotten about Chessmaster, and it's not on mobile platforms.

(Upd: apparently there was an Android release by Gameloft in 2004, but it looks very questionably: https://www.mobygames.com/game/chessmaster___)

Re 1) Use lichess app. Once you finish a game, go to the "analysis board" -> "Request a computer analysis" -> "Learn from your mistakes". Then you can see where you made mistakes and how you could have avoided them.

As someone who is (was?) fairly good at chess because I grinded it in chess clubs as a kid, I can tell you that all the books are pretty useless and you just need to practice.

You CAN memorize common openings if you want, but I am not sure that's a good way to spend your life unless you are super serious about chess.

There was a study done on what separates chess masters from beginners. Chess masters and beginners performed equally well on memorization tests. Where they began to separate was pattern recognition - chess masters are really good at pattern recognition.

When I was a beginner I would agonize over every move and drive everyone crazy. Eventually after enough games I started to recognize some patterns. If I were to do it all over again, I would just play as many games as I could, all the way to the end, not worrying too much about winning or losing as much as just absorbing what is happening.

I'm not a chess master, but I did beat a guy with a knight tattooed on his forearm, so that has to count for something :P

I actually have an observation about this: it's difficult for me to get some feedback from whole chess games because the loop between a move and its consequences can easily be too long while the situation changes pretty fast, in my eyes. Would my play be better if I chose differently seven moves ago? Pfft, who knows anymore.

I have a much better time with action or racing video games precisely because the feedback loop is very tight. Finally figured out that I should try chess puzzles, increasing the length gradually.

Re #2, keys, scales, and chords are fundamental units of Western music. You could compare them to words, which are joined into sentences. Chord progressions are sequences of chords, which only make sense in the context of the current key and scale.

Learning about keys, scales, and chords will help you understand music but not necessarily force you into predetermined patterns. Learning chord progressions will help you hear patterns in music, which may reduce your enjoyment of pop music since a handful of progressions are used almost everywhere. On the other hand, if you enjoy trope-spotting, it may increase your enjoyment.

Regarding music, the biggest shift in mindset for me was when I heard (and I can't remember where from now) that music theory is _descriptive_ and not proscriptive.

In other words, people have made music since the beginning of recorded history in ways that sound pleasing to them, and music theory is the language that evolved to describe the types of music that consistently sounded good to some people. It's not a set of rules that you must follow, and in fact if you stick too closely to what came before your music will probably be boring to most people.

For Chess, it sounds like you need to improve looking at Tactics and Endgames.

Tactics are looking for specific exchanges that benefit you. I'd recommend https://www.chesstactics.org/ as a great resource for being taught the tactics and being able to recognize them. There's a lot of Chess Puzzles out there on things like chesstempo and lichess. If you can easily recognize and execute these tactics, then you won't lose opportunities to gain serious material advantages.

I don't have a good endgame one on hand. Fundamentally though if you know how the game will end, you can push your game state towards a useful winning position. And it helps make sure you don't give away a game by stupid mistakes.

The next layer on top of that is understanding the strategic choices. Sometimes higher level players will make what seems like a really boring move that doesn't have an immediate effect (doesn't solve or generate a threat), but it help their "position" for the future. Things like placing a rook on the open file, or positioning a bishop/knight on a "good" square.

As for openings, since you're a participant in the game you can pick a main opening line that you like and then dive into it, learning all the typical variations in the book that you might see. For example, someone might offer a Queens Gambit, but you get to choose if you Accept or Decline as Black. So experiment a bit, and if you really enjoy 1.E4 openings, then dive into the variations (and counters for when you're black).


For music, trust me learning theory doesn't turn you into an academic. It lets you recognize things, but they are merely the bones on top of which you build everything else. It's like Assembly (incoming not-great analogy). Sure you can program without ever getting into that. I have a musician friend who never got formal training and he's doing just fine and actually has a great intuitive ear and sense of the music. But the moment he learned Theory, suddenly everything clicked because he had the underlying bones for all of his intuitions he's build up over the years and can communicate them in a standard language.

I don't have great resource on-hand. But just dive into learning the theory alongside playing a lot.

For music check out Rick Beato and "The Beato Book" on youtube. However, it's pretty advanced stuff ultimately.

Hooktheory.com strikes a nice balance between theory (the books) and writing music that works from minute 1 (the software).

lichess.org has some interactive puzzles and learning things. very fun to get the basics/intermediate stuff in.

This is the one that completely changed my mindset about designing and writing programs:

What Every Programmer Should Know About Memory - Ulrich Drepper


It is good for sure, but a white paper isn’t exactly approachable for total beginners.

Fair, but just understanding the conclusion sections of the first couple of chapters will have tremendous benefits for an average programmer.

http://learnyouahaskell.com is a fun and accessible intro to Haskell that's a great complement to denser material

Gladly there is an online IDE with compiler (https://repl.it/languages/haskell) so you don't even need to install Haskell locally (which honestly seemed a bit heavy for a starter's tutorial - "First you need Haskell Platform, then you can start the tutorial")

This is one of the better language tutorials on he web, IMO. It's very conversational, and if the FP concepts don't draw you in, wondering what stupid thing he's going to draw in the next chapter will.

Ray Tracing from the Ground Up, by Kevin Suffern

As a college freshman I started this book with only a passing familiarity to C++ and was able to follow it to implement a raytracer that supported depth of field and global illumination, among other things.


The Rust Programming Language https://doc.rust-lang.org/book/index.html

Thanks for this. I've been hearing a lot of suggestions of Rust as a beginner language and also as a language that is progressing nicely over time, but never any good starting points. If you have any other Rust related material I'd greatly appreciate it.

Paul Seller's original how to build a workbench video series. They're so quick, but he walks you through so much technique in this series. Everything he says is a lesson that applies to other aspects of building objects with wood. Everything he does is on purpose. If you're interested in woodworking, this is where to start.


I asked this exact same question a while back as well, here's a link to that discussion: https://news.ycombinator.com/item?id=14985057

Glad to see Michael Hartl's book on rails was suggested here, that's what prompted me to post my thread.

As a summary of that thread:

drracket: http://docs.racket-lang.org/quick/index.html

VueJS: https://vuejs.org (not a tutorial)




Design Your Own Computer (fpga/vhdl)


See how a cpu gets made from scratch.

Wow this looks cool! I will definitely be checking this out. I remember playing with 6502s a few years back and have been looking for a reason to toy with FPGA's.

I am a huge fan of Build Your Own Lisp in C. I knew how to program since I was a kid. It was all inelegant but working code. Using this website's walk through helped me to refine my understanding. Anecdotally, I suggested it to 2 beginners I knew, and they found it very intuitive.


I started going through it, and thought it was nice until the author suggested using his parser combinator library.

The "The Node.js Handbook" and the "The JavaScript Handbook" from https://flaviocopes.com/page/ebooks/ Very handy and turned later into official doc at https://nodejs.dev/

Would have to be Nand2Tetris. You build an entire computing system from "scratch" using a set of emulator tools. You design logic chips all the way to an operating system. It's a lot of work, but is very self-contained.


This nand2tetris-inspired game is really great too -- it was very hard to resist and not finish it! [0]. It was posted as a Show HN [1] about a year ago.

[0] http://nandgame.com/ [1] https://news.ycombinator.com/item?id=17508151

The makers of this have also created a 2 part paced course on Coursera


I'm a huge fan of Miguel Grinberg's Flask Mega-Tutorial. It's been around for a while, but he did a major update in 2017 to bring it more up to date.


Why's (poignant) guide to Ruby


That is how I learned

This is kind of like picking The Beatles as your favorite band, but I liked:

https://www.railstutorial.org/book (Michael Hartl's Rails Book)

And I don't even use rails.

It's only a cliche because it's so true.

As someone who was recently a total beginner, I've found two that I have really appreciated:

1. Learn to Program, by Chris Pine https://pine.fm/LearnToProgram/

2. The C# Player's Guide, by R. B. Whitaker

I came here to mention Chris Pine. Amazing book and from my brief correspondence with him, a great guy.

Wil Wheaton's TableTop series on how to play various boardgames is really well done and engaging.


They make a lot of rules errors, so it's not necessarily a great way to learn games. Mad respect for what Tabletop has done in terms of popularizing the hobby, though.

I'm so glad you thought of this. This is precisely what I used to learn how to play a series of new board games. I now have multiple friends hooked on Catan and Pandemic.

https://vuejs.org - it's just magic, that's the very first documentation that hasn't required from me diving into any other resources while learning.

The Emacs interactive tutorial (type "C-h t" to start) is awesome. After you complete it you know all Emacs basics and can get to work.

In a similar strain, vimtutor is an excellent intro to vim and probably already installed on your computer.

I would really love one for containers/docker if anyone has a suggestion

I've struggled with the same so i wrote my own - https://smalldata.tech/blog/2019/06/08/docker-in-10-minutes

It's a bit dated now, but I found Using Docker by Adrian Mouat to be incredibly helpful.


I'd suggest "Practical Docker with Python: Build, Release and Distribute Your Python App with Docker" by Sathyajith Bhat.

Very beginner friendly.

thank you! I've been looking for something like this too.

Learning Processing (book), by Daniel Shiffman. Here's the Amazon link. https://www.amazon.com/Learning-Processing-Beginners-Program...

I'm getting started making a computer security course. Right now the material is very beginner focused.


Awesome, looks really good so far.


The Little Schemer is my favorite, especially if you regard The Seasoned Schemer as part of it. It takes you amazingly far for a self-contained tutorial.

Bell Labs' 1959 video "Similarities of Wave Behavior." By far the best introduction to the subject of waves of any sort.


Thanks so much for posting this link! I've been trying to wrap my head around SWR for a long time and this made it so simple to understand. Thanks!!!

I have recommended bandit to many people wanting to learn Linux tools and how the shell works: https://overthewire.org/wargames/bandit/

Is it down?

Using "ssh bandit0@bandit.labs.overthewire.org -p 2220" I just get "ssh: connect to host bandit.labs.overthewire.org port 2220: Connection refused"

I have the same problem. If you go to http://overthewire.org/information/irc.html and login to the web client it will automatically show you a message:

"Yes, Bandit is down, I repeat, Bandit is down and we don't know when it will be up"

I'm getting the same thing. It's always worked for me before. It might have gotten hugged to death.

Save Bandit! (sorry)

It looks like it's back up! It's working for me now.

Web Programming with Python and JavaScript https://cs50.harvard.edu/web/2019/spring/lectures/

By chance do you know how can I access the lectures of other harvard courses?

To teenagers or adults who would like to get started with coding, I always recommend Khan Academy’s “Intro to JS: Drawing & Animation“ as it is an excellent suite of lessons that introduces beginners to the most important fundamentals of coding, like variables and loops. Everything runs in a browser, with immediate feedback via Processing.js.


Paul Graham's tutorial on arc/lisp: http://ycombinator.com/arc/tut.txt

oh the link is broken :)

Spinning Levers - How A Transmission Works (1936)


Good stuff. Edit: But I still don't get it. Would need to spend some time with it. Can't help but feel like the goal back then really was to educate, whereas now it's to fill pages and sell new editions.

Dramatic, but CS50 is a good example of it - it starts of super simple, but builds on that simplicity. Same with these videos.


Learn Enough Command Line To Be Dangerous is an introduction to some basic bash commands, but more than that it's an introduction to questions like What is a command line, how do I use it and why would I want to communicate with my computer using text rather than a GUI

Flexbox Froggy, a short game that teaches the basics of CSS flexbox:


LazyFoo's introduction to SDL - the style of writing is perfect for someone who is new not only to SDL but also to programming, I have to confess that's probably one of the major reasons why I wanted to do games programming when I was a kid:


Jeff duntemans book on assembly language. It used the 386 processor under DOS which was way more approachable than what we currently have, but it really taught me how a computer works from the bottom up.

Edit: apparently there’s now a third edition for recentish computers: http://duntemann.com/assembly.html

Interactive drawing tutorial:


Repeating something from a previous Hacker News thread...

Children's publisher Usborne have made available for free some classic computer books from the 1980s aimed at kids that use text and illustrations to clearly explain computer concepts.

These books have been discussed a few times before here on Hacker News. Scroll down to the bottom of the link below to the section 'Usborne 1980s computer books' for the free PDFs.


You might be thinking, why would I read books aimed at kids? Not only are these books well written with clear, concise explanations, they are also more readable and enjoyable than many programming books published for adults today.

Anyone writing a technical guide (of any kind) would benefit from reading these as a source of ideas and inspiration.

Thank you :-) I've edited my message to include the correct URL.

Not technology, but a great video for absolute beginners who want to get into drifting, or just improve their on-track car control.

"The Drift Bible" with the Drift King, Keiichi Tsuchiya https://www.youtube.com/watch?v=IPQyQgyuNMI

The one I learned programming from first is A Byte of Python by Swaroop CH: https://python.swaroopch.com/

Really concise introduction to programming in Python; easy enough for someone to absolutely devour and learn incredibly quickly.

Not technology but science:

Feynman's QED: The Strange Theory of Light and Matter. You can have zero physics background (like me) and still understand a bit about quantum electrodynamics. If ever I had to distill a complex subject, I'd try to first dissect how Feynman is able to do so.

Leo Brodie's Starting FORTH book. Thirty years ago, sixteen year old me learned to use that FORTH thing found on a public domain Fred Fish disk.


+1 for "Starting FORTH". FORTH is very different from any other programming language (system), so creating a tutorial for it was especially challenging. Brodie did an amazing job of turning it into something clear. I don't think FORTH is a good match for many problems today, but I think the book would be a useful example of how to explain things clearly.

https://docs.pylonsproject.org/projects/pyramid-blogr/en/lat... - because I wrote it.

I've found that newcomers struggle with many concepts during presentations so I wrote my own tutorial for beginners.

On many meetups and hackathons I've noticed people break their environments or Linux installations. It's a bit much but we try to start from scratch showcasing how to use venv to get things going and create a small application demonstrating different concepts of web development, from templating, to DB migrations, business logic and auth.

I've ran few workshops with this tutorial and we had very good results.

Thanks, looks like I pasted something incorrectly while over phone :( It is working now - maybe someone edited it?

Zed's Learn Python the Hard Way. https://learncodethehardway.org/python/

It wasn't what I used to first learn (Larry Ullman's first PHP5 & MySQL book which I still have, with a spine held together by duct-tape) but it showed me a simple method to help absolute beginners (and helped me realize my ideas on teaching concepts in an unorthodox manner don't work at all for that target group) and to refer to acquaintances whose intro programming course professors were failing them in acquiring understanding.

The first level of Super Mario Bros is a great example of learning by exploration.

Introduction to Bayesian Data Analysis: https://www.youtube.com/watch?v=3OJEae7Qb_o&t=4s

Learn Go the Complete Bootcamp course teaches to a complete beginner step by step with easy to understand animations, and 1000+ exercises.

To me, Go is a great starting language because it's in the sweet place between high-level and low-level.


Shameless Plug: I'm the author :)

why's (poignant) Guide to Ruby: https://poignant.guide/

+1 +1 +1 Amazing guide

Agree with the Django Girls tutorial in OP. I ran into them at Pycon and expressed my appreciation for helping me learn Django. Was really exciting stuff.

Does anyone happen to have a good resource for learning GoLang? It's nearly impossible to find good tutorials (outside of the golang site's tutorial) because the name Go is super common and "GoLang" isn't used by everyone.

Not necessarily a collection of beginner tutorials, but for what they're worth, these are some very high quality in-depth articles on pieces of the language:

- https://dave.cheney.net/practical-go

- https://www.ardanlabs.com/all-posts/

If you're looking for more high-level, "get-things-done" stuff, this has been a great resource for getting off the ground:

- https://github.com/astaxie/build-web-application-with-golang

Check out: "Learn Go the Complete Bootcamp" course. It teaches Go step by step with easy to understand animations, and 1000+ exercises: https://www.udemy.com/learn-go-the-complete-bootcamp-course-...

This is my blog: https://blog.learngoprogramming.com

If you're a beginner, Todd McLeod's Golang video course is absolutely fantastic. If you're already familiar with a language or two, you'll probably want to run it at 1.5-2x speed: https://greatercommons.com/learn/golang

He also shares tons of excellent Go resources.

I really like this - https://gobyexample.com/

It's very practical. Simple examples on most aspects of the language / common tasks together with commentary.

I still refer to it quite often when I can't remember how exactly to do something from the top of my head.

The second edition of Semantic Web for the Working Ontologist is the best introduction to RDF, OWL, and SPARQL I've seen.


Go by example. Simple and linear.


I took a whack at trying to teach programming to complete beginners in the same way that I learned years ago. I give people a listing of type-in JavaScript code that creates a generative art project. You can get all the electronic issues free.


nand2tetris.org Haven't finished it yet but it's all about building a full computer from a NAND to other logic gates (mux, dmux, and, or, etc) to higher level things like assembly, memory, cpu, and it keeps going to a tetris game. It's challenging, comprehensive and builds upon itself. It's awesome

It doesn't actually keep going to a tetris game :). The final project is to build an OS that you could run tetris on if you were so inclined.

Cool course, but I bailed at the compiler stage because it feels like you hit diminishing returns for the work you need to put in (lots of tedious regex and text processing work for relatively little learning).


Will has a way to explain things is such a concise and clear yet entertaining way he's who I aspire to teach like

A movie about "how internet works" from early 2000s:



Ray Tracing in One Weekend (http://www.realtimerendering.com/raytracing/Ray%20Tracing%20...)

I love that it just sidesteps OpenGL/DirectX entirely

https://eloquentjavascript.net/ , I love giving this to creative people who are interested in coding. The literary reflection of coding concepts is really great

If the question was "what is your second favourite tutorial?" it would be very difficult to answer.

But, since the question is about the favorite, the answer is, unsurprisingly, "The C programming language" by Kernighan and Ritchie.

SQL Island is a very nice text adventure game that you play by typing SQL queries.


The game did not work for me under Chrome (it does work on desktop Safari). Is it available in English, or in German only? Thanks!

I think it's also availabe in English. You can switch in the menu, but unfortunately the link doesn't change, so I could not link to the English version and expected it to auto-detect your browser language.

I once played it in desktop Firefox, which worked fine. I'm not on a desktop right now, so can't try. On a phone it's almost unplayable.

Can someone recommend an easy tutorial for beginners for getting into electronics?

Getting Started in Electronics by Forrest Mims. The entire book is hand written and hand drawn. I think this is why the book is concise and direct. It is a work of art.

There's "Make:Electronics". It's a book but it's good.

Unfortunate what happened to Maker Faire and Maker Media. Hopefully revived somehow.


What a thread! So many awesome recommendations. I too wanted to ask this exact question.

Anyone reading my comment, please do post your favourite beginner friendly tutorials/blogs/books irrespective of the field.

Old favorite for Turbo C / DOS programming http://www.guideme.itgo.com/atozofc/

My favorite ones are the data science and AI video tutorials (actually meant for kids) @ https://www.Pathway.ai

I'm looking for good tutorials for getting started with DSP stuff (in Rust if possible although I know that may still be too niche) if anyone has suggestions

You've been showdead for over 6 months (which isn't surprising to me given 99% of your comments are the equivalent of just saying "no"), I'll vouch for this one though so people can see it.

player1: how do I change weapons?

player2: ALT+F4

player1 has disconnected

This regular exchange is the most concise and hands-on tutorial on life ever conceived.

On another note, this is a pretty damn good tutorial for learning how to write shaders in opengl: https://learnopengl.com/Getting-started/Shaders

It's said that in the times past, putting an ‘Any key’ sticker on the ‘Reset’ button greatly increased a secretary's knowledge of computers on the following day.

Udacity Intro to Javascript course for learning the fundamentals. It also sprinkles in exercises that really help you push further.

Second this - I went from not even knowing what a shader was to writing some pretty complex stuff in a few weeks.

Some of the later tutorials are still a work in progress though, hope they get finished soon!!!


Any good recommendations for beginners to digital marketing/SEO?

the Haskell gentle intro is very well written.


The Little Schemer

The later tutorials are behind a paywall but the free stuff is more than enough to get you going with low level 3D.


An interactive tutorial that teaches HTML and JS!


I've had complete non-coders and kids take it, and learn to build their first Todo App in less than 45min!


3blue1browns video on quaternions is amazing

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact