atte juvonen

i blog & i code

Learn new skills

2024-12-23how-to

Great learning materials are rare. This is a collection of gems I’ve encountered over the years, presented as a 90’s style web link list, intended for anyone who wants to learn new skills. Mostly software development-related, aside from the first few.



Money Stuff by Matt Levine

Skill: Finance — learn that everything is securities fraud.

Type of material: Email newsletter

Why is it good: Marvelous writing style. Unpacks recent events in finance with simplicity and wit, often connecting them to larger themes that run through the newsletter over time. Hugely entertaining and educational. Also released as web articles if you don’t want to give out your email.



Learning Music by Ableton

Skill: Composing music

Type of material: Interactive website

Why is it good: Experiment with composing music directly in your browser. No previous experience required. The tutorial begins with simple composing examples and tasks along with teaching basic fundamentals of music.



Machine Learning Coursera Course by Andrew Ng

Skill: Machine Learning — learn how to apply existing machine learning techniques, understand why they work, and how to troubleshoot issues.

Type of material: Videos and coding exercises

Why is it good: Great interplay between lectures and exercises. Clarity of explanations. Introductory scope. Enough math to understand why these methods work, but not too much.



Competitive Programmer’s Handbook by Antti Laaksonen

Skill: Exact algorithms — learn how to invent algorithms for ”code competition” -type problems (problems where exactly-correct answer is required and the main challenge is time or memory complexity).

Type of material: Book

Why is it good: Simplified explanations of many algorithmic techniques and algorithmic problem solving approaches. Unlike most algorithm books, this one is focused on ideas and code, not on the underlying math. This is the ”bible” of Finnish competitive programmers.



Essentials of Metaheuristics by Sean Luke

Skill: Optimization algorithms — learn techniques to find ”good enough” solutions for problems where an exactly-correct solution is not required. Typically used when an exact algorithm would be computationally infeasible and machine learning methods can not be applied. For example, route optimization often falls into this category.

Type of material: Book

Why is it good: A practical approach. Scope. Clarity of explanations. I recommend you to read this book while implementing and testing selected approaches on a real problem as you go along.



Building Effective Agents by Anthropic

Skill: Developing apps on top of LLMs — learn how to choose the right approach (despite the title this is not focused on agents)

Type of material: Blog post

Why is it good: Different approaches are covered and presented well. Based on real world applications. Opinionated against framework complexity.



The Grug Brained Developer by Carson Gross

Skill: Understanding complexity in software development — spoiler: complexity bad

Type of material: Essay

Why is it good: Funny and thought-provoking. Highly opinionated with opinions I strongly agree with.



Introduction to Cryptography by Christof Paar

Skill: Cryptography

Type of material: Videos

Why is it good: Clarity of explanations and visual illustrations. Entertaining presentation style.



The Modern JavaScript Tutorial by Ilya Kantor et al.

Skill: JavaScript language and browser APIs

Type of material: Website (alternatively available as a book)

Why is it good: Comprehensive, neatly organized & well written. Great explanations with illustrative examples. Goes wide and deep into the subject matter. Suitable both as a top-down read and as a place to look up specific topics.


Last updated 05.01.2025 16:59.