-
Notifications
You must be signed in to change notification settings - Fork 33
State of the art
This page outlines the current state of the Red Spider Project.
Last update: 20. March 2013
- So far, 12 people have actively contributed in one way or another. 3 people are currently active.
- We have three vector logo candidates and three ASCII art mascot candidates.
- We have a home page.
- We have an IRC channel (chatroom): #redspider at irc.foonetic.net.
As of yet five programs are directly available for use when you download or checkout the master branch (which is the default):
Main article: setup.py
For an installation guide, see Getting started.
This is the installation script, which creates a few additional folders within the project root, copies some files and makes some additions to the user configuration. These steps enable the operation of rsshell (see below). Together, setup.py and rsshell make up most of the infrastructure of the project.
Currently setup.py can only "install" Python scripts because there hasn't been a need yet for installing other languages. Big changes are planned which should make the installation procedure a lot more general (see section "Plans" below).
Main article: rsshell
Initially known as "the first command", this shell wrapper creates a suitable environment for other Red Spider software to operate in. Inside rsshell you can run any installed Red Spider command by just typing its name. The environment that rsshell creates ensures that the programs can find all their stuff even if your working directory happens to be at the other end of the filesystem.
rsshell itself can always be run regardless of your working directory, thanks to setup.py. Note however that on Windows, you currently have to invoke it as "rsshell.py". This is a cosmetic issue that will be fixed soon.
As the name suggests, this command fetches xkcd comics with their metadata from the web and caches them on your hard drive. It can also print the metadata for a given comic in your terminal. Note that the program will wait for input (and may hence seem to run forever if you don't enter anything) unless you pass the -n flag. Run "xkcd-fetch -h" for a short manual.
This command uses the cache from xkcd-fetch to search for xkcd comics that match a given regular expression (it does not download new data). The numbers of the comics that match the search expression are printed on stdout.
This appears to be a tool for quickly inspecting a JSON file from the command line without needing to open the file. Unfortunately it's undocumented.
The following commands were pushed to GitHub but haven't been merged into master yet:
An adventure shell, letting you explore the file system as if you were playing a text adventure.
Branch: zed0/advbrowser.
Also an adventure game, but browsing the web instead.
Branch: zed0/advbrowser.
Calculates your RPG-style "level" in a programming language based on the number of lines of code you've written.
You can help by running the test suite: see issue 14.
Branch: ahammel/master.
A Markov chain random text generator.
Branch: ovvy/rtext.
An ASCII art generator that takes a random image from a given directory.
Branch: ovvy/rascii.
Changes the wallpaper to an xkcd comic of your choosing under Windows.
The first challenge is to add instructions so that other people can build the application using just the source from GitHub. The next challenge is to have it automatically installed by setup.py (only on Windows). In addition it would be nice if the app could rely on the database of xkcd-fetch (see above). The final challenge is to make it work on Mac OS X and Linux as well.
Branch: BRNMan/master.
The "Game of Spiders", a Conway's Game of Life clone that offers two species (colors) instead of one and that lets you pick from several universe topologies.
Pushed recently, it currently only works under Windows.
Branch: xen-0/game-of-spiders.
Several participants have expressed intentions to work on various aspects of the project. The list below is not meant to be exhaustive.
- Develop a proper build system based on CMake, in order to use it as a backend for setup.py. (jgonggrijp, help appreciated)
- Make setup.py create configuration files for use with rsshell. This should add a lot of flexibility and open up new possibilities. (jgonggrijp)
- Overhaul xkcd-fetch to make it more consistent. (FireRogue)
- Create an overarching RPG that combines existing games such as advshell and level_up. (FireRogue, help appreciated)