Hacker News new | ask | show | jobs
Tell HN: Some of my favorite CS content creators
33 points by certeoun 1773 days ago
I would like to share some of my favorite computer science content creators:

Jacob Sorber; operating systems, programming techniques; YouTube

Abdul Bari; very good explanation videos on algorithms; YouTube

Jorge Rodriguez; game math; YouTube

Gabriel Gambetta; computer graphics (fundamental rendering algorithms); his personal website

Jason Turner; C++ programming; YouTube, Twitter

Jonathan Blow; game development; YouTube, Twitch, Twitter

Martin Kleppmann; distributed systems; YouTube

John Carmack; game development, programming, advice/trivia; his keynotes on YouTube, Twitter

Christopher Okhravi; design patterns, software engineering, web development; YouTube

Peter Shirley; computer graphics; his CG book websites, Twitter

The CS folk from the University of Nottingham (ComputerPhile); computer science; YouTube

Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau; operating systems; their OS book website, their lectures on YouTube

Yan Chernikov; game programming, C++; YouTube

Key:

Who; what; where

(All of them create relatively good content with a relatively high signal-to-noise ratio. I generally avoid influencers and clickbaiters.)

6 comments

Andreas Kling [1]. He is developing an OS from scratch in C++. I really like watching his videos. Watching him code also lowered the barrier for me to contribute his open source project.

[1] https://youtube.com/c/AndreasKling

Ferris (aka Jake Taylor): https://www.youtube.com/ferrisstreamsstuff - live streams lots of things, but my favorite was his nintendo64 emulator written in rust. Playlist starts here: https://www.youtube.com/watch?v=Fsi9HPcyrU8&list=PL-sXmdrqqY...
Brian Will; Programming lessons on various topics; YouTube

What I like about his videos is they are short and straight to the point. He also happens to have a great voice.

https://www.youtube.com/user/briantwill/playlists

Links in comments?

May I suggest you create playlists on YouTube combining the videos by topic?

Not everybody in the list is on YouTube (e.g. Gabriel Gambetta). I don't have a Google account, and I see no problem with the links in the comments. However, those who do have a YouTube account may consider it.

The intent of this whole thing was to spread awareness that people such Jacob Sorber exist. In a world of noise, it is not so easy to find signals. (That's why when I search for a topic, I very often find myself using HN's search function. Then, I might search via DuckDuckGo or some other search engine. If you use browser extensions such as "Content Farm Terminator", "Unhook YouTube", and "Clickbait Remover for YouTube" you get to have a more pleasant search.)

That's my personal opinion, you can disagree with me here, but I find it very problematic that people are out there who intentionally abuse your attention to make you consume their (mostly) futile content. They are also polluting the search space. (I am talking about clickbaiters, influencers and content farmers here.) Anyhow, I am thankful that there are browser extensions for this, reducing or eliminating most of the noise (or abuse?) out there. (Maybe the word "abuse" is too harsh here. Perhaps "psychological manipulation" is more fitting?) I just wish search in general wouldn't be so polluted. It's so noisy out there.

Abdul Bari is pretty good. He tried to explain from the root instead of jumping into a topic directly. However I hope he adds more videos for implementation as that's more difficult than the algo itself.
If you are proficient in C, maybe his videos might help you:

https://www.youtube.com/user/mycodeschool/videos

General tips:

If you are implementing a hash table (std::unordered_map) via open addressing: you cannot simply delete "buckets" or entries out of a hash table. Why? Because you "break" the search chain. The solution is to have a flag or something for each bucket.

FULL|"I stored this here"|EMPTY|nullptr|DEAD|"I am invalid now :("|...

You have 3 states. When searching or deleting, you preserve the "search chain" that way. "FULL" and "DEAD" means you can iterate over or delete when on a search or delete op. "EMPTY" on an add operation means, okay here it is, here I can place something. If you use chaining instead of open addressing you don't have to worry about "breaking the search chain".

> Yan Chernikov

His content is non-existent to bad.

https://www.youtube.com/user/TheChernoProject

He goes by "The Cherno" on YouTube. :)