Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/surajsharma/x-in-y-lines

Succintly written (<1000 non-obfuscated loc), fully-functional software in any language
https://github.com/surajsharma/x-in-y-lines

c golang javascript lisp list python sql

Last synced: 7 days ago
JSON representation

Succintly written (<1000 non-obfuscated loc), fully-functional software in any language

Lists

README

        

# x-in-y-lines
> Succintly written (<1000 non-obfuscated loc), fully-functional software in any language.

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Databases

- Pydis – Redis clone in 250 lines of Python, for performance comparison [link](https://github.com/boramalper/pydis)
- SQL query builder in 150 lines of Python [link](https://death.andgravity.com/query-builder-how)
- A functional, relational database in about 250 lines of Common Lisp [link](https://github.com/Wukix/LambdaLite)
- A mini redis in 411 lines of Python [link](https://github.com/bpollack/miniredis/blob/master/miniredis.py)

## Version Control

- Gitlet.js – Git implemented in 1k lines of JS [link](http://gitlet.maryrosecook.com/docs/gitlet.html)

## Text Editors

- A small text editor in less than 1K lines of C [link](http://antirez.com/news/108)

## Spreadsheets / Calculators

- A spreadsheet in fewer than 30 lines of JavaScript, no library used [link](http://jsfiddle.net/ondras/hYfN3/)

## WWW / Networks

- Strace in 60 lines of Go [link](https://hackernoon.com/strace-in-60-lines-of-go-b4b76e3ecd64)
- Traceroute, 71 lines, Python [link](https://github.com/leonidg/Poor-Man-s-traceroute/blob/master/traceroute.py)
- News Scraper with 100 Lines of Python [link](https://hackernoon.com/i-made-a-news-scrapper-with-100-lines-of-python-2e1de1f28f22)
- A bare-bones but usable Gemini client in 100 lines of Python [link](https://tildegit.org/solderpunk/gemini-demo-1)
- A bare-bones but usable Gemini client in 100 lines of Lua [link](https://tildegit.org/solderpunk/gemini-demo-2)
- A bare-bones but usable Gemini client almost 100 lines of Go [link](https://tildegit.org/solderpunk/gemini-demo-3)

## Games / Graphics

- Simple Minecraft Clone in 580 lines of Python [link](https://github.com/fogleman/Minecraft)
- snake in 12 lines of Pytorch [link](https://scribe.rip/artificialis/writing-snake-in-12-lines-of-pytorch-f7b21ce42a66)
- Pokemon game in 70 lines of Javascript [link](https://hackernoon.com/recreate-a-simple-pokemon-game-with-70-lines-of-javascript)
- A first-person engine in 265 lines of JS [link](http://www.playfuljs.com/a-first-person-engine-in-265-lines/)
- Sunfish: A simple but strong chess engine in 111 lines of Python [link](https://github.com/thomasahle/sunfish/blob/master/sunfish.py)
- Recursive raytracer in 35 lines of JavaScript [link](http://jsfiddle.net/vz5aZ/2/)
- A top-down 2d game engine, written from scratch in under 1000 lines of C [link](https://github.com/ryanpcmcquen/basque)
- Tile map editor in 70 lines of JavaScript [link](http://slicker.me/javascript/tile_map_editor.htm)

## Emulators

- LaiNES – Cycle-accurate NES emulator in around 1000 lines of C++/SDL [link](https://github.com/AndreaOrru/LaiNES)

## Engines/Frameworks

- State-of-the-art (ranked #1 Aug 2022) German Speech Recognition in 284 lines of C++ [link](https://github.com/DeutscheKI/tevr-asr-tool)
- C++: How OpenGL works: software rendering in 500 lines of code [link](https://github.com/ssloy/tinyrenderer/wiki)
- JavaScript: Gooact: React in 160 lines of JavaScript [link](https://medium.com/@sweetpalma/gooact-react-in-160-lines-of-javascript-44e0742ad60f)
- JavaScript: Build Your own Simplified AngularJS in 200 Lines of JavaScript [link](https://blog.mgechev.com/2015/03/09/build-learn-your-own-light-lightweight-angularjs/)
- JavaScript: Build a Regex Engine in Less than 40 Lines of Code [link](https://nickdrane.com/build-your-own-regex/)
- JavaScript: JavaScript template engine in just 20 lines [link](http://krasimirtsonev.com/blog/article/Javascript-template-engine-in-just-20-line)
- Ruby: How to write a template engine in less than 30 lines of code [link](http://bits.citrusbyte.com/how-to-write-a-template-library/)
- Node.js: Build a static site generator in 40 lines with Node.js [link](https://www.webdevdrops.com/en/build-static-site-generator-nodejs-8969ebe34b22/)
- A React (+ Redux) replacement in 40 lines of code [link](https://github.com/stasm/innerself?ref=hackernoon.com)
- Building a full-text search engine in 150 lines of Python code [link](https://bart.degoe.de/building-a-full-text-search-engine-150-lines-of-code/)
- Noact – React-like Virtual DOM library in 70 lines of TypeScript [link](https://github.com/ms-jpq/noact/blob/noact/src/noact-elements.ts)

## Cryptocurrency

- Real-time crypto trading bot in under 100 lines of python [link](https://github.com/hackingthemarkets/binance-tutorials/blob/master/rsibot/bot.py)
- Go: Code your own blockchain in less than 200 lines of Go [link](https://medium.com/@mycoralhealth/code-your-own-blockchain-in-less-than-200-lines-of-go-e296282bcffc)
- JavaScript: A cryptocurrency implementation in less than 1500 lines of code [link](https://github.com/conradoqg/naivecoin)
- Make an NFT in 15 Lines of Solidity [link](https://hackernoon.com/how-to-make-an-nft-in-15-lines-of-code)

## Cryptography

- Minimal TOTP generator in 20 lines of Python [link](https://github.com/susam/mintotp)

## Containers

- C: Linux containers in 500 lines of code [link](https://blog.lizzie.io/linux-containers-in-500-loc.html)
- Go: Build Your Own Container Using Less than 100 Lines of Go [link](https://www.infoq.com/articles/build-a-container-golang)
- Shell: Docker implemented in around 100 lines of bash [link](https://github.com/p8952/bocker)

## AI/ML

- Python: A Neural Network in 11 lines of Python [link](https://iamtrask.github.io/2015/07/12/basic-python-network/)
- Abstractive Text Summarizer in 94 Lines of Tensorflow [link](https://hackernoon.com/build-an-abstractive-text-summarizer-in-94-lines-of-tensorflow-tutorial-6-f0e1b4d88b55)
- Parsing English with 500 lines of Python [link](https://honnibal.wordpress.com/2013/12/18/a-simple-fast-algorithm-for-natural-language-dependency-parsing/)

## Compilers / Interpreters / Languages
- A programming language in 450 lines of JavaScript [link](http://jsfiddle.net/osfnzyfd/)
- C: Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code [link](http://www.buildyourownlisp.com/)
- C subset lexer, parser, code generator, and VM in 291 lines of C [link](http://www.iro.umontreal.ca/~felipe/IFT2030-Automne2002/Complements/tinyc.c)
- A simple parser for mathematical expressions in 26 lines of Python [link](https://github.com/gnebehay/parser) [hn thread](https://news.ycombinator.com/item?id=24502293)
- Self-hosting Lisp-to-C compiler in 384 lines of Lisp [link](https://github.com/darius/ichbins/blob/master/ichbins.scm)
- Regular expression engine in 14 lines of Python [link](http://paste.lisp.org/display/24849)
- Lisp compiler in 89 lines of Python [link](https://bernhardkausler.wordpress.com/2009/11/28/sinc-%E2%80%94-the-tiniest-lisp-compiler-to-python/)
- An extensible multi-markup reader in less than 100 lines of python code [link](https://gist.github.com/miraculixx/900a28a94c375b7259b1f711b93417d3)
- A λ-calculus interpreter in less than 300 lines of JavaScript [link](https://tadeuzagallo.com/blog/writing-a-lambda-calculus-interpreter-in-javascript/)
- Casual Markdown - a regex based markdown parser in less than 190 lines of JavaScript [link](https://github.com/casualwriter/casual-markdown)
- Snarkdown - another regex based markdown parser in 109 lines of JS [link](https://github.com/developit/snarkdown)
- youtube-dl's JavaScript interpreter, written in 870 lines of python [link](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/jsinterp.py)

## Video
- C: How to Write a Video Player in Less Than 1000 Lines [link](http://dranger.com/ffmpeg/ffmpeg.html)