Skip to content
jgonggrijp edited this page Mar 21, 2013 · 21 revisions

This page outlines the current state of the Red Spider Project.

Last update: 20. March 2013

Table of Contents

Things that are not programs

  • 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.

Usable programs

As of yet five programs are directly available for use when you download or checkout the master branch (which is the default):

setup.py

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).

rsshell

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.

xkcd-fetch

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.

xkcd-search

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.

json-parse

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.

Work in progress

The following commands were pushed to GitHub but haven't been merged into master yet:

advshell

An adventure shell, letting you explore the file system as if you were playing a text adventure.
Branch: zed0/advbrowser.

advbrowser

Also an adventure game, but browsing the web instead.
Branch: zed0/advbrowser.

level_up

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.

rtext

A Markov chain random text generator.
Branch: ovvy/rtext.

rascii

An ASCII art generator that takes a random image from a given directory.
Branch: ovvy/rascii.

xkcd-windows-wallpaper

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.

spider-life

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.

Plans

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)

See also

Clone this wiki locally