"500 Rows or less"
"What I cannot create, I does not understand."
--Richard Feynman
"500 lines or less"-Open source Application Architecture Series Fourth edition of the source code.
The goal of the project is to give readers a broader view of what the software designers think.
Project Address: Https://github.com/aosabook/500lines
Each folder in this project is basically a separate project. Try to complete a specific requirement with 500 or less lines of code. Instead of focusing too much on the characteristics of a language or the details of an algorithm, you should try to figure out how software architects decide and weigh when designing software.
Project name |
Author |
Subordinate institutions |
Brief description |
Implementing Environments and languages |
Number of rows |
Blockcode |
Dethe Elza |
Mozilla |
Simple Visual Programming Toolkit |
Js,html,css |
551 |
Catechism |
Sarah Mei |
Sarah Mei |
Small Ruby test Framework |
Ruby |
459 |
Ci |
Malini Das |
Mozilla |
Simplified distributed Continuous Integration System |
Posix,python2.7+,git |
627 |
Cluster |
Dustin J. Mitchell |
Mozilla |
Implementation of a simple replication state machine based on the Paxos algorithm |
Python |
1254 |
Crawler |
Guido van Rossum |
Dropbox |
Crawler |
Python 3.4, or 3.3 + Asyncio |
731 |
Data-store |
Taavi Burns |
Points.com |
(dogbed DataBase) class BDB or SQLite key-value pair storage |
Python |
778 |
Flow-shop |
Christian Muise |
University of Melbourne |
Basic realization of flow-shop scheduling problem |
Python |
423 |
Functionaldb |
Yoav Rubin |
Microsoft |
Memory-based NoSQL functional database |
Clojure |
576 |
Graph-layout |
Julia Evans |
|
Chart style engine, not yet done |
|
|
Image-filters |
Cate Huston |
|
Image filter |
java1.6+ |
846 |
Modeller |
Erick Dransch |
Upverter |
Minimal 3D modeling Tool |
Python 2.7,unix |
1083 |
Objmodel |
Carl Friedrich Bolz |
|
A simple object-oriented object model implementation |
Python 2.7 or 3.3 |
2292 |
Ocr |
Marina Samuel |
Mozilla |
Image recognition |
Python,html,js |
394 |
Pedometer |
Dessy Daskalov |
Nudge Rewards |
Pedometer |
Ruby |
1417 |
Rasterizer |
|
|
Convert any shape to a raster (that is, a rectangular pixel table) |
Python |
685 |
Sampler |
Jessica B. Hamrick |
UC Berkeley |
Sampling method |
Python |
307 |
Spreadsheet |
Audrey Tang |
g0v.tw, Socialtext, Apple |
Online e-form |
JS (ES6), Html5,css3,angularjs |
1265 |
Typecheck |
Leah Hanson |
Google |
Types of Julia language static analysis |
Julia |
590 |
Template-engine |
Ned Batchelder |
EdX |
Simple template engine |
Python |
574 |
Torrent_client |
Kresten Krab Thorup |
Trifork |
A simple torrent client |
Erlang |
1731 |
Web-server |
Greg Wilson |
Mozilla |
A simple Web server |
Python |
954 |
Note: Row count statistics are only used as a reference, and the actual situation will differ
500lines Project Introduction