Feel free to link to your project, useful resources, or blog posts you've written about doing these
###OSS projects Recursers have contributed to:
- Mocha – JavaScript test framework running on node and the browser, making asynchronous testing simple and fun.
- Jade - Jade is a high performance template engine heavily influenced by Haml and implemented with JavaScript for node.
- Angular.js - AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop.
- BPython - bpython is a fancy interface to the Python interpreter for Linux, BSD, OS X and Windows
- Brubeck - Brubeck is a coroutine oriented web framework featuring: Mongrel2, Gevent (or Eventlet), ZeroMQ and DictShield
- Lantern - Lantern is a free program that gives people access in places where access is denied.
- Requests - Requests is an Apache2 Licensed HTTP library, written in Python, for human beings.
- Pry - Pry is a powerful alternative to the standard IRB shell for Ruby.
- Python 3
- Scala (standard libs)
- Go (standard libs)
- Julia (standard libs) -
- Rust (standard libs) - The Rust standand library provides a number of useful features that are not required in or otherwise suitable for the core library.
- gevent - gevent is a coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libevent event loop.
- ClojureScript - ClojureScript is a new compiler for Clojure that targets JavaScript. It is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler.
- clojure-py - A implementation of Clojure in pure (dynamic) Python.
- Pandas - Python data analysis library
- Openhatch - An organization that helps match contributors with projects that need contributions. Also has "training missions" to help beginners get familiar with common opensource technologies and skills
- Ogre Clojure library for querying graphs.
- ownCloud Open platform for file-syncing and sharing.
- Titanium Clojure library for interacting with Titan graphs.
- Archimedes Clojure library for interacting with blueprints graphs.
- The Glorious Glasgow Haskell Compiler - The de facto Haskell compiler. A good place to start is the GHC Newcomers wiki page.
- Questhub.io - github - Questhub is a public task tracker with social features and game points.
- Twisted -Twisted is an event-driven, networking library in Python.
- Akka - Akka brings the actor model to the JVM
- GNOME - A desktop environment for Gnu/Linux
- Hacker School iOS App - A native app for Hacker School
- Flask - a micro web framework in Python
###Networking and Network protocols
- HTTP client/server
- Bittorrent client
- http://wiki.theory.org/BitTorrentSpecification
- http://www.kristenwidman.com/blog/how-to-write-a-bittorrent-client-part-1/
- http://www.bittorrent.org/beps/bep_0003.html
- http://libswift.org/
- http://en.wikipedia.org/wiki/Kademlia
- Visualize network traffic through a proxy
- IRC client, server, bot
- Networked tictactoe, or some variation on a central game server
- a Rack / WSGI server
- Web server with various concurrency models
###Tooling/general programming
- Rewrite command line tools (grep -r, find, ls) in any language (tree traversal, etc. being the point)
- https://github.com/technomancy/zossima
- Could port similar ideas to different languages/editors
- Command line tools to do things useful to you (HN reader, Stack Overflow reader)
###Compilers, parsers, and emulators
- Compiler for an obscure language like DCPU
- Calculator
- Emulator for a classic computer or video game system (Apple II, GameBoy, Commodore, NES, Atari, etc.) Something that leverages your nostalgia ideally.
- An emulator is a software implementation of a piece of hardware.
- Fun Project:
- Zarch:
- Transpiler (Scheme to JavaScript, for example)Compilers: Play with Python source, example
- Scheme interpreter, example
- Regular expression engine (program that takes regular expressions and searches strings for matches)
###Games and graphics
- Ray tracer (requires some math)
- toy example: https://github.com/rtunney/ray-tracer
- Image / video processing without a framework
- Write a library that does 2D vector drawings using a bitmap (array of pixels).
- Write a library to draw a 3D scene using only 2D graphics primitaves
- Tictactoe
- Pong
- Mandelbrot set generator
- Maze game (with AI)
- Tetris (with AI, networking, various frontend)
- Hangman (networked, multiplayer)
- Implement a computerized version of _why the lucky stiff's Kaxxt card game.
###Natural Language Processing
- Markov chain stuff
- Generate (or identify) poetry patterns
###Web
- Authentication library
- URL shortener
- Forum
- Basic blog
- Browser extension that does something interesting
- https://github.com/lchi/freshy-server
- http://www.daniellesucher.com/2011/11/jailbreak-the-patriarchy-my-first-chrome-extension/
- Ecommerce store with shopping cart
###Miscellanea
- Static Site Generator
- Scrabble solver web service
- Combine something cute and something you want to learn about (I did dynamically generated manual-formatted pages (readable in 'man'!) that were retrieved from stack overflow in Ruby because I was trying to learn it.
- One off game that allows you to use an algorithm or two that seem interesting
- Board game
- Patch webkit so that the computed styles view in the inspector updates every time the browser redraws
- write C extensions to Ruby or Python
- Build a database
- Inspirations from Martyr2's Mega Project List
- Implement a Linux filesystem using FUSE
- Projects from this blog post by RC resident Matt Might.
- I particularly enjoy "Directly route your microphone input over the network to another computer's speaker"
###Fun small problems