Good Tech Tutorials/Blogs/Sites

Ziming Wang | Nov 13, 2023 min read

Some good tech tutorials/blogs/sites that I found helpful in my study and programming.

Backend/System Design

[Site][Course] Java multi-threading course. Highly recommended. You can also find other advanced Java tutorials on this site.

[Article][Article] How Discord use Cassandra and ScyllaDB to store trillions of messages.

[Tutorial][Notes] Authentication on the web. JWT, session, cookie, XSS, CSRF…

[BOOK] System Design Interview – An insider’s guide by Alex Xu

[Tutorial] System Design Interview with AWS. Design Youtube, Whatsapp, Twitter.

[SITE] Full stack web dev reference site.

[ARTICLE] Client-side rendering VS server-side rendering


Machine Learning/Data

[ARTICLE] An in-depth explanation about bias and variance.

[ARTICLE] Importance of normalising data in neural networks. 

[TUTORIAL] Introductory videos for neural networks. Mainly talked about MLP.

[COURSE] University of Columbia’s legendary Computer Vision course.

[ARTICLE] Feature visualization and how convolutional neural network learns

[SITE] A pre-trained CNN playground. You can use different pre-trained CNN as feature extractors. Then use extracted embeddings to perform Sementic Search - find another similar image within a dataset. There are many adjustable parameters, including datasets, pre-trained CNN, which layer you want to use, and distance metrics. Pretty fun to play around.


Computer Networks

[TUTORIAL] Computer network tutorials.

[ARTICLE] What happens when you access a website? Explain all OSI layers’ behaviour from the physical layer to the application layer.

[SITE] Visualise and let you play with TCP’s retransmission. Helpful to the exam.


Artifical Intelligence (The subject)

The Artificial Intelligence University subject. E.g. search algorithms, game agent, CSP, Bayesian Net, Reinforcement Learning…

[TUTORIAL] Step-by-step demo for search algorithms, MCTS and constrain-satisfication. This professor is truly a legend. Helped me so much for the exam.

[SITE] Minimax and alpha-beta pruning simulator. For the exam purpose, randomly make some trees by yourself and perform the pruning and backpropagations to practice.

[COURSE] Berkeley’s Artificial Intelligence course.


Distributed Systems

[Article] Connecting the Dots: FLP, BFT & Consensus Algorithms. It discusses the connections and interleavings of failure models (crash/omission/byzantine) and interaction models (sync/async) in distributed consensus problem.

If you also feel sad taking Unimelb’s trash course COMP90015 (Distributed Systems) that 40% of the contents overlap with COMP30023, 60% of the contents are too high-level and old AF, then:

[COURSE] MIT’s Distributed Systems. Most reputable Distributed System course.

[COURSE] University of Cambridge’s Distributed System. It is easier than MIT’s and has some overlapping with Unimelb’s COMP90020 Distributed Algorithms.

[Course2009][Course2024] (replace the URL with different years so that you can check past semesters) University of Illinois’s Distributed Systems. This one is very similar to COMP90020. The most useful content from this course is the publicly available exereices. Good for exam preparations. Sadly this subject’s lecture recording is not publicly available.

[BOOK] Foundations of Distributed Consensus and Blockchains by Elaine Shi. It only focuses on consensus related problems.

Cryptography

[TUTORIAL] Tutorial for finite field (Galois field). This channel also has many good math tutorials. This video is especially helpful if you are a Unimelb student taking COMP90043 (Crytography and Security) - The subject content on the finite field part is so ill-designed. The lecture slides are stackings of formulas with no explanation. Plus if your lecturer is Udaya then…good luck… (Other than these, the subject is pretty good)

[COURSE] Crytography and Network Security full course. Might be helpful to your COMP90043 study. But I personally find the suggested textbook (Crytography and Network Security - William Stallings) more useful for this subject. The subject syllabus follows the textbook exactly so if you don’t understand anything just refer to the textbook.


CS Self-Learning RoadMap

[RoadMap] CS self-learning roadmap.

[RoadMap] Developer self-learning roadmap. E.g. backend developer, frontend developer, game developer…


Fun Stuff

[Video] [Video] Programming with Microsoft PowerPoint. Building a Turning Machine with it. 😧