Library / SDK
amitness/learning avatar
amitness/learning

amitness/learning: a monthly log of ML and engineering study, kept as a Markdown table

A log of things I'm learning

6,953 stars878 forksUnknownMIT

At a glance

What is it?
The repository is a personal reading and course checklist for machine learning, system design and adjacent skills, updated once a month according to the README. It is a study log rather than a library, so the interesting question is what its table format buys and what it costs.
Who is it for?
Adopt the format, not the repository, if you want a public record of what you are studying: a Markdown table with Format, Resource, Length and Progress columns is enough, and the README's monthly update cadence is the only maintenance it needs. Do not treat it as a curriculum to follow in order, and do not expect a generated site, a search index or an API, because the repository contains no code.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 29 days ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What amitness/learning solves, and for whom

Most study logs die because the tooling outgrows the studying. A Notion database, a spaced-repetition app or a static site generator each adds a setup step that has to be maintained before a single resource can be marked done. This repository takes the opposite route. It is a README with Markdown tables, and the README states the update rhythm plainly: "Updated: Once a month". The current focus is listed as Generative AI.

The audience is narrow. It suits an engineer who already knows what they want to learn and needs somewhere to record it in public, and it suits a reader who wants to see how one person sequences machine learning, system design, maths, databases and design into a single list. It does not suit someone looking for a course, a library or a tool. The repository's own description is "A log of things I'm learning", and the top level contains LICENSE and README.md and nothing else.

How the log is structured: tables, topics and progress marks

The mechanism is a flat set of Markdown tables grouped under domain headings. Generic Skills covers System Design, Maths, Data Structures and Algorithms, Data Modeling, Design Sense, and Linux and Command Line. Each table uses four columns: Format, Resource, Length and Progress. Format takes values such as Book, Udacity, Udemy, Datacamp, Neetcode, edX, MIT, Youtube, Pluralsight, Course and Article. Resource is a link. Length is pages, hours or a fraction of a course, and Progress is one of three marks.

That last column is where the design decision lives. The marks are a check for finished, a small square for not started, and an hourglass for in progress. Neetcode's Advanced Algorithms shows 1/7 with the hourglass, while MIT 18.06 Linear Algebra shows 36/36 with a check. The fraction and the mark carry different information: the fraction says how far through, the mark says whether to bother looking at the fraction. Splitting those two into separate columns is what makes the table scannable at a glance, and it is the part worth copying.

The README also links out to two essays, one on mastering adjacent disciplines and one on continuous improvement, which explains why a machine learning log contains a UX course and a Figma illustration article. The topics list on the repository names deep-learning, generative-ai, learning-resources, llms, machine-learning, nlp and python, so the emphasis is visible even though the log itself ranges wider.

Installing nothing: cloning the log and adding your first row

There is no package, no build step and no configuration. The README gives no install instructions because there is nothing to install. The only commands involved are the ones that get the file onto your machine and open it. Cloning the repository fetches README.md and LICENSE:

bash
git clone https://github.com/amitness/learning.git
cd learning

After the clone, the directory holds those two files. To start your own version, edit README.md and add a table row under the section you care about, matching the four-column shape the rest of the file uses. A row for a book you have not started looks like this, with the same column order as the existing tables:

markdown
|Format|Resource|Length|Progress|
|---|---|---|---|
|Book|[Designing Data-Intensive Applications](https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/)|616 pgs|⬜|

That second row is copied from the README's own System Design table, where it currently sits with the not-started mark while Designing Machine Learning Systems carries a check. Change the link, the length and the mark, and the row is yours. If you want the log public, push the file to your own repository; if you want it private, keep it local, since nothing in the format depends on being hosted.

Where the format breaks down

A single Progress mark cannot say why something stopped. A course abandoned at lesson three and a course postponed for a year look identical, and the hourglass is the only signal that a row is mid-flight. Once a log has fifty rows, the marks stop telling you what to do next, because nothing in the table records priority or a date. The README's monthly cadence is the only time signal, and it is stated once at the top rather than per row.

Length is inconsistent by design. Some entries are pages, some are hours, some are a fraction such as 5/5 or 36/36, and several are blank, including the Udemy AWS Certified Developer entry and the Udacity Database Systems Concepts and Design entry. A blank cell is honest, but it also means the column cannot be sorted or totalled. Anyone who wants to answer "how many hours of statistics have I finished" has to do it by hand.

The bigger limitation is staleness. Course links rot, platforms retire courses, and a checked box records that someone finished a resource on some unknown date. The README does not date individual rows, so a reader cannot tell whether a check is from this year or several years ago. This is the wrong tool if you need to track what you learned, when, or how well. It is the right tool if you need a lightweight public list and nothing more.

Compared with a plain list or an awesome-style collection

The obvious alternative is an awesome list, a README of links grouped by topic with no per-item status. The difference is the Progress column and the Length column. An awesome list answers "what exists in this area"; this log answers "what has this person actually done, and how long is the commitment". That is why the same resource can appear as a link in one repository and as a row with a blank square in another.

A second alternative is a personal knowledge base such as a notes wiki, where each resource gets its own page with takeaways. That trades the table's scannability for depth. Here the entire record of a 386-page book is one row and one check, so there is no place to write what was learned. The trade is deliberate: a table you update monthly survives, a wiki page you never finish does not. The repository's own framing supports that reading, since it calls itself a running log rather than a reference.

Maintenance, licence and what the MIT terms cover

The last push to the repository was on 2026-09-01, and the README says updates happen once a month, so the upkeep is a single edit to one file on a monthly rhythm. There is no dependency to bump, no CI to keep green, and no release to cut; the repository has no releases. The cost is the opposite of most open source projects: not maintenance burden, but the discipline of actually opening the file and moving a mark.

LICENSE sits at the top level and the repository is MIT licensed. In practice that means the text and the table structure can be reused, modified and redistributed, including commercially, provided the licence and copyright notice are kept. It does not cover the linked resources. The books, Udacity, Datacamp, Neetcode, edX and Udemy material belongs to those platforms under their own terms, and a link in this README grants no right to the content behind it. That distinction matters if you plan to fork the log and republish it: the MIT grant applies to the file, not to the courses it points at.

Is this repository maintained, and how current is it

The repository is not archived, and its last push was on 2026-09-01, which is recent enough that the monthly cadence described in the README is plausible. That is the whole of the maintenance picture. There are no releases, no issue tracker activity visible in the repository, and no changelog, so the only evidence of upkeep is the push date and the README's own claim of a monthly update.

For a reader deciding whether to rely on it, the practical consequence is that the log reflects one person's current focus, listed as Generative AI, and older sections such as System Design and Maths may go untouched for long stretches. Treat any row as a snapshot. If a resource matters to you, open the link before committing time to it, because nothing in the repository checks whether the link still resolves.

Editorial conclusion

Adopt the format, not the repository, if you want a public record of what you are studying: a Markdown table with Format, Resource, Length and Progress columns is enough, and the README's monthly update cadence is the only maintenance it needs. Do not treat it as a curriculum to follow in order, and do not expect a generated site, a search index or an API, because the repository contains no code. Before copying anything, open the LICENSE file and check the course links yourself, since a checked box records that one person finished a resource, not that the resource is still available or still current.

Frequently asked questions

What is amitness/learning?

It is a personal running log of resources the author is studying, kept as Markdown tables in the README under headings such as System Design, Maths and Data Structures and Algorithms. The repository description calls it "A log of things I'm learning", and the top level contains only LICENSE and README.md.

How do I install amitness/learning?

There is nothing to install. The README gives no install steps because the repository is a single Markdown file, so the practical route is to clone it or copy the README and edit the tables. The README states the log is updated once a month.

What licence does amitness/learning use?

The repository is MIT licensed, with the LICENSE file at the top level. That covers the file itself, not the books and courses it links to, which remain under the terms of their own platforms.

Does amitness/learning provide a course or a curriculum?

No. It is a checklist of resources with Format, Resource, Length and Progress columns, and the marks record what one person has finished, started or not started. The order of the tables is not a suggested sequence and the README does not present it as one.

Official sources

  1. amitness/learning on GitHub
  2. Issues
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/amitness-learning.svg)](https://hysenlabs.com/projects/amitness-learning)