{"id":15008114,"url":"https://github.com/timm/noml","last_synced_at":"2026-03-14T23:37:50.180Z","repository":{"id":255698797,"uuid":"853074966","full_name":"timm/noml","owner":"timm","description":"a demo of another kind of ai","archived":false,"fork":false,"pushed_at":"2024-10-24T14:01:36.000Z","size":17592,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-24T14:26:33.516Z","etag":null,"topics":["ai","classification","clustering","expalanation","lua","minimal","multi-objective-optimization","regression","teaching"],"latest_commit_sha":null,"homepage":"https://timm.github.io/noml/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-06T00:12:00.000Z","updated_at":"2024-10-24T14:01:40.000Z","dependencies_parsed_at":"2024-10-26T01:49:59.541Z","dependency_job_id":"cddacb6e-1f4e-4ffc-887b-0fe22faaa9b2","html_url":"https://github.com/timm/noml","commit_stats":null,"previous_names":["timm/noml"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timm%2Fnoml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timm%2Fnoml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timm%2Fnoml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timm%2Fnoml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timm","download_url":"https://codeload.github.com/timm/noml/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243180881,"owners_count":20249385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","classification","clustering","expalanation","lua","minimal","multi-objective-optimization","regression","teaching"],"created_at":"2024-09-24T19:15:10.592Z","updated_at":"2025-12-26T00:26:26.030Z","avatar_url":"https://github.com/timm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## Who is this for?\nBe quiet or I will repalce you with one very small shells cript.\n\n\n“Inside every large program is a small program struggling to get out.”\n― Tony Hoare\n\nEvery block of stone has a statue inside it and it is the task of the sculptor to discover it.\n-- Michelangelo\n\n\nThis code is for explorers. That is to say, the analysts building quick software tools to prod at some\nproblem in order to gain as much insight as possible in the shortest time.\n\nIf you not an explorer, there are many other palces to read  up on production-level programming.\nBut here, I write to service those bold software explorers struggling to find and tame  complex concepts. \nIncreasingly, cs students are forgetting abut how to explore.\nRecently I asked a student to , package up some of our research scripts for distribution. They could not do\nanything unless they used the heavyweight IDE they had learned in second year CS.\nThis is not recommended practice. \nThe best  way to quickly get more code to more people is to avoid heavyweight infrastructures.\n\nHence this book. All the tips and tricks that are general to 100,000 AI and SE tasks. All in a few dozen lines of code.\nOne quirk of this book is how mcuch is packed into how little code. Our total soruce code is under 500 lines. Ao brief yet so powerful.\n\n\n\n## Why Lua? Why Not?\n\nIn August 2024, ZDNet writer David Gewirtz [aggregated data from nine different rankings](https://www.zdnet.com/article/the-most-popular-programming-languages-in-2024-and-what-that-even-means/) to create the ZDNET Index of Programming Language Popularity. He used data from:\n\n- PYPL\n- Tiobe\n- GitHub Usage 2023 Survey\n- Stack Overflow Professional Developers user profiles\n- Stack Overflow’s Learning to Code list\n- Stack Overflow’s Other Coders list\n- IEEE Spectrum index\n- IEEE Jobs index\n- IEEE Trending index\n\nThese lists consistently show a top 20 (or so) languages that dominate, while many others hover near zero. With so many languages to choose from, I picked Lua because it is simple to learn and appears in the majority of those top-20 lists.\n\nLua’s minimalist design and straightforward syntax make it easy for beginners to start coding quickly. [Liam Dodd](https://www.developernation.net/blog/language-communities-who-leads-the-way/#:~:text=Lua%20has%20shown%20massive%20growth,AR%2FVR%20picking%20it%20up) reported that Lua’s community added almost 1 million developers in the past year, growing from 1.4 million in Q1 2022 to 2.3 million in Q3 2023. This trend is mirrored in other reports:\n\n- In 2022, [Lua was the fourth-fastest growing language on GitHub](https://octoverse.github.com/2022/top-programming-languages).\n- In 2023, [it ranked second](https://github.blog/news-insights/research/the-state-of-open-source-and-ai/):\n\n\u003cimg src=\"docs/img/ghgrowth.png\" width=500\u003e\n\nLua’s core is extremely lightweight—the full reference interpreter is about 250 kB when compiled, making it adaptable to a wide range of applications. The language uses just 22 keywords:\n\n```\nand       break     do        else      elseif    end\nfalse     for       function  goto      if        in\nlocal     nil       not       or        repeat    return\nthen      true      until     while\n```\n\nDespite its simplicity, Lua is powerful—think \"LISP without the brackets.\" It\nsupports procedural, object-oriented, functional, and data-driven programming,\nas well as data description. Lua’s procedural syntax is combined with powerful\nconstructs based on associative arrays and extensible semantics. It is\ndynamically typed, runs byte code on a register-based virtual machine, and has\nautomatic memory management with incremental garbage collection, making it ideal\nfor configuration, scripting, and rapid prototyping.\n\n\n\n\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimm%2Fnoml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimm%2Fnoml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimm%2Fnoml/lists"}