Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Ruby JavaScript
Pull request Compare This branch is 72 commits ahead, 102 commits behind rchatley:master.
Failed to load latest commit information.
features Removed Cucumber tests for Withdraw link as this is now hidden
lib/extreme_startup Removed WarmupQuizMaster, since it's no longer needed
public put the javascript in a separate file
spec Fixed failed specs due to behavior change
utils Verify that user registers a reasonable URL. Closes #12
views Verify that user registers a reasonable URL. Closes #12
.gitignore Don't check in Emacs backup files
.rvmrc spike: solved
Gemfile Add a realtime graph of scores.
Gemfile.lock Add a realtime graph of scores. Updated instructions to reflect the fact that there are now several p…
intense_web_server.rb Multiple startup scripts for multiple servers
moscow_web_server.rb Examples of workshops
ntnu_web_server.rb Workshop for the students in Trondheim
player_y.rb generate some simple "questions", pass them to the players, and check…
riga_web_server_warmup.rb Examples of workshops
web_server.rb Get one basic end-to-end test working


This is Extreme Startup. This software supports a workshop where teams can compete to build a software product that satisfies market demand.

This branch is dedicated to DateTimeQuestions.

NB don't show the players the code for this project until after the workshop as otherwise they can cheat.

Getting started

  • Install Ruby 1.9.2 and rubygems
  • (For Windows)
    • Install Ruby DevKit
    • Extract to (e.g.) c:\devkit
    • cd c:\devkit
    • ruby dk.rb init
    • Edit the file config.yml (Add the locations where ruby is installed e.g. c:\Ruby192)
    • ruby dk.rb install
  • cd ../
  • gem install bundler
  • bundle install
  • ruby web_server.rb

Basic development

  • Running unit tests (rspec)
    • gem install rspec
    • rspec spec
    • specs are maintained in the spec/extreme_startup directory
  • Running feature tests (cucumber)
    • gem install cucumber
    • cucumber
    • features are maintained in the features/ directory
  • For Windows users, to get colors in the console

Notes for facilitators

  • Run the server on your machine. It's a Sinatra app that by default runs on port 3000.
  • Everyone needs a computer connected to the same network, so that they can communicate. Check that everyone can see the leaderboard page served by the webapp running on your machine. Depending on the situation, we have used a local/ad-hoc network and that is ok for the game.
  • We have had trouble with things like firewalls, especially on some Windows laptops, so if there are problems, make sure you can ping clients from the server and vice versa.

  • Warmup round: Run ruby warmup_server.rb

  • In the warmup round, just make sure that everyone has something technologically working, you just get the same request repeatedly.

  • Real game: Kill the warmup server, and run ruby web_server.rb. This will clear any registered players, but that's ok.

  • As the game progresses, you can introduce new question types by moving to the next round (hit the /advance_round url). Do this when you feel like some of the teams are making good progress in the current round. Typically we've found this to be about every 10 mins. But you can go faster/slower as you like. There are 6 rounds available.

  • Set a time limit so you know when to stop the game, declare the winner, and retrospect.

  • If you run this workshop, please let us know how it goes.

-- Robert Chatley and Matt Wynne 2011.

Something went wrong with that request. Please try again.